Научная статья на тему 'Алгоритм LDU-разложения и пример'

Алгоритм LDU-разложения и пример Текст научной статьи по специальности «Математика»

CC BY
3043
119
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФАКТОРИЗАЦИЯ МАТРИЦЫ / РЕКУРСИВНЫЙ БЛОЧНЫЙ АЛГОРИТМ / КОММУТАТИВНАЯ ОБЛАСТЬ / MATRIX FACTORIZATION / BLOCK RECURSIVE ALGORITHM / COMMUTATIVE DOMAIN

Аннотация научной статьи по математике, автор научной работы — Малашонок Геннадий Иванович, Щербинин Антон Сергеевич

Рассматривается детерминистский рекурсивный алгоритм треугольного разложения матриц над коммутативными областями. По числу кольцевых операций алгоритм имеет такую же сложность, как и матричное умножение. На примере приводятся этапы разложения матрицы восьмого порядка.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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 are given in the example.

Текст научной работы на тему «Алгоритм LDU-разложения и пример»

УДК 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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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.

i Надоели баннеры? Вы всегда можете отключить рекламу.