Вы находитесь на странице: 1из 28

Poglavlje 3

Rješavanje sistema linearnih


jednačina

Problem rješavanja sistema jednačina je jedan od najčešćih problema sa ko-


jima se susreću inženjeri i naučnici. Pri tome jednačine mogu biti algebarske,
transcedentalne, obične ili parcijalne diferencijalne jednačine. Također, one
mogu biti i linearne ili nelinearne. Ipak, ovdje će se obraditi samo (numeričko)
rješavanje sistema linearnih jednačina.
Sistem od n linearnih jednačina sa n nepoznatih se može napisati u obliku∗ :
a11 x1 + a12 x2 + . . . + a1n xn = b1
a21 x1 + a22 x2 + . . . + a2n xn = b2
(3.1)
.....................
an1 x1 + an2 x2 + . . . + ann xn = bn
gdje xi (i = 1, 2, . . . , n) predstavljaju nepoznate promjenljive, aij (i, j =
1, 2, . . . , n) konstantne koeficijente, a bi (i = 1, 2, . . . , n) nehomogene članove.
Sistem jednačina (3.1) se može napisati i u matričnoj formi:
Ax = b (3.2)
gdje je A matrica koeficijenata (matrica sistema), a x i b su vektori kolone,
odnosno:
     
a11 a12 . . . a1n x1 b1
 a21 a2 2 . . . a2n   x2   b2 
A=  ... .. . . .. 
 ,x = 
 .. 
 ,b = 
 ..  (3.3)
. . . . . 
an1 an2 . . . ann xn bn
∗ Broj jednačina može biti i drugačiji od n, ali je u većini inženjerskih problema jednak broju nepoznanica.
Rješavanje sistema linearnih jednačina

Riješiti sistem (3.1), odnosno (3.2) znači naći vrijednosti xi (i = 1, . . . , n) koje


istovremeno zadovoljavaju sve jednačine sistema. Pri tome, mogu se desiti 4
slučaja:
• Jedinstveno rješenje - sistem je određen.
• Nema rješenja - sistem je protivrječan.
• Beskonačan broj rješenja - sistem ima nedovoljan broj jednačina, tj. neo-
dređen je.
• Trivijalno rješenje - sistem je homogen i xi = 0 (i = 1, . . . , n)
U rješavanju sistema linearnih algebarskih jednačina postoje dva fundamen-
talno različita pristupa:
• Direktne metode
• Iterativne metode
Direktne metode predstavljaju sistematske procedure koje se zasnivaju na
principu eliminacije. Za razliku od njih, iterativne metode asimptotski dovode
do rješenja pomoću neke iterativne procedure u kojoj se pretpostavi neko rješe-
nje, ono se uvrsti u sistem jednačina kako bi se dobilo odstupanje, ili greška, a
zatim se na osnovu tog odstupanja, odnosno greške, dobije poboljšano rješenje.

3.1 Direktne metode


3.1.1 Cramerovo pravilo
Posmatrajmo sistem linearnih algebarskih jednačina, Ax=b, sa n jednačina.
Cramerovo pravilo kaže da je rješenje takvog sistema dato sa
det(Aj )
xj = (j = 1, 2, . . . , n) (3.4)
det(A)
gdje je (Aj ) matrica n × n koja se dobija zamjenom kolone j matrice A sa
kolonom vektora b. Na primjer, za sistem sa dvije algebarske jednačine:
a11 x1 + a12 x2 = b1
(3.5)
a21 x1 + a22 x2 = b2
rješenje je:
¯ ¯ ¯ ¯
¯ b1 a12 ¯¯ ¯ a11 b1 ¯¯
¯ ¯
¯ b2 a22 ¯ ¯ a21 b2 ¯
x1 = ¯¯ ¯ i x2 = ¯¯ ¯ (3.6)
¯ a11 a12 ¯¯ ¯ a11 a12 ¯¯
¯ a21 a22 ¯ ¯ a21 a22 ¯

38
3.1. Direktne metode

U ovom slučaju determinante se vrlo lako izračunaju pomoću pravila dija-


gonala. Međutim, za sisteme sa više jednačina to pravilo ne važi i neophodno
je koristiti metodu kofaktora. Broj množenja i dijeljenja pri korištenju metode
kofaktora jednak je (n − 1)(n + 1)!, pri čemu je n dimenzija kvadratne matrice.
Lako je izračunati da je za slučaj 10 jednačina, koji predstavlja mali sistem jed-
načina, broj operacija jednak 360,000,000, a za samo 100 jednačina ovaj broj
je reda 10157 . Očigledno je da Cramerovo pravilo nije efikasno u rješavanju
velikih sistema jednačina, tako da je neophodno koristiti neke druge metode.

3.1.2 Metode eliminacije


Metode eliminacije rješavaju sistem linearnih algebarskih jednačina rješavajući
jednu jednačinu, na primjer prvu, za jednu nepoznanicu, na primjer x1 , u
odnosu na ostale nepoznanice, x2 , ..., xn , a zatim se vrši zamjena izraza za x1
u ostalih n − 1 jednačina. Procedura se nastavlja n − 1 puta, tj. dok se ne
dođe do jednačine koja sadrži samo nepoznanicu xn . Čitav proces se naziva
eliminacija.
Vrijednost nepoznanice xn se može dobiti iz posljednje jednačine procesa
eliminacije. Nakon toga se može dobiti vrijednost nepoznanice xn−1 iz modifi-
kovane (n − 1)-ve jednačine, koja sadrži samo nepoznanice xn i xn−1 . Zatim se
rješava (n − 2)-ga jednačina, koja sadrži nepoznanice xn , xn−1 i xn−2 , za xn−2 ,
i tako redom do prve jednačine. Ovaj proces se naziva zamjena unazad.
Metode eliminacije, u principu, koriste osnovne operacije sa redovima neke
matrice:
• bilo koji red (jednačina) se može pomnožiti konstantom. Ova operacija
se najčešće koristi za skaliranje jednačina, ako je to neophodno.
• redovi (jednačine) mogu zamijeniti mjesta. Operacija se koristi kako bi
se izbjeglo dijeljenje sa nulom i smanjile greške zaokruživanja.
• bilo koji red (jednačina) može se zamijeniti linearnom kombinacijom tog
reda (jednačine) i bilo kojeg drugog reda (jednačine). Ova operacija se
najčešće koristi kako bi se implementirao proces sistematske eliminacije.
Ove operacije, iako mijenjaju vrijednosti elemenata matrice A i b, ne mijenjaju
rješenje sistema.
Primjer 3.1
Radi ilustracije procesa eliminacije i procesa zamjene unazad riješimo sljedeći
sistem jednačina:
80x1 − 20x2 − 20x3 = 20 (3.7a)

39
Rješavanje sistema linearnih jednačina

−20x1 + 40x2 − 20x3 = 20 (3.7b)


−20x1 − 20x2 + 130x3 = 20 (3.7c)

Rješenje

Postupak rješavanja počinje rješavanjem jednačine (3.7a) za nepoznanicu


x1 . Na taj način imamo:

x1 = [20 − (−20)x2 − (−20)x3 ]/80 (3.8)

Uvrštavajući jednačinu (3.8) u jednačine (3.7b) i (3.7c) dobiva se, respektivno:

− 20[20 − (−20)x2 − (−20)x3 ]/80 + 40x2 − 20x3 = 20 (3.9a)


