Форум программистов, компьютерный форум CyberForum.ru

Обобщенная обратная матрица - C++

Восстановить пароль Регистрация
 
oksanaBM
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
12.06.2014, 00:05     Обобщенная обратная матрица #1
Всем привет. В общем такая ситуация. Реализовала на с++ нахождение обратной матрицы путем решения СЛАУ методом Гаусса-Жордана. НО во всех случаях матрицы выходила вырожденной. Далее попробовала найти псевдообратную. Опять же ничего хорошего не вышло. Обратила матрицу в маткаде при помощи функции geninv () - задача решилась. Теперь ищу эту реализацию нахождения обобщенной обратной на си. Может кто-нибудь поделится формулой для обобщенно-обратной матрицы, идентичной операции geninv на маткаде ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 00:05     Обобщенная обратная матрица
Посмотрите здесь:

C++ Обратная матрица на С
C++ Обратная матрица
Очень нужно...обратная матрица C++
C++ Обратная матрица
Обратная матрица третьего порядка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
2861 / 1809 / 272
Регистрация: 27.08.2010
Сообщений: 4,893
Записей в блоге: 1
12.06.2014, 02:37     Обобщенная обратная матрица #2
Цитата Сообщение от oksanaBM Посмотреть сообщение
поделится формулой
Там не все так просто :-)

Теория есть у Лоусон, Хенсон "Численное решение задач метода наименьших квадратов" + см. работы Х. Д. Икрамова.

Версия на ALGOL'e была в оригинальной статье Golub, Reinsch "Singular Value Decomposition and Least Squares Solutions" (с тестовыми примерами) - рекомендую, на Fortran'e (перевод) у Форсайт, Малькольм, Моулер "Машинные методы математических вычислений" (переделывал в свое время на C).

SVD на C легко находится поиском (svd c source code), полностью псевдообращение навскидку не помню.

Могу поискать свою старую реализацию на C, но не сегодня.

Ищите по ключевым словам SVD и "псевдообратная по Пенроузу-Муру".
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
12.06.2014, 03:42     Обобщенная обратная матрица #3
gazlan, спасибо за чтиво на ночь.

по теме: если на плюсах нужно работать с матрицами, то в первую очередь следует обратить внимание на Boost::uBLAS
например, поиск обратной матрицы будет выглядеть так -- matrix <float> myInv = gjinverse(mySrc);
oksanaBM
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
12.06.2014, 09:14  [ТС]     Обобщенная обратная матрица #4
gazlan
Спасибо ) попробую найти.

Добавлено через 59 секунд
Vladimir.
С Boost::uBLAS была знакома, но успеха не было.
AndrSlav
44 / 44 / 6
Регистрация: 20.12.2013
Сообщений: 241
12.06.2014, 11:35     Обобщенная обратная матрица #5
А находить обратную матрицу с помощью LU разложения не пробовали?
oksanaBM
1 / 1 / 0
Регистрация: 27.01.2011
Сообщений: 91
12.06.2014, 12:36  [ТС]     Обобщенная обратная матрица #6
AndrSlav
Если гаусс не может обратить, то LU тем более не обратит.
Yandex
Объявления
12.06.2014, 12:36     Обобщенная обратная матрица
Ответ Создать тему
Опции темы

Текущее время: 20:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru