Uvod u numericku matematiku M. Klaricić Bakula Oujak, 2009.
Uvod u numericku matematiku 2 1 Uvod Jedan od osnovnih problema numericke matematike je rješavanje linearnih sustava jednadbi. U ovom poglavlju istraivat ćemo metode za rješavane kvadratnih sustava linearnih jednadbi, tj. sustava s n jednadbi i n nepoznanica, a 11 x 1 + a 12 x 2 + + a 1j x j + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2j x j + + a 2n x n = b 2. a i1 x 1 + a i2 x 2 + + a ij x j + + a in x n = b i. a n1 x 1 + a n2 x 2 + + a nj x j + + a nn x n = b n :
Uvod u numericku matematiku 3 Matrica A = [a ij ] n i;j=1 2 Rnn je matrica sustava, a njeni elementi su koecijenti sustava. Vektor b = [b i ] n i=1 2 Rn je vektor desne strane sustava ili vektor slobodnih koecijenata. Treba odrediti vektor nepoznanica x = [x] n i=1 2 Rn tako da vrijedi Ax = b:
Uvod u numericku matematiku 4 Naravno, što se teorije tice, rješavanje ovakvog sustava je gotovo trivijalan problem, posebno ako je matrica sustava A regularna, u kojem slucaju je x = A 1 b: Pri tom postoje eksplicitne formule za elemente matrice A 1 ; kao i za samo rješenje x: Osim toga, svima poznata Gaussova metoda eliminacije daje rješenje u O n 3 elementranih operacija, pa imamo i algoritam koji racuna rješenje koristeći samo jednostavne aritmeticke operacije. U primijenjenoj matematici, posebno u numerickoj linearnoj algebri, situacija je puno sloenija. U numerickoj matematici riješiti neki problem danas znaci biti u stanju u konkretnoj situaciji s konkretnim podacima (koristeći racunalo) brzo doći do dovoljno tocne numericke aproksimacije rješenja. Npr., ako su matrica A i vektor b zapisani u nekim datotekama na disku, ili su dane neke procedure koje ih generiraju, onda je zadatak izracunati numericke vrijednosti komponenata vektora x: Današnja racunala su vrlo brza, no osnovna znacajka moderne numericke matematike su problemi sve većih dimenzija.
Uvod u numericku matematiku 5 Npr. ako je sustav velicine n = 10 5 ; onda Gaussova metoda trai broj operacija velicine 10 15 ; pa brzinom rada od oko 10 9 operacija u sekundi (što je standard za jednoprocesorsko racunalo) do demo do vremena izvršavanja od 10 6 sekunda, što je više od 10 dana. Iz ovoga vidimo da problem koji je u matematickoj praksi posve jednostavan moe u stvarnoj praksi biti iznimno izazovan. Posebno treba uzeti u obzir i razne greške koje se generiraju prikazom realnih brojeva i izvo denjem racunskih operacija u racunalu.
Uvod u numericku matematiku 6 2 Kako u praksi nastaje sustav linearnih jednadbi U praksi se rješavanje raznih problema svodi na rješavanje sustava linearnih jednadbi. Pogledajmo ovaj primjer s kojim se cesto susrećemo. PRIMJER. Zadani su parovi tocaka (x i ; y i ) ; i = 0; 1; : : : ; n; gdje su y i = f (x i ) izmjerene vrijednosti funkcije f koju elimo aproksimirati polinomom p stupnja n: Pretpostavimo da su svi dani cvorovi x i razliciti. Kriterij za odabir polinoma je da u cvorovima ima iste vrijednosti kao funkcija f (tj. da vrijedi p (x i ) = f (x i ) = y i ), a upravo zato i govorimo o interpolacijskom polinomu. Ako p prikaemo u kanonskom obliku p (x) = a 0 + a 1 x + + a n x n = nx a j x j ; onda za naći polimom p treba odrediti koecijente a 0 ; a 1 ; : : : ; a n : j=0
Uvod u numericku matematiku 7 Dakle, treba riješiti sustav a 0 + a 1 x 0 + + a j x j 0 + + a nx n 0 = y 0 a 0 + a 1 x 1 + + a j x j 1 + + a nx 1 = y 1. a 0 + a 1 x i + + a j x j i + + a nx n i = y i. koji se matricno moe zapisati kao a 0 + a 1 x n + + a j x j n + + a n x n n = y n V a = y;
Uvod u numericku matematiku 8 pri cemu je V = 2 1 x 0 x 2 0 x n 1 1 x 1 x 2 1 x n 1..... 61 x i x 2 i x n i 1 4..... 1 x n x 2 n x n n 1 0 x n 0 1 x n 1. x n i. x n n 3 ; a = 7 5 2 6 4 a 0 a 1. a i. a n 3 ; y = 7 5 2 6 4 y 0 y 1. y i. y n 3 : 7 5 Matrica V zove se Vandermondeova matrica. Zahvaljujući njenom posebnom obliku moguće je odrediti a = V 1 y:
Uvod u numericku matematiku 9 3 Gaussove eliminacije i trokutaste faktorizacije Metoda Gaussovih eliminacija je svakako najstariji, najjednostavniji i najpoznatiji algoritam za rješavanje sustava linearnih jednadbi. Ideja je jednostavna: da bismo riješili npr. sustav 2x 1 x 2 = 1 x 1 + 2x 2 = 1 dovoljno je primijetiti da zbog prve jednadbe vrijedi x 1 = (1 + x 2 ) =2; pa je drugu jednadbu moguće pisati kao 1 2 (1 + x 2) + 2x 2 = 1; iz cega lako slijedi x 2 = 1 i x 1 = 1: Kaemo da smo nepoznanicu x 1 eliminirali iz druge jednadbe. Ovu ideju lako moemo proširiti i na opće n-dimenzionalne sustave, n > 1; tako da sustavno eliminiramo neke nepoznanice iz nekih jednadbi. Pokazuje se da takav algoritam ima zanimljivu strukturu i da ga se moe lako zapisati u terminima matrica. Kvalitativno novi moment nastaje kada kada se sam proces eliminacija interpretira kao faktorizacija matrice sustava A na umnoak trokutastih matrica.
Uvod u numericku matematiku 10 3.1 Matri cni zapis metode eliminacija Pogledajmo jedan primjer. Pretpostavimo da elimo riješiti sustav jednadbi 5x 1 + x 2 + 4x 3 = 19 10x 1 + 4x 2 + 7x 3 = 39 15x 1 + 5x 2 9x 3 = 32: Ocito je da ako elimo eliminirati npr. x 1 iz druge jednadbe, onda moramo prvu pomnoiti s 2 (uocimo da je 2 = 10=5 = a 21 =a 11 ) i pribrojiti drugoj. Ovo moemo matricno zapisati kao 2 4 3 2 1 0 0 2 1 05 4 0 0 1 5 1 3 4 10 4 7 5 = 15 5 9 2 4 5 1 3 4 0 2 15 ; 15 5 9 odnosno L (2;1) A = A (1) :
Uvod u numericku matematiku 11 Analogno, nepoznanicu x 1 moemo eliminirati iz treće jednadbe ako prvu pomnoimo s 3 (uocimo da je 3 = 15=5 = a 21 =a 11 ) i pribrojimo trećoj. U matricnom zapisu je to dano s 2 3 2 3 2 3 odnosno 1 0 0 40 1 05 4 3 0 1 5 1 4 0 2 1 15 5 9 5 = L (3;1) A (1) = A (2) : 5 1 4 40 2 1 0 8 3 Pri tom se mijenja i vektor s desne strane sustava 2 3 2 3 2 3 1 0 0 19 19 4 2 1 05 4 39 5 = 4 1 5 = b (1) 0 0 1 32 32 2 3 2 3 2 3 1 0 0 19 19 40 1 05 4 1 5 = 4 1 5 = b (2) : 3 0 1 32 25 5 ;
Uvod u numericku matematiku 12 Uocimo da su matrice L (2;1) i L (3;1) donjetrokutaste. Nakon provedenih transformacija polazni sustav se svodi na ekvivalentni sustav (sustav s istim rješenjem) 5x 1 + x 2 + 4x 3 = 19 2x 2 x 3 = 1 8x 2 3x 3 = 25: Analogno, elimo li eliminirati x 2 iz treće jednadbe sustava, moramo drugu pomnoiti s 4 i pribrojiti trećoj. Matricno to zapisujemo kao 2 3 2 3 2 3 1 0 0 5 1 4 5 1 4 40 1 05 40 2 15 = 40 2 15 ; 0 4 1 0 8 3 0 0 7 odnosno L (3;2) A (2) = A (3) :
Uvod u numericku matematiku 13 Napravimo li i zadnji korak mnoenja vektora desne strane sustava dobijemo 2 3 2 3 2 3 1 0 0 19 19 40 1 05 4 1 5 = 4 1 5 = b (3) ; 0 4 1 25 21 pa nam ekvivalentni sustav u matricnom zapisu glasi 2 3 2 3 2 3 5 1 4 x 1 19 40 2 15 4x 2 5 = 4 1 5 : 0 0 7 x 3 21 Odavde lako slijedi rješenje sustava x 3 = 21=7 = 3 x 2 = (1 + x 3 ) =2 = 2 x 1 = (19 x 2 4x 3 ) =5 = 1:
Uvod u numericku matematiku 14 No lako se provjerava da vrijedi pa je stoga zbog L (2;1) 1 L (3;1) 1 L (3;2) 1 = = L (3;2) L (3;1) L (2;1) A = A (3) 2 3 2 3 2 3 1 0 0 1 0 0 1 0 0 42 1 05 4 0 1 05 40 1 05 0 0 1 3 0 1 0 4 1 2 3 1 0 0 4 2 1 05 = L; 3 4 1 ispunjeno A = L (2;1) 1 L (3;1) 1 L (3;2) 1 A (3) = LA (3) :
Uvod u numericku matematiku 15 Dakle, matricu A smo prikazali kao umnoak jedne donjetrokutaste (L) i jedne gornjetrokutaste (A (3) ) matrice. U ovakvom kontekstu gornjetrokutastu matricu A (3) oznacavamo s U; pa pišemo A = LU: Upravo stoga govorimo o LU faktorizaciji. Uocimo da je racunaje inverza matrica L (i;j) jednostavno (samo promjenimo predznak netrivijalnim elementima u donjem trokutu), a cijeli umnoak se dobije stavljanjem tih elemenata na odgovarajuće pozicije u donjem trokutu matrice L: Vratimo li se na pocetni sustav imamo x = A 1 b = (LU) 1 b = U 1 L 1 b:
Uvod u numericku matematiku 16 U terminima matrica A i b sustav iz ovog primjera riješen je metodom koja se sastoji od tri glavna koraka: 1. Matricu A faktoriziramo u oblik A = LU: 2. Rješavanjem donjetrokutastog sustava Ly = b treba odrediti vektor y = L 1 b: 3. Rješavanjem gornjetrokutastog sustava Ux = y treba odrediti vektor x = U 1 y = U 1 L 1 b :
Uvod u numericku matematiku 17 3.2 Rješavanje trokutastih sustava eliminacijama unaprijed i unazad Trokutasti sustavi jednadbi su najlakši za rješavanje. Pogledajmo jedan primjer dimenzije n = 4: Neka je Lx = 2 3 l 11 0 0 0 6l 21 l 22 0 0 7 4l 31 l 32 l 33 0 5 l 41 l 42 l 43 l 44 2 6 4 x 1 x 2 x 3 x 4 3 2 7 5 = 6 4 b 1 b 2 b 3 b 4 3 7 5 = b; te pretpostavimo da je matrica L regularna. Lako se provjeri da to znaci l ii 6= 0; i = 1; 2; 3; 4: U tom slucaju je x 1 = b 1 =l 11 x 2 = (b 2 l 21 x 1 ) =l 22 x 3 = (b 3 l 31 x 1 l 32 x 2 ) =l 33 x 4 = (b 4 l 41 x 1 l 42 x 2 l 43 x 3 ) =l 44 :
Uvod u numericku matematiku 18 ALGORITAM za rješavanje linearnog sustava jednadbi Lx = b s regularnom donjetrokutastom matricom L 2 R nn : x 1 = b 1 l 11 ; for i = 2; : : : ; n 8 < : x i = 1 l ii 0 @b i i 1 19 X = l ij x j A ; : Prebrojimo li operacije u gornjem algoritmu vidimo da imamo n dijeljenja, 1+2+ +n = n (n + 1) =2 mnoenja i isto toliko zbrajanja (i oduzimanja). Dakle, ukupna sloenost je O n 2 ; što je bolje od predvi dene za n-dimenzionalni sustav linearnih jednadbi. j=1
Uvod u numericku matematiku 19 ALGORITAM za rješavanje linearnog sustava jednadbi U x = b s regularnom gornjetrokutastom matricom U 2 R nn : x n = b n u nn ; for i = n 1; : : : ; 1 8 < : x i = 1 u ii 0 @b i nx j=i+1 19 = u ij x j A ; : I u ovom slucaju je ukupna sloenost O n 2 ; što je bolje od predvi dene za n-dimenzionalni sustav linearnih jednadbi.
Uvod u numericku matematiku 20 3.3 LU (LR) faktorizacija Sada nam ostaje prouciti kako izvesti na najbolji mogući nacin faktorizaciju matrice A 2 R nn na umnoak donjetrokutaste i gornjetrokutaste matrice. Problem elimo riješiti za proizvoljan n; no radi jednostavnosti ćemo razmotriti slucaj n = 5: Neka je 2 3 a 11 a 12 a 13 a 14 a 15 a 21 a 22 a 23 a 24 a 25 A = 6a 31 a 32 a 33 a 34 a 35 7 4a 41 a 42 a 43 a 44 a 45 5 : a 51 a 52 a 53 a 54 a 55 Sjetimo se da se eliminacija prve nepoznanice iz svih jednadbi osim prve manifestira poništavanjem svih elemenata matrice A u prvom stupcu osim onog na dijagonali. To moemo napraviti u jednom potezu deniranjem matrice L (1) na nacin kao u prethodnom primjeru, dakle
Uvod u numericku matematiku 21 Nakon mnoenja s A dobijemo L (1) = 2 6 4 A (1) = L (1) A = 3 1 0 0 0 0 a 21 =a 11 1 0 0 0 a 31 =a 11 0 1 0 0 7 a 41 =a 11 0 0 1 05 : a 51 =a 11 0 0 0 1 2 3 a 11 a 12 a 13 a 14 a 15 0 a (1) 22 a (1) 23 a (1) 24 a (1) 25 0 a (1) 32 a (1) 33 a (1) 34 a (1) 35 : 6 4 0 a (1) 42 a (1) 43 a (1) 44 a (1) 7 5 45 0 a (1) 52 a (1) 53 a (1) 54 a (1) 55 Primijetimo da je transformaciju A 7! A (1) moguće izvesti samo ako je a 11 6= 0:
Uvod u numericku matematiku 22 Lako se provjeri da je L (1) 1 = 2 3 1 0 0 0 0 a 21 =a 11 1 0 0 0 6a 31 =a 11 0 1 0 0 7 4a 41 =a 11 0 0 1 05 ; a 51 =a 11 0 0 0 1 te da iz A = L (1) 1 A (1) slijedi a11 a 12 1 0 a11 a 12 = a 21 a 22 a 21 =a 11 1 0 a (1) : 22 Drugim rijecima, u prvom koraku dobili smo faktorizaciju vodeće 2 2 podmatrice od A: Uvjet za izvod ove faktorizacije bio je a 11 6= 0:
Uvod u numericku matematiku 23 Uocimo i da je a11 a det 12 a 21 a 22 Oznacimo sada 1 0 = det det a 21 =a 11 1 a11 a 2 = det 12 a 21 a 22 a11 a 12 0 a (1) 22 = a 11 a (1) 22 : = 1 a 11 a (1) 22 : Pretpostavimo li da je 2 6= 0; onda je i a (1) 22 6= 0; pa su dobro denirane matrice 2 3 2 3 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 L (2) = 0 a (1) 32 6 =a(1) 22 1 0 0 1 0 1 0 0 0 ; L (2) = 0 a (1) 40 a (1) 32 7 6 =a(1) 22 1 0 0 : 42 =a(1) 22 0 1 05 40 a (1) 7 0 a (1) 42 =a(1) 22 0 1 05 52 =a(1) 22 0 0 1 0 a (1) 52 =a(1) 22 0 0 1
Uvod u numericku matematiku 24 Vrijedi i tako der A (2) = L (2) A (1) = L (2) L (1) A = A = = 2 3 a 11 a 12 a 13 a 14 a 15 0 a (1) 22 a (1) 23 a (1) 24 a (1) 25 0 0 a (2) 33 a (2) 34 a (2) 35 ; 6 4 0 0 a (2) 43 a (2) 44 a (2) 7 5 45 0 0 a (2) 53 a (2) 54 a (2) 55 1 1 L (1) L (2) A (2) 2 3 2 3 1 0 0 0 0 a 11 a 12 a 13 a 14 a 15 a 21 =a 11 1 0 0 0 0 a (1) a 31 =a 11 a (1) 22 a (1) 23 a (1) 24 a (1) 25 32 6 =a(1) 22 1 0 0 0 0 a (2) 4a 41 =a 11 a (1) 33 a (2) 34 a (2) 35 : 7 6 42 =a(1) 22 0 1 05 4 0 0 a (2) a 51 =a 11 a (1) 43 a (2) 44 a (2) 7 5 45 52 =a(1) 22 0 0 1 0 0 a (2) 53 a (2) 54 a (2) 55
Uvod u numericku matematiku 25 Iz ovoga se vidi da vrijedi 2 3 2 3 2 3 a 11 a 12 a 13 1 0 0 a 11 a 12 a 13 4a 21 a 22 a 23 5 = 4a 21 =a 11 1 05 6 4 0 a (1) a 31 a 32 a 33 a 31 =a 11 a (1) 22 a (1) 7 23 5 ; 32 =a(1) 22 1 0 0 a (2) 33 pa ako vrijedi a 11 6= 0 i 2 6= 0 dobijamo trokutastu faktorizaciju vodeće 33 podmatrice od A: Sada stavimo 2 3 2 3 a 11 a 12 a 13 a 11 a 12 a 13 3 = det 4a 21 a 22 a 23 5 6 = 1 det 4 0 a (1) 22 a (1) 7 23 5 = a 11 a (1) a 31 a 32 a 33 0 0 a (2) 33 22 a(2) 33 : Ocito postupak sada moemo nastaviti ako je ispunjen uvjet 3 6= 0 (odnosno a (2) 33 6= 0).
Uvod u numericku matematiku 26 Nakon racunanja L (3) i L (4) dobijemo odnosno A (4) = L (4) A (3) = L (4) L (3) L (2) L (1) A = 2 3 a 11 a 12 a 13 a 14 a 15 0 a (1) 22 a (1) 23 a (1) 24 a (1) 25 0 0 a (2) 33 a (2) 34 a (2) 35 ; 6 4 0 0 0 a (3) 44 a (3) 7 5 45 0 0 0 0 a (4) 55 A = LU 2 3 2 3 1 0 0 0 0 a 11 a 12 a 13 a 14 a 15 a 21 =a 11 1 0 0 0 0 a (1) = a 31 =a 11 a (1) 22 a (1) 23 a (1) 24 a (1) 25 32 6 =a(1) 22 1 0 0 0 0 a (2) 4a 41 =a 11 a (1) 42 =a(1) 22 a (2) 33 a (2) 34 a (2) 35 : 7 6 43 =a(2) 33 1 05 4 0 0 0 a (3) a 51 =a 11 a (1) 52 =a(1) 22 a (2) 53 =a(2) 33 a (3) 44 a (3) 7 5 45 54 =a(3) 44 1 0 0 0 0 a (4) 55
Uvod u numericku matematiku 27 Pri tom je L = L (1) 1 L (2) 1 L (3) 1 L (4) 1 ; a izvedivost postupka koji je doveo do faktorizacije A = LU ovisila je o uvjetima a 11 6= 0; a (1) 22 6= 0; a(2) 33 6= 0; a(3) 44 6= 0: Tako der, uocili smo da su ti uvjeti osigurani ako su determinante glavnih podmatrica matrice A razlicite od nule. Kod nas je to znacilo uvjete 1 = a 11 6= 0; 2 6= 0; 3 6= 0; 4 6= 0: Brojeve a 11 ; a (1) 22 ; a(2) 33 ; a(3) 44 nazivamo pivotnim elementima ili pivotima, a brojeve 1; 2 ; 3 ; 4 nazivamo glavnim minorama matrice A:
Uvod u numericku matematiku 28 3.4 Zaklju cak i algoritam Ako je prvih n 1 minora matrice A razlicito od nule, onda su i svi pivotni elementi razli citi od nule i Gaussove eliminacije daju LU faktorizaciju matrice A: h i ALGORITAM U = A (n 1) (n 1) = a ij : L = I; for k := 1 to n 1 begin for j := k + 1 to n begin (k 1) (k 1) l jk = a jk =a kk ; a (k) jk = 0; end
Uvod u numericku matematiku 29 for j := k + 1 to n begin for i := k + 1 to n begin a (k) (k 1) ij = a ij l ik a end end end (k 1) kj ;
Uvod u numericku matematiku 30 Na osnovu prethodnog lako se vidi da vrijedi sljedeći teorem. TEOREM. Neka je A 2 R nn i neka su determinante glavnih podmatrica A (1 : k; 1 : k) razlicite od nule za k = 1; 2; : : : ; n 1: Tada postoji donjetrokutasta matrica L s jedinicama na dijagonali i gornjetrokutasta matrica U tako da vrijedi A = LU: Ako faktorizacija A = LU postoji i ako je matrica A regularna, onda je ova faktorizacija jedinstvena. Tada je i det A = ny u ii : i=1
Uvod u numericku matematiku 31 DOKAZ. Dokaz egzistencije preskacemo jer je iz primjera jasno da se induktivno moe dokazati za svaki n 2: Dokaimo jedinstvenost pod navedenim uvjetima. Pretpostavimo da postoje dvije takve faktorizacije A = LU = L 0 U 0 : Ako je A regularna, onda su regularne i matrice L; U; L 0 ; U 0 ; pa vrijedi L 1 L 0 = U (U 0 ) 1 : U gornjoj jednakosti imamo jednakost donjetrokutaste i gornjetrokutaste matrice što znaci da su obje dijagonalne. Kako i L i L 0 na dijagonali imaju jedinice, to isto ima i L 1 L 0 ; pa je ocigledno to jest L = L 0 : Tada je i U = U 0 L 1 L 0 = I;
Uvod u numericku matematiku 32 NAPOMENA. Primijetimo sljedeće: ako je A regularna i ako ima LU faktorizaciju, onda su nuno regularne i sve glavne podmatrice A (1 : k; 1 : k) za k = 1; 2; : : : ; n 1: To, naime, slijedi iz cinjenice det A (1 : k; 1 : k) = ky u ii ; k = 1; 2; : : : ; n: i=1
Uvod u numericku matematiku 33 3.5 LU faktorizacija s pivotiranjem U prethodnom smo vidjeli da mogućnost provo denja LU faktorizacije direktno ovisi o tome da li su determinante glavnih podmatrica razlicite od nule. Problem koji se inace javlja ilustriran je u narednom primjeru. PRIMJER. Neka je matrica A sustava Ax = b dana s 0 1 A = : 1 1 1; pa dani sustav ima rješenje, no ne i LU faktor- Ova matrica je regularna i det A = izaciju jer pretpostavka 0 1 1 1 1 0 u11 u = 12 l 21 1 0 u 22
Uvod u numericku matematiku 34 povlaći 1 u 11 = 0 1 u 12 = 1 l 21 u 11 = 1 l 21 u 12 + u 22 = 1: Ocito iz ovoga slijedi l 21 0 = 1; što je nemoguće.
Uvod u numericku matematiku 35 Lako se vidi da bi ovaj problem zamjenom prve i druge jednadbe sustava bio uklonjen, jer matrica A 0 = 1 1 0 1 = 1 0 1 1 0 1 0 1 ima jednostavnu LU faktorizaciju L = I; U = A 0 : Veza izme du A i A 0 dana je matricno s 1 1 0 1 0 1 A 0 = = = P A: 0 1 1 0 1 1 Matricu P nazivamo matricom permutacije ili jednostavno permutacijom. Njeno djelovanje na matricu A je permutiranje redaka.
Uvod u numericku matematiku 36 PRIMJER. Neka je matrica A sustava Ax = b dana s A = 2 3 1 1 4 1 62 1 1 6 7 45 1 1 05 : 1 4 1 3 Najveći element u prvom stupcu je na mjestu (3; 1) ; što znaci da prvi pivot maksimiziramo ako zamijenimo prvi i treći redak matrice A. Tu zamjenu realizira permutacija P (1) ; gdje je 2 3 2 3 0 0 1 0 5 1 1 0 P (1) = 60 1 0 0 7 41 0 0 05 ; P (1) A = 62 1 1 6 7 41 1 4 15 : 0 0 0 1 1 4 1 3
Uvod u numericku matematiku 37 Sada deniramo pa je L (1) = 2 6 4 A (1) = L (1) P (1) A = 3 1 0 0 0 2=5 1 0 0 7 1=5 0 1 05 ; 1=5 0 0 1 2 3 5 1 1 0 60 3=5 3=5 6 7 40 4=5 19=5 15 : 0 19=5 4=5 3
Uvod u numericku matematiku 38 Naredni pivot je maksimiziran permutacijom P (2) gdje je 2 3 2 3 1 0 0 0 5 1 1 0 P (2) = 60 0 0 1 7 40 0 1 05 ; P (2) A (1) = 60 19=5 4=5 3 7 40 4=5 19=5 15 : 0 1 0 0 0 3=5 3=5 6 Sljedeći korak eliminacije glasi L (2) = 2 3 1 0 0 0 60 1 0 0 7 40 4=19 1 05 ; A(2) = L (2) P (2) A (1) = 0 3=19 0 1 2 5 1 1 0 60 19=5 4=5 3 40 0 69=19 7=19 0 0 9=19 105=19 3 7 5
Uvod u numericku matematiku 39 Nastavimo li dalje s permutiranjem redaka dobijemo da je P (3) = I; pa je 2 3 2 3 1 0 0 0 5 1 1 0 L (3) = 60 1 0 0 7 40 0 1 05 ; A(3) = L (3) IA (2) = 60 19=5 4=5 3 7 40 0 69=19 7=19 5 : 0 0 9=69 1 0 0 0 7182=1311 Sada primijetimo da je A (3) = L (3) IL (2) P (2) L (1) P (1) A; gdje je P (2) L (1) = 2 6 4 3 2 1 0 0 0 1=5 0 0 1 7 1=5 0 1 05 = 6 4 2=5 1 0 0 3 1 0 0 0 1=5 1 0 0 7 1=5 0 1 05 P (2) = L e(1) P (2) : 2=5 0 0 1
Uvod u numericku matematiku 40 Dakle, Ako stavimo P = P (2) P (1) ; onda vrijedi P A = = = U = A (3) = L (3) L (2) e L (1) P (2) P (1) A: 2 3 2 3 2 3 0 0 1 0 1 1 4 1 5 1 1 0 60 0 0 1 7 62 1 1 6 7 41 0 0 05 45 1 1 05 = 61 4 1 3 7 41 1 4 15 0 1 0 0 1 4 1 3 2 1 1 6 el (1) 1 1 1 L (2) L (3) U 2 3 2 3 2 3 1 0 0 0 1 0 0 0 1 0 0 0 61=5 1 0 0 7 60 1 0 0 7 60 1 0 0 7 41=5 0 1 05 40 4=19 1 05 40 0 1 05 U: 1=5 0 0 1 0 3=19 0 1 0 0 9=69 1
Uvod u numericku matematiku 41 Dakle imamo, P A = 2 3 2 3 1 0 0 0 5 1 1 0 61=5 1 0 0 7 60 19=5 4=5 3 7 41=5 4=19 1 05 40 0 69=19 7=19 5 : 1=5 3=19 9=69 1 0 0 0 7182=1311 Moemo zakljuciti sljedeće: Za proizvoljnu n n matricu A postoji permutacija P takva da Gaussove eliminacije daju LU faktorizaciju matrice P A: Pri tome je L donjetrokutasta matrica s jedinicama na dijagonali, a U je gornjetrokutasta matrica. Permutaciju P moemo odabrati tako da su svi elementi matrice L po apsolutnoj vrijednosti najviše jednaki jedinici.
Uvod u numericku matematiku 42 TEOREM. Neka je A 2 R nn proizvoljna matrica. Tada postoj permutacija P takva da Gaussove eliminacije daju LU faktorizaciju P A = LU matrice P A: Matrica L = [l ij ] je donjetrokutasta s jedinicama na dijagonali, a U = [u ij ] je gornjetrokutasta matrica. Pri tome, ako je P umnoak od p inverzija, vrijedi ny det A = ( 1) p u ii : Ako su matrice P (k) odabrane tako da vrijedi P (k) A (k 1) = max 1jn P (k) A (k 1) onda je max max 1kn 1i;jn kk L (k) ij i=1 jk = max jl ijj = 1: 1i;jn U tom slucaju faktorizaciju P A = LU nazivamo LU faktorizacijom s pivotiranjem redaka.
Uvod u numericku matematiku 43 4 Numeri cka svojstva Gaussovih eliminacija Do sada nismo razmatrali prakticne detalje realizacije izvedenih algoritama u racunalu uz što su vezani mnogi problemi, kao npr.: racunalo je ogranicen stroj s konacnim memorijskim prostorom, ne raspolaemo s cijelim skupom R već s konacno mnogo brojeva, realne brojeve u stvarnosti aproksimiramo racionalnim brojevima. U razmatranju doga danja u racunalu prakticno je razdvojiti LU faktorizaciju od rješavanja trokutastog sustava, pa ćemo tako i napraviti.
Uvod u numericku matematiku 44 4.1 Vanost pivotiranja Prije nego što nastavimo naglasimo da je za spremanje elemenata matrice A u memoriji racunala potrebno izdvojiti n 2 memorijskih lokacija. No zbog posebnog oblika matrica L i U za njih obje zajedno je tako der potrebno n 2 memorijskih lokacija, dakle onoliko koliko i za samu matricu A: Ako paljivo promatramo proces racunanja LU faktorizacije uocavamo da ga moemo izvesti tako da matrica U ostane zapisana u gornjem trokutu matrice A; a strogo donji trokut matrice L u strogo donjem trokutu matrice A (jedinice na dijagonali nije potrebno pamtiti!). Sve matrice A (k) ; K = 1; : : : ; n 1 pohranjujemo na istom n n polju koje u pocetku sadri matricu A (0) = A: Zapis algoritma za faktorizaciju time postaje još jednostavniji.
Uvod u numericku matematiku 45 ALGORITAM for k = 1 to n 1 begin for j = k + 1 to n begin a jk = a jk =a kk ; end for j = k + 1 to n begin for i = k + 1 to n begin a ij = a ij a ik a kj ; end end end
Uvod u numericku matematiku 46 PRIMJER. Neka je mali parametar i neka je matrica A denirana s 1 A = : 1 1 U egzaktnom racunanju imamo 1 A = = 1 1 1 0 1 1= 1 0 1 1= = LU: Pretpostavimo da ovaj racun provodimo na racunalu u aritmetici s 8 decimalnih znamenki, tj. da je strojna preciznost " 10 8 : Neka je jj < "; recimo = 10 10 : Vrijedi e l21 = = 1 = l 21 (1 + 1 ) ; j 1 j " eu 11 = u 11 eu 12 = u 12 eu 22 = 1 1 zaok: = 1 : Cini se da su sve nastale greške male, no pokušamo li egzaktno riješiti problem vidjet ćemo da nije sve kako treba.
Uvod u numericku matematiku 47 Imamo el e U = = 1 0 1 1 = 1 1 0 1 1 0 1 0 0 + = A + A: 1 1 0 1 Primijetimo da A ne moemo smatrati malom perturbacijom matrice A! Naime, jedan od najvećih elemenata matrice A; a 22 = 1; je promijenjen u nulu. Ako bismo koristeći ovakvu faktorizaciju nastavili traiti rješenje dobili bismo dok je egzaktno rješenje ex1 = ex 2 x1 x 2 = 2 1 2 1 1 2 1 1 ; 1 : 1
Uvod u numericku matematiku 48 Vidimo da do potpuno krivog rješenja nije došlo zbog akumuliranja velikog broja grešaka zaokruivanja. Problem je u samo jednoj aritmetickoj operaciji (racunaje eu 22 ) koja je u stvari izvršena jako tocno i s vrlo malom greškom zaokruivanja. Odgovor lei u cinjenici da je pivot vrlo malen! Pogledajmo što bi se dogodilo da smo proveli pivotiranje. el = A 0 = P A = A 0 = 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 = 1 1 1 = LU = L; U e 1 1 = ; jj > ": 0 1
Uvod u numericku matematiku 49 Dakle, imamo el e U = 1 1 1 + = 1 1 1 + 0 0 0 = A 0 + A 0 ; ja 0 j " ja 0 j i umnoak L e U e = 1 1 jj 1 + je po elementima istog reda velicine kao i ja 0 j (jmj poznacava matricu kojoj su elementi aposlutne vrijednosti elemenata matrice M). Dakle, pivotiranje redaka, koje osigurava da u matrici L svi elementi po apsolutnoj vrijednosti budu najviše jednaki jedinici, pridonosi numerickoj stabilnosti. Naime, tada su i svi elementi matrice L e manji ili jednaki jedan, pa velicina elemenata umnoška L e U e bitno ovisi o elementima matrice U e ; a ovi su, pak, dobiveni iz matrica A e(k) :
Uvod u numericku matematiku 50 TEOREM. Neka je LU faktorizacija n n matrice A izracunata s pivotiranjem redaka u aritmetici s preciznošću " i neka su matrice e L i e U dobivene aproksimacije matrica L i U: Ako je pri tome korištena permutacija P; onda je el e U = P (A + A) ; jaj 2n" 1 2n" P T e L e U : PROPOZICIJA. Ako LU faktorizaciju racunamo s pivotiranjem redaka u aritmetici s maksimalnom greškom zaokruivanja "; onda je gdje je A (k) = h a (k) ij i, a A e h (k) = = max i;j;k ea (k) ij max i;j;k a (k) ea (k) ij i ij 2 n 1 (1 + ") 2(n 1) ; strojno izracunata A (k) :
Uvod u numericku matematiku 51 4.2 Analiza numeri ckog rješenja trokutastog sustava PROPOZICIJA. Neka je T donjetrokutasta (gornjetrokutasta) matrica reda n i neka je sustav T v = d riješen supstitucijama unaprijed (unazad). Ako je ev rješenje dobiveno primjenom aritmetike racunala s preciznošću "; onda postoji donjetrokutasta (gornjetrokutasta) matrica T takva da vrijedi (T + T ) ev = d; gdje je jt j jt j ; 0 n" 1 n" : Zakljucak ove propozicije je vrlo vaan: izracunato rješenje zadovoljava trokutasti sustav s matricom koecijenata koja se po elementima malo razlikuje od zadane. Npr. radimo li s preciznošću " = 10 8 i ako je n = 1000; onda izracunato rješenje ev zadovoljava jednadbu e T ev = d; gdje se elementi matrice e T i T poklapaju na barem 5 decimala (od osam mogućih).
Uvod u numericku matematiku 52 4.3 To cnost izra cunatog rješenja sustava Sada ćemo ocijeniti koliko tocno moemo na racunalu riješiti linearni sustav Ax = b u kojem smo izracunali LU faktorizaciju P A = LU i supstitucijama naprijed i nazad izracunali rješenje x = U 1 L 1 (P b) : Kao što smo vidjeli u prethodnom, numericku analizu moemo provesti bez pivotiranja jer moemo pretpostaviti da smo permutaciju odmah primijenili na polazne podatke. Dakle, radi jednostavnosti formula pretpostavimo da su na matrice A i b već primijenjene zamjene redaka, tako da su formule jednostavno i A = LU x = U 1 L 1 b :
Uvod u numericku matematiku 53 Neka su e L i e U strojno izracunate matrice, pri cemu je el e U = A + A: Prema prethodnoj propoziciji za izracunato rješenje ey sustava Ly e = b vrijedi el + L e ey = b; L e n" L 1 n" e ; a na isti nacin za rješenje sustava Ux e = ey vrijedi eu + U e ex = ey; U e n" 1 n" U e : Dakle, to jest el + e L eu + e U ex = b; (A + A + E) ex = b; E = e L e U + e L e U + e L e U:
Uvod u numericku matematiku 54 Time smo dokazali sljedeći teorem. TEOREM. Neka je ex rješenje regularnog n n sustava Ax = b dobiveno Gaussovim eliminacijama s pivotiranjem redaka u aritmetici s preciznošću " takvom da je 2n" < 1: Tada postoji perturbacija A matrice A za koju vrijedi pri cemu je (A + A) ex = b; jaj 5n" 1 2n" P T e L e U :
Uvod u numericku matematiku 55 DOKAZ. Znamo da vrijedi A = A + P T E = A + P T e L e U + P T e L e U + P T e L e U; pa je jaj jaj + P T L e U e + P T L e U e + P T L e U e ; gdje je Dakle, imamo jaj jaj 2n" 1 2n" P T L e U e ; L e n" L 1 n" e ; U e n" U 1 n" e : " 2n" 1 2n" + 2n" 1 n" + # 2 n" P T L e e U : 1 n"
Uvod u numericku matematiku 56 Kako je 0 2n" 1 n" 2n" 1 2n" ; a zbog 0 < 2n" < 1 (iz cega je posebno 0 < n" < 1) je tako der 2 n" (n") 2 0 = 1 n" 1 2n" + n 2 " (n")2 2 1 2n" n" 1 2n" : Odmah slijedi 2n" jaj 1 2n" + 2n" 1 2n" + n" P T L e e U 1 2n" = 5n" 1 2n" P T L e U e
Uvod u numericku matematiku 57 5 Faktorizacija Choleskog Kaemo da je simetricna n n matrica pozitivno denitna ako za sve x 2 R n razlicite od 0 vrijedi x T Ax > 0: Uzmemo li npr. da je x = e i (i-ti stupac jedinicne matrice reda n), onda je e T i Ae i = a ii > 0; što znaci da su dijagonalni elementi pozitivno denitne matrice nuno pozitivni. Nadalje, ako je S bilo koja regularna matrica i x 6= 0; onda je i y = Sx 6= 0 i vrijedi x T S T AS x = (Sx) T A (Sx) = y T Ay > 0; iz cega slijedi da je i S T AS pozitivno denitna matrica. No zašto je nama vaan pojam pozitivne denitnosti matrice? Pokazuje se da pozitivna denitnost matrice sustava osigurava egzistenciju LU faktorizacije bez pivotiranja. Pogledajmo kako.
Uvod u numericku matematiku 58 Ako pozitivno denitnu matricu A razdijelimo u blokmatrice tako da je a11 a T A = a ^A ; ^A 2 R (n 1)(n 1) ; a 2 R n 1 ; onda je a 11 > 0 i prvi korak eliminacija je 1 0 T a11 a T 1 a 11 a I n 1 a ^A = a11 a T 0 ^A 1 a 11 aa T Sada primijetimo da vrijedi i 1 0 T a11 a T 1 1 1 a 11 a I n 1 a ^A a 11 a T 0 I n 1 1 0 T a11 a T 1 0 T = = 1 a 11 a I n 1 a 0 T 0 ^A 1 a 11 aa T : a11 ^A 1 a 11 a I n 1 T :
Uvod u numericku matematiku 59 Vidimo da je novodobivena matrica oblika S T AS, pa je sigurno pozitivno denitna. Iz ovog se lako dobije i da je matrica ^A 1 a 11 aa T pozitivno denitna, dakle je i njen prvi element na glavnoj dijagonali pozitivan, što znaci da se potupak eliminacija moe nastaviti na isti nacin. Time je dokazana egzistencija faktorizacije matrice A u oblik R T R; gdje je matrica R gornjetrokutasta. Ovakvu faktorizaciju A = R T R nazivamo faktorizacijom Choleskog ili trokutastom faktorizacijom pozitivno denitne matrice. Elemente matrice R moemo izracunati jednostavnim nizom formula. Raspisivanjem faktorizacije po komponentama 2 3 2 3 r 11 0 0 r 11 r 12 r 1n r 12 r 22 0 0 0 r 22 0 r 2n A = R T R = 6......... 7 6....... 7 4........ 0 5 4..... r n 1;n 1 r n 1;n 5 r 1n r 2n r n 1;n r nn 0 0 0 r nn lako dobijemo a ij = ix r ki r kj ; i j: k=1
Uvod u numericku matematiku 60 Iz prethodnog direktno slijedi algoritam za racunanje faktorizacije Choleskog pozitivno denitne matrice A 2 R nn : ALGORITAM r 11 = p a 11 ; r 21 = a 12 =r 11 ; for i = 2 to n beginq P r ii = a i 1 ii k=1 r2 ki ; for j = i + 1 to n begin P r ij = a i 1 ij k=1 r kir kj =r ii end end
Uvod u numericku matematiku 61 Promotrimo li kvadratni sustav linearnih jednadbi u kojem je matrica sustava Ax = b pozitivno denitna i A = R T R njena trokutasta faktorizacija, onda rješenje sustava x = A 1 b = R T R 1 b = R 1 R T 1 b moemo dobiti y tako da prvo na demo rješenje y sustava R T y = b, a zatim još riješimo sustav Rx = y. Kako je R gornjetrokutasta matrica, cijeli postupak je vrlo jednostavan (pogledati u prethodnom kako se rješavaju trokutasti sustavi!). Naš sljedeći cilj je ispitati numericka svojstva takvog postupka ako se njegove operacije izvode na racunalu u aritmetici s preciznošću ": Podsjetimo se da treba izvesti sljedeće postupke: trokutastu faktorizaciju A = R T R; supstitucije unaprijed za rješavanje sustava R T y = b; supstitucije unazad za rješavanje sustava Rx = y.
Uvod u numericku matematiku 62 Ako je ex izracunata aproksimacija tocnog rješenja sustava Ax = b, što moemo reći o ex? Znamo da provodeći racun u racunalu u aritmetici s preciznošću " dobivamo priblini rastav perturbirane matrice A; tj. znamo da vrijedi er T e R = A + A: Dalje rješavamo dva trokutasta sustava e R T y = b i e Rx = y za koja ponovno dobivamo tek priblina rješenja ex i ey: Prema jednoj od prethodnih propozicija postoje gornjetrokutaste matrice 1 e R i 2 e R takve da vrijedi er + 1 e R T ey = b; er + 2 e R ex = ey; pri cemu je 1 e R R e ; 2 e R R e ; gdje je n" 1 n" :
Uvod u numericku matematiku 63 Iz ovoga dobijemo sljedeće er + 1 e R T ey = er + 1 e R T er + 2 e R ex = b; to jest e R T e R + e R T 2 e R + 1 e R T er + 1 e R T 2 e R ex = b: Oznacimo li E = e R T 2 e R + 1 e R T er + 1 e R T 2 e R; imamo pri cemu je er T e R + E ex = b; jej 2 + 2 e R T e R :
Uvod u numericku matematiku 64 Dakle, moemo zakljuciti da dobiveno rješenje ex zadovoljava sustav er T e R + E ex = b; u kojem je E po elementima mala perturbacija pribline matrice sustava e A = e R T e R: Pri tom vrijedi sljedeća veza izme du izracunatog rješenja i polaznog sustava: (A + F ) ex = b; F = A + E: Matrice pogreške A i E ocijenjene su po elementima dovoljno malim ogradama, pa je dobivena matrica A + F "blizu" matrice A (da smo npr. nakon faktorizacije sustave rješavali egzaktno, imali bismo F = A). No ovi zakljucci nisu zadovoljavajući! Naime, tijekom ovog postupka izgubili smo simetricnost matrice sustava A jer matrica E; a time ni matrica F; općenito ne mora biti simetricna. Simetrija matrice A je najcešće posljedica strukture problema kojeg opisujemo linearnim sustavom Rx = b, pa nam je vano da je izracunato rješenje ex rješenje bliskog problema s istom strukturom.
Uvod u numericku matematiku 65 To nas vodi do sljedećeg problema: ako je (A + F ) ex = b, postoji li simetricna perturbacija A za koju postoje dovoljno dobre ocjene, a takva da je (A + A) ex = b? Naredni teorem daje potvrdan odgovor na to pitanje. TEOREM. Neka je (A + F ) ex = b, gdje je A pozitivno denitna matrica, te neka vrijedi max i;j jf ij j p aii a jj : Tada postoji simetricna perturbacija A takva da je (A + A) ex = b. Pri tome je max i6=j ja ij j p aii a jj ; max i ja ij j a ii (2n 1) : ZAKLJU CAK. Pozitivno denitne sustave moemo na racunalu riješiti s pogreškom koja je ekvivalentna malim promjenama koecijenata u matrici sustava, a da se pri tom ocuva struktura polaznog problema (simetrija).
Uvod u numericku matematiku 66 DOKAZ. (Skica) Primijetimo da perturbacija A mora zadovoljavati jednadbu Aex = F ex koja daje n uvjeta za n (n + 1) =2 stupnjeva slobode u A (zbog uvjeta simetricnosti). Stavimo i promotrimo skalirani sustav koji ćemo zapisati u obliku D = diag ( p a ii ) n i=1 D 1 (A + F ) D 1 Dex = D 1 b (A s + F s ) z = D 1 b; A s = D 1 AD 1 ; F s = D 1 F D 1 ; z = Dex: Neka je permutacija P takva da vektor ez = P T z zadovoljava jez 1 j jez 2 j jez n j (tj. permutacija P je takva da komponente vektora posloi u rastućem poretku). Uocimo i da vrijedi P P T = I: Gornji sustav zapišemo u ekvivalentnom obliku P T (A s + F s ) P P T z = P T (A s + F s ) P ez = P T D 1 b:
Uvod u numericku matematiku 67 Ponovno uvedemo kraće oznake pa sustav moemo zapisati u obliku A s;p = P T A s P; F s;p = P T F P; (A s;p + F s;p ) ez = P T D 1 b: Konstruirat ćemo simetricnu matricu M za koju vrijedi Deniramo m ij = M ez = F s;p ez: (Fs;p ) ij ; i < j (F s;p ) ji ; j < i ; dok dijagonalne elemente m ii ; i = 1; : : : ; n; odredimo tako da vrijedi m ii ez i + X i6=j m ij ez j = (F s;p ) ii ez i + X i6=j (F s;p ) ij ez j :
Uvod u numericku matematiku 68 Za ovako deniranu simetricnu matricu M pokazuje se da vrijedi ili ekvivalentno Pri tome je i max i (A s;p + M) ez = P T D 1 b; A s;p + P MP T z = D 1 b: max i6=j P MP T ij ; P MP T ii (2n 1) : Skaliranjem sustava (unatrag) dobijemo da za simetricnu perturbaciju A = D P MP T D vrijedi (A + A) ex = b
Uvod u numericku matematiku 69 6 Iterativne metode U prethodnom smo vidjeli da se rješenje linearnog sustava Ax = b općenito ne moe izracunati potpuno tocno: najcešće dobivamo rješenje ex koje zadovoljava sustav (A + A) ex = b blizak polaznom sustavu. Dakle, Gaussove eliminacije ne garantiraju idealnu tocnost. Osim toga, u praksi moramo biti svjesni da je racunalo ograniceno ne samo po pitanju numericke tocnosti, već i raspoloivim vremenom i memorijom. U primijenjenoj matematici najcešće se javljaju sustavi velikih dimenzija n > 10 5 kod kojih je proces Gaussovih eliminacija iz više razloga prakticki neprovediv. Npr. spremanje matrice sustava s n = 10 5 nepoznanica zahtijeva 10 10 memorijskih lokacija, pa već i to moe predstavljati poteškoću. No vano je istaknuti da su matrice takvih sustava cesto rijetko popunjene (tj. velika većina elemenata im je jednaka nuli, a elementi koji nisu nula su obicno pravilno raspore deni).
Uvod u numericku matematiku 70 Rijetko popunjena matrica po blokovima moe izgledati npr. ovako (praznine su blokovi nula): 2 6 4 3 : 7 5 Kada je matrica velika i gusto popunjena ono što preostaje jest ucitavanje djelova matrice iz vanjske u radnu memoriju.
Uvod u numericku matematiku 71 No ponekad je poznat nacin na koji se generiraju elementi matrice A; pa nas zanima kako postupiti u takvom slucaju pod uvjetom da ne traimo egzaktno rješenje x, već dovoljno dobru aproksimaciju ex. Stoga ima smisla konstruirati niz x (0) ; x (1) ; : : : ; x (k) ; : : : vektora iz R n sa sljedećim svojstvima: za svaki k 2 N 0 formula za racunanje x (k) je jednostavna; x (k) tei prema x = A 1 b za neki k (obicno je takav k << n). Kako tocno konstruirati takav niz ovisit će o konkretnom problemu kojeg rješavamo.
Uvod u numericku matematiku 72 6.1 Jacobijeva metoda Jacobijeva metoda je jedna od najjednostavnijih klasicnih iterativnih metoda za rješavanje linearnih sustava. Ideju same metode ilustrirat ćemo na jednostavnom primjeru 2 2 sustava. Neka je dan sustav a 11 x 1 + a 12 x 2 = b 1 a 21 x 1 + a 22 x 2 = b 2 ; pri cemu je a 11 6= 0 i a 22 6= 0: Uocimo da rješenje x zadovoljava uvjete x 1 = 1 (b 1 a 11 a 12 x 2 ) x 2 = 1 (b 2 a 22 a 21 x 1 ) : Te nas relacije motiviraju da neku priblinu vrijednost rješenja x (0) = h i T x (0) 1 x (0) 2 korigiramo pomoću formula
Uvod u numericku matematiku 73 x (1) 1 = 1 a 11 b 1 a 12 x (0) x (1) 2 = 1 b 2 a 21 x (0) 1 a 22 Naravno, nadamo se da je x (1) bolja aproksimacija egzaktnog rješenja x nego x (0) : Postupak moemo nastaviti tako da pomoću x (1) izracunamo na isti nacin x (2) itd. Pitanje je pod kojim uvjetima tako dobivene iteracije tee prema rješenju x? 2 : Uocimo da vrijedi " # x (k+1) 1 x (k+1) 2 = 1=a11 0 b1 0 1=a 22 b 2 + 0 a12 a 21 0 " x (k) 1 x (k) 2 #! :
Uvod u numericku matematiku 74 Dakle, ako stavimo A = D N; D = a11 0 ; N = 0 a 22 0 a12 ; a 21 0 moemo jednostavno pisati x (k+1) = D 1 b + Nx (k) = D 1 Nx (k) + D 1 b: Upravo ovom relacijom denirana je Jacobijeva iterativna metoda.
Uvod u numericku matematiku 75 PRIMJER. Neka je Lako se provjeri da je A = 2 0:1 ; b = 0:1 2 x = A 1 b = 10 : 1 19:9 : 3 Za pocetnu iteraciju uzmimo vektor 1=2 0 19:9 9:49999999999999 x (0) = D 1 b = = : 0 1=2 3 1:5 Naš izbor je rezultat jednostavne ideje da matricu A aproksimiramo matricom D jer su joj elementi na dijagonali veći od izvandijagonalnih. Ovo je gruba aproksimacija, no ima smisla.
Uvod u numericku matematiku 76 Iteriranjem dobijemo dok je relativna greška x (5) = 1:000000015625000e + 001 ; 1:000000015625000e + 000 e k = x x (k) 1 = kxk 1 jednaka e 5 = 1:562499996055067e 007: Lako se vidi da je e (k+1) = x (k+1) x = D 1 N x (k) x = D 1 Ne (k) ; k 2 N 0 : Naravno, isto sey moe napraviti i za veće sustave pod analognim uvjetima na koecijente matrice A a ii 6= 0 : n i=1
Uvod u numericku matematiku 77 Iz relacije e (k+1) = D 1 Ne (k) ; k 2 N 0 ; lako se dobije e (k) = D 1 N k e (0) ; k 2 N; gdje je e (0) = x (0) dobivamo x. Uzimanjem proizvoljne vektorske i odgovarajuće matricne norme e (k) D 1 N k e (0) D 1 N k e (0) : Iz ove relacije zakljucujemo da će e (k) teiti k nuli kada k! 1 za svaki pocetni x (0) ako D 1 N k tei k nuli kada k! 1. Npr., ako je D 1 N < 1; onda D 1 N k tei k nuli kada k! 1. No ako D 1 N k ne tei k nuli kada k! 1 ne moemo izvesti zakljucak o konvergenciji. Iz ovih argumenata lako slijede dvije naredne propozicije.
Uvod u numericku matematiku 78 PROPOZICIJA. Ako je u rastavu A = D N u nekoj matricnoj normi ispunjeno D 1 N < 1; onda za svaku pocetnu iteraciju x (0) niz x (k+1) = D 1 b + Nx (k) ; k 2 N 0 ; konvergira rješenju x sustava Ax = b. PROPOZICIJA. Ako je matrica A dijagonalno dominantna u smislu da je nx ja ii j > ja ij j ; i = 1; : : : ; n; j=1; j6=i onda za svaku pocetnu iteraciju x (0) niz x (k+1) = D 1 b + Nx (k) ; k 2 N 0 ; konvergira rješenju x sustava Ax = b.
Uvod u numericku matematiku 79 6.2 Gauss-Seidelova metoda Vidjeli smo da se u primjeru danom za Jacobijevu metodu x (1) 1 i x (1) 2 racunaju neovisno pomoću x (0) 1 i x (0) 2 : No imalo bi smisla u formuli za x(1) 2 koristiti upravo izracunatu vrijednost x (1) 1 jer je ona vjerojatno bolja od x (0) 1 : Općenito, Jacobijevu formulu za iteraciju modiciramo tako da prilikom racunanja svake komponente vektora x (k+1) koristimo najsvjeije izracunate vrijednosti. Npr. u slucaju n = 4 imali bismo x (k+1) 1 = 1 a 11 b 1 x (k+1) 2 = 1 a 22 b 2 x (k+1) 3 = 1 a 33 x (k+1) 4 = 1 44 b 3 b 4 a 12 x (k) 2 a 13 x (k) 3 a 14 x (k) 4 a 21 x (k+1) 1 a 23 x (k) 3 a 24 x (k) 4 a 31 x (k+1) 1 a 32 x (k+1) 2 a 34 x (k) 4 a 41 x (k+1) 1 a 42 x (k+1) 2 a 43 x (k+1) 3 :
Uvod u numericku matematiku 80 U općenitom slucaju imali bismo 0 x (k+1) i = 1 a ii X @b i i 1 j=1 a ij x (k+1) j nx j=i+1 a ij x (k) A : j 1 No vratimo se primjeru n = 4: Stavimo li 2 3 a 11 0 0 0 L = 6a 21 a 22 0 0 7 4a 31 a 32 a 33 0 5 ; U = a 41 a 42 a 43 a 44 vrijedi A = L zapisati kao 2 3 0 a 12 a 13 a 14 60 0 a 23 a 24 7 40 0 0 a 34 5 0 0 0 0 U; pa uz uvjet regularnosti matrice L Gauss-Seidelovu metodu moemo a kao i u analizi Jacobijeve metode imamo x (k+1) = L 1 b + Ux (k) ; k 2 N 0 ; e (k) = L 1 U k e (0) ; k 2 N:
Uvod u numericku matematiku 81 PROPOZICIJA. Ako je matrica A pozitivno denitna, onda za svaku pocetnu iteraciju x (0) niz x (k+1) = L 1 b + Ux (k) ; k 2 N 0 ; konvergira rješenju x sustava Ax = b. Uocimo da su Jacobijeva i Gauss-Seidelova metoda vrlo slicne: matrica sustava A se zapiše u obliku A = M S; gdje je M regularna matrica, a iteracije su dane formulom x (k+1) = M 1 b + Sx (k) ; k 2 N 0 : Pri tom je matrica M odabrana tako da ju je lako invertirati (u slucaju M = D je dijagonalna, a u slucaju M = L je donjetrokutasta). Konvergencija prema rješenju je za proizvoljan odabir pocetne iteracije x (0) osigurana ako je M 1 S < 1 za neku matricnu normu kk : Vidjeli smo da će u slucaju Jacobijeve metode to sigurno biti ispunjeno ako je A dijagonalno dominantna, a u slucaju Gauss-Seidelove metode ako je A pozitivno denitna.