− 20[20 − (−20)x2 − (−20)x3 ]/80 − 20x2 + 130x3 = 20 (3.9b)

koje se mogu pojednostaviti na oblik:

35x2 − 25x3 = 25 (3.10a)


−25x2 + 125x3 = 25 (3.10b)

Ako sada riješimo jednačinu (3.10a) za x2 , dobijamo:

x2 = [25 − (−25)x3 ]/35 (3.11)

Uvrštavajući posljednju jednačinu u jednačinu (3.10b) nakon pojednostavljenja


dobija se:
750 300
x3 = (3.12)
7 7
Na taj način, sistem jednačina (3.7) se svodi na sistem jednačina:
80x1 − 20x2 − 20x3 = 20 (3.13a)
35x2 − 25x3 = 25 (3.13b)
750/7x3 = 300/7 (3.13c)
čime je završen proces eliminacije.
Sada se vrlo lako može dobiti rješenje sistema zamjenom unazad, tj.:

x3 = 300/750 = 0.40 (3.14a)


x2 = [25 − (−25)(0.40)]/35 = 1.00 (3.14b)
x1 = [20 − (−20)(1.00) − (−20)(0.40)]/80 = 0.60 (3.14c)

40
3.1. Direktne metode

Prethodno opisani primjer predstavlja slučaj jednostavne eliminacije (nema


potrebe za zamjenom reda redova i sl.), te se može rješavati u pogodnijem
obliku ako se matrica koeficijenata sistema A proširi vektorom b. Na taj
način imamo:
 ¯ 
80 −20 −20 ¯¯ 20
[A|b] =  −20 40 −20 ¯¯ 20  (3.15)
−20 −20 130 ¯ 20

Sve informacije se sada mogu pisati sa strane sistema, pa imamo:


 ¯ 
(a) 80 −20 −20 ¯ 20 ·−(−20/80)+(b),·−(−20/80)+(c)
¯
(b)  −20 40 −20 ¯ 20  (3.16)
¯
(c) −20 −20 130 ¯ 20
 ¯ 
(a) 80 −20 −20 ¯¯ 20
(b)  0 35 −25 ¯¯ 25  ·−(−25/35)+(c) (3.17)
(c) 0 −25 125 ¯ 25
i konačno
 ¯ 
(a) 80 −20 −20 ¯ 20 x1 = 0.60
¯
(b)  0 35 −25 ¯ 
25 → x2 = 1.00 (3.18)
¯
(c) 0 0 750/7 ¯ 300/7 x3 = 0.40

Postupak rješavanja na ovakav način je veoma pogodan u slučajevima kada


imamo veći broj vektora b, jer se rješenje sistema za sve vektore b može dobiti
simultano.

Prilikom rješavanja sistema jednačina, treba voditi računa o dva problema


koji se mogu javiti:
1. U toku izvođenja metode eliminacije može se desiti da je elemenat na
glavnoj dijagonali modifikovane matrice A, koji se još naziva i glavni ele-
menat, jednak nuli, nakon čega nije moguće nastaviti proceduru zbog
dijeljenja sa nulom. Kako bi se izbjegla ova situacija, prethodno opisana
metoda eliminacije mora se modifikovati. Ovaj postupak dovodi do me-
toda sa djelimičnim i potpunim izborom glavnog elementa. Metode sa
potpunim izborom glavnog elementa obuhvataju zamjenu i redova i ko-
lona, i postupak je prilično komplikovan. Zbog toga se najčešće koristi
procedura sa djelimičnim izborom glavnog elementa, kod koje se samo
zamjenjuju mjesta redova.

41
Rješavanje sistema linearnih jednačina

2. U slučaju da su elementi po dijagonalama mnogo manji od ostalih ele-


menata u jednačinama, može doći do značajne greške zaokruživanja, što,
pak, može dovesti do pogrešnih rješenja. U tom slučaju vrši se skaliranje
glavnog elementa, odnosno matrica se podesi da glavni elemenat bude
po apsolutnoj vrijednosti veći od ostalih elemenata u toj koloni. I ovaj
postupak se izvodi za zamjenom mjesta redova.

Primjer 3.2
Riješiti sljedeći sistem jednačina, prikazan u matričnoj formi:
    
0 2 1 x1 5
 4 1 −1   x2  =  −3  (3.19)
−2 3 −3 x3 5

Rješenje

Kao što se može vidjeti, prvi elemenat jednak je nuli, tako da je zamjena
redova neophodna. Najveći elemenat po apsolutnoj vrijednosti u prvoj koloni,
ispod glavnog elementa, nalazi se u drugom redu, tako da vršimo zamjenu
prvog i drugog reda.
 ¯ 
(a) 4 1 −1 ¯¯ −3 ·−(0/4)+(b),·−(−2/4)+(c)
(b)  0 2 1 ¯¯ 5  (3.20)
(c) −2 3 −3 ¯ 5

pa se dobija proširena matrica:


 ¯ 
4 1 −1 ¯¯ −3
 0 2 1 ¯¯ 5  (3.21)
0 7/2 −7/2 ¯ 7/2

Iako u ovom slučaju elemenat na glavnoj dijagonali druge jednačine nije jednak
nuli, on je po apsolutnoj vrijednosti manji od elementa ispod njega, tako da
je opet neophodno izvesti zamjenu redova. Treba napomenuti da se zamjena
redova vrši samo na redovima ispod trenutnog glavnog elementa, jer bi se u
suprotnom mogao narušiti proces eliminacije koji je do tada obavljen. Nakon
zamjene drugog i trećeg reda imamo:
 ¯ 
(a) 4 1 −1 ¯¯ −3
(b)  0 7/2 −7/2 ¯¯ 7/2  ·−(4/7)+(c) (3.22)
(c) 0 2 1 ¯ 5

42
3.1. Direktne metode

i konačno
 ¯ 
4 1 −1 ¯¯ −3 x1 = −1
 0 7/2 −7/2 ¯ 7/2  → x2 = 2 (3.23)
¯
0 0 3 ¯ 3 x3 = 1

Prethodno opisani proces eliminacije, ipak, može da proizvede greške zao-


kruživanja, pa se u tu svrhu koristi proces skaliranja jednačina. To se dešava
kada je glavni elemenat po apsolutnoj vrijednosti manji od ostalih elemenata
u istom redu. Skaliranje se, u tom slučaju, izvodi samo kako bi se odabrao
glavni elemenat. Sljedeći primjer pokazuje upotrebu procesa skaliranja u svrhu
izbora glavnog elementa.
Primjer 3.3
Provjeriti prednosti procesa skaliranja na sistemu jednačina:
    
3 2 105 x1 104
 2 −3 103   x2  =  98  (3.24)
1 1 3 x3 3
čije je rješenje: x1 = −1, x2 = 1 i x3 = 1, pri čemu proračun vršiti na tri
značajne cifre.

Rješenje

Prvo ćemo riješiti sistem jednačina koristeći do sada objašnjene metode,


bez dodatnih objašnjenja.
 ¯ 
(a) 3 2 105 ¯¯ 104 ·−(0.667)+(b),·−(0.333)+(c)
(b)  2 −3 103 ¯ 98 ¯  (3.25)
(c) 1 1 3 ¯ 3
 ¯ 
(a) 3 2 105 ¯¯ 104
(b)  2 −4.33 33 ¯¯ 28.6  ·−(0.077)+(c) (3.26)
(c) 0 0.334 −32 −31.6 ¯
 ¯ 
