Это старая версия (1.111) РазложениеLU.

Содержание

LU-разложение


  • писать LU-разложение или roman LU-разложение?

Гильза

LU-разложением матрицы A называется её представление в виде произведения матриц LU: roman A = 
roman LU =
left (
matrix {
ccol {l sub 11 above vdots above l sub n1}
ccol {dots above ddots above dots}
ccol {0 above vdots above l sub nn}
}
right )
~
left (
matrix {
ccol {u sub 11 above vdots above 0}
ccol {dots above ddots above dots}
ccol {u sub 1n above vdots above u sub 22}
}
right )

Например, для некоторой матрицы roman B sub {(3 times 3)}: roman B sub {(3 times 3)} = 
roman LU =
left (
matrix {
ccol {l sub 11 above l sub 21 above l sub 31}
ccol {0 above l sub 22 above l sub 32}
ccol {0 above 0 above l sub 33}
}
right )
~
left (
matrix {
ccol {u sub 11 above 0 above 0}
ccol {u sub 12 above u sub 22 above 0}
ccol {u sub 13 above u sub 23 above u sub 33}
}
right )

Нужно отметить, что в данном примере матрица roman B sub {(3 times 3)} должна быть невырожденной.

Матрица roman L называется нижней треугольной матрицей (все элементы строго выше главной диагонали являются нулями), а матрица roman U — верхней треугольной матрицей (все элементы строго ниже главной диагонали являются нулями).

LU-разложение позволяет эффективно выполнять следующие действия:

  1. Решение матричных уравнений вида roman A bold x = bold b.
  2. Вычисление определителя матрицы roman A : det( roman A).
  3. Обращение матрицы roman A : roman A \\(-> roman A sup -1.

Первый слой

Решение матричных уравнений вида roman A bold x = bold b.

После LU-разложения матрицы roman A можем записать исходное матричное уравнение roman A bold x = bold b в виде: roman LU bold x = bold b

Заменив bold y = roman U bold x получим систему, которую просто можно решить прямым ходом (прямой подстановкой): roman L bold y = bold b

Затем, получив решение предыдущего уравнения (bold y) можем разрешить систему обратным ходом (обратной подстановкой): roman U bold x = bold y

В итоге получив искомый вектор bold x.

Второй слой

Вычисление определителя матрицы roman A : det( roman A).

Если roman A = roman LU, то det( roman A) = det( roman LU ) = det( roman L) ~ det( roman U).

Определителем любой треугольной матрицы будет произведение ее диагональных элементов, поэтому det( roman L) ~ det( roman U) =
( size +1 Pi from i=1 to n l sub ii ) ~ ( size +1 Pi from i=1 to n u sub ii )

Третий слой

Обращение матрицы roman A : roman A \\(-> roman A sup -1.


КатегорияЛинейнаяАлгебра | КатегорияПрикладнаяМатематика