12.07.2015 Views

Numerička linearna algebra - Odjel za matematiku - Sveučilište ...

Numerička linearna algebra - Odjel za matematiku - Sveučilište ...

Numerička linearna algebra - Odjel za matematiku - Sveučilište ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Sveučilište J.J. Strossmayera,<strong>Odjel</strong> <strong>za</strong> <strong>matematiku</strong>Numerička <strong>linearna</strong> <strong>algebra</strong>Ninoslav TruharOsijek, 2010.


Dr.sc. Ninoslav Truhar, redoviti profesor<strong>Odjel</strong> <strong>za</strong> <strong>matematiku</strong>Sveučilište J. J. Strossmayera u OsijekuTrg Ljudevita Gaja 6HR-31000 Osijeke-mail: ntruhar@math.hrIzdavač:Sveučilište J. J. Strossmayera u Osijeku, <strong>Odjel</strong> <strong>za</strong> <strong>matematiku</strong>Recenzenti:dr.sc. Rudolf Scitovski, redoviti profesor u trajnom zvanju,<strong>Odjel</strong> <strong>za</strong> <strong>matematiku</strong>, Sveučilište u Osijekudr.sc. Dražen Adamović, redoviti profesor, PMF - Matematički odjel,Sveučilište u ZagrebuLektor:Ivanka Ferčec, Elektrotehnički fakultet, OsijekCIP <strong>za</strong>pis dostupan u računalnom katalogu Gradske isveučilišne knjižnice Osijek pod brojem 121125049ISBN 978-953-6931-42-2Ovaj udžbenik objavljuje se uz suglasnost Senata Sveučilišta J. J. Strossmayera u Osijeku podbrojem 34/10.c○Ninoslav TruharTisak:Grafika d.o.o.Osijek


iiSADRŽAJ2.3.23 Osnovne grafičke naredbe . . . . . . . . . . . . . . . . 382.3.24 Linijski prikaz podataka . . . . . . . . . . . . . . . . . 382.3.25 Točkasti prikaz podataka . . . . . . . . . . . . . . . . . 403 Složenost algoritama 433.1 Složenost računanja . . . . . . . . . . . . . . . . . . . . . . . . 434 Stabilnost i uvjetovanost 474.1 Pogreške . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.1.1 Stabilnost i točnost . . . . . . . . . . . . . . . . . . . . 494.2 Uvjetovanost . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Sustavi linearnih jednadžbi 575.1 Gaussove eliminacije . . . . . . . . . . . . . . . . . . . . . . . 575.2 Numerička svojstva Gaussovih eliminacija . . . . . . . . . . . 665.2.1 Anali<strong>za</strong> pogreške Gaussovih eliminacija . . . . . . . . . 685.3 Gaussove eliminacije s djelomičnim pivotiranjem . . . . . . . . 695.3.1 Anali<strong>za</strong> pogreške <strong>za</strong> GEDP . . . . . . . . . . . . . . . . 735.4 QR dekompozicija . . . . . . . . . . . . . . . . . . . . . . . . . 785.4.1 Householderova QR dekompozicija (Householderovi reflektori). . . . . . . . . . . . . . . . . . . . . . . . . . 815.4.2 Broj računskih operacija (trošak računanja) . . . . . . 845.4.3 Anali<strong>za</strong> točnosti . . . . . . . . . . . . . . . . . . . . . . 876 Iterativne metode 916.1 Linearne metode . . . . . . . . . . . . . . . . . . . . . . . . . 916.1.1 Jacobijeva metoda . . . . . . . . . . . . . . . . . . . . 956.1.2 Gauss-Seidelova metoda . . . . . . . . . . . . . . . . . 976.2 Metoda najbržeg silaska i konjugiranih gradijenata . . . . . . 996.2.1 Metoda najbržeg silaska . . . . . . . . . . . . . . . . . 1026.2.2 Metoda konjugiranih gradijenata . . . . . . . . . . . . 1037 Problem najmanjih kvadrata 1077.1 Normalne jednadžbe . . . . . . . . . . . . . . . . . . . . . . . 1097.2 Rješavanje LPNK pomoću SVD dekompozicije . . . . . . . . . 1117.2.1 Dekompozicija na singularne vrijednosti . . . . . . . . 1117.2.2 Rješavanje LPNK pomoću dekompozicije na singularnevrijednosti . . . . . . . . . . . . . . . . . . . . . . . . . 114


SADRŽAJiii7.2.3 Rješavanje LPNK pomoću QR dekompozicije . . . . . 1167.3 Uvjetovanost problema najmanjih kvadrata . . . . . . . . . . . 1188 Svojstvene vrijednosti i svojstveni vektori 1238.1 Problem svojstvenih vrijednosti . . . . . . . . . . . . . . . . . 1238.1.1 Iterativne metode <strong>za</strong> simetrične matrice . . . . . . . . 126Literatura 135Indeks 136


ivSADRŽAJ


Poglavlje 1UvodOvaj tekst je prije svega namijenjen studentima <strong>Odjel</strong>a <strong>za</strong> <strong>matematiku</strong> SveučilištaJ. J. Strossmayera u Osijeku <strong>za</strong> potrebe predmeta Numerička <strong>linearna</strong><strong>algebra</strong> M033 koji se sluša u 5. semestru preddiplomskog studija.Što je numerička <strong>linearna</strong> <strong>algebra</strong>? Naravno, osnova je <strong>linearna</strong> <strong>algebra</strong>,tj. u okviru ovog predmeta (odnosno matematičkog područja) proučavajuse isti problemi kao i u linearnoj algebri, ali ovdje s potpuno drugačijeg aspekta.Nas će prije svega <strong>za</strong>nimati:• rješavanje velikih problema pomoću računala, te• proučavanje brzine, točnosti i stabilnosti pojedinih algoritama.Veliki se problemi često pojavljuju u primjenama, npr. pri diskreti<strong>za</strong>cijinekog kontinuiranog problema, kod analize slike ili kod obrade velikih skupovapodataka, npr. konstrukcije kvalitetnih web pretraživača. U okviru našegpredavanja mi ćemo se većinom baviti sa sljedeća tri glavna problema.SLJ (sustav linearnih jednadžbi): <strong>za</strong> <strong>za</strong>danu matricu A ∈ C m×n i vektorb ∈ C m treba odrediti vektor x ∈ C n takav da jeAx = b.LPNK (linearni problem najmanjih kvadrata): <strong>za</strong> <strong>za</strong>danu matricu A ∈ C m×ni vektor b ∈ C m (m ≥ n) treba odrediti x ∈ C n koji minimizira (udaljenost)normu‖Ax − b‖.1


2 1. UvodPSV (problem svojstvenih vrijednosti, (svojstveni problem)): <strong>za</strong> <strong>za</strong>danu matricuA ∈ C n×n treba odrediti vektor x ∈ C n , λ ∈ C takav daAx = λx <strong>za</strong> x ≠ 0.Predavanja su poredana na sljedeći način:Poglavlje 1 (Linearna <strong>algebra</strong> i MATLAB) sadrži kratki pregled osnovnihpojmova linearne algebre i daje osnovne teorijske rezultate koji ćenam biti neophodni u kasnijim anali<strong>za</strong>ma. Takoder dajemo kratki uvod uprogramski paket MATLAB R○ koji će nam služiti kao osnovno orude s kojimćemo provjeravati kvalitetu proučavanih algoritama.Poglavlje 2 (Složenost algoritama) proučava osnovne načine pomoćukojih mjerimo kvalitetu izvodenja algoritama, što ćemo ilustrirati na nekolikojednostavnih primjera.Poglavlje 3 (Stabilnost i uvjetovanost) proučava osjetljivost rješenjaproblema linearne algebre u ovisnosti o malim promjenama (perturbacijama)veličina koje definiraju te probleme, npr. kako rješenje ovisi o <strong>za</strong>okruživanjubrojeva pri rješavanju (pogreške <strong>za</strong>okruživanja).Poglavlje 4 (SLJ) usporeduje nekoliko algoritama <strong>za</strong> rješavanje sustavalinearnih jednadžbi. Istovremeno ćemo proučavati stabilnost i složenost tihalgoritama.Poglavlje 5 (LPNK) proučava osnove linearnih problema najmanjihkvadrata i usporeduje nekoliko algoritama <strong>za</strong> njihovo rješavanje.Poglavlje 6 (Iterativne metode) proučava drugačiju skupinu algoritama<strong>za</strong> rješavanje sustava linearnih jednadžbi: to su iterativne metode koje dajupribližno rješenje promatranog sustava, ali mogu biti znatno brže, stabilnijete bolje mogu koristiti moguću strukturu problema u odnosu na direktnemetode proučavane u Poglavlju 4.Poglavlje 7 (PSV) bavi se algoritmima <strong>za</strong> računanje svojstvenih vrijednostii pripadnih svojstvenih vektora.Iako ćemo proučavati primjere koji neće prelaziti dimenzije od nekolikotisuća, sve navedene metode su konstruirane tako da se mogu primijeniti naproblemima čija je dimenzija nekoliko desetaka tisuća.ZahvaleŽelio bih se <strong>za</strong>hvaliti kolegama i studentima koji su savjetima, diskusijom, ilistrpljivim čitanjem ovog teksta pridonijeli njegovom poboljšanju. Posebno


se <strong>za</strong>hvaljujem kolegi Zoranu Tomljanoviću na izradi <strong>za</strong>dataka u tekstu.3


4 1. Uvod


Poglavlje 2Linearna <strong>algebra</strong> i MATLABU ovom poglavlju nalazi se pregled osnovnih rezultata iz linearne algebrekoji će nam služiti <strong>za</strong> bolje razumijevanje teorije koju ćemo koristiti u našimanali<strong>za</strong>ma.2.1 Vektorske norme i skalarni umnožakDefinicija 2.1 Vektorska norma ‖ · ‖ na C n je preslikavanje ‖ · ‖ : C n → Rkoje <strong>za</strong>dovoljava:a) ‖x‖ ≥ 0 <strong>za</strong> sve x ∈ C n i ‖x‖ = 0 ako i samo ako x = 0,b) ‖αx‖ = |α|‖x‖ <strong>za</strong> sve α ∈ C, x ∈ C n , ic) ‖x + y‖ ≤ ‖x‖ + ‖y‖ <strong>za</strong> sve x, y ∈ C n .Primjer:• p-norma <strong>za</strong> 1 ≤ p < ∞:( n∑ ) 1/p‖x‖ p = |x j | p ∀x ∈ C nj=1• <strong>za</strong> p=2 imamo euklidsku normu:n∑‖x‖ 2 = √ |x j | 2 ∀x ∈ C nj=15


6 2. Linearna <strong>algebra</strong> i MATLAB• <strong>za</strong> p=1 dobivamo‖x‖ 1 =n∑|x j | ∀x ∈ C nj=1• norma L ∞ : ‖x‖ ∞ = max1≤j≤n |x j|Definicija 2.2 Skalarni umnožak na C n je preslikavanje 〈·, ·〉 : C n ×C n −→C koje <strong>za</strong>dovoljava:a) 〈x, x〉 ∈ R + <strong>za</strong> sve x ∈ C n i 〈x, x〉 = 0 ako i samo ako je x = 0.b) 〈x, y〉 = 〈y, x〉 <strong>za</strong> sve x, y ∈ C n .c) 〈x, α y〉 = α 〈x, y〉 <strong>za</strong> sve α ∈ C , x, y ∈ C n .d) 〈x, y + z〉 = 〈x, y〉 + 〈x, z〉 <strong>za</strong> sve x, y, z ∈ C n .Primjer 2.1 Standardni skalarni umnožak na C n dan je sa〈x, y〉 =n∑x j y j ∀x, y ∈ C n . (2.1)j=1Napomena 2.1 Uvjeti c) i d) definicije 2.2 ukazuju da je skalarni umnožak〈·, ·〉 <strong>linearna</strong> funkcija u drugoj komponenti. To se može jednostavno provjeriti.S druge strane, koristeći svojstva skalarnog umnoška vidimo da〈x + y, z〉 = 〈z, x + y〉 = 〈z, x〉 + 〈z, y〉 = 〈x, z〉 + 〈y, z〉 <strong>za</strong> sve x, y, z ∈ C n ,i〈α x, y〉 = α〈x, y〉 <strong>za</strong> sve α ∈ C, x, y ∈ C n .Vidimo da je skalarni umnožak anti-linearan s obzirom na prvu komponentu.Definicija 2.3 Dva vektora x, y su okomita (ortogonalna) s obzirom naskalarni umnožak 〈·, ·〉 ako je 〈x, y〉 = 0.


2.1. Vektorske norme i skalarni umnožak 7Lema 2.1 Neka je 〈·, ·〉 : C n ×C n → C skalarni umnožak. Tada je preslikavanje‖ · ‖ : C n → R definirano sa‖x‖ = √ 〈x, x〉∀x ∈ C nvektorska norma.Dokaz. Trebamo provjeriti <strong>za</strong>dovoljava li preslikavanje ‖ · ‖ : C n → Ruvjete a) − c) definicije 2.1.a) Budući da je 〈·, ·〉 skalarni umnožak, imamo 〈x, x〉 ≥ 0 <strong>za</strong> sve x ∈ C n ,što znači da je √ 〈x, x〉 je dobro definirano i nenegativno. Posebno imamob) Neka su α ∈ C i x ∈ C n . Imamo‖x‖ = 0 ⇐⇒ 〈x, x〉 = 0 ⇐⇒ x = 0‖αx‖ = √ 〈α x, α x〉 = √ α α〈x, x〉 = |α| · ‖x‖c) Primijetite da dokaz Cauchy-Schwarzove nejednakosti|〈x, y〉| ≤ ‖x‖‖y‖∀x, y ∈ C nslijedi iz svojstava skalarnog umnoška tako da ovdje možemo koristiti tunejednakost bez pretpostavke o tome je li ‖ · ‖ norma ili ne. Imamo‖x + y‖ 2 = 〈x + y, x + y〉= 〈x, x〉 + 〈x, y〉 + 〈y, x〉 + 〈y, y〉≤ ‖x‖ 2 + 2|〈x, y〉| + ‖y‖ 2≤ ‖x‖ 2 + 2‖x‖‖y‖ + ‖y‖ 2= (‖x‖ + ‖y‖) 2 ∀x, y ∈ C n .Time smo doka<strong>za</strong>li lemu.Matricu A ∈ C m×n <strong>za</strong>pisujemo kao⎛⎞a 11 a 12 . . . a 1na 21 a 22 . . . a 2nA = ⎜⎟⎝ . . . ⎠ = (a ij) ija m1 a m2 . . . a mn✷


8 2. Linearna <strong>algebra</strong> i MATLABDefinicija 2.4 Neka je dana matrica A ∈ C m×n . Pripadnu adjungiranumatricu A ∗ ∈ C n×m definiramo s A ∗ = (a ji ) ij . (Ako je A realna matrica, tj.<strong>za</strong> A ∈ R m×n imamo A ∗ = A T .)Koristeći gornju definiciju, standardni skalarni umnožak možemo pisatikao〈x, y〉 = x ∗ yDefinicija 2.5 Za matricu Q ∈ C m×n , m ≥ n, reći ćemo da je unitarnaako Q ∗ Q = I, to jest ako su stupci matrice Q ortonormirani s obzirom nastandardni skalarni umnožak. (Ako Q ∈ R m×n <strong>za</strong>dovoljava Q T Q = I, kažemoda je matrica Q ortogonalna.)Matrica A ∈ C n×n je hermitska ako vrijedi A ∗ = A (<strong>za</strong> realne matrice koristimoizraz simetrična).Hermitska matrica A ∈ C n×n je pozitivno definitna ako vrijedi da jex ∗ Ax > 0 <strong>za</strong> sve x ∈ C n \ {0} (pozitivno semidefinitna ako je <strong>za</strong> x ∗ Ax ≥ 0<strong>za</strong> sve x ∈ C n ).Napomena 2.21) U većem dijelu teksta (ako drugačije ne bude istaknuto) oznaka 〈·, ·〉predstavljat će standardni skalarni umnožak iz definicije 2.2. Primijetimo dastandardni skalarni umnožak <strong>za</strong>dovoljava〈Ax, y〉 = (Ax) ∗ y = x ∗ A ∗ y = 〈x, A ∗ y〉<strong>za</strong> sve x, y ∈ C n .2) Ako je A ∈ C n×n hermitska i pozitivno definitna matrica, tada izraz〈x, y〉 A = 〈x, Ay〉definira skalarni umnožak, a izraz∀x, y ∈ C n‖x‖ A = √ 〈x, x〉 A∀x ∈ C ndefinira vektorsku normu na C n .Zadaci


2.2. Matrične norme 91. Neka je A ∈ C n×n hermitska i pozitivno definitna matrica. Pokažite datada izraz〈x, y〉 A = 〈x, Ay〉definira skalarni umnožak.2. Pokažite da je <strong>za</strong> hermitsku pozitivno definitnu matricu A ∈ C n×nizrazom‖x‖ A = √ 〈x, x〉 A ∀x ∈ C ndefinirana vektorska norma na C n .2.2 Matrične normeDefinicija 2.6 Matrična norma na C n×n je preslikavanje ‖ · ‖ : C n×n → R<strong>za</strong> koje vrijedi:a) ‖A‖ ≥ 0 <strong>za</strong> sve A ∈ C n×n i ‖A‖ = 0 ako i samo ako je A = 0b) ‖α A‖ = |α| ‖A‖ <strong>za</strong> sve α ∈ C, A ∈ C n×nc) ‖A + B‖ ≤ ‖A‖ + ‖B‖ <strong>za</strong> sve A, B ∈ C n×nd) ‖AB‖ ≤ ‖A‖ ‖B‖ <strong>za</strong> sve A, B ∈ C n×n .Napomena 2.3 Uvjeti a),b) i c) pokazuju da je ‖ · ‖ vektorska norma navektorskom prostoru C n×n (C n×n je vektorski prostor kvadratnih matrica).Medutim, uvjet d) ima smisla jedino <strong>za</strong> matrice, jer općenito množenje vektoranije definirano (vektorski prostori nisu općenito snabdjeveni vektorskimumnoškom).Definicija 2.7 Neka je <strong>za</strong>dana vektorska norma ‖ · ‖ v na C n . Inducirananorma ‖ · ‖ na C n×n definira se sa‖A‖ m = maxx̸=0‖Ax‖ v‖x‖ v= max‖y‖ v=1 ‖Ay‖ v ,<strong>za</strong> sve A ∈ C n×n .


10 2. Linearna <strong>algebra</strong> i MATLABTeorem 2.1 Inducirana norma ‖·‖ m vektorskom normom ‖·‖ v je matričnanorma <strong>za</strong> koju vrijedi‖I‖ m = 1i<strong>za</strong> sve A ∈ C n×n i x ∈ C n .‖Ax‖ v ≤ ‖A‖ m ‖x‖ vDokaz. a) Očito je iz definicije da je ‖A‖ m∈ R <strong>za</strong> sve A ∈ C n×n . Izdefinicije takoder slijedi‖A‖ m= 0 ⇐⇒‖Ax‖ v= 0‖x‖ v∀x ≠ 0⇐⇒ ‖Ax‖ v= 0 ∀x ≠ 0 ⇐⇒ Ax = 0 ∀x ≠ 0 ⇐⇒ A = 0.b) Za α ∈ C i A ∈ C n×n imamo‖αA‖ m= maxx̸=0c) Za A, B ∈ C n×n vrijedi‖αAx‖ v‖x‖ v= maxx̸=0|α| ‖Ax‖ v‖x‖ v= |α| ‖A‖ m‖A + B‖ m= maxx̸=0‖Ax + Bx‖ v‖x‖ v≤maxx̸=0‖Ax‖ v+ ‖Bx‖ v‖x‖ v≤maxx̸=0‖Ax‖ v‖x‖ v+ maxx̸=0‖Bx‖ v‖x‖ v= ‖A‖ m+ ‖B‖ m.Prije nego provjerimo vrijedi li uvjet d) iz definicije 2.6, primijetimo‖I‖ = maxx̸=0‖Ix‖ v‖x‖ v= maxx̸=0‖x‖ v‖x‖ v= 1išto daje‖A‖ m= maxy≠0‖Ay‖ v‖y‖ v≥ ‖Ax‖ v‖x‖ v∀x ∈ C n \{0}‖Ax‖ v≤ ‖A‖ m‖x‖ v∀x ∈ C n .


2.2. Matrične norme 11d) Koristeći gornju nejednakost sada možemo pisati‖AB‖ m= maxx̸=0‖ABx‖ v‖x‖ v≤maxx̸=0‖A‖ m‖Bx‖ v‖x‖ v= ‖A‖ m‖B‖ m.□Uobičajeno je koristiti istu oznaku <strong>za</strong> induciranu normu i <strong>za</strong> vektorskunormu. U ovom ćemo se tekstu držati te konvencije.Prisjetite se da <strong>za</strong> vektor x ∈ C n kažemo da je svojstveni vektor matriceA ∈ C n×n , kome pripada svojstvena vrijednost λ ∈ C, ako vrijediAx = λx, x ≠ 0. (2.2)Definicija 2.8 Spektralni radijus matrice A ∈ C n×n definiramo saρ(A) = max{|λ| ∣ ∣ λ svojstvena vrijednost matrice A}.Teorem 2.2 Za bilo koju matričnu normu ‖·‖, bilo koju matricu A ∈ C n×ni bilo koji l ∈ N vrijediρ(A) l ≤ ‖A l ‖ ≤ ‖A‖ l .Dokaz. Iz definicije spektralnog radijusa ρ(A) vidimo da možemo naći svojstvenivektor x <strong>za</strong> koji vrijedi Ax = λ x i ρ(A) = |λ|. Neka je X ∈ C n×nmatrica kojoj su svi stupci jednaki vektoru x. Tada imamo A l X = λ l X istoga‖A l ‖‖X‖ ≥ ‖A l X‖ = ‖λ l X‖ = |λ| l ‖X‖ = ρ(A) l ‖X‖.Podijelimo li sve sa ‖X‖ dobivamo ρ(A) l ≤ ‖A l ‖. Druga nejednakost slijediiz svojstva d) definicije 2.6.✷Definicija 2.9 Matrica A ∈ C n×n je normalna ako A ∗ A = AA ∗ .Lema 2.2 A ∈ C n×n je normalna ako i samo ako ima n ortonormiranihsvojstvenih vektora, odnosno n svojstenih vektora x 1 , . . .,x n takvih da je〈x i , x j 〉 = δ ij <strong>za</strong> sve i, j = 1, . . .,n.(δ ij je Kroneckerov simbol i definira se kao: δ ij = 1 <strong>za</strong> i = j i δ ij = 0 <strong>za</strong>i ≠ j)


12 2. Linearna <strong>algebra</strong> i MATLABTeorem 2.3 Neka je A ∈ C n×n normalna matrica, tadaρ(A) l = ‖A l ‖ 2 = ‖A‖ l 2 ∀ l ∈ N.Dokaz. Neka je x 1 , . . .,x n ortonormirana ba<strong>za</strong> sastavljena od svojstvenihvektora matrice A s odgovarajućim svojstvenim vrijednostima λ 1 , . . .,λ n .Bez smanjenja općenitosti možemo pretpostaviti da je ρ(A) = |λ 1 |.Neka je x ∈ C n . Tada možemo pisatix =n∑α j x jj=1što dajeSlično dobivamoAx =Iz ovoga slijedin∑‖x‖ 2 2 = |α j | 2 .j=1n∑α j λ j x j i ‖Ax‖ 2 2 =j=1n∑|α j λ j | 2 .j=1‖Ax‖ 2‖x‖ 2=≤(∑ nj=1 |α jλ j | 2) 1/2( ∑ nj=1 |α j| 2) 1/2(∑ nj=1 |α j| 2 |λ 1 | 2∑ nj=1 |α j| 2 ) 1/2što povlači ‖A‖ 2 ≤ ρ(A).Primjenom teorema 2.2 dobivamo= |λ 1 | = ρ(A) ∀x ∈ C nρ(A) l ≤ ‖A l ‖ 2 ≤ ‖A‖ l 2 ≤ ρ(A) l<strong>za</strong> sve l ∈ N. Time je teorem doka<strong>za</strong>n.✷Koristeći metode slične slične onima koje smo koristili u dokazu prethodnogteorema, možemo doka<strong>za</strong>ti sljedeći teorem.


2.2. Matrične norme 13Teorem 2.4 Za sve matrice A ∈ C n×n vrijedi‖A‖ 2 = √ ρ(A ∗ A).Prethodni teorem izmedu ostalog daje jednu karakteri<strong>za</strong>ciju matričnenorme inducirane vektorskom 2-normom. Sljedeći teorem eksplicitno opisujematričnu normu induciranu vektorskom ∞-normom.Teorem 2.5 Matrična norma inducirana vektorskom normom ∞ računa sepomoću jednakosti:n∑‖A‖ ∞ = max |a ij |.1≤i≤nj=1Dokaz. Za x ∈ C n vrijedi∣ ‖Ax‖ ∞ = max |(Ax) n∑ ∣∣∣∣i| = maxa ij x j1≤i≤n 1≤i≤n ∣≤max1≤i≤nn∑|a ij |‖x‖ ∞j=1j=1iz čega slijedi‖Ax‖ ∞‖x‖ ∞≤ max1≤i≤nn∑|a ij |j=1<strong>za</strong> sve x ∈ C n i stoga ‖A‖ ∞ ≤ max1≤i≤nn∑|a ij |.Za dokaz donje ograde i<strong>za</strong>berimo k ∈ {1, 2, . . ., n} takav daj=1max1≤i≤nn∑|a ij | =j=1n∑|a kj |j=1


14 2. Linearna <strong>algebra</strong> i MATLABi definirajmo x ∈ C n tako da x j = a kj /|a kj | <strong>za</strong> sve j = 1, . . ., n. Tada imamo‖x‖ ∞ = 1 i∣ ∣∣∣ ∑‖A‖ ∞ ≥ ‖Ax‖ max n1≤i≤n j=1 a a kjij∞|a kj | ∣=‖x‖ ∞ 1n∑ a kj≥a∣ kj |aj=1 kj | ∣n∑= |a kj |Time je teorem doka<strong>za</strong>n.Zadacij=1= max1≤i≤nn∑|a ij |j=1✷1. Pokažite da je preslikavanje ν(A) : C n×n → R, n ∈ Nmatrična norma.ν(A) = n · max |a ij |, A ∈ C n×n ,i,j2. Pokažite da <strong>za</strong> matričnu normu induciranu s vektorskom normom ‖ · ‖ 1na C n vrijedin∑‖A‖ 1 = max |a ij |.1≤j≤n3. Pokažite da <strong>za</strong> sve kvadratne matrice A ∈ C n×n funkcija ‖A‖ max =max i,j |a ij | definira vektorsku normu na prostoru matrica n × n, ali tonije matrična norma.4. Neka su A, B, C ∈ C n×n takve da je A = BC. Pokažite da jei=1‖A‖ max ≤ ‖B‖ ∞ ‖C‖ maxi‖A‖ max ≤ ‖B‖ max ‖C‖ 1 .


2.3. Kratki uvod u MATLAB 155. Ako su U i V unitarne matrice odgovarajuće dimenzije, tada matričnunormu ‖ · ‖ <strong>za</strong> koju vrijedi‖UAV ‖ = ‖A‖ ,nazivamo unitarno invarijantna norma. Dokažite da je matrična norma‖ · ‖ 2 unitarno invarijantna norma.6. Preslikavanje ‖A‖ F : C n×n → R, n ∈ N <strong>za</strong>dano sa‖A‖ F = max |a ij |, A ∈ C n×n ,i,jje Frobeniusova norma na matricama C n×n . Pokažite da je ‖A‖ F =√trag(A∗ A) i dokažite da je ‖ · ‖ F unitarno invarijantna norma.7. Dokažite da matrične norme ‖ · ‖ 1 i ‖ · ‖ ∞ nisu unitarno invarijantnenorme.( ) −1 −38. Neka je A = . Izračunajte ‖A‖−2 41 , ‖A‖ ∞ , ‖A‖ F i ‖A‖ 2 .[Rješenje: ‖A‖ 1 = 7, ‖A‖ ∞ = 6, ‖A‖ F = √ 30 i ‖A‖ 2 = √ 15 + 5 √ 5 ]9. Dokažite da je‖A‖ 2 2 ≤ ‖A‖ 1‖A‖ ∞ .10. Dokažite da <strong>za</strong> norme ‖ · ‖ 2 i ‖ · ‖ F vrijedi‖A‖ 2 ≤ ‖A‖ F ≤ √ n‖A‖ 2 .[Uputa <strong>za</strong> rješavanje <strong>za</strong>datka: Iskoristite tvrdnju da <strong>za</strong> normalnu matricuN ∈ C n×n postoji unitarna matrica U ∈ C n×n takva da jeU ∗ NU = Λ, gdje je Λ dijagonalna matrica koja sadrži svojstvene vrijednostimatrice N na dijagonali.]2.3 Kratki uvod u MATLAB2.3.1 Što je MATLAB?MATLAB (Matrix Laboratory) je programski jezik visokih performansi namijenjen<strong>za</strong> tehničke proračune. Objedinjava računanje, vizuali<strong>za</strong>ciju i programiranjeu lako uporabljivoj okolini u kojoj su problem i rješenje definiranipoznatom matematičkom notacijom. Uobičajena je uporaba MATLAB-a <strong>za</strong>:


16 2. Linearna <strong>algebra</strong> i MATLAB• <strong>matematiku</strong> i izračune,• razvoj algoritama,• modeliranje, simulaciju, analizu,• analizu i obradu podataka, vizuali<strong>za</strong>ciju,• znanstvenu i inženjersku grafiku,• razvoj aplikacija, uključujući i izgradnju grafičkog korisničkog sučelja.MATLAB je i okružje i programski jezik. Jedna od jačih strana MATLABaje činjenica da njegov programski jezik omogućava izgradnju vlastitih alata<strong>za</strong> višekratnu uporabu. Možete lako sami kreirati vlastite funkcije i programe(poznate kao M-datoteke) u kodu MATLAB-a. Skup specijaliziranih M-datoteka <strong>za</strong> rad na odredenoj klasi problema naziva se Toolbox. S MATLABomdolazi nekoliko Toolbox-ova koji su i više od kolekcije korisnih funkcija.Oni predstavljaju rezultate istraživanja vrhunskih stručnjaka iz područja upravljanja,obrade signala, identifikacije procesa, i drugih. Dakle, uz pomoćMATLAB-a možete sami razviti nove ili adaptirati postojeće Toolbox-ove <strong>za</strong>rješavanje odredenih problema.Naredbe <strong>za</strong> MATLAB unosimo u komandni prozor, osnovni prozor MAT-LAB-a. Taj je prozor neka vrsta terminala operacijskog sustava i u njemu vrijedei osnovne terminalske operacijske naredbe <strong>za</strong> manipulaciju datotekama.Trenutni direktorij možemo promijeniti poznatom naredbom cd, a izvršavatimožemo funkcije/naredbe koje su u path-u. Osim toga, uz MATLAB novijeverzije dolazi i vlastiti editor M-datoteka s debugerom.Osnovni elementi programskog paketa MATLAB su:Razvojna okolina.Skup alata <strong>za</strong> lakšu uporabu MATLAB-a i njegovih funkcija. Mnogi odovih alata (u verziji 6) realizirani su u grafičkom sučelju. To su MATLABdesktop, komandni prozor (engl. command window), povijest naredbi (engl.command history), editor i debuger, te preglednici help-a, radnog prostora(engl. workplace), datoteka te path-a.Biblioteka matematičkih funkcija.Ogromna kolekcija računalnih algoritama.Programski jezik.MATLAB programski jezik je jezik visokog stupnja, matrično orijentiran,s naredbama uvjetnih struktura, funkcija, strukturiranim podacima,