3 2 105 ¯¯ 104
 2 −4.33 33 ¯¯ 28.9  (3.27)
0 0 −29.5 ¯ −29.4
Iz posljednje jednačine se zamjenom unazad dobija rješenje: x3 = 0.997, x2 =
0.924 i x3 = −0.884, što se ne slaže dobro sa tačnim rješenjem. Rješenje je
pogrešno zbog greške zaokruživanja na tri značajne cifre.

43
Rješavanje sistema linearnih jednačina

Kao što je ranije rečeno, ove greške se mogu znatno smanjiti ako se primijeni
proces skaliranja. Prije izvršenja prvog koraka u procesu eliminacije (izjedna-
čavanje elemenata ispod glavnog elementa sa nulom), potrebno je skalirati sve
elemente prve kolone sa najvećim elementom u njihovom redu, uzimajući u
obzir samo elemente matrice sistema (A), pa je:
   
3/105 0.0286
a1 =  2/103  =  0.0194  (3.28)
1/3 0.3333

gdje se vektor a1 sastoji od skaliranih elemenata prve kolone. Jasno je da je


treći elemenat vektora a1 najveći po apsolutnoj vrijednosti, što znači da prva i
treća jednačina datog sistema trebaju zamijeniti mjesta, Na taj način imamo:
 ¯ 
(a) 1 1 3 ¯¯ 3 ·−(2/1)+(b),·−(3/1)+(c)
(b)  2 −3 103 ¯ 98 ¯  (3.29)
(c) 3 2 105 ¯ 104
 ¯ 
(a) 1 1 3 ¯¯ 3
(b)  0 −5 97 ¯¯ 92  ·−(1/5)+(c) (3.30)
(c) 0 −1 96 95 ¯
Ponovnim skaliranjem, imamo da je:
   
− −
a2 =  −5/97  =  −0.0516  (3.31)
−1/96 −0.0104

pa nije potrebna nova zamjena redova, nego se iz jednačine (3.30) dobija:


 ¯ 
1 1 3 ¯¯ 3
 0 −5 97 ¯¯ 92  (3.32)
0 0 76.6 ¯ 76.6

odakle se dobiva tačno rješenje: x3 = 1, x2 = 1 i x3 = −1.

Gaussova metoda eliminacije

Prethodno opisana metoda eliminacije se naziva i Gaussova metoda elimina-


cije. Ona je najvažnija i najkorisnija direktna metoda za rješavanje sistema
linearnih algebarskih jednačina. Sve ostale direktne metode, kao na primjer,

44
3.1. Direktne metode

Gauss-Jordanova, matrična, metode faktorizacije, Thomasov algoritam za tri-


dijagonalne sisteme, itd., predstavljaju modifikacije ili proširenja Gaussove
metode.
Broj množenja i dijeljenja koji koristi Gaussova metoda eliminacije približno
je jednak N = (n3 /3 − n/3) za matricu A i n2 za vektor b, što za sistem od 10
jednačina iznosi 430, a za sistem od 100 jednačina 343,000. Dakle, Gaussova
metoda eliminacije je daleko brža nego Cramerovo pravilo.
Algoritam za Gaussovu metodu eliminacije (sa djelimičnim izborom glavnog
elementa), koji je prikladan za programiranje, imao bi oblik:

1. Definisati koeficijente matrice A, vektora b, te pomoćnog vektora o† .

2. Počevši od prve kolone, treba normalizirati kolone k (k = 1, 2, . . . n − 1) i


tražiti po veličini najveći elemenat u koloni k te zamijeniti redove kako bi
se taj koeficijent postavio u poziciju glavnog elementa akk . U optimalnom
algoritmu, ne vrši se zamjena vrijednosti svih koeficijenata, tj. zamjena
jednačina, nego se samo u pomoćnom vektoru o označi/markira data
promjena.

3. Za kolonu k (k = 1, 2, . . . , n − 1) se primijeni procedura eliminacije na


redove i (i = k + 1, k + 2, . . . , n) kako bi se stvorile nule ispod glavnog
elementa, akk . Na taj način se dobija:
µ ¶
aik
aij = aij − akj (i, j = k + 1, k + 2, . . . , n) (3.33)
akk
µ ¶
aik
bi = bi − akj (i = k + 1, k + 2, . . . , n) (3.34)
akk
Nakon što se primijeni ovaj korak na svih k kolona, originalna matrica A
postaje gornja trougaona.

4. Riješiti nepoznanice x koristeći zamjenu unazad, tako da je:


bn
xn = (3.35)
ann
n
X
bi − aij xj
j=i+1
xi = (i = n − 1, n − 2, . . . , 1) (3.36)
aii
† Pomoćni elemenat se koristi u slučajevima izbora glavnog elementa kako bi se izbjegla zamjena koefici-

jenata matrice, i time uštedilo vrijeme računanja.

45
Rješavanje sistema linearnih jednačina

Gauss-Jordanova metoda eliminacije

Gauss-Jordanova metoda eliminacije je varijacija Gaussove metode elimina-


cije, u kojoj se i elementi iznad kao i elementi ispod glavne dijagonale eliminišu
(izjednačavaju sa nulom). Na taj način se matrica A transformiše u dijago-
nalnu matricu. Redovi se obično skaliraju kako bi se dobili jedinični dijagonalni
elementi, pa se matrica A pretvara u jediničnu matricu. Tada vektor b postaje
vektor rješenja x. Gauss-Jordanova metoda je, na taj način, pogodna za više
vektora b, tj. kada je neophodno simultano riješiti više sistema sa različitim
vektorima b, i direktno očitavati rješenja svih sistema.
Broj množenja i dijeljenja za Gauss-Jordanovu metodu eliminacije je pri-
bližno jednak N = (n3 /2 − n/2) + n2 , što je za oko 50% više nego za Gaussovu
metodu eliminacije.
Primjer 3.4
Primjer 3.1 riješiti Gauss-Jordanovom metodom.

Rješenje

Prvi korak u procesu rješavanja Gauss-Jordanovom metodom predstavlja


skaliranje prve jednačine, odnosno dijeljenje svih elemenata jednačine sa glav-
nim elementom, tj.
 ¯ 
(a) 80 −20 −20 ¯¯ 20 /80
(b)  −20 ¯
40 −20 ¯ 20  (3.37)
(c) −20 −20 130 ¯ 20
pa se dobija:
 ¯ 
(a) 1 −0.25 −0.25 ¯¯ 0.25 ·−(−20)+(b),·−(−20)+(c)
(b)  −20 40 −20 ¯¯ 20  (3.38)
(c) −20 −20 130 ¯ 20
Primjenjujući proces eliminacije i naknadnim skaliranjem druge jednačine do-
bijamo:
 ¯ 
(a) 1 −0.25 −0.25 ¯¯ 0.25
(b)  0 35 −25 ¯¯ 25  /35 (3.39)
(c) 0 −25 125 ¯ 25
 ¯ 
(a) 1 −0.25 −0.25 ¯¯ 0.25
(b)  0 1 −5/7 ¯¯ 5/7  ·−(−0.25)+(a),·−(−25)+(c) (3.40)
(c) 0 −25 125 ¯ 25

46
3.1. Direktne metode

Sada se vrši eliminacija iznad i ispod glavnog elementa i vrši skaliranje trećeg
reda, tj.
 ¯ 
