LU-розклад матриці

LU-розклад матриціпредставлення матриці у вигляді добутку нижньої трикутної матриці та верхньої трикутної матриці.

Квадратна матриця A розміру n може бути представлена у вигляді

  A = L U , {\displaystyle \ A=LU,}

де L та U — нижня та верхня трикутна матриця того ж розміру відповідно.

LDU-розклад матриці — це представлення у вигляді

  A = L D U , {\displaystyle \ A=LDU,}

де Dдіагональна матриця, а L та U є одиничними трикутними матрицями, тобто, всі їх діагональні елементи рівні одиниці.

LUP-розклад матриці — це представлення в формі

  A = L U P , {\displaystyle \ A=LUP,}

де L та U — нижня та верхня трикутна матриця того ж розміру, а Pматриця перестановки.

Опис

A = ( a 11 a 12 a 1 n a 21 a 22 a 2 n a n 1 a n 2 a n n ) = ( a 11 w t v A ) = ( 1 0 v / a 11 I n 1 ) ( a 11 w T 0 A v × w t a 11 ) = ( 1 0 v / a 11 I n 1 ) ( a 11 w T 0 L U ) = ( 1 0 v / a 11 L ) ( a 11 w T 0 U ) = L U {\displaystyle A={\begin{pmatrix}a_{11}&a_{12}&\dots &a_{1n}&\\a_{21}&a_{22}&\dots &a_{2n}&\\\vdots &\vdots &\ddots &\vdots &\\a_{n1}&a_{n2}&\dots &a_{nn}&\\\end{pmatrix}}={\begin{pmatrix}a_{11}&w^{t}&\\v&A'&\\\end{pmatrix}}={\begin{pmatrix}1&0&\\v/a_{11}&I_{n-1}&\\\end{pmatrix}}{\begin{pmatrix}a_{11}&w^{T}&\\0&A'-{\frac {v\times w^{t}}{a_{11}}}&\\\end{pmatrix}}={\begin{pmatrix}1&0&\\v/a_{11}&I_{n-1}&\\\end{pmatrix}}{\begin{pmatrix}a_{11}&w^{T}&\\0&L'U'&\\\end{pmatrix}}={\begin{pmatrix}1&0&\\v/a_{11}&L'&\\\end{pmatrix}}{\begin{pmatrix}a_{11}&w^{T}&\\0&U'&\\\end{pmatrix}}=LU}

Матриця A v × w t / a 11 {\displaystyle A'-v\times w^{t}/a_{11}} називається доповненням Шура для A {\displaystyle A} щодо a 11 . {\displaystyle a_{11}.}

Метод не працює якщо один з a i i = 0 , {\displaystyle a_{ii}=0,} тому що відбувається ділення на нуль. Елементи, на які ми ділимо впродовж L U {\displaystyle LU} -розкладу, називаються опорними і перебувають на головній діагоналі матриці U . {\displaystyle U.} Ми використовуємо матрицю перестановки P {\displaystyle P} у L U P {\displaystyle LUP} -розкладі задля уникнення ділення на нуль. Оскільки представлення чисел з рухомою комою на цифровій машині має обмеження[1], ми також не хочемо ділити на надто маленьке число. Використовують два підходи для вибору опорного елементу на i {\displaystyle i} -му кроці L U P {\displaystyle LUP} -розкладу. Перший — вибрати найбільший елемент в i {\displaystyle i} -му рядку, що дає значний виграш у числовій стійкості. Другий — вибрати найбільший елемент у доповненні Щура на отриманому i {\displaystyle i} -му кроці. Цей підхід дає дуже маленький приріст числової стабільності порівняно з попереднім підходом, натомість вимагає значних затрат часу.[2]

Алгоритм

Є модифікованим методом Гауса і потребує 2n3 / 3 арифметичних операцій.

Позначимо як lij, uij, aij елементи матриць L,U та A відповідно. З означення LU-розбиття lij=0 (j>i), uij=0 (j<i), uii=1. Очевидно, що

a i j = k = 0 n 1 l i k u k j = k = 0 i 1 l i k u k j + l i i u i j + k = i + 1 n 1 l i k u k j = k = 0 i 1 l i k u k j + l i i u i j {\displaystyle a_{ij}=\sum _{k=0}^{n-1}l_{ik}u_{kj}=\sum _{k=0}^{i-1}l_{ik}u_{kj}+l_{ii}u_{ij}+\sum _{k=i+1}^{n-1}l_{ik}u_{kj}=\sum _{k=0}^{i-1}l_{ik}u_{kj}+l_{ii}u_{ij}}

a i j = k = 0 n 1 l i k u k j = k = 0 j 1 l i k u k j + l i j u j j + k = j + 1 n 1 l i k u k j = k = 0 j 1 l i k u k j + l i j u j j {\displaystyle a_{ij}=\sum _{k=0}^{n-1}l_{ik}u_{kj}=\sum _{k=0}^{j-1}l_{ik}u_{kj}+l_{ij}u_{jj}+\sum _{k=j+1}^{n-1}l_{ik}u_{kj}=\sum _{k=0}^{j-1}l_{ik}u_{kj}+l_{ij}u_{jj}} ,

(тут n — розмір матриці А)

Звідки легко в явній формі отримати вирази для елементів матриць L та U:

l i j = a i j k = 0 j 1 l i k u k j   ( i   j ) {\displaystyle l_{ij}=a_{ij}-\sum _{k=0}^{j-1}l_{ik}u_{kj}\ (i\geq \ j)}

u i j = 1 l i i [ a i j k = 0 i 1 l i k u k j ]   ( i < j ) {\displaystyle u_{ij}={1 \over l_{ii}}\left[a_{ij}-\sum _{k=0}^{i-1}l_{ik}u_{kj}\right]\ (i<j)}

Застосування

Розв'язок СЛАР

Якщо в рівнянні

A x = L U x = b {\displaystyle Ax=LUx=b\,}

задано A та b. Тоді розв'язок отримується в два кроки:

  1. Розв'язуємо рівняння L y = b {\displaystyle Ly=b} і знаходимо y
  2. Розв'язуємо рівняння U x = y {\displaystyle Ux=y} і знаходимо x.

Обернена матриця

Матриці L та U можуть використовуватись для обчислення оберненої матриці:

  A 1 = U 1 L 1 . {\displaystyle \ A^{-1}=U^{-1}L^{-1}.}

Обчислення детермінанта

Після застосування LU-розкладу детермінант може бути обчислений через добуток детермінантів матриць L та U. А детермінанти цих матриць рівні добутку діагональних елементів:

det(A)=det(LU)=det(L)det(U)= ( L i , i ) {\displaystyle (\prod L_{i,i})} ( U i , i ) {\displaystyle (\prod U_{i,i})}

Дивись також

Примітки

  1. Арифметика рухомої коми. Архів оригіналу за 23 грудня 2014. Процитовано 8 грудня 2014.
  2. Lloyd N. Trefethen; David Bau, III. 21. Pivoting. Numerical Linear Algebra. SIAM. с. 160-161. ISBN 978-0-898713-61-9.

Джерела

  • Гантмахер Ф. Р. Теория матриц. — 5-е. — М: : Физматлит, 2010. — 559 с. — ISBN 5-9221-0524-8.(рос.)


Сигма Це незавершена стаття з математики.
Ви можете допомогти проєкту, виправивши або дописавши її.