2.3. Kratki uvod u MATLAB 17ulazom/izlazom te nekim svojstvima objektno-orijentiranog programiranja.Ovaj programski jezik omogućava programiranje na nižoj razini (kao npr. <strong>za</strong>potrebe studenata) ali i <strong>za</strong> složenije programe većih razmjera.Grafički alat.MATLAB raspolaže velikim mogućnostima <strong>za</strong> grafički prikaz podataka,vektora i matrica, kao i notaciju i printanje tih dijagrama. Postoje funkcijevisokog stupnja <strong>za</strong> 2D i 3D vizuali<strong>za</strong>ciju podataka, obradu slike, animaciju.Takoder postoje i funkcije <strong>za</strong> izgradnju grafičkih sučelja <strong>za</strong> vaše MATLABaplikacije.Sučelje programskih aplikacija. Biblioteka (engl. Application ProgramInterface - API) koja omogućava razvoj C i Fortran programa kojimogu biti u interakciji s MATLAB-om.U ovom dokumentu bit će poka<strong>za</strong>ne samo osnovne funkcije MATLAB-adostatne <strong>za</strong> početak samostalnog rada u MATLAB-u. Za sve daljnje informacijeproučite MATLAB-ov help ili dodatne upute koje dolaze s instalacijom.2.3.2 Jednostavni matematički računiMATLAB može poslužiti kao vrhunski linijski kalkulator, ali krenimo odosnovnih funkcija:>> 4*25+3ans =103U radnom prostoru MATLAB-a možemo definirati varijable:>> a=4a =4>> b=25;>> c=3;>> d=a*b+cd =103Primijetimo da ukoliko naredbu <strong>za</strong>vršimo s ’;’ MATLAB ne ispisuje rezultatte naredbe. Osim toga, ’;’ služi <strong>za</strong> razdvajanje više naredbi u jednom redu.


18 2. Linearna <strong>algebra</strong> i MATLABUkoliko je naredba predugačka <strong>za</strong> jedan red,ako na kraju tog reda dodamo’...’, ista se nastavlja u sljedećem redu.Kao i kod svih računalnih jezika tako i ovdje postoje neka osnovna pravilakod imenovanja varijabli:• potrebno je razlikovati uporabu velikih/malih slova,• maksimalni broj znakova je 631.5,• prvi znak mora biti slovo.MATLAB ima sljedeće posebne varijable čiji su nazivi rezervirani: ans,pi, eps, flops, inf, nan, i, j, nargin, nargout, realmin, realmax.2.3.3 Kompleksni brojeviJedna od pogodnosti MATLAB-a je jednostavnost izvršavanja operacija skompleksnim brojevima. Možemo ih formirati na više načina, a operacije skompleksnim brojevima analogne su operacijama s realnim brojevima.>> kmpl1=2-3ikmpl1 =2.0000 - 3.0000i>> kmpl2=6+sin(pi/3)*ikmpl2 =6.0000 + 0.8660i>> kmpl3=(kmpl1-kmpl2*2)*kmpl1kmpl3 =-34.1962 +20.5359iTakoder je moguća jednostavna konverzija izmedu različitih <strong>za</strong>pisa kompleksnihbrojevaA · e θ·jpolarne koordinatea + b · ipravokutne koordinatepomoću funkcija real, imag, abs, angle:


2.3. Kratki uvod u MATLAB 19>> p_kmpl1=abs(kmpl1)*exp(angle(kmpl1)*j)p_kmpl1 =2.0000 - 3.0000i>> real(p_kmpl1)ans =2>> imag(p_kmpl1)ans =-32.3.4 Osnovne matematičke funkcijeMATLAB podržava osnovne matematičke funkcije (kao npr. abs(x),acos(x),sqrt(x), sin(x), tan(x), asin(x), atan(x), ...).>> x=sqrt(2)/2x =0.7071>> y=asin(x)y =0.7854>> y_s=y*180/piy_s =45.0000Zanimljiv je primjer funkcije arkus tangensa <strong>za</strong> koju pored funkcije atanpostoji i funkcija atan2 koja ima domenu u sva četiri kvadranta:>> 180/pi*atan(-2/3)ans =-33.6901>> 180/pi*atan2(-2,3)ans =-33.6901>> 180/pi*atan2(2,-3)ans =146.3099


20 2. Linearna <strong>algebra</strong> i MATLAB2.3.5 MATLAB-ov radni prostorDok radite u komandnom prozoru, MATLAB pamti varijable koje ste koristili.Varijable koje su u radnom prostoru možemo vidjeti u preglednikuradnog prostora (prozor Workplace) ili u komandnom prozoru naredbom who(ispis varijabli) i whos (detaljniji ispis varijabli). Na bilo koji od ovih načinamožemo doći do informacija o tipu odredene varijable, njenoj veličini i dimenziji.Tako je u našem primjeru (u komandnom prozoru):>> whoYour variables are:a b d kmpl2 p_kmpl1 yans c kmpl1 kmpl3 x>> whosName Size Elements Bytes Density Complexa 1 by 1 1 8 Full Noans 1 by 1 1 8 Full Nob 1 by 1 1 8 Full Noc 1 by 1 1 8 Full Nod 1 by 1 1 8 Full Nokmpl1 1 by 1 1 16 Full Yeskmpl2 1 by 1 1 16 Full Yeskmpl3 1 by 1 1 16 Full Yesp_kmpl1 1 by 1 1 16 Full Yesx 1 by 1 1 8 Full Noy 1 by 1 1 8 Full NoGrand total is 11 elements using 120 bytesUkoliko neku vrijablu želimo izbrisati iz radnog prostora koristimo naredbuclear na način:>> clear p_kmpl1 x y ans>> whoYour variables are:a c kmpl1 kmpl3b d kmpl2


2.3. Kratki uvod u MATLAB 21Samom naredbom clear bez dodatnih opcija izbrisali bismo sve varijableiz radnog prostora.Ista mogućnost stoji nam na raspolaganju s preglednikom radnog prostora- pritiskom desne tipke miša možemo odabrati delete <strong>za</strong> brisanje odabranevarijable (ili ikonicu <strong>za</strong> brisanje) teclear Workplace <strong>za</strong> brisanje svih varijabliiz radnog prostora.2.3.6 Spremanje i ponovna uporaba podatakaSadržaj radnog prostora možemo spremiti u binarnon formatu u željenu datotekuime.mat i to na nekoliko načina:• iz menija File—Save Workspace as...• iz preglednika radnog prostora - pritiskom desne tipke miša odabiromSave Workplace as... ili ikonicom <strong>za</strong> spremanje.• naredbom u komandnom prozoru>> save imeOpis uporabe svake naredbe/funkcije u komandnom prozoru MATLAB-amožemo dobiti na sljedeći način:>> help saveSAVE Save workspace variables on disk.SAVE fname saves all workspace variables to the binary "MATfile"namedfname.mat. The data may be retrieved with LOAD.Omitting the filename causes SAVE to use the defaultfilename "MATLAB.mat".SAVE fname X saves only X.SAVE fname X Y Z saves X, Y, and Z.SAVE fname X Y Z -ascii uses 8-digit ASCII form instead ofbinary.SAVE fname X Y Z -ascii -double uses 16-digit ASCII form.SAVE fname X Y Z -ascii -double -tabs delimits with tabs.If fname is "stdio", SAVE sends the data to standard output.The binary formats used in MAT-files depend upon the size andeach matrix. Small matrices and matrices with any nonintegerentries type of are saved in floating point format requiring


22 2. Linearna <strong>algebra</strong> i MATLAB8 bytes per real element. Large, integer matrices may be savedin compact formats requiring only 1, 2 or 4 bytes per e-lement. See the External Interface Library for more details,including C and Fortran routines to read and write MAT-filesfrom external programs. See also LOAD, DIARY, FWRITE, FPRINTF,IMWRITE.Ukoliko želimo spremiti samo neke varijable u datoteku data.mat odgovarajućanaredba je>> save data kmpl1 kmpl2 kmpl3Tada je datoteka pohranjena u trenutnom direktoriju.Osim binarnog formata <strong>za</strong> spremanje se može koristiti i ASCII format,ali samo iz komandnog prozora. Tako s naredbom>> save data.dat kmpl1 kmpl2 kmpl3 -asciisnimamo željene varijable iz popisa u ACII datoteku data.dat.Učitavanje željenih podataka iz vanjske datotekeime.mat može se provestina nekoliko načina:• iz menija File—Load Workspace...• iz preglednika radnog prostora - pritiskom desne tipke miša i odabiromImport Data... ili ikonicom <strong>za</strong> otvaranje• naredbom u komandnom prozoru>> load imePodatke <strong>za</strong>pisane u datoteci s ASCII formatom možemo učitati u MAT-LAB primjenom čarobnjaka iz menija File—Import Data.... U komandnomprozoru ASCII datoteka se učitava naredbom >> load data.dat. Pri tomedatoteka data.dat mora imati oblik matrice, tj. jednak broj elemenata usvakom retku (ti elementi mogu biti odvojeni razmakom, <strong>za</strong>rezom ili tabularom).Ukoliko redak <strong>za</strong>počinje znakom %, taj se redak ne učitava. MAT-LAB ovakvom naredbom u radni prostor sprema varijablu (matricu) imenadata.Ponovnim učitavanjem (ili definiranjem) varijable s istim imenom varijablapoprima novu vrijednost.


2.3. Kratki uvod u MATLAB 232.3.7 Formiranje matricaKrenimo <strong>za</strong> početak od <strong>za</strong>pisa matrica u MATLAB-u. Elemente matriceunosimo izmedu <strong>za</strong>grada [ ]:>> A=[1,2,3;4,5,6;7,8,9]A =1 2 34 5 67 8 9>> B=[1 2 3;4 5 6;7 8 9]B =1 2 34 5 67 8 9Vektor, odnosno jednodimenzionalno polje možemo <strong>za</strong>pisati na sljedećinačin>> x=[1 2 3]x =1 2 3Dakle, razdvajanjem elemenata s razmacima ili <strong>za</strong>rezima definiramo elementeu različitim stupcima, dok razdvajanjem s ; ili novim redom definiramo elemente u različitim redovima.Moguće je i automatizirano formiranje vektora>> x=(0:0.1:1)x =Columns 1 through 70 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000Columns 8 through 110.7000 0.8000 0.9000 1.0000>> y=linspace(0,1,11)y =Columns 1 through 7


24 2. Linearna <strong>algebra</strong> i MATLAB0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000Columns 8 through 110.7000 0.8000 0.9000 1.0000U MATLAB-u postoje funkcije kojima se mogu definirati matrice čiji suelementi jednaki jedinici i nuli (nul matrica).>> P=ones(3)P =1 1 11 1 11 1 1>> Q=zeros(3)Q =0 0 00 0 00 0 02.3.8 Pristupanje dijelu matricePojedini element matrice možemo ispisati definiranjem njegova retka i stupca(npr. element matrice A u prvom retku i drugom stupcu).>> A(1,2)ans =2Ukoliko želimo vidjeti prva dva retka matrice A>> A(1:2,:)ans =1 2 34 5 6Moguća je korekcija pojedinih elemenata (npr. želimo li promijeniti <strong>za</strong>dnjiredak matrice A vektorom-retkom r)>> r=[101 102 103];>> A(3,:)=r


2.3. Kratki uvod u MATLAB 25A =1 2 34 5 6101 102 103ili nadopuna matrice (npr. želimo li matricu B proširiti s dodatnim redomjednakim vektoru-retku r)>> B=[B;r]B =1 2 34 5 67 8 9101 102 103Ukoliko bismo kod matrice A definirali element u drugom redu i šestomstupcu>> A(2,6)=1A =1 2 3 0 0 04 5 6 0 0 1101 102 103 0 0 0matrica se proširuje na potrebnu dimenziju dodavajući na novodefiniranimmjestima nule. Ukoliko dio matrice izjednačimo s praznom matricom [ ],isti dio se briše čime se početna matrica svodi na ostatak:>> A(:,4:5)=[ ]A =1 2 3 04 5 6 1101 102 103 02.3.9 Operacije skalar - matricaMatrici možemo dodati i/ili oduzeti skalar pri čemu rezultat <strong>za</strong>država izvornudimenziju


26 2. Linearna <strong>algebra</strong> i MATLAB>> A=[1,2,3;4,5,6;7,8,9];>> A-1ans =0 1 23 4 56 7 8>> 2*A-1ans =1 3 57 9 1113 15 17Takoder je definirana operacija potenciranja matrice sa skalarom>> A.^2ans =1 4 916 25 3649 64 81Pri tome se korišti ’.^’ <strong>za</strong> označavanje operacije potenciranja koja seodnosi na elemente.2.3.10 Operacije matrica - matricaZa početak pokažimo kako se dobija transponirana matrica>> A=[1,2,3;4,5,6;7,8,9]A =1 2 34 5 67 8 9>> B=A’B =1 4 72 5 83 6 9Za matrice jednake dimenzije moguće je definirati operaciju zbrajanja


2.3. Kratki uvod u MATLAB 27>> A+Bans =2 6 106 10 1410 14 18>> 2*A-Bans =1 0 -16 5 411 10 9Ukoliko matrice imaju odgovarajuće dimenzije (ako je broj stupaca prvejednak broju redaka druge), moguće je izvršiti i operaciju množenja>> A*Bans =14 32 5032 77 12250 122 194>> C=[1 1;2 2;3 3]C =1 12 23 3>> A*Cans =14 1432 3250 50>> D=[1 1 1; 2 2 2]D =1 1 12 2 2>> D*Aans =12 15 1824 30 36


28 2. Linearna <strong>algebra</strong> i MATLABU prethodnom poglavlju navedeno je potenciranje koje se odnosilo naelemente a koje je bilo naznačeno s ’.^’. Potenciranje koje bi se odnosilona cijelu matricu je>> A^2ans =30 36 4266 81 96102 126 150što je <strong>za</strong>pravo>> A*Aans =30 36 4266 81 96102 126 1502.3.11 Operacije na elementima matricaOvdje su opisane operacije koje se provode po odgovarajućim elementimamatrica. Ukoliko su matrice jednakih dimenzija, moguće je primijeniti operacijemnoženja (’.*’), dijeljenja (’./’ s desne i ’.\’ s lijeve strane) ipotenciranja (’.^’) po elementima>> A,DA =1 2 34 5 67 8 9D =1 1 12 2 23 3 3>> A.*Dans =1 2 38 10 1221 24 27


2.3. Kratki uvod u MATLAB 29>> A./Dans =1.0000 2.0000 3.00002.0000 2.5000 3.00002.3333 2.6667 3.0000>> D./Aans =1.0000 0.5000 0.33330.5000 0.4000 0.33330.4286 0.3750 0.3333>> A.\Dans =1.0000 0.5000 0.33330.5000 0.4000 0.33330.4286 0.3750 0.3333>> A.^Dans =1 2 316 25 36343 512 7292.3.12 Dimenzije matrica i vektoraVeć je ranije opisano kako doznati informaciju o odredenoj varijabli. Takose dimenzija podatka iz radnog prostora može vidjeti u pregledniku radnogprostora ili iz komandnog prozora.>> whosName Size Elements Bytes Density ComplexA 3 by 3 9 72 Full NoB 3 by 3 9 72 Full NoC 3 by 2 6 48 Full NoD 3 by 3 9 72 Full NoP 3 by 3 9 72 Full NoQ 3 by 3 9 72 Full Noans 1 by 1 1 8 Full Nor 1 by 3 3 24 Full Nototal is 55 elements using 440 bytes


30 2. Linearna <strong>algebra</strong> i MATLABKad nam je potrebna dimenzija odredene matrice u nekim algoritmimamožemo koristiti sljedeće funkcije>> R=[1 2 3 4;5 6 7 8]R =1 2 3 45 6 7 8>> [red,stup]=size(R)red =2stup =4>> length(R)ans =42.3.13 Sustav linearnih jednadžbiVeć je spomenuto da je problem rješavanja sustava linearnih jednadžbi jedanod najčešćih problema linearne algebre. Promotrimo na primjer sljedeći sustav⎡ ⎤ ⎡ ⎤ ⎡ ⎤1 2 3 x 1 366⎣4 5 6⎦ · ⎣x 2⎦ = ⎣844⎦7 8 0 x 3 351A · x = bKad je osigurana egzistencija rješenja sustava linearnih jednadžbi postojinekoliko pristupa <strong>za</strong> rješavanje sustava: Gaussova eliminacija, LU faktori<strong>za</strong>cijaili izravna uporaba inverzne matrice A −1 . Analitičko rješenje može se<strong>za</strong>pisati u oblikux = A −1 · b .Diskusija o analitičkom i numeričkom rješenju sustava linearnih jednadžbiizvan je interesa ovog teksta. Cilj nam je poka<strong>za</strong>ti kako se MATLAB možeprimijeniti u rješavanju ovih problema. Riješimo gornji sustav pomoću inverznematrice:


2.3. Kratki uvod u MATLAB 31>> A=[1 2 3;4 5 6;7 8 0]A =1 2 34 5 67 8 0>> b=[366;804;351]b =366804351>> x=inv(A)*bx =25.000022.000099.0000Uz korištenje inverzne matrice moguće je riješiti sustav primjenom operacijedijeljenja s lijeve strane pri čemu se koristi pristup LU faktori<strong>za</strong>cije>> x=A\bx =25.000022.000099.0000Ovaj drugi pristup odredivanju rješenja češće se primjenjuje iz nekolikorazloga. Jedan od osnovnih je u tome što ima manje operacija od pristupa sinverznom matricom, što ga čini bržim. Osim toga, u slučaju velikih matricadrugi pristup daje točnija rješenja.Zanimljivo je ovdje iznijeti i funkciju kojom možemo odrediti determinantumatrice>> det(A)ans =27Od interesa mogu biti i sljedeće funkcije: eig(A) (vlastite vrijednostii vlastiti vektori matrice), norm(A) (norma matrice), poly(A) (karakterističnipolinom matrice), rank(A) (rang matrice), trace(A) (trag matrice),


32 2. Linearna <strong>algebra</strong> i MATLABte specijalne matrice eye(n) (jedinična matrica dimenzije n), ones(n,m)(matrica dimenzije n × m s elementima jednakim 1), zeros(n,m) (matricadimenzije n × m s elementima jednakim 0 - nul matrica)2.3.14 Programi i funkcije u MATLAB-uMATLAB ima i mogućnost razvoja algoritama u vlastitom programskomjeziku. Datoteke s takvim algoritmima nazivamo M-datoteke, a pohranjujuse s ekstenzijom ’.m’. Pri tome možemo razlikovati dvije vrste M-datoteka:skripte i funkcije. Skripte su jednostavno skup naredbi koje se prenose iizvršavaju u komandnom prozoru (adekvatno glavnom programu). Funkcijesu na neki način crne kutije kojima dajemo odredeni ulaz i dobijamo traženiizlaz (slično potprogramima ili bibliotekama).Sve naredbe koje smo do sada upoznali i primijenili izravno u komandnomprozoru MATLAB-a mogu se primijeniti i u M-datotekama.2.3.15 Funkcijske M-datotekeKod funkcijskih datoteka varijable su lokalne i nema ih u radnom prostorui <strong>za</strong>to možemo reći da je funkcija na neki način crna kutija. Funkcijskadatoteka komunicira s radnim prostorom samo preko varijabli ula<strong>za</strong> i varijabliizla<strong>za</strong>.Osnovna forma funkcijske M-datoteke dana je na sljedeći način:Glavni element je prva linija u kojoj se definira funkcija sa svojim imenom(to ime odreduje i ime datoteke u kojoj je spremljena funkcija), ulaznim iizlaznim varijablama. Nakon nje slijedi niz komentar linija koje predstavljajuhelp funkcije i pri tome je prva od njih (naziva se H1 linija) posebna jer seona pretražuje naredbom lookfor i uobičajeno je da sadrži ime i kratki opisfunkcije. Nakon komentar linija slijedi samo tijelo funkcije.Uz pretpostavku da je funkcijska M-datoteka (imedatoteke.m) smještenau MAT LAB-ovu path-u, funkcija se izvršava pozivom u MATLAB-ovu komandnomprozoru (ili u nekoj drugoj M-datoteci) na sljedeći način:[izl1,izl2,...]=imedatoteke(ul1,ul2,...) pri čemu su ul1,ul2,... ulazne varijable,a izl1,izl2,... izlazne.Analizirajmo funkcijske M-datoteke na primjeru funkcije average.m kojaodreduje srednju vrijednost <strong>za</strong> elemente jednog vektora. Pri tome ulaznavarijabla ne smije biti skalar ili matrica.


2.3. Kratki uvod u MATLAB 33function a = average(b)% AVERAGE Srednja vrijednost elemenata vektora.% AVERAGE(B), gdje je B vektor, predstavlja srednju% vrijednost elemenata vektora.% Za ne-vektorski ulaz funkcija dojavljuje gresku.[m,n] = size(b); if (~((m == 1) |(n == 1))|(m == 1 & n == 1))error(’Ulaz mora biti vektor!’)enda = sum(b)/length(b); % izracun srednje vrijednostiU komandnom prozoru funkciju pozivamo na sljedeći način>> y=average(x)y =0.78502.3.16 Petlje i uvjetne struktureUkoliko niste od ranije upoznati s mogućnostima kontrole toka i strukturealgoritama koje pružaju razni programski jezici, ovo poglavlje može vam bitisloženo. U tom ga slučaju pažljivo prijedite.Uvjetne strukture jak su alat, budući da omogućavaju utjecaj prijašnjihoperacija algoritma na buduće. MATLAB pruža četiri oblika petlji, odnosnouvjetnih struktura: for petlje, while petlje, if-else-end struktura i switch-casestruktura.2.3.17 for petljefor petlje omogućavaju da se grupa naredbi ponavlja unaprijed odredenibroj puta. Opći oblik for petlje jefor x = arraynaredbe...endNaredbe izmedu for i end izvršavaju se jednom <strong>za</strong> svaki stupac u array.Na primjer,


34 2. Linearna <strong>algebra</strong> i MATLAB>> for n=1:10x(n)=sin(n*pi/10);end>> xx =Columns 1 through 70.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090Columns 8 through 100.5878 0.3090 0.0000Osim automatski generiranog polja 1:10 može se primijeniti bilo kojepolje, npr.>> data=[3 9 45 6; 7 16 -1 5];>> for n=datay=n(1)-n(2)endy =-4y =-7y =46y =1Pored ovih mogućnosti for petlja može biti ugniježdena jedna u drugoj.2.3.18 while petljaKod while petlje naredbe izmedu while i end izvršavaju se sve dok su svielementi izra<strong>za</strong> istiniti:>> while izraznaredbe...endRazmotrimo sljedeći primjer:


2.3. Kratki uvod u MATLAB 35>> num=0;EPS=1;>> while (1+EPS)>1EPS=EPS/2;num=num+1;end>> numnum =53>> EPS=2*EPSEPS =2.2204e-016>> epseps =2.2204e-016Ovaj primjer prikazuje jedan od načina odredivanja vrijednosti najmanjegbroja (EPS) koji može biti dodan broju 1 tako da je rezultat tog zbroja1+EPS > 1 koristeći konačnu preciznost. Našu smo varijablu EPS usporedilisa specijalnom funkcijom MATLAB-a - eps. Što se <strong>za</strong>pravo dogada u ovojpetlji? Vrijednost EPS stalno se smanjuje od početne vrijednosti (1) prisvakom prolazu kroz petlju. Budući da MATLAB koristi 16 znamenaka priprezentiranju brojeva <strong>za</strong> očekivati je da EPS (odnosno eps) bude oko 10 −16 .Tako je uvjet 1+EPS > 1 neistinit (jednak nuli) i petlja se prekida. Na krajuEPS množimo sa 2 jer se u <strong>za</strong>dnjem prolazu kroz petlju stvarna vrijednostEPS smanjila <strong>za</strong> 2.2.3.19 if-else-end strukturaČesto želimo izvršiti neke operacije pod uvjetom da su <strong>za</strong>dovoljeni odredeniuvjeti. To nam omogućava if-else-end struktura. Oblik ove strukture u općemslučaju jeif izraz1naredbe1 ... izvr\v{s}ene ako je izraz1 istinitelseif izraz2naredbe2 ... izvrsene ako je izraz2 istinitelseif izraz3naredbe3 ... izvrsene ako je izraz3 istinit


36 2. Linearna <strong>algebra</strong> i MATLABelseif ...naredbe4 ... izvrsene ako je izraz4 istinit...elsenaredbe ... izvrsene ako nijedan izraz nije istinitendPri izvršavanju ove strukture provjerava se izraz1, pa izraz2, ... Ukolikoje neki od tih izra<strong>za</strong> istinit, izvršavaju se pripadajuće naredbe - narebe1,naredbe2, naredbe3, ... . Ako nijedan od izra<strong>za</strong> nije istinit, izvršavaju senaredbe i<strong>za</strong> else. Završni dio strukture else ne mora se uvijek primijeniti.Promotrimo primjer iz predhodnog poglavlja:>> EPS=1;>> for num=1:1000EPS=EPS/2;if(1+EPS)> numnum =53Naredba break uzrokuje izla<strong>za</strong>k iz for petlje na prvu naredbu koja slijedi.U ovom slučaju vraća se u komandni prozor i prikazuje vrijednost varijableEPS.2.3.20 GrafikaVeć su u prethodnom poglavlju korištene neke grafičke mogućnosti MATLABa.U ovom poglavlju bit će dan detaljniji prikaz osnovnih naredbi <strong>za</strong> grafičkuprezentaciju podataka te kratki prikaz naredbi <strong>za</strong> specijalnu i 3D grafiku.


2.3. Kratki uvod u MATLAB 372.3.21 Tipična grafička sesija u MATLAB-uProcedura pri grafičkoj prezentaciji podataka u MATLAB-u, bilo da se radiu komandom prozoru s podacima iz radnog prostora ili u M-datoteci s definiranimpodacima, ima sljedeće korake:1. priprema podataka,2. odabir prozora, pozicije <strong>za</strong> dijagram,3. iscrtavanje podataka,4. postavljanje karakteristika linija i markera,5. postavljanje karakteristika osi dijagrama i mreže,6. notacije na dijagramu,7. eksportiranje grafike.Odredeni koraci mogu se naravno po potrebi i preskočiti. U ovom poglavljubit će dane osnovne naredbe <strong>za</strong> provedbu gore navedenih koraka. Prvi korakneće se detaljnije opisivati budući da je njegov sadržaj bio predmet prethodnihpoglavlja. Ukoliko je grafika samo alat brze analize vaših rezultata,možda će prva tri koraka biti dovoljna, no ukoliko želite vaše rezultate grafičkiprezentirati, vjerojatno će biti potrebno odraditi sve korake.2.3.22 Osnove grafikeOvdje će se kroz kratke primjere koji slijede prezentirati naredbe uz njihovgrafički rezultat, te kraći komentar postupka. Operacije izmjene izgleda iparametara samih dijagrama moguće je izvesti i preko grafičkog sučelja -Plot Edit Mode grafičkih prozora, no on ovdje neće biti opisan iz razloga štoje njegovo savladavanje poslije ovog poglavlja vrlo intuitivno. Osim toga,pristup s naredbama ima prednost jer se može <strong>za</strong>pisati i ponovno izvršavatiiz M-datoteke.


38 2. Linearna <strong>algebra</strong> i MATLAB2.3.23 Osnovne grafičke naredbeOvo su najčešće naredbe koje se primjenjuju <strong>za</strong> grafički prikaz podataka uMATLAB-u kao funkcije jedne varijable:- naredba <strong>za</strong> crtanje dijagrama linearnog mjerila <strong>za</strong> obje osi, plot,- naredba <strong>za</strong> crtanje dijagrama logaritamskog mjerila <strong>za</strong> obje osi, loglog,- naredba <strong>za</strong> crtanje dijagrama logaritamskog mjerila <strong>za</strong> x-os i linearnogmjerila <strong>za</strong> y-os, semilogx,- naredba <strong>za</strong> crtanje dijagrama logaritamskog mjerila <strong>za</strong> y-os i linearnogmjerila <strong>za</strong> x-os, semilogy ,- dijagram s dvije y-osi (lijevo i desno), plotyy .Sve ove funkcije imaju različitu sintaksu <strong>za</strong> različite potrebe korisnika.Detaljnije ćemo se upoznati samo s naredbom plot koja je i najčešća, a samose dotaknuti naredbe plotyy zbog njene specifičnosti. Osim ovih naredbipostoji i mnoštvo naredbi <strong>za</strong> ostale oblike dijagrama (polarne dijagrame,bar, pite, histograme, ruže, ...), crtanje poligona i tijela te izradu animacijakao i prikaz bitmap grafike. No, njih ovdje nećemo opisivati.2.3.24 Linijski prikaz podatakaPrimjer najjednostavnijeg prika<strong>za</strong> elemenata vektora y dan je na slici 2.1 kojaje generirana pomoću naredbi t=[0:0.01:2*pi]; y=sin(t); plot(t,y).10.50−0.5−10 1 2 3 4 5 6 7Slika 2.1: Graf funkcije sin x


2.3. Kratki uvod u MATLAB 39Dakle, u ovoj osnovnoj sintaksi naredbe plot ulazne varijable su dvavektora s apscisom i ordinatom svake točke . Na primjeru plot(t,y) želimoprika<strong>za</strong>ti diskretnu funkciju jedne varijable. Potrebna su nam dva vektora:t - vektor s vrijednostima apscisa svake točke i y - vektor s vrijednostimaordinata svake točke. Jasno je da ta dva vektora moraju imati jednak brojelemenata, u suprotnom MATLAB javlja pogrešku. Ukoliko se kao ulazniparametar da samo jedan vektor kao varijabla, plot(y), grafički rezultat takvenaredbe je prikaz vektora, ali s brojem elemenata kao parametrom na x-osi. Točke vektora su, u ovom defaultnom načinu poziva naredbe plot(t,y)medusobno spojene punim plavim linijama.Ukoliko na istom dijagramu želimo istovremeno prika<strong>za</strong>ti više vektora, točinimo na sljedeći način:y1=sin(t-pi/6);y2=sin(t-pi*2/6);plot(t,y,t,y1,t,y2)Ako želimo promijeniti oblik ili boju linije (primjeri sa slika 2.2 i 2.3)potrebnoje i<strong>za</strong> svake kombinacije x i y koordinata dati odabranu šifru u jednostrukomapostrofu: plot(t,cos(t),’r:’). Dakle, oznaka ’r:’ predstavljašifru <strong>za</strong> liniju točkastog oblika: u crvenoj bojir. Od raspoloživih oblika linijapostoje puna, isprekidana, točkasta i linija-točka. Osnovne boje imaju svojeznakovne oznake, a uz to je moguće redefinirati bilo koju RGB boju. Više osamim oznakama proučite naredbom help plot.Linijski prikaz: dvije krivulje - primjena naredbe hold on:figureplot(t,y)hold onplot(t,cos(t),’r:’)Prolaskom kroz ove primjere naredbe plot u komandnom prozoru MATLABaprimijetili ste da je nakon izvršenja prve naredbe <strong>za</strong> crtanje otvoren noviprozor s vašim dijagramom. Ponovne naredbe <strong>za</strong> crtanje izvodile su se natom istom prozoru ali na način da su prethodne krivulje izbrisane. Ukolikoželimo <strong>za</strong>držati prethodne krivulje i na dijagram dodati nove, potrebno je aktiviratinaredbu hold on (slika 2.2). Kad želimo u jednom trenutku izbrisatisve stare i ostaviti samo <strong>za</strong>dnju krivulju dovoljno je prethodno dati naredbu