(a) 1 0 −3/7 ¯ 3/7
¯
(b)  0 1 −5/7 ¯ 5/7  (3.41)
¯
(c) 0 0 750/7 ¯ 300/7 /(750/7)

 ¯ 
(a) 1 0 −3/7 ¯¯ 3/7
(b)  0 1 −5/7 ¯¯ 5/7  (3.42)
(c) 0 0 1 ¯ 215 ·−(−3/7)+(a),·−(−5/7)+(b)

i konačno se dobija:
 ¯ 
1 0 0 ¯¯ 0.6
 0 1 0 ¯¯ 1.0  (3.43)
0 0 1 ¯ 0.4

Matrica A je na taj način transformisana u jediničnu matricu, a vektor b je


postao vektor rješenja, x, odnosno xT = [ 0.6 1.0 0.4 ].

Inverzija matrica metodom eliminacije

Gauss-Jordanova metoda se može koristiti za dobijanje inverzne matrice ma-


trice koeficijenata sistema, A, tako da se matrica sistema A poroširi jedinič-
nom matricom, a zatim primijeni Gauss-Jordanov algoritam. Proces se može
shematski prikazati sljedećom relacijom:

[A|I] → [I|A−1 ] (3.44)

Primjer 3.5
Naći inverznu matricu koeficijenata sistema iz primjera 3.1 koristeći Gauss-
Jordanovu metodu.

Rješenje

Proširivanjem matrice koeficijenata iz jednačine (3.7) jediničnom matricom,


dobijamo:
 ¯ 
80 −20 −20 ¯¯ 1 0 0
[A|I] =  −20 40 −20 ¯¯ 0 1 0  (3.45)
−20 −20 130 0 0 1 ¯

47
Rješavanje sistema linearnih jednačina

Primjenjujući Gauss-Jordanovu metodu eliminacije, desna strana jednačine


(3.45) se može svesti na oblik:
 ¯ 
1 0 0 ¯¯ 2/125 1/100 1/250
 0 1 0 ¯ 1/100 1/30 1/150  (3.46)
¯
0 0 1 ¯ 1/250 1/150 7/750
odakle se direktno dobija A−1 :
 
2/125 1/100 1/250
A−1 =  1/100 1/30 1/150  (3.47)
1/250 1/150 7/750

3.1.3 Matrična metoda


Sistem linearnih jednačina može se riješiti korištenjem inverzne matrice, A−1
na sljedeći način. Ako dati sistem linearnih jednačina napišemo u matričnoj
formi:
Ax = b (3.48)
množenjem date jednačine inverznom matricom A−1 sa lijeve strane, dobijamo
A−1 Ax = Ix = x = A−1 b (3.49)
i konačno
x = A−1 b (3.50)
Dakle, ako je poznata inverzna matrica matrice A, A−1 , rješenje x se dobija
jednostavnim množenjem te inverzne matrice sa vektorom b. Međutim, treba
imati na umu da sve matrice ne moraju imati inverznu matricu (mogu biti
singularne), pa tada sistem nema jedinstveno rješenje.
Primjer 3.6
Primjer 3.1 riješiti matričnom metodom.

Rješenje

Koristeći rješenje iz prethodnog primjera, iz jednačine (3.50) se direktno


dobija:
    
2/125 1/100 1/250 20 0.6
x = A−1 b =  1/100 1/30 1/150   20  =  1.0  (3.51)
1/250 1/150 7/750 20 0.4

48
3.1. Direktne metode

3.1.4 Metode faktorizacije


Metode faktorizacije zasnivaju se na činjenici da se matrice (kao i skalarne
veličine), mogu faktorizirati (razložiti) u proizvod neke dvije matrice na be-
skonačno mnogo načina. Kada su takve dvije matrice donja trougaona, L (od
engleske riječi lower ), i gornja trougaona, U (od engleske riječi upper ), tj.
A=LU (3.52)
dobija se tzv. LU faktorizacija, koja je jedinstvena. Metoda faktorizacije
kod koje su elementi po dijagonali donje trougaone matrice jednaki jedinici
naziva se i Doolittleova metoda, a ona kod koje su elementi dijagonale gornje
trougaone matrice jednaki jedinici metoda Crouta.
Kod metode Doolittlea, matrica U se dobija procesom Gaussove eliminacije
(predstavlja prvi dio proširene matrice prije primjene procesa zamjene unazad),
dok matrica L predstavlja zapis množitelja u procesu eliminacije (brojevi u
zagradama sa strane jednačina, koji množe jednačinu sa glavnim elementom
u procesu eliminacije). Može se pokazati da kada se odrede matrice L i U,
rješavanje se sastoji iz dva koraka:
• prvo se vektor b transformiše u vektor b’ koristeći izraz (zamjena una-
prijed):
Lb’ = b (3.53)
• a zatim se vektor rješenja dobiva sa (zamjena unazad):
Ux = b’ (3.54)
Sljedeći primjer pokazuje upotrebu Doolittleove metode.
Primjer 3.7
Primjer 3.1 riješiti metodom Doolittlea.

Rješenje

Kao što je u prethodnom tekstu rečeno, matrica L predstavlja matricu koja


se sastoji od množitelja nastalih u procesu eliminacije Gaussovom metodom,
a matrica U gornju tridijagonalnu matricu u koju se transformiše matrica
koeficijenata A pomoću Gaussove metode. Na taj način, koristeći rješenje iz
primjera 3.1 u pogodnijem obliku, dobija se:
   
1 0 −0 80 −20 −20
L =  −0.25 1 −0  U =  0 35 −25  (3.55)
−0.25 −5/7 1 0 0 750/7

49
Rješavanje sistema linearnih jednačina

Dakle, matrica L se generiše na sljedeći način. Elementi prve kolone jednaki su


množiteljima iz prvog koraka pri rješavanju Gaussovom metodom eliminacije
(jednačina (3.16)) – element L12 jednak je množitelju koji ide uz jednačinu (b)
(tj. −20/80 = −0.25), dok je element L13 jednak množitelju koji ide uz jedna-
činu (c) (tj. −20/80 = −0.25). Treba napomenuti da ispred množitelja treba
da stoji znak minus (−), pošto se u procesu eliminacije od jednačina oduzima
trenutno glavna jednačina pomnožena množiteljem. Analogno, elementi druge
kolone su jednaki množiteljima iz drugog koraka procesa eliminacije (jedna-
čina (3.17)), odnosno element L23 jednak je množitelju koji ide uz jednačinu
c) (tj. −5/7). Po definiciji, elementi na dijagonali jednaki su 1, a ostali, iznad
dijagonale, jednaki 0.
Kako je ranije rečeno, matrica U u metodi Doolittlea jednaka je gornjoj
trougaonoj matrici u koju se transformiše matrica sistema A u toku postupka
Gaussove metode eliminacije – u ovom slučaju radi se o matrici iz jednačine
(3.18).
Sada se koristeći jednačinu (3.53) dobija:
  0   
1 0 −0 b1 20
 −0.25 1 −0   b02  =  20  (3.56)
−0.25 −5/7 1 b03 20
i zamjenom unaprijed:
b01 = 20 (3.57a)
b02 = 20 − (−1/4)20 = 25 (3.57b)
b03 = 20 − (−1/4)20 − (−5/7)25 = 300/7 (3.57c)
Uvrštavajući dobijeni vektor b’ u jednačinu (3.54) dobija se:
    
