2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Подскажите алг. LUP-разлож. применимый к коплекс.матрицам
Сообщение24.06.2010, 09:45 


24/06/10
4
Здравствуйте.

Я программист.
Если встречали, подскажите алгоритм вычисления LUP-разложения применимый для матриц с комплексными числами.

В интернете не составляет труда найти алгоритмы LUP-разложения, однако они не применимы к комплексным матрицам. Приведенные алгоритмы используют поиск наибольшего/наименьшего элемента - что не применимо к комплексным числам.

На этом форуме я нашел идею по представлению комплексной матрицы в виде суммы двух действительных к которым можно применить известные алгоритмы LUP-разложения. Вроде бы решение, НО это не всегда работает поскольку, в этих двух матрицах, велика вероятность получения вырожденной. Представьте, что матрица 3х3 содержит только одно комплексное число.

Есть хорошие алгоритмы LU-разложения применимые к комплексным матрицам.
В wiki есть даже исходники.
Но это не совсем то что нужно, требуется достаточно эффективный алгоритм получения именно L, U, P матриц.
Под термином "достаточно эффективный алгоритм" я подразумеваю желательное исключение из алгоритма тяжелых вычислений типа обратной матрицы и тому подобного.

Заранее благодарен.

 Профиль  
                  
 
 Re: Подскажите алг. LUP-разлож. применимый к коплекс.матрицам
Сообщение24.06.2010, 09:51 
Заслуженный участник


11/05/08
32166
sinoptic в сообщении #334442 писал(а):
Приведенные алгоритмы используют поиск наибольшего/наименьшего элемента - что не применимо к комплексным числам.

Вполне применимо.Просто выбирайте наибольший по модулю. Смысл-то выбора -- именно в этом.

sinoptic в сообщении #334442 писал(а):
Под термином "достаточно эффективный алгоритм" я подразумеваю желательное исключение из алгоритма тяжелых вычислений типа обратной матрицы

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

 Профиль  
                  
 
 Re: Подскажите алг. LUP-разлож. применимый к коплекс.матрицам
Сообщение24.06.2010, 10:19 


24/06/10
4
ewert в сообщении #334445 писал(а):
sinoptic в сообщении #334442 писал(а):
Приведенные алгоритмы используют поиск наибольшего/наименьшего элемента - что не применимо к комплексным числам.

Вполне применимо.Просто выбирайте наибольший по модулю. Смысл-то выбора -- именно в этом.


Спасибо за ответ.
Я бы хотел уточнить здесь.
Берем строку из вики: "http://ru.wikipedia.org/wiki/LUP-разложение"

Т.е. вы считаете что:
abs(C[ row ][ i ]) > pivotValue

Корректно будет заменить на:
abs(C[ row ][ i ]) > abs(pivotValue)

где 'С' - матрица комплексных чисел, 'pivotValue' - комплексное число
abs() - функция получения абсолютного значения (модуля) комплексного числа

 Профиль  
                  
 
 Re: Подскажите алг. LUP-разлож. применимый к коплекс.матрицам
Сообщение24.06.2010, 10:25 
Заслуженный участник


11/05/08
32166
sinoptic в сообщении #334456 писал(а):
Корректно будет заменить на: abs(C[ row ][ i ]) > abs(pivotValue)

Зачем?... Там же в следующей строчке (которая логически на самом деле предыдущая) уже стоит именно abs.

 Профиль  
                  
 
 Re: Подскажите алг. LUP-разлож. применимый к коплекс.матрицам
Сообщение24.06.2010, 10:37 


24/06/10
4
Тфу, ну конечно!
чего то я зациклился... :oops:
В алгоритме все нормально.

Огромное спасибо. :!:

 Профиль  
                  
 
 LUP-разложение и обратная матрица
Сообщение02.07.2010, 09:01 


24/06/10
4
Всем привет.

Помогите разобраться в деталях как применить LUP-разложение для вычисления обратной матрицы.
Есть рабочий алгоритм вычисляющий L, U, P матрицы, в том числе и для комплексных чисел.
Хотелось бы опираясь на него вычислить и обратню матрицу.

Смотрел в интернете: как правило это поверхностная информация.
На этом сайте видел алгоритм Дроботенко с исходниками, к сожалению метод не применим к комплексным числам так как использует сравнение.

Буду рад любой подробной и детальной информации.

// 2.07.10 близкие темы соединены. / GAA

 Профиль  
                  
 
 Re: Подскажите алг. LUP-разлож. применимый к коплекс.матрицам
Сообщение02.07.2010, 16:03 
Заслуженный участник


11/05/08
32166
sinoptic в сообщении #336763 писал(а):
Помогите разобраться в деталях как применить LUP-разложение для вычисления обратной матрицы.

Я тут не бог весть какой спец, но, по-моему, вопрос просто неправильно поставлен. По-моему, LUP-разложение для нахождения именно обратной матрицы ничего так особенно полезного не даёт. Это разложение может служить альтернативой обратной матрице -- в том смысле, что, зная его, решать системы можно примерно так же эффективно, что и зная обратную матрицу.

 Профиль  
                  
 
 Re: Подскажите алг. LUP-разлож. применимый к коплекс.матрицам
Сообщение02.07.2010, 16:54 
Заслуженный участник
Аватара пользователя


30/01/09
7067
Обратную матрицу можно найти, решая $n$ раз линейную систему, в которой правая часть нулевая, за исключением одной единицы, которая будет смещаться сверху вниз при переходе от одной системе к другой. Разложение можно выполнить один раз.

 Профиль  
                  
 
 Re: Подскажите алг. LUP-разлож. применимый к коплекс.матрицам
Сообщение02.07.2010, 17:14 
Заслуженный участник


11/05/08
32166
Там пафос в другом. Для эффективного решения систем вовсе не обязательно находить именно обратную матрицу -- вполне достаточно представить исходную матрицу как произведение нескольких, для которых система легко решается (треугольных, или перестановочных, или ортогональных). Но это ещё не означает, что при достижении подобного рода разложения достаточно быстро находится именно обратная матрица. Да она при таком подходе не особо и нужна, собственно.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group