40 2. Linearna <strong>algebra</strong> i MATLAB10.50−0.5−10 1 2 3 4 5 6 7Slika 2.2: Grafički prikaz dviju krivulja, primjena naredbe hold onhold off. Ako želimo izbrisati cijeli dijagram iz grafičkog prozora primjenjujemonaredbu clf, a naravno možemo i jednostavno <strong>za</strong>tvoriti grafički prozor- kao i svaki prozor u operacijskom sustavu ili koristiti naredbu close. Kadželimo <strong>za</strong>držati prvi grafički prozor i na novom grafičkom prozoru nacrtatinovi dijagram, dovoljno je dati naredbu figure.Naredbom figure otvaramo novi grafički prozor (koji nosi oznaku redomsljedećeg broja). No postavlja se pitanje kako znamo na koji grafički prozorMATLAB iscrtava našu krivulju. Iscrtava je na onaj prozor na kojemu je<strong>za</strong>dnjem bio fokus (windows terminologijom: onaj koji je <strong>za</strong>dnji bio aktiviran- tipkovnicom ili mišem). Fokus možemo definirati i naredbom figure(1) kojaće postaviti 1. grafički prozor <strong>za</strong> aktivni prozor. To uvijek možemo provjeritinaredbom gcf koja nam kao rezultat vraća numeričku oznaku aktivnog prozora.Kod rada s većim brojem grafičkih prozora korisna je i naredba closeall koja <strong>za</strong>tvara sve grafičke prozore.2.3.25 Točkasti prikaz podatakaKad elemente vektora želimo prika<strong>za</strong>ti kao točke odredenim znakom (markerom)ponovo primjenjujemo istu sintaksu naredbe plot, ali dodatne opcije umjestolinije definiraju odabrani znak: npr. plot(t,y,’r*’). Dostupne oblikeznakova možete pregledati naredbom help plot.


2.3. Kratki uvod u MATLAB 41Grafički prikaz funkcije y = exp(2 ∗ cos(t)), <strong>za</strong> t ∈ [0, 2 ∗ π], možemo<strong>za</strong>pisati kao:t=[0:0.15:2*pi]; y=exp(2*cos(t)); plot(t,y,’r*’)8765432100 1 2 3 4 5 6 7Slika 2.3: Grafički prikaz podataka pomoću točaka funkcije y = f(x)U isto vrijeme grafički prikaz funkcije t u ovisnosti o ”varijabli” y možemo<strong>za</strong>pisati kaoplot(y,t,’ko’)


42 2. Linearna <strong>algebra</strong> i MATLAB765432100 1 2 3 4 5 6 7 8Slika 2.4: Grafički prikaz podataka pomoću točaka funkcije x = f(y)


Poglavlje 3Složenost algoritamaU ovom poglavlju proučavat ćemo kako na pravilan način analizirati vrijemepotrebno <strong>za</strong> izvršavanje nekog algoritma. Posebno ćemo proučavati vezuizmedu trajanja izvodenja pojedinog programa, njegove složenosti ( ”troškaprograma” ili ”koštanja programa”, engl. costs - trošak) i dimenzija ulaznihpodataka (matrica).3.1 Složenost računanjaSloženost računanja nekog algoritma predstavlja ukupan broj svih operacija(računskih operacija, spremanja podataka u memoriju, vremena potrebnog<strong>za</strong> komunikaciju izmedu procesora i memorije, itd.) potrebnih <strong>za</strong> izvodenjetog algoritma na računalu. Zbog jednostavnosti mi ćemo proučavati samobroj računskih operacija, točnije broj floating point operacija, potrebnih dase izvede neki algoritam (zbrajanje, množenje, oduzimanje, dijeljenje). Zadetaljniju analizu kvalitete kojom se pojedini algoritam izvršava trebalo biuzeti u obzir upotrebu memorije i komunikacijske potrebe.Definicija 3.1 Složenost računanja algoritma definiramo s C(n), tako da jeC(n) = ukupan broj zbrajanja, množenja, oduzimanja i dijeljenjapri čemu je n dimenzija ulaznih podataka (npr. broj jednadžbi u linearnomsustavu, itd.).Sljedeća definicija sadrži potrebne pojmove pomoću kojih ćemo proučavatiasimptotsko ponašanje pojedinog algoritma, tj. pomoću kojih ćemoizračunavati C(n) <strong>za</strong> n → ∞.43


44 3. Složenost algoritamaDefinicija 3.2 Za funkcije f, g : N → N ili f, g : R + → R + pišemog(n) = O (f(n)) ako je lim supn→∞g(n) = Ω (f(n)) ako je lim infn→∞g(n)f(n) < ∞,g(n)f(n) > 0,g(n) = Θ (f(n)) ako je g(n) = Ω ((f(n)) i g(n) = O (f(n)) .Oznake Θ, Ω i O predstavljaju točnu, donju odnosno gornju ocjenu.Općenito se koriste i u drugim područjima matematika kao i računarstva.Alternativa definiciji 3.2 bila bi sljedeća definicija:Kažemo da je g(n) = Θ (f(n)) ako postoje konstante c 1 , c 2 i n 0 takve da <strong>za</strong>sve n > n 0 vrijedi da jec 1 f(n) < g(n) < c 2 f(n) .Primjer 3.1 Koristeći gore navedenu notaciju možemo pisati: 5n 2 +2n−3 =Θ(n 2 ), n 2 = O(n 2 ) i n 2 = Ω(n).Algoritam <strong>za</strong> standardni skalarni umnožak.ulaz: x = (x 1 , . . .,x n ), y = (y 1 , . . .,y n )izlaz: s = 〈x, y〉1: s = 02: for i = 1, . . .,n do3: s = s + x i y i4: end for5: return sTeorem 3.1 Trošak računanja algoritma <strong>za</strong> standardni skalarni umnožakna C n iznosi C(n) = Θ(n). Najmanja složenost računanja standardnogskalarnog umnoška (donja granica <strong>za</strong> složenost računanja) iznosi C(n) =Ω(n).Dokaz. Iz gornjeg algoritma <strong>za</strong> standardni skalarni umnožak vidimoda nam je <strong>za</strong> skalarni umnožak dvaju n-dimenzionalnih vektora potrebno nmnoženja i n zbrajanja, to znači ukupno C(n) = 2n = Θ(n).Skica doka<strong>za</strong> <strong>za</strong> drugi dio teorema, tj. <strong>za</strong> donju granicu C(n) = Ω(n).Budući da su umnošci x i y i medusobno neovisni, najmanje što moramo učinitijest izračunati n takvih produkata.✷


3.1. Složenost računanja 45Napomena 3.1 Kako bismo dali točan dokaz <strong>za</strong> donju granicu u gornjemteoremu, bila bi nam potrebna točna definicija pojma algoritam. Budući dato prelazi okvire našeg interesa u ovom pregledu mi ćemo se <strong>za</strong>dovoljiti samojednostavnim skicama odnosno osnovnim idejama takvih doka<strong>za</strong>. (Na primjer,netko bi mogao pomisliti da je pogadanje rezultata takodjer algoritam, a<strong>za</strong> to je potrebna samo jedna operacija. Stoga bi se takvi i slični slučajevimorali isključiti uvodenjem stroge definicije algoritma.)Teorem 3.2 Za standardnu metodu <strong>za</strong> množenje kvadratnih matrica iz C n×nvrijedi da je C(n) = Θ(n 3 ), dok je donja ograda dana sa C(n) = Ω(n 2 ) (tj.najboljom metodom matrice možemo pomnožiti <strong>za</strong> Ω(n 2 )).a stupce ma-Dokaz. Označimo redove matrice A ∈ C n×n sa a ∗ 1 , . . .,a∗ ntrice B ∈ C n×n sa b 1 , . . .,b n . Budući da je(AB) ij = a ∗ i b j<strong>za</strong> sve i, j = 1, . . .,n,vidimo da <strong>za</strong> jedan element matrice umnoška trebamo izračunati n umnožaka.Stoga je ukupni trošak dan sa C(n) = n 2 Θ(n) = Θ(n 3 ) (anali<strong>za</strong> je mogla ićii ovako: budući da imamo n 2 elemenata u matrici produkta AB, a <strong>za</strong> jedanelemenat nam treba n umnožaka, vidimo da je C(n) = Θ(n 3 )).Skica doka<strong>za</strong> <strong>za</strong> donju granicu izgledala bi ovako : najmanje što trebamoizračunati je n 2 elemenata iz matrice umnoška AB. Stoga je najbolje štomožemo očekivati dano sa C(n) ≥ n 2 .✷


46 3. Složenost algoritama


Poglavlje 4Stabilnost i uvjetovanostPogreške zokruživanja često uzrokuju to da je rezultat koji smo dobili nanekom računalu različit od rezultata očekivanog na osnovi teorije. Stogaćemo u ovom poglavlju proučavati tehnike koje će nam pomoći pri dobivanjuodgovora na pitanje: Koliko je dobiveni rezultat blizu točnom (teorijski”dobivenom) rezultatu?”4.1 PogreškePrije nego se posvetimo proučavanju tehnika koje će nam poslužiti <strong>za</strong> dobivanjeodgovora na pitanje ”Koliko je dobiveni rezultat blizu točnom (teorijskidobivenom) rezultatu?” reći ćemo ponešto općenito o pogreškama. Prilikomnumeričkog (približnog) rješavanja odredenih matematičkih problema dolazido pojave pogrešaka. Ugrubo ih možemo podijeliti u tri kategorije:• pogreške matematičkog modela,• pogreške metode,• pogreške računanja.Pogreške matematičkog modela.Vrlo često matematički modeli idealiziraju stvarnu situaciju, pri čemu sepojedine stvari <strong>za</strong>nemaruju ili pojednostavljuju. Tako su na primjer mnogimatematički modeli koji opisuju odredene fizikalne pojave (valna jednadžba<strong>za</strong> oscilacije žice ili proučavanje balističkih putanja) dobiveni <strong>za</strong>nemarivanjemnekih veličina, i time je već na početku načinjena pogreška, koja se kasnijim47


48 4. Stabilnost i uvjetovanostpostupcima ne može ispraviti. Takoder, ulazni podaci kao što su duljina žice,vanjske sile, početni položaj, početna brzina nisu potpuno točni, jer su onirezultat nekih mjerenja.Pogreške metode.Metoda kojom rješavamo problem može sadržavati beskonačnu sumaciju,računanje neelementarnih integrala, rješavanje algebarskih jednadžbi višegreda, itd. U takvim slučajevima pogreške na primjer dolaze <strong>za</strong>mjenombeskonačnih suma konačnim sumama (nekim od parcijalnih suma) reda.Pogreške računanja.Računala računaju sa strojnim (floating-point) brojevima koji su u njemupohranjeni i pomoću kojih aproksimiramo skup realnih brojeva R. Ako brojkoji unosimo u računalo, ili s kojim on u nekom medukoraku mora baratati,nije strojni broj, onda ga računalo <strong>za</strong>okružuje i time čini pogrešku. Jednostavnijiproračun možemo izvršiti i bez računala, no i tada, ako želimo dobitiispis rezultata pomoću znamenaka, brojeve kao što su π, e, . . . moramo <strong>za</strong>mijenitipribližnim vrijednostima. Kako bismo se mogli pouzdati u rezultatnekog proračuna, moramo biti u stanju kontrolirati pogrešku.Recimo sada nešto o pogreškama i o tome kako se one ponašaju prilikomizvodenja operacija.Neka je a točna vrijednost nekog broja, i ã njegova približna vrijednost.Kažemo da ã aproksimira a.Broj |ã − a| zovemo apsolutnom pogreškom, a broj|ã − a||ã|zovemo relativnompogreškom aproksimacije.Kažemo da je ã ≈ a s točnošću ε, ako je |ã − a| ≤ ε.Neka je ã ≈ a s točnošću ε 1 i ˜b ≈ b s točnošću ε 2 , tj. neka je ã = a ± ∆ai ˜b = b ± ∆b, pri čemu je ∆a ≤ ε 1 i ∆b ≤ ε 2 . Tada je• ã ± ˜b ≈ a ± b s točnošću ε 1 + ε 2 ,• ã˜b ≈ a b s točnošću ε 1 |˜b| + ε 2 |ã| + ε 1 ε 2 ,• ã˜b ≈ a b s točnošću ε 1 |˜b| + ε 2 |ã|(|˜b| − ε 2 ) |˜b| .Analizi gornjih svojstava vratit ćemo se nešto kasnije promatrajući ih uokviru analize stabilnosti pojedinih računskih operacija sa strojnim brojevima.


4.1. Pogreške 494.1.1 Stabilnost i točnostStabilnost pojedinog algoritma mjeri njegovu osjetljivost na pogreške <strong>za</strong>okruživanjatijekom računanja. Od sada pa nadalje tijekom naših razmatranjarazlikovat ćemo izračunati rezultat (to je rezultat koji nam daje računalo)od točnog rezultata (to je rezultat koji je matematički ili teorijski točan)promatranog problema.Definicija 4.1 Prepostavimo da želimo numerički izračunati vrijednost y =f(x). Medutim, algoritam daje rezultat ỹ ≠ y, koji možemo shvatiti kaotočnu vrijednost (eg<strong>za</strong>ktnu sliku) promatrane funkcije ỹ = f(˜x) ali <strong>za</strong> nekudrugačiju ulaznu vrijednost ˜x (drugačiji ulazni podatak). Tada veličinu ∆y =ỹ − y zovemo pogreška unaprijed, a ∆x = ˜x − x zovemo pogreška una<strong>za</strong>d ilipovratna pogreška.Ako ˜x nije jedinstveno odreden, tada i<strong>za</strong>biremo onaj <strong>za</strong> koji će ‖∆x‖ bitiminimalno. U većini slučajeva mi ćemo promatrati relativnu pogrešku una<strong>za</strong>d‖∆x‖/‖x‖, odnosno relativnu pogrešku unaprijed ‖∆y‖/‖y‖.Računala <strong>za</strong> prikaz brojeva koriste konačan broj bitova. Stoga ona moguprika<strong>za</strong>ti samo konačno mnogo brojeva pomoću kojih aproksimiraju realnebrojeve. Posljedica takve aproksimacije jest pojava pogreške <strong>za</strong>okruživanja.Sa F označimo skup svih brojeva koji su pohranjeni u računalu (strojni brojevi).Neka je fl : R → F funkcija <strong>za</strong>okruživanja realnih brojeva s najbližimstrojnim brojem iz F.U svrhu naših istraživanja mi ćemo se poslužiti pojednostavljenim modelomračunalne aritmetike koji isključuje probleme s brojevima koje ne možemoprika<strong>za</strong>ti jer su preveliki (overflows) ili su premali (underflows).


50 4. Stabilnost i uvjetovanostU nastavku ćemo iznijeti pretpostavke <strong>za</strong> promatrani model računalnearitmetike.Pretpostavke. Postoji parameter ε m > 0 (strojna preciznost ili strojniepsilon) takav da vrijedi sljedeće:A1: Za sve x ∈ R postoji ε ∈ (−ε m , +ε m ) <strong>za</strong> koji jefl(x) = x · (1 + ε).A2: Za svaku od operacija ∗ ∈ {+, −, ·, /} i svaki x, y ∈ F postoji ε ∈(−ε m , +ε m ) takav da jex ⊛ y = (x ∗ y) · (1 + δ)pri čemu oznaka ⊛ označava izračunatu vrijednost <strong>za</strong> ∗.Definicija 4.2 Za algoritam ćemo reći da je povratno stabilan ili stabilanuna<strong>za</strong>d (engl. backward stable), ako relativna povratna pogreška (relativnapogreška una<strong>za</strong>d) <strong>za</strong>dovoljava‖∆x‖‖x‖= O(ε m).Tipičan način upotrebe gore navedenog koncepta jest postupak u dva korakakoji zovemo anali<strong>za</strong> povratne pogreške ili povratna anali<strong>za</strong> pogreške (engl.backward error analysis). U prvom koraku analize pokazuje se da je promatranialgoritam povratno stabilan ili stabilan una<strong>za</strong>d, to jest da posljedicepogreške <strong>za</strong>okruživanja možemo prika<strong>za</strong>ti malom perturbacijom ∆x ulaznihpodataka izvornog problema. U drugom koraku koriste se rezultati, kao štoje na primjer teorem 4.2, koji govore o uvjetovanosti problema (ti rezultati neovise o vrsti algoritma koji koristimo). Pomoću tih rezultata pokazuje se da jeodgovarajuća pogreška unaprijed takoder mala. Tada smo poka<strong>za</strong>li, koristećioba koraka <strong>za</strong>jedno, da će izračunati rezultat biti blizu točnom (eg<strong>za</strong>ktnom)rezultatu.Lema 4.1 Izračunati rezultat oduzimanjem ⊖ povratno je stabilan.Proof. Točan rezultat oduzimanja označimo s f(x 1 , x 2 ) = x 1 − x 2 , a izračunatirezultat s ˜f(x 1 , x 2 ) = fl(x 1 )⊖ fl(x 2 ). Koristeći pretpostavku A1 možemopisatifl(x 1 ) = x 1 (1 + ε 1 ) i fl(x 2 ) = x 2 (1 + ε 2 )


4.2. Uvjetovanost 51pri čemu je |ε 1 |, |ε 2 | < ε m . Nadalje, koristeći pretpostavku A2 možemo pisatifl(x 1 ) ⊖ fl(x 2 ) = (fl(x 1 ) − fl(x 2 ))(1 + ε 3 )pri čemu je |ε 3 | < ε m . Sve <strong>za</strong>jedno daje:fl(x 1 ) ⊖ fl(x 2 ) = (x 1 (1 + ε 1 ) − x 2 (1 + ε 2 ))(1 + ε 3 )= x 1 (1 + ε 1 )(1 + ε 3 ) − x 2 (1 + ε 2 )(1 + ε 3 )= x 1 (1 + ε 4 ) − x 2 (1 + ε 5 )gdje je ε 4 = ε 1 + ε 3 + ε 1 ε 3 i ε 5 = ε 2 + ε 3 + ε 2 ε 3 . Oni <strong>za</strong>dovoljavaju |ε 4 |, |ε 5 | ≤2ε m + O(ε 2 m ) = O(ε m) <strong>za</strong> ε m → 0.Stoga <strong>za</strong> ulaznu pogrešku možemo i<strong>za</strong>brati( ) ( )x1 x1 (1 + εx = , ˜x = 4 ), ∆x = ˜x − x,x 2 x 2 (1 + ε 5 )što daje ‖∆x‖ 2 = √ ε 2 4x 2 1 + ε 2 5x 2 2 ≤ O(ε m )‖x‖ 2 . Time je teorem doka<strong>za</strong>n. ✷Napomena 4.11) Primijetite da u gornjem dokazu u definiciji povratne pogreške ˜x nijejedinstveno odreden. Budući da nas <strong>za</strong>nima ˜x koji minimizira povratnu pogrešku,možemo i<strong>za</strong>brati bilo koji ˜x <strong>za</strong> koji vrijedi ‖∆x‖ 2 ≤ O(ε m )‖x‖ 2 . ”Pravi”˜x može biti samo bolji.2) Slično se može doka<strong>za</strong>ti da su operacije ⊕, ⊙ i ⊘ takoder povratnostabilne.3) U većini doka<strong>za</strong> povratne stabilnosti mora se analizirati utjecaj pogrešaka<strong>za</strong>okruživanja, pa su takvi dokazi <strong>za</strong>snovani na pretpostavkama A1 i A2.Budući da su većinom takvi dokazi dugački ali ne i teški, mi ćemo većinuizostaviti u okviru ovog materijala.4.2 UvjetovanostDefinicija 4.3 Za problem koji rješavamo reći ćemo da je dobro uvjetovanako male promjene veličina koje se pojavljuju u problemu dovode do malihpromjena u rješenju. S druge strane, reći ćemo da je problem loše uvjetovanako male promjene veličina koje se pojavljuju u problemu dovode do velikihpromjena u rješenju.


52 4. Stabilnost i uvjetovanostKroz ovo poglavle ‖ · ‖ će nam predstavljati i<strong>za</strong>branu vektorsku normu ilimatričnu normu suglasnu s tom vektorskom normom, što znači da vrijedi‖Ax‖ ≤ ‖A‖ · ‖x‖ <strong>za</strong> all x ∈ C n , A ∈ C n×n .Definicija 4.4 Uvjetovanost matrice A s oznakom κ(A) definira se kao{‖A‖‖Aκ(A) =−1 ‖, ako je A invertibilna;+∞, u suprotnom.Napomena 4.2 Uvijek vrijedi da je ‖I‖ = ‖A A −1 ‖ ≤ ‖A‖ ‖A −1 ‖ = κ(A),što <strong>za</strong> inducirane norme povlači κ(A) ≥ 1 <strong>za</strong> svaki A ∈ C n×n .Primjer 4.1 Neka je A realna simetrična i pozitivno definitna matrica sasvojstvenim vrijednostimaλ max = λ 1 ≥ λ 2 ≥ · · · ≥ λ n = λ min > 0.Tada je ‖A‖ 2 = λ max . Budući da inverzna matrica A −1 ima svojstvene vrijednosti1/λ 1 , . . .,1/λ n , vidimo da je ‖A −1 ‖ 2 = λ min . Stoga je uvjetovanostmatrice A u standardnoj 2-normi (euklidskoj normi) jednakaκ(A) = λ maxλ min.Lema 4.2 Neka je Ax = b i A(x + ∆x) = b + ∆b, <strong>za</strong> b ≠ 0. Tada je‖∆x‖‖x‖≤ κ(A)‖∆b‖ ‖b‖ . (4.1)Dokaz. U slučaju da je A singularna, na desnoj strani nejednakosti (4.1)imamo +∞ pa nejednakost svakako vrijedi. U suprotnom (A je regularna)imamo‖b‖ = ‖A x‖ ≤ ‖A‖ ‖x‖ (4.2)iStoga imamoA −1 ∆b = (x + ∆x) − A −1 b = x + ∆x − x = ∆x.‖∆x‖‖x‖= ‖A−1 ∆b‖‖x‖≤ ‖A−1 ‖‖∆b‖‖x‖≤ ‖A‖‖A −1 ‖ ‖∆b‖‖b‖ ,


4.2. Uvjetovanost 53pri čemu je posljednja nejednakost posljedica (4.2).✷Gornja lema nam govori o tome koliko se može promijeniti rješenje jednadžbeAx = b pri promjeni desne strane. Rezultat pokazuje da je problemrješavanja linearnog sustava Ax = b dobro uvjetovan ako je uvjetovanostmatrice κ(A) mala. Teorem 4.1 koji ćemo iska<strong>za</strong>ti malo kasnije daje sličanrezultat ali <strong>za</strong> slučaj kad se mijenja matrica A, a ne kao gore desna strana b.Za dokaz tog teorema trebat ćemo sljedeću lemu.Lema 4.3 Neka matrica A ∈ C n×n <strong>za</strong>dovoljava ‖A‖ < 1 <strong>za</strong> bilo koju induciranunormu. Tada je I + A regularno i‖(I + A) −1 ‖ ≤ (1 − ‖A‖) −1 .Dokaz. Koristeći nejednakost trokuta imamo‖x‖= ‖(I + A)x − Ax‖≤ ‖(I + A)x‖ + ‖ − Ax‖≤ ‖(I + A)x‖ + ‖A‖‖x‖i stoga‖(I + A)x‖ ≥ (1 − ‖A‖)‖x‖<strong>za</strong> svaki x ∈ C n . Budući da to povlači (I + A)x ≠ 0 <strong>za</strong> svaki x ≠ 0, vidimoda je matrica I + A regularna.Pretpostavimo sada da je b ≠ 0 i x = (I + A) −1 b. Tada‖(I + A) −1 b‖‖b‖=‖x‖‖(I + A)x‖ ≤ 11 − ‖A‖ .Budući da je to istinito <strong>za</strong> sve b ≠ 0, imamo‖(I + A) −1 ‖ = supb≠0‖(I + A) −1 b‖‖b‖≤11 − ‖A‖ .Ovime je dokaz <strong>za</strong>vršen.✷Teorem 4.1 (uvjetovanost sustava linearnih jednadžbi) Neka je xrješenje jednadžbiAx = b i (A + ∆A)(x + ∆x) = b.


54 4. Stabilnost i uvjetovanostPretpostavimo da je A regularna tako da je ‖A −1 ‖‖∆A‖ < 1 <strong>za</strong> nekuinduciranu matričnu normu. Tada vrijediDokaz. Uočimo da je‖∆x‖‖x‖ ≤ κ(A)1 − κ(A) ‖∆A‖‖A‖· ‖∆A‖‖A‖ .(A + ∆A)∆x = b − (A + ∆A)x = ∆Axi stoga je (I + A −1 ∆A)∆x = A −1 ∆Ax. Koristeći lemu 4.3 možemo pisatipa imamo∆x = (I + A −1 ∆A) −1 A −1 ∆Ax‖∆x‖ ≤ ‖(I + A −1 ∆A) −1 ‖‖A −1 ∆A‖‖x‖ ≤Budući da je‖A −1 ∆A‖ ≤ ‖A −1 ‖‖∆A‖ = κ(A) ‖∆A‖‖A‖ ,‖A−1 ∆A‖1 − ‖A −1 ∆A‖ ‖x‖.i preslikavanje x ↦→ x/(1 − x) je rastuće na intervalu [0, 1) slijedi‖∆x‖‖x‖‖∆A‖κ(A)‖A‖≤1 − κ(A) ‖∆A‖‖A‖.Ovime smo poka<strong>za</strong>li traženi rezultat.✷Koristeći lemu 4.2, jednostavno se može poka<strong>za</strong>ti da <strong>za</strong> sustave linearnihjednažbi vrijedi da je relativna pogreška rješenja omedena umnoškom uvjetovanostimatrice sustava i relativne pogreške u slobodnom vektoru (vektorudesne strane). O tome nam govori sljedeći teorem:Teorem 4.2 Za problem rješavanja sustava linearnih jednadžbi (SLJ), pripromjeni vektora na desnoj strani (b → b + ∆b) vrijedirelativna pogreška unaprijed ≤ κ(A) · relativna pogreška una<strong>za</strong>d.


4.2. Uvjetovanost 55Dokaz. Primijetite da koristeći oznake koje smo koristili u proučavanju SLJ,relativna pogreška unaprijed dana je sa ‖∆x‖/‖x‖ (pogreška u rezultatu),dok je relativna pogreška una<strong>za</strong>d dana sa ‖∆b‖/‖b‖ (pogreška u ulaznimpodacima odnosno desna strana linearnog sustava). Sada je jasno da jeteorem izravna posljedica leme 4.2.✷Zadaci1. I<strong>za</strong>berite neku matričnu normu i izračunajte uvjetovanost matrice( )ε 1A =1 1<strong>za</strong> tu normu.2. Neka je x rješenje <strong>za</strong> Ax = b i neka je ˜x rješenje <strong>za</strong> (A+∆A)˜x = b+∆b.Pokažite da vrijedi(‖˜x − x‖ κ(A) ‖∆A‖≤·‖x‖ 1 − κ(A) ‖∆A‖ ‖A‖ + ‖∆b‖ ).‖b‖‖A‖3. Pokažite da su aritmetičke operacije ⊕, ⊙ i ⊘ povratno stabilne.4. Odredite κ 2 (A), κ F (A), κ 1 (A) i κ ∞ (A) ako je⎛ ⎞2 0 0A = ⎝ 0 −3 3 ⎠ .0 3 5[ Rješenje: κ 2 (A) = 3, κ F (A) = 4.3653, κ 1 (A) = 4, κ ∞ (A) = 4. ]5. Rješenje sustava linearnih jednadžbi, gdje su matrica sustava A i vektorb <strong>za</strong>dani s( ) ( )( )0.434 0.26 0.6941A =, b = iznosi x = .0.79 0.473 1.2631( ) 0.00006Promijenimo vektor b <strong>za</strong> ∆b = . Odredite rješenje sustavaA˜x = b+∆b i izračunajte relativne pogreške vektora b i x.0.000003Koliko


56 4. Stabilnost i uvjetovanostje puta relativna pogreška u rješenju veća od relativne pogreške u vektorub u ‖ · ‖ ∞ ? Izračunajte κ ∞ (A).[Rješenje: Relativna pogreška rješenja je više od 822 puta veća odrelativne pogreške u vektoru b, κ ∞ (A) = 13101.]6. U prethodnom ( <strong>za</strong>datku)načinimo promjenu u elementu a 11 tako da−0.001 0je ∆A =. Odredite rješenje sustava (A + ∆A)˜x =0 0b. Koliko puta je relativna pogreška u rješenju x veća od relativnepogreške u matrici?[Rješenje: Relativna pogreška u rješenju x veća je od relativnepogreške u matrici 1688 puta.]


Poglavlje 5Sustavi linearnih jednadžbiU okviru ovog poglavlja proučavat će se sljedeći problem: neka je dana matricaA ∈ C n×n i vektor b ∈ C n , treba odrediti vektor x ∈ C n takav da vrijediAx = b. Taj problem odgovara matričnom <strong>za</strong>pisu sustava linearnih jednadžbii kraće ćemo ga <strong>za</strong>pisivati sa (SLJ).Proučavat ćemo nekoliko metoda <strong>za</strong> njegovo rješavanje. Jedna od uobičajenihideja bi se ukratko mogla opisati na sljedeći način: prika<strong>za</strong>ti matricuA pomoću jednostavnijih matrica M i N, tako da je A = MN, <strong>za</strong>tim riješitiprvo (jednostavniji linearni sustav) My = b i nakon toga Nx = y. Na tajsmo način dobili vektor x koji rješava početni (SLJ), <strong>za</strong>ista vidimo da jeAx = MNx = My = b.5.1 Gaussove eliminacijeMetoda Gaussovih eliminacija je svakako najstariji, najjednostavniji i najpoznatijialgoritam <strong>za</strong> rješavanje sustava linearnih jednadžbi Ax = b. Ilustrirajmoosnovnu ideju Gaussovih eliminacija na sljedećem jednostavnomprimjeru. Kako bismo riješili sustav2 x 1 − x 2 = 1−x 1 + 2 x 2 = 157


58 5. Sustavi linearnih jednadžbidovoljno je primijetiti da zbog prve jednadžbe vrijedi x 1 = 1 2 (1 + x 2), pa jedruga jednadžba− 1 2 (1 + x 2)} {{ }x 1+ 2 x 2 = 1 , to jest , x 2 = 1 ,odakle je x 1 = 1. Kažemo da smo x 1 eliminirali iz druge jednadžbe.Ovu ideju možemo lako generalizirati na dimenziju n > 1, gdje sustavnoeliminiramo neke nepoznanice iz nekih jednadžbi. Pokazuje se da takav algoritamima dosta <strong>za</strong>nimljivu strukturu i da ga se može ekvivalentno <strong>za</strong>pisati uterminima matričnih operacija. Kvalitativno novi moment u analizi metodeeliminacija nastaje kad sam proces eliminacija interpretiramo kao faktori<strong>za</strong>cijumatrice sustava A na produkt trokutastih matrica.Sljedeći će teorem sadržavati teorijsku osnovu <strong>za</strong> takav algoritam, ali prijenego ga iskažemo, uvest ćemo neke važne pojmove.Definicija 5.1 Za matricu A ∈ C n×m kažemo da je gornjetrokutasta ako jea ij = 0 <strong>za</strong> sve i > j i donjetrokutasta ako a ij = 0 <strong>za</strong> sve i < j.Definicija 5.2 Za matricu A j ∈ C j×j kažemo da je j-ta glavna podmatricamatrice A ∈ C n×n , ako <strong>za</strong> njene elemente vrijedi (A j ) kl = a kl <strong>za</strong> 1 ≤ k, l ≤ j.Teorem 5.1 (LU faktori<strong>za</strong>cija) a) Neka je A ∈ C n×n takva da su joj svej-te glavne podmatrice A j regularne <strong>za</strong> j = 1, . . .,n. Tada postoji jedinstvenadekompozicija matrice A takva da je A = LU, gdje je L donja trokutastamatrica s jedinicama na glavnoj dijagonali, a U je regularna gornje trokutastamatrica.b) Ako je A j singularna <strong>za</strong> neko j ∈ {1, . . ., n}, tada ne postoji takvadekompozicija.Prije nego dokažemo teorem ilustrirat ćemo oblik LU faktori<strong>za</strong>cije <strong>za</strong> matricuA dimenzije 3 × 3:⎛ ⎞ ⎛ ⎞ ⎛ ⎞a 11 a 12 a 13 1 0 0 u 11 u 12 u 13⎝a 21 a 22 a 23⎠ = ⎝l 21 1 0⎠⎝ 0 u 22 u 23⎠a 31 a 32 a 33 l 31 l 32 1 0 0 u 33Dokaz. a) Za dokaz prve tvrdnje koristit ćemo indukciju. Ako je n = 1,tada imamo trivijalan slučaj. Matrica L = (1) ∈ C 1×1 , a U = (a 11 ) ∈ C 1×1 .


