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).