Автор Тема: Решение СЛАУ методом LU разложения  (Прочитано 7778 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн holloloh

  • Пользователь
  • **
  • Сообщений: 40
    • Просмотр профиля
Решение СЛАУ методом LU разложения
« : 23 Октября 2011, 15:38:32 »
При каких условиях возможно LU разложение матрицы A?
Я прочитал некоторое количество книжек/ресурсов и получил, что
1)Главные миноры не должны быть равны нулю
2)элементы на главной диагонали матрицы А не равны нулю
3)Матрица должна быть невырожденной
Каким условием пользоваться?
Проще всего пользоваться вторым, но я не уверен, что это правда...
« Последнее редактирование: 23 Октября 2011, 17:58:20 от Asix »

Оффлайн Белый кролик

  • Глобальный модератор
  • *****
  • Сообщений: 1975
    • Просмотр профиля
Re: Решение СЛАУ методом LU разложения
« Ответ #1 : 23 Октября 2011, 21:17:44 »
Теорема.Если все главные миноры квадратной матрицы А отличны от нуля, то существуют такие нижняя L и верхняя U треугольные матрицы,что А=LU.Если элементы диагонали одной из матриц L или U фиксированы(ненулевые), то такое разложение единственно.
Из книжки В.М. Вержбицкий "Численные методы. Линейная алгебра и нелинейные уравнения",  Москва,"Издательский дом "ОНИКС 21 век", 2005 год.
Скачать книжки по численным методам www.poiskknig.ru
Человек переживает свою индивидуальность в терминах воли, а это означает, что существование его личности тождественно его способности выражать в этом мире свою волю. Progoff.

Оффлайн holloloh

  • Пользователь
  • **
  • Сообщений: 40
    • Просмотр профиля
Re: Решение СЛАУ методом LU разложения
« Ответ #2 : 24 Октября 2011, 19:19:25 »
Вержбицкий конечно прекрасная книга, но давайте прикинем время работы алгоритма.
Для того, чтобы найти определитель минора, мы раскладываем его по строке пока миноры не станут второго (в крайнем случае третьего или четвертого) порядка.
Пусть O(n) время работы алгоритма, n - длина строки, по которой раскладываем
О(2) = 1 - просто возвращаем результат
Тогда
O(n) = n*O(n - 1) = n*(n - 1)O(n-2) = ... =  n!/2*O(2) = n!/2
Это очень грубая оценка, но тенденция видна.
Вы мне предлагаете проверить, что все главные миноры не равны нулю.
У меня проверка на то, что алгоритм работает будет дольше, чем работа самого алгоритма
+он рекурсивен, и боюсь стек провалится очень быстро.
Что делать? :(

Оффлайн holloloh

  • Пользователь
  • **
  • Сообщений: 40
    • Просмотр профиля
Re: Решение СЛАУ методом LU разложения
« Ответ #3 : 24 Октября 2011, 19:29:39 »
Основную мысль Вержбицкого я понял так:
"На миноры не смотрим, просто проверяем, что Uii != 0", что по мне не очень хорошо, особенно если Unn = 0, а матрица размера 100x100

Оффлайн Белый кролик

  • Глобальный модератор
  • *****
  • Сообщений: 1975
    • Просмотр профиля
Re: Решение СЛАУ методом LU разложения
« Ответ #4 : 25 Октября 2011, 00:43:45 »
Может вы сформулируете задачу целиком?
Человек переживает свою индивидуальность в терминах воли, а это означает, что существование его личности тождественно его способности выражать в этом мире свою волю. Progoff.

Оффлайн Белый кролик

  • Глобальный модератор
  • *****
  • Сообщений: 1975
    • Просмотр профиля
Re: Решение СЛАУ методом LU разложения
« Ответ #5 : 25 Октября 2011, 02:54:57 »
что Uii != 0", Unn = 0
Это что такое вы написали?
Я так понял,вам нужен очень простой и очень быстрый способ определения возможности разложения ну очень большой матрицы?
Человек переживает свою индивидуальность в терминах воли, а это означает, что существование его личности тождественно его способности выражать в этом мире свою волю. Progoff.

Оффлайн BcegoqpeHu

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Решение СЛАУ методом LU разложения
« Ответ #6 : 04 Декабря 2011, 03:57:23 »
Ну проверять главные миноры на равенство нулю мне тоже кажется не слишком быстрое решение. Проверять элементы главной диагонали не пойдёт.
Пример.
0 2 3
4 0 6
7 8 0
Меняем 1 и 2 строки и матрица:
4 0 6
0 2 3
7 8 0
уже имеет LU разложение.
То, что матрица должна быть невырождена это само собой разумеется, но этого недостаточно.

ИМХО. Первое, что приходит в голову:
проверить элемент (0,0) на равенство нулю и побаловаться с перестановкой строк. А затем в процессе разложения на матрицы L и U проверять делитель на ноль. Если он равен нулю, то разложения не существует. Но есть большой риск, что с некоторыми матрицами это всё не получится.   :'(

 

Решение интегралов. Помогите пжл с решением интегралов

Автор MEF

Ответов: 6
Просмотров: 12041
Последний ответ 10 Апреля 2010, 17:53:05
от stioneq
Решение задач про скорость. Найдите скорость течения реки

Автор Dashik

Ответов: 3
Просмотров: 11538
Последний ответ 16 Мая 2010, 16:05:01
от Hermiona
Помогите пожалуйста "Найти общее решение системы линейных уровнений м-м Гаусса"

Автор ne_on

Ответов: 1
Просмотров: 4585
Последний ответ 16 Декабря 2010, 20:10:15
от Dlacier
Найти решение системы уравнений в зависимости от параметра "а"

Автор Artem90

Ответов: 3
Просмотров: 4857
Последний ответ 26 Декабря 2010, 18:37:06
от tig81
Сравнить ранги матриц. Указать фундаментальную сист. решений и частное решение.

Автор WizzzI

Ответов: 4
Просмотров: 5481
Последний ответ 07 Марта 2010, 17:26:33
от samar