2014 dxdy logo

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

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




 
 Обращение комплексной матрицы (алгоритм)
Сообщение06.05.2009, 16:43 
Аватара пользователя
Привет всем! Как обратить матрицу(4x4, 9x9, 16x16), у которой все элементы комплексные числа? Я читал немного про LUP разложение, метод Гаусса и метод с помощью союзной матрицы. Но насколько они применимы к комплексным матрицам? Еще был бы очень благодарен, если бы дали Fortranовские алгоритмы для этого. Lapack я видел, но применять не научился, думаю сам составить подпрограмму.

 
 
 
 
Сообщение06.05.2009, 17:18 
Аватара пользователя
С одной стороны - какая разница между действитеьным и комплексным числом? Алгоритмы должны примерно совпадать. С другой стороны в этих алгоритмах используется метод поиска максимального (по абс. величине) ведущего элемента. Вероятно, надо заменить на поиск максимального по модулю вед. элемента. Интересно проэкспериментировать в Матлабе.Может и ничего программировать не надо.

 
 
 
 
Сообщение06.05.2009, 20:39 
Аватара пользователя
Да, у меня, вроде, получилось адаптировать метод Гаусса, который есть в Numerical Recipes MS FPS 4.0. для решения СЛАУ под нахождение комплексной обратной матрицы. Положил вектор правой части равным нулю, а во всех остальных местах заменил Real на Double Complex. Правда там в одном месте пришлось еще взять модуль от комплексного числа, но это компилятор показывает.
А случайно нет свойств для обратных матриц - например, чему равна обратная матрица от суммы двух матриц? Тогда можно было бы комплексную разложить в сумму двух действительных.

Но вот в Lapack алгоритмы LUP для комплексных и действительных разные.

 
 
 
 
Сообщение06.05.2009, 21:23 
Аватара пользователя
wzbozon в сообщении #211566 писал(а):
чему равна обратная матрица от суммы двух матриц

ее может и не существовать...:)

 
 
 
 
Сообщение06.05.2009, 21:27 
Метод Гаусса работает для матриц над любым полем. Метод "присоединенной матрицы" (мне так привычнее это называть) тоже.

 
 
 
 
Сообщение06.05.2009, 21:42 
Аватара пользователя
wzbozon в сообщении #211566 писал(а):
комплексную разложить в сумму двух действительных.

а кто вам мешает это сделать?

Добавлено спустя 4 минуты 8 секунд:

$Ax=b$
$(A_{Re}+iA_{Im})(x_{Re}+ix_{Im})=b_{Re}+ib_{Im}$
перемножить и поделить на 2 уравнения с реальными коэфицентами :roll:

 
 
 
 
Сообщение06.05.2009, 22:40 
Аватара пользователя
AD писал(а):
Метод Гаусса работает для матриц над любым полем. Метод "присоединенной матрицы" (мне так привычнее это называть) тоже.

Точнее, наверно, над любым коммутативным кольцом.

Добавлено спустя 2 минуты 57 секунд:

Лиля писал(а):
wzbozon в сообщении #211566 писал(а):
комплексную разложить в сумму двух действительных.

а кто вам мешает это сделать?

Добавлено спустя 4 минуты 8 секунд:

$Ax=b$
$(A_{Re}+iA_{Im})(x_{Re}+ix_{Im})=b_{Re}+ib_{Im}$
перемножить и поделить на 2 уравнения с реальными коэфицентами :roll:


Кстати, тема!

 
 
 
 
Сообщение06.05.2009, 22:48 
Аватара пользователя
wzbozon в сообщении #211613 писал(а):
Точнее, наверно, над любым коммутативным кольцом.

Не, там делить надо.

 
 
 
 
Сообщение07.05.2009, 11:42 
Аватара пользователя
wzbozon в сообщении #211613 писал(а):
AD писал(а):
Метод Гаусса работает для матриц над любым полем. Метод "присоединенной матрицы" (мне так привычнее это называть) тоже.
Точнее, наверно, над любым коммутативным кольцом.

Например,
1) над кольцом с нулевым умножением? :D
2) над кольцом $\mathbb Z$? Обратите хотя бы матрицу порядка 1.

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


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