80 −20 −20 x1 20
 0 35 −25   x2  =  25  (3.58)
0 0 750/7 x3 300/7
i zamjenom unaprijed:
x3 = 300/750 = 0.40 (3.59a)
x2 = 25 − [(−25)0.4]/35 = 1.0 (3.59b)
x1 = 20 − 20 − [(−20)1.0 + (−20)0.4]/80 = 0.60 (3.59c)

Osnovna prednost metoda faktorizacije je u tome što je broj operacija mno-


ženja i dijeljenja, kada su poznate matrice L i U, jednak n2 , što je mnogo

50
3.1. Direktne metode

manje nego što to zahtijeva metoda Gaussove eliminacije. To naročito dolazi


do izražaja kada se treba izračunati sistem jednačina za veliki broj različitih
vrijednosti vektora b. Na sličan način se može izvesti i algoritam za Croutovu
metodu.

3.1.5 Nedostaci metoda eliminacije


Svi nesingularni sistemi linearnih jednačina imaju rješenje. Teoretski gledano,
to rješenje se uvijek može naći nekom od metoda eliminacije. Međutim, pos-
toje dva osnovna problema koja se javljaju u primjeni metoda eliminacije: (i)
prisustvo grešaka zaokruživanja, i (ii) slaba podešenost sistema.

Greške zaokruživanja

Kao što je to u uvodnim poglavljima rečeno, greške zaokruživanja nastaju kada


se neki beskonačno dugi brojevi aproksimiraju brojevima konačne tačnosti.
Primjer 3.3 pokazuje kako greška zaokruživanja može da utječe na rezultat.
Greške zaokruživanja u rješavanju sistema jednačina se mogu smanjiti po-
godnim razmještajem jednačina, kao što je to i pokazano u pomenutom pri-
mjeru. U ove svrhe se može, također, koristiti i poseban iterativni postupak,
tzv. metoda iterativnog poboljšanja. Međutim, treba napomenuti da se greške
zaokruživanja nikada ne mogu u potpunosti eliminisati.

Podešenost sistema

Svi dobro podešeni nesingularni numerički problemi imaju tačno rješenje. Ovo
rješenje se, teoretski, uvijek može ostvariti korištenjem razlomaka ili besko-
načno dugih brojeva. Međutim, svi praktični proračuni se ostvaruju sa konač-
nim brojevima, koji kao posljedicu sadrže greške zaokruživanja. Na taj način,
greške zaokruživanja, mogu promijeniti rezultat proračuna.
Dobro podešen sistem je onaj kod kojeg male promjene bilo kojeg elementa
sistema uzrokuju male promjene u rezultatu problema. Nasuprot tome, slabo
podešen sistem je onaj kod kojeg male promjene nekog elementa uzrokuju
velike promjene u rješenju sistema. S obzirom da su slabo podešeni sistemi
veoma osjetljivi na male promjene elemenata problema, oni su osjetljivi i na
greške zaokruživanja.
Primjer 3.8
Pokažimo ponašanje jednog slabo podešenog sistema na sljedećem primjeru:

x1 + x 2 = 2 (3.60a)

51
Rješavanje sistema linearnih jednačina

x1 + 1.0001x2 = 2.0001 (3.60b)

Primjenom Gaussove eliminacije na sistem jednačina (3.60) dobija se:


· ¯ ¸
(a) 1 1 ¯¯ 2 ·(−1)+(b)
¯ (3.61)
(b) 1 1.0001 2.0001
· ¯ ¸
1 1 ¯¯ 2
(3.62)
0 0.0001 ¯ 0.0001
što dovodi do rješenja x2 = 1 i x1 = 1.
Posmatrajmo sada sistem kod kojeg smo koeficijent a22 promijenili sa 1.0001
na 0.9999. Imamo:
· ¯ ¸
(a) 1 1 ¯¯ 2 ·(−1)+(b)
¯ (3.63)
(b) 1 0.9999 2.0001
· ¯ ¸
1 1 ¯¯ 2
(3.64)
1 −0.0001 ¯ 0.0001
što dovodi do rješenja x2 = −1 i x1 = 3, koje je potpuno drugačije od onog
prethodnog. Slično ponašanje bi se desilo ako bismo elemenat b2 promijenili
za neku malu veličinu. Dakle, male promjene u koeficijentima sistema dovele
su do znatnih promjena u rješenju sistema, što pokazuje da je sistem slabo
podešen.

Jedini pravi lijek protiv problema slabe podešenosti je korištenje beskonačno


dugih brojeva. Kako to nije moguće ostvariti, ostaje samo pokušaj da se
skaliranjem i zamjenama redova poboljša podešenost sistema.
Podešenost sistema se procjenjuje korištenjem norme matrice sistema i
broja podešenosti . Postoji više definicija norme matrice sistema, kao:
n
X
kAk1 = max |aij | maksimalan zbir kolone (3.65a)
1≤j≤n
i=1
Xn
kAk∞ = max |aij | maksimalan zbir reda (3.65b)
1≤j≤n
j=1

kAk2 = min λi spektralna norma (3.65c)


à n n !
XX
2
kAke = aij Euklidska norma (3.65d)
i=1 j=1

52
3.1. Direktne metode

Za razliku od norme, broj podešenosti predstavlja mjeru osjetljivosti sistema


na male promjene njegovih elemenata. Broj podešenosti matrice A dat je
izrazom:

C(A) = kAkkA−1 k (3.66)

Velike vrijednosti broja podešenosti pokazuju i veliku osjetljivost na promjene


u vektoru b, pa je takav sistem slabo podešen.

Primjer 3.9
Pokažimo na primjeru 3.8 upotrebu norme i broja podešenosti.

Rješenje

Matrica sistema jednačina (3.60) ima oblik:


· ¸
1 1
A= (3.67)
1 −0.0001

pa bi Euklidska norma imala vrijednost:


à n n !
XX √
kAke = a2ij = 12 + 12 + 12 + 1.00012 = 2.00005 (3.68)
i=1 j=1

Nasuprot tome, inverzna matrica i njena Euklidska norma su:


· ¸
−1 10001 −10000
A = (3.69)
−10000 10000
à n n !
XX
−1
kA ke = a2ij = 20000.5 (3.70)
i=1 j=1

Dakle, broj podešenosti je:

C(A) = kAke kA−1 ke = 2.00005 · 20000.5 = 40002 À 1 (3.71)

što pokazuje da je sistem slabo podešen. Treba napomenuti da u slučaju kada


je sistem dobro podešen, a postoje znatne greške u rješenju, osnovni uzrok je
tačnost računanja.

53
Rješavanje sistema linearnih jednačina

3.2 Iterativne metode


