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

Матеріал з testwiki
Версія від 04:21, 23 квітня 2024, створена imported>Tolsai (growthexperiments-addlink-summary-summary:2|0|0)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

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

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

 A=LU,

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

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

 A=LDU,

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

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

 A=LUP,

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

Опис

A=(a11a12a1na21a22a2nan1an2ann)=(a11wtvA)=(10v/a11In1)(a11wT0Av×wta11)=(10v/a11In1)(a11wT0LU)=(10v/a11L)(a11wT0U)=LU

Матриця Av×wt/a11 називається доповненням Шура для A щодо a11.

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

Алгоритм

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

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

aij=k=0n1likukj=k=0i1likukj+liiuij+k=i+1n1likukj=k=0i1likukj+liiuij

aij=k=0n1likukj=k=0j1likukj+lijujj+k=j+1n1likukj=k=0j1likukj+lijujj,

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

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

lij=aijk=0j1likukj (i j)

uij=1lii[aijk=0i1likukj] (i<j)

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

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

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

Ax=LUx=b

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

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

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

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

 A1=U1L1.

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

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

det(A)=det(LU)=det(L)det(U)=(Li,i)(Ui,i)

Дивись також

Примітки

Шаблон:Reflist

Джерела

Шаблон:Math-stub