I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B...

27
Iteraˇ cn´ ı metody Jacobiho a Gaussova-Seidelova AX = B X = UX + V

Transcript of I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B...

Page 1: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

I t e r a c n ı m e t o d yJacobiho a Gaussova-Seidelova

AX = B → X = UX + V

Page 2: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobiho metoda a Gaussova-Seidelova metodaSoustavu rovnic ve tvaru Ax = b prevedeme do tvaru x = Ux + v . JAK?Matici soustavy A rozlozıme na soucet trı matic:diagonalnı matici D,dolnı trojuhelnıkovou matici s nulami na diagonale La hornı trojuhelnıkovou matici s nulami na diagonale U.

Jacobiho matice UJ

A→ UJ , b → vJUJ = −D−1(L + U),vJ = D−1bA = D + L + U; (D + L + U)x = bDx + (L + U)x = bDx = b − (L + U)xhledany tvarx = −D−1(L + U)︸ ︷︷ ︸

UJ

x + D−1︸︷︷︸vJ

b

Gaussova-Seidelova matice UG

A→ UG , b → vGUG = −(D + L)−1U,vG = (D + L)−1bA = D + L + U(D + L)x = b − Uxx = (D + L)−1(b − Ux)hledany tvarx = −(D + L)−1U︸ ︷︷ ︸

UG

x + (D + L)−1︸ ︷︷ ︸vJ

b

Page 3: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobiho metoda

Matice UJ a vektor vJ

kde aij jsou prvky matice soustavy Abi jsou prvky vektoru prave strany b.

Page 4: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobiho metoda: podmınky konvergence

postacujıcı podmınka platı ⇒ metoda konverguje

matice A je ostre diagonalne dominantnı (ODD)existuje (aspon jedna) norma matice UJ : ‖UJ‖ < 1

nutna a postacujıcı podmınka platı ⇔ metoda konverguje

spektralnı polomer matice UJ : ρ(UJ) < 1

Urcenı spektralnıho polomeru matice UJ z matice A.Vlastnı cısla matice UJ urcıme z rovnice:

Page 5: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln
Page 6: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Gaussova-Seidelova metodaIteracnı matice UG (a vektor vG ) (lze se bez nich obejıt!)

UG = −(D + L)−1U vG = (D + L)−1b

kde L,D,U (viz vyse) jsou matice, pro ktere A = L + D + U.Podmınky konvergence

postacujıcı podmınka platı ⇒ metoda konvergujematice A je ostre diagonalne dominantnı (ODD)matice A je symetricka pozitivne definitnıexistuje (aspon jedna) norma matice UG : ‖UG‖ < 1

nutna a postacujıcı podmınka platı ⇔ metoda konvergujespektralnı polomer matice UG : ρ(UG ) < 1

Urcenı spektralnıho polomeru matice UG z matice A.Vlastnı cısla matice UG urcıme z rovnice:

Page 7: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln
Page 8: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobiho a Gaussova-Seidelova metody: srovnanı.

Postacujıcı podmınky konvergence (pro matici A)

Jacobi

A je ODD

Gauss Seidel

A je ODD

A je symetricka pozit. def.Nutna a postacujıcı podmınka konvergence: ρ(U) < 1.Urcenı ρ(UJ), ρ(UG ) z matice AJacobi∣∣∣∣∣∣λa11 a12 a13 . . .a21 λa22 a23 . . .a31 a32 λa33 . . .

∣∣∣∣∣∣ = 0

Gauss Seidel∣∣∣∣∣∣λa11 a12 a13 . . .λa21 λa22 a23 . . .λa31 λa32 λa33 . . .

∣∣∣∣∣∣ = 0

Vypocet:Jacobi

x(k+1)1 =

x(k+1)2 =

x(k+1)3 =

(b1−a12x(k)2 −a13x

(k)3 )

a11

(b2−a21x(k)1 −a23x

(k)3 )

a22

(b3−a31x(k)1 −a32x

(k)2 )

a33

Gauss Seidel

x(k+1)1 =

x(k+1)2 =