Za mnoge velike sisteme linearnih jednačina, koji proističu iz inženjerskih pr-
oblema, matrica koeficijenata A je rijetka, tj. većina elemenata jednaka je nuli.
U tom slučaju mnogo je efikasnije za njihovo rješavanje koristiti iterativne nego
direktne metode.
Iterativne metode, kao i kod rješavanja nelinearnih jednačina, počinju sa
pretpostavkom početnog rješenja x(0) . Ovo rješenje se zatim koristi za dobi-
vanje boljeg rješenja x(1) na osnovu neke strategije smanjenja razlike između
x(0) i stvarnog rješenja x. Postupak se nastavlja do postizanja željene tačnosti.
Procedura je konvergentna ako se sa povećanjem broja iteracija aproksimacija
rješenja približava tačnom rješenju.
Iterativne metode ne konvergiraju uvijek za sve jednačine u datom sistemu,
niti za sve moguće rasporede jednačina nekog sistema. Dovoljan uslov za ko-
nvergenciju iterativnih metoda opisanih u ovom poglavlju za bilo koji početni
vektor rješenja x je dijagonalna dominantnost matrice sistema. Pri tome, ma-
trica je dijagonalno dominantna ako je apsolutna vrijednost svakog elementa na
glavnoj dijagonali jednaka ili veća od zbira apsolutnih vrijednosti svih ostalih
elemenata u tom redu, pri čemu je za bar jedan red apsolutna vrijednost dija-
gonalnog elementa veća od odgovarajućeg zbira apsolutnih vrijednosti ostalih
elemenata, ili
n
X
|aii | ≥ |aij | (i = 1, 2, . . . , n) (3.72)
j=1
j6=i

pri čemu znak > vrijedi za bar jedan red.


Neki sistemi koji nisu dijagonalno dominantni mogu se preurediti (na pri-
mjer zamjenom redova i sl.) i učiniti dijagonalno dominantnim. S druge strane,
neki, sistemi, koji nisu dijagonalno dominantni, mogu konvergirati ka rješenju
za određena početna rješenja, ali im konvergencija nije osigurana. U praksi se
iterativne metode ne koriste u slučajevima kada dijagonalna dominantnost ne
može da se osigura.
Kada ponovljena primjena iterativne metode ne proizvodi značajne razlike
u rješenju, algoritam treba zaustaviti, odnosno algoritam se zaustavlja kada se
postigne određeni kriterij konvergencije. Broj iteracija neophodan za postiza-
nje konvergencije zavisi od:
• Dominantnosti dijagonalnih koeficijenata. Sa povećanjem dijagonalne do-
minantnosti, smanjuje se broj iteracija neophodnih za postizanje kriterija
konvergencije.

54
3.2. Iterativne metode

• korištene metode
• početnog vektora rješenja
• zahtijevanog kriterija konvergencije.

3.2.1 Jacobijeva metoda


Posmatrajmo opšti sistem linearnih algebarskih jednačina Ax=b, koji u in-
deksnoj notaciji ima oblik:
n
X
aij xj = bi (i = 1, 2, . . . , n) (3.73)
j=1

U Jacobijevoj iteraciji, svaka jednačina sistema se rješava po komponenti


vektora rješenja koja se odnosi na dijagonalni element, tj. xi . Na taj način
imamo:
à i−1 n
!
1 X X
xi = bi − aij xj − aij xj (i = 1, 2, . . . , n) (3.74)
aii j=1 j=i+1

Neka je x(0) vektor početnog rješenja, gdje indeks u zagradi označava broj
iteracije. Prva aproksimacija se dobija pomoću ovog vektora na osnovu jedna-
kosti:
à i−1 n
!
(1) 1 X (0)
X (0)
xi = bi − aij xj − aij xj (i = 1, 2, . . . , n) (3.75)
aii j=1 j=i+1

a analogno se može dobiti i rekurzivna formula Jacobijevog algoritma:


à i−1 n
!
(k+1) 1 X (k)
X (k)
xi = bi − aij xj − aij xj (i = 1, 2, . . . , n) (3.76)
aii j=1 j=i+1

ili u nešto prikladnijem obliku:


à n
!
(k+1) (k) 1 X (k)
xi = xi + bi − aij xj (i = 1, 2, . . . , n) (3.77)
aii j=1

Jednačina (3.77) se može napisati i u opštem obliku:


(k)
(k+1) (k) R
xi = xi + i (i = 1, 2, . . . , n) (3.78)
aii

55
Rješavanje sistema linearnih jednačina

gdje
n
X
(k) (k)
Ri = bi − aij xj (i = 1, 2, . . . , n) (3.79)
j=1

predstavlja ostatak (rezidual) i-te jednačine. Kao i u ostalim iterativnim pos-


tupcima, formule (3.77) ili (3.78) se koriste dok se ne postigne željena tačnost.
Jacobijeva metoda se ponekad naziva i metoda simultanih iteracija, jer se
sve vrijednosti xi iteriraju simultano. Iz formule (3.77) se vidi da vrijednost
(k+1) (k)
xi zavisi samo o xi , tj. o vrijednostima iz prethodne iteracije, pa red
procesiranja jednačina nije nebitan.
Primjer 3.10
Riješiti sljedeći sistem linearnih jednačina:
    
4 −1 0 1 0 x1 100
 −1 4 −1 0 1     
   x2   100 
 0 −1 4 −1 0   x3 
   100 
 =  (3.80)
 1 0 −1 4 −1   x4   100 
0 1 0 −1 4 x5 100
Proračun zaustaviti kada najveća apsolutna razlika rješenja dvije uzastopne
iteracije bude manja od 10− 6.

Rješenje

Na osnovu elemenata matrice sistema lako se zaključuje da je uslov ko-


nvergencije (3.72) ispunjen za sve jednačine, pa se može pristupiti rješavanju
pomoću Jacobijeve iterativne metode.
Jednačina (3.80) se može prikazati u proširenom obliku:
4x1 − x2 + x4 = 100 (3.81a)
−x1 + 4x2 − x3 + x5 = 100 (3.81b)
−x2 + 4x3 − x4 = 100 (3.81c)
x1 − x3 + 4x4 − x5 = 100 (3.81d)
x2 − x4 + 4x5 = 100 (3.81e)
tako da se, koristeći jednačinu (3.77), dobija:
x1 = 25 + 0.25x2 − 0.25x4 (3.82a)
x2 = 25 + 0.25x1 + 0.25x3 − 0.25x5 (3.82b)

56
3.2. Iterativne metode

x3 = 25 + 0.25x2 + 0.25x4 (3.82c)


x4 = 25 − 0.25x1 + 0.25x3 + 0.25x5 (3.82d)
x5 = 25 − 0.25x2 + 0.25x4 (3.82e)
Ako se za početno rješenje uzme da je

x(0)T = [ 0.0 0.0 0.0 0.0 0.0]

i uvrsti u prethodnu jednačinu, lako se dobiva da je

x(0)T = [ 25.0 25.0 25.0 25.0 25.0]

Postupak se ponavlja na sličan način za x(2) , itd. Rezultati su sumirani u


tabeli 3.1.

Tabela 3.1: Uz primjer 3.10


k x1 x2 x3 x4 x5
0 0.000000 0.000000 0.000000 0.000000 0.000000
1 25.000000 25.000000 25.000000 25.000000 25.000000
2 25.000000 31.250000 37.500000 31.250000 25.000000
3 25.000000 34.375000 40.625000 34.375000 25.000000
4 25.000000 35.156250 42.187500 35.156250 25.000000
.. .. .. .. .. ..
. . . . . .
17 25.000000 35.714285 42.857142 35.714285 25.000000
18 25.000000 35.714285 42.857143 35.714285 25.000000

Lako je uočiti da je sistem jednačina, odnosno matrica koeficijenata jedna-