5.1. Gaussove eliminacije 59Očito je A = LU, budući da L mora biti 1 × 1 donja trokutasta matrica sjedinicama na dijagonali, to je ova dekompozicija jedinstvena.Neka je sada n > 1. Pretpostavimo da <strong>za</strong> A ∈ C (n−1)×(n−1) postojijedinstvena dekompozicija A = LU, pri čemu su sve glavne podmatrice A jregularne <strong>za</strong> j = 1, . . .,n − 1.Ostaje nam poka<strong>za</strong>ti da tvrdnja vrijedi <strong>za</strong> matricu A ∈ C n×n . Stoga ćemomatricu A ∈ C n×n <strong>za</strong>pisati u obliku:( )An−1bA =c ∗ , (5.1)a nngdje je A n−1 n − 1-va glavna podmatrica matrice A, a preostali blokovi sub, c ∈ C n−1 i a nn ∈ C. Mi želimo odrediti dekompoziciju oblika:( ) ( ) ( )L1 0 U1 u L1 UA =l ∗ = 1 L 1 u1 0 η l ∗ U 1 l ∗ , (5.2)u + ηgdje je L 1 ∈ C (n−1)×(n−1) donja trokutasta s jedinicama na glavnoj dijagonali,U 1 ∈ C (n−1)×(n−1) je gornja trokutasta, a l, u ∈ C n−1 i η ∈ C.Usporedivanjem blokova iz (5.1) i (5.2) slijedi:Po pretpostavci indukcije postoje matrice donje trokutasta L 1 i gornjatrokutasta U 1 takve da je A n−1 = L 1 U 1 i ta je dekompozicija jedinstvena.Budući da je L 1 regularna, to znači da je vektor u jedinstveno odreden izuvjeta L 1 u = b. Nadalje, zbog regularnosti matrice U 1 , vektor l koji <strong>za</strong>dovoljavajednakost l ∗ U 1 = c ∗ (vidimo da je l ∗ = c ∗ U1 −1 , odnosno l = U1 −∗ c).Konačno iz uvjeta l ∗ u+η = a nn slijedi da je 0 ≠ η ∈ C jedinstveno odredeno.Činjenica da je η ≠ 0 slijedi iz pretpostavke teorema o regularnosti matriceA, tj. det(A) = 1 · η · det(U 1 ) ≠ 0, povlači η ≠ 0. To znači da je matrica( )U1 uU =0 ηregularna.b) Pretpostavimo da je dana LU faktori<strong>za</strong>cija matrice A. Tada <strong>za</strong> po voljii<strong>za</strong>brano j ∈ {1, . . .,n} možemo pisati( )A11 A 12=A 21 A 22( ) ( )L11 0 U11 U 12L 21 L 22 0 U 22gdje su A 11 , L 11 , U 11 ∈ C j×j . Iz=( )L11 U 11 L 11 U 12,L 21 U 11 L 21 U 12 + L 22 U 22det(A j ) = det(A 11 ) = det(L 11 U 11 ) = det(L 11 ) · det(U 11 ) = 1 · det(U 11 ) ≠ 0 ,


60 5. Sustavi linearnih jednadžbividimo da <strong>za</strong> sve j ∈ {1, . . .,n} slijedi da je A j regularna, što je kontradikcijas pretpostavkom.✷Primjer 5.1 Može se poka<strong>za</strong>ti da se matrica A može transformirati u gornjutrokutastu množenjem s lijeva donjim trokutastim matricama. To ćemo ilustriratisljedećim primjerom. Neka je⎛5 1⎞4A = ⎝ 10 4 7 ⎠ .−15 5 −9Gornju trokutastu formu postići ćemo množenjem matrice A s lijeva donjimtrokutastim matricama na sljedeći način:⎛ ⎞ ⎛ ⎞ ⎛ ⎞1 0 0 5 1 4 5 1 4L 1 A = ⎝−2 1 0⎠⎝ 10 4 7 ⎠ = ⎝0 2 −1⎠ .3 0 1 −15 5 −9 0 8 3Sada ponovno množimo donjom trokutastom matricom s lijeva dobivenu matricuL 1 A⎛ ⎞ ⎛ ⎞ ⎛ ⎞1 0 0 5 1 4 5 1 4L 2 (L 1 A) = ⎝0 1 0⎠⎝0 2 −1⎠ = ⎝0 2 −1⎠0 −4 1 0 8 3 0 0 7Budući da je produkt donjih trokutastih matrica opet donja trokutasta matrica(provjerite ovu tvrdnju), dobili smo donju trokutastu matricu ˆL = L 2 L 1 <strong>za</strong>koju vrijedi da je ˆLA = U.Iz gornjeg primjera se vidi da se matrica A može prika<strong>za</strong>ti kao A =L −1 U = L −12 L −11 U. Sljedeća lema objašnjava kako se može izračunavati inverzdonje trokutaste matrice. No prije nego iskažemo tu lemu, primijetimoda matrice L 1 i L 2 iz primjera 5.1 možemo <strong>za</strong>pisati u obliku:⎛ ⎞⎛ ⎞ ⎛ ⎞1 0 00 1L 1 = ⎝−2 1 0⎠ = I + u 1 e T 1 , u 1 = ⎝−2⎠ , e 1 = ⎝0⎠ ,3 0 13 0⎛ ⎞⎛ ⎞ ⎛ ⎞1 0 00 0L 2 = ⎝0 1 0⎠ = I + u 2 e T 2 , u 2 = ⎝ 0 ⎠ , e 2 = ⎝1⎠ ,0 −4 1−4 0gdje je I jedinična matrica odgovarajuće dimenzije.


5.1. Gaussove eliminacije 61Lema 5.1 a) Neka je L = (l ij ) donja trokutasta matrica s jedinicama nadijagonali s elementima različitim od nule ispod dijagonale samo u k-tomstupcu, drugim riječima neka jeL = I + u k e T k , u k = [ 0 . . . 0 m k+1 k . . . m n k] T,i neka je e k k-ti stupac jedinične matrice I. Tada je L −1 takoder donjatrokutasta matrica s jedinicama na dijagonali s elementima različitim od nuleispod dijagonale samo u k-tom stupcu i vrijedi:L −1 = I − u k e T k .b) produkt dviju donje trokutastih matrica s jedinicama na dijagonali opet jedonje trokutasta matrica s jedinicama na dijagonali.Dokaz. a) Jednostavnim se množenjem lako provjeri da jeLL −1 = ( I + u k e T k)·(I − uk e T k)= I ,pri čemu se iskoristi činjenica da je e T k u k = 0.b) Ovo se jednostavno pokazuje izravno množenjem. ✷Primjer 5.2 Za matrice L 1 i L 2 iz primjera 5.1 dobivamo⎛ ⎞ ⎛ ⎞ ⎛ ⎞1 0 0 1 0 0 1 0 0(L 2 L 1 ) −1 = L −11 L−1 2 = ⎝ ⎠ ⎝ ⎠ = ⎝ ⎠ ,2 1 0−3 0 10 1 00 4 1tako da je LU faktori<strong>za</strong>cija matrice A iz primjera 5.1 dana sa⎛ ⎞ ⎛ ⎞ ⎛ ⎞5 1 4 1 0 0 5 1 4⎝ 10 4 7 ⎠ = ⎝ 2 1 0⎠⎝0 2 −1⎠ .−15 5 −9 −3 4 1 0 0 72 1 0−3 4 1Prije nego <strong>za</strong>pišemo algoritam <strong>za</strong> LU faktori<strong>za</strong>ciju kvadratne matrice redan, prisjetimo se Gaussovog postupaka eliminacije <strong>za</strong> slučaj n lineranih jednadžbis n nepoznanica. U tom slučaju sustav linearnih jednadžbi možemo<strong>za</strong>pisati kao:a 11 x 1 + a 12 x 2 + · · · + a 1n x n = b 1a 21 x 1 + a 22 x 2 + · · · + a 2n x n = b 2· · ·a n1 x 1 + a n2 x 2 + · · · + a nn x n = b n .


62 5. Sustavi linearnih jednadžbiPretpostavimo da je matrica sustava A = (a ij ) takva da det(A j ) ≠ 0 <strong>za</strong>j = 1, . . ., n. To znači da je element a 11 ≠ 0. Prvo primjenom Gaussovihtransformacija matricu A svodimo nagdje jea 11 x 1 + a 12 x 2 + · · · + a 1n x n = b 1a (2)22 x 2 + · · · + a (2)2n x n = b (2)2· · ·a (2)n2 x 2 + · · · + a (2)nn x n = b (2)n ,a (2)ik = a ik − m i1 a 1k , b (2)i = b i − m i1 b 1 , i, k = 2, . . ., n ,a m i1 = a i1. Nadalje, prema teoremu 5.1 slijedi da će a (2)22 ≠ 0, stoga sličnoa 11kao gore dobijamogdje jei m i2 = a(2) i2a 11 x 1 + a 12 x 2 + a 13 x 3 + · · · + a 1n x n = b 1a (2)22 x 2 + a (2)23 x 3 + · · · + a (2)2n x n = b (2)2a (3)33 x 3 + · · · + a (3)3n x n = b (3)3· · ·a (3)n3 x 3 + · · · + a (3)nn x n = b (3)n ,a (3)ik = a(2) ik − m i2 a (2)2k , b(3) i = b (2)i − m i2 b (2)2 , i, k = 3, . . .,n,a (2)22.Gore navedenu rutinu možemo <strong>za</strong>pisati u matričnom obliku, pri čemu sematrica A preoblikuje u gornju trokutastu množenjem s donje trokutastimmatricama s lijeva. Taj je postupak dan sljedećim algoritmom:Algoritam LU (LU faktori<strong>za</strong>cija).ulaz: A ∈ C n×n , takva da det(A j ) ≠ 0 <strong>za</strong> j = 1, . . .,nizlaz: L, U ∈ C n×n , gdje je A = LU tražena LU faktori<strong>za</strong>cija matrice A1: U = A, L = I


5.1. Gaussove eliminacije 632: for k = 1, . . ., n − 1 do3: for j = k + 1, . . ., n do4: l jk = u jk /u kk5: (u j k , . . .,u j n ) = (u j k , . . ., u j n ) − l j k (u k k , . . .,u k n )6: end for7: end forNapomena 5.1 Primijetimo da u gornjem algoritmu 5. red odgovara oduzimanjuk-tog retka pomnoženog s brojem l jk = u jk /u kk od j-tog retka, štoje standardni korak Gaussovih eliminacija, a to se vidi i iz činjenice da sul jk upravo jednaki brojevima m jk iz gore navedenih koraka Gaussovih eliminacija.Na taj način će svi u jk = 0, pri čemu se retci 1, . . ., k − 1 nećepromijeniti.To točno odgovara produktu matrice A s donje trokutastom matricom L ks lijeva, kao što smo ilustrirali u prethodnom primjeru. Stoga, nakon što<strong>za</strong>vršimo sve operacije u petlji koja <strong>za</strong>vršava u 6. retku, matrica U poprimavrijednost L k · · ·L 1 A i ima nule ispod glavne dijagonale u stupcima 1, . . ., k.Budući da su sve glavne podmatrice A j regularne i matrica L j je donjetrokutasta s jedinicama na glavnoj dijagonali, to znači da imamodet(L k · · ·L 1 A) k+1 = detA k+1 ≠ 0i stoga je u kk ≠ 0 u 4. retku. Lema 4.4 pokazuje da algoritam ispravnoizračunava vrijednosti elemenata l jk matrice L = (L n · · ·L 1 ) −1 .Za kompletiranje rješavanja linearnih sustava Gaussovom metodom eliminacija,potrebno je još konstruirati algoritam <strong>za</strong> rješavanje trokutastih sustava,tj. u ovom slučaju <strong>za</strong> rješavanje sustava s gornjom trokutastom matricom.Algoritam PS (povratnih supstitucija).ulaz: U ∈ C n×n regularna gornje trokutasta matrica i vektor b ∈ C nizlaz: x ∈ C n koji <strong>za</strong>dovoljava Ux = b1: for j = n, . . .,1 do2: x j = 1 u jj(b j −n∑k=j+1u jk x k)3: end forEngleski naziv <strong>za</strong> povratne supstitucije (supstitucije una<strong>za</strong>d) glasi backwardsubstitution.


64 5. Sustavi linearnih jednadžbiNapomena 5.2 Budući da je U gornje trokutasta, vidimo da je(Ux) i =n∑u ij x jj=1(1= u ii (b i −u ii= b i .n∑k=j+1u ik x k ))+n∑j=i+1Stoga možemo <strong>za</strong>ključiti da je Algoritam PS ispravan.u ij x jOdgovarajući algoritam <strong>za</strong> rješavanje sustava Lx = b, pri čemu je Ldonje trokutasta matrica, nazivamo supstitucijama unaprijed (engl. forwardsubstitution).Algoritam SU (supstitucija unaprijed).ulaz: L ∈ C n×n regularna donje trokutasta matrica i vektor b ∈ C nizlaz: x ∈ C n koji <strong>za</strong>dovoljava Lx = b1: x 1 = b 1 /l 11 ;2: for j = 2, . . .,n(do)2: x j =l 1j−1∑· b j − l jk x k ;jjk=13: end forUzimajući u obzir sve do sada izneseno, odgovarajući algoritam <strong>za</strong> metoduGaussovih eliminacija <strong>za</strong> rješavanje sustava linearnih jednadžbi možemo pisati:Algoritam GE (Gaussove eliminacije).ulaz: A ∈ C n×n , gdje je det(A j ) ≠ 0 <strong>za</strong> j = 1,...,nizlaz: x ∈ C n , takav da Ax = b1: Odrediti LU faktori<strong>za</strong>ciju matrice A.2: Riješiti Ly = b pomoću supstitucija unaprijed.3: Riješiti Ux = y pomoću povratnih supstitucija.Dobiveni rezultat je vektor x ∈ C n <strong>za</strong> koji vrijedi Ax = LUx = Ly = b,stoga vidimo da gornji algoritam daje dobar rezultat.Zadaci


5.1. Gaussove eliminacije 651. Odredite LU faktori<strong>za</strong>ciju matrice A, gdje je⎛A = ⎝[ Rješenje: U = ⎝4 6 7−4 −11 −316 −1 50⎛4 6 70 −5 40 0 22. Odredite LU faktori<strong>za</strong>ciju matrice A, ako jeA =[ Rješenje: U =⎛⎜⎝⎛⎜⎝⎞2 1 −3 4−4 1 5 −66 9 −10 178 19 −14 322 1 −3 40 3 −1 20 0 1 10 0 0 3⎠.⎞⎛⎠, L = ⎝⎞⎟⎠ .⎞ ⎛⎟⎠ , L = ⎜⎝3. Odredite LU faktori<strong>za</strong>ciju matrice A i det A ako jeA =⎛⎜⎝−2 4 3 5−8 13 13 24−4 14 8 4−2 −20 27 47⎞⎟⎠ .1 0 0−1 1 04 5 11 0 0 0−2 1 0 03 2 1 04 5 3 1⎞⎠.]⎞⎟⎠ .][ Rješenje: det A = 48.]4. Odredite LU faktori<strong>za</strong>ciju matrice A i riješite sustav Ax = b, ako jeA =⎛⎜⎝−1 4 4 −63 −14 −11 151 2 −10 13−1 0 −9 −21⎞⎟⎠ ,⎛b = ⎜⎝13−25−5253⎞⎟⎠ .[ Rješenje: x = ( 1 −2 1 −3 )T . ]


66 5. Sustavi linearnih jednadžbi5. Neka je A ∈ R n×n <strong>za</strong> n = 2 k . Primijetimo da se LU faktori<strong>za</strong>cijamatrice A može <strong>za</strong>pisati u obliku( ) ( )L11 0 U11 UA = LU =12.L 21 L 22 0 U 22Konstruirajte algoritam na osnovi strategije podijeli i osvoji (divideand conquer) kojemu će <strong>za</strong> izračunavanje LU-faktori<strong>za</strong>cije matrice Abiti potreban red veličine O(n α ) operacija, pri čemu je O(n α ) brojoperacija potrebnih <strong>za</strong> matrična množenja.5.2 Numerička svojstva Gaussovih eliminacijaU ovom ćemo poglavlju prika<strong>za</strong>ti neka od osnovnih numeričkih svojstavaGaussovih eliminacija, kao što su (ne)stabilnost ili efikasnost. Sljedeća lemasadrži rezultat koji govori o potrebnom broju računskih operacija <strong>za</strong> LUfaktori<strong>za</strong>ciju (efikasnost).Lema 5.2 Algoritam <strong>za</strong> LU faktori<strong>za</strong>ciju kvadratne matrice reda n ima složenostračunanja:C(n) = 2 3 n3 + 1 2 n2 − 7 6 n .Dokaz. Trebamo odrediti broj računskih operacija potrebnih <strong>za</strong> izvodenjeLU faktori<strong>za</strong>cije. U 5. redu Algoritma LU, imamo (n − k + 1) produkti (n − k + 1) oduzimanja, što znači ukupno 2(n − k + 1) operacija. U 4.redu imamo jedno dijeljenje. Stoga se u petlji koja počinje u 3. redu ukupnoizvodi (n − k)(1 + 2(n − k + 1)) operacija. Uzimajući u obzir vanjsku petlju,ukupan broj operacija iznosi∑n−1∑n−1C(n) = (n − k) (1 + 2(n − k + 1)) = 2(n − k) 2 + 3(n − k) .k=1Tvrdnja teorema slijedi iz činjenice da jek=1∑n−12(n − k) 2 + 3(n − k) = 2 3 n3 + 1 2 n2 − 7 6 n ,k=1koju lako dokazujemo matematičkom indukcijom.✷


5.2. Numerička svojstva Gaussovih eliminacija 67Zadatak 5.1 Matematičkom indukcijom dokažite da vrijedi∑n−12(n − k) 2 + 3(n − k) = 2 3 n3 + 1 2 n2 − 7 6 n .k=1Pomoć: ∑ n−1k=1 k2 = n33 − n22 + n 6 .Napomena 5.3 Za funkcije f, g : N → N ili f, g : R + → R + pišemof(x) ∼ g(x)<strong>za</strong> x → ∞( )ako lim x→∞ f(x)/g(x) = 1. Ovo povlači da je f(x) = Θ g(x) . Medutim,ovo je strožiji pristup jer se na ovakav način <strong>za</strong>htijeva da se pri <strong>za</strong>pisivanjuglavnog dijela” broja operacija <strong>za</strong>drži i vodeća konstanta. Koristeći ovaj”način označavanja vidimo da je C(n) ∼ 2 3 n3 .Lema 5.3 Računska složenost supstitucija unaprijed i supstitucija una<strong>za</strong>diznosi C(n) ∼ n 2 .Dokaz. Za izračunavanje x j pomoću supstitucija una<strong>za</strong>d, potrebno je 2(n −j) + 1 operacija. Stoga je ukupan broj operacija potrebnih <strong>za</strong> izračunavanjerješenja linearnog sustava dan saC(n) =n∑j=1( )2(n − j) + 1∑n−1= 2 k + n = n(n − 1) + n = n 2 .k=0Slično se može poka<strong>za</strong>ti da je računska složenost supstitucija unaprijed danasa C(n) ∼ n 2 .✷Teorem 5.2 (Računska složenost Gaussovih eliminacija) Asimptotskired veličine računske složenosti Gaussovih eliminacija iznosi:C(n) ∼ 2 3 n3 .Dokaz. Dokaz je jednostavna posljedica prethodne dvije leme.✷


68 5. Sustavi linearnih jednadžbi5.2.1 Anali<strong>za</strong> pogreške Gaussovih eliminacijaTeorem 5.3 Algoritam supstitucije una<strong>za</strong>d je povratno stabilan (backwardstable), odnosno izračunato rješenje ˜x <strong>za</strong>dovoljava (U + ∆U)˜x = b <strong>za</strong> gornjutrokutastu matricu ∆U ∈ C n×n <strong>za</strong> koju vrijedi‖∆U‖‖U‖= O(ε m).Dokaz gornjeg teorema je dugačak i temelji se na pretpostavkama (A1) i(A2) aritmetike računala i mi ćemo ga izostaviti.Napomena 5.4 Gornji teorem možemo iska<strong>za</strong>ti točnije: izračunato rješenje˜x <strong>za</strong>dovoljava (U + ∆U)˜x = b <strong>za</strong> gornju trokutastu matricu ∆U ∈ C n×n <strong>za</strong>koju vrijedi‖∆U‖‖U‖ = n ε m1 − n ε m,gdje je parameter ε m > 0 (strojna preciznost (<strong>za</strong> detalje vidi [3]).Sada koristeći teorem 4.1 koji govori o uvjetovanosti SLJ dobivamo gornjuocjenu <strong>za</strong> pogrešku izračunatog rezultata pomoću supstitucije una<strong>za</strong>d i onaglasi:‖˜x − x‖ κ(U)≤‖x‖1 − κ(U) ‖∆U‖ · ‖∆U‖‖U‖= κ(U)O(ε m).‖U‖Stoga možemo <strong>za</strong>ključiti da je dio Gaussovih eliminacija, koji se sastoji odsupstitucija una<strong>za</strong>d, numerički stabilan i ne dovodi to dodatnih poteškoća.Isto vrijedi i <strong>za</strong> supstitucije unaprijed.Problem. Na sljedećem ćemo jednostavnom primjeru ilustrirati da LUfactori<strong>za</strong>cijanije povratno stabilna. Neka je( )ε 1A =1 1<strong>za</strong> neko ε > 0. Tada <strong>za</strong> A postoji LU faktori<strong>za</strong>cija oblika A = LU, gdje su( ) ( )1 0 ε 1L =ε −1 , U =1 0 1 − ε −1 .


5.3. Gaussove eliminacije s djelomičnim pivotiranjem 69Pretpostavimo sada da je ε ≪ 1. Tada je ε −1 vrlo veliki broj, pa će prispremanju tog broja u računalo doći do pogreške <strong>za</strong>okruživanja. Matricemogu biti spremljene kao˜L =(1 0ε −1 1), Ũ =( )ε 10 −ε −1 ,što je u skladu s pretpostavkom (A1) o pogreškama <strong>za</strong>okruživanja. Vidimo davrijedi ˜L = L i Ũ ≈ U. Medutim, množenjem dviju matrica sa <strong>za</strong>okruženimbrojevima dobivamo( ) ( )ε 1 0 0˜LŨ = = A + .1 0 0 −1Vidimo da je mala pogreška pri <strong>za</strong>okruživanju broja dovela do velike pogreškeu rezultatu! Ovaj jednostavni primjer pokazuje da anali<strong>za</strong> Gaussovih eliminacijaopćenito pokazuje da perturbirani problem ne mora biti blizu originalnom(polaznom) problemu.Primijetimo da gore promatrani problem nema veze s uvjetovanošću matriceA. Uistinu, imamoA −1 = (1 − ε) −1 ( −1 11 −εi stoga je κ(A) = ‖A‖ ∞ ‖A −1 ‖ ∞ ≈ 4 <strong>za</strong> malo ε > 0, što znači da je matricaA dobro uvjetovana.Zbog ovih nestabilnosti standardne (klasične) metode Gaussovih eliminacija,ova se metoda u takvom obliku izbjegava u numeričkim primjenama.U sljedećem ćemo poglavlju poka<strong>za</strong>ti jednu njezinu modifikaciju koja nemanavedeni problem sa stabilnošću.5.3 Gaussove eliminacije s djelomičnim pivotiranjemDefinicija 5.3 Matrica permutacije je matrica kojoj su elementi nule ilijedinice i koja u svakom retku i u svakom stupcu ima točno jednu jedinicu.Iz definicije odmah slijedi da je svaka matrica permutacije kvadratna.Primjetimo da je svaka matrica permutacije regularna.)


70 5. Sustavi linearnih jednadžbiPrimjer 5.3 Neka je π : {1, . . ., n} → {1, . . ., n} permutacija. Tada jematrica P = (p ij ){ 1, ako j = π(i)p ij =0, u suprotnommatrica permutacija. Istaknimo da je jedinična matrica takoder permutacijskamatrica.Napomena 5.51) Ako je P permutacijska matrica, tada jen∑(P T P) ij = p ki p kj = δ ij ,k=1stoga je P T P = I. Ovim smo poka<strong>za</strong>li da je matrica permutacije ortogonalnai da je P −1 = P T .2) Ako je P matrica permutacija koja odgovara permutaciji π, tada <strong>za</strong>njezin inverz vrijedi da je (P −1 ) ij = 1 ako i samo ako je j = π −1 (i). Stogamatrica permutacija P −1 odgovara permutaciji π −1 .3) Vrijedi sljedeće:n∑(PA) ij = p ik a kj = a π(i),jk=1<strong>za</strong> sve i, j ∈ {1, . . ., n}, što pokazuje da množenje s matricom permutacijaslijeva odgovara permutaciji (<strong>za</strong>mjeni mjesta) redaka matrice A.Nadalje, vrijedin∑(AP) ij = a ik p kj = a i,π −1 (j)k=1<strong>za</strong> sve i, j ∈ {1, . . .,n}, odnosno množenje s matricom permutacija zdesnaodgovara permutaciji (<strong>za</strong>mjeni mjesta) stupaca matrice A.U prošlom poglavlju prika<strong>za</strong>n je primjer koji obraduje slučaj kad LUfaktori<strong>za</strong>cija nije povratno stabilna. Problem sa stabilnošću nastaje zbogtoga što u 4. koraku LU faktori<strong>za</strong>cije dolazi do dijeljenja s vrlo malim brojemu kk = ε.Nadalje, primijetimo da <strong>za</strong> postojanje LU faktori<strong>za</strong>cije matrica A moraimati specijalnu strukturu: sve njene glavne podmatrice do uključivo redan − 1 moraju biti regularne. Sljedeći primjer ilustrira taj problem.


5.3. Gaussove eliminacije s djelomičnim pivotiranjem 71Primjer 5.4 Neka jeA =( ) 0 11 1matrica sustava Ax = b. Očito je regularna ( det A = −1), pa sustav imarješenje, ali <strong>za</strong> A ne postoji LU faktori<strong>za</strong>cija. Zaista, kad bi LU faktori<strong>za</strong>cijapostojala, vrijedilo bi:što povlači( )0 1=1 1( ) ( )1 0 u11 u 12l 21 1 0 u 221 · u 11 = 01 · u 12 = 1l 21 · u 11 = 1l 21 · u 12 + u 22 = 1Iz prve jednadžbe odmah vidimo da je u 11 = 0, a iz treće slijedi da l 21 · 0 = 1,što je u kontradikciji s regularnošću matrice A.S druge strane, matrica A predstavlja linearni sustav0 x 1 + x 2 = b 1x 1 + x 2 = b 2čija su rješenja dana sa x 1 = b 2 − b 1 i x 2 = b 1 . Primijetimo da taj sustavmožemo ekvivalentno <strong>za</strong>pisati kaox 1 + x 2 = b 20 x 1 + x 2 = b 1 ,pri čemu promatranom sustavu sada pripada matrica:( ) 1 1à = .0 1Vidimo da matricu à jednostavno dobivamo iz matrice A <strong>za</strong>mjenom redaka,odnosno à = PA, pri čemu je p matrica permutacije oblika( )0 1P = .1 0


72 5. Sustavi linearnih jednadžbiDakle, kako bismo izbjegli probleme kao što su dijeljenje s jako malimbrojevima u LU faktori<strong>za</strong>ciji ili nemogućnost izračunavanja LU faktori<strong>za</strong>cije,mi ćemo se poslužiti <strong>za</strong>mjenom redaka matrice A. Može se poka<strong>za</strong>ti da <strong>za</strong>proizvoljnu kvadratnu matricu A postoji permutacija P takva da <strong>za</strong> permutiranumatricu à = PA postoji LU faktori<strong>za</strong>cija, tj. à = LU.Algoritam LUDP (LU faktori<strong>za</strong>cija s djelomičnim pivotiranjem)ulaz: A ∈ C n×n regularnaizlaz: L, U, P ∈ C n×n , takve da je PA = LU, gdje je L donje trokutasta sjedinicama na dijagonali, U regularna gornja trokutasta i P matricapermutacija1: U = A, L = I, P = I2: for k = 1, . . .,n − 1 do3: i<strong>za</strong>beri i ∈ k, . . .,n tako da je |u ik | najveće4: <strong>za</strong>mijeni red (u k,k , . . .,u k,n ) redom (u i,k , . . .,u i,n )5: <strong>za</strong>mijeni red (l k,1 , . . ., l k,k−1 ) redom (l i,1 , . . .,l i,k−1 )6: <strong>za</strong>mijeni red (p k,1 , . . ., p k,n ) redom (p i,1 , . . ., p i,n )7: for j = k + 1, . . ., n do8: l jk = u jk /u kk9: (u j,k , . . .,u j,n ) = (u j,k , . . .,u j,n ) − l j,k (u k,k , . . .,u k,n )10: end for11: end forNapomena 5.61) Za sve elemente matrice L dobivene gornjim algoritmom vrijedi l ij ≤ 1<strong>za</strong> sve i, j ∈ {1, . . .,n}.2) Složenost računanja ostaje nepromijenjena kao i u slučaju običnog LUalgoritma (bez pivotiranja). Ovo je očito, jer je jedina razlika izmedu ta dvaalgoritma dodatna <strong>za</strong>mjena redova, <strong>za</strong> što nam ne trebaju dodatne računske


