I t e r a c n ı m e t o d yJacobiho a Gaussova-Seidelova
AX = B → X = UX + V
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
Jacobiho metoda
Matice UJ a vektor vJ
kde aij jsou prvky matice soustavy Abi jsou prvky vektoru prave strany b.
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:
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:
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
P R I K L A D Y
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)‖.
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)‖.
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.
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.
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.
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?
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‖.
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
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
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
S H R N U T I
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
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,
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
P O Z D R A V Y Z M A T L A B U
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.
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.
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)))
Top Related