čine (3.80), simetričan, tako da vrijedi da je x1 = x5 , i x2 = x4 .
Do istih rezultata se moglo doći i koristeći opšti oblik, tj. jednačinu (3.78).
Prvo se na osnovu jednačine (3.79) odrede reziduali:
R1 = 100 − 4x1 + x2 − x4 (3.83a)
R2 = 100 + x1 − 4x2 + x3 − x5 (3.83b)
R3 = 100 + x2 + 4x3 + x4 (3.83c)
R4 = 100 − x1 + x3 − 4x4 + x5 (3.83d)
R1 = 100 − x2 + x4 − 4x5 (3.83e)
a nakon toga se uvrštenjem u jednačinu (3.78) dobivaju vrijednosti xi . Postu-
pak se ponavlja dok se ne dostigne željena tačnost.

57
Rješavanje sistema linearnih jednačina

3.2.2 Gauss-Seidelova metoda


(k+1) (k)
Za razliku od Jacobijeve metode, kod koje sve veličine xi ovise samo o xi
(rješenju iz prethodne iteracije), Gauss-Seidelova metoda manipuliše sa tek
izračunatim vrijednostima. Algoritam za Gauss-Seidelovu metodu se dobija iz
Jacobijevog algoritma, jednačina (3.76), tako što se u sabiranju od j = 1 do
(k+1) (k)
i − 1 koriste vrijednosti xi , a za j = i + 1 do n vrijednosti xi , odnosno u
indeksnoj notaciji:
à i−1 n
!
(k+1) 1 X (k+1)
X (k)
xi = bi − aij xj − aij xj (i = 1, 2, . . . , n) (3.84)
aii j=1 j=i+1

ili u opštem obliku:


(k)
(k+1) (k) R
xi = xi + i (i = 1, 2, . . . , n) (3.85)
aii
i−1
X Xn
(k) (k+1) (k)
Ri = bi − aij xj − aij xj (i = 1, 2, . . . , n) (3.86)
j=1 j=i

Upravo zbog toga što se koriste tek izračunate vrijednosti pojedinih nepoz-
nanica, Gauss-Seidelova metoda se naziva i metoda sukcesivne iteracije.
Primjer 3.11
Riješiti problem iz zadatka 3.10 koristeći Gauss-Sedelovu metodu.

Rješenje

Postupak rješavanja Gauss-Seidelovom je vrlo sličan Jacobijevoj metodi, s


tom razlikom što se u proračunu koriste najnovije vrijednosti rješenja. Na taj
način, jednačina (3.82) ima oblik:
(k+1) (k) (k)
x1 = 25 + 0.25x2 − 0.25x4 (3.87a)
(k+1) (k+1) (k) (k)
x2 = 25 + 0.25x1 + 0.25x3 − 0.25x5 (3.87b)
(k+1) (k+1) (k)
x3 = 25 + 0.25x2 + 0.25x4 (3.87c)
(k+1) (k+1) (k+1) (k)
x4 = 25 − 0.25x1 + 0.25x3 + 0.25x5 (3.87d)
(k+1) (k+1) (k+1)
x5 = 25 − 0.25x2 + 0.25x4 (3.87e)
gdje je k korak iteracije. Uzimajući da je početna aproksimacija jednaka
x(0)T = [ 0.0 0.0 0.0 0.0 0.0]

58
3.2. Iterativne metode

lako se na osnovu jednačine (3.87) dobivaju sljedeće aproksimacije :

(1) (0) (0)


x1 = 25 + 0.25x2 − 0.25x4 = 0 (3.88a)
(1) (1) (0) (0)
x2 = 25 + 0.25x1 + 0.25x3 − 0.25x5 = 31.25 (3.88b)
(1) (1) (0)
x3 = 25 + 0.25x2 + 0.25x4 = 32.8125 (3.88c)
(1) (1) (1) (0)
x4 = 25 − 0.25x1 + 0.25x3 + 0.25x5 = 26.953125 (3.88d)
(1) (1) (1)
x5 = 25 − 0.25x2 + 0.25x4 = 23.925781 (3.88e)

Postupak se ponavlja dok se ne postigne tražena tačnost. Ostali rezultati


proračuna su sumirani u tabeli 3.2.

Tabela 3.2: Uz primjer 3.11


k x1 x2 x3 x4 x5
0 0.000000 0.000000 0.000000 0.000000 0.000000
1 25.000000 31.250000 32.812500 26.953125 23.925781
2 26.074219 33.740234 40.173340 34.506226 25.191498
3 24.808502 34.947586 42.363453 35.686612 25.184757
.. .. .. .. .. ..
. . . . . .
14 25.000001 35.714286 42.857143 35.714285 25.000000
15 25.000000 35.714286 42.857143 35.714286 25.000000

Iz tabele je jasno da se ista tačnost dostiže nešto brže koristeći Gauss-Seidelovu


metodu.
Do istih rezultata se moglo doći i koristeći opšti oblik (jednačina (3.85)), tj.
u ovom slučaju imali bismo:
(k+1) (k) (k) (k)
R1 = 100 − 4x1 + x2 − x4 (3.89a)
(k+1) (k+1) (k) (k+1) (k+1)
R2 = 100 + x1 − 4x2 + x3 − x5 (3.89b)
(k+1) (k+1) (k) (k)
R3 = 100 + x2 + 4x3 + x4 (3.89c)
(k+1) (k+1) (k+1) (k) (k)
R4 = 100 − x1 + x3 − 4x4 + x5 (3.89d)
(k+1) (k+1) (k+1) (k)
R1 = 100 − x2 + x4 − 4x5 (3.89e)

Dakle, prvo se izračunava vrijednost R1 , pa na osnovu nje x1 , zatim R2 , pa x2 ,


itd.

59
Rješavanje sistema linearnih jednačina

3.2.3 Metode relaksacije


Iterativne metode se često same po sebi nazivaju relaksacionim metodama, po-
što iterativnu proceduru možemo posmatrati kao relaksaciju vektora rješenja
x(0) za rješenje x. Ipak, termin relaksacija vezan je za tzv. Southwellovu me-
todu relaksacije, kod koje se kombinuju dva procesa kako bi se ubrzala konver-
gencija: (i) red relaksacije se određuje traženjem po veličini najvećeg reziduala
|Ri |max i (ii) relaksira se odgovarajuća jednačina tako da bude (Ri )max = 0.
Ipak, proces traženja najvećeg reziduala za velike sisteme je veoma spor, tako
da nije efikasan. Zato se često primjenjuje malo drugačija metoda koja se
naziva i metoda sukcesivne nadrelaksacije (tzv. SOR‡ metoda).
(k)
Metoda sukcesivne nadrelaksacije uključuje množenje reziduala Ri sa re-
laksirajućim faktorom ω, pa bi za Gauss-Seidelovu metodu, na primjer, imala
oblik:
(k)
(k+1) (k) R
xi = xi +ω i (i = 1, 2, . . . , n) (3.90)
aii
i−1
X Xn
(k) (k+1) (k)
Ri = bi − aij xj − aij xj (i = 1, 2, . . . , n) (3.91)
j=1 j=i

Iz gornje jednakosti se vidi da za ω = 1 dobijamo originalnu Gauss-Seidelovu


