outline gauso metodas - analize˙ - pradžiaolgas/tasm/tasm_2p.pdf · doolittle lu dekompozicija 31...
TRANSCRIPT
Skaidos metodai2 paskaita
Olga Štikoniene
Diferencialiniu lygciu ir skaiciavimo matematikos katedra, MIF VU
TAL skaitiniai metodai (MIF VU) Skaidos metodai 1 / 50
Outline
1 Skaidos metodai
2 Choleckio metodas
3 Išretintos matricos
TAL skaitiniai metodai (MIF VU) Skaidos metodai 2 / 50
Skaidos metodai
Gauso metodas - analize
Gauso metodas – veiksmai su matricomis A1 - sistemos matrica popirmojo kintamojo eliminavimo:
A(1) =
a11 a12 a13 . . . a1n
0 a122 a1
23 . . . a12n
0 a132 a1
33 . . . a13n
. . . . . . . . . . . . . . .0 a1
n2 a1n3 . . . a1
nn
, b(1) = {b1, b12, . . . , b1
n}>.
Ivedame matrica L1
L1 =
1 0 0 . . . 0−l21 1 0 . . . 0−l31 0 1 . . . 0. . . . . . . . . . . . . . .−ln1 0 0 . . . 1
.
Akivaizdu, kadA(1) = L1A,b(1) = L1b.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 3 / 50
Skaidos metodai
Analogiškai po antro GM žingsnio A(2)x = b(2), cia A(2) = L2A(1),b2 = L2b(1),
A(2) =
a11 a12 a13 . . . a1n
0 a122 a1
23 . . . a12n
0 0 a233 . . . a2
3n. . . . . . . . . . . . . . .0 0 a2
n3 . . . a2nn
, L2 =
1 0 0 . . . 00 1 0 . . . 00 −l32 1 . . . 0. . . . . . . . . . . . . . .0 −ln2 0 . . . 1
,
b(2) ={
b1, b12, b2
3, . . . , b2n}>
.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 4 / 50
Skaidos metodai
Po n− 1 žingsnio gausime A(n−1)x = b(n−1),A(n−1) = Ln−1 · A(n−2),b(n−1) = Ln−1b(n−2),
A(n−1)=
a11 a12 a13 . . . a1n0 a1
22 a123 . . . a1
2n0 0 a2
33 . . . a23n
. . . . . . . . . . . . . . .
0 0 0 . . . a(n−1)nn
, Ln−1 =
1 0 . . . 0 00 1 . . . 0 0
. . . . . . . . . . . . . . .0 0 . . . 1 00 0 . . . −ln,n − 1 1
,
b(n−1) = {b1, b12, b2
3, . . . , bn−1n }>. Gauname
A(n−1) = Ln−1 . . .L2L1A, b(n−1) = Ln−1 . . .L2L1b,
Iš ciaA = L−1
1 L−12 . . .L−1
n−1 · A(n−1).
TAL skaitiniai metodai (MIF VU) Skaidos metodai 5 / 50
Skaidos metodai
A = L−11 L−1
2 . . .L−1n−1 · A(n−1).
Cia
L−11 =
1 0 0 . . . 0l21 1 0 . . . 0l31 0 1 . . . 0. . . . . . . . . . . . . . .ln1 0 0 . . . 1
, L−12 =
1 0 0 . . . 00 1 0 . . . 00 l32 1 . . . 0. . . . . . . . . . . . . . .0 ln2 0 . . . 1
,
L−1n−1 =
1 0 . . . 0 00 1 . . . 0 0. . . . . . . . . . . . . . .0 0 . . . 1 00 0 . . . ln,n−1 1
.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 6 / 50
Skaidos metodai
Pažymekime U = A(n−1) ir L = L−11 L−1
2 . . .L−1n−1, cia
L =
1 0 0 . . . 0l21 1 0 . . . 0l31 l32 1 . . . 0. . . . . . . . . . . . . . .ln1 ln2 ln3 . . . 1
,
Tada A = LU.Tiesiogine Gauso metodo eiga yra vienas iš budu gauti matricos A LUskaidini.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 7 / 50
Skaidos metodai
TeoremaJei visi matricos A pagrindiniai minorai nelygus nuliui, tai ∃! apatinetrikampe matrica L(lii = 1∀i) ir viršutine trikampe matrica U tokie, kadA = LU.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 8 / 50
Skaidos metodai
Skaidos metodas
Kitas tiesiniu lygciu sistemu Ax = b sprendimo metodas.LU dekompozicija – matrica A išskaidome i sandauga.Egzistuoja tokios matricos L (apatine trikampe) ir U (viršutinetrikampe), kad
A = LU⇒
Ax = b ⇔ LUx = b
Ld = b, Ux = dPranašumas: viena karta apskaiciavus L ir U, galima spresti sistemassu skirtingais b1, · · · ,bm nekartojant matricos A išskaidymo.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 9 / 50
Skaidos metodai
Skaidos metodo žingsniai
1 Išskaidome A i L ir U sandauga;2 Žinant b randame d iš Ld = b;3 Sprendžiant Ux = d apskaiciuojame x
(Gauso metodo atbuline eiga).
Ld = b⇔
l11 0 0 0l21 l22 0 0...
......
...ln1 ln2 · · · lnn
d1d2...
dn
=
b1b2...
bn
Ux = d⇔
u11 u12 · · · u1n
0 u22 · · · u2n...
......
...0 0 · · · unn
x1x2...
xn
=
d1d2...
dn
Skaidos metodo žingsniai
Ax = b
U L
Ld = b
d
Ux = d
x
1) Skaidimas
2) Tiesioginis keitimas
3) Atbulinis keitimas
TAL skaitiniai metodai (MIF VU) Skaidos metodai 10 / 50
Skaidos metodai
Skaidos metodaspagristas Gauso metodu;spartesnis (daug kartu sprendžiant sistemas su ta pacia matricaA).
Skaidos metodo dekompozicija (nera vienintele)Doolittle dekompozicija lii = 1;Crout dekompozicija uii = 1;Cholesky dekompozicija (simetrinems matricoms) lii = uii.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 11 / 50
Skaidos metodai
LU metodo algoritmas:
1)IšskaidymasLU metodo algoritmas (išskaidymas)LU metodo algoritmas (išskaidymas)
( by matrix)
Staring the first row of , for 1 1
[ ] [ ][ ], 1, 2, ......, ;i i
A L U N NU u a i N
g ,
then the first column of , for
Then alternatively determine the 2nd row o
1, 1,
,1 ,1 1,1
, , , , ;
, / 2, ......, ;i i
j jL l a u j N
f ,UThen alternatively determine the 2nd row o
f for
and 2nd column of2, 2, 2,1 1,
,2, 3, ......, ;
;i i i
Uu a l u i N
L
th
and 2nd column of for then ,2 ,2 ,1 1,2 2,2
1
;( ) / , 3, ......, ;j j j
n
Ll a l u u j N
thand n row of for , , , ,1
, , ..., ;n i n i n k k ik
U u a l u i n N
1n thand n column of
f til f [ ]
, , , , ,1
, / ,
1
j n j n j k k n n nk
th
L l a l u u
j N N U
for ..........until row of [ ].1, ..., ; thj n N N U
TAL skaitiniai metodai (MIF VU) Skaidos metodai 12 / 50
Skaidos metodai
LU metodo algoritmas: 2)-3)
2) Tiesiogine eiga (keitimas)
di = bi −i−1∑
j=1
lijdj i = 1, . . . , n
Gauname viršutine trikampe matrica.3) Atbuline eiga (kaip ir Gauso metode):
xn = dn/ann
xi =di −
∑nj=i+1 uijxj
uii, i = n− 1, . . . , 2, 1.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 13 / 50
Skaidos metodai
Doolittle dekompozicijaDoolittle LU Doolittle LU dekompozicijadekompozicija
11 12 13 14 11 12 13 14
21 22 23 24 21 22 23 24
0 0 011 0 0 0
a a a a u u u ua a a a l u u u 21 22 23 24 21 22 23 24
31 32 33 34 31 32 33 34
41 42 43 44 41 42 43 44
11
1
0 0 00 0 0
0 0 0
a a a a l u u uA
a a a a l l u ua a a a l l l u
41 42 43 44 41 42 43 441 0 0 0a a a a l l l u
u u u u 11 12 13 14
21 11 21 12 22 21 13 23 21 14 24
31 11 31 12 32 22 31 13 32 23 33 31 14 32 24 34
u u u ul u l u u l u u l u u
Al u l u l u l u l u u l u l u u
31 11 31 12 32 22 31 13 32 23 33 31 14 32 24 34
41 11 41 12 42 22 41 13 42 23 43 33 41 14 42 24 43 34 44
l u l u l u l u l u u l u l u ul u l u l u l u l u l u l u l u l u u
11 11 12 12 13 13 14 141 eilutė : ; ; ; u a u a u a u a
21 21 11 31 31 11 41 41 111 stulpelis: / ; / ; /l a u l a u l a u
TAL skaitiniai metodai (MIF VU) Skaidos metodai 14 / 50
Skaidos metodai
Doolittle dekompozicijaDoolittle LU Doolittle LU dekompozicijadekompozicijap jp j
2414212313212212211121
14131211
uululuululululul
uuluuluululuuuu
A
44344324421441334323421341224212411141
34243214313323321331223212311131
uulululululululululuululuululululul
2 eilutė : ; ;l u u a l u u a l u u a 21 12 22 22 21 13 23 23 21 14 24 24
22 22 21 12
2 eilutė : ; ; l u u a l u u a l u u a
u a l ul
23 23 21 13
24 24 21 14
u a l uu a l u
31 12 32 22 32 41 12 42 22 42
32 31 12 42 41 12
2 stulpelis: ; l u l u a l u l u aa l u a l u
32 31 12 42 41 1232 42
22 22
a l u a l ul l
u u
TAL skaitiniai metodai (MIF VU) Skaidos metodai 15 / 50
Skaidos metodai
Doolittle dekompozicijaDoolittle LUDoolittle LU dekompozicijadekompozicijaDoolittle LU Doolittle LU dekompozicijadekompozicija
2414212313212212211121
14131211
uululuululululul
uuluuluululuuuu
A
44344324421441334323421341224212411141
34243214313323321331223212311131
uulululululululululuululuululululul
31 31eilutė : ; 13 32 23 33 33 14 32 24 34 34
33 33 31 13 32 23
3 l u l u u a l u l u u au a l u l u
33 33 31 13 32 23
34 34 31 14 32 24u a l u l u
3 stulpelis: ( )43 43 41 13 42 23l a l u l u
4 eilutė: 44 44 41 14 42 24 43 34u a l u l u l u
TAL skaitiniai metodai (MIF VU) Skaidos metodai 16 / 50
Skaidos metodai
Skaidos metodas
1 LU dekompozicija (skaidimas) Ax = LUx = b2 Tiesioginis keitimas Ld = b3 Atbulinis keitimas Ux = d
Tiesioginis keitimas yra spartesnis nei kintamuju šalinimas (Gausometodas)Gauso metodas:Tiesiogines eigos etapas turi kartotis sprendžiant sistemos suskirtingais bi.LU dekompozicija:išskaidymas A = LU nepriklauso nuo bi!
TAL skaitiniai metodai (MIF VU) Skaidos metodai 17 / 50
Skaidos metodai
Pavyzdys
Jau išsprestas Gauso metodu. Pakartosime jo tiesiogines eigos etapa,kad gauti matricos U ir L. Pažymekime lkj =
akjajj
.
1 0 2 3−1 2 2 −3
0 1 1 46 2 2 4
∣∣∣∣∣∣∣∣
1−1
21
l21 = −1l31 = 0l41 = 6
1 0 2 30 2 4 00 1 1 40 2 −10 −14
∣∣∣∣∣∣∣∣
102−5
(2 lygtis)− l21(1 lygtis)(3 lygtis)− l31(1 lygtis)(4 lygtis)− l41(1 lygtis)
TAL skaitiniai metodai (MIF VU) Skaidos metodai 18 / 50
Skaidos metodai
1 0 2 30 2 4 00 1 1 40 2 −10 −14
∣∣∣∣∣∣∣∣
102−5
l32 = 1/2
l42 = 1
1 0 2 30 2 4 00 0 −1 40 0 −14 −14
∣∣∣∣∣∣∣∣
102−5
(3 lygtis)− l32(2 lygtis)
(4 lygtis)− l42(2 lygtis)
TAL skaitiniai metodai (MIF VU) Skaidos metodai 19 / 50
Skaidos metodai
Pavyzdys - kintamuju šalinimas ir atbuline eiga
1 0 2 30 2 4 00 0 −1 40 0 −14 −14
∣∣∣∣∣∣∣∣
102−5
l43 = 14
Viršutine trikampe matrica U:
U =
1 0 2 30 2 4 00 0 −1 40 0 0 −70
∣∣∣∣∣∣∣∣
102
−33
(4 lygtis)− l43(3 lygtis)
Matricos L elementai yratiesiogines Gauso metodoeigos daugikliai:
L =
1 0 0 0−1 1 0 0
0 1/2 1 06 1 14 1
TAL skaitiniai metodai (MIF VU) Skaidos metodai 20 / 50
Skaidos metodai
LU metodas - pavyzdys
Tada
Ld =
1 0 0 0−1 1 0 0
0 1/2 1 06 1 14 1
d1d2d3d4
=
1−1
21
d1 = 1,
d2 = −1 + d1 = −1 + 1 = 0,
d3 = 2− 0, 5 ∗ d2 = 2,
d4 = 1− 6d1 + d2 − 14d3 = −33.
d =
102
−33
TAL skaitiniai metodai (MIF VU) Skaidos metodai 21 / 50
Skaidos metodai
LU metodas - pavyzdys
Ux =
1 0 2 30 2 4 00 0 −1 40 0 0 −70
x1x2x3x4
=
102
−33
x4 =−33−70
=3370
,
x3 = 4x4 − 2 = − 435
,
x2 = −2x3 =835
,
x1 = 1− 2x3 − 3x4 = −1370
.
Sprendinys
x =
33/70−4/35
8/35−13/70
TAL skaitiniai metodai (MIF VU) Skaidos metodai 22 / 50
Skaidos metodai
Skaidos metodas su pagrindinio elemento parinkimu
Elementariu perstatymu matrica P (angl. Permutation matrix) -vienetines matricos I eiluciu sukeitimas vietomis;Rodo, kaip buvo perstatytos matricos A eilutes;Perstatytos matricos PA išskaidymas
PA = LU;
TLS sprendimasLUx = Pb.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 23 / 50
Skaidos metodai
Skaidos metodas su pagrindinio elemento parinkimu - pavyzdys
MATLAB sprendimas:
A=[1 2 6; 4 8 -1; -2 3 5] det(A) [L,U,P]=lu(A)
A = det(A) = 175
1 2 6
4 8 -1
-2 3 5
L = U =
1.0000 0 0 4.0000 8.0000 -1.0000
-0.5000 1.0000 0 0 7.0000 4.5000
0.2500 0 1.0000 0 0 6.2500
P =
0 1 0
0 0 1
1 0 0
1
TAL skaitiniai metodai (MIF VU) Skaidos metodai 24 / 50
Skaidos metodai
Skaidos metodas su pagrindinio elemento parinkimu
Existence, Uniqueness, and ConditioningSolving Linear Systems
Special Types of Linear SystemsSoftware for Linear Systems
Triangular SystemsGaussian EliminationUpdating SolutionsImproving Accuracy
Partial Pivoting
In principle, any nonzero value will do as pivot, but inpractice pivot should be chosen to minimize errorpropagation
To avoid amplifying previous rounding errors whenmultiplying remaining portion of matrix by elementaryelimination matrix, multipliers should not exceed 1 inmagnitude
This can be accomplished by choosing entry of largestmagnitude on or below diagonal as pivot at each stage
Such partial pivoting is essential in practice for numericallystable implementation of Gaussian elimination for generallinear systems < interactive example >
Michael T. Heath Scientific Computing 49 / 88
TAL skaitiniai metodai (MIF VU) Skaidos metodai 25 / 50
Skaidos metodaiExistence, Uniqueness, and ConditioningSolving Linear Systems
Special Types of Linear SystemsSoftware for Linear Systems
Triangular SystemsGaussian EliminationUpdating SolutionsImproving Accuracy
Example: Small PivotsTo illustrate effect of small pivots, consider
A =
[ε 11 1
]
where ε is positive number smaller than εmachIf rows are not interchanged, then pivot is ε and multiplier is−1/ε, so
M =
[1 0−1/ε 1
], L =
[1 0
1/ε 1
],
U =
[ε 10 1− 1/ε
]=
[ε 10 −1/ε
]
in floating-point arithmetic, but then
LU =
[1 0
1/ε 1
] [ε 10 −1/ε
]=
[ε 11 0
]6= A
Michael T. Heath Scientific Computing 53 / 88
TAL skaitiniai metodai (MIF VU) Skaidos metodai 26 / 50
Skaidos metodaiExistence, Uniqueness, and ConditioningSolving Linear Systems
Special Types of Linear SystemsSoftware for Linear Systems
Triangular SystemsGaussian EliminationUpdating SolutionsImproving Accuracy
Example, continued
Using small pivot, and correspondingly large multiplier, hascaused loss of information in transformed matrixIf rows interchanged, then pivot is 1 and multiplier is −ε, so
M =
[1 0−ε 1
], L =
[1 0ε 1
],
U =
[1 10 1− ε
]=
[1 10 1
]
in floating-point arithmeticThus,
LU =
[1 0ε 1
] [1 10 1
]=
[1 1ε 1
]
which is correct after permutation
Michael T. Heath Scientific Computing 54 / 88
TAL skaitiniai metodai (MIF VU) Skaidos metodai 27 / 50
Choleckio metodas
Choleckio metodas
Jei matrica A yra simetrine ir teigiamai apibrežta patogu naudotiCholeckio (angl. Cholesky) dekompozicija
A = LLT = UTU
Kai matrica A yra simetrine ir teigiamai apibrežta (visos tikrinesreikšmes teigiamos) pagrindinio elemento parinkimas nereikalingas.
A =
a11 a12 · · · a1na21 a22 · · · a2n· · · · · · · · · · · ·an1 an2 · · · ann
=
l11 0 · · · 0l12 l22 · · · 0· · · · · · · · · · · ·l1n l2n · · · lnn
l11 l12 · · · l1n0 l22 · · · l2n· · · · · · · · · · · ·0 0 · · · lnn
TAL skaitiniai metodai (MIF VU) Skaidos metodai 28 / 50
Choleckio metodas
Matricos L elementus apskaiciuojame iš matricu lygybes LLT = A,prilygindami LLT ir A atitinkamus elementus.Gauname lygciu sistema
l211 = a11, ⇒ l11 =√
a11,
lk1l11 = ak1, ⇒ lk1 = ak1/l11, k = 2, . . . , n,
l221 + l222 = a22, ⇒ l22 =√
a22 − l221,
lk1l21 + lk2l22 = ak2, ⇒ lk2 = (ak2 − lk1l21)/l22, k = 3, . . . , n,
. . .
j−1∑
i=1
l2ij + l2jj = ajj, ⇒ ljj =
√√√√ajj −j−1∑
i=1
l2ij,
j−1∑
i=1
lkilji + lkjljj = akj, ⇒ lkj =akj −
∑j−1i=1 lkilji
ljj, k = j + 1, . . . , n.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 29 / 50
Choleckio metodas
Choleckio metodasCholeCholecckkioio metodasmetodasCholeCholecckkioio metodasmetodas
211 11 12 11 13 11 14
2 211 12 12 22 13 12 23 22 14 12 24 22
2 2 2
u u u u u u uu u u u u u u u u u u u
A
2 2 211 13 13 12 23 22 13 23 33 14 13 24 23 34 33
2 2 2 211 14 14 12 24 22 14 13 24 23 34 33 14 24 34 44
u u u u u u u u u u u u u u uu u u u u u u u u u u u u u u u
11 11 12 12 11 13 13 11 14 14 111 stulpelis/eilutė: ; / ; / ; /u a u a a u a a u a a
2 22 stulpelis/eilutė: ; ;u u a u u u u a u u u u a 12 22 22 13 12 23 22 23 14 12 24 22 24
222 22 12 23 23 13 12 22 24 24 14 12 22
2 stulpelis/eilutė: ; ;
; ( ) / ; ( ) /
u u a u u u u a u u u u a
u a u u a u u u u a u u u
2 2 213 23 33 33 13 14 23 24 33 34 34
2 233 33 13 23 34 34 14 13 24 23 33
3 stulpelis/eilutė: ;
; ( ) /
u u u a u u u u u u a
u a u u u a u u u u u
33 33 13 23 34 34 14 13 24 23 33
2 2 2 2 2 2 214 24 34 44 44 44 44 14 24 344 eilutė: u u u u a u a u u u
TAL skaitiniai metodai (MIF VU) Skaidos metodai 30 / 50
Choleckio metodas
Choleckio metodas - pavyzdysCholeCholecckkioio metodo pavyzdysmetodo pavyzdysp y yp y y
211 11 12 11 13 11 14
2 211 12 12 22 13 12 23 22 14 12 24 22
2 2 2
9 6 12 36 5 9 2
12 9 21 0
u u u u u u uu u u u u u u u u u u u
Au u u u u u u u u u u u u u u
11 13 13 12 23 22 13 23 33 14 13 24 23 34 33
211 14 14 12 24 22 14 13 24 23 34 33 14
12 9 21 03 2 0 6
u u u u u u u u u u u u u u uu u u u u u u u u u u u u
2 2 224 34 44u u u
1 t l li / il tė 9 3 6 3 2 12 3 4 3 3 1/ / /11 12 13 141 stulpelis/eilutė: 9 3 6 3 2 12 3 4 3 3 1u ; u / ; u / ; u /
2 212 22 13 12 23 22 14 12 24 222 stulpelis/eilutė: 5; 9; 2u u u u u u u u u u
2 2 2
12 22 13 12 23 22 14 12 24 22
222 23 24
2 stulpelis/eilutė: 5; 9; 2
5 ( 2) 1; ( 9 4( 2)) / 1 1; (2 ( 1)( 2)) / 1 0
u u u u u u u u u u
u u u
2 2 213 23 33 13 14 23 24 33 34
2 233 34
3 stulpelis/eilutė : 21; 0
21 (4) ( 1) 2; (0 ( 1)(4) (0)( 1)) / 2 2
u u u u u u u u u
u u
2 2 2 2 2 2 214 24 34 44 444 eilutė: 6 6 ( 1) (0) (2) 1u u u u u
TAL skaitiniai metodai (MIF VU) Skaidos metodai 31 / 50
Choleckio metodas
Choleckio faktorizacijos algoritmas
Existence, Uniqueness, and ConditioningSolving Linear Systems
Special Types of Linear SystemsSoftware for Linear Systems
Symmetric SystemsBanded SystemsIterative Methods
Cholesky Factorization
One way to write resulting general algorithm, in whichCholesky factor L overwrites original matrix A, is
for j = 1 to nfor k = 1 to j − 1
for i = j to naij = aij − aik · ajk
endendajj =
√ajj
for k = j + 1 to nakj = akj/ajj
endend
Michael T. Heath Scientific Computing 78 / 88TAL skaitiniai metodai (MIF VU) Skaidos metodai 32 / 50
Choleckio metodas
Choleckio faktorizacija
Existence, Uniqueness, and ConditioningSolving Linear Systems
Special Types of Linear SystemsSoftware for Linear Systems
Symmetric SystemsBanded SystemsIterative Methods
Cholesky Factorization, continued
Features of Cholesky algorithm for symmetric positivedefinite matrices
All n square roots are of positive numbers, so algorithm iswell definedNo pivoting is required to maintain numerical stabilityOnly lower triangle of A is accessed, and hence uppertriangular portion need not be storedOnly n3/6 multiplications and similar number of additionsare required
Thus, Cholesky factorization requires only about half workand half storage compared with LU factorization of generalmatrix by Gaussian elimination, and also avoids need forpivoting
< interactive example >Michael T. Heath Scientific Computing 79 / 88
TAL skaitiniai metodai (MIF VU) Skaidos metodai 33 / 50
Choleckio metodas
Skaiciavimo apimciu palyginimas (m lygciu sistemuatvejis)
Skaidos metodo skaiciavimo apimtisGauso metodas (m lygciu sistemu): O(2
3 mn3) aritmetiniu veiksmu.Skaidos metodas O(2
3 n3 + 2mn2) aritmetiniu veiksmu.
Jei m = n skaidos metodas - O(83 n3) aritmetiniu veiksmu (tik 4 kartus
daugiau nei sprendžiant viena sistema).
Choleckio metodo skaiciavimo apimtis
Saugomi tik matricos L koeficientai (sutaupoma atmintis, nes Ayra simetrine).Skaidimas O(1
3 n3) aritmetiniu veiksmu.Sistemu sprendimas O(2n2) aritmetiniu veiksmu.
Panašai kaip ir skaidos metodas.TAL skaitiniai metodai (MIF VU) Skaidos metodai 34 / 50
Išretintos matricos
Išretintos matricos
Dažnai reikia spresti labai dideles TLS Ax = b (n = 105 yra mažasšiame kontekste!), kur beveik visi elementai lygus nuliui. Tokia matricavadinama išretinta (angl. sparse matrix).
A sparse matrix is a matrix that allows special techniques to takeadvantage of the large number of zero elements. (Wilkinson) (1969)
Reikalinga, kad:1 matricos L ir U paveldetu kiek imanoma didesni išretinima,2 skaiciavimo apimtis turi priklausyti nuo nenuliniu elementu
skaiciaus, o ne nuo matricos elementu skaiciaus (n2).Irankis – eiluciu ir/arba stulpeliu sukeitimas siekiant sumažinti matricuL ir U užpildymus.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 35 / 50
Išretintos matricos
Išretintos matricos
So what is a sparse matrix ... ?
A sparse matrix is a matrix that allows special techniques to takeadvantage of the large number of zero elements. (Wilkinson) (1969)
This definition helps to define "how many" zeros a matrix needs inorder to be "sparse." The answer is that it depends on what thestructure of the matrix is, and what you want to do with it. For example,a randomly generated sparse n× n matrix with cn entries scatteredrandomly throughout the matrix is not sparse in the sense of Wilkinson(for direct methods) since it takes O(n3) time to factorize (with highprobability and for large enough c; Gilbert et al. 1992).TLS Ax = b efektyvus sprendimas turetu išnaudoti išretinta struktura.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 36 / 50
Išretintos matricos
Išretintos matricos – taikymai
Sparse matrices arise in ...computational fluid dynamics, finite-element methods, statistics,time/frequency domain circuit simulation, dynamic and static modelingof chemical processes, cryptography, magneto-hydrodynamics,electrical power systems, differential equations, quantum mechanics,structural mechanics (buildings, ships, aircraft, human body parts...),heat transfer, MRI reconstructions, vibroacoustics, linear andnon-linear optimization, financial portfolios, semiconductor processsimulation, economic modeling, oil reservoir modeling, astrophysics,crack propagation, Google page rank, 3D computer vision, cell phonetower placement, tomography, multibody simulation, model reduction,nano-technology, acoustic radiation, density functional theory,quadratic assignment, elastic properties of crystals, natural languageprocessing, DNA electrophoresis, ...
TAL skaitiniai metodai (MIF VU) Skaidos metodai 37 / 50
Išretintos matricos
Juostines matricos
Matrica A yra juostine, jei ∃ r ∈ N : r < n, toks, kad aij = 0, kai|i− j| > r, i, j = 1, . . . , n.T.y. išskyrus juostas plocio 2r + 1 prie pagrindines istrižaines, visikiti elementai yra nuliniai.Šiuo atveju A = LU reiškia, kad lij = uij = 0, kai |i− j| > r.⇒ LU faktorizacija irgi turi išretinta struktura.
Skaiciavimo apimtisn× n matricos A LU faktorizacija – O(n3) veiksmu,sistemos Ax = b sprendinio apskaiciavimas, kai faktorizacija jaužinoma – O(n2) veiksmu.Kai A yra išretinta matrica, O(r2n) veiksmu faktorizuojantir O(rn) veiksmu sprendžiant TLS.Jei r � n akivaizdus didelis taupimas.
r = 1 :
• •• • •
• • •• • •
• • •• •
r = 2 :
• • •• • • •• • • • •
• • • • •• • • •
• • •
TAL skaitiniai metodai (MIF VU) Skaidos metodai 38 / 50
Išretintos matricos
Teorema apie išretintos matricos LU faktorizacija
TeoremaTegul A = LU - išretintos matricos A LU faktorizacija be pagrindinioelemento parinkimo.
Nuliai esantys eilutes pradžioje (iki pirmojo nenulinio) pritaikius šialgoritma atsiras ir L matricoje,nuliai esantys stulpelio viršuje (iki pirmojo nenulinio) atsiras Umatricoje.
∗ • • •◦ ∗ • • •◦ ◦ ∗ • • •
◦ ∗ • •◦ ◦ ◦ ∗ •
◦ ◦ ◦ ◦ ◦ ∗
=
∗◦ ∗◦ ◦ ∗
◦ ∗◦ ◦ ◦ ∗
◦ ◦ ◦ ◦ ◦ ∗
∗ • • •∗ • • •∗ • • •∗ • •∗ •∗
cia ∗, ◦ ir • - nenuliniai elementai.TAL skaitiniai metodai (MIF VU) Skaidos metodai 39 / 50
Išretintos matricos
Teoremos apie LU faktorizacija irodymas
Teoremos irodymas Nagrinekime i-aja matricos A eilute. Tegul0 = ai1 = ai2 = · · · = 0 – nuliniai elementai i-osios eilutes pradžioje.Kadangi ukk 6= 0 iš LU išskaidymo formuliu išplaukia
0 = ai1 = li1u11 ⇒ li1 = 00 = ai2 = li1u12 + li2u22 ⇒ li2 = 00 = ai3 = li1u13 + li2u23 + li3u33 ⇒ li3 = 0 ir t.t.
Analogiškai nuliniams elementams j-ojo stulpelio pradžioje (lkk = 1):
0 = a1j = l11u1j ⇒ u1j = 00 = a2j = l21u1j + l22u2j ⇒ u2j = 00 = a3j = l31u1j + l32u2j + l33u3j ⇒ u3j = 0 ir t.t.2
TAL skaitiniai metodai (MIF VU) Skaidos metodai 40 / 50
Išretintos matricos
Teorema apie išretintos matricos LU faktorizacija
Ši teorema rodo, kad norint išskaidyti išretintomis matricomis,galima bandyti taip pertvarkyti matricos A eilutes ir stulpelius, kadkaip galima daugiau nuliniu elementu atsirastu eiluciu ir stulpeliupradžioje. Tai sumažins matricu užpildyma.Labai efektyvus pagrindinio elemento parinkimo metodasminimizuojantis išretintos matricos užpildyma naudoja grafuteorija (mes nenagrinesime).
TAL skaitiniai metodai (MIF VU) Skaidos metodai 41 / 50
Išretintos matricos
PavyzdžiaiFaktorizacijoje matricos L ir U pakankamai užpildytos
−3 1 1 2 01 −3 0 0 11 0 2 0 02 0 0 3 00 1 0 0 3
=
1
− 13 1
− 13 − 1
8 1
− 23 − 1
4619 1
0 − 38
119
481 1
−3 1 1 2 0
− 83
13
23 1
198
34
18
8119
419
27281
.
Keiciant (simetriškai) eilutes ir stulpelius 1↔ 3, 2↔ 4 ir 4↔ 5,gauname
2 0 1 0 00 3 2 0 01 2 −3 0 10 0 0 3 10 0 1 1 −3
=
11
12
23 1
1
− 629
13 1
2 13 2− 29
6 13 1− 272
87
.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 42 / 50
Išretintos matricos
2 pavyzdys
Nenuliniai elementai yra tik istrižaineje, vienoje eiluteje ir vienamestulpelyje
A =
4 1 1 11 11 11 1
=
114 114 −1
3 114 −1
3 − 12 1
4 1 1 134 − 1
4 −14
23 −1
312
.
Užpildyti eilute ir stulpelis turetu buti matricos apacioje ir dešinejeatitinkamai (arrow matrix).
PA =
1 11 1
1 11 1 1 4
=
11
11 1 1 1
1 11 1
1 11
.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 43 / 50
Išretintos matricos
2 pavyzdys - komentaras
Taikant Gauso metoda lieka visi nuliniai elementai, todel L ir Uelementus galima saugoti vietoj matricos PA nenuliniu elementu.Bendru atveju streles tipo matricai A ∈ Rn×n reikia saugoti 3n− 2elementu vietoj n2. Gauso metodo skaiciavimo apimtis yra 3n− 3vietoj 2
3 n3.Kai n yra didelis, šie skaiciavimo veiksmu ir atminties reikalavimaiyra labai maži lyginant su pilnai užpildytu matricu atveju.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 44 / 50
Išretintos matricos
Taikymai ir sprendimo metodai
Daug taikymu, pvz., diferencialiniu lygciu dalinemis išvestinemissprendimas.Sprendimo metodai:
Efektyvi faktorizacija, minimizuojanti užpildymus.Iteraciniai metodai.Kiti labai efektyvus metodai - greitoji Furje transformacija,preconditioned jungtiniu gradientu metodas, daugiatinkliniaimetodai ir t.t. (mes nenagrinesime).
Išretinta matrica gali buti saugoma atmintyje kaip sarašas, kurioelementuose rašomos matricos elementu reikšmes ir ju koordinates.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 45 / 50
Išretintos matricos
3 pavyzdys iš J. Demmel Applied Numerical Linear Algebra
TAL skaitiniai metodai (MIF VU) Skaidos metodai 46 / 50
Išretintos matricos
3 pavyzdys - mechanine struktura
Mazgai ir briaunos nuspalvinti ir sunumeruoti, juos atitinka išretintosmatricos A nenuliniai elementai. Pvz., pirmieji 49 tinklo mazgai (kaireje- žalia spalva) atitinka matricos A eilutes ir stulpeliai su numeriais nuo1 iki 49.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 47 / 50
Išretintos matricos
3 pavyzdys - Cholecko metodo matrica
Išretinta matrica A ir atitinkama Choleckio matrica L.
Matricos L nenuliniai elementai, atitinkantys A nenuliniuselementus, nuspalvinti juoda spalva.Nauji nenuliniai L elementai nuspalvinti raudonai.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 48 / 50
Išretintos matricos
3 pavyzdys - Cholecko metodo matrica
Pertvarkant matricos A eilutes ir stulpelius galima sumažinti matricos Lnenuliniu elementu ir skaiciavimo veiksmu skaiciu.
21% sumažejo L užpildymas,39% sumažejo aritmetiniu veiksmu skaicius.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 49 / 50
Išretintos matricos
3 pavyzdys - Cholecko metodo matrica
Dar 7% sumažejo L užpildymas,bet 9% padidejo aritmetiniu veiksmu skaicius.
TAL skaitiniai metodai (MIF VU) Skaidos metodai 50 / 50