x(k+1)3 =

(b1−a12x(k)2 −a13x

(k)3 )

a11

(b2−a21x(k+1)1 −a23x

(k)3 )

a22

(b3−a31x(k+1)1 −a32x

(k+1)2 )

a33

Page 9: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

P R I K L A D Y

Page 10: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobiho metoda: prıklad 1

Je dana soustava rovnic A~x = ~b, kde

A =

2 1 −11 2 0−1 0 3

, ~b =

−203

.

1 Ukazte, ze pro danou soustavu konverguje Jacobiova metoda.

2 Urcete ~x (1) a ~x (2) uzitım Jacobiovy metody pri volbe~x (0) = (0, 0, 0)T .

3 Vypoctete radkovou normu ‖~x (2) − ~x (1)‖.

Page 11: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobiho metoda: prıklad 2

Je dana soustava rovnic A~x = ~b, kde

A =

4 β −2β 5 10 2 4

, ~b =

−410

8

.

1 Urcete vsechna β ∈ R, pro ktera je matice A ostre diagonalnedominantnı.

2 Pro β = 1 urcete ~x (1) a ~x (2) uzitım Jacobiovy metody privolbe ~x (0) = (0, 0, 0)T .

3 Vypoctete sloupcovou normu ‖~x (2) − ~x (1)‖.

Page 12: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Gaussova - Seidelova metoda: prıklad 1

Je dana soustava rovnic A~x = ~b, kde

A =

α 1 −11 1 0−1 0 3

, ~b =

43−5

.

1 Urcete vsechna α ∈ R, pro nez je splnena nektera zpostacujıcıch podmınek konvergence (pro matici A, ne UG )Gaussovy-Seidelovy metody.

2 Urcete vsechna α ∈ R, pro nez je splnena nutna a postacujıcıpodmınka konvergence teto metody.

3 Vypoctete ~x (1) a ~x (2) touto metodou pri volbe~x (0) = (0, 0, 0)T a α = 2.

Page 13: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Gaussova - Seidelova metoda: prıklad 2

Je dana soustava rovnic G~x = ~h, kde

G =

4 2 32 ϕ2 03 0 3

, ~h =

441

.

1 Urcete vsechna ϕ ∈ R, pro ktera konvergujeGaussova-Seidelova metoda.

2 Pro ϕ = −3 urcete ~x (1) touto metodou pri volbe ~x (0) = ~h.

Page 14: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobi nebo Gauss - Seidel?

Jsou dany soustavy rovnic A~x = ~b a C~x = ~d , kde

A =

2 −1 11 2 −1−1 1 2

, ~b =

0.521.5

C =

−1 −1 11 −2 −1−1 1 −3

, ~d =

−1−2−3

1 Rozhodnete, kterou soustavu rovnic je mozne resit Jacobiovou

a kterou Gaussovou-Seidelovou metodou. Odpoved’zduvodnete.

2 Volte ~x (0) = (0, 0, 0)T a vypocıtejte ~x (1) a ~x (2) zvolenoumetodou.

3 Je mozne odhadnout chybu ~x (2)? Odpoved’ zduvodnete.

Page 15: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobiho metoda metoda: prıklad 3

Je dana soustava rovnic A~x = ~b, kde

A =

6 a −11 3 0−1 0 2

, ~b =

a52

, ~x =

x1

x2

x3

.

a) Urcete vsechna a ∈ R, pro nez konverguje Jacobiova iteracnımetoda.

b) Zvolte a = 1, ~x (0) = ~0 a urcete pomocı Jacobiovy metody ~x (1),~x (2).

c) Pouzijijte vysledky z bodu b) a spoctete radkovou normu‖A~x (2) − ~b‖.d) Zvolte a = 1 a ~x (0) = ~0. Je mozne odhadnout chybu Jacobiovymetody pro danou ulohu? Pokud ano, vyberte vhodnou normu aodhadnete chybu ‖~x ∗ − ~x (5)‖. Kolik iteracnıch kroku by bylozapotrebı k urcenı priblizneho resenı s chybou ne vetsı nez 10−4?