5.3. Gaussove eliminacije s djelomičnim pivotiranjem 73operacije. Dodatne permutacije <strong>za</strong>htijevaju O(n 2 ) pridruživanja, ali se mogu<strong>za</strong>nemariti u odnosu na dominantni dio od Θ(n 3 ) računskih operacija iz LUalgoritma.Dakle, modificirani algoritam (Gaussove eliminacije s djelomičnim pivotiranjem)izvode se na sljedeći način. IzračunavamoU = L n−1 P n−1 · · ·L 1 P 1 A.Budući da množenje slijeva matricama P k <strong>za</strong>mjenjuje k-ti s i k -tim retkom,redak i k i<strong>za</strong>biremo tako da element u ik k bude najveći po apsolutnoj vrijednosti.Gornju jednakost možemo <strong>za</strong>pisati i kaogdje jeU = ˜L n−1 · · · ˜L 1 P n−1 · · ·P 1 A,˜L k = P n−1 · · ·P k+1 L k P −1k+1 · · ·P−1 n−1<strong>za</strong> k = 1, . . .,n − 1. Primijetimo da P n−1 · · ·P k+1 <strong>za</strong>mjenjuju retke k +1, . . .,n, a P −1k+1 · · ·P−1 n−1 <strong>za</strong>mjenjuju odgovarajuće stupce, k +1, . . .,n. Stogavidimo da je oblik matrice ˜L k isti kao i oblik matrice L k , odnosno obje matricesu donje trokutaste s jedinicama na dijagonali, a jedini elementi različiti odnule nalaze im se u k-tom stupcu.Sve <strong>za</strong>jedno daje sljedeći algoritam <strong>za</strong> Gaussove eliminacije s djelomičnimpivotiranjem:Algoritam GEDP (Gaussove eliminacije s djelomičnim pivotiranjem).ulaz: A ∈ C n×n regularna matricaizlaz: x ∈ C n <strong>za</strong> koji vrijedi Ax = b1: odrediti PA = LU koristeći algoritam LUDP2: riješiti Ly = Pb pomoću supstitucija unaprijed3: riješiti Ux = y pomoću povratnih supstitucijaRezultat ovog algoritma je vektor x ∈ C n <strong>za</strong> koji je Ax = P −1 LUx =P −1 Ly = P −1 Pb = b, pa vidimo da je algoritam korektan.5.3.1 Anali<strong>za</strong> pogreške <strong>za</strong> GEDP


74 5. Sustavi linearnih jednadžbiTeorem 5.4 (Povratna anali<strong>za</strong> pogreške <strong>za</strong> LUDP) Neka je LU faktori<strong>za</strong>cijakvadratne matrice A reda n izračunata s pivotiranjem redaka uaritmetici s relativnom točnošću ε m i neka su ˜L i Ũ dobivene aproksimacije<strong>za</strong> L i U. Ako je pri tome korištena permutacija P, onda je˜LŨ= P(A + ∆A)i vrijedi|∆A| ≤2nε mP T |˜L| |Ũ| . (5.3)1 − 2nε mVažno je napomenuti da standardno pivotiranje redaka osigurava da suu matrici L svi elementi po apsolutnoj vrijednosti manji ili jednaki jedinici(što vrijedi i <strong>za</strong> matricu |˜L|), dok elementi matrice Ũ ovise o (i dobiveni supomoću) elementima matrice Ã(k) , k = 0, 1, . . ., n − 1. Stoga je broj g n (A)(faktor rasta elemenata) definiran sag n (A) = max ij |u ij |max ij |a ij | ,dobra mjera <strong>za</strong> relativni rast (u odnosu na A) elemenata u produktu |˜L||Ũ|.Vrijedi sljedeća ocjena:Napomena 5.7 Umjesto ocjene iz teorema 5.4 često se koristi sljedeća ocjena.Za rastav˜LŨ = P(A + ∆A)vrijedi‖∆A‖‖A‖≤ ε mp(n)g n (A),gdje je p polinom a g n (A) (faktor rasta elemenata) definiran sag n (A) = max ij |u ij |max ij |a ij | .Primijetimo da pivotiranje redaka doprinosi numeričkoj stabilnosti takošto se <strong>za</strong> faktor rasta elemenata g n (A) može osigurati umjeren rast u tokuLU faktori<strong>za</strong>cije.Sljedeća lema pokazuje da u slučaju pivotiranja redaka faktor rasta elemenatag n (A) ima gornju ogradu koja je funkcija samo dimenzije problema.


5.3. Gaussove eliminacije s djelomičnim pivotiranjem 75Lema 5.4 Faktor rasta elemenata g n (A) omeden je odozgo i vrijedi ocjena<strong>za</strong> svaki A ∈ C n×n .g n (A) ≤ 2 n−1Dokaz. Matricu U dobivamo kao U = ˜L n−1 · · · ˜L 1 PA. Za po volji i<strong>za</strong>brank ∈ {1, . . ., n − 1} i <strong>za</strong> bilo koju matricu A ∈ C n×n vrijedin∑max |(˜L k A) ij | = max | (˜L k ) il a lj |i,ji,j=1,...,nl=1∣ n∑ ∣∣∣∣≤ max(˜L k ) il max |a ij |i=1,...,n ∣i,j≤2 maxi,jl=1|a ij | ,stoga redom množeći s matricama ˜L 1 , . . ., ˜L n−1 slijeva matricu PA dobivamomaxi,j|u ij | ≤ 2 n−1 maxi,jOvime smo doka<strong>za</strong>li teorem.|(PA) ij | ≤ 2 n−1 max |a ij | .i,j✷Primjer 5.5 Neka je⎛A =⎜⎝1 1−1 1 1−1 −1 1 1.. . .. . .. .−1 −1 · · · −1 1⎞∈ R n×n .⎟⎠Budući da svi elementi koji su nam važni <strong>za</strong> provodenje Guassovih eliminacijaimaju modul 1 (to su elementi na i ispod glavne dijagonale), nijepotrebno permutirati retke (pivotirati). LU faktori<strong>za</strong>cija nam daje⎛U =⎜⎝1 11 21 4. .. .1 2 n−2⎞∈ R n×n .⎟⎠2 n−1


76 5. Sustavi linearnih jednadžbiVidimo da <strong>za</strong> matricu A faktor rasta elemenata iznosig n (A) = max i,j|u ij |= 2 n−1 .|a ij |maxi,jGornji primjer pokazuje da je ocjena leme 5.4 oštra, tj. da postoje matricena kojima se ona dostiže. Stoga konstanta iz ocjene povratne pogreške izteorema 5.4 može rasti eksponencijalno u ovisnosti o dimenziji n.Teorem 5.4 i lema 5.4 <strong>za</strong>jedno pokazuju da je LU algoritam s djelomičnimpivotiranjem povratno stabilan.Takoder se može poka<strong>za</strong>ti da vrijedi sljedeći teorem:Teorem 5.5 Neka je ˜x rješenje regularnog sustava jednadžbi Ax = b, dobivenoGaussovim eliminacijama s pivotiranjem redaka. Tada postoji perturbacija∆A <strong>za</strong> koju vrijedi(A + ∆A)˜x = b, |∆A| ≤ 5nε1 − 2nε P T |˜L||Ũ|.Ovdje je P permutacija koja realizira <strong>za</strong>mjenu redaka. Takoder pretpostavljamoda je 2nε < 1.Konačno, neka je ˜x rješenje regularnog sustava jednadžbi Ax = b. Tadanapomena 5.7 <strong>za</strong>jedno s teoremom 4.1 daje ocjenu <strong>za</strong> relativnu pogreškurješenja (pri čemu <strong>za</strong>nemarujemo pogrešku desne strane, tj. δb = 0):Zadaci‖˜x − x‖‖x‖≤κ(A) g n (A) p(n)1 − κ(A)ε m p(n)g n (A) · ε m.1. Analogno kao kod povratnih supstitucija konstruirajte algoritam kojirješava Ly = b, gdje je L ∈ C n×n donja trokutasta regularna matrica, ab ∈ C n je vektor. Pokažite da dobiveni algoritam daje ispravan rezultatte da je asimptotski broj računskih operacija reda veličine Θ(n 2 ).2. Odredite LU-faktori<strong>za</strong>ciju matrice( 1 2A =3 1).Kako glasi faktor rasta g n (A) u ovom slučaju?


5.3. Gaussove eliminacije s djelomičnim pivotiranjem 773. Odredite matrice P, L i U koje odreduju LU faktori<strong>za</strong>ciju matrice A sdjelomičnim pivotiranjem PA = LU ako je[Rješenje: L =P =⎛⎜⎝⎛⎜⎝0 0 0 10 0 1 01 0 0 00 1 0 0A =⎛⎜⎝3 1 2 52 −2 3 −21 5 5 4−4 8 −4 121 0 0 0−1/4 1 0 0−3/4 1 1 0−1/2 2/7 1/35 1⎞⎟⎠ .]⎞⎟⎠ .⎞ ⎛⎟⎠ ; U = ⎜⎝−4 8 −4 120 7 4 70 0 −5 70 0 0 9/54. Gaussovom metodom eliminacija s djelomičnim pivotiranjem riješitesustav Ax = b i odredite matrice P, L i U takve da je PA = LU, akojeA =⎛⎜⎝1 2 3 44 2 0 11 −1 0 −12 3 −2 −2⎞⎟⎠ ,⎛b = ⎜⎝17010⎞⎟⎠ .⎞⎟⎠ ;[ Rješenje: x = ( 1 2 0 −1 ) T. ]5. Koristeći LU faktori<strong>za</strong>ciju s djelomičnim pivotiranjem izračunajte inverzmatrice A, ako je⎛A = ⎝2 3 42 −3 65 −4 10⎞⎠ .⎛[ Rješenje: A −1 = 1 ⎝466 −46 3010 0 −47 23 −12⎞⎠.]


78 5. Sustavi linearnih jednadžbi5.4 QR dekompozicijaSljedeća matrična faktori<strong>za</strong>cija (dekompozicija) koju ćemo proučavati u okviruovog poglavlja jest QR dekompozicija. Ona je često vrlo korisna i može seprimjenjivati u raznim problemima. U okviru ovog poglavlja poka<strong>za</strong>t ćemonjenu primjenu na rješavanje linearnih sustava, a u sljedećem poglavlju vidjetćemo i neke druge moguće primjene QR dekompozicije.U biti, QR dekompozicija jest rastav matrice A na dvije matrice A = QR,od kojih je jedna unitarna a druga gornja trokutasta. U sljedećem ćemoteoremu doka<strong>za</strong>t postojanje takve dekompozicije.Teorem 5.6 (QR dekompozicija) Za bilo koju matricu A ∈ C m×n , takvuda je m ≥ n postoje matrice Q i R takve da A = QR, pri čemu je Q ∈ C m×munitarna, a R ∈ C m×n je gornja trokutasta.Napomena 5.8 Faktori<strong>za</strong>ciju iz teorema 5.6 zovemo puna QR dekompozicija.Budući da su svi elementi u matrici R ispod glavne dijagonale jednaki0, vidimo da stupcin + 1, . . ., m matrice Q ne doprinose umnošku QR. Neka se matrica ˜Q ∈C m×n sastoji od prvih n stupaca matrice Q i neka se matrica ˜R ∈ C n×nsastoji od prvih n redaka matrice R. Tada se lako može provjeriti da vrijediA = ˜Q ˜R. Ovakvu dekompoziciju zovemo reducirana QR dekompozicijamatrice A. Sljedeća slika ilustrira navedeno:Dokaz. Neka su a 1 , . . .,a n ∈ C m stupci matrice A, a q 1 , . . .,q m ∈ C mstupci matrice Q. Teorem 5.6 dokazujemo tako da ćemo pomoću Gramm-Schmidtovog postupka ortogonali<strong>za</strong>cije konstruirati matrice Q i R.Postupak kojim se mogu konstruirati matrice Q i R dan je sljedećimalgoritmom:1: q 1 = a 1 /‖a 1 ‖ 2 , r 1 = ‖a 1 ‖ 2


5.4. QR dekompozicija 792: for j = 2, . . ., n do3: ̂q j = a j4: for k = 1, . . ., j − 1 do5: r kj = 〈q k , a j 〉6: ̂q j = ̂q j − r kj q k ,7: end for8: r jj = ‖̂q j ‖ 29: if r jj > 0 then10: q j = ̂q j /r jj11: else(̂q j = a j − ∑ j−1k=1 r kj q k)12: i<strong>za</strong>berimo q j tako da je okomit na q 1 ,..., q j−113: end if14: end for15: i<strong>za</strong>berimo q n+1 , . . ., q m tako da q 1 , . . .,q m čine ortonormalan sustavNavedeni algoritam izračunava stupce q 1 , . . .,q m matrice Q i elementematrice R koji se nalaze iznad i na glavnoj dijagonali. Svi su elementi matriceR ispod glavne dijagonale jednaki 0. Uz korištenje MATLAB oznaka A (i,:)(A (:,j) ) <strong>za</strong> i-ti redak (j-ti stupac) matrice A, provjerimo kako izgleda (i, j)-tielement matrice QR <strong>za</strong> ovako izračunate matrice Q i R:(QR) ij = (QR (:,j) ) (i,:) ==( j∑k=1( ∑j−1)q k r kj + ̂q j =k=1(i,:)q k r kj)(i,:)( ∑j−1q k r kj +k=1( j−1)∑= q k r kj + q j r jjk=1(i,:)( ))j−1∑a j − q k r kjk=1(i,:)= a ijstoga vidimo da je A = QR.Iz konstrukcije slijedi da <strong>za</strong> sve stupce matrice Q vrijedi ‖q j ‖ = 1 <strong>za</strong>j = 1,..., m. Ostaje nam još provjeriti da su stupci matrice Q medusobnookomiti, tj. da <strong>za</strong> q 1 , . . .,q j vrijedi 〈q i , q j 〉 = δ ij , <strong>za</strong> i, j ∈ {1, . . ., n}. Dokazprovodimo matematičkom indukcijom, <strong>za</strong> j = 1 se nema što dokazivati, a lako


80 5. Sustavi linearnih jednadžbise provjeri da je <strong>za</strong> j = 2, 〈q 1 , q 2 〉 = 0, <strong>za</strong>ista q 1 = a 1 /‖a 1 ‖ 2 , i 〈q 1 , q 1 〉 = 1, paimamo:〈q 1 , q 2 〉 = 1r 22〈q 1 , ̂q 2 〉= 1r 22(〈q 1 , a 2 − r 12 q 1 〉)= 1r 22(〈q 1 , a 2 − 〈q 1 , a 2 〉 q 1 〉)= 1r 22(〈q 1 , a 2 〉 − 〈q 1 , a 2 〉) = 0 .Pretpostavimo da je j > 2 i neka su vektori q 1 , . . .,q j−1 medusobno okomiti.Trebamo poka<strong>za</strong>ti da 〈q i , q j 〉 = 0 <strong>za</strong> i = 1, . . ., j − 1. Ako je r jj = 0, tadatvrdnja vrijedi iz definicije vektora q j . U suprotnom imamo:〈q i , q j 〉 = 1r jj〈q i , ̂q j 〉= 1j−1∑(〈q i , a j 〉 − r kj 〈q i , q k 〉)r jjk=1= 1r jj(〈q i , a j 〉 − r ij ) = 0.Ovim smo poka<strong>za</strong>li da su stupci matrice Q medusobno okomiti, a budući dasu svi normirani (jedinične duljine,) vidimo da je Q unitarna. ✷Napomena 5.91) Ovdje je potrebno napomenuti da Gramm-Schmidtov postupak ortogonali<strong>za</strong>cijekoji smo koristili u dokazu teorema 5.6 nije numerički stabilan, panije preporučljivo koristiti ga <strong>za</strong> izračunavanje QR dekompozicija.2) Za m = n matrice Q, R ∈ C n×n su kvadratne. Budući da jedet(A) = det(QR) = det(Q) det(R) ,a det(Q) = {+1, −1}, vidimo da će matrica R biti regularna ako i samo akoje A regularna.Kao što smo naveli u uvodu u ovo poglavlje, jedna od mogućih primjenaQR dekompozicija je rješavanje sustava linearnih jednadžbi (SLJ). Stoga


5.4. QR dekompozicija 81ćemo navesti algoritam koji koristi QR dekompoziciju <strong>za</strong> rješavanje problemaSLJ.Algoritam (rješavanje SLJ pomoću QR dekompozicije).ulaz: A ∈ C n×nizlaz: x ∈ C n takav da Ax = b1: odrediti QR dekompoziciju matrice A, tako da je A = QR2: i<strong>za</strong>čunati y = Q ∗ b3: i<strong>za</strong>čunati x iz sustava Rx = y pomoću povratnih supstitucijaRezultat gornjeg algoritma jest vektor x ∈ C n takav da je Ax = QRx =Qy = QQ ∗ b = b, pa vidimo da je algoritam ispravan.Kako bi gornji algoritam bio upotrebljiv, trebat će konstruirati algoritam<strong>za</strong> QR dekompoziciju koji je stabilan. U tu svrhu morat ćemo prika<strong>za</strong>tidrugačiju metodu <strong>za</strong> računanje QR dekompozicija, koja je stabilna. Nakontoga ćemo analizirati kako on radi. U algoritmu koji ćemo prika<strong>za</strong>ti koristise funkcije predznaka, stoga se prisjetimo njezine definicije:{ +1, ako je x ≥ 0;sign(x) =−1, ako je x < 0.5.4.1 Householderova QR dekompozicija (Householderovireflektori)U Gramm-Schmidtovom postupku ortogonali<strong>za</strong>cije osnovni cilj je bio ortogonaliziratistupce matrice A. U tu svrhu je matrica A postupno transformiranau ortogonalnu matricu, a gornje trokutasta matrica R nastala je kao sporedniproizvod te ortogonali<strong>za</strong>cije.Budući da je poznato da Gramm-Schmidtov postupak ortogonali<strong>za</strong>cijenije numerički stabilan, američki je matematičar Alston Scott Householderpredložio drugačiji pristup: osnovni cilj jest transformirati matricu A ugornju trokutastu pomoću unitarnih transformacija primijenjenih na stupcematrice A.Osnovnu ideju možemo vidjeti u sljedećem algoritmu:QR algoritam (Householderova QR dekompozicija).ulaz: A ∈ C m×n <strong>za</strong> m ≥ 0izlaz: Q ∈ C m×m ortogonalna matrica i R ∈ C m×n gornje trokutasta,takva da je A = QR1: Q = I, R = A


82 5. Sustavi linearnih jednadžbi2: for k = 1, ..., n − 1 do3: u = (r kk , ..., r mk ) ∗ ∈ C m−k+14: ¯v = sign(u 1 )‖u‖ 2 e 1 + u gdje je e 1 = (1, 0, ..., 0) ∗ ∈ C m−k+15: v = ¯v/‖¯v‖ 26: H k = (I m−k+1 − 2 vv ∗ ) ∈ C (m−k+1)×(m−k+1)( )Ik−1 07: Q k =0 H k8: R = Q k · R9: Q = Q · Q k10: end forNapomena 5.101) Gornji algoritam izračunava matrice Q k , <strong>za</strong> koje vrijedi Q k = Q ∗ k <strong>za</strong>k = 1, ..., n − 1, kao i matricu R = Q n−1 · · ·Q 1 A, odnosno ako definiramoQ = Q 1 · · ·Q n−1 , onda je R = Q ∗ A.2) Poka<strong>za</strong>t ćemo da matrica Q k · · ·Q 1 A ispod glavne dijagonale u stupcima1, ..., k ima samo nul-elemente, to znači da je matrica R = Q n−1 · · ·Q 1 Agornja trokutasta.3) Važno je primijetiti da pri rješavanju linearnih sustava oblika Ax = b,matricu Q trebamo jedino <strong>za</strong> izračunavanje vektora desne strane Q ∗ b. Stogau algoritmu koji će rješavati linearni sustav Ax = b ne moramo izračunaticijelu matricu Q (ne moramo formirati matricu Q), nego možemo <strong>za</strong>mijeniti9. redak QR algoritma sa b = Q k b. Na taj način će rezultat algoritma bitinovi vektor desne strane b, <strong>za</strong> koji vrijediQ n−1 · · ·Q 1 b = (Q 1 · · ·Q n−1 ) ∗ b = Q ∗ bHouseholderove matrice (Householderovi reflektori)U 8. koraku Householderove QR dekompozicija računa se umnožak( ) ( )R11 RQ k · 12 R11 R=12, (5.4)0 R 22 0 H k R 22gdje su R 11 ∈ R (k−1)×(k−1) i H k , R 22 ∈ R (m−k+1)×(n−k+1) . U ovom dijelu ćemopodrobnije razjasniti taj korak.


5.4. QR dekompozicija 83Lako se može provjeriti da je H k koju smo izračunali u 6. koraku HouseholderovogQR algoritma hermitska matrica, tj. da vrijedi H ∗ k = H k. Nadalje,vrijediH ∗ kH k = (I − 2vv ∗ ) (I − 2vv ∗ ) = I − 4vv ∗ + 4v (v ∗ v) v ∗ = I .Time smo poka<strong>za</strong>li da vrijediH ∗ k H k = H k H k = I , (5.5)što pokazuje da su matrice H k , a time i Q k , ortogonalne <strong>za</strong> svaki k ∈{1, . . .,n − 1}.Primijetimo da se <strong>za</strong> bilo koji vektor u = [ ] Tu 1 u 2 . . . u m−k+1 , takavda je u ∈ R m−k+1 , vektor H k u može izračunati kao⎡ ⎤u 1H k u = u − 2vv ∗ u 2u = u − 2v〈v, u〉 = ⎢ ⎥ − 2〈v, u〉 v . (5.6)⎣ . ⎦u m−k+1Nadalje uočimo da vektor v izračunat u 5. koraku Householderova QR algoritmaima sljedeći oblik:⎡⎤u 1 + sign(u 1 )‖u‖ 2u 2¯v = ⎢⎥⎣ . ⎦ , u 1 = r kk , . . .,u m−k+1 = r mk .u m−k+1Za izračunavanje vektora H k u, gdje je u definiran u 3. koraku HouseholderovaQR algoritma, potrebno je uočiti sljedeće〈¯v, u〉 ≡ ¯v ∗ u = sign(u 1 )‖u‖ 2 · u 1 + ‖u‖ 2i ‖¯v‖ 2 = ‖u‖ 2 + 2 sign(u 1 )‖u‖ 2 · u 1 + ‖u‖ 2Iz gornjih jednakosti slijedi da je= 2 (‖u‖ 2 + 2 sign(u 1 ) · u 1 ‖u‖ 2 ).2 2〈v, u〉 ≡‖¯v‖2‖¯v‖ 2 ¯v∗ u = 1 .


84 5. Sustavi linearnih jednadžbiSada iz gornjih jednakosti i (5.6) slijedi da vektor H k u ima oblik:⎡ ⎤ ⎡⎤ ⎡ ⎤u 1 u 1 + sign(u 1 )‖u‖ 2 sign(u 1 )‖u‖ 2H k u = u − 2u 2‖¯v‖ 2 ¯v¯v∗ u = ⎢ ⎥⎣ . ⎦ − u 2⎢⎥⎣ . ⎦ = − ⎢ ⎥⎣0. ⎦u m−k+1 u m−k+10(5.7)Važno je primijetiti da iz (5.5) slijedi da je H k projektor. Zaista, budućidaje vektor v〈v, x〉 projekcija vektora x na vektor v, vidimo da je vektorx − v〈v, x〉 projekcija vektora x na ravninu okomitu na vektor v. Stogamožemo <strong>za</strong>ključiti da je x − 2v〈v, x〉 refleksija vektora x u toj ravnini.Vektor kojim je definirana ravnina refleksije dan je sa: ¯v = u − ‖u‖ 2 e 1 ili¯v = u−(−‖u‖ 2 e 1 ), u ovisnosti o predznaku u 1 . Odgovarajuća slika (refleksija)vektora u dana je sa H k u = ‖u‖ 2 e 1 ili H k u = −‖u‖ 2 e 1 . U oba slučaja slika jeproporcionalna s vektorom e 1 , a budući da je vektor u i<strong>za</strong>bran kao prvi stupacblok-matrice R 22 iz (5.4), tj. vrijedi u 1 = r kk , . . .,u m−k+1 = r mk , vidimo da ćeu umnošku H k R 22 svi elementi ispod glavne dijagonale biti jednaki nuli. Prvistupac blok-matrice R 22 je u stvari k-ti stupac matrice R, pa <strong>za</strong>ključujemoda matrica Q k R ima samo nul elemente ispod glavne dijagonale u stupcima1, . . ., k. Nastavimo li <strong>za</strong>ključivati na isti način vidimo da je <strong>za</strong> k = n − 1matrica R = Q n−1 · · ·Q 1 A gornja trokutasta, što smo i trebali poka<strong>za</strong>ti.Napomena 5.11i) Matrice H k ili Q k ponekad se zovu Householderovi reflektori.ii) Izbor predznaka u definiciji vektora u pomaže u povećanju stabilnostialgoritma u slučajevima kad je u ≈ ‖u‖ 2 e 1 ili u ≈ −‖u‖ 2 e 1 .5.4.2 Broj računskih operacija (trošak računanja)Broj računskih operacija QR algoritma posebno ćemo odredivati <strong>za</strong> slučajkad nas <strong>za</strong>nima cijela matrica Q kao što je to definirano u 9. koraku QRalgoritma, a posebno <strong>za</strong> slučaj rješavanja SLJ kad nam treba samo vektorQ ∗ b, što se postiže promjenom 9. koraka definiranjem novog koraka danogsa b = Q k b.Prvo ćemo izbrojati potrebne računske operacije bez 9. koraka.


5.4. QR dekompozicija 85Lema 5.5 Broj računskih operacija C(m, n) Householderovog QR algoritmau slučaju matrice m ×n, ne računajući matricu Q niti vektor Q ∗ b, dan je sa:C(m, n) ∼ 2 m n 2 − 2 3 n3<strong>za</strong> m, n → ∞ <strong>za</strong> slučaj m = Θ(n).Dokaz. Broj računskih operacija odredit ćemo <strong>za</strong> svaki pojedini korak QRalgoritma. Prije nego što to učinimo uočimo da iz relacije (5.4) slijedi danam je <strong>za</strong> računanje umnožaka Q k R u 8. koraku jedino potrebno izračunatiH k R 22 = R 22 − 2vv ∗ R 22 . Budući da je v = ¯v/‖¯v‖ 2 i ‖¯v‖ 2 = √¯v ∗¯v, taj seprodukt može računati pomoću sljedeće jednakosti:H k R 22 = R 22 −¯v¯v ∗¯v/2¯v∗ R 22 ∈ R (m−k+1)×(n−k+1) . (5.8)Koristeći jednakost (5.8) računske operacije ćemo izbrojati na sljedeći način:• Za izračunavanje vektora ¯v trebamo 2 (m −k +1)+1 operacija, točnije(m −k +1) množenja, odnosno (m −k) zbrajanja i jedno korijenovanje<strong>za</strong> izračunavanje ‖u‖ 2 ( √· računamo kao jednu operaciju) i još jednozbrajanje prve komponente matrice u sa sign(u 1 )‖u‖ 2 .• Za izračunavanje svake od n − k + 1 komponenti umnožaka matricavektor¯v ∗ R 22 trebamo m − k + 1 množenja i m − k zbrajanja, znači daukupan broj operacija <strong>za</strong> izračunavanje ¯v ∗ R 22 iznosi (n −k +1)(2 (m −k + 1) − 1).• Za izračunavanje ¯v ∗¯v/2 potrebno je 2(m −k +1) operacija ((m −k +1)množenja, (m − k) zbrajanja i 1 dijeljenje), te dodatno <strong>za</strong> dijeljenjevektora ¯v s dobivenim brojem još (m − k + 1) dijeljenja.• Za izračunavanje produkta izmedu dobivenog vektora u gornjem razmatranjui vektora ¯v ∗ R 22 , tj. <strong>za</strong> izračunavanje (· · ·)(¯v ∗ R 22 ) treba nam(m − k + 1)(n − k + 1) množenja.• Za izračunavanje razlike R 22 −(· · ·) potrebno je (m −k +1)(n −k +1)oduzimanja.Stoga je ukupan broj računskih operacija dan saC(m, n) =∑n−15(m − k + 1) + 1 + (n − k + 1)(4(m − k + 1) − 1) .k=1


86 5. Sustavi linearnih jednadžbiUvodenjem supstitucije l = m − k + 1, iz k = 1, . . .,n − 1 slijedi da možemopisati da l = m − n + 2, . . .,m, dobivamo:C(m, n) = ∑ ml=m−n+25l + 1 + (n − m + l)(4l − 1)= 4 ∑ ml=m−n+2 (n−m) l+4 ∑ ml=m−n+2 l2 + članovi s najviše dva faktora m, n∼ 4(n − m)(mn − n22 ) + 4 6 (2m3 − 2(m − n) 3 ))∼ 2mn 2 − 2 3 n3<strong>za</strong> m, n → ∞, uz uvjet m = Θ(n).✷U slučaju ako trebamo izračunavati i matricu Q, dodatno je potrebnoizvršiti (m − k + 1) × (m − k + 1) matričnih množenja definiranih u 9. koraku.Ako pretpostavimo da se to množenje izvodi standardnom metodom<strong>za</strong> matrično množenje, tada dodani broj računskih operacija iznosi Θ(m 3 ),tj. asimptotski doprinos broju računskih operacija QR algoritma bit ćeuvećan upravo <strong>za</strong> taj red veličine. Medutim, ako koristimo QR algoritam <strong>za</strong>rješavanje SLJ, tada je jedino potrebno u svakom koraku izračunati Q ∗ b umjestocijele matrice Q. Gledajući preko algoritma vidimo da je to analognokao da računamo QR dekompoziciju matice A proširene vektorom b (QRdekompozicija matrice [A, b]). Stoga ukupni broj računskih operacija u tomslučaju možemo izračunati kaoC(m, n + 1) ∼ 2m(n + 1) 2 − 2 3 (n + 1)3 ∼ 2mn 2 − 2 3 n3<strong>za</strong> m, n → ∞ i <strong>za</strong> m = Θ(n), što znači da se <strong>za</strong> velike n i m broj računskihoperacija ne mijenja. Primijetimo da kod rješavanja SLJ imamo m = n pa<strong>za</strong> broj računskih operacija pri rješavanju SLJ pomoću Householderove QRdekompozicija dobivamoC(n) ∼ 2nn 2 − 2 3 n3 = 4 3 n3 <strong>za</strong> n → ∞.Primijetimo da je broj operacija <strong>za</strong> rješavanje SLJ pomoću HouseholderoveQR dekompozicije dvostruko veći od broja operacija <strong>za</strong> rješavanje SLJ pomoćuGaussovih eliminacija s djelomičnim pivotiranjem. Medutim, metoda rješavanjaSLJ pomoću Householderove QR dekompozicije je stabilnija od Gaussoviheliminacija s djelomičnim pivotiranjem.


