УДК 519.688
АЛГОРИТМ LDU-РАЗЛОЖЕНИЯ И ПРИМЕР © Г.И. Малашонок, А.С. Щербинин
Ключевые слова: факторизация матрицы; рекурсивный блочный алгоритм; коммутативная область.
Рассматривается детерминистский рекурсивный алгоритм треугольного разложения матриц над коммутативными областями. По числу кольцевых операций алгоритм имеет такую же сложность, как и матричное умножение. На примере приводятся этапы разложения матрицы восьмого порядка.
1 Введение
Пусть R — коммутативная область, A = (ai,j) G Rnxn — матрица порядка п, ак- — это минор размера к х к матрицы A, который расположен на перееечении строк 1, 2,..., к — 1, г и столбцов 1, 2,..., к — 1,j для всех целых i,j, к G {1,..., п} , Обозначим а0 = 1 и ак = акk для всех диагональных миноров (1 ^ к ^ п). Используем обозначение 8- для дельта-символа Кронекера.
Теорема (см. [1—2]).
Пусть матрица A = (a -) имеет ра нг г, r ^ п и as = 0 для s = 1,2,...,r тогда, A
A = (— )(8ij а'-1 аТ1(аЬ).
Матрица L = (a--) — это нижняя треугольная матрица размера п х r, матрица U = (aij) — это верхнетреугольная матрица размера гхп,и D = (8-ai-1ai)-1 — диагональная r х r
Для любой матрицы A будем обозначать A— ’ — ее блок, который находится на пересечении строк ii + 1,..., i2 и столбцов j1 + 1,..., j2 ■ И будем обозначать A^ диагональный блок Ail,i2.
Тогда в блочной форме LDU разложение может быть записано так [1-4]:
0 0A 1 1 ,k 0 0A L0 Lk О 'DO О 0U 1 U0,k Uk,n
k,n ,k kk,0 k A0 1 A nk 1 k,n L0,k k,n Lk,r О rD k О Uk,r Uk,n
Пусть A— = (ak,+-1) матрица размера (n — k) x (n — k) с элемента ми ak+1, i, j = k +
І,..., n — І, n, и A— = (a1j) = A ,
Тогда матрица А’ также записывается в виде разложения в блочной форме
Л k — L k nk цk AS LunuUu
Lk О 1 О cq 'ик и#-
■; k; ■ Lk О . О US;; _
Мы будем вычислять 1.1)1 разложение, используя блочный рекурсивный алгоритм.
2 Алгоритм
Входные данные — это матрица А” и определит ель ак (0 ^ к < п), а0 = 1. Результатом вычислений являются три матрицы Ь” = (а^-), = ака*а*-1)-1, Ц” =
(а*^), которые дают разложение матрицы А”, Кроме того, вычисляются дополнительно еще две матрицы М” и Ж”, которые используются на следующем шаге.
Целые числа к и 5 должны удовлетворять неравенетву 0 ^ к < 5 ^ п, Если применить алгоритм к матрице А = А” и числу а0 = 1, то в результате будет вычислено разложение матрицы А А = ЬДЦ ,
Input: (AS, ак), О ^ к < n.
nk
Output: {LS, {ак+1, ак+2,..., ага}, Uk, Mk, Wk} ,
где Dk — а kdiag{аkак+1,..., ага-1ага}-1 , Mk — (LSDk)-1, Wk
(nk Uk )-1
1. Если к = п — 1, А 1 = (а”) матрица первого порядка, тогда получим {а”, (а”},ага,ага-1,ап- 1 }.
2. Если к — n - 2 , AS-2
а
'■S-1 О
Y 2 -1
а
а -1 в Y £
{а S -1,ага },
матрица второго порядка, получим
' ага-1 в ІО ' І -в '
О ага , -Y ага-1 , О ага-1
где а” — (ага 2)
1
а’ ’ 1 в
7 £
3. Если порядок матрицы А интервале (& < 5 < п) и разделим матрицу на блоки
” болыне двух (0 ^ к < п — 2), выберем целое число 5
k
Ak в CD
3.1. Первый рекурсивный шаг
~{Ьк, (ак+1,ак+2,...,а5},ик, Мвк, Жк } = 1ЛШ(Ак, ак )
3.2. Вычислим матрицы
U М ■;
MSkB, Lk’S — CWk
А” = (ак )-1а*(Б — Явк Цк„5).
3.3. Второй рекурсивный шаг
КЛа^2,...^”},^^”, Ж”} = 1ЛЭ и (А”, а5)
3.4 Результат
{LS, {а
к+1 ак+2
..., ага}, Цк,Mk,Wk}
Lk
T s,n Lk,s
T s
Ln
Uk Ufc’s
ws ws,n
0 Us
Mk =
Msk 0
—«^m^dm мп
Wn
Wsk -a-1WkDk UkifWS
s s ^ s,n ' /s n
ws
3 Пример
Input: {A, a0} , a0 = 1, A =
7 -2 6 0 3 -9 -8 9
-4 0 0 9 6 0 3 5
6 0 7 -4 -4 -2 -3 6
3 8 0 2 0 -3 -2 -4 A40 B
2 0 -7 0 -3 0 8 -5 C D
0 0 0 6 1 7 0 0
-5 1 -3 -8 6 0 -5 0
3 0 -3 0 0 -8 0 -5
Output: {Lg, {a1, a2,..., a8}, Ug, Mg, Wg }, Dg = a0Diag 1{a0a1,..., a7a8} .
3.1
Input: {AQ, a0} , a0 = 1, A0 =
Output: {L0, {a1,..., a4}, UQ, MQ, WQ }, DQ = a0Diag 1{a0a1,
7 2 1 6 0
4 1 0 0 9 2 A0 B' '
6 0 7 4 1 C' D'
3 8 0 2
, аза4} .
3.1.1
Input: {A2, a0} , a0 = 1, A0 =
7 -2
-4 0
, Output: {L°, {a1,a2},U°, M2*, W2}
{a1,a2} = {7, -8}, D0 = a^Mag{<a0a1 ,a1 a2} 1 = Diag{1/7, —1/56},
L0
L2
70
48
u0 =
7 -2
08
M20 =
10
47
, W20 =
12
07
3.1.2
a2 = —8, L' = ao1C/W20 aQ = — (D' — L'D0f7') =
4 a0 2
63 61 to to , U' = a-1M20B/ = 6 24 0 63
-56 - 76 1
-192 -574
3.1.3
Input: {AQ, a2} , Output: {L4, {a3, a4}, U2, M2, W42} ,
{a3, a4} = {—56, —2194} , D| = a2Diag{a2a3, a3a4}-1 = Diag{—1/56, —1/15358}
, W42 =
L2
L4
-56 0
192 2194
U42 =
-56 -76
0 2194
M42 =
-8 0
-192 -56
-8 76
0 56
0
0
3.1.4
{а1, а2, аз, а4} = {7, -8, -Б6, -2194} , JD4) = Diag{1/7, -1/Б6,1/448,1/122864} ,
О -126 24 213
W/ = ^20^0и^42/а0 =
L0
L4
M40
M/ = -M42 L/D0M20/а0 =
L0
L2
О
L/ L4 j
M20 О
M/ M42
7 О О О
4 -8 О О
6 12 -Б6 О
3 62 -192 -2194
1 О О О
4 7 О О
О -12 -8 О
224 -146 192 - Б6
и40 =
и20
W40 =
и/
и2
4
W20
W/
W42
О -224 - 12 46 -1 14 1
7 -2 6 0
О -8 24 63
О О -Б6 -76
0 О О 2194 _
1 2 О -126
О 7- 24 -213
О О- 8 76
О О О 6 Б 1
О
О
3.2
2 4 Б6 -784 " 3 -9 -8 9
О О О -336 , U = а-1М4В = Б4 -36 -11 71
-Б -3 О 637 -40 16 -12 -108
3 6 24 -606 -2316 18ОО 890 -1370 _
L = ao“1CW40 =
а4 = -2194, A4 = — (D - LD0H) =
8 а0 4
214Б4 -2О812 -36Б94 -49Б4
11702 -261Б8 -Б340 8220
37863 3О348 32338 21343
1О488
46 1Б978 4874
A4
C//
B//
D//
3.3
Input: {А8,а4}, Output: {L44, {а5, а6, а7, а8}, Ug, M|, Wg} = а^Ша g 1{а4а5, а5а6, а6а7, а7а8 }•
3.3.1
46
214Б4 -2О812 11702 —261Б8
Input: {А6,а4}, Output: {L6, {а5, а6}, Ug, Mg, W64} , a6
{а5, а6} = {214Б4,144782}, D = a^ag{a4a5, а5а6}-1 = Diag{1/214Б, -1097/1ББ3076Б14} 214Б4 0 1 ц4 = Г 214Б4 -20812
11702 144782 J ’ 6 = [ 0 144782
-2194 О 1 W4 = Г -2194 2О812
117О2 214Б4 W64 = О 214Б4
L46 =
M64 =
3.3.2
L// =
а
-1C//W64
-37863 624О6
1О488 -99О38
а6
, и// = а-1М64В" =
-36Б94
142962
-49Б4
1О68О2
а6 = 144782 , = — (D// - L//D4H//) =
8 а4 6
2Б43683 2296О46
786О84 97448О
3.3.3
Input: {А8,а6}, Output: {L|, {а7а8}, U|, M|, W86} , {а7,а8} = {2Б43683, -46Б4468} , = а^^{а6а7,а7а8}-1 = Diag{1/2543683, -72391/Б91974ББ62822} ,
гб
L8
М8б =
2543683
0
-786084 -4654468 ' 144782 0
786084 2543683
U б — U8 —
W86 —
2543683 2296046
0 -4654468
144782 -2296046 0 2543683
3.3.4
{a5, аб, ат, а8} — {21454,144782, 2543683, -4654468} ,
— Diag{1/21454, -1097/1553076514, -1097/184139756053,1097/5919745562822} ,
W // — -We4D4^ "Wj
г 4 L8
U 4 —
U8 —
«4
L6
L"
U4
U6
гб
г8
U "
U б U8
M" — -Mj6L//p4M4
a4
385638 -3708067 142962 -390773
21454 0 0 0
11702 144782 0 0
-37863 62406 2543683 0
10488 -99038 -786084 -4654468
21454 -20812 -36594 -4954
0 144782 -142962 -106802
0 0 2543683 2296046
0
0
0
4654468
289557 -62406
620453 1401175
M84
w4 —
M4 0
M" M86 j
w64 w"
06 W86
0
0
3.4
{ai, а2, аз, а4, а5, аб, ат, а8} — {7, -8, -56, -2194,21454,144782,2543683, -4654468} D0 — aoDiag{aoa1, ■ ■ ■ , а7а8}-1 —
гО
г8
Uo —
U8 —
Lo
г4
U4o
4 1 to to 00 , - 47070076, 3106153028, 368279512106, - 11839491125644}-1
7 0 0 0 0 0 0 0
-4 -8 0 0 0 0 0 0
6 12 -56 0 0 0 0 0
0 3 62 -192 -2194 0 0 0 0
г 48 2 4 56 -784 21454 0 0 0
0 0 0 -336 11702 144782 0 0
-5 -3 0 637 -37863 62406 2543683 0
3 6 24 -606 10488 -99038 -786084 4 5 6 4 -
' 7 -2 6 0 3 -9 -8 9
0 -8 24 63 54 -36 -11 71
0 0 -56 -76 -40 16 -12 -108
U 0 0 0- -2194 -2316 1800 890 -1370
U4 U8 0 0 0 0 21454 - 20812 - 36594 -4954
0 0 0 0 0 144782 - 142962 - 106802
0 0 0 0 0 0 2543683 2296046
0 0 0 0 0 0 0 4654468
0
ЛИТЕРАТУРА
1. Малашопок Г.И. Матричные методы вычислений в коммутативных кольцах. Тамбов: Изд-во Тамбовского университета, 2002.
2. Малашонок Г.И. О быстром обобщенном разложении Брюа в области // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2012. Т. 17. Вып. 2. С. 544-551.
3. Malaschonok G.I. Effective Matrix Methods in Commutative Domains // Formal Power Series and Algebraic Combinatorics. Berlin: Springer, 2000. P. 506-517.
4. Malaschonok G.I. Fast Generalized Bruhat Decomposition // Computer Algebra in Scientific Computing, LNCS 6244, Berlin: Springer, 2010. P. 194-202.
БЛАГОДАРНОСТИ: Работа выполнена при поддержке гранта РФФИ № 12-07-00755-а,
Поступила в редакцию 20 декабря 2012 г.
Malaschonok G.I., Scherbinin A.S. ALGORITHM OF LDU-DECOMPOSITION AND EXAMPLE.
Deterministic recursive algorithm of matrix triangular decomposition over commutative domains is considered. The algorithm has the same complexity as the algorithm of matrix multiplication by the number of operations in the ring. Stages of decomposition of the matrix of the eighth order given in the example.
Key words: matrix factorization, block recursive algorithm, commutative domain.