Page 16: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Gaussova - Seidelova metoda: prıklad 3

Je dana soustava linearnıch algebraickych rovnic ve tvaru A~x = ~b,kde

A =

1 0 a−2 4 2

1 1 3

, ~b =

−a02

, ~x =

x1

x2

x3

.

a) Urcete vsechna a ∈ R, pro nez Gaussova-Seidelova iteracnımetoda konverguje.

b) Pro ktera a ∈ R je splnena nektera z postacujıcıch podmınekkonvergence Gaussovy-Seidelovy metody pro matici A?

c) Pro a = −2 urcete ρ(UG ).

d) Pri volbe ~x (0) = (1, 0, 1)T a a = −1 spoctete touto metodou~x (1), ~x (2).

e) Pouzijte vysledky z bodu d) a vypoctete sloupcovou normu‖A~x (2) − ~b‖.

Page 17: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Jacobiho metoda: prıklad 4

Je dana soustava rovnic A~x = ~b, kde

A =

1 −10 β−1 5 0

2 0 2

~b =

12β

3

1 Urcete mnozinu B vsech parametru β ∈ R, pro nez lze k

resenı soustavy uzıt Jacobiho iteracnı metodu.

2 Pro β = −2 urcete ~x (1), ~x (2) touto metodou pri volbe ~x (0) = ~b

Page 18: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Gaussova - Seidelova metoda: prıklad 4

Je dana soustava rovnic A~x = ~b, kde

A =

1 0 10 ϕ2 13 1 4

~b =

141

1 Urcete vsechna ϕ ∈ R, pro ktera konverguje

Gaussova-Seidelova iteracnı metoda pro danou soustavu

2 Pro ϕ = −2 urcete ~x (1) touto metodou pri volbe ~x (0) = ~b

Page 19: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Gaussova - Seidelova metoda: prıklad 5

Je dana soustava rovnic A~x = ~b, kde

A =

1 1 0−0.5 1 1

0.5 + s2 −0.5 1

~b =

42−1

1 Ukazte, ze Gaussova-Seidelova pro danou soustavu konverguje

prave tehdy, kdyz |s| < 1√2

, kde s ∈ R

2 Pro s = 0 urcete ~x (1), ~x (2) touto metodou pri volbe ~x (0) = ~0

Page 20: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

S H R N U T I

Page 21: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Metody Jacobiho a Gaussova-Seidelova: shrnutıZapiste tri rovnice, ktere jsou dany maticovym zapisem Ax = b (po slozkach).

a11x1 + a12x2 + a13x3 = b1

a21x1 + a22x2 + a23x3 = b2

a31x1 + a32x2 + a33x3 = b3

Z 1. rovnice vyjadrete x1, z druhe rovnice x2 a ze tretı x3.

x1 = 1a11

( b1 − a12x2 − a13x3 )

x2 = 1a22

( b2 − a21x1 − a23x3 )

x3 = 1a33

( b3 − a31x1 − a32x2 )

Definujte jakym iteracnım postupem se pocıtajı aproximace resenı dane soustavy

rovnic pomocı

Jacobi

x(k+1)1 =

x(k+1)2 =

x(k+1)3 =

(b1−a12x(k)2 −a13x

(k)3 )

a11

(b2−a21x(k)1 −a23x

(k)3 )

a22

(b3−a31x(k)1 −a32x

(k)2 )

a33

Gauss Seidel

x(k+1)1 =

x(k+1)2 =

x(k+1)3 =

(b1−a12x(k)2 −a13x

(k)3 )

a11

(b2−a21x(k+1)1 −a23x

(k)3 )

a22

(b3−a31x(k+1)1 −a32x

(k+1)2 )

a33

Page 22: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Metody Jacobiho a Gaussova-Seidelova: shrnutı

Uved’te jake vlastnosti matice A jsou postacujıcı k tomu, aby bylaiteracnı metoda konvergentnı.

Postacujıcı podmınky konvergence (pro matici A)

Jacobi

A je ODD (ostrediagonalne dominantnı)