5.4. QR dekompozicija 875.4.3 Anali<strong>za</strong> točnostiTeorem 5.7 a) Za matricu A ∈ R m×n , neka su ˜R, ṽ 1 , . . .,ṽ n−1 veličineizračunate Householderovim QR algoritmom. Neka je( )Ik−1 0˜Q k =0 I m−k+1 − 2ṽ k ṽk∗i ˜Q = ˜Q 1 · · · ˜Q n−1 . Tada je ˜Q ˜R = A+∆A <strong>za</strong> neku matricu ∆A ∈ R m×n , pričemu vrijedi‖∆A‖‖A‖= O(ε m).b) Neka je ỹ izračunata vrijednost <strong>za</strong> ˜Q ∗ b. Tada( ˜Q + ∆Q)ỹ = b, ‖∆Q‖ = O(ε m ).Napomena 5.121) Veličine ṽ 1 , . . .,ṽ n−1 iz gornjeg teorema predstavljaju vrijednosti vektorav izračunatog u 5. koraku algoritma <strong>za</strong> k-tu iteraciju. Budući da se matricaQ k ne računa eksplicitno (koristimo jednakost (5.8)), veličine ṽ 1 , . . .,ṽ n−1su izračunate relevantne veličine. U našoj ćemo analizi proučavati matrice˜Q k koje su točno izračunate pomoću vektora v k , stoga su eg<strong>za</strong>ktno ortogonalne.2) Primijetite da se drugi dio gornjeg teorema (dio b)) odnosi na apsolutnupogrešku <strong>za</strong> ˜Q ∗ , koja se na prvi pogled ne čini baš korisnom. No kakoćemo vidjeti u sljedećem teoremu, koji govori o povratnoj stabilnosti Householderovogalgoritma, ta se ocjena može uspješno iskoristiti.Teorem 5.8 Householderov algoritam <strong>za</strong> rješavanje SLJ je povratno stabilan:izračunato rješenje ˜x linearnog sustava Ax = b <strong>za</strong>dovoljava ocjenu(A +∆Ā)˜x = b,‖∆Ā‖‖A‖= O(ε m).Dokaz. Neka su ˜Q, ˜R i ỹ dane kao u teoremu 5.8. Rješenje ˜x, SLJ Ax = b,izračunava se kao ˜Rx = ỹ pomoću povratnih supstitucija. Iz činjenice da jealgoritam povratnih supstitucija povratno stabilan (vidi teorem 5.3) slijedida izračunato rješenje ˜x <strong>za</strong>dovoljava( ˜R + ∆R)˜x = ỹ,‖∆R‖‖R‖= O(ε m).


88 5. Sustavi linearnih jednadžbiTo nam dajeb = ( ˜Q + ∆Q)ỹ= ( ˜Q + ∆Q)( ˜R + ∆R)˜x= ( ˜Q ˜R + ∆Q ˜R + ˜Q∆R + ∆Q∆R)˜x= (A + ∆Ā)˜x,pri čemu je ∆Ā = ∆A+∆Q ˜R+ ˜Q∆R+∆Q∆R i ∆A je pogreška izračunateQR dekompozicije dane u dijelu a) teorema 5.7.Proučit ćemo sva četiri izra<strong>za</strong> iz definicije ∆Ā, tj. proučavat ćemo omjernorme svakog izra<strong>za</strong> s normom matrice A. Za prvi izraz ‖∆A‖/‖A‖ primjenomteorema 5.7 slijedi da je ‖∆A‖/‖A‖ = O(ε m ).Budući da je matrica ˜Q ortogonalna, imamo ˜R = ˜Q ∗ (A + ∆A) i stogaZbog toga vrijedi‖ ˜R‖‖A‖ ≤ ‖ ˜Q ∗ ‖A + ∆A‖‖ ·‖A‖‖∆Q ˜R‖‖A‖Slično se može vidjeti da vrijedii‖ ˜Q∆R‖‖A‖‖∆Q∆R‖‖A‖= O(1).≤ ‖∆Q‖ · O(1) = O(ε m ).≤ ‖‖∆R‖ ‖R‖ ˜Q‖‖R‖ ‖A‖ = O(ε m)≤ ‖∆Q‖ ‖∆R‖ ‖R‖‖R‖ ‖A‖ = O(ε2 m ).Uzimajući sve <strong>za</strong>jedno u obzir vidimo da vrijedi ‖∆Ā‖/‖A‖ = O(ε m). ✷Teorem 5.8 pokazuje da je Householderova metoda <strong>za</strong> rješavanje SLJpovratno stabilna. Zbog jednostavnosti smo u našoj analizi izostavili konstantuu ocjeni stabilnosti ‖∆Ā‖/‖A‖ = O(ε m). Detaljnija bi anali<strong>za</strong> poka<strong>za</strong>lada u toj ocjeni postoji dodatna konstanta koja nije oblika eksponencijalnefunkcije <strong>za</strong> razliku od metode GEDP koja posjeduje konstantu, koja je osjetljivana eksponencijalni rast, s gornjom medom 2 n−1 (vidi lemu 5.4 izpoglavlja 5.3.1).Zadaci


5.4. QR dekompozicija 891. Neka jeA =( 1 23 1a) Odredite QR dekompoziciju matrice A, koristeći Gram-Schmidtovpostupak i postupak primjenom Householderovih matrica.b) Izračunajte broj uvjetovanosti matrice A <strong>za</strong> norme ‖ · ‖ ∞ , ‖ · ‖ 2odnosno ‖ · ‖ 1 .2. a) Neka je A = a⊗b. Izračunajte sve svojstvene vrijednosti i svojstvenevektore matrice A. Kad će A biti normalna matrica?b) Neka je H ∈ R n×n Householderova matrica. Pokažite da je samojedna svojstvena vrijednost matrice H jednaka −1, dok su sve ostale+1 s mnogostrukošću (n − 1). Kolika je det(H)?).3. Odredite asimptotski broj računskih operacija QR algoritma u slučajuda izračunavamo cijelu matricu Q.4. Neka je u = ( 2 2 −4 5 ) T. Konstruirajte Householderovu matricuH tako da poništia) sve elemente vektora u osim elementa u 1 .b) samo treću i četvrtu komponentu vektora u.Izračunajte Hu.[Rješenje: a) Hu = ( −7 0 0 0 ) , b) Hu = ( 2 −3 √ 5 0 0 ) . ]5. Odredite reduciranu QR dekompoziciju matrice⎛−4⎞3A = ⎝ 8 3 ⎠8 12[Rješenje: ˆR =(12 90 9⎛), ˆQ = ⎝− 1 23 32− 1 3 32 23 36. Primjenom Householderovih matrica odredite QR dekompoziciju matriceA i riješite sustav Ax = b, ako je⎛⎞ ⎛ ⎞10 9 181A = ⎝ 20 −15 −15 ⎠ , b = ⎝ 20 ⎠ .20 −12 51−43⎞⎠.]


90 5. Sustavi linearnih jednadžbi⎛[Rješenje:R = ⎝⎛x = ⎝11−1⎞⎠. ]−30 15 −300 15 150 0 45⎞⎛⎠, Q = 1 ⎝15−5 14 −2−10 −5 −10−10 −2 11⎞⎠,


Poglavlje 6Iterativne metodeU dosadašnjim razmatranjima proučavali smo tzv. direktne metode <strong>za</strong> izračunavanjerješenja SLJ. Osnovno svojstvo tih metoda jest da je njima <strong>za</strong>izračunavanje rješenja x = A −1 b potrebno Θ(n 3 ) operacija. U ovom ćemopoglavlju proučavati metode koje ne odreduju rješenje direktno nego iterativno(postupno). Takvim se metodama konstruira niz x (k) , k ∈ N <strong>za</strong> kojivijedix (k) → x <strong>za</strong> k → ∞.Takve metode nazivamo iterativne metode, a kako ćemo vidjeti postoje matriceA s posebnom strukturom kod kojih pogreška ‖x (k) −x‖ postaje dovoljnomala nakon znatno manje operacija od Θ(n 3 ).6.1 Linearne metodeOsnovna ideja iterativnih metoda jest napisati matricu A u obliku A = M +N, pri čemu je matrica M i<strong>za</strong>brana tako da se njen inverz računa lakše odinver<strong>za</strong> matrice A. Tada <strong>za</strong> <strong>za</strong>danu (k − 1)-vu iteraciju x (k−1) , k-tu iteracijuk ∈N (k-tu aproksimaciju rješenja), definiramo sa:Mx (k) = b − Nx (k−1) (6.1)Pretpostavimo li da vrijedi limk→∞x (k) = x, tada <strong>za</strong> limes x vrijediMx = limk→∞Mx (k) = limk→∞b − Nx (k−1) = b − Nx,91


92 6. Iterativne metodestoga <strong>za</strong> taj limes x vidimo da vrijedi Ax = b. To nam pokazuje da u slučajukonvergencije ni<strong>za</strong> (6.1) njegov limes predstavlja rješenje SLJ.U svrhu proučavanja konvergencije iterativne metode, proučavat ćemoponašanje pogreške e (k) = x (k) − x, gdje je x točno (eg<strong>za</strong>ktno rješenje) SLJ.Koristeći navedene oznake dobivamoMe (k) = Mx (k) − Mx = (b − Nx (k−1) ) − (A − N)x = −Ne (k−1) ,iz čega slijedi e (k) = −M −1 Ne (k−1) . To znači da će promatrana metodakonvergirati ako e (k) → 0 <strong>za</strong> k → ∞.Prije nego nastavimo s proučavanjem konvergencije iterativnih metodapotrebno je uvesti nekoliko pojmova koji će nam poslužiti kao teorijska osnova<strong>za</strong> njihovo proučavanje.Prvi se rezultat odnosi na Jordanovu kanonski oblik matrice. Rezultatćemo iska<strong>za</strong>ti u obliku teorema bez doka<strong>za</strong>.Definicija 6.1 Jordanov blok J k (λ) ∈ C k×k <strong>za</strong> λ ∈ C je matrica <strong>za</strong> kojuvrijedi J k (λ) ii = λ, J k (λ) i,i+1 = 1 i J k (λ) i,j = 0 <strong>za</strong> sve ostale i, j = 1, ..., k,tj.⎛⎞λ 1 0 . . . 00 λ 1 . . . 0J k (λ) =.⎜. . .. . .. ..⎟⎝0 0 . . . λ 1⎠0 0 . . . . . . λJordanova matrica je blok diagonalna matrica J ∈ C n×n sljedećeg oblika⎛⎞J n1 (λ 1 )J n2 (λ 2 )J = ⎜⎝. ..⎟⎠J nk (λ k )gdje je ∑ nj=1 n j = n.Teorem 6.1 (Jordanov kanonski oblik) Za bilo koju kvadratnu matricuA ∈ C n×n postoji regularna matrica S ∈ C n×n i Jordanova matrica J ∈ C n×n ,koje <strong>za</strong>dovoljavaju jednakostA = SJS −1 ,pri čemu su dijagonalni elementi λ 1 , . . .,λ k Jordanovih blokova J ni , i =1, . . ., k, svojstvene vrijednosti matrice A.


6.1. Linearne metode 93Pomoću prethodnog teorema o Jordanovom kanonskom obliku matriceu sljedećoj lemi izvest ćemo jedno od važnih svojstava spektralnog radijusamatrice A.Lema 6.1 Neka je dana matrica A ∈ C n×n i broj ε > 0. Tada postojivektorska norma na C n takva da njoj pripadna inducirana vektorska norma<strong>za</strong>dovoljavaρ(A) ≤ ‖A‖ ≤ ρ(A) + ε .Dokaz. Iz teorema 2.2 slijedi ρ(A) ≤ ‖A‖, <strong>za</strong> bilo koju matričnu normu.Ostaje nam samo poka<strong>za</strong>ti drugu nejednakost iz tvrdnje. Neka je sa J =S −1 AS dan Jordanov oblik matrice A i neka je dana dijagonalna matricaD ε = diag(1, ε, ε 2 , . . .,ε n−1 ). Tada je(SD ε ) −1 A(SD ε ) = D −1ε JD ε =⎛⎜⎝λ 1ε. .. . ..1λ 2 ε. .. . ..⎞.. .. ε ⎟λ 2 ⎠.. .Definirajmo vektorsku normu ‖ · ‖ na C n na sljedeći način:‖x‖ = ‖(SD ε ) −1 x‖ ∞<strong>za</strong> sve vektore x ∈ C n . Tada inducirana matrična norma <strong>za</strong>dovoljava‖A‖ = maxx̸=0= maxy≠0‖Ax‖‖x‖ = maxx̸=0‖(SD ε ) −1 A(SD ε )y‖ ∞‖y‖ ∞= ‖(SD ε ) −1 A(SD ε )‖ ∞ .‖(SD ε ) −1 Ax‖ ∞‖(SD ε ) −1 x‖ ∞Iz teorema 2.5 slijedi da se ‖ · ‖ ∞ neke matrice izračunava kao najveći zbrojapsolutnih vrijednosti elemenata po retcima. Prema tome, iz eksplicitnog


94 6. Iterativne metodeoblika matrice (SD ε ) −1 A(SD ε ) koji smo gore izračunali vidimo da je ‖A‖ ≤max i |λ i | + ε = ρ(A) + ε. Time je teorem doka<strong>za</strong>n.□Sada se možemo vratiti proučavanju konvergencije iterativnog postupka(6.1). Prisjetimo se da <strong>za</strong> taj postupak pogreška e (k) = x (k) − x <strong>za</strong>dovoljavae (k) = −M −1 Ne (k−1) <strong>za</strong> sve k ∈ N. To znači da će metoda konvergirati akoi samo ako e k → 0 <strong>za</strong> k → ∞. Sljedeći teorem karakterizira konvergencijuiterativne metode pomoću svojstava spektralnog radijusa matriceC = −M −1 N .Teorem 6.2 Neka je dana matrica C ∈ C n×n i vektori e (0) ∈ C n i e (k) =C k e (0) ∈ C n , <strong>za</strong> sve k ∈ N. Tada e (k) → 0 <strong>za</strong> svaki e (0) ∈ C n ako i samo akoje ρ(C) < 1.Dokaz. Prvo pretpostavimo da je ρ(C) < 1. Tada prema 6.1 možemopronaći induciranu matričnu normu takvu da je ‖C‖ < 1 pa imamo‖e (k) ‖ = ‖C k e (0) ‖ ≤ ‖C‖ k ‖e (0) ‖ → 0<strong>za</strong> k → ∞. S druge strane, ako je ρ(C) ≥ 1, tada postoji barem jedane (0) ∈ C n <strong>za</strong> koji vrijedi da je Ce (0) = λe (0) <strong>za</strong> neko λ ∈ C takvo da je|λ| ≥ 1. Za taj vektor e (0) dobivamo‖e (k) ‖ = ‖C k e (0) ‖ = |λ| k ‖e (0) ‖iz čega se vidi da e (k) ne konvergira ka 0 <strong>za</strong> k → ∞.□Napomena 6.1a) Gornji teorem govori o tome da će iterativni postupak (6.1) konvergiratiako i samo ako je ρ(C) < 1. Brzina konvergencije je veća što je ρ(C) manji.b) Budući da je ρ(C) < ‖C‖ <strong>za</strong> svaku matričnu normu ‖ · ‖, dovoljanuvjet <strong>za</strong> konvergenciju promatrane iterativne metode je ‖C‖ < 1, <strong>za</strong> nekumatričnu normu.U nastavku ćemo proučavati specifične metode kod kojih su matrice M iN iz (6.1) posebno konstruirane. Tu ćemo konstrukciju izvoditi na sljedeći


6.1. Linearne metode 95način: Za matricu A ∈ C n×n definiramo n × n matrice⎛⎞0 0 . . . 0 0 ⎛⎞a 21 0 . . . 0 0a 11 0 . . . 0L =a 31 a 3 2 . . . 0 00 a 22 . . . 0, D = ⎜⎜⎝.. ..⎟ ⎝.. ⎠0 0 ..⎟ . ⎠ ,0 0 . . . aa n 1 a n2 . . . a n n−1 0n n⎛⎞0 a 12 a 13 . . . a 1n0 0 a 23 . . . a 2nU =.⎜. . .. .. (6.2)⎟⎝0 0 . . . 0 a n−1 n⎠0 0 . . . 0 0Vidimo da vrijedi A = L + D + U.6.1.1 Jacobijeva metodaIterativna metoda koju dobivamo iz (6.1) <strong>za</strong> izbor matrica M = D i N =L + U, gdje su L, D i U definirane kao u (6.2) zovemo Jacobijeva metoda.Uz takav izbor matrica M i N iterativni postupak poprima sljedeći oblikx (k) = D −1 (b − (L + U)x (k−1) )<strong>za</strong> sve k ∈ N, pa konvergencija promatrane metode ovisi o svojstvima matriceC = −M −1 N = −D −1 (L + U). Budući da je D dijagonalna matrica, njeninverz se izračunava trivijalno, tako da konstrukcija matrice C nije skupa.( ) T,Označimo li sa x (k) = x (k)1 , . . . x(k) n tada se x (k+1) aproksimacijarješenja SLJ pomoću Jacobijeve metode dobiva kao rješenje sustava:x (k+1)1 = c 12 x (k)2 + c 13 x (k)3 + · · · + c 1 n x (k)n + β 1x (k+1)2 = c 21 x (k)1 + c 23 x (k)3 + · · · + c 2 n x (k)n + β 2. . .x (k+1)ngdje su c ij = − a ija ii, β i = b ia ii.= c n 1 x (k)1 + c n 2 x (k)2 + · · · + c n n−1 x (k)n−1 + β n,


96 6. Iterativne metodeTeorem 6.3a) Jacobijeva metoda konvergira <strong>za</strong> sve matrice A <strong>za</strong> koje vrijedi da je|a ii | > ∑ j≠i|a ij | (6.3)<strong>za</strong> i = 1, . . .,n. (Ovaj uvjet nazivamo stroga dijagonalna dominacija porecima).b) Jacobijeva metoda konvergira <strong>za</strong> sve matrice A <strong>za</strong> koje vrijedi da je|a jj | > ∑ i≠j|a ij | (6.4)<strong>za</strong> j = 1, . . .,n. (Ovaj uvjet nazivamo stroga dijagonalna dominacija postupcima).Dokaz. a) Kao što smo već vidjeli, elementi matrice C = −D −1 (L + U)su oblika{− a ijc ij = a ii, ako je i ≠ j0, <strong>za</strong> i = j.Koristeći teorem 2.5 vidimo da je1‖C‖ ∞ = maxi=1,...,n |a ii |n∑|a ij | .Stoga stroga dijagonalna dominacija po recima povlači ‖C‖ ∞ < 1, što daljepovlači da je ρ(A) < 1, a to po teoremu 6.2 znači da metoda konvergira.b) Ako je matrica A strogo dijagonalno dominantna po stupcima, tj. akovrijedi (6.4), tada je matrica A ∗ strogo dijagonalno dominantna po recima,tj. vrijedi (6.3) i metoda konvergira <strong>za</strong> A ∗ . Prema teoremu 6.2 to značida je ρ(−D −∗ (L ∗ + U ∗ )) < 1. Budući da <strong>za</strong> bilo koju matricu C, matriceC, C ∗ i D −1 C ∗ D imaju iste spektre, <strong>za</strong>ključujemo da ρ(−D −1 (L + U)) =ρ(−D −∗ (L ∗ + U ∗ )) < 1, (<strong>za</strong>ista, vrijedi ρ(−D −1 (L + U)) = ρ(−D −1 (L +U)D −1 D) = ρ(−(L+U)D −1 ) = ρ(−D −∗ (L ∗ +U ∗ )) što povlači konvergencijumetode <strong>za</strong> matricu A.□j≠i


6.1. Linearne metode 976.1.2 Gauss-Seidelova metodaPrimijetimo da se pri izračunavanju (k+1)-ve iteracije rješenja x (k+1) pomoćuJacobijeve metode svaka komponenta vektora x (k+1) izračunavala pomoćukomponenata vektora x (k) . Gauss-Seidelova metoda je poboljšanje Jacobijevemetode u sljedećem smislu.( ) TPretpostavimo da je x (k) = x (k)1 , . . . x (k)n k-ta aproksimacija rješenja.Tada se k + 1-va aproksimacija dobiva kao rješenje sustava:a 11 x (k+1)1 + a 12 x (k)2 + · · · + a 1 n x (k)n = b 1a 21 x (k+1)1 + a 22 x (k+1)2 + · · · + a 2 n x (k)n = b 2. . .a n 1 x (k+1)1 + a n2 x (k+1)2 + · · · + a n n x (k+1)n = b n .Važno je primijetiti da se u gornjem sustavu prva komponenta x (k+1)1 vektorax (k+1) izračunava iz prve jednadžbe pomoću komponenti k-te aproksimacijerješenja. Ali tu komponentu odmah koristimo u drugoj, trećoj, ..., n-tojjednadžbi. Nadalje, komponentu x (k+1)2 koristimo u trećoj, četvrtoj, ..., n-tojjednadžbi, itd. Taj sustav možemo <strong>za</strong>pisati u matričnom oblikuodnosno(L + D) x (k+1) + R x (k) = b,(L + D) x (k+1) = −R x (k) + b. (6.5)Tako da formula iterativnog postupka ima oblik:x (k+1) = −(L + D) −1 R x (k) + (L + D) −1 b.Nedostatak ove formule je u tome što u gornjem algoritmu trebamo odreditiinverz matrice L + D što je teže nego odrediti inverz matrice D. Zato se upraksi radi malo drukčije. Pomnožimo li jednadžbu (6.5) s D −1 , dobijamo:Odatle(D −1 L + I) x (k+1) = −D −1 R x (k) + D −1 b.x (k+1) = −D −1 Lx (k+1) − D −1 R x (k) + D −1 b.Tako dolazimo do algoritma koji nazivamo Gauss-Seidelova metoda.


98 6. Iterativne metodeTeorem 6.4 Ako vrijedi da je matrica A strogo dijagonalno dominantnamatrica po recima, tj. A <strong>za</strong>dovoljava (6.3), onda Gauss-Seidelova metodakonvergira.Zadaci1. Može li se sustav Ax = b riješiti Jacobijevom metodom? Ako može,odredite potreban broj koraka tako da pogreška u svakoj koordinatibude manja od 10 −3 , ako je početna aproksimacija x (0) = ( 0 0 0 0 ) TiA =⎛⎜⎝10 1 0 11 10 1 00 1 10 11 0 1 10⎞ ⎛⎟⎠ , b = ⎜⎝−801220⎞⎟⎠ .[Rješenje: k = 5.Uputa: ako metoda konvergira, onda vrijedi sljedeća formula‖x − x (k) ‖ ≤‖C‖k1 − ‖C‖ ‖x(1) − x (0) ‖. ]2. Može li se sustav Ax = b riješiti Jacobijevom metodom? Ako može,odredite potreban broj koraka tako da apsolutna pogreška metode u‖ · ‖ 1 bude manja od 10 −3 , ako je⎛A = ⎝4 2 35 10 21 1 4⎞⎛⎠, b = ⎝174⎞⎛⎠ i x (0) = ⎝[Rješenje: k = 207.]⎛ ⎞5 8 13. a) Odredite matricu P tako da se sustav Ax = b, gdje je A = ⎝ 1 2 10 ⎠,⎛ ⎞10 1 01b = ⎝ 1 ⎠, može riješiti primjenom Jacobijeve metode na sustav1000⎞⎠ .


6.2. Metoda najbržeg silaska i konjugiranih gradijenata 99PAx = Pb.b) Odredite potreban broj koraka da bi pogreška aproksimacije bilamanja od 10 −3 u ‖ · ‖ ∞ ako je x (0) = ( 0 0 0 ) T.c) Odredite prve dvije aproksimacije ako je x (0) = ( 0 0 0 ) T⎛ ⎞⎛ .0 0 1[Rješenje: P = ⎝ 1 0 0 ⎠, k = 22, x (1) = ⎝0 1 0⎛x (2) = ⎝780 12013200⎞⎠.]4. Neka su matrice A, b i x (0) kao u 1. <strong>za</strong>datku. Gauss-Seidelovommetodom riješite sustav Ax = b tako da pogreška ne prijede 0.05 unormi ‖ · ‖ ∞ .[Rješenje: potreban broj koraka <strong>za</strong> danu toleranciju je 3,x (3) = ( −0.9981 −0.00077 1.00009 1.9998 ) .]110 18110⎞⎠,6.2 Metoda najbržeg silaska i konjugiranihgradijenataU ovom ćemo poglavlju proučavati jednu od iterativnih metoda <strong>za</strong> rješavanjeSLJ Ax = b, u slučaju kada je A pozitivno definitna matrica. Za razlikuod metoda jednostavnih iteracija, metoda koju ćemo obradivati u ovompoglavlju spada u tzv. aproksimacije iz Krylovljevih potprostora.Standardni rezultat iz linearne algebre kaže da svaka matrica poništavasvoj karakteristični i minimalni polinom. Za A ∈ C n×n i b ∈ C n to možemo<strong>za</strong>pisati na sljedeći načinκ A (A) = a 0 I + a 1 A + . . . + a n−1 A n−1 + a n A n ,gdje je κ A (λ) = det(A − λI) = ∑ ni=0 a iλ i karakteristični polinom matriceA. Slično možemo napisati da je µ A (A) = 0, gdje je µ A (A) = 0 minimilnipolinom stupnja manjeg od ili jednakog n. Prepostavimo li da je matrica Aregularna, to znači da nula ne može biti korijen karakterističnog polinoma,


100 6. Iterativne metodepa je a 0 ≠ 0. Odavde jednostavnim računom možemo dobiti da vrijedito jest, da je− 1 (a1 I + . . . + a n−1 A n−2 + a n A n−1) A =a 0(= A − 1 ) (a1I + . . . + a n−1 A n−2 + a n A n−1) = Ia 0A −1 = − 1 a 0(a1 I + . . . + a n−1 A n−2 + a n A n−1) . (6.6)Budući da rješenje sustava Ax = b možemo <strong>za</strong>pisati kao x = A −1 b, uzuvažavanje prethodnog <strong>za</strong>pisa <strong>za</strong> A −1 možemo <strong>za</strong>ključiti da jeodnosnox = − a 1a 0b − · · · − a n−1a 0A n−2 b − a na 0A n−1 b,x ∈ span{b, Ab, . . .,A n−1 b} = K n (A, b). (6.7)Prostor koji se pojavljuje na desnoj strani u (6.7) zovemo Krylovljevim prostorommatrice A i inicijalnog vektora b. Upravo iz (6.7) dobivamo ideju <strong>za</strong>metode rješavanja sustava linearnih jednadžbi koje bi se temeljile na aproksimacijamaiz Krylovljevih potprostora. Naime, kako je vektor b jedini vektorizravno ve<strong>za</strong>n <strong>za</strong> problem rješavanja sustava Ax = b, čini nam se prirodnimuzeti neki ”višekratnik” od b kao prvu aproksimaciju rješenja, tj.x 1 1 ∈ span{b} .Nakon toga računamo produkt Ab i <strong>za</strong>htijevamo da nam je sljedeća aproksimacijajednaka nekoj linearnoj kombinaciji od b i Ab, tj.x 2 ∈ span{b, Ab} .Taj se proces nastavlja, tako da nam aproksimacija u k-tom koraku <strong>za</strong>dovoljavax k ∈ span{b, Ab, . . .,A k−1 b} , k = 1, 2, . . . .1 Zbog lakšeg <strong>za</strong>pisivanja, u ovom ćemo poglavljuk-tu iteraciju označavati sa x k .


6.2. Metoda najbržeg silaska i konjugiranih gradijenata 101Metoda, naravno, mora odrediti kriterij po kojemu biramo vektore iz pojedinihKrylovljevih potprostora u svakom koraku, tako da bismo u optimalnomslučaju mogli dobiti rješenje u k-tom koraku, <strong>za</strong> k ≪ n. Ako pakračun vršimo na računalu, u obzir još moramo uzeti i pogreške <strong>za</strong>okruživanja.Konkretne bi se metode <strong>za</strong>snivale na aproksimacijama upravo ovako definiranihvektora x k .Prije svega promotrimo jednu vrlo jednostavnu činjenicu. Ako je x kaproksimacija rješenja u k-tom koraku neke iterativne metode <strong>za</strong> rješavanjelinearnih sustava, i ako u (k + 1)-om koraku uzmemox k+1 = x k + A −1 (b − Ax k ) , k = 1, 2, . . .tada je x k+1 = A −1 b rješenje sustava. Budući da je izračunavanje vektoraA −1 (b − Ax k ) ekvivalentno problemu rješavanja polaznog sustava, korekcijuvektora x k radit ćemo pomoću neke njegove aproksimacije, koja se lakšeizračunava i koja će nas držati unutar Krylovljevih potprostora. Zato najprijepretpostavimo da polazimo od iteracije jednostavnog oblikax k+1 = x k + α k (b − Ax k ) , (6.8)gdje je α k parametar koji odreduje točku na pravcu koji prolazi kroz točkux k i pruža se u smjeru vektora b − Ax k . Promotrimo kako se na taj načinmožemo približiti vektoru iz (6.7). Lako se vidi da je na temelju iteracije(6.8) <strong>za</strong> k = 0, 1, 2, . . .x k ∈ x 0 + span{r 0 , Ar 0 , A 2 r 0 , . . .,A k−1 r 0 } , (6.9)r k ∈ r 0 + span{Ar 0 , A 2 r 0 , A 3 r 0 , . . .,A k r 0 } , (6.10)pri čemu je r k = b − Ax k rezidual k-te iteracije, a sa e k = A −1 r k = A −1 b −x k označavamo pogrešku. Prostor koji se pojavljuje na desnoj strani (6.9)takoder je Krylovljev potprostor, ali odreden matricom A i vektorom r 0 ,koji ne mora biti jednak vektoru b. Medutim, ako napišemo da je premajednakosti (6.6) inverz matrice A jednak A −1 = q k−1 (A), gdje je q k−1 (λ)polinom stupnja k−1 <strong>za</strong> neki k ≤ n, tada <strong>za</strong> bilo koji r 0 u prostoru na desnojstrani izra<strong>za</strong> (6.9) možemo naći vektor oblika x 0 +q k−1 (A)r 0 = x 0 +A −1 r 0 =A −1 b koji je rješenje linearnog sustava Ax = b. Općenito, iteracija iterativnemetode bit će oblikax k = x k−1 + z k−1


102 6. Iterativne metodeilix k = x 0 + w k ,pri čemu će se z k−1 i w k−1 birati tako da x k <strong>za</strong>dovoljava (6.9) i neki uvjetoptimalnosti, najčešće ve<strong>za</strong>n uz normu reziduala ili neku normu pogreške.6.2.1 Metoda najbržeg silaskaAko promatramo iterativnu metodu danu u oblikux k+1 = x k + α k (b − Ax k ) = x k + α k r k , (6.11)jedan od mogućih načina odabira parametra α k u iteraciji (6.11) je takav dau k-tom koraku iteracije dobijemo pogrešku e k+1 s minimalnom A-normom,pri čemu je A, matrica sustava Ax = b, pozitivno definitna. A-norma definirase kao ‖z‖ A = √ z ∗ Az. Neka je <strong>za</strong>dana funkcijaF(α k ) ≡ 1 2 ‖x k+1 − x‖ 2 A = 1 2 (x k+1 − x) ∗ A(x k+1 − x)= 1 2 (−A−1 r k + α k r k ) ∗ A(−A −1 r k + α k r k )= 1 2 (r k − α k Ar k ) ∗ A −1 (r k − α k Ar k ) ,gdje je x točno rješenje (Ax = b), a x k k-ta iteracija dana sa (6.11) i e k ≡x − x k = A −1 r k .Primijetite da je gornja funkcija F(α k ) ≡ e ∗ k+1 Ae k+1 : R → R. Njenuderivaciju izjednačit ćemo s nulom, što odgovara minimalnoj A-normi vektorae k+1 . Ovu metodu nazivamo metodom najbržeg silaska:F ′ (α k ) = 1 2 (−Ar k) ∗ A −1 (r k − α k Ar k ) + 1 2 (r k − α k Ar k ) ∗ A −1 (−Ar k )= −r ∗ k r k + α k r ∗ k Ar k ,iz čega slijedi da će biti F ′ (α k ) = 0 <strong>za</strong>α k = r∗ k r krk ∗Ar . (6.12)kU ovom je slučaju r k+1 okomit na r k . (Zaista, r ∗ k+1 r k = r ∗ k r k − α k r ∗ k Ar k, što<strong>za</strong> izbor α k iz (6.12) daje r ∗ k+1 r k = 0). Slično se može poka<strong>za</strong>ti da je i e k+1


