Iterativne metode
3.8 Iterativne metode
Do sada razmatrane metode za rjeˇsavanje sustava Ax = b (Gaussov pos- tupak, LU–dekompozicija, Cholesky–dekompozicija, QR–dekompozicija) spadaju u tzv. direktne metode. Budu´ci da je broj potrebnih raˇcunskih operacija kod ovih
metoda reda veliˇcine n 3 , za velike matrice s puno elemenata koji iˇsˇcezavaju (tzv. large sparse matrices) ove metode ne mogu se preporuˇciti. Osim toga, treba ekon- omizirati i s brojem elemenata matrice za koje treba rezervirati mjesto u memoriji raˇcunala. Takve situacije javljaju se primjerice kod prouˇcavanja elektriˇcnih mreˇza, kod velikih ekonometrijskih modela nacionalne privrede, kod spline–interpolacija, kod rjeˇsavanja rubnih problema za obiˇcne i parcijalne diferencijalne jednadˇzbe, itd. Upravo se iterativne metode, o kojima ´cemo re´ci samo nekoliko osnovnih ˇcinjenica, koriste u takvim situacijama.
Spomenut ´cemo dvije klasiˇcne iterativne metode za rjeˇsavanje sustava Ax = b, A∈R n×n . Pretpostavljamo da je a ii
• Jacobijeva metoda
1 = 1 a 11 (b 1 −a 12 x 2 −a 13 x 3 . . . −a 1,n−1 x n−1 −a 1n x n )
2 = a 22 (b 2 −a 21 x 1 −a 23 x 3 . . . −a 2,n−1 x n−1 −a 2n x n )
(k)
x (k)
3 = a 33 (b 3 −a 31 x 1 −a 32 x 2 . . . −a 3,n−1 x n−1 −a 3n x n ) .. .
= a nn (b n −a n1 x 1 −a n2 x 2 −a n3 x 3 . . . −a n,n−1 x n−1 ) odnosno:
i = 1, . . . , n (3.24)
a ii
j =i
• Gauss-Seidelova metoda
x (k)
(k+1)
1 = a 11 (b 1 −a 12 x 2 −a 13 x 3 . . . −a 1,n−1 x n−1 −a 1n x n ) x (k+1) 2 = 1
22 (b 2 −a 21 x (k+1) 1 −a 23 x (k)
a 3 . . . −a 2,n−1 x n−1 −a 2n x n )
3 = a 33 (b 3 −a 31 x 1 −a 32 x 2 . . . −a 3,n−1 x n−1 −a 3n x n ) .. .
(k+1) 1 (k+1)
x (k+1)
(k+1)
= a nn (b n −a n1 x 1 −a n2 x 2 −a n3 x 3 . . . −a n,n−1 x n−1 ) odnosno:
b (k+1)
i = 1, . . . , n (3.25)
a ii
j=1
j=i+1
3.8 Iterativne metode
Primjer 3.10 Jacobijevom odnosno Gauss-Seidelovom metodom rijeˇsit ´cemo sus- tav iz Primjera 2.7, str. 31:
1 0.25 0 x 1 −48 0.25 1 0.25 x 2 = 0 .
0 0.25 1 x 3 48
Jacobijeva metoda daje rjeˇsenje x ∗ = (−48, 0, 48) T ve´c u prvom koraku. Gauss-Seidelova metoda takod¯er konvergira rjeˇsenju. Prvih nekoliko iteracija prikazano je u Tablici 3.1.
Izraˇcunavanje je obavljeno na bazi niˇze navedenih Mathematica-modula. Jacobi[a_,b_,n_,it_]:= Module[{i,k,xs,xn}, xs=Table[0, {i,n}]; xn=xs;
Do[ Do[ xn[[i]]=(b[[i]]-Apply[Plus,ReplacePart[a[[i]],0,{i}] xs])/a[[i,i]], {i, n}];
Print["It_", k, " = ", N[xn]]; xs=xn, {k, it}]
] GS[a_,b_,n_,it_]:= Module[{i,k,xs,xn}, xs = Table[0, {i,n}]; xn=xs;
Do[ Do[ xn[[i]]=(b[[i]] - Sum[a[[i,j]] xn[[j]], {j, i-1}] - Sum[a[[i,j]] xs[[j]], {j, i+1,n}])/a[[i,i]], {i,n}]; Print["It_", k, " = ", N[xn]]; xs = xn, {k, it}]
U cilju ispitivanja konvergencije navedenih, pa i drugih iterativnih metoda, na Banachovom prostoru R n (snabdjevenom s jednom od normi navedenih u t.3.1) uvest ´cemo metriku d : R n
×R n → [0, ∞),
x, y ∈ R n
3.8 Iterativne metode
ˇcime R n postaje i potpuni metriˇcki prostor.
Definicija 3.3 Preslikavanje F : R n →R n zovemo kontrakcija ako pos- toji takav realni broj q < 1, da bude
d(F (x), F (y)) < q d(x, y) za sve x, y ∈ R n
Primjer 3.11 Funkcija F : [1, ∞) → R, F (x) = 1
2 + x je kontrakcija s q = 1/2. Naime
d(F (x), F (y))
1 = |F (x) − F (y)| = | + | 1
2 x − 2 − y |=| 2 (x − y) − x−y xy | 1 1 1 = |x − y| | 1
2 − xy |≤ 2 |x − y| = 2 d(x, y)
Teorem 3.1 (Banachov teorem o fiksnoj toˇcki) Neka je funkcija F : R n
→R n kontrakcija. Tada postoji jedinstvena fiksna toˇcka x ∗ ∈R funkcije F , tj.
F (x ∗ )=x ∗ . Osim toga, za proizvoljni x 0 ∈R n , niz definiran rekurzivnom formulom
x k+1 = F (x k ) konvergira prema x ∗ i vrijedi formula za ocjenu pogreˇske
Ako matricu sustava A rastavimo na donji trokut, dijagonalu i gornji trokut,
D = diag(a 11 ,...,a nn ), dobivamo matriˇcni oblik
A = D(L + I + U),
• Jacobijeve metode x (k+1) = −(L + U)x (k) +D −1 b, k = 0, 1, . . .
• Gauss-Seidelove metode x (k+1)
= −Lx (k) − Ux +D −1 b k = 0, 1, . . . Sljede´ca rekurzivna formula obuhva´ca obje metode
(k+1)
(3.26) za B = B J := −(L + U) dobivamo Jacobijevu, a za B = B GS := −(I + L) −1 U
x (k+1) = Bx (k) + c, k = 0, 1, . . . ;
dobivamo Gauss-Seidelovu metodu.
60 3.9 Dekompozicija na singularne vrijednosti
Primijetimo da je funkcija F : R n →R n , F (x) = Bx + c kontrakcija onda toˇcki niz (x (n) ) definiran s (3.26) konvergira prema jedinstvenom rjeˇsenju sustava
Ax = b i vrijedi ocjena pogreˇske
(k) −x ∗
(k) −x (k−1)
1−q
ii = 0, pa je
a Kod Jacobijeve metode matrica B ij J ima elemente b ij = a ii
n |a
ij |
J ∞ = max i=1,...,n
j =i |a ii |
Dakle, Jacobijeva metoda konvergirat ´ce ako je A strogo dijagonalno dominantna matrica.
Sliˇcno se moˇze pokazati da ´ce i Gauss-Seidelova metoda konvergirati ako je A strogo dijagonalno dominantna matrica.
Primjedba 3.7 Jednostavnom modifikacijom Gauss-Seidelove metode mogu´ce je ubrzati konvergenciju iterativnog procesa. Proces (3.25) moˇzemo zapisati kao
Uvod¯enjem relaksacijskog parametra ω, proces (3.27) moˇzemo modificirati tako da iterativni proces
(3.28) koji se u literaturi nalazi pod imenom Successive overrelaxation (SOR) method, brˇze
konvergira. Moˇze se pokazati da odgovaraju´ca matrica B iz (3.26) u ovom sluˇcaju glasi
B := B ω = (I + ωL) −1 ((I − ωI) − ωU) ,
i da odgovaraju´ci iterativni proces konvergira za ω ∈ (0, 2).