Gauss-Seidel

A je ODD

A je symetricka apozitivne definitnı

Uved’te, co jsou iteracnı matice Jacobiho UJ a Gaussovy-Seidelovy UG metody.Jacobiho metodaUJ = −D−1(L + U),

Gaussova-SeidelovaUG = −(D + L)−1U,

kde A = U + D + L,

Page 23: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Metody Jacobiho a Gaussova-Seidelova: shrnutı

Jakym zpusobem lze pocıtat jejich spektralnı polomer pouzese znalostı matice A?Urcenı vlastnıch cısel matic UJ a UG z matice AJacobiho∣∣∣∣∣∣λa11 a12 a13 . . .a21 λa22 a23 . . .a31 a32 λa33 . . .

∣∣∣∣∣∣ = 0

ρ(UJ) = maxi{ |λi | }

Gaussova-Seidelova∣∣∣∣∣∣λa11 a12 a13 . . .λa21 λa22 a23 . . .λa31 λa32 λa33 . . .

∣∣∣∣∣∣ = 0

ρ(UG ) = maxi{ |λi | }

Jaka je nutna a postacujıcı podmınka konvergence Jacobihometody? ρ(UJ) < 1

Jaka je nutna a postacujıcı podmınka konvergenceGaussovy-Seidelovy metody? ρ(UG ) < 1

Page 24: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

P O Z D R A V Y Z M A T L A B U

Page 25: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Vypocet Jacobiho metodou

A je matice soustavy, B prava strana, X0 zname hodnoty X (predchazejıcı iterace),

XN pocıtana iterace, n rozmer: A ∈ Rn×n,B,X0,XN ∈ Rn×1, pocet : pocet iteracı

jedna iterace

for k = 1 : n

XN(k) = (B(k)-sum(A(k,:)*X0))/A(k,k) +X0(k);

end

pocet iteracı

for kk = 1 : pocet

for k = 1 : n

XN(k) = (B(k)-sum(A(k,:)*X0))/A(k,k) +X0(k);

end

X0 = XN

end

Vysledkem bude pouze poslednı vypoctena iterace XN.

Page 26: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Vypocet Gaussovou-Seidelovou metodouA je matice soustavy, B prava strana, X0 zname hodnoty X (predchazejıcı iterace),

novou iteraci zapisujeme do tehoz vektoru; n rozmer: A ∈ Rn×n,B,X0 ∈ Rn×1

jedna iterace

for k = 1 : n

X0(k) = (B(k)-sum(A(k,:)*X0))/A(k,k) +X0(k);

% rozdıl od Jacobiho metody:

% ihned prepisujeme prvky vektoru X0

end

M iteracı

for kk = 1 : M

for k = 1 : n

X0(k) = (B(k)-sum(A(k,:)*X0))/A(k,k) +X0(k);

end

X0 % bez strednıku, pouze vypis

% aktualne spoctene iterace

end

Vysledkem bude pouze poslednı vypoctena iterace X0.

Page 27: I t e r a c n m e t o d y Jacobiho a Gaussova-Seidelova AX B ...olga.majling.eu/Vyuka/NM_20_cv2c.pdfMatici soustavy A rozlo z me na sou cet t r matic: diagon aln matici D, doln trojuheln

Iteracnı matice a spektralnı polomery

tril(A), triu(A) vracı dolnı resp. hornı trojuhelnıkovou matici (s hlavnı diagonalou),

diag(A) vracı hlavnı diagonalu (jako vektor), diag(diag(A)) je matice D

Matice L,D,U, pro ktere A=L+D+U (viz vyse)D = diag(diag(A)) soucet L+D: LD = tril(A); U = triu(A)-D

Iteracnı matice UJ , UG

UJ =(-1)*(tril(A) + triu(A) - 2*D) ./ diag(A)

vJ = b ./ diag(A)

UG = -inv(LD)*U

vG = inv(LD)*b

Spektralnı polomery ρ(UJ), ρ(UG )

rhoUJ = max(abs(eig(UJ)))

rhoUG = max(abs(eig(UG)))