6.2. Metoda najbržeg silaska i konjugiranih gradijenata 103okomit na r k u skalarnom produktu induciranom matricom A, tj. da vrijedie ∗ k+1 Ar k = 0. Važno je još primijetiti da tako dugo dok nismo našli eg<strong>za</strong>ktnorješenje, to jest dok je r k ≠ 0, α k je strogo veći od nule. Zbog okomitostie k+1 i r k slijedi‖e k ‖ 2 A = ‖e k+1 ‖ 2 A + α 2 k‖r k ‖ 2 A > ‖e k+1 ‖ 2 A ,odakle se vidi da se A-norma pogreške smanjuje u svakom koraku.Može se poka<strong>za</strong>ti da iz analize konvergencije metode najbržeg silaska slijedisljedeća ocjena:‖e k ‖ A ≤( ) k κ(A) − 1‖e 0 ‖ A ,κ(A) + 1gdje je κ(A) = λ max /λ min uvjetovanost matrice A.6.2.2 Metoda konjugiranih gradijenataU svrhu najbržeg silaska, a da metoda ne bi radila korake u smjeru kojim jeneki raniji korak prošao, unaprijed odabiremo skup A-ortogonalnih vektora,odnosno smjerove traganja d 0 , d 1 , . . .,d n1 . Znači, u svakom koraku biramotočkux k+1 = x k + α k d ks minimalnom A-normom pogreške.Dakle, u svakom smjeru d k napravit ćemo točno jedan korak, i taj ćekorak biti takve duljine da ćemo poništiti komponentu vektora pogreške e ku smjeru A d k . Nakon n koraka bit ćemo gotovi. U (k + 1)-om koraku ondabiramo e k+1 takav da bude jednak početnoj grešci, kojoj su odstranjene svekomponente u smjerovima Ad 0 , . . .,Ad k , odnosno on je A-ortogonalan nad 0 , . . .,d k . A-ortogonalnost izmedu e k+1 i d k je ekvivalentna nalaženju točkeminimuma duž smjera traganja d k , kao i u metodi najbržeg silaska. Kakobismo to vidjeli, ponovo ćemo derivirati po α k funkciju F(α k ) = e ∗ k+1 Ae k+1i izjednačiti je s nulom, samo što je u tom slučaju r k+1 okomit na d k . Akooznačimo sa r k+1 = r k − α k Ad k i e k+1 = e k − α k d k , izraz <strong>za</strong> α k dobit ćemoizjednačavanjem F ′ (α k ) = 0, tj.F ′ (α k ) = ddα k((e k − α k d k ) ∗ A(e k − α k d k )) = −2 d ∗ k Ae k + 2 α k d ∗ k Ad k ,


104 6. Iterativne metodešto nakon izjednačavanja s nulom i uzimajući u obzir r k = Ae k dajeα k = d∗ k r kd ∗ k Ad k= 〈d k, r k 〉〈Ad k , r k 〉 . (6.13)Ovako dobivena metoda naziva se metoda konjugiranih smjerova.Metoda konjugiranih gradijenata (CG) je <strong>za</strong>pravo metoda konjugiranihsmjerova kod koje se smjerovi traganja konstruiraju primjenom Gram—Schmidtove metode A-ortogonalnosti na reziduale, tj. uzima se da d 0 , d 1 , . . .,d ičine A-ortonormiranu bazu <strong>za</strong> span{r 0 , r 1 , . . .,r k−1 }. Iz te činjenice slijedi:span{d 0 , d 1 , . . .,d k−1 } = span{r 0 , r 1 , . . .,r k−1 } .Lako se može provjeriti da <strong>za</strong> r k+1 = r k − α k Ad k i e k+1 = e k − α k d k ,vrijedir ∗ i d j = e ∗ i Ad j = 0 <strong>za</strong> j < i .Nadalje, primjenom gornje jednakosti slijedi da jer ∗ i r j = 0 <strong>za</strong> 0 ≤ i < j .Iz jednakostislijedir ∗ k r i+1 = r ∗ k r i − α i r ∗ k Ad ir ∗ k Ad i = 1 α i(r ∗ k r i − r ∗ k r i+1) (6.14)Za i < k −1 lijeva strana u (6.14) jednaka je 0, pa ako smjerove d 0 , d 1 , . . .,d ikonstruiramo Gram—Schmidtovom metodom A-ortogonalnosti imat ćemod k = r k −∑k−1i=0rk ∗Ad id ∗ i Ad d i = r k −iOznačimo sa d k = r k + β k d k−1 , gdje je β k dano sar∗ k Ad k−1d ∗ k−1 Ad d k−1 .k−1β k= − r∗ k Ad k−1d ∗ k−1 Ad k−1=r ∗ k r kd ∗ k−1 r k−11α= − k−1(rk ∗r k−1 − rk ∗r k)1α (d ∗ k−1 k−1 r k−1 − d ∗ k−1 r k)= r∗ k r krk−1 ∗ r . (6.15)k−1


6.2. Metoda najbržeg silaska i konjugiranih gradijenata 105U (6.15) iskoristili smo jednakost r ∗ k−1 r k−1 = d ∗ k−1 r k−1.Uzimajući još u obzir da iz (6.13) slijediα k = d∗ k r kd ∗ k Ad k= r∗ k r kd ∗ k Ad ,kimamo sljedeći algoritamAlgoritam CG (Metoda konjugiranih gradijenta)ulaz: dana je početna iteracija x 0 , d 0 = r 0 = b − Ax 0 .izlaz: x k , <strong>za</strong> koji vrijedi Ax k ∼ b.for k = 1, 2, . . ., nizračunaj Ad k−1 ,α k−1 = r∗ k−1 r k−1d ∗ ,k−1Ad k−1x k = x k−1 + α k−1 d k−1 ,r k = r k−1 − α k−1 Ad k−1 ,r∗ k r kβ k =rk−1 ∗ r ,k−1d k = r k + β k d k−1 ,end forTeorem 6.5 (Brzina konvergencije) Metoda konjugiranih gradijenata <strong>za</strong>dovoljava(√ ) kκ(A) − 1‖e k ‖ A ≤ 2 √ · ‖e 0 ‖ Aκ(A) + 1Zadaci1. Izračunajte prve tri aproksimacije rješenja sustava Ax = b uz pomoćmetode najbržeg silaska i metode konjugiranih gradijenata ako je⎛ ⎞ ⎛ ⎞ ⎛ ⎞4 2 −1 50A = ⎝ 2 8 4 ⎠ , b = ⎝ 30 ⎠ , x (0) = ⎝ 0 ⎠ .−1 4 10 370[Rješenje: <strong>za</strong> metodu najbržeg silaskax (3) = ( 0.87853 2.08418 2.97173 ) T;<strong>za</strong> metodu konjugiranih gradijenata x (3) = ( 1 2 3 ) T]


106 6. Iterativne metode


Poglavlje 7Problem najmanjih kvadrataU ovom ćemo poglavlju proučavati problem rješavanja sustava koji ima višejednadžbi nego nepoznanica, tj. <strong>za</strong> <strong>za</strong>dane A ∈ C m×n i b ∈ C m , pri čemu jem ≥ n, treba odrediti x ∈ C n koji minimizira normu ‖Ax − b‖ 2 .Promatrajmo sljedeći primjer:Primjer 7.1 Pretpostavimo da su nam <strong>za</strong>dane vrijednosti funkcije samo unekim točkama, tj. neka sux 1 , x 2 , . . .,x n dane točke i neka suf(x 1 ), f(x 2 ), . . .,f(x n ) pripadne vrijednosti funkcije f u tim točkama. Želimoodrediti pravac g(x) = ax + b koji najbolje aproksimira funkciju f.Na sljedećoj slici je funkcija (nacrtana iscrtkano) <strong>za</strong>dana svojim vrijednostimau nekim točkama i pravac koji je najbolja aproksimacija <strong>za</strong>danefunkcije u smislu metode najmanjih kvadrata.Ako pretpostavimo da postoji pravac koji se u promatranim točkama podudaras funkcijskim vrijednostima, onda taj pravac mora <strong>za</strong>dovoljavati sljedeći107


108 7. Problem najmanjih kvadratasustavšto u matričnom <strong>za</strong>pisu ima oblikax 1 + b = f(x 1 )ax 2 + b = f(x 2 ). . .ax n + b = f(x n )⎛ ⎞⎛ ⎞x 1 1f(x x 2 1( )1 )aAx = y, gdje su A = ⎜ ⎟⎝ . . ⎠ , x = f(x 2 ), y = ⎜ ⎟b ⎝ . ⎠ .x n 1f(x n )Očito je da općenito gornji sustav ne mora imati rješenje, pa je prirodnoda promatrani pravac odredujemo tako da odredimo x ∈ C 2 koji minimiziranormu ‖Ax − y‖ 2 (što je ekvivalentno minimi<strong>za</strong>ciji ‖Ax − y‖ 2 2).Označimo li sa S(a, b) = ‖Ax−y‖ 2 2 , vidimo da desna strana ove jednakostipredstavlja sumu kvadrata razlika funkcija y ≡ f(x) i g(x) = ax+b u <strong>za</strong>danimtočkama, tj.S(a, b) =n∑[f(x k ) − g(x k )] 2 =k=1n∑[f(x k ) − ax k − b] 2 .k=1Na taj smo način definirali funkciju S(a, b) : R 2 → R, <strong>za</strong> koju vrijedi da jeS(x, y) ≥ 0.Nužan uvjet <strong>za</strong> postojanje ekstrema funkcije S glasidaklei∂S∂a = 0,∂S∂b = 0,n∑[f(x k ) − a x k − b] x k = 0,k=1n∑[f(x k ) − a x k − b] = 0,k=1


7.1. Normalne jednadžbe 109što nakon sredivanja daje sustav jednadžbin∑n∑n∑ax 2 k + bx k =f(x k ) x k ,k=1k=1k=1in∑n∑ax k + n b =f(x k )k=1Iz gornjeg sustava izračunamo a i b. Iz prirode problema jasno je da funkcijaS ima samo minimum, pa tako odredeni parametri doista daju najbolju aproksimacijufunkcije f.k=17.1 Normalne jednadžbeU ovom poglavlju prvo ćemo izvesti teorijski kriterij <strong>za</strong> rješenje problemanajmanjih kvadrata nakon čega ćemo prika<strong>za</strong>ti tri različita algoritma <strong>za</strong>rješavanje tog problema.Teorem 7.1 Vektor x ∈ C n minimizira ‖Ax−b‖ 2 <strong>za</strong> sve A ∈ C m×n i b ∈ C nako i samo ako je Ax − b ortogonalno na Im(A).Dokaz. Neka je g(x) = 1 2 ‖Ax − b‖2 2 . Tada je minimiziranje ‖Ax − b‖ 2ekvivalentno minimiziranju funkcije g.(1) Pretpostavimo da je Ax − b ortogonalno na Im(A) i neka je y ∈ C n .Tada jeAy − Ax = A(y − x) ⊥ Ax − b,pa primjenom Pitagorinog teorema vidimo da je‖Ay − b‖ 2 2 = ‖Ay − Ax‖2 2 + ‖Ax − b‖2 2 ≥ ‖Ax − b‖2 2 ,<strong>za</strong> sve y ∈ C n . Stoga x minimizira g.(2) Pretpostavimo da vektor x minimizira g. Tada <strong>za</strong> svaki y ∈ C n imamo∂∂λ g(x + λy) = 1 (〈Ay, Ax + λAy − b〉 + 〈Ax + λAy − b, Ay〉).2Budući x minimizira g, to znači da će funkcija g(λ) poprimiti minimum<strong>za</strong> λ = 0, odnosno vrijedi


110 7. Problem najmanjih kvadrata0 = ∂ g(x + λy) = 1 (〈Ay, Ax − b〉 + 〈Ax − b, Ay〉) = Re〈Ax − b, Ay〉.∂λ 2Slično vrijedi i <strong>za</strong>0 = ∂∂λ g(x + λiy) = 1 (−i〈Ay, Ax − b〉 + i〈Ax − b, Ay〉)2= iIm〈Ax − b, Ay〉.Time smo poka<strong>za</strong>li da je 〈Ax − b, Ay〉 = 0 pa je Ax − b ⊥ Ay <strong>za</strong> sve y ∈ C n .□Korolar 7.1 Vektor x ∈ C n rješava linearni problem najmanjih kvadrataako i samo akoA ∗ Ax = A ∗ b. (7.1)Dokaz. Iz teorema 7.1 znamo da će x biti rješenje linearnog problem najmanjihkvadrata ako i samo ako Ax−b ⊥ Im(A). To je ekvivalentno činjenicida je Ax − b ⊥ a i <strong>za</strong> svaki stupac a i matrice A, odnosno A ∗ (Ax − b) = 0. □Definicija 7.1 Sustav linearnih jednadžbi (7.1) zovemo normalnim jednadžbama<strong>za</strong> problem najmanjih kvadrata.Promatrat ćemo razne algoritme <strong>za</strong> rješavanje linearnog problema najmanjihkvadrata. Prvi najčešće nazivamo algoritam <strong>za</strong> rješavanje linearnogproblema najmanjih kvadrata (LPNK) preko sustava normalnih jednadžbi ion se izravno temelji na sustavu normalnih jednadžbi.Algoritam <strong>za</strong> LPNK pomoću sustava normalnih jednadžbi.ulaz: A ∈ C m×n , m ≥ n i rang(A) = n, b ∈ C mizlaz: x ∈ C n koji minimizira ‖Ax − b‖ 21: izračunaj A ∗ A i A ∗ b2: riješi (A ∗ A)x = A ∗ bNapomena 7.1 Izračunavanje produkata A ∗ A i A ∗ b <strong>za</strong>htijeva asimptotski∼ 2mn 2 operacija <strong>za</strong> m, n → ∞. Budući da je A ∗ A hermitska, trebamoizračunati samo pola elemenata što se može napraviti u ∼ mn 2 operacija.Rješavanje (A ∗ A)x = A ∗ b pomoću QR faktori<strong>za</strong>cije <strong>za</strong>htijeva 4 3 n3 operacija,što nam sve <strong>za</strong>jedno daje sljedeću asimptotsku ocjenuC(m, n) ∼ mn 2 + 4 3 n3 .


7.2. Rješavanje LPNK pomoću SVD dekompozicije 111Kod hermitskih matrica postoje metode <strong>za</strong> rješavanje sustava jednadžbi umanje koraka. Koristeći faktori<strong>za</strong>ciju Choleskog 1 dobije se asimptotska ocjenaC(m, n) ∼ mn 2 + 1 3 n3 .7.2 Rješavanje LPNK pomoću SVD dekompozicije7.2.1 Dekompozicija na singularne vrijednostiDekompozicija na singularne vrijednosti matrice jedna je od najkorištenijihdekompozicija u numeričkoj linearnoj algebri. Imamo sljedeću definicijuDefinicija 7.2 Neka je A ∈ C m×n <strong>za</strong> m, n ∈ N. Rastav matriceA = UΣV ∗zovemo singularna dekompozicija matrice A, ako su U ∈ C m×m i V ∈ C n×nunitarne, a Σ ∈ C m×n dijagonalnaΣ = diag(σ 1 , σ 2 , . . .,σ min(m,n) ) ,pri čemu vrijedi σ 1 ≥ σ 2 ≥ . . .σ min(m,n) ≥ 0, a brojeve σ 1 , σ 2 , . . ., σ min(m,n)zovemo singularne vrijednosti matrice A. Stupce matrice U zovemo lijevi, astupce matrice V desni singularni vektori matrice A.Prisjetimo se ako je H hermitska pozitivno definitna (semidefinitna) matricada onda su njene vlastite vrijednosti pozitivne (nenegativne). Ako jeA ∈ C m×n , onda su obje matrice A ∗ A i AA ∗ hermitske i pozitivno semidefinitne.Ako je m = n, vlastite vrijednosti matrica A ∗ A i AA ∗ se podudaraju.Ako je m ≠ n, matrica A ∗ A (AA ∗ ) ima n (m) vlastitih vrijednosti. Pritom sunetrivijalne vlastite vrijednosti ovih matrica jednake. Uskoro ćemo poka<strong>za</strong>tivezu vlastitih vrijednosti ovih matrica sa singularnim vrijednostima od A.Sljedeći je teorem o egzistenciji dekompozicije na singularne vrijednosti.1 Matrica A je hermitska pozitivno definitna matrica ako i samo ako postoji jedinstvenadonja trokutasta matrica L takva da je A = LL ∗ . Takvu dekompoziciju nazivamo faktori<strong>za</strong>cijaCholeskog a L nazivamo Cholesky faktor.


112 7. Problem najmanjih kvadrataTeorem 7.2 (Dekompozicija na singularne vrijednosti) Ako jeA ∈ C m×n , tada postoje unitarne matrice U ∈ C m×m i V ∈ C n×n takve da jeA = UΣV ∗ , Σ = diag(σ 1 , σ 2 , . . .,σ min(m,n) ) ,pri čemu vrijedi σ 1 ≥ σ 2 ≥ . . .σ min(m,n) ≥ 0.Dokaz. Budući da je jedinična sfera u C n ograničen i <strong>za</strong>tvoren skup, značida je kompaktan, pa svaka neprekidna funkcija na njemu dostiže minimumi maksimum. Funkcija f(x) = ‖Ax‖ 2 je neprekidna, pa postoji jediničnivektor v ∈ C n takav da je‖Av‖ 2 = max{‖Ax‖ 2 : ‖x‖ 2 = 1, x ∈ C n }.Ako je ‖Av‖ 2 = 0, onda je A = 0 i faktori<strong>za</strong>cija u iskazu teorema je trivijalnauz S = 0 i s proizvoljnim unitarnim matricama U i V reda m odnosno n.Ako je ‖Av‖ 2 > 0, stavimo σ 1 = ‖Av‖ 2 i formiramo jedinični vektoru 1 = Avσ 1∈ C m .Nadalje, nadopunimo u 1 s m − 1 vektorom do baze u C m i onda primijenimonpr. Gramm—Schmidtov proces ortogonali<strong>za</strong>cije, tako da dobijemoortonormiranu bazu u 1 , . . .,u m <strong>za</strong> C m . Drugim riječima, dobili smo unitarnumatricu U 1 = ( )u 1 , u 2 , . . ., u m . Slično, <strong>za</strong> v1 = v postoji n −(1 ortonormiranih)vektora v 2 , v 3 , . . .,v n ∈ C n , takvih je da matrica V 1 =v1 , v 2 , . . ., v n unitarna. Tada je⎛ ⎞⎛ ⎞u ∗ 1u ∗ A 1 = U1AV ∗ u ∗ 12( ) u ∗ 2( )1 = ⎜ ⎟ Av1 Av 2 . . . Av n = ⎜ ⎟ σ1 u 1 Av 2 . . . Av n⎝ . ⎠⎝ . ⎠u m u m⎛⎞σ 1 u ∗ 1Av 2 . . . u ∗ 1Av n0 u ∗ 2= ⎜Av 2 . . . u ∗ 2 Av ( )n⎟⎝ . . . ⎠ = σ1 w ∗,0 A 20 u ∗ mAv 2 . . . u ∗ mAv ngdje je w ∈ C n−1 , A 2 ∈ C (m−1)×(n−1) . Za jedinični vektor (jedinični vektorkoji odgovara prvom retku matrice s desne strane iz gornje jednakosti)( )1 σ1y = √ (7.2)σ21 + w ∗ w w


7.2. Rješavanje LPNK pomoću SVD dekompozicije 113zbog unitarne invarijantnosti euklidske norme, vrijedi‖A(V 1 y)‖ 2 2 = ‖(U 1 A 1 V ∗1 )V 1 y‖ 2 2 = ‖A 1 y‖ 2 2 = (σ2 1 + w∗ w) 2 + ‖A 2 w‖ 2 2σ 2 1 + w ∗ wa ovo je strogo veće od σ1 2 ako je w ≠ 0. Budući da je to u suprotnosti smaksimalnošću od σ 1 , <strong>za</strong>ključujemo da je w = 0. Stoga je( )A 1 = U1 ∗ AV σ1 01 = . (7.3)0 A 2Sada ponavljamo iste argumente <strong>za</strong> matricu A 2 ∈ C (m−1)×(n−1) . Na taj načindobivamo unitarne matrice U i V kao produkt unitarnih matrica koje su dobijenenakon svakog koraka. Ako je m ≥ n, taj postupak vodi do dijagonalnematrice Σ.S druge strane, ako je m < n, primijenimo postupak opisan u dokazuteorema na matricu A ∗ , <strong>za</strong> koju je broj redaka n veći od broja stupacam. Nakon dobivene dekompozicije A ∗ = UΣV ∗ , kompleksno transponirajmoobje matrice u toj jednakosti. DobijemoA = Ṽ ˜ΣŨ ∗ ,što je tražena singularna dekompozicija od A, pri čemu moramo još preimenovatiṼ u U, Ũ u V i ˜Σ u S.✷Sljedeći nam teorem ilustrira neka od korisnih svojstava SVD dekompozicije.Teorem 7.3 Neka je A ∈ C m×n matrica sa singularnom dekompozicijomA = UΣV ∗ i singularnim vrijednostima σ 1 ≥ · · · ≥ σ r > 0 = · · · = 0. Tadavrijedi:a) rang matrice A iznosi r, tj. rank(A) = r.b) R(A) = range(A) = span(u 1 , . . .,u r )c) N(A) = ker(A) = span(v r+1 , . . .,v n ).Dokaz.a) Budući da su U i V ∗ regularne matrice, slijedi da rank(A) = rank(Σ) = r.


114 7. Problem najmanjih kvadratab) Znamo da je R(A) = span(Av 1 , . . .,Av n ), jer je v 1 , . . .,v n ba<strong>za</strong> (svakilinearni operator jedinstveno je odreden svojim djelovanjem na bazi). Stogaje span(Av 1 , . . .,Av r ) ⊆ R(A). Medutim, <strong>za</strong> 1 ≤ i ≤ r vrijediAv i = UΣV ∗ v i = UΣe i = σ i Ue i = σ i u i i σ i > 0.Vektori u i linearno su ne<strong>za</strong>visni, pa potprostorspan(σ 1 u 1 , . . .,σ r u r ) = span(u 1 , . . .,u r )ima dimenziju r kao i R(A), što znači da je R(A) = span(u 1 , . . .,u r ).c) Budući da je Av i = 0, <strong>za</strong> r + 1 ≤ i ≤ n, <strong>za</strong>ključujemo da jespan(v r+1 , . . .,v n ) ⊆ N(A) .Iz rezultata o defektu koji kaže da je defekt(A) = n −rang(A) = n −r slijedida je dimenzija potprostora span(v r+1 , . . .,v n ) ista kao i dimenzija od N(A).□Teorem 7.4 Ako je A hermitska matrica, tj. A = A ∗ , tada su njene singularnevrijednosti jednake: |λ 1 |, . . ., |λ n |, gdje su λ 1 , . . .,λ n svojstvene vrijednostimatrice A.7.2.2 Rješavanje LPNK pomoću dekompozicije na singularnevrijednostiKao što smo poka<strong>za</strong>li i u prethodnom poglavlju, linearni problem najmanjihkvadrata svodi se na problem minimi<strong>za</strong>cije norme ‖Ax−b‖, gdje su A ∈ C m×ni b ∈ C m , pri čemu je m ≥ n, tj. svodi se na izračunavanje vektora x ∈ C nkoji minimizira ‖Ax − b‖.U svrhu toga definiramo funkcijuF(x) = ‖Ax − b‖ .Neka je m ≥ n i neka je A = UΣV ∗ dekompozicija na singularne vrijednostimatrice A, gdje su U ∈ C m×m i V ∈ C n×n unitarne a[ ]ΣnΣ = , Σ0 n = diag(σ 1 , σ 2 , . . .,σ n ) ,pri čemu vrijedi σ 1 ≥ σ 2 ≥ . . . σ n ≥ 0 (vidi teorem 7.2).


7.2. Rješavanje LPNK pomoću SVD dekompozicije 115Pretpostavimo nadalje da je rang(A) = r ≤ n ≤ m. Tada prema Teoremu7.2 slijedi da dekompoziciju na singularne vrijednosti matrice A možemo<strong>za</strong>pisati u obliku A = UΣV ∗ , pri čemuΣ =[ ]Σr 0, Σ0 0 r = diag(σ 1 , σ 2 , . . .,σ r ) ,i σ 1 ≥ σ 2 ≥ · · ·σ r > 0.Neka je ‖ · ‖ bilo koja unitarno invarijantna norma. Koristeći činjenicuda produkt s unitarnim matricama ne mijenja normu, možemo pisatiF(x) = ‖Ax − b‖ = ‖UΣV ∗ x − b‖ = ‖U(ΣV ∗ x − U ∗ b)‖ = ‖ΣV ∗ x − U ∗ b‖ .Sada, uz oznaku z = V ∗ x i ˆb = U ∗ b, imamo[‖Ax − b‖ 2 = ‖Σz − ˆb‖ 2 =Σr 0∥ 0 0][z1]−z 2[ˆb1ˆb2]∥ ∥∥∥,pri čemu su z 1 ,ˆb 1 ∈ C r , a z 2 ,ˆb 2 ∈ C m−r . Iz gornje jednakosti slijedi[‖Ax − b‖ 2 Σr z= ‖ 1 − ˆb]1‖ 2 = ‖Σ r z 1 −−ˆb ˆb 1 ‖ 2 + ‖ˆb 2 ‖ 2 . (7.4)2Primijetite da smo u posljednjem izrazu na desnoj strani jednakosti (7.4)koristili istu oznaku ‖ · ‖ <strong>za</strong> vektorske norme definirane na prostorima C rodnosno C m−r .Istaknimo da u slučaju r < n rješenje x problema LPNK nije jednoznačnoodredeno. U tom slučaju, kao što ćemo poka<strong>za</strong>ti, jednoznačno ćemo moćiizračunati samo r komponenata rješenja x. Stoga označimo sa x = [ x x 0] ∗,gdje je x ∈ C r i x 0 ∈ C n−r , i neka u i i v i označavaju i − ti stupac matrica Uodnosno V .Iz (7.4) slijedi da će F(x) biti minimalno akoiz čega slijedi da jeΣ r z 1 = ˆb 1 ,z 1 = (Σ r ) −1ˆb1 .


116 7. Problem najmanjih kvadrataBudući da iz z = V ∗ x slijedi da je x = [ ]v 1 , . . . v r z, što sve <strong>za</strong>jedno dajerješenje LPNK x = [ ] ∗,x x 0 gdje je:⎡⎤⎡1/σ 1 u ∗x = [ 1]1/σ 2 b⎤u ∗ 2br∑v 1 , . . . v r ⎢⎣. ..⎥⎢⎥⎦⎣. ⎦ = u ∗ i b v i .σ1/σ r u ∗ r b i=1 iNavedeni rezultati sažeti su u sljedećem algoritmu pomoću kojeg se izračunavarješenje LPNK u slučaju kad matrica A ima puni rang stupaca.Algoritam <strong>za</strong> LPNK pomoću SVD faktori<strong>za</strong>cije.ulaz: A ∈ C m×n , m ≥ n i rang(A) = n, b ∈ C mizlaz: x ∈ C n koji minimizira ‖Ax − b‖ 21: izračunaj reduciranu SVD-faktori<strong>za</strong>ciju A = Û ˆΣˆV ∗2: izračunaj Û ∗ b ∈ C n3: rješi ˆΣy = Û ∗ b4: vrati x = V yTada rezultat algoritma <strong>za</strong>dovoljavaAA ∗ x = A ∗ Û ˆΣV ∗ V y = A ∗ ÛÛ∗ b = A ∗ bpa stoga i rješava problem najmanjih kvadrata.7.2.3 Rješavanje LPNK pomoću QR dekompozicijeSlično kao u prethodnom poglavlju i u ovom ćemo tražiti minimum funkcijeF(x) = ‖Ax − b‖ ,gdje su A ∈ C m×n i b ∈ C m , pri čemu je m ≥ n.Nadalje, neka je rang(A) = r ≤ n ≤ m rang matrice A te neka je A = QR,QR dekompozicija matrice A, gdje je Q ∈ C m×m unitarna matrica, a R gornjatrokutasta matrica oblika⎡R =[ ]Rr 0 r,n−r, R0 m−r,r 0 r =m−r,n−r⎤r 11 r 12 · · · r 1r0 r 22 · · · r 2r⎢⎣.. . ..⎥ . ⎦ ,0 0 · · · r rr


7.2. Rješavanje LPNK pomoću SVD dekompozicije 117pri čemu oznaka 0 i,j označava nul-matricu dimenzije i × j.Budući da matrica A ne mora imati puni rang stupaca (r < n), rješenjex problema LPNK nije jednoznačno odredeno. Stoga, slično kao i u prošlompoglavlju, označimo sa x = [ x x 0] ∗, gdje je x ∈ C r i x 0 ∈ C n−r , i neka q ioznačava i − ti stupac matrice Q.Neka je ‖ · ‖ bilo koja unitarno invarijantna norma, koristeći činjenicu daprodukt s unitarnim matricama ne mijenja normu, možemo pisatiF(x) = ‖Ax − b‖ = ‖QRx − b‖ = ‖Q(Rx − Q ∗ b)‖ = ‖Rx − Q ∗ b‖ .Iz gornje jednakosti slijedi[‖Ax − b‖ 2 Rr x −= ‖ˆb ]1‖ 2 = ‖R r x −−ˆb ˆb 1 ‖ 2 + ‖ˆb 2 ‖ 2 , (7.5)2gdje je ˆb ≡ Q ∗ b = [ˆb1] ∗,ˆb2 a ˆb1 je r dimenzionalni vektor. Primijetite dasmo i ovog puta zlorabili oznake, pa smo u izrazu na desnoj strani jednakosti(7.5) koristili istu oznaku ‖ · ‖ <strong>za</strong> vektorske norme definirane na prostorimaC r odnosno C m−r .Iz (7.5) slijedi da će F(x) biti minimalno akoR r x = ˆb 1iz čega slijedi da je rješenje x LPNK dano sa⎡ ⎤q1b∗ x = (R r ) −1ˆb1 , ili x = (R r ) −1 q2 ∗⎢b⎥⎣ . ⎦ .qr ∗b Navedeni rezultati sažeti su u sljedećem algoritmu pomoću kojeg se izračunavarješenje LPNK u slučaju matrice punog ranga stupaca.Algoritam <strong>za</strong> LPNK pomoću QR dekompozicije.ulaz: A ∈ C m×n , m ≥ n i rang(A) = n, b ∈ C mizlaz: x ∈ C n koji minimizira ‖Ax − b‖ 21: izračunaj reduciranu QR dekompoziciju A = ˆQ ˆR2: izračunaj ˆQ ∗ b ∈ C n3: riješi ˆRx = ˆQ∗ b koristeći supstitucije unatrag


