2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Численное нахождение обратной матрицы
Сообщение11.01.2012, 15:46 
Здравствуйте!
В момент написания бакалаврской работы встал вопрос: как можно численно найти обратную матрицу? Если кто знает - подскажите, пожалуйста!
Желательно, чтобы метод был понятным :)
Спасибо!!

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение11.01.2012, 19:14 
Метод Гаусса, с полным выбором главного элемента (т.е. с перестановкой и строк, и столбцов; хотя и без этого в типичных ситуациях пройдёт). У вас он в курсе алгебры, безусловно, был. Гуглите.

Есть, разумеется, и другие методы, но этот -- логически наиболее прост.

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение11.01.2012, 20:09 
Аватара пользователя
klubni4ka в сообщении #525646 писал(а):
В момент написания бакалаврской работы встал вопрос: как можно численно найти обратную матрицу?

Просто любопытно - для чего? Дело в том, что задача численного нахождения обратной матрицы встречается очень редко.

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение12.01.2012, 08:49 
Аватара пользователя
В статистике бывает. Скажем, корреляции между коэффициентами линейной регрессии выражаются через матрицу, обратную к корреляционной.

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение05.05.2012, 10:54 
ewert в сообщении #525781 писал(а):
Метод Гаусса, с полным выбором главного элемента (т.е. с перестановкой и строк, и столбцов; хотя и без этого в типичных ситуациях пройдёт).


Для нахождения (столбцов) обратной матрицы A порядка N*N можно решить N систем уравнений с правыми частями - столбцами вида
(0,...,0,1,0,...,0)
где на i-том месте 1, на остальных - 0.
Решение одной системы - i-тый столбец обратной матрицы.

Решать можно методом Гаусса: один раз LU-разложить матрицу и решить для N правых частей.

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение05.05.2012, 17:44 
Aleksandr Pavlovich в сообщении #567512 писал(а):
Решать можно методом Гаусса: один раз LU-разложить матрицу и решить для N правых частей.

Нахождение LU-разложения практически равносильно (с точки зрения трудозатрат и вообще затрат) нахождению просто обратной матрицы. Разница лишь в нюансах.

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение10.06.2012, 02:02 
а вот, кстати. с точки зрения вычислительных затрат какой алгоритм эффективнее: обычный Гаусса или Жордана-Гаусса?

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение10.06.2012, 10:02 
fit в сообщении #582829 писал(а):
с точки зрения вычислительных затрат какой алгоритм эффективнее: обычный Гаусса или Жордана-Гаусса?

Я не помню, какой из двух вариантов метода какими фамилиями принято помечать (а гуглить лень). В общем, так: метод Гаусса с обратным ходом вычислительно безусловно эффективнее, чем метод без обратного хода (хотя программно и чуть сложнее, но какая разница -- программка так и так коротенькая). Но не принципиально эффективнее -- всего раза в полтора, кажется.

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение04.07.2012, 18:10 
ewert в сообщении #567664 писал(а):
Нахождение LU-разложения практически равносильно (с точки зрения трудозатрат и вообще затрат) нахождению просто обратной матрицы. Разница лишь в нюансах.
Не спешите. Прямой ход выполняется за $n^3/3+O(n^2)$, обратный для одной правой части за $n^2+O(n)$, но число правых частей для полного вычисления $A^{-1}$ равно $n$. Получается тот же порядок затрат на все обратные ходы.

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение04.07.2012, 20:46 
AndrewN в сообщении #592095 писал(а):
Получается тот же порядок затрат на все обратные ходы.

Да, получится. Но речь-то шла не о вычислении обратной матрицы, а о решении конкретной системы. Тогда метод с обратным ходом безусловно выгоднее.

 
 
 
 Re: Численное нахождение обратной матрицы
Сообщение11.07.2012, 08:47 
Аватара пользователя
Можно так

$A_1=A$

$do \;\; k=1,n-1$
$\;\; p_k=\frac{1}{k} \cdot tr(A_k)$
$\;\; B_k=A_k-p_k \cdot E$
$\;\; A_{k+1}=B_k \cdot A$
$enddo$

$p_n=\frac{1}{n} \cdot tr(A_n)$
$A^{-1}=\frac{1}{p_n} \cdot B_{n-1}$

 
 
 [ Сообщений: 11 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group