outline gauso metodas - analize˙ - pradžiaolgas/tasm/tasm_2p.pdf · doolittle lu dekompozicija 31...

7
Skaidos metodai 2 paskaita Olga Štikonien ˙ e Diferencialiniu˛ lygˇ ciu˛ ir skaiˇ ciavimo 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 - analiz ˙ e Gauso metodas – veiksmai su matricomis A 1 - sistemos matrica po pirmojo kintamojo eliminavimo: A (1) = a 11 a 12 a 13 ... a 1n 0 a 1 22 a 1 23 ... a 1 2n 0 a 1 32 a 1 33 ... a 1 3n ... ... ... ... ... 0 a 1 n2 a 1 n3 ... a 1 nn , b (1) = {b 1 , b 1 2 ,..., b 1 n } > . I ˛vedame matrica L 1 L 1 = 1 0 0 ... 0 -l 21 1 0 ... 0 -l 31 0 1 ... 0 ... ... ... ... ... -l n1 0 0 ... 1 . Akivaizdu, kad A (1) = L 1 A, b (1) = L 1 b. 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) = L 2 A (1) , b 2 = L 2 b (1) , A (2) = a 11 a 12 a 13 ... a 1n 0 a 1 22 a 1 23 ... a 1 2n 0 0 a 2 33 ... a 2 3n ... ... ... ... ... 0 0 a 2 n3 ... a 2 nn , L 2 = 1 0 0 ... 0 0 1 0 ... 0 0 -l 32 1 ... 0 ... ... ... ... ... 0 -l n2 0 ... 1 , b (2) = b 1 , b 1 2 , b 2 3 ,..., b 2 n > . 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) = L n-1 · A (n-2) , b (n-1) = L n-1 b (n-2) , A (n-1) = a11 a12 a13 ... a1n 0 a 1 22 a 1 23 ... a 1 2n 0 0 a 2 33 ... a 2 3n ... ... ... ... ... 0 0 0 ... a (n-1) nn , Ln-1 = 1 0 ... 0 0 0 1 ... 0 0 ... ... ... ... ... 0 0 ... 1 0 0 0 ... -ln,n - 1 1 , b (n-1) = {b 1 , b 1 2 , b 2 3 ,..., b n-1 n } > . Gauname A (n-1) = L n-1 ... L 2 L 1 A, b (n-1) = L n-1 ... L 2 L 1 b, Iš ˇ cia A = L -1 1 L -1 2 ... L -1 n-1 · A (n-1) . TAL skaitiniai metodai (MIF VU) Skaidos metodai 5 / 50 Skaidos metodai A = L -1 1 L -1 2 ... L -1 n-1 · A (n-1) . ˇ Cia L -1 1 = 1 0 0 ... 0 l 21 1 0 ... 0 l 31 0 1 ... 0 ... ... ... ... ... l n1 0 0 ... 1 , L -1 2 = 1 0 0 ... 0 0 1 0 ... 0 0 l 32 1 ... 0 ... ... ... ... ... 0 l n2 0 ... 1 , L -1 n-1 = 1 0 ... 0 0 0 1 ... 0 0 ... ... ... ... ... 0 0 ... 1 0 0 0 ... l n,n-1 1 . TAL skaitiniai metodai (MIF VU) Skaidos metodai 6 / 50 Skaidos metodai Pažym ˙ ekime U = A (n-1) ir L = L -1 1 L -1 2 ... L -1 n-1 cia L = 1 0 0 ... 0 l 21 1 0 ... 0 l 31 l 32 1 ... 0 ... ... ... ... ... l n1 l n2 l n3 ... 1 , Tada A = LU. Tiesiogin ˙ e Gauso metodo eiga yra vienas iš b¯ udu gauti matricos A LU skaidini ˛. TAL skaitiniai metodai (MIF VU) Skaidos metodai 7 / 50 Skaidos metodai Teorema Jei visi matricos A pagrindiniai minorai nelygus nuliui, tai ! apatin ˙ e trikamp ˙ e matrica L(l ii = 1i) ir viršutin ˙ e trikamp ˙ e matrica U tokie, kad A = LU. TAL skaitiniai metodai (MIF VU) Skaidos metodai 8 / 50

Upload: ledan

Post on 26-May-2019

222 views

Category:

Documents


0 download

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