118 7. Problem najmanjih kvadrataTada rezultat algoritma <strong>za</strong>dovoljavaA ∗ Ax = A ∗ ˆQ ˆRx = A∗ ˆQ ˆQ∗ b = A ∗ b,pa stoga i rješava problem najmanjih kvadrata. Korak 1 i 2 <strong>za</strong>jedno dajuC 1 (m, n) ∼ 2mn 2 − 2 3 n3 , a korak 3 daje C 2 (m, n) = O(n 2 ). Stoga imamosljedeću asimptotsku ocjenu<strong>za</strong> m, n → ∞, gdje je m = Θ(n).C(m, n) ∼ 2mn 2 − 2 3 n37.3 Uvjetovanost problema najmanjih kvadrataKao i prije, neka je A ∈ C m×n , gdje je m ≥ n, rang(A) = n i b ∈ C m .Iz korolara 7.1 znamo da rješenje problema najmanjih kvadrata možemoizračunati ovakox = (A ∗ A) −1 A ∗ b.Definicija 7.3 Matrica A † = (A ∗ A) −1 A ∗ zove se pseudo-inverz matrice A ∈C m×n .Definicija 7.4 Za A ∈ C m×n definiramo uvjetovanost matrice A na sljedećinačinκ(A) = ‖A‖‖A † ‖.Napomena 7.2 Ako je rang(A) < n, tada A ∗ A nije invertibilna, pa stavljamoκ(A) = +∞. Za kvadratne invertibilne matrice je A † = A −1 pa je ovadefinicija konzistentna s prethodnom definicijom uvjetovanosti. Kao i prijeuvjetovanost ovisi o odabranoj matričnoj normi.Lema 7.1 Neka su σ 1 ≥ . . . ≥ σ n > 0 netrivijalne singularne vrijednostimatrice A. Tada je uvjetovanost u normi ‖ · ‖ 2 matrice A dana saκ(A) = σ 1σ n.


7.3. Uvjetovanost problema najmanjih kvadrata 119Dokaz. Koristeći SVD matrice A slijediA † = (A ∗ A) −1 A ∗ = (V Σ ∗ ΣV ∗ ) −1 V Σ ∗ U ∗ = V (Σ ∗ Σ) −1 Σ ∗ U ∗ . (7.6)Matrica (Σ ∗ Σ) −1 Σ ∗ ∈ C n×m je dijagonalna s dijagonalnim elementima1σ i = 1 σ iσ 2 i<strong>za</strong> i = 1, . . ., n. Tada je jednadžba (7.6) (do na raspored singularnih vrijednosti)dekompozicija na singularne vrijednosti matrice A † i imamoκ(A) = ‖A‖ 2 ‖A † ‖ 2 = σ 1 ·1σ n.Teorem 7.5 Pretpostavimo da x rješava problem najmanjih kvadrata <strong>za</strong> bi x + ∆x rješava problem najmanjih kvadrata <strong>za</strong> b + ∆b. Definirajmo ϑ ∈[0, π/2] sa cos(ϑ) = ‖Ax‖ 2‖b‖ 2i η = ‖A‖‖x‖/‖Ax‖ ≥ 1. Tada vrijedi‖∆x‖ 2‖x‖ 2≤ κ(A)η cos(ϑ) · ‖∆b‖ 2‖b‖ 2,gdje je κ(A) uvjetovanost matrice A obzirom na normu ‖ · ‖ 2 .Dokaz. Znamo da je x = A † b i x + ∆x = A † (b + ∆b). Zbog linearnosti je∆x = A † ∆b iz čega slijedi‖∆x‖ 2≤ ‖A† ‖ 2 ‖∆b‖ 2= κ(A)‖∆b‖ 2‖x‖ 2 ‖x‖ 2 ‖A‖ 2 ‖x‖ 2≤ κ(A)‖∆b‖ 2= κ(A)η‖Ax‖ 2 η cos(ϑ) · ‖∆b‖ 2.‖b‖ 2Napomena 7.3 Konstanta κ(A)/η cos(ϑ) postaje velika ako je κ(A) velikoili ϑ ≈ π/2. U bilo kojem od ta dva slučaja problem je loše uvjetovan.Teorem 7.6 Neka su ϑ i η kao što smo ih prije definirali. Pretpostavimoda x rješava problem najmanjih kvadrata <strong>za</strong> A, b i x + ∆x rješava problemnajmanjih kvadrata <strong>za</strong> A + ∆A, b. Tada‖∆x‖ 2‖x‖ 2≤(κ(A) + κ(A)2 tan(ϑ)ηgdje je κ(A) uvjetovanost matrice A u normi ‖A‖ 2 .)· ‖∆A‖ 2‖A‖ 2,


120 7. Problem najmanjih kvadrataTeorem 7.7 Algoritam koji rješava problem najmanjih kvadrata pomoću QRdekompozicija s Householderom je povratno stabilan: izračunato rješenje ˆxminimizira‖(A + ∆A)ˆx − b‖ 2 <strong>za</strong> neku matricu ∆A gdje je‖∆A‖ 2‖A‖ 2= O(ε m ).Teoremi 7.6 i 7.7 <strong>za</strong>jedno daju ocjenu točnosti izračunatog rezultata x; dajuda je ϑ ”daleko” od π/2.Zadaci1. Prateći dokaz egzistencije SVD faktori<strong>za</strong>cije odredite SVD dekompozicijumatrice( )1 2.3 12. Neka je dano m točaka (u (i) , v (i) ), gdje je u (i) ∈ R n−1 i v (i) ∈ R <strong>za</strong>i = 1, . . .,m. Želimo odrediti α ∈ Rn−1 i β ∈ R koji minimizirajum∑|α T u (i) + β − v (i) | 2 .i=1Pokažite da se taj problem može preformulirati kao standardni problemnajmanjih kvadrata <strong>za</strong> specijalan odabir matrice A ∈ R m×n i b ∈ R m .3. Odredite x koji minimizira normu ‖Ax − b‖ 2 , koristeći algoritam <strong>za</strong>LPNK pomoću QR faktori<strong>za</strong>cije, ako je⎛A = ⎝−3 32 06 −9⎞⎛⎠ , b = ⎝101⎞⎠.[Rješenje: x =(−1249− 521).]


7.3. Uvjetovanost problema najmanjih kvadrata 1214. Neka je dana singularna dekompozicija matrice A⎛ ⎞ ⎛ ⎞A = 1 −2 −2 1 8 0( )1√2−⎝ 1 −2 −2 ⎠ ⎝ 0 2 ⎠1 T√231√ √2 1 .2 −1 2 0 0 2Ako je b = ( −1 2 4 ) T, odredite x koji minimizira ‖Ax − b‖2 iodredite uvjetovanost ( matrice ) A u normi ‖ · ‖ 2 .32[Rješenje: x =√ 2− 1 , κ(A) = 4.]2 √ 2


122 7. Problem najmanjih kvadrata


Poglavlje 8Svojstvene vrijednosti isvojstveni vektoriU ovom ćemo se poglavlju baviti izračunavanjem svojstvenih vrijednosti i pripadnihsvojstvenih vektora matrica općeg oblika. Takoder ćemo prezentiratineke algoritme <strong>za</strong> njihovo izračunavanje <strong>za</strong> matrice s odredenom strukturom,npr. simetrične ili pozitivno definitne matrice.8.1 Problem svojstvenih vrijednostiPrije nego predstavimo neke od algoritama pomoću kojih ćemo izračunavatisvojstvene vrijednosti i pripadne svojstvene vektore ponovimo neke teorijskečinjenice u vezi s njima.Vektor x ∈ C n je svojstveni vektor matrice A ∈ C n×n s pripadnom svojstvenomvrijednosti λ ∈ C ako jeAx = λx, x ≠ 0.U ovom ćemo poglavlju naučiti kako <strong>za</strong> danu matricu A izračunati svojstvenevrijednosti i svojstvene vektore.Definicija 8.1 Za matricu A ∈ C n×n definiramo karakteristični polinom odA kaoρ A (z) := det(A − zI).Teorem 8.1 λ ∈ C je svojstvena vrijednost matrice A ako i samo ako jeρ A (z) = 0.123


124 8. Svojstvene vrijednosti i svojstveni vektoriDokaz. λ je svojstvena vrijednost matrice A ako i samo ako postoji x ≠ 0takav da je (A−λI)x = 0. To je ekvivalentno uvjetu da je A−λI singularna,što je opet ekvivalentno činjenici da je det(A − zI) = 0.□Odatle slijedi da ako možemo odrediti nultočke proizvoljnog polinoma,tada možemo odrediti svojstvene vrijednosti proizvoljne matrice. Sada ćemopoka<strong>za</strong>ti da su ta dva problema čak ekvivalentna, odnosno da <strong>za</strong> svaki polinommožemo naći matricu kojoj je taj polinom karakteristični polinom. Nekaje dan polinom p(z) = a 0 +a 1 z + · · ·+a n−1 z n−1 +z n . Definirajmo A ∈ C n×nsa⎛⎞0 −a 01 −a 1.A =.. .. (8.1)⎜⎝ . ⎟.. −an−2⎠1 −a n−1Indukcijom se pokaže da je ρ A (z) = det(A − zI) = (−1) n p(z). Time smopoka<strong>za</strong>li da je problem odredivanja svojstvenih vrijednosti ekvivalentan problemuodredivanja nultočaka polinoma.Teorem 8.2 (Abel, 1824) Za svaki n ≥ 5 postoji polinom p stupnja n sracionalnim koeficijentima koji ima realnu nultočku koja se ne može izrazitikoristeći samo racionalne brojeve, zbrajanje, oduzimanje, množenje, dijeljenjei vadenje n-tog korijena.Budući da će se rješenje izračunato pomoću računala uvijek temeljiti naoperacijama spomenutim u teoremu, možemo <strong>za</strong>ključiti da nije moguće naćialgoritam koji će izračunati svojstvene vrijednosti u konačno mnogo koraka.Zaključak: svaki algoritam <strong>za</strong> odredivanje svojstvenih vrijednosti mora bitiiterativan.Osim toga, treba istaknuti da ve<strong>za</strong> izmedu odredivanja svojstvenih vrijednostii pripadnih svojstvenih vektora i nultočaka polinoma je prije svegateorijskog karaktera. Naime, sljedeći primjer ilustrira kako u jednostavnomslučaju utjecaj grešaka <strong>za</strong>okruživanja može biti ”poguban” <strong>za</strong> točnost izračunatihsvojstvenih vrijednosti, kad se one računaju kao nultočke odgovarajućegkarakterističnog polinoma.Primjer 8.1 Neka je A dijagonalna matrica 20×20, s elementima 1, 2, . . ., 20na dijagonali. Očito je da su tada dijagonalni elementi svojstvene vrijednostimatrice A. Medutim, želimo li na matricu A izravno primijeniti teorem8.1 dobivamo sljedeće. Karakteristični polinom matrice A definiran sa


8.1. Problem svojstvenih vrijednosti 125P 20 (z) ≡ det(A − zI) ima sljedeći oblik:P 20 (z) == z 20 − 210 z 19 + 20615 z 18 − 1256850 z 17 + 53327946 z 16 − 1672280820 z 15+ 40171771630 z 14 − 756111184500 z 13 + 11310276995381z 12− 135585182899530z 11 + 1307535010540395z 1 0 − 10142299865511450z 9+ 63030812099294896z 8 − 311333643161390640z 7 + 1206647803780373360z 6+ 3599979517947607200z 5 + 8037811822645051776z 4+ 12870931245150988800z 3 + 13803759753640704000z 2+ 8752948036761600000z + 2432902008176640000Primijetimo, koeficijent uz −z 19 je 210, što odgovara zbroju svih svojstvenihvrijednosti. S druge strane, koeficijent uz z 0 , odnosno slobodni koeficijentiznosi 20!, što je produkt svih svojstvenih vrijednosti. Ostali su koeficijentirazličite kombinacije zbroja i produkata svojstvenih vrijednosti matrice A.Sada je očito da bilo koji račun s gore navedenim koeficijentima, s točnošćuod 16 znamenaka dovodi do značajnih grešaka <strong>za</strong>okruživanja. Tako ćemonpr. koristeći MATLAB R○, izračunati sljedeće nultočke gornjeg polinoma s


126 8. Svojstvene vrijednosti i svojstveni vektoritočnošću od 16 znamenaka:1.000000000000002.000000000000962.999999999866404.000000004959444.999999914734146.000000845716616.999994555448458.000024432568948.9999200118683510.0001969649053710.9996284302406412.0005437436359112.9993807345579014.0005479886738014.9996265821705516.0001920830384716.9999277346177318.0000187517060418.9999969977438920.00000022354640Gornji primjer ilustrira da već pri spremanju koeficijenata karakterističnogpolinoma u dvostrukoj preciznosti aritmetika pomičnog <strong>za</strong>re<strong>za</strong> može znatnopokvariti točnost izračunatih svojstvenih vrijednosti.Stoga ćemo sljedeće poglavlje posvetiti iterativnim metodama <strong>za</strong> izračunavanjesvojstvenih vrijednosti simetričnih (hermitskih) matrica.8.1.1 Iterativne metode <strong>za</strong> simetrične matricePrisjetimo se, realna matrica A je simetrična ako je A = A T . Kompleksnamatrica A je hermitska ako je A = A ∗


8.1. Problem svojstvenih vrijednosti 127Teorem 8.3 Ako je A ∈ C n×n hermitska, tada postoji unitarna matricaQ ∈ C n×n i dijagonalna Λ ∈ R n×n tako da jeNapomena 8.1A = QΛQ ∗ .1) Ortonormalni stupci matrice Q svojstveni su vektori matrice A, a dijagonalnielementi od Λ odgovarajuće su svojstvene vrijednosti.2) Iz teorema slijedi da hermitske matrice imaju realne svojstvene vrijednosti.Iterativne metode koje obradujemo u ovom poglavlju računaju aproksimacijesvojstvenih vektora, a pomoću njih lako odredujemo pripadne svojstvenevrijednosti. Zaista, ako poznamo svojstveni vektor, onda će namsljedeće razmatranje pomoći u dobivanju aproksimacije odgovarajuće svojstvenevrijednosti. Dana je matrica A ∈ C n×n . Želimo naći α ∈ C kojiminimizira ‖Ax −αx‖ 2 . Ako je x svojstveni vekto, tada se minimum dostižeu odgovarajućoj svojstvenoj vrijednosti. Inače, promotrimo normalne jednadžbe:‖Ax − αx‖ 2 = ‖x · α − Ax‖ 2na x gledamo kao na n×1 matricu, α ∈ C 1 je ”vektor” nepoznanica i Ax ∈ C nneka je desna strana. Tada se prema korolaru 7.1 minimum postiže <strong>za</strong>α = (x ∗ x) −1 x ∗ (Ax) =〈x, Ax〉〈x, x〉 .Definicija 8.2 Reyleigh-jev kvocijent matrice A ∈ C n×n definira se sar A (x) =〈x, Ax〉〈x, x〉<strong>za</strong> sve x ∈ C n .Teorem 8.4 Neka je A ∈ R n×n simetrična i x ∈ R n , x ≠ 0. Tada je xsvojstveni vektor od A s pripadnom svojstvenom vrijednosti λ ako i samo akoje ∇r A (x) = 0 i r A (x) = λ.


128 8. Svojstvene vrijednosti i svojstveni vektoriDokaz. Gradijent od r A možemo izračunati na sljedeći način∇r A (x) =( ∑ n∂ j,k=1=x )ja jk x k∑∂x ni j=1 x2 ji=1,...,n⎛( ∑⎜ k≠i a ikx k + ∑ )j≠i x ∑nja ji + 2a ii x i j=1 x2 j − ∑ ⎞j,k x ja jk x k·2x i⎟= ⎝) 2 ⎠( ∑nj=1 x2 j==2Ax · 〈x, x〉 − 2〈x, Ax〉 · x〈x, x〉 22(Ax − r A (x) · x) .‖x‖ 2i=1,...,nPretpostavimo da je Ax = λx. Tada je r A (x) = 〈x, λx〉/〈x, x〉 = λ i∇r A (x) = 2 (λx − λx) = 0.‖x‖ 2 2S druge strane, ako je ∇r A (x) = 0, onda je Ax−r A (x)x = 0, pa stoga imamoAx = r A (x) · x, odnosno λ = r A (x).□Za ostatak poglavlja neka su x 1 , . . .,x n ortonormalni sustav svojstvenihvektora i λ 1 , . . .,λ n odgovarajuće svojstvene vrijednosti realne simetričnematrice A. Poredajmo svojstvene vrijednosti tako da je |λ 1 | ≥ |λ 2 | ≥ · · · ≥|λ n |.Algoritam (metoda potencija).ulaz: A ∈ C n×n simetrična sa |λ 1 | > |λ 2 |izlaz: z (k) ∈ R n , λ (k) ∈ R gdje je z (k) ≈ x 1 i λ (k) ≈ λ 11: odaberite z (0) ∈ R n takav da je ‖z (0) ‖ 2 = 12: for k = 1, 2, 3, . . . do3: w (k) = Az (k−1)4: z (k) = w(k)‖w (k) ‖ 25: λ (k) = 〈z (k) , Az (k) 〉6: end forNapomena 8.2


8.1. Problem svojstvenih vrijednosti 1291) U konkretnoj primjeni metoda se, kao i svaka iterativna metoda, <strong>za</strong>ustavljau odredenom trenutku kad je rezultat ”dovoljno blizu” eg<strong>za</strong>ktnomrješenju.2) Algoritam računa z (k) = A k z (0) /‖A k z (0) ‖ 2 i λ (k) = r A (z (k) ). Kakobismo izbjegli overflow/underflow pogreške, vektor z (k) se u svakom korakuiteracija normalizira.3) Metoda se temelji na sljedećoj ideji: ako izrazimo z (0) u bazi x 1 , . . .,x nimamon∑z (0) = α i x iiA k z (0) =i=1n∑α i A k x i =i=1n∑α i λ k i x i .Za veliko k u tom izrazu dominira član koji odgovara svojstvenoj vrijednostis najvećim modulom.Teorem 8.5 Neka je |λ 1 | > |λ 2 | ≥ · · · ≥ |λ n | i 〈z (0) , x 1 〉 ≠ 0. Tada postojiniz (σ (k) ) k∈N gdje je σ (k) ∈ {−1, +1} <strong>za</strong> sve k ∈ N tako da nizovi (z (k) ) i(λ (k) ) dobiveni algoritmom metode potencija <strong>za</strong>dovoljavaju( ∣∣∣∣ ∣ )‖z (k) − σ (k) λ 2∣∣∣kx 1 ‖ 2 = O(8.2)λ 1i=1i|λ (k) − λ 1 | = O( ∣∣∣∣λ 2λ 1∣ ∣∣∣2k ) . (8.3)Dokaz. a) Neka je x 1 , . . .,x n ortonormalan sustav svojstvenih vektora sasvojstvenim vrijednostima λ 1 , . . .,λ n in∑z (0) = α i x i .Budući da smo pretpostavili da je α 1 = 〈z (0) , x 1 〉 ≠ 0, imamo(n∑n∑∣ ∣ )A k z (0) = α i λ k x i = α 1 λ k α i ∣∣∣ λ i ∣∣∣k1 x 1 + x i ,α 1 λ 1i=1i=1i=2


130 8. Svojstvene vrijednosti i svojstveni vektoripa iz Pitagorinog teorema slijedi‖A k z (0) ‖ 2 2 = |α 1λ k 1 |2 (1+n∑i=2(αiα 1) 2 ∣ ∣∣∣ λ iλ 1∣ ∣∣∣2k ) ≤ |α 1 λ k 1 |2 (1 +∣ λ 2∣∣∣2k∣λ 1n∑( ) ) 2 αi.α 1i=2Ako iskoristimo Taylorovu aproksimaciju √ 1 + x 2 ≈ 1 + x 2 /2, možemo <strong>za</strong>ključiti( ∣∣∣∣ ∣‖A k z (0) ‖ 2 = |α 1 λ k 1(1 )) | λ 2∣∣∣2k+ O .λ 1Definirajmo σ (k) = sign(α 1 λ k 1 ). Tada je∥ A k z (0) ∥∥∥2∥|α 1 λ k 1| − σ(k) x 1 =A k z (0)∥ α 1 λ k 12∥ ∥∥∥2− x 1 =2n∑i=2( ) 2 ∣ ∣ (αi ∣∣∣ λ i ∣∣∣2k ∣∣∣∣ ∣ )λ 2∣∣∣2k= Oα 1 λ 1 λ 1i stoga je‖z (k) − σ (k) x 1 ‖ 2≤≤∥ A k z (0)∥ − Ak z (0)‖A k z (0) ‖ 2 |α 1 λ k ∥ +A k z (0) ∥∥∥2∥1| 2|α 1 λ k 1| − σ(k) x 1 ∥ ∥∥∥∥∥∥∥ ∥ A k z (0)∥|α 1 λ k ∥1| ·1( ∣∣∣ ∣ ) − 1 +A k z (0) ∥∥∥2λ∥1 + O 2∣∣2k ∥ |α 1 λ k 1| − σ(k) x 1λ 12= O( ∣∣∣∣λ 2λ 1∣ ∣∣∣2k ) + O( ∣∣∣∣λ 2λ 1∣ ∣∣∣k ) = O( ∣∣∣∣λ 2λ 1∣ ∣∣∣k ) (8.4)što dokazuje tvrdnju (8.2).b) Iz teorema 8.4 znamo da je r A (σ (k) x 1 ) = λ 1 i ∇r A (σ (k) x 1 ) = 0. Taylorovrazvoj r A oko σ (k) x 1 daje namr A (z) = r A (σ (k) x 1 ) + 〈∇r A (σ (k) x 1 ), z − σ (k) x 1 〉 + O(‖z − σ (k) x 1 ‖ 2 2 )Koristeći (8.2) slijedi= λ 1 + 0 + O(‖z − σ (k) x 1 ‖ 2 2 ).|λ (k) − λ 1 | = |r A (z (k) ) − λ 1 | = O(‖z (k) − σ (k) x 1 ‖ 2 2) = O( ∣∣∣∣λ 2λ 1∣ ∣∣∣2k )


8.1. Problem svojstvenih vrijednosti 131čime smo doka<strong>za</strong>li relaciju (8.3).□Algoritam metode potencija omogućava nam da odredimo svojstvenu vrijednosts najvećim modulom i odgovarajući svojstveni vektor. Metoda semože modificirati <strong>za</strong> pronalaženje različitih svojstvenih vrijednosti matriceA. To je napravljeno u sljedećem algoritmu.Algoritam (inverzna metoda potencija s pomakom (”shiftom”)).ulaz: A ∈ R n×n simetrična sa λ ∈ Rizlaz: z (k) ∈ R n , λ (k) ∈ R gdje je z (k) ≈ x j i λ (k) ≈ λ j ,λ j je svojstvena vrijednost najbliža λ1: odaberite z (0) ∈ R n takav da je ‖z (0) ‖ 2 = 12: for k = 1, 2, 3, . . . radi3: v = z (k−1) /‖z (k−1) ‖ 24: riješi (A − λI)z (k) = v5: µ (k) = 〈v ∗ , z (k) 〉6: if ‖z (k) − µ (k) v‖ 2 ≤ tolerancija, stop7: end for8: vrati λ (k) = λ + 1µ (k) .Napomena 8.31) Kod praktične primjene metoda se <strong>za</strong>ustavlja u koraku kad je rezultat”dovoljno blizu” eg<strong>za</strong>ktnom rješenju.2) Kod usporedbe s jednostavnim iteracijama vidimo da µ (k) aproksimirasvojstvenu vrijednost matrice (A − λI) −1 s najvećim modulom. Budućida (A − λI) −1 ima svojstvene vrijednosti µ i = 1/(λ i − λ), ta vrijednostje µ j gdje je λ j svojstvena vrijednost najbliža λ i imamoλ (k) = λ + 1µ (k) ≈ λ + 1 µ j= λ + (λ j − λ) = λ j .Ako iskoristimo taj argument, jednostavno bismo mogli modificirati teorem8.5 u teorem koji govori o brzini konvergencije <strong>za</strong> algoritam inverzne metodepotencija s ”shiftom”.Metoda potencija radi samo u slučaju kad početni vektor z (0) <strong>za</strong>dovoljavauvjet 〈z (0) , x 1 〉 ≠ 0. To nije problem jer dim{z ∈ R n |〈z, x〉 = 0} = n −1 < n.


132 8. Svojstvene vrijednosti i svojstveni vektoriVjerojatnost da ćemo pogoditi upravo tu hiperravninu je nula uz dodatniuvjet da bar <strong>za</strong> jedan od vektora baze e 1 , . . .,e n vrijedi 〈e i , x 1 〉 ≠ 0.Sljedeći algoritam proširuje ideju algoritma metode potencija: pokrećemetodu potencija <strong>za</strong> n ortonormalnih vektora istodobno i ponovno ih ortonormalizirau svakom koraku. Rezultat je algoritam koji aproksimira sve svojstvenevektore i sve svojstvene vrijednosti odjednom.Algoritam (”simultana” metoda potencija).ulaz: A ∈ R n×n simetričnaizlaz: Q (k) , Λ (k) ∈ R n×ngdje je Q (k) ≈ (x 1 , x 2 , . . .,x n ) i Λ (k)ii≈ λ i <strong>za</strong> i = 1, . . ., n1: odaberite ortogonalnu Q (0) ∈ R n×n2: for k = 1, 2, 3, . . . radi3: W (k) = AQ (k−1)4: izračunajte QR dekompoziciju W (k) = Q (k) R (k)5: Λ (k) = (Q (k) ) T W (k) Q (k)6: end forTeorem 8.6 Neka je A ∈ R n×n simetrična matrica sa svojstvenim vrijednostimaλ 1 , . . .,λ n takvim da je λ 1 > . . . > λ n . Pretpostavimo da je〈Q (0)i , x i 〉 ≠ 0 <strong>za</strong> i = 1, . . .,n. Tada postoje nizovi (σ (k)i ) k∈N <strong>za</strong> i = 1, . . .,ngdje je σ (k)i ∈ {+1, −1} <strong>za</strong> sve i, k gdje jei‖q (k)i− σ (k)i x i ‖ 2 = O ( |ξ| k)|Λ (k)ii − λ i | = O ( |ξ| 2k)<strong>za</strong> sve i = 1, . . .,n,a q (k)1 , . . .,q n (k) su stupci matrice Q (k) i ξ = max i=1,...,n−1 |λ i |/|λ i+1 |.Napomena 8.4 Budući da su matrice R (k) gornjetrokutaste, prvi stupacmatrice Q (k) u koraku 4 algoritma je multipl prvog stupca matrice W (k) . Stogaprvi stupac q (k)1 matrice Q (k) prikazuje početnu metodu potencija s početnimvektorom q (0)1 .


8.1. Problem svojstvenih vrijednosti 133Zadaci1. Dokažite indukcijom da matrica A iz (8.1) ima determinantu (−1) n p(z)gdje je p(z) = a 0 + a 1 z + · · · + a n−1 z n−1 + z n .2. Dokažite teorem 8.6.⎛3. Neka je dana matrica A = ⎝1 10 −210 100 6−2 −6 10⎞⎠a) Odredite svojstveni vektor koji odgovara svojstvenoj vrijednostinajvećoj po modulu.b) Odredite svojstveni vektor koji odgovara svojstvenoj vrijednostinajbližoj broju 10.Za toleranciju uzmite ⎛ 0.05. ⎞ ⎛0.09777[Rješenje: a) z 4 = ⎝ 0.993224 ⎠, b) z 3 = ⎝0.0628260.875450.13061−3.41204⎞⎠.]


134 8. Svojstvene vrijednosti i svojstveni vektori


Literatura[1] J. W. Demmel, Applied Numerical Linear Algebra. SIAM, 1997.[2] Z. Drmač, V. Hari, M. Marušić, M. Rogina, I. Slapničar, S. Singer,S. Singer, Numerička anali<strong>za</strong>, Predavanja i vježbe. Zagreb, 2003.http://web.math.hr/~rogina/2001096/num_anal.pdf[3] G.H. Golub and Ch.F. van Loan, Matrix Computations. J. HopkinsUniversity Press, Baltimore, 1989.[4] R. A. Horn and C. R. Johnson, Matrix analysis. Cambridge UniversityPress, 1990.[5] R. A. Horn and C. R. Johnson, Topics in matrix analysis. CambridgeUniversity, 1991.[6] R. Scitovski, Numerička matematika, 2. izdanje, <strong>Odjel</strong> <strong>za</strong> <strong>matematiku</strong>Sveučilišta u Osijeku, Osijek, 2004.[7] A. Stuart and J. Voss, Matrix Analysis and Algorithms, 2009.http://seehuhn.de/media/papers/numlinalg.pdf,135


Indeksp-norma, 5Abel, 124adjungirana matrica, 8apsolutna pogreška, 48Cauchy-Schwarzova nejednakost, 7Cholesky faktor, 111dekompozicija na singularne vrijednosti,111LPNK, 114donjetrokutasta matrica, 58euklidska norma, 5faktor rasta elemenata, 74faktori<strong>za</strong>cija Choleskog, 111Gaussove eliminacije, 57-algoritam, 64-anali<strong>za</strong> pogreške, 68-složenost, 67Gaussove eliminacije s djelomičnimpivotiranjem, 69-algoritam, 73-anali<strong>za</strong> pogreške, 73glavna podmatrica, 58gornjetrokutasta matrica, 58Householder Alston Scott, 81Householderova QR dekompozicija,81-algoritam, 81Householderovana QR dekompozicija-broj računskih operacija, 84Householderove matrice, 82Householderovi reflektori, 81, 82inducirana norma, 9iterativne metode, 91LU faktori<strong>za</strong>cija, 58-algoritam, 62LU faktori<strong>za</strong>cija s djelomičnim pivotiranjem-algoritam, 72MATLAB, 15matriča norma, 9matrica permutacija, 69metoda potencija, 128metoda potencija s pomakom, 131normalna matrica, 11normalne jednadžbe, 109, 110pogreške, 47-matematičkog modela, 47-metode, 48-računanja, 48136


INDEKS 137povratna pogreška, 49povratne supstitucije, 63-algoritam, 63problem najmanjih kvadrata, 107-uvjetovanost, 118problem svojstvenih vrijednosti, 123iterativne metode, 126metoda potencija, 128metoda potencija s pomakom,131simultana metoda potencija, 132unitarna matrica, 8unitarno invarijantna norma, 15uvjetovanost, 51-matrice, 52uvjetovanost matrice, 118uvjetovanost sustava linearnih jednadžbi,53vektorska norma, 5QR dekompozicija, 78-anali<strong>za</strong> točnosti, 87Householderova QR dekompozicija,81QR dekompozicijeLPNK, 116relativna pogreška una<strong>za</strong>d, 50relativna pogreška, 48relativna povratna pogreška, 50simultana metoda potencija, 132skalarni umnožak, 6, 8složenost računanja, 43spektralni radijus, 11stabilnost algoritma, 49supstitucije unaprijed, 64-algoritam, 64sustav linearnih jednadžbi, 57-rješavanje pomoću QR dekompozicije,81sustav normalnih jednažbi, 110sustavi linearnih jednadžbi-iterativne metode, 91svojstvene vrijednosti, 123svojstveni vektori, 123

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!