metodu. Može se pokazati da za 0 ≤ ω < 2 sistem konvergira, pri čemu je
za 0 ≤ ω < 1 sistem jednačina podrelaksiran, a za 1 ≤ ω < 2 nadrelaksiran.
Podrelaksacija je pogodna kada se iterativnom metodom udaljava od rješenja,
što je karakteristika nelinearnih sistema jednačina. Treba napomenuti da re-
laksirajući faktor ne mijenja konačno rješenje, s obzirom da množi rezidual,
koji sa konvergencijom ka tačnom rješenju teži nuli.
Osnovni nedostatak relaksirajućih metoda je određivanje optimalne vrijed-
nosti faktora ω. Na žalost, ne postoji dobra opšta procedura za određivanje
ove vrijednosti. Ipak, dobrim izborom faktora ω, kompjutersko vrijeme se
može smanjiti za čak 10-50 puta, što je u svakom slučaju vrijedno pomena
radi mogućeg korištenja. Optimalna vrijednost se može naći eksperimentisa-
njem, ali nije preporučljiva ako se problem rješava samo jednom. Ako se, pak,
problem rješava često nad istim vrijednostima matrice sistema A sa različitim
vrijednostima b, onda je to pogodno uraditi.
Vrijedno je pomenuti da Jacobijeva i Gauss-Seidelova metoda uz ispunjenje
dijagonalne dominantnosti matrice sistema konvergiraju, dok metoda relaksa-
cije za ω 6= 1 može, ali i ne mora konvergirati.
‡ eng. Successive-Over-Relaxation

60
3.3. Ostale metode

Primjer 3.12
Riješiti problem iz zadatka 3.10 koristeći metodu relaksacije Gauss-Sedelove
metode. Uzeti da je ω = 1.10.

Rješenje

Metode relaksacije pogodno je raditi kada se algoritam za Gauss-Seidelovu


metodu prikaže jednačinom (3.85), odnosno kada se koristi jednačina (3.90).
Uzimajući da je početna aproksimacija jednaka
x(0)T = [ 0.0 0.0 0.0 0.0 0.0]
prema jednačini (3.89) se dobija rezidual
(0)
R1 = 100.00
pa je:
(1) 100.00
x1 = 0 + 1.1 = 27.50 (3.92)
4
Uvrštavajući dobijenu vrijednost u jednačinu (3.89b) dobija se:
(1)
R2 = 100 + 27.50 = 127.70 (3.93)
pa je:
(1) 127.50
x2 = 0 + 1.1 = 35.0625 (3.94)
4
Nakon računanja vrijednosti x3 , x4 i x5 , prelazi se na sljedeću iteraciju, i
postupak se nastavlja do postizanja željene tačnosti. U tabeli 3.3 date su
ostale vrijednosti proračuna. Jasno vidi da je broj iteracija manji nego koristeći
prethodne dvije metode.

3.3 Ostale metode


Pored prethodno opisanih metoda, postoji još niz metoda koje se koriste za
rješavanje sistema linearnih jednačina. Naročito mjesto zauzimaju tzv. nesta-
cionarne metode, koje uključuju informacije koje se mijenjaju u svakoj iteraciji.
One su izuzetno efikasne, ali im je primjena i razumijevanje nešto komplicira-
nija. Najpoznatije metode u ovoj grupi su metoda konjugovanih gradijenata,
koja se koristi za simetrične matrice sistema, te metoda bikonjugovanih gradi-
jenata, za asimetrične matrice sistema.

61
Rješavanje sistema linearnih jednačina

Tabela 3.3: Uz primjer 3.12


k x1 x2 x3 x4 x5
0 0.000000 0.000000 0.000000 0.000000 0.000000
1 27.500000 35.062500 37.142188 30.151602 26.149503
2 26.100497 34.194375 41.480925 35.905571 25.355629
3 24.419371 35.230346 42.914285 35.968342 25.167386
.. .. .. .. .. ..
. . . . . .
11 24.999996 35.714285 42.857145 35.714287 25.000000
12 25.000000 35.714286 42.857143 35.714286 25.000000
13 25.000000 35.714286 42.857143 35.714286 25.000000

3.4 Pitanja i zadaci


1. Objasniti koja su moguća rješenja sistema linearnih jednačina!
2. Koje su osnovne razlike između direktnih i iterativnih metoda?
3. Objasniti osnovni koncept direktnih metoda eliminacije!
4. Objasniti Gaussovu metodu eliminacije!
5. Objasniti postupke zamjene redova i skaliranja! Iz kojih razloga se koriste
ovi postupci?
6. Objasniti Gauss-Jordanovu metodu eliminacije!
7. Na koji način se koristeći Gauss-Jordanovu metodu eliminacije može odre-
diti inverzna matrica?
8. Objasniti matričnu metodu!
9. Objasniti koncept metode faktorizacije! Koje metode faktorizacije razli-
kujemo?
10. Koji su nedostaci direktnih metoda?
11. Objasniti utjecaj greške zaokruživanja na numerički algoritam!
12. Objasniti utjecaj broja podešenosti na neku matricu!
13. Objasniti koncept korištenja iterativnih metoda!
14. Objasniti Jacobijevu metodu!
15. Objasniti Gauss-Seidelovu metodu!

62
3.4. Pitanja i zadaci

16. Objasniti metode relaksacije!


17. U nekom programskom jeziku, napisati program za rješavanje sistema
linearnih jednačina koristeći:
a) Gaussovu metode eliminacije
b) Gauss-Jordanovu metodu!
c) Jacobijevu metodu!
d) Gauss-Seidelovu metodu!
e) metode relaksacije.
18. Sljedeće sisteme jednačina riješiti Gaussovom metodom:
a)
−2x1 + 3x2 + x3 = 9
3x1 + 4x2 − 5x3 = 0
x1 − 2x2 + x3 = −4
b)
x1 + 3x2 + 2x3 − x4 = 9
4x1 + 2x2 + 5x3 + x4 = 27
3x1 − 3x2 + 2x3 + 4x4 = 19
−x1 + 2x2 − 3x3 + 5x4 = 14
c)
    
1 −2 1 x1 −1
 2 1 2   x2  =  3 
−1 1 3 x3 8

d)
    
2 −2 2 1 x1 7
 2 −4 1  
3   x2   10 
 = 
 −1 3 −4 2   x3   −14 
2 4 3 −2 x4 1

19. Primjere iz zadatka 18 riješiti Gauss-Jordanovom metodom!


20. Primjere iz zadatka 18 riješiti matričnom metodom!

63
Rješavanje sistema linearnih jednačina

21. Primjere iz zadatka 18 riješiti metodom faktorizacije, odnosno metodom


Doolittlea!
22. Sljedeće sisteme jednačina riješiti Jacobijevom iterativnom metodom:
a)
    
2 1 0 0 x1 4
 1 2 1 0   x2   8 
  = 
 0 1 2 1   x3   12 
0 0 1 2 x4 11

b)
    
3 2 0 0 x1 12
 2 3 2 0   x2   17 
  = 
 0 2 3 2   x3   14 
0 0 2 3 x4 7

c)
    
−2 1 0 0 x1 1
 1 −2 1  
0   x2   2 
 = 
 0 1 −2 1   x3   −7 
0 0 1 −2 x4 −1

d)
    
2 −1 0 0 x1 5
 −1 2 −1 0   x2   1 
  = 
 0 −1 2 −1   x3   0 
0 0 −1 2 x4 8

23. Primjere iz zadatka 22 riješiti Gauss-Seidelovom metodom!


24. Primjere iz zadatka 22 riješiti metodom relaksacije sa ω = 1.27!
25. Naći optimalnu vrijednost faktora relaksacije za primjer 3.12. Rezultat
predstaviti grafički - kao koordinatne ose koristiti broj iteracija i vrijed-
nost ω. U tu svrhu napisati program u nekom od programskih jezika, ili
komercijalnih softvera.

64

Вам также может понравиться