You are on page 1of 614

SVEUCILISTE U ZAGREBU PMF MATEMATICKI ODJEL

Zlatko Drma c Miljenko Marui sc Sanja Singer

Vjeran Hari Mladen Rogina Saa Singer s

Numerika analiza c
Predavanja i vjebe z

Zagreb, 2003.

NUM ANAL i

Predgovor
Ova elektronika knjiga nastala je zalaganjem grupe znanstvenika okupljenih c na Projektu primjene informatike tehnologije 200196 , Numerika matematika: c c osnovni udbenik, Ministarstva znanosti i tehnologije Republike Hrvatske. Pisana z je u 2002. i 2003. godini. Knjiga je prvenstveno namijenjena studentima matematike i zike te boljim studentima tehnike i ekonomije. Knjiga daje iri pregled podruja numerike mas c c tematike i predstavlja centralnu toku i osnovu za pisanje nadovezujuih knjiga c c iz srodnih podruja: numerike linearne algebre, numerikog rjeavanja obinih i c c c s c parcijalnih diferencijalnih jednadbi, raunalne geometrije, raunalne grake, itd. z c c Knjiga takoder slui kao izvor dovoljno opsenih informacija za pisanje jednostavz z nijih udbenika iz numerike matematike, prilagodenih pojedinim fakultetima, npr. z c tehnikim, ekonomskim ili prirodoslovnim. Ona je zamiljena i kao zaetak inforc s c macijskog portala za numeriku matematiku u Hrvatskoj, na kojem bi studenti, c znanstvenici i svi zainteresirani mogli nai sadraj veine disertacija, magistarskih c z c i diplomskih radova iz ireg podruja numerike matematike, software, kao i pokas c c zivae na najpoznatije svjetske web-portale iz numerike matematike. Knjiga e se c c c iz godine u godinu poboljavati, dodavat e se novi primjeri, zadaci, slike, reference s c i pokazivai na druge sadraje. c z Knjiga je podijeljena u jedanaest poglavlja. U uvodnom dijelu dani su neki osnovni rezultati iz analize, kao npr. teoremi o srednjoj vrijednosti koji e se korisc titi kasnije. U drugom poglavlju dana je opsena i moderna analiza greaka koje z s prate raunanje na modernim raunalima. U treem poglavlju uvode se glavni pojc c c movi iz linearne algebre kao to su vektorski prostori, matrice i norme. U etvrtom s c poglavlju dana je teorija sustava linearnih jednadbi i nekoliko osnovnih metoda za z njihovo rjeavanje. Peto poglavlje bavi se teorijom i algoritmima za nalaenje vlastis z tih vrijednosti matrica. Sesto poglavlje bavi se izraunavanjem vrijednosti funkcija. c Sedmo, najopsenije poglavlje, bavi se teorijom aproksimacije koja ukljuuje inz c terpolaciju, numeriko deriviranje, aproksimaciju spline funkcijama i ortogonalnim c polinomima i metodu najmanjih kvadrata. Osmo poglavlje bavi se numerikim c nalaenjem nultoaka funkcija, a deveto numerikim integriranjem. U desetom z c c poglavlju, opisane su glavne metode za numeriko rjeavanje obinih diferencijalc s c nih jednadbi, a u kraem jedanaestom poglavlju dan je uvod u optimizaciju. z c Posao pisanja knjige bio je podijeljen tako da je svaki suradnik (ili grupa) napisao jedno ili vie poglavlja. Voditelj grupe Vjeran Hari napisao je prva dva i s dio (odjeljci 1., 2. i 3.) treeg poglavlja. Zlatko Drma napisao je etvrto, a Ivan c c c Slapniar (uz malu pomo voditelja) peto poglavlje. Sanja i Saa Singer napisali c c s velik dio knjige, esto, osmo, deveto i dio treeg poglavlja. Sedmo poglavlje napisali s c su zajednikim snagama Mladen Rogina (dio odjeljka 2. i odjeljak 4.) te Sanja i Saa c s Singer. Miljenko Marui napisao je deseto i jedanaesto poglavlje. Postoje i Sanjini i sc

NUM ANAL ii

Saini dodatni sadraji do kojih se dode preko pokazivaa. Sanja je takoder preuzela s z c teak posao uredivanja knjige, nakon to su suradnici napisali svoje dijelove. z s a Knjiga je napisana u L TEX-u, iji lijepi stil su denirali Sanja i Saa. U HTML c s je prevedena na FESB-u Sveuilita u Splitu zahvaljujui grupi oko Ivana. Mladen c s c vodi brigu oko administriranja knjige to ukljuuje ugradivanje novih sadraja. s c z Osim DVI formata koji se ita pomou posebnih programa (tzv. dvi-preglednika), c c postoje i verzije knjige u jeziku Postscript i PDF (portable document format), tako da se moe itati npr. pomou rasprostranjenog Acrobat readera. Nalazi se na web z c c adresi: www.math.hr/znanost/iprojekti/numat. Na kraju, elim zahvaliti suradnicima na zalaganju i Ministarstvu na pomoi. z c Vjeran Hari Redoviti profesor na PMF-MO Sveuilita u Zagrebu c s

Sadraj z
1. Uvodni dio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. 2. Pomoni rezultati iz analize . . . . . . . . . . . . . . . . . . . . . c 1 2 11 11 12 14 15 17 18 19 21 22 23 27 29 30 31 32 42 50 50 54 57

Kratki uvod u linearnu algebru . . . . . . . . . . . . . . . . . . . . 2.1. Vektorski prostor . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.1.5. 2.1.6. 2.2. Osnovna svojstva vektorskog prostora . . . . . . . . . . . . Norma u vektorskom prostoru . . . . . . . . . . . . . . . . Skalarni produkt u vektorskom prostoru . . . . . . . . . . Dimenzija vektorskog prostora . . . . . . . . . . . . . . . . Baza vektorskog prostora . . . . . . . . . . . . . . . . . . . Linearni operatori . . . . . . . . . . . . . . . . . . . . . . .

Matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1. 2.2.2. 2.2.3. 2.2.4. 2.2.5. 2.2.6. 2.2.7. 2.2.8. Zbrajanje matrica i mnoenje matrica skalarom . . . . . . z Mnoenje matrica . . . . . . . . . . . . . . . . . . . . . . . z Kompleksne matrice . . . . . . . . . . . . . . . . . . . . . Rang matrice . . . . . . . . . . . . . . . . . . . . . . . . . Sustav linearnih jednadbi i inverz matrice . . . . . . . . . z Lijevi i desni inverz, regularne i singularne matrice . . . . . Specijalne klase matrica . . . . . . . . . . . . . . . . . . . Vlastite vrijednosti i vektori . . . . . . . . . . . . . . . . .

2.3.

Singularna dekompozicija matrice . . . . . . . . . . . . . . . . . . 2.3.1. 2.3.2. 2.3.3. Denicija i osnovni teoremi . . . . . . . . . . . . . . . . . . Izravne posljedice singularne dekompozicije . . . . . . . . . Aproksimacija matrice matricom manjeg ranga . . . . . . . iii

SADRZAJ

NUM ANAL iv

2.3.4. 2.3.5. 2.3.6. 2.4.

Wielandtova matrica . . . . . . . . . . . . . . . . . . . . . Neke nejednakosti sa singularnim vrijednostima . . . . . . Generalizirani inverz . . . . . . . . . . . . . . . . . . . . .

59 61 62 65 65 68 72 72 72 74 76 78 78 81 88 89 91 93 97 99 101 103 104 106 106 108 109 114 119 121

Vektorske i matrine norme . . . . . . . . . . . . . . . . . . . . . c 2.4.1. 2.4.2. Vektorske norme . . . . . . . . . . . . . . . . . . . . . . . Matrine norme . . . . . . . . . . . . . . . . . . . . . . . . c

3.

Greke u numerikom raunanju . . . . . . . . . . . . . . . . . . . s c c 3.1. Tipovi greaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . s 3.1.1. 3.1.2. 3.1.3. 3.2. Greke zbog polaznih aproksimacija . . . . . . . . . . . . . s Greke zaokruivanja . . . . . . . . . . . . . . . . . . . . . s z Apsolutna i relativna greka, znaajne znamenke . . . . . . s c

Aritmetika s pominom tokom . . . . . . . . . . . . . . . . . . . c c 3.2.1. 3.2.2. Pretvaranje decimalne u binarnu reprezentaciju . . . . . . Reprezentacija brojeva u raunalu . . . . . . . . . . . . . . c

3.3.

IEEE Aritmetika . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1. 3.3.2. 3.3.3. 3.3.4. 3.3.5. 3.3.6. 3.3.7. 3.3.8. Jednostruki format . . . . . . . . . . . . . . . . . . . . . . Dvostruki format . . . . . . . . . . . . . . . . . . . . . . . BSPT i zaokruivanje u BSPT . . . . . . . . . . . . . . . . z Korektno zaokruene osnovne raunske operacije . . . . . . z c Implementacija operacija na raunalu . . . . . . . . . . . . c Drugi korijen, ostatak pri dijeljenju i konverzija formata . . Izuzeci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prekoraenje, potkoraenje i postupno potkoraenje . . . . c c c

3.4.

Stabilnost numerikog raunanja . . . . . . . . . . . . . . . . . . c c 3.4.1. 3.4.2. 3.4.3. 3.4.4. 3.4.5. 3.4.6. Greke unazad i unaprijed . . . . . . . . . . . . . . . . . . s Uvjetovanost . . . . . . . . . . . . . . . . . . . . . . . . . . Akumulacija greaka zaokruivanja . . . . . . . . . . . . . s z Kraenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . c Kraenje greaka zaokruivanja . . . . . . . . . . . . . . . c s z Rjeavanje kvadratne jednadbe . . . . . . . . . . . . . . . s z

SADRZAJ

NUM ANAL v

3.4.7. 3.5.

Kako dizajnirati stabilne algoritme . . . . . . . . . . . . .

123 124 130 133 137 140

Osnove analize greaka zaokruivanja . . . . . . . . . . . . . . . . s z 3.5.1. 3.5.2. 3.5.3. 3.5.4. 3.5.5. Propagiranje greaka zaokruivanja . . . . . . . . . . . . . s z Stabilnost produkta od n brojeva . . . . . . . . . . . . . . Stabilnost sume . . . . . . . . . . . . . . . . . . . . . . . . Kompenzirano sumiranje . . . . . . . . . . . . . . . . . . .

Stabilnost skalarnog produkta i osnovnih matrinih operacija 142 c

4.

Sustavi linearnih jednadbi . . . . . . . . . . . . . . . . . . . . . . . 145 z 4.1. 4.2. 4.3. Vodi kroz ovo poglavlje . . . . . . . . . . . . . . . . . . . . . . . c Primjeri: Kako nastaje linearni sustav jednadbi . . . . . . . . . z Gaussove eliminacije i trokutaste faktorizacije . . . . . . . . . . . 4.3.1. 4.3.2. 4.3.3. 4.3.4. 4.4. Matrini zapis metode eliminacija . . . . . . . . . . . . . . c Trokutasti sustavi: rjeavanje supstitucijama unaprijed i s unazad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LU faktorizacija . . . . . . . . . . . . . . . . . . . . . . . . LU faktorizacija s pivotiranjem . . . . . . . . . . . . . . . 146 147 150 151 155 156 163 171 172 181 182 183 185 186 192 194 196 197 200 201 203

Numerika svojstva Gaussovih eliminacija . . . . . . . . . . . . . c 4.4.1. 4.4.2. 4.4.3. 4.4.4. Analiza LU faktorizacije. Vanost pivotiranja. . . . . . . . z Analiza numerikog rjeenja trokutastog sustava . . . . . . c s Tonost izraunatog rjeenja sustava . . . . . . . . . . . . c c s Dodatak: Osnove matrinog rauna na raunalu . . . . . . c c c . . . . . . .

4.5.

Numeriko rjeavanje simetrinog sustava jednadbi c s c z 4.5.1.

Pozitivno denitni sustavi. Faktorizacija Choleskog . . . .

4.6.

Teorija perturbacija za linearne sustave . . . . . . . . . . . . . . 4.6.1. 4.6.2. 4.6.3. 4.6.4. Perturbacije male po normi . . . . . . . . . . . . . . . . . Rezidualni vektor i stabilnost . . . . . . . . . . . . . . . . Perturbacije po elementima . . . . . . . . . . . . . . . . . Dodatak: Udaljenost matrice do skupa singularnih matrica

4.7.

Iterativne metode . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7.1. Jacobijeva i GaussSeidelova metoda . . . . . . . . . . . .

SADRZAJ

NUM ANAL vi

4.8.

Matematiki software za problem Ax = b . . . . . . . . . . . . . c 4.8.1. 4.8.2. 4.8.3. Pregled biblioteke BLAS . . . . . . . . . . . . . . . . . . . Pregled biblioteke LAPACK . . . . . . . . . . . . . . . . . Rjeavanje linearnih sustava pomou LAPACK-a . . . . . . s c

207 208 212 213

5. 6.

Raunanje vlastitih vrijednosti i vlastitih vektora . . . . . . . . 220 c Izvrednjavanje funkcija . . . . . . . . . . . . . . . . . . . . . . . . . 221 6.1. Hornerova shema . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1. 6.1.2. 6.1.3. 6.1.4. 6.1.5. 6.1.6. 6.1.7. 6.1.8. 6.2. Raunanje vrijednosti polinoma u toki . . . . . . . . . . . c c Hornerova shema je optimalan algoritam . . . . . . . . . . Stabilnost Hornerove sheme . . . . . . . . . . . . . . . . . Dijeljenje polinoma linearnim faktorom oblika x x0 . . . Potpuna Hornerova shema . . . . . . . . . . . . . . . . . . Hornerova shema za interpolacijske polinome . . . . . . Hornerova shema za realni polinom i kompleksni argument Raunanje parcijalnih derivacija kompleksnog polinoma . . c 223 224 225 227 228 230 231 232 236 238 240 244 248 254 256 256 257 265 274 275 276 280

Generalizirana Hornerova shema . . . . . . . . . . . . . . . . . . 6.2.1. 6.2.2. 6.2.3. Izvrednjavanje rekurzivno zadanih funkcija . . . . . . . . . Izvrednjavanje Fourierovih redova . . . . . . . . . . . . . . Klasini ortogonalni polinomi . . . . . . . . . . . . . . . . c

6.3. 6.4.

Stabilnost rekurzija i generalizirane Hornerove sheme . . . . . . . Besselove funkcije i Millerov algoritam . . . . . . . . . . . . . . . 6.4.1. 6.4.2. Opa forma Millerovog algoritma . . . . . . . . . . . . . . c Izvrednjavanje Besselovih funkcija . . . . . . . . . . . . . .

6.5. 6.6.

Asimptotski razvoj . . . . . . . . . . . . . . . . . . . . . . . . . . Verini razlomci i racionalne aproksimacije . . . . . . . . . . . . . z 6.6.1. 6.6.2. 6.6.3. Brojevni verini razlomci . . . . . . . . . . . . . . . . . . . z Uzlazni algoritam za izvrednjavanje brojevnih verinih raz zlomaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eulerova forma verinih razlomaka i neki teoremi konverz gencije . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SADRZAJ

NUM ANAL vii

6.6.4. 6.6.5. 7.

Silazni algoritam za izvrednjavanje brojevnih verinih raz zlomaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funkcijski verini razlomci . . . . . . . . . . . . . . . . . . z

284 284

Aproksimacija i interpolacija . . . . . . . . . . . . . . . . . . . . . 288 7.1. Opi problem aproksimacije . . . . . . . . . . . . . . . . . . . . . c 7.1.1. 7.1.2. 7.1.3. 7.2. Linearne aproksimacijske funkcije . . . . . . . . . . . . . . Nelinearne aproksimacijske funkcije . . . . . . . . . . . . . Kriteriji aproksimacije . . . . . . . . . . . . . . . . . . . . 288 289 290 290 293 294 295 301 302 304 308 345 346 351 352 354 358 359 364 368 376 377 382 387 398 399

Interpolacija polinomima . . . . . . . . . . . . . . . . . . . . . . 7.2.1. 7.2.2. 7.2.3. 7.2.4. 7.2.5. 7.2.6. 7.2.7. 7.2.8. Egzistencija i jedinstvenost interpolacijskog polinoma . . . Kako nai prave algoritme? . . . . . . . . . . . . . . . . . . c Lagrangeov oblik interpolacijskog polinoma . . . . . . . . . Ocjena greke interpolacijskog polinoma s . . . . . . . . . .

Newtonov oblik interpolacijskog polinoma . . . . . . . . . Koliko je dobar interpolacijski polinom? Konvergencija interpolacijskih polinoma . . . . . . . . . . . . . . . . . . . .

Hermiteova i druge interpolacije polinomima . . . . . . . . . . . . . . . . . . . . . .

7.3.

Interpolacija po dijelovima polinomima 7.3.1. 7.3.2. 7.3.3. 7.3.4. 7.3.5. 7.3.6.

Po dijelovima linearna interpolacija . . . . . . . . . . . . . Po dijelovima kubina interpolacija . . . . . . . . . . . . . c Po dijelovima kubina Hermiteova interpolacija . . . . . . c Numeriko deriviranje . . . . . . . . . . . . . . . . . . . . c Po dijelovima kubina kvazihermiteova interpolacija . . . . c Kubina splajn interpolacija . . . . . . . . . . . . . . . . . c

7.4.

Interpolacija polinomnim splajnovima za matematiare . . . . c 7.4.1. 7.4.2. 7.4.3. Linearni splajn . . . . . . . . . . . . . . . . . . . . . . . . Hermiteov kubini splajn . . . . . . . . . . . . . . . . . . . c Potpuni kubini splajn . . . . . . . . . . . . . . . . . . . . c

7.5.

Diskretna metoda najmanjih kvadrata . . . . . . . . . . . . . . . 7.5.1. Linearni problemi i linearizacija . . . . . . . . . . . . . . .

SADRZAJ

NUM ANAL viii

7.5.2. 7.5.3. 7.5.4. 7.6.

Matrina formulacija linearnog problema najmanjih kvadrata 404 c Karakterizacija rjeenja . . . . . . . . . . . . . . . . . . . . s Numeriko rjeavanje problema najmanjih kvadrata . . . . c s 405 408 412 412 413 413 418 419 427 432 433 437 438 441 444

Opi oblik metode najmanjih kvadrata . . . . . . . . . . . . . . . c 7.6.1. Teinski skalarni produkti . . . . . . . . . . . . . . . . . . z

7.7. 7.8. 7.9.

Familije ortogonalnih funkcija . . . . . . . . . . . . . . . . . . . . Neka svojstva ortogonalnih polinoma . . . . . . . . . . . . . . . . Trigonometrijske funkcije . . . . . . . . . . . . . . . . . . . . . . 7.9.1. Diskretna ortogonalnost trigonometrijskih funkcija . . . . .

7.10. Minimaks aproksimacija . . . . . . . . . . . . . . . . . . . . . . . 7.10.1. Remesov algoritam . . . . . . . . . . . . . . . . . . . . . . 7.11. Skoro minimaks aproksimacije . . . . . . . . . . . . . . . . . . . s 7.12. Interpolacija u Cebievljevim tokama . . . . . . . . . . . . . . . c s 7.13. Cebievljeva ekonomizacija . . . . . . . . . . . . . . . . . . . . . 7.14. Diskretne ortogonalnosti polinoma Tn . . . . . . . . . . . . . . . 7.15. Thieleova racionalna interpolacija . . . . . . . . . . . . . . . . . . 8.

Rjeavanje nelinearnih jednadbi . . . . . . . . . . . . . . . . . . . 449 s z 8.1. 8.2. 8.3. 8.4. 8.5. 8.6. 8.7. 8.8. 8.9. Openito o iterativnim metodama . . . . . . . . . . . . . . . . . c Metoda raspolavljanja (bisekcije) . . . . . . . . . . . . . . . . . . Regula falsi (metoda pogrenog poloaja) . . . . . . . . . . . . . s z Metoda sekante . . . . . . . . . . . . . . . . . . . . . . . . . . . . Metoda tangente (Newtonova metoda) . . . . . . . . . . . . . . . Metoda jednostavne iteracije . . . . . . . . . . . . . . . . . . . . Newtonova metoda za viestruke nultoke . . . . . . . . . . . . . s c Hibridna BrentDekkerova metoda . . . . . . . . . . . . . . . . . Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 450 454 456 460 466 471 473 473

9.

Numerika integracija . . . . . . . . . . . . . . . . . . . . . . . . . . 478 c 9.1. 9.2. Openito o integracijskim formulama . . . . . . . . . . . . . . . . c NewtonCotesove formule . . . . . . . . . . . . . . . . . . . . . . 478 480

SADRZAJ

NUM ANAL ix

9.2.1. 9.2.2. 9.2.3. 9.2.4. 9.2.5. 9.3. 9.4. 9.5.

Trapezna formula . . . . . . . . . . . . . . . . . . . . . . . Simpsonova formula . . . . . . . . . . . . . . . . . . . . . . Produljene formule . . . . . . . . . . . . . . . . . . . . . . Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formula srednje toke (midpoint formula) . . . . . . . . . c

480 486 491 494 497 498 507 510 515 526

Rombergov algoritam . . . . . . . . . . . . . . . . . . . . . . . . Teinske integracijske formule . . . . . . . . . . . . . . . . . . . . z Gaussove integracijske formule . . . . . . . . . . . . . . . . . . . 9.5.1. 9.5.2. GaussLegendreove integracijske formule . . . . . . . . . . Druge Gaussove integracijske formule . . . . . . . . . . . .

10. Obine diferencijalne jednadbe . . . . . . . . . . . . . . . . . . . . 534 c z 10.1. Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2. Inicijalni problem za obinu diferencijalnu jednadbu. Eulerova c z metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3. RungeKuttine metode . . . . . . . . . . . . . . . . . . . . . . . 10.3.1. Jo o koecijentima za RungeKuttine metode . . . . . . . s 10.3.2. Konvergencija jednokoranih metoda . . . . . . . . . . . . c 10.3.3. RungeKuttaFehlbergove metode. Odredivanje koraka integracije. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4. Linearne viekorane metode . . . . . . . . . . . . . . . . . . . . s c 10.4.1. Konzistencija i stabilnost . . . . . . . . . . . . . . . . . . . 10.4.2. Prediktor-korektor par . . . . . . . . . . . . . . . . . . . . 10.4.3. Linearne diferencijske jednadbe . . . . . . . . . . . . . . . z 10.4.4. Konvergencija linearnih viekoranih metoda . . . . . . . . s c 10.5. Gearova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 535 536 541 543 547 550 554 559 560 563 570

11. Optimizacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 11.1. Uvod u optimizaciju . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Metoda zlatnog reza . . . . . . . . . . . . . . . . . . . . . . . . . 11.3. Viedimenzionalna minimizacija . . . . . . . . . . . . . . . . . . . s 11.3.1. Gradijentna metoda . . . . . . . . . . . . . . . . . . . . . . 579 580 582 584

SADRZAJ

NUM ANAL x

11.3.2. Modicirana Newtonova metoda . . . . . . . . . . . . . . . 11.4. KvaziNewtonove metode . . . . . . . . . . . . . . . . . . . . . . 11.5. Konvergencija minimizacijskih metoda . . . . . . . . . . . . . . . 11.5.1. Konvergencija modicirane Newtonove metode . . . . . . .

584 587 595 600

Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603

1. UVODNI DIO

UVODNI DIO 1

1. Uvodni dio
Numerika matematika je disciplina koja prouava i numeriki rjeava matec c c s matike probleme koji se javljaju u znanosti, tehnici, gospodarstvu, itd. Iako se ta c disciplina najee povezuje s numerikim metodama, treba znati da bez dubljeg c sc c poznavanja samog problema kojeg rjeavamo, nije mogue procijeniti je li neka s c metoda dobra u smislu da daje zadovoljavajue tona rjeenja u dovoljno kratkom c c s vremenskom intervalu. O problemu koji se rjeava treba znati barem neka svojstva: s postoji li barem jedno rjeenje, ako da, je li rjeenje jedinstveno, s s kako se rjeenje (ili rjeenja) ponaaju kad se polazni podaci malo promijene s s s (teorija perturbacije). Kad se konstruira neka metoda za dani problem otvara se mnotvo pitanja: s konvergencije (konvergira li niz aproksimacija prema rjeenju), s brzine konvergencije (tu se koriste termini linearna, kvadratina, kubina konc c vergencija), adaptibilnost metode za specijalna raunala (paralelna, vektorska), c sloenost metode (broj raunskih operacija, zauzee memorije, dohvat operaz c c nada, prijenos podataka, . . . ) tonost, odnosno stabilnost metode (koliko znaajnih znamenaka izraunatog c c c rjeenja je tono, te o emu to ovisi). s c c s z Uz odredivanje stabilnosti algoritma vezana je i analiza greaka zaokruivanja koja pokazuje mogu li greke koje aritmetika raunala generira u procesu raunanja s c c bitno naruiti tonost izlaznih podataka. s c U prvom poglavlju knjige uvest emo oznake osnovnih pojmova koji se koriste c u knjizi. Neke pojmove emo denirati, a za neke emo dati najvanije tvrdnje. c c z

1. UVODNI DIO

UVODNI DIO 2

1.1.

Pomoni rezultati iz analize c

Ovdje navodimo, bez dokaza, nekoliko vanih teorema iz analize. Najprije z moramo uvesti oznake za osnovne skupove koji se koriste u analizi. S N oznaavamo skup prirodnih brojeva, dakle {1, 2, . . .}. S N0 oznaavamo c c c skup nenegativnih cijelih brojeva, N0 = N {0}. Sa Z oznaavamo skup svih cijelih brojeva, dakle pozitivnih, negativnih i nule. S Q oznaavamo skup racionalnih, c a s Q0 skup nenegativnih racionalnih brojeva. S R (C) oznaavamo skup realnih c (kompleksnih) brojeva. Ako je S C (ili S R), tada je zatvara Cl S skupa S, skup svih gomilita c s od S. S obzirom da je svaka toka od S ujedno i gomilite od S, vrijedi S Cl S. c s Zatvara Cl S je najmanji zatvoren skup koji sadri S. S druge strane, unutranjost c z s skupa S, Int S ili interior od S je najvei otvoren skup sadran u S. Jasno je da c z je Int S S Cl S pri emu jednakosti vrijede npr. za cijeli C (ili R). Ako je c recimo, Cl S zatvoreni krug, onda je Int S otvoreni krug (krug bez rubne krunice), z a S moe biti npr. otvoreni krug s bilo kojim tokama na rubu. z c U numerikoj matematici posebno su vani sljedei teoremi o srednjim vrijedc z c nostima kojima se dokazi mogu pronai u knjigama iz elementarne analize. c Teorem 1.1.1 (Meduvrijednost) Neka je f realna neprekidna funkcija na konanom segmentu [a, b]. Neka su c m = inf f (x)
axb

i M = sup f (x)
axb

inmum i supremum funkcije f . Tada za svaki realni broj iz segmenta [m, M], postoji barem jedan realni broj iz [a, b], takav da je f () = . Specijalno, postoje brojevi x i x iz [a, b], takvi da je m = f (x), M = f (x).

Teorem 1.1.2 (Srednja vrijednost) Neka je f realna funkcija neprekidna na konanom segmentu [a, b] i diferencijabilna na otvorenom intervalu (a, b). Tada postoji c barem jedna toka (a, b), takva da je c f (b) f (a) = f ()(b a). Teorem 1.1.3 (Integralna srednja vrijednost) Neka je w nenegativna i integrabilna funkcija na segmentu [a, b]. Neka je f neprekidna na [a, b]. Tada postoji toka [a, b] takva da je c
b b

f (x)w(x) dx = f ()
a a

w(x) dx.

1. UVODNI DIO

UVODNI DIO 3

Jedan od najvanijih alata u numerikoj matematici je Taylorov teorem jer z c daje jednostavnu metodu aproksimacije funkcije f pomou polinoma. Kako se c vrijednost polinoma odreduje koritenjem Hornerovog algoritma, dobivamo nain s c izraunavanja vrijednosti funkcije f u danoj toki x. Da bismo mogli koristiti taj c c pristup u aproksimaciji funkcije, ona mora biti dovoljno glatka. Teorem 1.1.4 (Taylorov teorem) Neka funkcija f ima neprekidne derivacije do reda n + 1, n + 1 > 0, na segmentu [a, b]. Ako su x, x0 [a, b], tada je f (x) = pn (x) + Rn+1 (x), (x x0 ) (x x0 )2 pn (x) = f (x0 ) + f (x0 ) + f (x0 ) + 1! 2! (x x0 )n (n) f (x0 ), + n! x 1 (x x0 )n+1 (n+1) f (x t)n f (n+1) (t) dt = (), Rn+1 (x) = n! x (n + 1)!
0

(1.1.1)

(1.1.2) (1.1.3)

za neki izmedu x0 i x. Dokaz. Izvod relacija (1.1.1)(1.1.3) koristi n puta parcijalno integriranje, polazei c od identiteta x f (x) = f (x0 ) +
x0

f (t) dt.

s Drugi oblik ostatka Rn+1 (x) dobije se koritenjem teorema integralne srednje vrin z c c jednosti za funkciju w(t) = (x t) . Puni dokaz se moe nai u veini knjiga iz elementarne analize. Polinom pn se naziva Taylorov razvoj funkcije f u toki x0 . Ako je f beskonac c n c c no puta derivabilna, polinom pn prelazi u red potencija, s opim lanom (x x0 ) , a zove se Taylorov red. Uz pomo Taylorovog reda lako se dobivaju poznate formule: c xn xn+1 x x2 ++ + e , 2 n! (n + 1)! x2 x4 x2n cos(x) = 1 + + (1)n 2! 4! (2n)! 2n+2 x cos(x ), + (1)n+1 (2n + 2)! x3 x5 x2n1 sin(x) = x + + (1)n1 3! 5! (2n 1)! 2n+1 x sin(x ), + (1)n (2n + 1)! ex = 1 + x + (1.1.4)

(1.1.5)

(1.1.6)

1. UVODNI DIO

UVODNI DIO 4

(1 + x) = 1 +

2 n x+ x ++ x + 1 2 n n+1 n+1 x + , (1 + x )n+1

(1.1.7)

pri emu je c

( 1) ( k + 1) , = k! k

k = 1, 2, 3, . . .

za proizvoljni realni broj . U svim sluajevima nepoznata toka x smjetena je c c s izmedu 0 i x. Sjetimo se formule za n-tu parcijalnu sumu geometrijskog reda 1 + x + x2 + + xn = 1 xn+1 . 1x (1.1.8)

Prikaemo li razlomak na desnoj strani kao razliku razlomaka, te dio s potencijom z xn+1 prebacimo na drugu stranu jednakosti, dobivamo 1 xn+1 = 1 + x + x2 + + xn + , 1x 1x x = 1, (1.1.9)

to je drugi, jednostavniji, zapis razvoja (1.1.7) uz = 1 i x umjesto x. Kad s pustimo da n proizvoljno raste i ako je x iz (1, 1), formula (1.1.9) prelazi u 1 = 1 + x + x2 + + xn + , 1x |x| < 1. (1.1.10)

Kad isto nainimo u formulama za ex , cos(x) i sin(x), ne trebamo ograniiti x jer c c pripadni redovi konvergiraju apsolutno za svaki x. Iako su formule (1.1.1)(1.1.3) vrlo korisne za dobivanje razvoja funkcije f oko toke x0 , esto puta raunanje viih derivacija predstavlja problem zbog sloenosti c c c s z raunanja. U takvim sluajevima, moemo se koristiti ve dobivenim razvojima. c c z c Sljedei primjeri pokazuju kako se to moe nainiti. c z c Primjer 1.1.1 Da bismo dobili razvoj funkcije f (x) = ex
2

oko 0, moemo se koristiti razvojem (1.1.4), u koji, umjesto x, uvrstimo x2 , z ex = 1 x2 + pri emu je x2 x 0. c
2

x4 x2n+2 x + (1)n+1 e , 2! (n + 1)!

1. UVODNI DIO

UVODNI DIO 5

Primjer 1.1.2 Da bismo dobili razvoj funkcije f (x) = arctg(x) oko 0, moemo se koristiti razvojem (1.1.9), u koji, umjesto x, uvrstimo t2 , z t2n+2 1 = 1 t2 + t4 + (1)n t2n + (1)n+1 . 1 + t2 1 + t2 Integriranjem po t na intervalu [0, x], dobivamo x2n+1 x3 x5 + + (1)n + (1)n+1 arctg(x) = x 3 5 2n + 1 Primjena teorema o integralnoj srednjoj vrijednosti daje
x x

t2n+2 dt. 1 + t2

1 t2n+2 x2n+3 dt = , 2 1 + t2 2n + 3 1 + x
1

x izmedu 0 i x.

Primjer 1.1.3 Neka je f (x) =


0

sin(xt) dt.

Koritenjem razvoja funkcije sin u Taylorov red oko nule (vidi relaciju (1.1.6)), s dobivamo
1

f (x) =
0 n

xt

x3 t3 (xt)2n1 (xt)2n+1 + + (1)n1 + (1)n dt 3! (2n 1)! (2n + 1)! x2n+1 + (1) (2j)! (2n + 1)!
n 1

(1)
j=1

2j1 j1 x

t2n+1 cos(xt ) dt,


0

pri emu je xt izmedu 0 i xt. Integral u ostatku se jednostavno ocijeni s 1/(2n + 2), c ali se moe dovesti i na jednostavniji oblik. Naime, moe se pokazati da je t xt z z neprekidna funkcija, pa se moe primijeniti integralni teorem srednje vrijednosti i z dobiti
1 n

sin(xt) dt =
0

(1)j1
j=1

x2j1 x2n+1 + (1)n cos(x ), (2j)! (2n + 2)!

x izmedu 0 i x.

c Primjer 1.1.4 Neka su x0 , x1 , x2 razliiti realni brojevi i f realna funkcija denirana na intervalu koji sadri te toke. Veliine z c c f [x0 , x1 ] = f (x1 ) f (x0 ) x1 x0 i f [x0 , x1 , x2 ] = f [x1 , x2 ] f [x0 , x1 ] x2 x0 (1.1.11)

1. UVODNI DIO

UVODNI DIO 6

zovu se podijeljene razlike prvog i drugog reda od f . Ako je f jedanput odnosno dvaput diferencijabilna na odgovarajuem intervalu, moe se pokazati da je c z f [x0 , x1 ] = f (), f [x0 , x1 , x2 ] = 1 f (), 2 (1.1.12)

pri emu je izmedu x0 i x1 , a izmedu minimuma i maksimuma skupa {x0 , x1 , x2 }. c Prva tvrdnja lako slijedi iz teorema o srednjoj vrijednosti. Kasnije emo pokazati c opa svojstva podijeljenih razlika proizvoljnog reda, a time i drugu tvrdnju. Takoder, c odmah se vidi da je f [x0 , x1 ] = f [x1 , x0 ]. Pokuajte pokazati da je f [x0 , x1 , x2 ] = s f [xi , xj , xk ] za bilo koju permutaciju i, j, k niza (0, 1, 2). Neka je sada f realna funkcija dviju varijabli, f : R2 R. Koristei Kartezijev c koordinatni sustav Oxy, moemo svakom paru realnih brojeva (x, y) pridruiti tono z z c jednu toku u Kartezijevoj ravnini koju oznaimo s (x, y) (apscisa te toke ima c c c vrijednost x, a ordinata ima vrijednost y). Kako vrijedi i obrat, par realnih brojeva (x, y) se poistovjeuje s tokom ravnine. c c Postoji generalizacija Taylorovog teorema za f (x, y) u okolini toke (x0 , y0 ). c Jasno, i taj teorem se moe dalje generalizirati za funkcije od tri i vie varijabli, ali z s nam to za potrebe ove knjige nee trebati. c Oznaimo s L(x0 , y0; x1 , y1 ) skup svih toaka na pravcu koji prolazi tokama c c c c c z (x0 , y0) i (x1 , y1 ), a nalaze se izmede tih toaka (krae kaemo da je L(x0 , y0; x1 , y1 ) c segment izmedu tih dviju toaka). c Teorem 1.1.5 Neka su (x0 , y0 ) i (x0 + , y0 + ) dvije toke u ravnini i neka je 2 funkcija f : R R n + 1 puta neprekidno diferencijabilna u nekoj okolini segmenta L(x0 , y0 ; x0 + , y0 + ). Tada je f (x0 + , y0 + ) = f (x0 , y0 ) + + j 1 + f (x, y) x y j=1 j!
n+1 n x=x0 y=y0 x=x0 + y=y0 +

1 + (n + 1)! x y

f (x, y)

(1.1.13)

za neki 0 1. Pritom je (x0 + , y0 + ) nepoznata toka na segmentu c L(x0 , y0 ; x0 + , y0 + ). Dokaz. Prvo se prisjetimo znaenja oznake c 2 f (x, y) 2 f (x, y) 2 f (x, y) 2 f (x, y) = 2 + 2 , + + 2 x y x2 xy y 2

a po analogiji s razvojem od (x + y)j denira se i j f (x, y). + x y

1. UVODNI DIO

UVODNI DIO 7

Indeksi oblika x = x0 i y = y0 oznaavaju da se sve prisutne parcijalne derivacije c izvrednjavaju u toki (x0 , y0 ). c Dokaz relacije (1.1.13) baziran je na Taylorovom teoremu za funkciju jedne varijable F (t) = f (x0 + t, y0 + t), t [0, 1]. Naime, F zadovoljava uvjete teorema 1.1.4, pa je F (1) = f (0) + F (n) (0) F (n+1) () F (0) ++ + 1! n! (n + 1)!

za neki 0 1. Uoimo da je F (0) = f (x0 , y0) i F (1) = f (x0 + , y0 + ). Za c prvu derivaciju vrijedi F (t) = f (x0 + t, y0 + t) f (x0 + t, y0 + t) + x y + f (x, y) x=x +t . = 0 x y y=y0 +t

Derivacije vieg reda se dobiju na slian nain. s c c Primjer 1.1.5 Odredimo razvoj funkcije f (x, y) = x y

c c oko toke (x0 , y0) = (2, 1) do ukljuivo lana odredenog s n = 1. c Imamo = x 2, = y 1, f (2, 1) f (2, 1) x = f (2, 1) + + y x y 2 1 2 f (x, y) 2 f (x, y) 2 f (x, y) + + 2 + 2 x= 2 x2 xy y 2 y= = 2 + (x 2) 1 + (y 1) (2) 1 1 2 + (x 2)2 0 + 2(x 2)(y 1) + (y 1)2 3 2 2 1 = x 2y + 2 2 (x 2)(y 1) + 2 3 (y 1)2 , gdje je toka (, ) na segmentu L(2, 1; x, y). Ako je (x, y) blizu (2, 1), tada je c segment L(2, 1; x, y) kratak pa je i (, ) blizu (2, 1) i vrijedi x x 2y + 2. y Graf funkcije z = x 2y + 2 je ravnina tangencijalna na graf funkcije z = x/y u toki (x, y, z) = (2, 1, 2). c

1. UVODNI DIO

UVODNI DIO 8

Matematike tvrdnje esto imaju oblik implikacije: iskaz T1 povlai iskaz T2 . c c c Umjesto da se dokazuje ta implikacija, kadkad je zgodnije dokazati ekvivalentnu implikaciju: iskaz T2 povlai iskaz T1 , gdje T oznaava suprotni iskaz od iskaza c c T . Ta ekvivalentnost se logiki zapisuje c (T1 = T2 ) i zove obrat po kontrapoziciji. Pretpostavljamo da su itatelji upoznati s pojmovima kao to su vektori, c s matrice, norme i skalarni produkti. Neto dublje znanje iz linearne algebre koje s ukljuuje osnovne informacije o grupama, vektorskim prostorima, linearnim opec ratorima, determinantama, dobro bi dolo za lake itanje ove knjige. Pritom je s s c posebno vaan pojam linearne nezavisnosti vektora jer se koristi u pojmovima kao z to su rang i inverz matrice ili operatora, baze, itd. s Za one koji nisu upoznati s osnovama linearne algebre, uvodimo ovdje neke oznake i pojmove da bi lake razumjeli izreke mnogih tvrdnji koje moda nemaju s z veze s linearnom algebrom, ali koriste oznake odatle. S Rn oznaavamo skup svih jednostupanih realnih matrica (koje jo zovemo c c s realni vektori) Rn =
x1 . . . ,

(T2 = T1 )

(1.1.14)

xi R za sve

1in .

xn

Elemente tog skupa oznaavamo malim slovima abecede. Ako su x, y Rn vektori c c s s komponentama xi , yi , 1 i n, (krae piemo x = [xi ], y = [yi ]) i R realni broj (skalar), tada se vektori x + y i x deniraju formulama x1 + y1 . . x+y = . xn + yn

x1 . i x = . . . xn

Ako je = 0, tada je u zadnjem izrazu x vektor koji ima sve komponente jednake nuli. Takav vektor se zove nul-vektor i oznaava s 0. Iz konteksta emo razlikovati c c je li 0 broj (skalar) nula ili nul-vektor. Na isti nain denira se Cn kao skup kompleksnih vektora koji osim realnih c mogu imati i kompleksne brojeve kao komponente. Jednako kao gore denira se i zbroj kompleksnih vektora kao i umnoak kompleksnog broja (skalara) i komz pleksnog vektora. Uz tako denirane operacije skupovi Rn i Cn imaju cijeli niz lijepih svojstava koje ih ine vektorskim prostorima. Ako je z = [zi ] C, tada c se konjugirano kompleksni vektor z = [i ] dobije tako da mu se svaka komponenta z kompleksno konjugira.

1. UVODNI DIO

UVODNI DIO 9

Za realni ili kompleksni vektor a = [ai ], oznaka |a| = [ |ai | ] oznaava apsoc lutnu vrijednost vektora po komponentama vektora a. Dakle, |a| je vektor ije komponente su nenegativni realni brojevi, pa zato vrijede sljedea jednostavna c c svojstva: (i) |a| = 0 ako i samo ako je a = 0, (ii) |a| = || |a|, je skalar, a a vektor, (iii) |a + b| |a| + |b|, a i b su vektori. Slina svojstva ima i funkcija norma koja svakom vektoru pridruuje broj. c z Najpoznatije norme su euklidska (ili 2-norma), norma beskonano i norma c n n jedan. Za a C (ili R ) je a a a
2 1

|a1 |2 + |a2 |2 + + |an |2 ,


1in

= max |ai |, = |a1 | + |a2 | + + |an |.

Malo openitije su tzv. p-norme c a


p

|a1 |p + + |an |p ,

1 p .

Sve te norme zadovoljavaju etiri svojstva (nenegativnost, denitnost, pozitivna c homogenost i nejednakost trokuta) koja funkciju ine normom, c (i) a 0 za sve vektore a, (ii) a = 0 ako i samo ako je a = 0, pri emu je 0 nul-vektor, c (iii) a = || a za sve vektore a i skalare , (iv) a + b a + b za sve vektore a i b. z Ista svojstva koja imaju skupovi Rn i Cn zajedno s operacijama zbrajanja i mnoenja skalarom mogu imati i drugaiji skupovi. Npr. skup c C[a, b] = {f | f realna i neprekidna funkcija denirana na [a, b]} s operacijom zbrajanja funkcija: (f + g)(t) = f (t) + g(t), i mnoenja funkcija realnim brojem: z (f )(t) = f (t), t [a, b], t [a, b]

1. UVODNI DIO

UVODNI DIO 10

ima ista poeljna svojstva koja ga ine vektorskim prostorom. Tipina norma na z c c tom prostoru je f = max |f (t)|.
axb

Lako se provjeri da ona zadovoljava svojstva (i)(iv) za norme. Norme postoje i za matrice. Npr. ako je a11 a12 a21 a22 A= . . . an1 an2 onda je A
n

a1n a2n . , . . ann

= max

1in

|aij |.

j=1

Norme na matricama obino zadovoljavaju dodatno svojstvo (konzistentnost) vezac no uz produkt dviju matrica (za vektore x, y produkt xy nije deniran). Npr. za normu beskonano to svojstvo se zapisuje kao c AB Specijalno, vrijedi i Ax gdje je x Rn .

A, B reda n.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 11

2. Kratki uvod u linearnu algebru


U ovom poglavlju uvodimo osnovne pojmove i rezultate iz linearne algebre koji e se koristiti u kasnijim poglavljima. Prva dva dijela su saeti prikaz prec z davanja iz linearne algebre, radeni po internoj skripti koja se nalazi na adresi http://www.math.hr/~hari/la.pdf. Na toj adresi se mogu nai svi dokazi koji c ovdje nisu dani. Trei i etvrti odjeljak imaju glavne tvrdnje dokazane. c c Prva cjelina denira pojam vektorskog prostora i njegovih elemenata koje nazivamo vektorima u irem znaenju tog pojma. Deniraju se pojmovi linearno nezas c visnih vektora, baze i dimenzije vektorskog prostora, norme i skalarnog produkta, te linearnog operatora. Lijep primjer vektorskog prostora ine matrice odredenog tipa. Kvadratne c matrice reda n ine jo bogatiju strukturu koja se zove algebra. Stoga se kratka c s teorija matrica opisuje u drugom odjeljku. Jedan od najvanijih rezultata iz teorije matrica je tzv. singularna dekompoziz cija matrica. Njene primjene seu u razne numerike probleme, npr. problem najz c z manjih kvadrata, odredivanje ranga matrice, nalaenje generaliziranog inverza, kompresija slika u raunalnoj graci i openito probleme aproksimacije matrice pomou c c c matrica manjeg ranga. U zadnjem odjeljku prikazuju se osnovni rezultati iz teorije vektorskih i matrinih normi, posebno tzv. Hlderovih p-normi. Te norme ukljuuju najee c o c c sc koritene matrine norme: spektralnu (ili 2-normu), 1-normu i -normu. s c

2.1.

Vektorski prostor

Vektorski ili linearni prostor je algebarska struktura koja se sastoji od dva skupa: X ije elemente zovemo vektori i ije elemente zovemo skalari. Skup c c skalara je najee skup realnih ili kompleksnih brojeva. Pritom je vano da su na c sc z skupu denirane dvije operacije, koje zovemo zbrajanje i mnoenje skalara i da je z rezultat primjene tih operacija na skalare uvijek u . Za operaciju zbrajanja moraju

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 12

vrijediti svojstva asocijativnosti, postojanja nule, postojanje suprotnog elementa (za svaki element) i komutativnosti. Za produkt trebaju vrijediti barem svojstva asocijativnosti, obostrane distributivnosti prema zbrajanju te postojanje jedinice i postojanje recipronog skalara (osim za nulu). Takva struktura (, +, ) se zove c tijelo, a ako vrijedi i komutativnost mnoenja, zove se polje. z Na skupu X su denirane operacije zbrajanja vektora i mnoenja vektora z skalarom iz . Pritom za operaciju vrijede ista svojstva kao i za + u : asocijativnost, postojanja nul-vektora, postojanje suprotnog vektora i komutativnosti. Za operaciju moraju vrijediti sljedea svojstva kompatibilnosti: c (a) (x y) = x y za bilo koje x, y X, (distributivnost mnoenja prema zbrajanju u X), z (b) ( + ) x = x x za bilo koje x X, , (distributivnost mnoenja prema zbrajanju u ), z (c) ( x) = ( ) x za bilo koje x X, , (kompatibilnost mnoenja), z (d) ako je 1 neutralni element za mnoenje u , tada je 1 x = x za svako z xX (netrivijalnost mnoenja). z Za tako deniranu strukturu kaemo da je vektorski prostor nad tijelom (ili poz ljem) . U daljem tekstu e uvijek biti polje realnih ( = R) ili kompleksnih ( = C) c brojeva. Ako je X vektorski prostor nad poljem realnih (kompleksnih) brojeva, X se naziva realni (kompleksni) vektorski prostor.

2.1.1.

Osnovna svojstva vektorskog prostora

Jednostavno je pokazati da u svakom vektorskom prostoru vrijede sljedee c tvrdnje. Neutralni element za zbrajanje u X je jedinstven. Za svaki x X inverzni element od x s obzirom na je jedinstven. Ako je o X neutralni element s obzirom na , tada za svako vrijedi o = o. Ako je 0 nula, tj. neutralni element s obzirom na +, a o X neutralni element s obzirom na , tada za svako x X vrijedi 0 x = o.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 13

Ako je 1 jedinica, tj. neutralni element s obzirom na , a 1 njegov suprotni element u s obzirom na +, tada za svako x X vrijedi (1) x = x, gdje je x inverzni element od x u X s obzirom na . Na vektorskom prostoru X moemo denirati razliku vektora formulom z x i lako se pokazuje da vrijedi ( ) x = x (x y) = x x, x, x X, , x, y X, . y = x (1) y = x (y)

U vektorskom prostoru smijemo vektorske jednadbe kratiti i sa skalarom i vekz torom. Npr. ako je produkt x skalara i vektora x nul-vektor i jedan od faktora nije nula, onda drugi faktor mora biti nula. u jednadbi x = x, , , x X, vektor x = o, tada vrijedi z skalarna jednadba = . z u jednadbi x = y, , x, y X, skalar = 0, tada vrijedi z vektorska jednadba x = y. z Potprostor vektorskog prostora (X, , ) je svaki podskup od X koji je uz operacije i i sam vektorski prostor nad istim poljem. Da bi to vrijedilo dovoljno je dokazati da je zatvoren u odnosu na operacije , . Zaista, ako je (S, , ) potprostor od (X, , ) (krae piemo S je potprostor od X), tada je nuno (po c s z deniciji vektorskog prostora) zatvoren u odnosu na te operacije. Obratno, ako je podskup S X zatvoren u odnosu na operacije , , tada za njega automatski vrijede (jer je podskup od X) svi uvjeti iz denicije vektorskog prostora. Dakle, vektorski potprostor je deniran upravo onim operacijama koje su nasljedene od prostora. Trivijalni vektorski potprostori su jednolan skup {o} i cijeli X. Da bi c neki skup S X bio potprostor nuno je i dovoljno da su ispunjeni sljedei uvjeti: z c (a) x y S za svaka dva vektora x, y S, (b) x S za sve i x S. Naime, to su nuni i dovoljni uvjeti za zatvorenost skupa S u odnosu na operacije z i . Lako se pokae da su uvjeti (a) i (b) ekvivalentni uvjetu z (ab) x y S za sve x, y S i , . Neka su a1 , a2 , . . . , ap vektori iz (X, , ). Linearna kombinacija vektora a1 , a2 , . . . , ap (ili skupa vektora {a1 , a2 , . . . , ap }) je svaki vektor y oblika y = 1 a1 2 a2 p ap ,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 14

gdje su 1 , 2 . . . , p skalari iz . Najmanji vektorski potprostor koji sadri sve z vektore a1 , . . . , ap je potprostor (L(a1 , . . . , ap ), , ) kojemu su elementi linearne kombinacije skupa {a1 , . . . , ap }, L(a1 , . . . , ap ) = {1 a1 p ap , 1 , . . . , p }.

s Osim oznake L(a1 , . . . , ap ) jo se koristi i oznaka span{a1 , . . . , ap }. Ako je Y X potprostor i z X proizvoljni vektor, skup z + Y = {x X | x = z + y, y Y } naziva se linearna mnogostrukost (ili viestrukost). Kad je z Y , onda je s z + Y = Y , a kad je Y = {0}, vrijedi z + Y = {z}. U daljem tekstu, umjesto oznaka , i koristit emo jednostavnije oznake c +, i , pri emu emo izostavljati. Takoder, kad god su operacije i poznate, c c tj. jasne iz konteksta, umjesto (X, , ) pisat emo X. Ako je iz konteksta jasno c da se radi o vektorskom prostoru ili potprostoru, atribut vektorski ili linearni katkad emo izostavljati. c

2.1.2.

Norma u vektorskom prostoru


:

U vektorskom prostoru se denira norma ili duljina vektora kao funkcija X R za koju vrijede sljedea svojstva c (i) x 0, za svaki x X, (ii) x = || x , za sve , x X, (iii) x + y x + y , za sve x, y X, (iv) x = 0, ako i samo ako je x = 0

(nenegativnost) (homogenost) (nejednakost trokuta) (denitnost).

Vektorski prostor na kojem je denirana norma zove se normirani vektorski prostor. Funkcija : X koja zadovoljava samo svojstva (i), (ii) i (iii) zove se polunorma ili seminorma. U normiranom vektorskom prostoru, norma sume ili razlike vektora moe se z ocijeniti odozdo, jer za svaku polunormu pa zato i normu vrijedi x y | x y |. (2.1.1)

Primjer 2.1.1 Neka je Vn (Cn ) skup uredenih n-torki realnih (kompleksnih) brojeva. Operaciju zbrajanja n-torki i mnoenja n-torki skalarom deniramo po komz ponentama: ako su x = (x1 , . . . , xn ) i y = (y1 , . . . , yn )

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 15

dvije n-torke iz Vn (ili Cn ) i R (ili C), tada su operacije zbrajanja i mnoenja skalarom denirane s z x + y = (x1 + y1 , . . . , xn + yn ) i x = (x1 , . . . , xn ).

Lako se pokae da je (Vn , +, ) realni, a (Cn , +, ) kompleksni vektorski prostor. U z tim vektorskim prostorima moemo denirati sljedee funkcije z c x x x x
1 2 p

= |x1 | + |x2 | + + |xn |, = =


p

|x1 |2 + |x2 |2 + + |xn |2 , |x1 |p + |x2 |p + + |xn |p , 1 p .

= max{|x1 |, |x2 |, . . . , |xn |},

Lako je provjeriti da su funkcije x 1 i x norme. Za opu, tzv. Hlderovu normu c o z o s x p dokaz je sloeniji. Hlderova 2-norma x 2 se jo zove euklidska norma. Dvije norme i vektorskog prostora X su ekvivalentne, ako postoje pozitivni realni brojevi c1 i c2 takvi da vrijedi c1 x

c2 x .

Lako se pokae da su norme z 2, 1 i u vektorskom prostoru Vn medusobno ekvivalentne. Pokuajte nai odgovarajue konstante c1 i c2 za svaki par normi. s c c Moe se pokazati da su u vektorskim prostorima Vn i Cn sve norme medusobno z ekvivalentne.

2.1.3.

Skalarni produkt u vektorskom prostoru

Da bismo denirali ortogonalnost vektora kao i kut izmedu vektora, potrebno je u vektorski prostor uvesti jo jednu funkciju. s Neka je (X, +, ) vektorski prostor nad , gdje je = C. Funkcija ( | ) : X X zove se skalarni produkt ako vrijedi (i) (x | x) 0 za sve x X, (ii) (x | x) = 0 ako i samo ako x = 0, (iii) (x | y) = (y | x) za sve x, y X, (iv) (x | y) = (x | y) za sve x, y X i svaki , (v) (x + y | z) = (x | z) + (y | z) za sve x, y, z X.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 16

Ako je = R, tada u svojstvu (iii) treba ispustiti operaciju kompleksnog konjugiranja. Vektorski prostor na kojem je deniran skalarni produkt zove se unitarni vektorski prostor. Svaki unitarni vektorski prostor, takoder je i normiran vektorski prostor, jer je formulom x = (x | x), (2.1.2) denirana funkcija za koju se moe pokazati da je norma. To je tzv. pridruena ili z z inducirana norma. U svakom unitarnom vektorskom prostoru za pridruenu normu z vrijedi relacija paralelograma, x+y
2

+ xy

=2 x

+ 2 y 2.

(2.1.3)

Takoder, vrijedi i CauchySchwarzova nejednakost koja povezuje skalarni produkt i induciranu normu |(x | y)| x y . (2.1.4) Postavlja se pitanje da li vrijedi i obratno, tj. moemo li svakoj normi z jednog normiranog vektorskog prostora pridruiti neki skalarni produkt ( | ), tako da z vrijedi x = (x | x)? Odgovor je ne, osim ako norma ne zadovoljava relaciju paralelograma, a tada je skalarni produkt odreden formulom (x | y) = 1 ( x+y 4
2

x y 2),

za realni normirani prostor i formulom (x | y) = 1 ( x+y 4


2

xy

+ i x + iy

i x iy 2 )

za kompleksni normirani prostor. Nejednakost (2.1.4) pokazuje da vrijedi 1 pa relacijom (x | y) 1, x y

(x | y) x y moemo denirati kut izmedu vektora x i y. Za kompleksni unitarni prostor, z u brojniku moramo uzeti apsolutnu vrijednost skalarnog produkta jer je (x | y) kompleksni broj. Stoga je kut u kompleksnom prostoru deniran samo za segment [0, /2]. cos = Za dva vektora kaemo da su ortogonalni ako je cos , tj. ako je (x | y) = 0. z

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 17

2.1.4.

Dimenzija vektorskog prostora

Svaki skup vektora vektorskog prostora razapinje neki potprostor, koji moe z biti i cijeli vektorski prostor. Poeljno je izdvojiti iz danog skupa vektora jedan z njegov podskup koji razapinje isti potprostor, ali koji je u nekom smislu minimalan. Takav podskup ima odredeno svojstvo minimalnosti koje se denira na sljedei nain. c c Ako je S podskup vektorskog prostora X, tada je M minimalni razapinjui c podskup od S, ako zadovoljava sljedea dva svojstva: c 1. L(M) = L(S), 2. Niti jedan pravi podskup skupa M ne razapinje L(S). M se jo zove i minimalni razapinjui skup od L(S). s c Npr. ako je S = {a1 , a2 , . . . , ap }, tada je M = {u1, u2 , . . . , ur }, r p, gdje je svaki ui neki od vektora iz S. Sada se prvi uvjet zapisuje kao L(u1 , . . . , ur ) = L(a1 , . . . , ap ). Uoimo da u zadnjoj jednakosti poredak vektora a1 , . . . , ap (odnosno u1 , . . . , ur ) nije c c vaan, jer je L(a1 , . . . , ap ) tek kraa oznaka za L(S) = L({a1 , . . . , ap }). z Linearno nezavisni vektori Pokazuje se da elementi minimalnog razapinjueg skupa imaju svojstvo linc earne nezavisnosti. Neka su x1 , . . . , xr elementi vektorskog prostora X. Ako jednadba z 1 x1 + + r xr = 0 u nepoznanicama 1 , . . . , r ima samo trivijalno rjeenje 1 = = r = 0, tada se s vektori x1 , . . . , xr nazivaju linearno nezavisnim. Vektori koji nisu linearno nezavisni nazivaju se linearno zavisni. Skup vektora {x1 , . . . , xr } je linearno nezavisan (zavisan) ako su vektori x1 , . . . , xr takvi. z Skup linearno nezavisnih vektora {u1 , . . . , ur } ne sadri nul-vektor. Ako je skup {u1, . . . , ur } linearno nezavisan, tada je i svaki njegov podskup linerano nezavisan. Ako je skup {u1 , . . . , ur } linearno zavisan, tada je svaki njegov nadskup takoder linearno zavisan. Za dani konani skup vektora, minimalni razapinjui skup nije jedinstveno c c z c c odreden. Moe ih biti mnogo. Ali ako podemo ne od konanog skupa, ve od vektorskog potprostora, tada za njega uvijek imamo beskonano mnogo minimalnih c razapinjuih skupova. Ipak svi oni imaju jednu vanu zajedniku karakteristiku: c z c broj vektora u svakom ovisi samo o potprostoru kojeg razapinju. Dakle, ako su

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 18

{u1 , u2, . . . , ur } i {v1 , v2 , . . . , vs } dva minimalna razapinjua skupa istog potprostora, c onda vrijedi r = s. Broj vektora minimalnog razapinjueg skupa nekog potprostora c je invarijanta (konstanta) tog potprostora. Tako dolazimo do pojma dimenzije vektorskog prostora. Ako za vektorski prostor X postoji konani minimalni razapinjui skup vektora c c {u1 , u2, . . . , ur } on se naziva konano-dimenzionalnim vektorskim prostorom. c Pritom se broj r naziva dimenzijom prostora X i oznaava s c r = dim X. Dimenzija trivijalnog prostora {0} je nula. Ako za vektorski prostor ne postoji konani minimalni razapinjui skup vektora on se naziva beskonano-dimenzic c c onalni vektorski prostor. Dimenzija linearne viestrukosti jednaka je dimenziji s vektorskog potprostora koji ju gradi. Primjer 2.1.2 Vektorski prostor Vn je konano dimenzionalan, dimenzije n. To se c vidi iz relacije Vn = L(e1 , e2 , . . . , en ), gdje je ei = (0, . . . , 0, 1, 0, . . . , 0)T s jedinicom na i-tom mjestu, za svako i. Pritom je {e1 , e2 , . . . , en } minimalni razapz injui skup za Vn . Lako se pokae da je skup vektora {e1 , . . . , en } linearno nezavisan. c

2.1.5.

Baza vektorskog prostora

Neka je X vektorski prostor. Uredeni skup vektora B iz X zove se baza vektorskog prostora X ako zadovoljava sljedea dva uvjeta: c (i) B je linearno nezavisan skup, (ii) L(B) = X. Iz prvog svojstva minimalnog razapinjueg skupa M za X (tj. L(M) = X) c i svojstva linearne nezavisnosti od M, zakljuujemo da je svaki uredeni minimalni c razapinjui skup i baza od X, a vrijedi i obrat. Zbog uredenosti skupa, bazu katkad c zapisujemo kao (u1 , . . . , un ), gdje su ui bazni vektori. Ako su u1 , u2 , . . . , ur linearno nezavisni vektori u n-dimenzionalnom vektorskom prostoru X, tada je r n, tj. sigurno ih je manje ili jednako od dimenzije prosotra X. Svaki se niz linearno nezavisnih vektora u1 , u2 , . . . , ur u X moe nadopuniz ti s n r vektora do baze od X. Odatle odmah slijedi da ako je X potprostor n-dimenzionalnog vektorskog prostora X i ako je X dimenzije n, onda je X = X.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 19

U n-dimenzionalnom vektorskom prostoru X, sljedee tvrdnje su ekvivalentne: c 1. (u1 , . . . , un ) je baza od X, 2. {u1 , . . . , un } je linearno nezavisan skup, 3. L(u1 , . . . , un ) = X. Za svaki niz vektora a1 , a2 , . . . , ap , vrijedi dim L(a1 , a2 , . . . , ap ) p. Vanost baze dolazi od jedinstvenosti prikaza vektora po baznim vektorima. z Propozicija 2.1.1 Neka je X vektorski prostor i B baza u X. Tada se svaki vektor x X na jedinstven nain moe prikazati kao linearna kombinacija vektora baze B. c z Dokaz. Neka je B = (u1 , . . . , un ). Prema svojstvu baze L(B) = X, svaki vektor x doputa prikaz s x = 1 u1 + 2 u2 + + n un . Pretpostavimo da postoji jo jedan prikaz s x = 1 u1 + 2 u2 + + n un . Izjednaavanjem 1 u1 + 2 u2 + + n un = 1 u1 + 2 u2 + + n un , dobivamo c (1 1 )u1 + (2 2 )u2 + + (n n )un = 0. c Po drugom svojstvu baze, vektori ui su linearno nezavisni. Stoga zakljuujemo da vrijedi 1 = 1 , 2 = 2 , . . . , n = n , tj. prikaz svakog vektora x po baznim vektorima je jedinstven. Najzanimljivije su one baze koje se sastoje od ortonormiranih vektora. Svi vektori takvih baza su norme jedan i ortogonalni su jedan prema drugome. Tzv. GramSchmidtovim postupkom moe se u unitarnom prostoru od svake baze dobiti z ortonormirana baza.

2.1.6.

Linearni operatori

Neka su X i Y vektorski prostori. Preslikavanje A : X Y je linearni operator ako vrijedi (i) A(x + y) = A(x) + A(y) za sve x, y X, (ii) A(x) = A(x) za sve x X i sve skalare (aditivnost) (homogenost).

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 20

Ako je A bijekcija, onda ga zovemo i izomorzam vektorskih prostora X i Y . Iz svojstva (ii) vidi se da X i Y moraju biti denirani nad istim poljem. Ako su X i Y realni vektorski prostori, onda moe biti samo realan broj. Ako su X i z Y kompleksni vektorski prostori, onda moe biti i realan i kompleksan broj. Kad z god emo koristiti linearni operator, implicitno emo pretpostavljati da su polazni i c c dolazni vektorski prostori denirani nad istim poljem. Iz svojstva (ii) odmah slijedi, uzimanjem = 0, A(0) = 0. Uvjeti (i) i (ii) mogu se zamijeniti jednim uvjetom (l) A(x + y) = A(x) + A(y) za sve x, y X i sve skalare , , koji zovemo linearnost. Pokaimo prvo da aditivnost i homogenost povlae linz c earnost. A(x + y) = A(x) + A(y) (jer vrijedi (i)) = A(x) + A(y) (jer vrijedi (ii)). Pokaimo da linearnost preslikavanja povlai aditivnost i homogenost. Doista, z c uvrtavajui u (l) = = 1 dobivamo (i). Uzimajui u (l) = 0, dobivamo s c c A(x) = A(x + 0y) = A(x) + 0A(y) = A(x) + 0 = A(x), za sve x i sve skalare . Time je pokazano da (l) povlai (ii). Dakle su uvjeti (i) i (ii) c ekvivalentni uvjetu (l) (tj. znae isto). Iz uvjeta (l) se vidi da je linearni operator c ono preslikavanje koje linearni spoj vektora iz X prevodi u isti linearni spoj slika u Y. Linearni operator prevodi linearnu kombinaciju proizvoljnog broja vektora u istu linearnu kombinaciju slika A(1 x1 + 2 x2 + + k xk ) = 1 A(x1 ) + 2 A(x2 ) + + k A(xk ). Dokaz je tek vjeba za koritenje matematike indukcije. Uz svaki linearni operator z s c A : X Y , vezana su dva vana potprostora, z N (A) = {x X | A(x) = 0} i R(A) = {A(x) | x X}. N (A) i R(A) su vektorski potprostori. N (A) je nul-potprostor (ili jezgra), a R(A) je slika (ili podruje vrijednosti) operatora A. Dimenzija jezgre se zove c defekt, a dimenzija slike rang operatora A. S L(X, Y ) oznaavamo skup svih linearnih preslikavanja vektorskog prostora c X u vektorski prostor Y . Posebno vanu klasu linearnih operatora ine izomorzmi. To su linearni opez c ratori koji su bijekcije. Ako je A L(X, Y ) izomorzam, tada postoji inverzno preslikavanje A1 koje je takoder linearni operator (tj. izomorzam). Izomorzam

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 21

takoder preslikava bazu polaznog prostora u bazu dolaznog prostora, odnosno svaki skup linearno nezavisnih vektora u linearno nezavisan skup slika. Kako razlikovati izomorzam od opeg linearnog operatora? Koje svojstvo ga c izdvaja? Sljedea tvrdnja daje jedno takvo svojstvo. c Neka je dim(X) = dim(Y ) i A L(X, Y ). A je izomorzam ako i samo ako je N (A) = {0}. Izomorzam je relacija ekvivalencije (ili klasikacije) u skupu vektorskih prostora.

2.2.

Matrice

Matrica je matematiki objekt koji se sastoji od (realnih ili kompleksnih) c brojeva koji su rasporedeni u retke i stupce. Zapisuje se u obliku pravokutne sheme, a brojeve od kojih se sastoji zovemo elementima matrice. Matrica A sa m redaka, n stupaca i s elementima aij zapisuje se kao a11 a21 A= . . . am1

a12 a22 . . . am2

a13 a23 . . . am3

a1n a2n . = [ aij ] . . . amn

Takvu matricu zovemo m n (itaj: m puta n) matrica ili matrica tipa (reda, c c dimenzije) m n. Pritom je [ aij ] tek krai zapis za pravoktnu shemu iz gornje relacije. Ako piemo A = [ aij ], mislimo na cijelu shemu brojeva koji ine matricu s c c A, dok aij (ili [A]ij ili (A)ij ), oznaava samo element koji se nalazi na presjeku itog retka i jtog stupca matrice A. Pritom niz brojeva ai1 , ai2 , ai3 , . . . , ain zovemo iti redak, a niz brojeva a1j , a2j , . . . , amj poredanih jedan ispod drugog, j-ti stupac matrice A. Ako vrijedi m = n, kaemo da je A kvadratna matrica reda n. z Matricu sa samo jednim retkom zovemo matrica redak ili jednoretana mac trica, a matricu sa samo jednim stupcem zovemo matrica stupac ili jednostupana c matrica. Jednostupane i jednoretane matrice krae zovemo vektorima. Matricu, c c c iji su elementi realni brojevi, zovemo realna matrica, a matricu, iji su elementi c c kako realni tako i kompleksni brojevi, zovemo kompleksna matrica. Matrica A je jednaka matrici B ako imaju isti broj redaka i isti broj stupaca i za njihove elemente vrijedi aij = bij , za sve i i j. Dakle, svaki element jedne matrice jednak je odgovarajuem elementu druge matrice. c Praktino je imati oznaku za skup svih m puta n matrica. S Rmn (Cmn ) c oznaavamo skup svih realnih (kompleksnih) m n matrica. Ukratko emo opisati c c mn kako se u R uvode operacije zbrajanja i mnoenja realnim brojem, koje e z c

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 22

nainiti (Rmn , +, ) vektorskim prostorom. Zatim emo denirati mnoenje (ulanc c z anih) matrica. Elemente matrica A, B, C, . . . oznait emo s odgovarajuim malim c c c c slovima aij , bij , cij , . . .

2.2.1.

Zbrajanje matrica i mnoenje matrica skalarom z

Neka su A, B Rmn . Matricu C Rmn s elementima cij = aij + bij , 1 i m, 1jn

zovemo zbrojem ili sumom matrica A i B i piemo C = A + B. Zbrajanje je s denirano za svaki par matrica iz Rmn i rezulat je uvijek u Rmn , pa je Rmn zatvoren u odnosu na tu operaciju. Zbrajanje u Rmn ima ova svojstva: (a) A + (B + C) = (A + B) + C, (b) A + B = B + A. (asocijativnost) (komutativnost)

(c) Postoji matrica O Rmn (tzv. neutralni element za zbrajanje) sa svojstvom da je A + O = A za svaku matricu A Rmn . Svi elementi matrice O jednaki su nuli. (d) Za svaki A Rmn postoji jedna i samo jedna matrica koju oznaavamo s A c (inverzni element), takva da vrijedi A + (A) = O. Ako je A = [ aij ], onda je A = [ aij ]. Iz navedenih svojstava moemo zakljuiti, da skup matrica Rmn zajedno s operaciz c jom zbrajanja ini komutativnu aditivnu grupu, jer je ona denirana upravo c tim svojstvima. Sljedea operacija koju moemo jednostavno denirati je mnoenje matrica sa c z z mn mn i c R, matricu B R s elementima skalarom. Ako je A R bij = caij , 1 i m, 1jn

zovemo umnoak ili produkt matrice A sa skalarom c i oznaavamo B = cA. Jasno z c mn , mora B = cA opet biti u je da za svaki realni skalar c i svaku matricu A R Rmn . Za proizvoljne A, B Rmn i , , c R vrijedi (a) c(A + B) = cA + cB (b) ( + )A = A + A (c) ()A = (A) (d) 1A = A (distributivnost mnoenja prema zbrajanju u Rmn ) z (distributivnost mnoenja prema zbrajanju u R) z (kompatibilnost mnoenja) z (netrivijalnost mnoenja). z

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 23

Za svaki par prirodnih brojeva m i n dobili smo strukturu (Rmn , +, ) za koju iz svojstava zbrajanja i mnoenja matrica skalarom zakljuujemo da ini realni vektorski z c c prostor. Vektorski prostor jednostupanih matrica Rn1 oznaava se s Rn . c c

2.2.2.

Mnoenje matrica z

Ako su a1 , . . . , an Rm neki vektori, tada notacija A = [a1 , . . . , an ] znai da c je matrica A tako izgradena da su a1 , . . . , an njeni stupci u redoslijedu u kojem su napisani. Slino, ako su a1 , . . . , am R1n jednoretane matrice (jo se zovu: c c s vektori retci), tada oznaka a1 a2 . A= . . am ukazuje da je A R tako gradena da su joj a1 , . . . , am retci, u redosljedu koji je s naznaen. Oznaka A = [a1 , . . . , an ] se jo zove particija matrice po stupcima, a ona c druga particija po retcima.
mn

Neka je A Rmn i B Rnp . Umnoak ili produkt matrica A i B je matrica z C = A B Rmp kojoj su elementi odredeni formulom
n

cij =
k=1

aik bkj

za sve 1 i m,

1 j p.

Produkt matrica A i B deniran je samo onda kad je broj stupaca matrice A jednak broju redaka matrice B. Za takve dvije matrice kaemo da su ulanane. Operacija z c mnoenja matrica moe se sagledati kao preslikavanje koje uredenom paru matrica z z z odredenih dimenzija pridruuje matricu takoder odredenih dimenzija, : Rmn np mp R R . Produkt matrica obino se pie (kao i produkt skalara) bez znaka c s z mnoenja izmedu faktora, dakle AB. Za mnoenje matrica vrijede svojstva z (a) A(B + C) = AB + AC, (b) (B + C)A = BA + CA, (c) A(BC) = (AB)C, (d) (AB) = (A)B = A(B), koja zovemo lijeva i desna distributivnost, asocijativnost mnoenja i kompatibilnost z mnoenja matrica s mnoenjem skalarom. Uoimo da ne vrijedi zakon komutaz z c tivnosti. Lako je nai primjere matrica kad produkt AB postoji, a BA ne postoji c (ili obratno), ili kad oba produkata postoje, ali su razliitih dimenzija, ili kad oba c produkta postoje i istih su dimenzija, ali ne vrijedi AB = BA.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 24

Jedinina matrica i dijagonalna matrica c Vanu klasu matrica ine dijagonalne matrice. Najpoznatiji primjer dijagz c onalne matrice je jedinina matrica c 1 0 . I =. . 0 0

0 1 .. . 0

.. . .. . .. .

0 .. 1 0 .

0 0 . . Rnn . . 0 1

z Ona je jedinini element skupa Rnn s obzirom na mnoenje, jer vrijedi c AI = IA = A z s za svako A Rnn . Dakle, ima istu ulogu kod mnoenja matrica kao to je ima broj 1 kod mnoenja realnih brojeva. Malo openitije, vrijede relacije: IA = A za z c s s svako A Rnp i AI = A za svako A Rpn . Zbog toga to je I reda n koristi jo i oznaka In . Malo openitija, dijagonalna matrica je ona kod koje su svi izvandijagonalni c (to su oni koji nisu dijagonalni) elementi jednaki nuli. Dijagonalnu matricu kojoj su dijagonalni elementi 1 , 2 , . . . , n oznaavamo s diag(1 , 2 , . . . , n ), tj. c 1 0 . diag(1 , 2 , . . . , n ) = . . 0 0

0 2 .. . 0

0 .. . .. .. . . .. . n1 0

0 0 . . . . 0 n

Odmah vidimo da produkt dviju netrivijalnih dijagonalnih matrica npr., diag(1, 0, 2) diag(0, 1, 0) = diag(0, 0, 0), moe biti nul-matrica. Nul-matrica (koja ima sve elemente nula) krae se oznaava z c c s O ili 0 i, takoder, pripada klasi dijagonalnih matrica. Dijagonalne matrice ine vektorski prostor koji je zatvoren i u odnosu na mac trino mnoenje. Neka je D = diag(1 , . . . , n ) i A Rnp . Tada je i-ti redak od c z c c DA jednak i-tom retku od A pomnoenom s i , pri emu je 1 i n. Slino, ako z pn z je A R , tada je i-ti stupac od AD jednak i-tom stupcu od A pomnoenom s i . Ako su dijagonalni elementi od D pozitivni, operacija DA (AD) naziva se skaliranje redaka (stupaca). Dijagonalne matrice koje dobivamo mnoenjem jedinine z c matrice skalarom (tj. one oblika I) nazivamo skalarne matrice. Ako je D = I, onda je DA = A, a, takoder, i AD = A, im su dimenzije matrica takve da su c produkti denirani.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 25

Potencije matrice, nilpotentna matrica Potencije kvadratne matrice A deniraju se induktivno: A0 = I, Lako se pokae da vrijedi z Ap Aq = Aq Ap = Ap+q za sve nenegativne cijele brojeve p i q. Stoga je dobro deniran matrini polinom c p(A) = k Ak + k1 Ak1 + + 1 A + 0 I, pri emu su 0 , . . . , k realni brojevi. c c Monoenje matrica katkad daje iznenadujue rezultate. Npr. za z 0 1 0 A = 0 0 1 0 0 0

Ar+1 = A Ar

za r 0.

0 0 1 2 je A = 0 0 0 , 0 0 0

pa je A3 = O.

Postoje i n n matrice za koje je prvih n 1 potencija razliito od O, ali vrijedi c An = O. Ako je A = O i Ak = O za neko k N, tada se A naziva nilpotentna matrica. c c z Sljedee iznenadujue svojstvo matrinog mnoenja daje matrica c J= 0 1 1 0 jer je J 2 = 1 0 = I. 0 1

U aritmetici ne postoji realan broj iji kvadrat je 1. U matrinoj algebri postoji c c realna matrica, iji kvadrat je jednak I. c Transponiranje matrica Postoji jo jedna vrlo korisna operacija na matricama. Naziva se operacijom s transponiranja. Neka je A Rmn . Matrica AT Rnm se naziva transponirana matrica c matrici A, ako je svaki redak od AT jednak odgovarajuem stupcu matrice A. Prema tome, transponiranu matricu dobivamo tako da stupce (retke) matrice zamijenimo njenim retcima (stupcima). Ako je a11 a21 A= . . . am1

a12 a22 . . . am2

a1n a2n . . . amn

a11 a12 onda je AT = . . . a1n

a21 a22 . . . a2n

am1 am2 . . . . amn

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 26

Krae to zapisujemo: ako je A = [ aij ], onda je AT = [ aji ]. Operacija transponiranja c je unarna operacija koja matrici pridruuje njoj transponiranu matricu. z Glavna svojstva operacije transponiranja su (a) (AT )T = A, (b) (A + B)T = AT + B T , (c) (AB)T = B T AT . Primijetimo da su u svojstvu (c) matrice A i B zamijenile poredak. z c Zadatak 2.2.1 Neka su A Rmn , B Rnp . Dokaite sljedee tvrdnje. (i) Ako je B = [b1 , . . . , bp ] stupana particija matrice B, tada je c AB = [Ab1 , . . . , Abp ] stupana particija matrice AB. c

(ii) Za retane particije matrica A i AB vrijedi implikacija c


T a

A=

. . . aT m

T a B

AB =

. . .

aT B m

(iii) Ako je A = [a1 , . . . , an ] stupana particija matrice A i x Rn , tada je c Ax = x1 a1 + + xn an , gdje su x1 , . . . , xn komponente vektora x. (iv) Ako je y Rn , y T = [y1 , . . . , yn ] i ako je
T b

B=

. . . bT n

(2.2.1)

retana particija od B, tada je c y T B = y1 bT + + yn bT . 1 n c c (v) Ako je A = [a1 , . . . , an ] stupana particija od A i ako je (2.2.1) retana particija od B, tada je AB = a1 bT + . . . + an bT . 1 n Pritom je svaka matrica ai bT Rmp . i

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 27

Za svaki par prirodnih brojeva m i n, struktura (Rmn , +, ) je zatvorena u odnosu na operacije + i . Mnoenje matrica iz Rmn denirano je tek ako z z c je m = n. Takoder je vano da je skup Rnn zatvoren u odnosu na matrino mnoenje. Oznaimo li privremeno operaciju mnoenja matrica s , moemo pisati z c z z nn nn (R , +, , ), pri emu je (R , +, ) vektorski prostor, a mnoenje zadovoljava c z svojstva (a)(d) s poetka ovog odjeljka. Takva struktura se zove algebra. c z z Kako u Rnn postoji i neutralni element I za mnoenje , kae se da je nn (R , +, , ) algebra s jedinicom. Dakle, skup matrica reda n ini algebru c s jedinicom. Ona openito nije komutativna. Na njoj je denirana i unarna opc eracija transponiranja. Promotrimo jo skup MR svih realnih matrica, MR = m,n Rmn . Neka s oznaava operaciju mnoenja matrica, a T operaciju transponiranja matrica. Skup c z z MR je sigurno zatvoren u odnosu na operaciju mnoenja matrice skalarom. Isto tako je zatvoren u odnosu na operaciju transponiranja. Medutim, ostale dvije operacije nisu denirane za svaki par matrica iz MR . Ipak, postoji lijepo svojstvo skupa MR , da je zatvoren s obzirom na te dvije operacije uvijek kad je rezultat tih dviju matrica deniran.

2.2.3.

Kompleksne matrice

S Cmn oznaili smo skup kompleksnih m n matrica. U taj skup je ukljuen c c mn mn mn i skup realnih matrica R , pa je skup C vei od R c . c Zbroj dviju matrica A, B Cmn je deniran na isti nain kao i u Rmn , pri emu je operacija + na nivou matrinih elemenata zbrajanja kompleksnih brojeva. c c Lako se pokae da je (Cmn , +) komutativna aditivna grupa. Neutralni element z c je matrica O Cmn iji su elementi same nule. Suprotni element od A Cmn je matrica A = [ aij ]. Uoimo da je O takoder u Rmn . Stovie, (Rmn , +) je c s mn netrivijalna podgrupa od (C , +). z Kod mnoenja matrica iz Cmn skalarom, moramo dozvoliti mnoenje komz mn i C. Tada je B = A (ili krae c pleksnim brojevima. Neka je A C B = A) ako je bij = aij za sve i, j. Ova operacija ima ista svojstva kao i operacija mnoenja realnim skalarom u Rmn . Stoga Cmn uz operaciju zbrajanja i z mnoenja skalarom iz C postaje vektorski prostor (nad poljem kompleksnih brojeva), z koji oznaavamo s (Cmn , +, ). Uoimo da (Rmn , +, ) nije vektorski potprostor c c mn , +, ) jer ti vektorski prostori nisu denirani nad istim poljem. od (C c Elemente od Cn1 opet zovemo matrice stupci, jednostupane matrice ili vektori. Oznaku Cn1 zamjenjujemo oznakom Cn , a za sam vektorski prostor tih vektora koristimo oznaku (Cn , +, ). Operacija mnoenja kompleksnih matrica denirana je samo za parove ulanaz c

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 28

nih matrica. Mnoenje je denirano na isti nain kao kod realnih matrica. Neutralni z c element s obzirom na matrino mnoenje je opet identiteta, tj. jedinina matrica I c z c (koja je i u Rnn i u Cnn , ako je reda n). Mnoenje matrica ima ista svojstva z kao i kod realnih matrica. Naime, operacija tranponiranja je denirana za svaku kompleksnu matricu na isti nain kao i u sluaju realnih matrica. Time smo zapravo c c pokazali da je (Cnn , +, , ) algebra s jedinicom, gdje smo naas matrino mnoenje c c z oznaili s . c Glavna razlika u denicijama vezanim uz algebre Rnn i Cnn dolazi u momentu kad se eli u njima denirati skalarni produkt odnosno norma. Skalarni z produkt dva realna vektora stupca x i y se zapisuje u obliku (x | y) = xT y. Ako su vektori stupci kompleksni taj zapis prelazi u (x | y) = x1 y1 + + xn yn , z pa zato u Cn ne moemo pisati (x | y) = xT y, x, y Cn . Da bismo ipak (x | y) napisali pomou operacije matriog mnoenja moramo uvesti operaciju kompleksnog c c z konjugiranja i kompleksnog transponiranja. Ako je z = z1 + iz2 kompleksni broj, tada je z = z1 iz2 kompleksno konju girani broj. Na slian nain deniramo i kompleksno konjugiranu matricu, a onda i c c kompleksno transponiranu matricu. Evo denicija. Neka je Z Cmn i Z = Z1 + iZ2 , pri emu su Z1 , Z2 Rmn . Tada c c se Z1 iZ2 zove kompleksno konjugirana matrica matrici Z i oznaava s Z. Kompleksno transponirana ili hermitski adjungirana matrica matrici Z je T T matrica Z = Z1 iZ2 . Uoimo da su obje operacije denirane za svaku kompleksnu matricu i pritom c je Z Cmn i Z Cnm ako je Z Cmn . Operacije kompleksnog konjugiranja i kompleksnog transponiranja imaju sljedea svojstva. c Neka su Z, W Cmn i C. Tada je (i) Z = (Z)T = Z T , (ii) Z + W = Z + W , (iii) Z = Z, (iv) ZW = ZW , Z = Z, (Z ) = Z, (Z + W ) = Z + W ,

(Z) = Z , (ZW ) = W Z .

Sve tvrdnje izlaze iz osnovnih svojstava konjugiranja kompleksnih brojeva: z = z, + = + , = i osnovnih svojstava operacije transponiranja. Uoimo da vrijedi c (x | y) = x1 y1 + + xn yn = y1 x1 + + yn xn = y T x = y x,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 29

pa smo uspjeli skalarni produkt prikazati pomou produkta matrica. Zato za normu c vektora vrijedi x = |x1 |2 + + |xn |2 = x x. Uoite da tvrdnje (i)(v) iz zadatka 2.2.1 vrijede i za kompleksne matrice. c O ostalim vektorskim i matrinim normama vie emo rei u jednom od c s c c sljedeih odjeljaka. c

2.2.4.

Rang matrice
T a1 T a2 . . .

Svaku matricu A Rmn moemo promatrati kao niz njenih vektora-redaka z


,

A=

ai Rn ,

aT m ili kao niz njenih vektora stupaca A = [b1 , . . . , bn ], bi Rm .

Skup vektora-redaka (vektora-stupaca) matrice A razapinje vektorski potprostor od c c z R1n (Rm ), koji zovemo retani (stupani) potprostor od A. Vano svojstvo tih potprostora je da imaju istu dimenziju. Broj linearno nezavisnih vektora redaka matrice A naziva se retani rang matrice A. Broj linearno nezavisnih vektora stupaca c matrice A naziva se stupani rang matrice A. Kako se radi o istom broju izbacuje se c pridjev retani ili stupani, pa se broj linearno nezavisnih vektora redaka (stupaca) c c matrice A naziva rang matrice A i oznaava s r(A) ili rang(A). Matrica A je punog c (stupanog ili retanog) ranga, ako je r(A) jednak broju stupaca ili redaka matrice c c A. Primjer 2.2.1 Ako su vektori stupci x1 , x2 , . . . , xk iz Rn linearno nezavisni, tada je za svaki izbor od k realnih skalara 1 , . . . , k koji nisu svi jednaki nuli, 1 x1 + 2 x2 + + k xk = 0. c c Ako iz vektora xj nainimo matricu X = [x1 , x2 , . . . , xk ], a iz skalara j nainimo T vektor stupac = [1 , 2 , . . . , k ] , tada linearnu kombinaciju 1 x1 + 2 x2 + + k xk moemo napisati kao produkt matrice X i vektora . Stoga uvjet linearne nezavisz c nosti vektora xj ima drugi zapis: X = 0 im je = 0. To pokazuje da je jezgra matrice X nul-vektor, pa teorem o rangu i defektu daje r(X) = k, tj. X je punog ranga. U terminima linearnih operatora, uvjet X = 0 im je = 0 kae da je c z linearni operator X injekcija.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 30

Uz svaku matricu A Rmn vezana su dva vana potprostora: slika i jezgra z matrice. Skup R(A) = {Ax | x Rn } z se zove slika matrice A Rmn u Rm . Lako se pokae da je R(A) potprostor od m R . Za svako A = [b1 , . . . , bn ] Rmn vrijedi R(A) = L(b1 , . . . , bn ), pa je R(A) stupani potprostor od A. Stoga je dimenzija od R(A) jednaka r(A). c Skup rjeenja jednadbe Ax = 0 ini vektorski potprostor koji se zove jezgra s z c ili nul-potprostor od A. Oznaimo taj potprostor s c N (A) = {x Rn | Ax = 0}. Dimenzija od N (A) se naziva defekt matrice A i oznaava s d(A). Postavlja se c pitanje kolika je dimenzija jezgre? Teorem o rangu i defektu kae da je da N (A) z Rn ima dimenziju n r(A), tj. da je r(A) + d(A) = n.

2.2.5.

Sustav linearnih jednadbi i inverz matrice z

Jedan od najvanijih problema linearne algebre jest rjeavanje sustava linez s arnih jednadbi z a11 x1 + a12 x2 + + a1n xn = b1 a21 x1 + a22 x2 + + a2n xn = b2 . . . . . . . . . . . . an1 x1 + an2 x2 + + ann xn = bn .

(2.2.2)

Uvodenjem matrice sustava A Rmn , vektora rjeenja x Rn i vektora desne s m strane sustava b R , a11 a21 A= . . . am1

a12 a22 . . . am2

a13 a23 am3

a1n a2n . . .

x1 x2 x = . , . . xn

b=

b1 b2 . . . bm

amn

sustav (2.2.2) prelazi u matrini problem c Ax = b. Proirena matrica sustava (2.2.2) dobije se tako da matricu napiemo pomou stups s c ane blok-particije i dodamo vektor b kao (n + 1)-vi stupac, c A = [A, b] = [a1 , . . . , an , b] gdje su a1 , . . . , an stupci od A. Nune i dovoljne uvjete za rjeivost sustava Ax = b daje z s

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 31

Teorem 2.2.1 (KroneckerCappeli) Neka je A Rmn i b Rm . Sustav Ax = b ima rjeenje ako i samo ako vrijedi r(A) = r([A, b]). U tom sluaju skup svih s c rjeenja sustava Ax = b ini linearnu mnogostrukost u Rn dimenzije n r(A), koja s c s je oblika x(P ) +N (A) gdje je N (A) nul-potprostor matrice, a x(P ) je bilo koje rjeenje sustava. Dokaz. Ako postoji rjeenje x = [x1 , . . . , xn ]T sustava Ax = b, tada produkt Ax s moemo zapisati pomou stupaca aj , 1 j n matrice A, (vidi zadatak 2.2.1(iii)), z c pa vrijedi: x1 a1 + + xn an = b. Stoga je b linearna kombinacija vektora aj , pa je b L(a1 , . . . , an ). To znai da je L(a1 , . . . , an ) = L(a1 , . . . , an , b). Zadnja jednakost c se moe zapisati kao R(A) = R([A, b]). Uzimanjem dimenzija potprostora na obje z strane, odmah se dobiva jednakost ranga polazne i proirene matrice. s Drugi smjer polazi od uvjeta r(A) = r([A, b]), koji povlai L(a1 , . . . , an ) = c L(a1 , . . . , an , b), pa je b L(a1 , . . . , an ). Stoga je b neka linearna kombinacija stupaca, pa je b = x1 b1 + + xn bn za neke skalare x1 , . . . , xn . Ako tim skalarima s deniramo vektor x = [x1 , . . . , xn ]T , tada vrijedi Ax = b, pa imamo rjeenje sustava.

2.2.6.

Lijevi i desni inverz, regularne i singularne matrice

Prvo poopenje KroneckerCappelijeva teorema kae da matrina jednadba c z c z AX = B ima rjeenje ako i samo ako je r(A) = r([A, B]), gdje smo proirenu s s matricu denirali pomou svih stupaca od B. U specijalnom sluaju, kad je B c c jedinina matrica, imamo problem AX = I. Svako rjeenje te jednadbe zove se c s z desni inverz od A. Slino, svako rjeenje matrine jednadbe XA = I zove se lijevi c s c z mn inverz od A. Moe se pokazati da matrica A R z ima barem jedan desni inverz ako i samo vrijedi r(A) = m n, odnosno barem jedan lijevi inverz ako i samo ako vrijedi r(A) = n m. Stovie, moe se pokazati da su sljedee tvrdnje ekvivalentne: s z c (i) m = n i r(A) = n (ii) A ima barem jedan lijevi i barem jedan desni inverz, te (iii) A ima jedinstveni lijevi inverz Y , jedinstveni desni inverz X i vrijedi X = Y . Posebno, ako je A Rnn i r(A) = n, zakljuujemo da postoji samo jedan c lijevi inverz i samo jedan desni inverz i da su oni jednaki. Prirodno je tu matricu zvati jednostavno inverz matrice A i oznaiti je s A1 . Matrice za koje postoji c inverz obino se nazivaju invertibilne, regularne ili nesingularne. Kvadratne c matrice koje nisu regularne nazivaju se singularne. Matrica A Rnn je singularna ako i samo ako postoji netrivijalan vektor x Rn takav da je Ax = 0. Doista, A Rnn je singularna, ako i samo ako je r(A) < n odnosno ako i samo ako je defekt(A) = n r(A) 1. Dakle, ako i

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 32

samo ako je dimenzija nul-potprostora N (A) barem jedan, tj. ako i samo ako postoji x N (A), x = 0, to je i trebalo dokazati. s Obrat po kontrapoziciji implicira da je matrica A nesingularna ako i samo ako za svaki x = 0 vrijedi Ax = 0. Drugim nainom to vidimo ovako: r(A) = n ako i c samo ako je N (A) = {0}, tj. ako i samo ako x = 0 povlai Ax = 0. c Dakle, za regularne matrice je preslikavanje x Ax injekcija, a zbog dim(R(A)) = r(A) = n d(A) = n, z ono je i bijekcija skupa Rn na sebe. Skup regularnih matrica ima posebnu vanost u primjenama, jer uz operaciju matrinog mnoenja on postaje grupa. Ako su c z A1 , A2 , . . . , Ak regularne matrice, koritenjem matrinog mnoenja lako pokazujemo s c z da je (A1 A2 Ak )1 = A1 A1 A1 . k 2 1 Ako su S i T regularne matrice i vrijedi B = SAT , kaemo da su matrice A i B z ekvivalentne. Ako je veza izmedu A i B, B = S 1 AS, kaemo da su A i B sline z c T matrice. Konano, ako vrijedi B = S AS (za kompleksne matrice B = S AS) c kaemo da su A i B kongruentne. z

2.2.7.

Specijalne klase matrica

U ovom dijelu, ako nije izriito drugaije naznaeno, podrazumijevamo da se c c c radi o kvadratnoj matrici iz skupa Rnn . Simetrine i antisimetrine matrice c c c Matrica A je simetrina ako vrijedi AT = A. Matrica A je antisimetrina c ako vrijedi AT = A. Za proizvoljnu kvadratnu matricu X, matrica 1 (X + X T ) 2 naziva se simetrini dio matrice X, a matrica c Xs = 1 (X X T ) 2 antisimetrini dio matrice X. Vrlo je jednostavno pokazati, da je za svaku matricu c X, Xs uvijek simetrina, a Xa uvijek antisimetrina matrica i vrijedi X = Xs + Xa . c c Kod simetrinih (antisimetrinih) matrica je antisimetrini (simetrini) dio jednak c c c c s nul-matrici. Cak tovie, ovakav rastav matrice X na simetrini i antisimetrini dio s c c T T je jedinstven, tj. ako vrijedi X = U + V , U = U, V = V , tada je Xa = U= 1 1 (X + X T ) i V = (X X T ), 2 2

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 33

tj. U = Xs , V = Xa . Ako je A simetrina i B je kongruentna s A, tada je i B c simetrina. c Trag matrice i kvadratna forma Trag matrice je jednostavna skalarna funkcija na vektorskom prostoru kvadratnih matrica reda n, a ima korisna svojstva. Trag matrice A je suma njezinih dijagonalnih elemenata:
n

tr(A) =
i=1

aii .

Funkcija tr ima sljedea svojstva: c (i) tr(A + B) = tr(A) + tr(B), (ii) tr(cA) = c tr(A), (iii) tr(AT ) = tr(A), (iv) tr(AB) = tr(BA), (v) tr(ABC) = tr(BCA) = tr(CAB). Prva dva svojstva pokazuju da je trag linearna funkcija pa se jo naziva linearni s funkcional. Neosjetljivost traga na operaciju transponiranja je jasna jer se dijagonala matrice ne mijenja transponiranjem matrice. Invarijantnost traga u odnosu na komutaciju u produktu matrica je vano svojstvo koje trag ini privlanim kako u z c c teoretskim razmatranjima tako i u praktinim numerikim primjenama. c c z c Na vektorskom prostoru Rn moemo denirati i kvadratini funkcional qA : n nn simetrina matrica, onda funkciju qA , c R R formulom: ako je A R qA (x) = xT Ax, x Rn ,

nazivamo kvadratna forma. Iako je qA (x) dobro deniran za proizvoljnu kvadratnu matricu A, on ima lijepa svojstva ako je A simetrina matrica. c Pozitivno denitne matrice Za simetrinu matricu A kaemo da je pozitivno semidenitna, ako vrijedi c z xT Ax 0 za svaki x Rn . Ako vrijedi xT Ax > 0 za svaki x Rn , x = 0, onda kaemo da je A pozitivno denitna matrica. Dakle, za simetrinu pozitivno z c semidenitnu (pozitivno denitnu) matricu A vrijedi qA (x) 0 za svako x (qA (x) >

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 34

0 za svako x = 0). Moe se pokazati da je svaka pozitivno denitna simetrina z c matrica punog ranga, tj. da je regularna matrica. Za B Rmn moe se pokazati, z (i) matrice B T B Rnn i BB T Rmm su pozitivno semidenitne, (ii) ako je B punog stupanog ranga, onda je B T B Rnn pozitivno denitna c matrica, (iii) ako je B punog retanog ranga, onda je BB T Rmm pozitivno denitna c matrica. Moe se pokazati, da za svaku pozitivno semidenitnu matricu A postoji kvadratna z matrica B, takva da je A = B T B. Pritom je B regularna ako i samo ako je takva A. Matrica B openito nije jedinstvena, ali uz neke uvjete jest. Matrica B se moe c z odabrati gornje ili donje trokutastom i u tom sluaju je B jedinstveno odredena c uvjetom regularnosti matrice A i pozitivnou dijagonalnih elemenata od B. sc Ortogonalne matrice Promotrimo sada matrice Q koje istovremeno zadovoljavaju jednadbe z QT Q = I, QQT = I.

Iz prve jednadbe slijedi da je QT lijevi inverz od Q, a iz druge da je QT desni inverz z od Q. Stoga zakljuujemo da je Q nuno kvadratna i regularna. Pritom je lijevi c z inverz isto to i desni inverz i to je ba inverz matrice. Dakle je QT inverz od Q. s s Kvadratna matrica Q koja ima svojstvo QT Q = I zove se ortogonalna matrica. Ova denicija je dovoljna da se zakljui kako vrijedi i relacija QQT = I. Doista, c z Q Q = I kae da Q ima lijevi inverz pa je r(Q) = n, a kako je kvadratna vrijedi m = n = r(A), pa je regularna, tj. lijevi inverz je inverz. Stoga vrijedi i QQT = I. Na slian nain se pokazuje da QQT = I i uvjet m = n daje QT Q = I, pa je za c c ortogonalnost, uz kvadratinost, dovoljno traiti uvjet QT Q = I ili QT Q = I. c z
T

Za ortogoinalne matrice Q vrijedi Qx = x , tj. ortogonalne matrice uvaju euklidsku duljinu vektora. Ortogonalne matrice su jedine kvadratne c matrice koje posjeduju to svojstvo. Prisjetimo se denicije kuta izmedu dvaju vektora iz dijela o vektorskim prostorima: (x | y) , x = 0, y = 0, 0 . cos = x y

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 35

Ako je Q ortogonalna matrica, onda je kut izmedu vektora Qx i Qy jednak kutu izmedu vektora x i y, tj. ortogonalne matrice uvaju kut medu vektorima. c Doista, vrijedi (Qx | Qy) xT QT Qy xT y (x | y) = = = . Qx Qy x y x y x y Budui da se kut izmedu dvaju vektora uvijek nalazi u intervalu [0, ], tvrdnja je c dokazana. Posebno su znaajne ortogonalne matrice tipa c cos sin sin cos

kojima su stupci rotirani kanonski vektori e1 i e2 rotirani za kut (u pozitivnom smjeru) oko ishodita, u ravnini odredenoj vektorima e1 i e2 . Zato se matrice tog s oblika zovu matrice rotacije u R2 za kut . Neka su Q = [ q1 q2 qn ] i Q=
T q1 T q2 . . .

qn T stupana i retana particija kvadratne matrice Q. Tada je Q ortogonalna ako i samo c c vrijedi
T (qi | qj ) = qi qj =

1 i = j, 0 i=j

i (i | qj ) = qi qj = q T

1 i = j, 0 i = j,

tj. ako i samo ako ima ortonormirane retke i stupce. Doista, QT Q = I je ekvivalentno s [ QT Q ]ij = ij , gdje je ij Kroneckerova delta. Jer je
T [ QT Q ]ij = eT QT Qej = (Qei )T (Qej ) = qi qj , i

i, j {1, . . . , n},

T c QT Q = I je ekvivalentno s qi qj = ij . Drugim rijeima QT Q = I je ekvivalentno s tvrdnjom da Q ima ortonormirane stupce.

T Na slian nain se pokazuje da je QQT = I ekvivalentno s qi qj = ij , odnosno c c s tvrdnjom da Q ima ortonormirane retke. Zakljuujemo da Q zadovoljava obje relacije QT Q = I i QQT = I ako i samo c ako ima ortonormirane stupce i retke.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 36

Matrice permutacije Sljedea klasa ortogonalnih matrica je u bliskoj vezi s permutacijama skupa c Sn = {1, 2, . . . , n}. Skup svih permutacija na Sn oznaimo s n . Ako, kao bic narnu operaciju na n , deniramo kompoziciju permutacija , tada (n , ) postaje multiplikativna grupa. Matrica permutacije je matrica kojoj su elementi nule ili jedinice i koja u svakom retku i u svakom stupcu ima tono jednu jedinicu. c Iz denicije odmah slijedi da je svaka matrica permutacije kvadratna. Skup svih matrica permutacija reda n oznait emo s Pn . Kako svaka matrica permutacije c c ima ortonormirane stupce i retke, Pn je podskup skupa ortogonalnih matrica. Specijalno, matrice iz Pn su regularne. z z Svakoj permutaciji p n moemo pridruiti matricu permutacije P formulom P ei = ep(i) , 1 i n,

c gdje su ei stupci jedinine matrice reda n. Tom relacijom denirano je preslikavanje J : n Pn , takvo da je J (p) = P . Npr., permutaciju koja niz brojeva 1, 2, 3, 4, 5 preslikava u niz 5, 3, 1, 2, 4 oznaimo s c 1 2 3 4 5 . p= 5 3 1 2 4 Njena inverzna permutacija je p1 = 5 3 1 2 4 , 1 2 3 4 5

a zapisana na uobiajeni nain (elementi koje permutiramo u rastuem poretku) c c c p1 = pa je

1 2 3 4 5 , 3 4 2 5 1 0 0 0, 1 0

0 0 J (p) = 0 0 1

0 0 1 0 0

1 0 0 0 0

0 1 0 0 0

0 0 J (p1 ) = 1 0 0

0 0 0 1 0

0 1 0 0 0

0 0 0 0 1

1 0 0. 0 0

z c Skup Pn zajedno s operacijom mnoenja matrica ini grupu. Preslikavanje J je tzv. izomorzam grupa (n , ) i (Pn , ), jer vrijedi J (p q) = J (p)J (q) za sve p, q n .

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 37

Koju ulogu u matrinom raunu imaju matrice permutacije? Neka za matrice c c P, Q Pn vrijedi P = J (p) i Q = J (q). Promotrimo elemente matrice A = P T AQ. Za element aij matrice A vrijedi aij = eT A ej = eT (P T AQ)ej = (eT P T )A(Qej ) = (P ei )T A(Qej ) i i i = eT Aeq(j) = ap(i)q(j) . p(i) Specijalno, ako je Q = I, i-ti redak od P T A je p(i)-ti redak od A. Dakle, retci od P T A su (permutacijom p) ispermutirani retci od A. Ako je P = I, j-ti stupac od AQ je q(j)-ti stupac od A. Dakle, stupci od AQ su (permutacijom q) ispermutirani stupci od A. Ako je P = Q, tada vrijedi aij = ap(i)p(j) , pa je dijagonala od A , gledana kao niz brojeva, ispermutirana (permutacijom p) dijagonala od A. Napomenimo jo da simetrine, antisimetrine i ortogonalne matrice pripadaju s c c iroj klasi tzv. normalnih matrica koje su karakterizirane uvjetom AAT = AT A. s Hermitske, antihermitske i unitarne matrice U skupu kompleksnih matrica, uloge simetrine, antisimetrine i ortogonalne c c matrice imaju hermitske, antihermitske i unitarne matrice. Njihove su denicije: A = A za hermitsku, A = A za antihermitsku i U U = I za unitarnu matricu. Veina lijepih svojstava simetrinih, antisimetrinih i ortogonalnih mac c c trica prenosi se na hermitske, antihermitske i unitarne matrice. Dijagonalni elementi hermitske matrice su realni, dok su kod antihermitske imaginarni (a ne nule kao kod antisimetrine matrice). Trag je na kompleksnim matricama deniran na c isti nain kao i na realnim matricama. Medutim, kvadratna forma ima oblik x Ax, c pa je pomou nje denirana pozitivno denitna i semidenitna matrica. Unitarne c matrice uvaju euklidsku normu vektora i kuteve medu vektorima. Kompleksne norc c malne matrice denirane su uvjetom A A = AA i one ukljuuju klase hermitskih, antihermitskih i unitarnih matrica. Determinanta U deniciji determinante se pojavljuje broj inverzija u permutaciji skupa Sn . Inverzija u permutaciji p je svaki par (p(i), p(j)) za koji vrijedi p(i) > p(j) kad je i < j. I(p) je ukupni broj inverzija u permutaciji p. Permutacija p je parna (neparna) ako je I(p) paran (neparan) broj. Parnost je funkcija : n {1, 1} z c denirana s (p) = (1)I(p) . Parnost se moe denirati i pomou algebarskog izraza. Za funkciju parnosti vrijedi (p) = p(j) p(i) , ji 1i<jn n 2.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 38

Determinanta matrice A = [ aij ] Rnn ili Cnn je skalar det(A) =


pn

(p)a1p(1) a2p(2) a3p(3) anp(n) .

Determinanta det(A) je reda n ako je A reda n. Umjesto det(A) jo se koristi oznaka s det A, |A| ili a11 a1n . . . . . . . an1 ann Slino kao kod matrice, govorit emo o elementima, retcima, stupcima i dijagonali c c determinante. Uoimo da se u svakom lanu sume nalazi po jedan element iz svakog c c stupca i po jedan element iz svakog retka matrice. Stoga, u sluaju jedinine matrice, c c od n! lanova sume, samo jedan je razliit od nule, pa je c c det(In ) = [ In ]11 [ In ]22 [ In ]nn = 1 1 = 1. Denicija determinante je matematiki jasna, ali je za raunanje determinante c c reda veeg od tri, praktino neupotrebljiva. Naime, broj lanova u sumi, pa zato i c c c broj raunskih operacija, strahovito brzo raste s n. c Za determinantu vrijede sljedea svojstva. c det(AT ) = det(A). Ako u determinanti zamijenimo dva retka (stupca), ona mijenja predznak. Stoga determinanta s dva jednaka retka ili stupca, ima vrijednost nula. Ako se jedan redak (stupac) determinante pomnoi skalarom , cijela dez terminanta se mnoi s . Stoga, ako determinanta ima jedan nul-redak ili z nul-stupac, njena vrijednost je nula. Specijalno, za A Rnn vrijedi det(A) = n det(A). Ako su A = [a1 , . . . , ai1 , ai , ai+1 , . . . , an ], B = [a1 , . . . , ai1 , bi , ai+1 , . . . , an ], C = [a1 , . . . , ai1 , ai + bi , ai+1 , . . . , an ]

stupane particije kvadratnih matrica A, B i C, respektivno, tada vrijedi c det(C) = det(A) + det(B). Slina tvrdnja vrijedi i za retke. c Ako jednom retku (stupcu) determinante dodamo neki drugi redak (stupac) pomnoen proizvoljnim skalarom, determinanta matrice se ne mijenja. z

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 39

Kvadratna matrica A je regularna ako i samo ako je det(A) = 0. Za kvadratne matrice A i B vrijedi det(AB) = det(A) det(B) (to je poznati BinetCauchyjev teorem). Odatle odmah slijedi da je produkt dviju kvadratnih matrica singularan ako i samo ako je bar jedna od matrica u produktu singularna. Razvoj determinante po retku i stupcu Da bi se izraunala vrijednost determinante moe se iskoristiti tzv. razvoj c z determinante po retku ili stupcu, koji se jo naziva i Laplaceov razvoj des terminante. Neka je A Rnn . S Ac R(n1)(n1) oznait emo podmatricu od A koja c c ij nastaje izbacivanjem njenog i-tog retka i j-tog stupca. Npr. ako je

a11 . . . A=

ai1,1 ai,1 ai+1,1 . . .

a1,j1 . . .

a1j . . . ai1,j aij ai+1,j . . . anj

a1,j+1 . . . ai1,j+1 ai,j+1 ai+1,j+1 . . . an,j+1 a1,j+1 . . . ai1,j+1 ai+1,j+1 . . .

a1n . . .

ai1,j1 ai,j1 ai+1,j1 . . . an,j1

ai1,n ai,n , ai+1,n . . . ann a1n . . .


an1 onda je

a11 . . . Ac ij =

a i1,1 ai+1,1 . . .

a1,j1 . . .

ai1,j1 ai+1,j1 . . .

ai1,n . ai+1,n . . .

an1 an,j1 an,j+1 ann nn je determinanta matrice Ac , koja nastaje iz Minora elementa aij matrice A R ij A izbacivanjem i-tog retka i j-tog stupca. Algebarski komplement ili kofaktor elementa aij je skalar (1)i+j det(Ac ). ij Dakle algebarski komplement se razlikuje od odgovarajue minore tek u fakc toru (1)i+j , tj. eventualno do na predznak. Inae, sam pojam minore je openitiji c c i oznaava determinantu proizvoljne kvadratne podmatrice zadane matrice. c Za A = [ aij ] Rnn vrijedi
n

det(A) =

(1)i+j aij det(Ac ), ij


j=1

1 i n.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 40

Ovu formulu nazivamo razvoj determinante po i-tom retku. Isto tako vrijedi formula n det(A) =
i=1

(1)i+j aij det(Ac ), ij

1jn

koju nazivamo razvoj determinante po j-tom stupcu. Razvojem determinante po stupcu ili retku, lako se pokae da je determinanta z trokutaste matrice jednaka produktu njenih dijagonalnih elemenata. Pomou svojstva determinante, mogu se izvesti neke korisne formule za vric jednost specijalnih determinanata. Primjer 2.2.2 Neka je 1 x1 V (x1 , x2 , x3 , x4 ) = 2 x1 x3 1 1 x2 x2 2 x3 2 1 x3 x2 3 x3 3 1 x4 x2 4 x3 4

tzv. Vandermondeova determinanta reda 4. Da bismo odredili formulu za njeno raunanje, pomnoimo ju s lijeva s pogodnom matricom poznate determinante i iskoc z ristimo BinetCauchyjev teorem: 1 x1 1 x1 1 x1 x2 1 x3 1 1 x2 x2 2 x3 2 1 x3 x2 3 x3 3 1 x4 x2 4 x3 4

V (x1 , x2 , x3 , x4 ) =

1 x1

1 0 = 0 0

1 x2 x1 x2 (x2 x1 ) x2 (x2 x1 ) 2

1 x3 x1 x3 (x3 x1 ) x2 (x3 x1 ) 3

1 x4 x1 . x4 (x4 x1 ) x2 (x4 x1 ) 4

Razvojem determinante po prvom stupcu dobivamo determinantu reda tri. U toj determinanti moemo izluiti ispred determinante faktore (x2 x1 ), (x3 x1 ) i z c z (x4 x1 ) koji mnoe 1., 2. i 3. stupac. Tako dobijemo 1 V (x1 , x2 , x3 , x4 ) = (x2 x1 )(x3 x1 )(x4 x1 ) x2 x2 2 1 x3 x2 3 1 x4 x2 4

= (x2 x1 )(x3 x1 )(x4 x1 )V (x2 , x3 , x4 ). Na isti nain se openito pokazuje da vrijedi c c V (x1 , x2 , . . . , xn ) = (xn x1 )(xn1 x1 ) (x2 x1 )V (x2 , . . . , xn ).

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 41

Posebno, vrijedi V (x2 , x3 , x4 ) = (x3 x2 )(x4 x2 )V (x3 , x4 ), V (x3 , x4 ) = (x4 x3 )V (x4 ) = (x4 x3 ) 1 = x4 x3 , pa je V (x1 , x2 , x3 , x4 ) = (x2 x1 )(x3 x1 )(x4 x1 ) (x3 x2 )(x4 x2 ) (x4 x3 ). Openitije, lako se pokae da vrijedi c z V (x1 , x2 , . . . , xn ) =
i<j

(xj xi ).

Ovaj rezultat kae da su vektori ije su komponente (iste) potencije medusobno raz c zliitih brojeva x1 , . . . , xn , linearno nezavisni. c Adjunkta i Cramerovo pravilo Adjunkta kvadratne matrice A reda n, je matrica 11 . adj(A) = . . n1 pri emu su c ij = (1)j+i det(Ac ) ji algebarski komplementi elemenata aji matrice A. Adjunkta ima vrlo specijalno svojstvo: A adj(A) = adj(A)A = det(A) In . Stoga, ako je A nesingularna, vrijedi A1 = adj(A) . det(A)

1n . . , . nn

Promotrimo sada sustav Ax = b gdje je A Rnn nesingularna matrica. Denirajmo matrice Ai = [a1 , . . . , ai1 , b, ai+1 , . . . , an ], 1 i n,

c pri emu je A = [a1 , . . . , an ] stupana particija od A. Tada vrijedi tzv. Cramerovo c s pravilo: ako je A Rnn nesingularna, b Rn i ako je x = [x1 , . . . , xn ]T ) rjeenje sustava Ax = b, tada je det(Ai ) , 1 i n. xi = det(A)

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 42

Provjerimo formule kad je n = 2. Ako linearne jednadbe glase z ax1 + bx2 = e cx1 + dx2 = f tada mnoenjem prve jednadbe s d i druge jednadbe s b i sumiranjem dobivenih z z z jednadbi (eliminacija nepoznanice x2 ), dolazimo do z e b ed bf det(A1 ) f d = . = x1 = a b ad bc det(A) c d Slino, mnoenjem prve jednadbe s c i druge jednadbe s a i sumiranjem dobivenih c z z z jednadbi (eliminacija nepoznanice x1 ), dolazimo do z a e af ce det(A2 ) c f = . x2 = = a b ad bc det(A) c d

2.2.8.

Vlastite vrijednosti i vektori

Iako se vlastite (ili svojstvene) vrijednosti i vektori mogu denirati na nivou linearnih operatora, u praksi se najee koriste na nivou matrica. Naime, svakom c sc linearnom operatoru u bilo kojem paru baza (polaznog i dolaznog vektorskog prostora) pripada matrica, pa se problem vlastitih vrijednosti operatora moe rez ducirati na problem vlastitih vrijednosti matrica. Neka je A Cnn . Vektor x Cn , x = 0 je vlastiti vektor od A ako postoji skalar takav da je Ax = x. U tom sluaju, je vlastita vrijednost, a par (x, ) je vlastiti par matrice A. Ako c nn je A R , vlastiti vektor od A je netrivijalni vektor iz Rn , a vlastita vrijednost skalar iz R. Vidimo da se zahtijeva netrivijalnost vlastitog vektora, pa se zapravo radi o smjerovima koji se ne mijenjaju djelovanjem matrice (na vektore tih smjerova). Za neke matrice se lako odrede pripadni vlastiti parovi. Npr. ako je A nul-matrica odnosno jedinina matrica, tada je svaki netrivijalni vektor vlastiti vektor koji pric pada vlastitoj vrijednosti nula odnosno jedan. S druge strane, neke realne matrice nemaju vlastite vrijednosti pa ni vlastite vektore. Takva je npr. rotacija u R2 koja mijenja sve netrivijalne vektore (smjerove), osim ako je kut viekratnik od . s

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 43

Neka je vlastita vrijednost matrice A. Po deniciji, postoji x = 0, takav da je Ax = x. Ima li osim x i drugih vlastitih vektora za ? Odgovor je povrdan jer se lako provjeri da je skup X = {x | Ax = x} vektorski potprostor od Cn (ili Rn ako je A realna). c Ako su u i v vlastiti vektori koji pripadaju medusobno razliitim vlastitim vrijednostima i , respektivno, onda u + v nije vlastiti vektor, a nije to niti bilo koja linearna kombinacija u + v koja zadovoljava uvjet = 0 i = 0. To osigurava sljedei rezultat. c Neka je A kvadratna matrica reda n. Neka su u1 , . . . , ur vlastiti vektori od A i 1 , . . . , r pripadne vlastite vrijednosti. Ako vrijedi i = j im je i = j, c

onda je skup vektora {u1 , . . . , ur } linearno nezavisan. Ako je r = n, tvrdnja se moe interpretirati na sljedei nain: ako matrica A z c c reda n ima n medusobno razliitih vlastitih vrijednosti, tada postoji baza prostora c (Rn ili Cn ) koja se sastoji od vlastitih vektora matrice A. Karakteristini polinom c Neka je vlastita vrijednost matrice A reda n. Tada postoji (vlastiti) vektor x = 0, takav da je Ax = x. Zadnja jednadba se moe zapisati u obliku Axx = 0 z z ili (A I)x = 0. Dakle matrica A I prebacuje netrivijalan vektor u nulu, pa je singularna. Stoga je njegova determinanta nula, det(A I) = 0. Budui da je c A I singularna, imamo a11 . . det(I A) = (1) det(A I) = . an1
n

ann . .. . = 0. . . ann

(2.2.3)

Determinanta matrice zI A je polinom n-tog stupnja u z, det(zI A) = z n n1 z n1 1 z 0 koji se zove karakteristini polinom matrice A, a (2.2.3) je karakteristina c c jednadba matrice A. S obzirom da B = S 1 AS povlai B zI = S 1 (A zI)S, z c vidimo da sline matrice imaju isti karakteristini polinom. To znai da koecijenti c c c c i ovise o cijeloj klasi slinih matrica matrici A. Vrijednost je bila proizvoljna vlastita vrijednost, pa smo pokazali da je svaka vlastita vrijednost nultoka karakteristinog polinoma. Pokaimo da vrijedi i obrat. c c z Neka je nultoka karakteristinog polinoma. Dakle, det(I A) = 0. Stoga je c c

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 44

matrica I A singularna, pa joj jezgra nije samo nul-vektor. Dakle, postoji netrivijalan vektor x, takav da je (I A)x = 0 ili Ax = x, x = 0. Zakljuujemo da je c svaka nultoka karakteristinog polinoma vlastita vrijednost matrice A. Time smo c c nali jednu karakterizaciju vlastitih vrijednosti i dokazali s Teorem 2.2.2 Neka je A kvadratna matrica. Skalar je vlastita vrijednost matrice A onda i samo onda ako je nultoka karakteristinog polinoma. c c c Koecijenti karakteristinog polinoma su odredene sume produkata matrinih c elemenata, pa neprekidno ovise o matrici. Kako su nultoke polinoma neprekidne c funkcije koecijenata polinoma, zakljuujemo da su vlastite vrijednosti neprekidne c funkcije matrice. Nultoke polinoma mogu biti viestruke, npr. c s p(z) = z 3 (z 2)2 ima dvije nultoke: 0 kratnosti tri i 2 kratnosti dva. Pritom je zbroj kratnosti (ili c viestrukosti) svih nultoaka jednak stupnju polinoma. s c Algebarska viestrukost vlastite vrijednosti kvadratne matrice A je njena s viestrukost kao nultoke karakteristinog polinoma. Geometrijska viestrukost s c c s vlastite vrijednosti je defekt matrice I A. Koristei fundamentalni teorem algebre, koji kae da polinom stupnja n nad c z (zatvorenim poljem, a takvo je) C ima n nultoaka, brojei ih s viestrukostima, zac c s c kljuujemo da svaka matrica iz Cnn ima tono n vlastitih vrijednosti. Ako pritom c sve vlastite vrijednosti imaju algebarsku kratnost jedan, tada znamo da postoji i baza vektorskog prostora Cn koja se sastoji od vlastitih vektora matrice A. Ako postoje vlastite vrijednosti kratnosti vee od jedan, tada moe, ali i ne mora postojati c z baza vlastitih vektora. Ako je matrica realna, tada emo u razvoju determinante det(zI A) imati uz c potencije od z uvijek realne brojeve, tj. koecijenti karakteristinog polinoma e biti c c realni. Polinom stupnja n nad poljem realnih brojeva (koje nije zatvoreno) ne mora imati n nultoaka. Npr. polinom p(t) = t2 + 1 uope nema realnih korijena. Stoga c c matrice nad realnim poljem ne moraju imati vlastite vrijednosti, odnosno mogu ih imati manje od n. S druge strane, svaka realna matrica A se moe promatrati kao da je komz pleksna, jer su realni brojevi takoder kompleksni brojevi. Sada je A Cnn , pa karakteristini polinom ima prema osnovnom teoremu algebre n nultoaka koji su c c openito kompleksni brojevi. Peciznije, ako karakteristini polinom ima realne koc c ecijente, njegove nultoke mogu biti ili realni brojevi ili kompleksni brojevi koji se c javljaju kao parovi konjugirano kompleksnih brojeva. Stoga, kod raunanja vlastic tih vrijednosti realne matrice A, u pravilu se raunaju sve vlastite vrijednosti od A c

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 45

gledajui na A kao da je iz Cnn . Nakon toga se odbace sve vlastite vrijednosti (i c pripadni vlastiti vektori) koje nisu realni. Postavlja se pitanje kada kvadratna matrica ima bazu koja se sastoji od vlastitih vektora, a kad nema takvu bazu. Teorem 2.2.3 Neka je A Cnn . Matrica A ima n linearno nezavisnih vlastitih vektora ako i samo ako postoji regularna matrica G, takva da je A = GG1 pri emu je dijagonalna matrica. c Matrice koje doputaju rastav (2.2.4) zovu se dijagonalizibilne. Ne mogu s se sve matrice dijagonalizirati pomou transformacije slinosti. Mogu se dijagonalc c izirati samo one za koje postoji pun sistem vlastitih vektora. Vanu klasu dijagoz nalizibilnih matrica ine tzv. normalne matrice za koje vrijedi A A = AA . Svaka c z c normalna matrica iz Cnn se moe dijagonalizirati transformacijom slinosti s unitarnom matricom G. U praksi su najvanije simetrine realne matrice, pa emo im z c c posvetiti dunu panju. z z Matrini polinomi c Pretpostavimo da se matrica A dade dijagonalizirati, dakle da postoji regularna matrica S, takva da je S 1 AS = = diag(1 , . . . , n ). Matrica je dijagonalna, pa vrijedi k = diag(k , . . . , k ). 1 n Kako je linearna kombinacija dijagonalnih matrica opet dijagonalna matrica, vrijedit e i c p(1 ) .. p() = , . p(n ) gdje je p() bilo koji polinom. Ako je A = SS 1 , imamo A2 = (SS 1 )(SS 1) = SS 1 = S2 S 1 A3 = A2 A = (S2 S 1 )(SS 1 ) = S3 S 1 . . . Ak = Ak1 A = (Sk1S 1 )(SS 1 ) = Sk S 1 , (2.2.4)

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 46

pa odmah slijedi

p(A) = Sp()S 1 = S

p(1 ) .. . p(n )

1 S .

Na osnovu formule za polinom, funkcija matrice se denira na slian nain. Npr. ako c c je f : R R beskonano puta diferencijabilna funkcija i ako A ima realne vlastite c vrijednosti, f (A) se moe ovako denirati z

f (A) = Sf ()S 1 = S

f (1 ) .. . f (n )

1 S .

c Neka je A Cnn . Tada se mogu izraunati potencije A0 = I, A1 = A, A2 = A A, . . . , Ak = Ak1 A, . . . Matrice I, A, A2 , . . . su elementi vektorskog prostora Cnn dimenzije n2 , pa u nizu I, A, A2 , . . . nema vie od n2 linearno nezavisnih matrica. Stoga, podemo li od s 2 z c z I, A, A , . . . moemo nai prvu potenciju Ar , koja se moe prikazati kao linearna kombinacija prethodnih potencija. Dakle, moemo pisati z Ar = r1 Ar1 + r2 Ar2 + + 1 A + 0 , gdje su i skalari. Ako deniramo polinom (z) = z r r1 z r1 r2 z r2 1 z 0 , on ima svojstvo da je polinom najmanjeg stupnja koji ponitava matricu A, tj. vrijedi s (A) = 0, koecijent uz najviu potenciju mu je jedan. Ovi uvjeti najmanjeg stupnja s i normiranosti vodeeg koecijenta, osiguravaju jedinstvenost takvog polinoma, pa c se on zove minimalni polinom matrice A. On ima vano svojstvo da dijeli svaki z polinom koji ponitava matricu A. Sljedei teorem kae da stupanj minimalnog s c z polinoma nije vei od n. c Teorem 2.2.4 (HamiltonCayley) Neka je A Cnn i neka je (z) karakteristini polinom od A. Tada je (A) = 0, tj. matrica ponitava svoj karakteristini c s c polinom. Kako karakteristini polinom ponitava matricu, on je djeljiv (to znai djeljiv c s c bez ostatka) s minimalnim polinomom. Dakle, minimalni polinom ima stupanj koji je manji ili jednak stupnju karakteristinog polinoma. c Iz Hamilton-Cayleyjeva teorema zakljuili smo da minimalni polinom dijeli c karakteristini polinom. To znai da nultoke minimalnog polinoma lee u skupu c c c z

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 47

vlastitih vrijednosti matrice. Pomnija analiza pokazuje da je svaka vlastita vrijednost matrice nultoka minimalnog polinoma. To znai da moemo pisati c c z (z) = (z 1 )m1 (z 2 )m2 (z p )mp , (z) = (z 1 )n1 (z 2 )n2 (z p )np pri emu je p broj medusobno razliitih vlastitih vrijednosti matrice. Pritom uvijek c c vrijedi mi ni za sve 1 i p, a za mnoge matrice vrijedi jednakost mi = ni za sve 1 i p. Jordanova forma matrice Da bismo dobili uvid u doseg transformacija slinosti kao alata za rjeavnje c s problema vlastitih vrijednosti navest emo opi teorem o redukciji kvadratne matrice c c na oblik koji je onoliko blizak dijagonalnom obliku, koliko matrica doputa. s Matrica oblika 0 . Jk () = . . . . . 0

.. . .. . 0 1 .. . 0 .. . .. . .. .

0 . . . 0 Ckk , 1

zove se elementarna Jordanova klijetka (ili blok) dimenzije k. Pomou elemenc tarnih Jordanovih klijetki gradena je Jordanova klijetka (ili blok)

Jk1 () Jk2 () .. . Jkr ()

J() =

Cll ,

(2.2.5)

pri emu je k1 k2 kr 1 i k1 + k2 + + kr = l n. c Teorem 2.2.5 (Jordan) Neka je A Cnn i neka je 1 , . . . , p zadani uredaj c medusobno razliitih vlastitih vrijednosti od A, s algebarskim kratnostima n1 , . . . , np , respektivno. Tada postoji regularna matrica S, takva da je

J(1 ) J(2 ) .. . J(p )

S 1 AS =

}n1 }n1 . . . . }np

(2.2.6)

Pritom je n1 + + np = n.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 48

Teorem 2.2.5 kae da se svaka matrica pomou transformacije slinosti moe z c c z svesti na oblik koji je blizak dijagonalnom. Naime, svaki Jordanov blok J(k ) je c oblika (2.2.5), pa za svako 1 k p, postoji rastav nk = mk,1 + +mk,rk , pri emu je mk,j dimenzija j-te po redu elementarne Jordanove klijetke u J(k ). U teoremu moe biti p = 1, r1 = 1 i tada je Jordanov oblik od A jedna elementarna Jordanova z klijetka reda n. U drugoj krajnosti kad je p = n, mora za svako k biti nk = 1, pa je rk = 1 i mk,1 = 1, to znai da je Jordanova klijetka J(k ) jedna elementarna s c Jordanova klijetka. Dakle, sve jordanove klijetke u Jordanovoj formi matrice su reda 1, pa je matrica dijagonalizibilna. U ostalim sluajevima e openito vrijediti c c c n = n1 + + np n1 = m1,1 + + m1,r1 . . . np = mp,1 + + mp,rp . Za broj rk elementarnih Jordanovih klijetki unutar Jordanove klijetke J(k ) vrijedi ogranienje 1 rk n, a za dimenzije elementarnih Jordanovih klijetki mk,j vrijedi c 0 mk,j nk n. Zbog det(zI S 1 AS) = det(S 1 (zI A)S) = det(zI A) zakljuujemo da je ni algebarska kratnost od i . Kako elementarne Jordanove klic c jetke imaju samo jedan vlastiti vektor e1 , zakljuujemo da je geometrijska kratnost od i broj ri . Iz teorema 2.2.5 takoder slijedi da je minimalni polinom od A, (z) = (z 1 )m1,1 (z 1 )m2,1 (z 1 )mp,1 , c gdje je za svako k, mk,1 najvei red elementarne klijetke unutar Jordanove klijetke J(k ). Dijagonalizacija simetrine matrice c Vidjeli smo da se transformacijom slinosti matrica moe svesti na Jordanovu c z formu, oblik koji je dosta blizak dijagonalnoj fromi. Medutim ako zahtijevamo da slinost bude nainjena pomou unitarne matrice, tada je doseg dijagonalizacije c c c slabiji. Pomou unitarne transformacije slinosti matrica se moe svesti na trokuc c z tasti oblik. Teorem 2.2.6 (Schur) Za proizvoljnu matricu A postoji unitarna matrica U, takva da je T = U AU gornjetrokutasta matrica. Matrica U moe biti izabrana tako z da se na dijagonali matrice T pojave vlastite vrijednosti od A u bilo kojem zadanom poretku.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 49

Schurov teorem ima neke vrlo vane posljedice, kao to je naredni teorem z s koji kae da je Schurova dekompozicija normalnih matrica dijagonalna. Sjetimo z se, matrica A je normalna ako je A A = AA . Pokaimo da je unitarno slina z c matrica normalnoj matrici opet normalna. Neka je A normalna i B = U AU za neku unitarnu matricu U. Tada je B B = U A UU AU = U A AU = U AA U = U AUU A U = BB , pa je B normalna. Sljedei teorem pokazuje da se normalne matrice mogu dijagoc nalizirati pomou unitarne transformacije slinosti. c c Teorem 2.2.7 Ako je A normalna matrica i T = U AU Schurova dekompozicija od A, tada je T dijagonalna matrica. Jedna od posljedica ovog teorema jest tvrdnja da normalna matrica reda n ima sustav od n ortonormiranih (ortogonalnih i normiranih tj. euklidske norme jedan) vlastitih vektora koji razapinju Cn . Spomenuli smo dvije najznaajnije klase normalnih matrica: unitarne i herc mitske matrice. Sljedee tvrdnje proizlaze iz teorema 2.2.7. c Unitarna matrica je normalna matrica kojoj vlastite vrijednosti imaju modul jedan. Hermitska matrica je normalna matrica koja ima realne vlastite vrijednosti. Dakle, hermitska matrica H moe se prikazati u obliku z H = UU , (2.2.7)

gdje je U = [u1 , . . . , un ] unitarna matrica kojoj su stupci vlastiti vektori od H, a je dijagonalna matrica s realnim vlastitim vrijednostima od H na dijagonali. Taj oblik zovemo spektralna dekompozicija od H. Ponekad emo koristiti i zapis c H=
i

i u i u , i

(2.2.8)

koji je ekvivalentan s (2.2.7). To odmah slijedi iz zadatka 2.2.1(v) u kojem uzmite A = U, B = U . Pomou formule (2.2.8) moemo proiriti pojam skalarne funkcije c z s na hermitske matrice. To se ini na slijedei nain c c c (H) =
i

(i )ui u . i

(2.2.9)

Uoimo da formula (2.2.9) vrijedi za polinome, a vrijedi i za neprekidne funkcije c realnog argumenta. Jedna od najee koritenih funkcija je drugi korijen. Ako je c sc s H pozitivno denitna matrica, onda se drugi korijen matrice H dobiva formulom H2 =
i
1

i2 uiu . i

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 50

Ako je Hermitska matrica realna, zove se simetrina. Ona se moe dijagonalizirati c z pomou transformacije slinosti s ortogonalnom matricom, pa se njena spektralna c c dekompozicija zapisuje u obliku A = QQT , gdje je dijagonalna matrica vlastitih vrijednosti od A, a Q je ortogonalna matrica iji su stupci vlastiti vektori od A. c

2.3.

Singularna dekompozicija matrice

Singularna dekompozicija matrice jedna je od najkoritenijih dekompozicija u s numerikoj linearnoj algebri. Stoga emo dokazati glavne rezultate vezane uz tu c c dekompoziciju.

2.3.1.

Denicija i osnovni teoremi

Ako je H hermitska pozitivno denitna (semidenitna) matrica onda su njene vlastite vrijednosti pozitivne (nenegativne). Ako je C Cmn onda su obje matrice C C i CC hermitske i pozitivno semidenitne. Ako je m = n, vlastite vrijednosti matrica C C i CC se podudaraju. Ako je m = n, matrica C C (CC ) ima n (m) vlastitih vrijednosti. Pritom su netrivijalne vlastite vrijednosti ovih matrica jednake. Uskoro emo pokazati vezu vlastitih vrijednosti ovih matrica sa singularnim c vrijednostima od C. Sljedei teorem o egzistenciji singularne dekompozicije slui i kao denicija c z singularnih vrijednosti i vektora matrice. Pomou njega e se jednostavno dokazati c c spomenuta tvrdnja o vlastitim vrijednostima matrica C C i CC . Teorem 2.3.1 (Singularna dekompozicija matrice) Ako je C Cmn , tada postoje unitarne matrice U Cmm i V Cnn , takve da je U CV = , pri emu vrijedi c 1 2 min{m,n} 0. Brojeve 1 , 2 , . . . , min{m,n} zovemo singularne vrijednosti matrice C. Stupce matrice U zovemo lijevi, a stupce matrice V desni singularni vektori matrice C. c Dokaz. Poto je jedinina sfera u Cn ogranien i zatvoren skup, on je kompaktan, s c pa svaka neprekidna funkcija na njemu dostie minimum i maksimum. Funkcija z c f (x) = Cx 2 je neprekidna, pa postoji jedinini vektor v Cn , takav da je Cv
2

= diag(1 , 2 , . . . , min{m,n} ),

= max{ Cx

= 1, x Cn }.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 51

Ako je Cv 2 = 0, onda je C = 0 i faktorizacija u iskazu teorema je trivijalna uz = 0 i s proizvoljnim unitarnim matricama U i V reda m i n, respektivno. Ako je Cv
2

> 0, stavimo 1 = Cv u1 =

i formirajmo jedinini vektor c

Cv Cm . 1

Nadopunimo u1 s m 1 vektora do baze u Cm i onda primijenimo npr. Gramm Schmidtov proces ortogonalizacije, tako da dobijemo ortonormiranu bazu u1 , . . . , um za Cm . Drugim rijeima, dobili smo unitarnu matricu U1 = [u1 , u2 , . . . , um]. Slino, c c n za v1 = v postoji n 1 ortonormiranih vektora v2 , v3 , . . . , vn C , takvih je da matrica V1 = [v1 , v2 , . . . , vn ] unitarna. Tada je

C1 =

U1 CV1

u 1 u 2 . . . um

[ Cv1 u Cv2 1 u Cv2 2 . . .

Cv2

Cvn ] = u Cvn 1 u Cvn 2 u Cvn m


u 1 u 2 . . . um

[ 1 u1

Cv2

Cvn ]

1 0 = . . . 0

1 0

z , C2

u Cv2 m

c gdje je z Cn1 , C2 C(m1)(n1) . Za jedinini vektor y= 1


2 1

zz

1 , z

(2.3.1)

zbog unitarne invarjantnosti euklidske norme, vrijedi C(V1 y)


2 2 = (U1 CV1 )y 2 2

= C1 y

2 2

2 (1 + z z)2 + C2 z 1 + z z

2 2

2 1 + z z,

2 s sc a ovo je striktno vee od 1 ako je z = 0. Poto je to u suprotnosti sa maksimalnou c c od 1 , zakljuujemo da je z = 0. Stoga je C1 = U1 CV1 =

1 0

0 . C2

(2.3.2)

c Sada ponavljamo isti argument za matricu C2 C(m1)(n1) . Na taj taj nain dobivamo unitarne matrice U i V kao produkt unitarnih matrica koje su dobijene nakon svakog koraka. Ako je m n taj postupak vodi do dijagonalne matrice . Ako je m n, u zadnjem koraku radimo s matricom Cm C1(nm+1) . Moe z se pokazati da za Cm postoji unitarna matrica, takva da je Cm Vm = [ Cm 2 , 0, , 0 ] ,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 52

(to tzv. LQ faktorizazija od Cm ), pa e lijeve i desne komponentne unitarne matrice c u zadnjem koraku biti Um = I1 i Vm , respektivno. Ako itatelju nije jasan pojam LQ faktorizacije, zadnji dio dokaza teorema c moemo premostiti na sljedei nain. Ako je m < n, primijenimo postupak opisan z c c u dokazu teorema na matricu C , za koju je broj redaka n vei od broja stupaca c m. Nakon dobivene dekompozicije C = UV , kompleksno transponirajmo obje matrice u toj jednakosti. Dobijemo C = V T U , to je traena singularna dekompozicija od C, pri emu moramo jo preimenovati V s z c s u U, U u V i T u . Primjer 2.3.1 Evo primjera singularne dekompozicije matrice reda dva: C= 0.96 1.72 0.6 0.8 = UV T = 2.28 0.96 0.8 0.6 3 0 0 1 0.8 0.6 0.6 0.8
T

Singularne vrijednosti su unitarno invarijantne, jer ako je C = UV singularna dekompozicija od C, tada je za proizvoljne unitarne matrice W1 Cmm i W2 Cnn , (W1 U)(W2 V ) singularna dekompozicija od W1 CW2 . Iz teorema 2.3.1 odmah slijede vane relacije z Cvi = i ui, C ui = i vi ,

koje otkrivaju vezu ortonormiranih baza ui , . . . , um i v1 , . . . , vn s matricom C. Iz relacije Cx = UV x = U((V x)), vidimo da se djelovanje matrice na vektor moe opisati kao niz od tri jednosz tavnije transformacije: rotacije, produljivanje/skraivanje komponenata vektora i c opet jedne rotacije. Naime, unitarna matrica ne mijenja normu vektora, pa je njen geometrijski smisao rotacija. Polazei od denicije singularnih vrijednosti iz teorema 2.3.1, pokaimo da c z su i , 1 i min{m, n} kvadratni korijeni vlastitih vrijednosti matrica C C i CC . Neka je U CV = , = diag(1 , 2 , . . . , min{m,n} ) singularna dekompozicija matrice C. Tada je = V C U, pa je = V C UU CV = V C CV Cnn
I

= U C V V C U = U CC U Cmm .
I 2 2 2 Dakle, 1 , 2 , . . . , min{m,n} su (neke) vlastite vrijednosti od C C i CC . Ako je s m > n (n > m) onda CC (C C) ima jo dodatnih m n (n m) vlastitih

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 53

vrijednosti koje su jednake nuli. U tom smislu kaemo da su singularne vrijednosti z matrice C korijeni vlastitih vrijednosti od C C i CC . Veza izmedu singularnih vrijednosti od C i vlastitih vrijednosti od C C pokazuje da su singularne vrijednosti jedinstvene, tj. da je matrica odredena na jedinstven nain matricom C. Sljedei teorem govori o tome koliko su U i V jedinc c stvene. U njemu oznaka ortogonalne sume matrica U1 U2 Uk U0 oznaava c blok-dijagonalnu matricu diag(U1 , . . . , Uk , U0 ). Teorem 2.3.2 Neka je C denirana kao u teoremu 2.3.1. Pretpostavimo da za netrivijalne singularne vrijednosti matrice C i za pripadne viekratnosti, vrijedi s 1 > 2 > > k > 0 i respektivno. Neka je C = UV , = diag(1 I1 , 2 I2 , . . . , k Ik , 0min{m,n}r ) 1 + 2 + + k = r,

singularna dekompozicija od C i neka su U Cmm i V Cnn unitarne matrice. Tada je C = UV onda i samo onda ako postoje unitarne matrice U0 C(mr)(mr) , V0 C(nr)(nr) i Ui Ci i , 1 i k, takve da je U = U(U1 U2 Uk U0 ) V = V (V1 V2 Vk V0 ). Dokaz. Iz singularne dekompozicije C = UV slijedi
2 2 2 CC = U U = U[1 I1 2 I2 k Ik 0mr ]U US1 U , 2 2 2 C C = V V = V [1 I1 2 I2 k Ik 0nr ]V V S2 V ,

c gdje su Ij Cj j , 1 j k jedinine matrice, a 0mr C(mr)(mr) i 0nr (nr)(nr) nul-matrice. Pritom su S1 i S2 dijagonalne. Ako su U Cmm i C nn V C unitarne matrice za koje je C = U V , tada vrijedi CC = U S1 U , pa je Odavde slijedi US1 U = U S1 U . S1 (U U) = (U U )S1 . C C = V S2 V ,

c Na slian nain, relacija C = U V povlai c c

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 54

odnosno pa je

V S2 V = V S2 V , S2 (V V ) = (V V )S2 .

Dakle U U i V V komutiraju s dijagonalnim matricama S1 i S2 , respektivno. To povlai da su one unitarne blok dijagonalne s dimenzijama dijagonalnih blokova c 1 , 2 , . . . , k , m r i 1 , 2 , . . . , k , n r, respektivno. Stoga vrijedi U = U[U1 U2 Uk U0 ], V = V [V1 V2 Vk V0 ], gdje su U0 C(mr)(mr) , V0 C(nr)(nr) i Ui , Vi Ci i , 1 i k, unitarne. Sada iz relacije UV = UV slijedi Ui i Vi = i Ii , odnosno i Ui = i Vi 1 i k.

Kako su i > 0, slijedi Ui = Vi , 1 i k. Ako je polazna matrica realna, singularna dekompozicija se zapisuje kao C = c z UV T , pri emu je kao i dosad, a U Rmm i V Rnn su ortogonalne. Paljivo itajui dokaze prethodnih teorema, ta tvrdnja se lako dokae. Na svim mjestima c c z gdje se koristi znak kompleksnog transponiranja treba staviti znak transponiranja, a rije unitarna zamijeniti s ortogonalna. Nadalje, treba koristiti prostore Rm , Rn , c mn R umjesto Cm , Cn , Cmn , respektivno.

2.3.2.

Izravne posljedice singularne dekompozicije

Zanimljiv je odnos izmedu vlastitih i singularnih vrijednosti normalne matrice. Neka je N Cnn normalna matrica i neka je N = V V njena spektralna dekompozicija. Pritom je V unitarna matrica, a dijagonalna, = diag(1 , 2 , . . . , n ), Denirajmo = diag(|1 |, |2|, . . . , |n |) i = diag(ei1 , ei2 , . . . , ein ), tako da je = . Tada je N = V V = V V = V V = UV ,
U

|1 | |2 | |n |.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 55

singularna dekompozicija matrice N. Zakljuujemo da su singularne vrijednosti c normalne matrice apsolutne vrijednosti njenih vlastitih vrijednosti. Sljedei korolar pokazuje neke od pogodnosti koje prua singularna dekomc z pozicija matrice. Pritom emo koristiti oznake: i (C) je i-ta najvea singularna c c vrijednost matrice C, max (C) = 1 (C) je najvea, a min (C) = min{m,n} (C) najc manja singularna vrijednost matrice C. Ako znamo da se radi o matrici C, umjesto c c c c i (C) koristit emo krau oznaku i . To znai da pretpostavljamo nerastui uredaj singularnih vrijednosti, kako je to u teoremu 2.3.1 i denirano. Korolar 2.3.1 Neka je C = UV singularna dekompozicija matrice C Cmn za koju vrijedi 1 2 r > r+1 = = min = 0. Neka su r = diag(1 , 2 , . . . , r ) Crr , Ur = [u1 , u2, . . . , ur ] C mr , Vr = [v1 , v2 , . . . , vr ] Cnr

gdje su ui i vi stupci od U i V , respektivno. Tada je rang(C) = r i (i) N (C) = span{vr+1 , . . . , vn }, (ii) N (C ) = span{ur+1 , . . . , um} (iii) R(C) = span{u1 , u2, . . . , ur } (iv) R(C ) = span{v1 , v2 , . . . , vr } (v) R(C ) = N (C) (vi) N (C ) = R(C) (vii) R(C C) = R(C ), R(CC ) = R(C) (viii) C = (ix) C (x) C
2 F 2 r i=1 i ui vi = Ur r Vr 2 2 2 = 1 + 2 + + min

= 1 .

Dokaz. Rang matrice se ne mijenja ako pomnoimo matricu slijeva ili zdesna nesinz gularnom matricom. Stoga je rang(C) = rang(). Kako je rang broj linearno nezavisnih stupaca (ili redaka) matrice, oito je rang() = r. c (i) Poto je Cvi = 0, r + 1 i n, zakljuujemo da je s c span{vr+1 , . . . , vn } N (C). Iz defekt(C) = n rang(C) = n r izlazi da je dimenzija potprostora span{vr+1 , . . . , vn } ista kao i dimenzija od N (C).

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 56

(ii) Singularna dekompozicija od C je C = V U , a C i C imaju isti rang, pa je tvrdnja (ii) je tvrdnja (i) za C . (iii) Znamo da je R(C) = span(Cv1 , . . . , Cvn ) jer je v1 , . . . , vn baza. Stoga je span(Cv1 , . . . , Cvr ) R(C). Medutim, za 1 i r vrijedi Cvi = UV vi = Uei = i Uei = i ui Vektori ui su linearno nezavisni, pa span(1 u1 , . . . , r ur ) = span(u1 , . . . , ur ) ima dimenziju r kao i R(C), te je R(C) = span(u1 , . . . , ur ). (iv) Dokaz ove tvrdnje koristi isti argument kao i dokaz tvrdnje (ii). (v) Koritenjem tvrdnji (iv) i (i), imamo s R(C ) = span{v1 , . . . , vr } = N (C) . (vi) Koritenjem tvrdnji (ii) i (iii), izlazi s N (C ) = span{u1 , . . . , ur } = R(C) . (vii) Zbog toga to su s R(C C) = R(V V ) i R(C C) = R(U U ) singularne dekompozicije matrica C C i CC , respektivno, tvrdnja (vii) slijedi iz tvrdnji (iv) i (iii). (viii) Tvrdnja slijedi izravno pomnoimo li odgovarajue matrice: z c C = [ Ur , Umr ] = Ur r Vr =
r i=1

i i > 0.

0 Vr [ Vr , Vnr ] = [ Ur r , 0 ] 0 0 Vnr
i ui vi .

(ix) Tvrdnja slijede iz injenice da je euklidska norma unitarno invarijantna c C


2 F

= UV

r 2 F

2 F

=
i=1

2 i .

(x) Slino kao u (ix), 2-norma je unitarno invarijantna, pa je c C


2

= UV

= max (C).

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 57

Dekompoziciju opisanu u tvrdnji (viii) korolara 2.3.1 zvat emo skraena c c singularna dekompozicija matrice C. Jedna od vanijih posljedica singularne dekompozicije matrice je i polarna z dekompozicija. Ona se dobije izravno od singularne dekompozicije matrice. Teorem 2.3.3 Svaka kvadratna matrica C doputa prikaz s C = QH1 = H2 Q, gdje je Q unitarna, a H1 i H2 su hermitske pozitivno semidenitne matrice kojima su vlastite vrijednosti upravo singularne vrijednosti od C. Dokaz. Iz singularne dekompozicije matrice C odmah slijedi C = UV = UV V V = (UV )(V V ) = QH1 = UV = UU UV = (UU )(UV ) = H2 Q.

2.3.3.

Aproksimacija matrice matricom manjeg ranga

Jedna od vanijih upotreba singularne dekompozicije matrice je odredivanje z ranga matrice. Brojni teoremi u linearnoj algebri imaju oblik : ako je ta i ta matrica punog ranga, onda vrijedi to i to svojstvo. Zbog pogreaka zaokruivanja s z i eventualnih pogreaka ulaznih podataka, odredivanje ranga postaje netrivijalan s zadatak. Za singularnu dekompoziciju matrice postoje pouzdane i prilino tone c c metode. Stoga se, iako postoje bre metode, rang matrice najsigurnije rauna iz z c singularne dekompozicije. Sljedei teorem nam govori o aproksimaciji matrice pomou matrica manjeg c c ranga. Teorem 2.3.4 (Ekhard, Young, Mirsky) Neka je C = UV singularna dekompozicija matrice C Cmn ranga r. Neka je k < r i
k

Ck =
i=1

i uivi .

Tada je
rang(K)=k

min

C K

= C Ck

= k+1 .

Dokaz. Poto je s

U Ck V = diag(1 , 2 , . . . , k , 0, . . . , 0),

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 58

lako se dobije C Ck
2

= U (C Ck )V

= diag(0, . . . , 0, k+1 , . . . , min{m,n} )

= k+1 .

c z c Neka je K Cmn proizvoljna matrica ranga k. To znai da moemo nai ortonormirane vektore x1 , . . . , xnk takve da je N (K) = span{x1 , . . . , xnk }. Zbog span{x1 , . . . , xnk } span{v1 , . . . , vk+1} = {0},
k+1

moemo pronai jedinini vektor z koji pripada ovom presjeku. Poto je Kz = 0 i z c c s Cz =


i=1 i (vi z)ui ,

imamo C K
2 2

(C K)z

k+1 2 2

= Cz

2 2

=
i=1

2 2 i |vi z|2 k+1 .

Zadnja nejednakost vrijedi jer se radi o konveksnoj sumi brojeva i , 1 i k + 1, a konveksnost sume slijedi iz injenice da je 0 |vi z|2 1 i c
k+1 i=1 |vi z|2 = z 2 2

= 1.

Zadnji teorem nam specijalno kae da je najmanja singularna vrijednost maz trice jednaka udaljenosti (u spektralnoj normi) izmedu matrice i skupa singularnih matrica. Sljedei primjeri ilustriraju tvrdnju teorema. c Primjer 2.3.2 Neka se 6.4 C = 4.8 0.0

1.8 2.4 2.4 3.2 , 2.4 1.8

6.4 0.0 K = 4.8 0.0 0.0 2.4


0.0 0.0 . 1.8 0.0 0.8 , 0.8

Iz singularne dekompozicije od C 6.4 1.8 4.8 2.4 0.0 2.4 2.4 0.8 0.6 3.2 = 0.6 0.8 1.8 0.0 0.0

0.0 8 0.0 5 1.0

1.0 0.0 0.0 0.6 3 0.0 0.8

c zakljuujemo da je 1 (C) = 8, 2 (C) = 5, 3 (C) = 3, pa je rang(C) = 3. Uoimo da c je rang(K) = 2. Spektralnu normu od C K dobijemo opet preko njene singularne dekompozicije

0.0 1.8 2.4 0.6 0.8 0.0 5 0.0 2.4 3.2 = 0.8 0.6 0.0 0 0.0 0.0 0.0 0.0 0.0 1.0 Dakle imamo C K
2

0.0 0.6 0.0 0.8 0 1.0 0.0

0.8 0.6 . 0.0

= 5 > 3 = 3 (C).

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 59

Primjer 2.3.3 Neka su 2.40 1.92 C= 2.56 0.00

0.00 0.96 0.72 0.80

2.40 1.08 1.44 0.00

0.00 1.28 , 0.96 0.60

2.40 1.92 K= 2.56 0.00

0.00 0.96 0.72 0.00

2.40 1.08 1.44 0.00

0.00 1.28 . 0.96 0.00

Slino kao u prethodnom primjeru, singularnom dekompozicijom matrice C dobic vamo 1 (C) = 4, 2 (C) = 3, 3 (C) = 2, 4 (C) = 1. Dakle, vrijedi rang(C) = 4. Oito je rang(K) = 3, a spektralna norma od C K je c 0.0 0.0 = 0.0 0.0

C K

0.0 0.0 0.0 0.8

0.0 0.0 0.0 0.0

0.0 0.0 0.0 0.6

= 1.
2

Dakle, imamo C K 2 = 4 (C), pa se udaljenost matrice C do skupa singularnih matrica dostie na matrici K. z

2.3.4.

Wielandtova matrica

Sljedei teorem je jedan od znaajnijih rezultata vezanih uz singularnu dekomc c poziciju matrice. On nam daje svezu imedu singularnih vrijednosti (i vektora) matrice i vlastitih vrijednosti (i vektora) jedne hermitske matrice koja je usko povezana uz danu matricu. Teorem 2.3.5 (JordanWielandt) Neka je C = UV , = diag(1 , . . . , n ),

singularna dekompozicija matrice C Cmn . Neka je A= 0 C C C(m+n)(m+n) . 0

Tada postoji unitarna matrica Q, takva da vrijedi Q AQ = diag(1 , . . . , min , 1 , . . . , min , 0, . . . , 0).
|mn|

Dokaz. Moemo pretpostaviti da je m n. U protivnom radimo s matricom C . z Neka je U CV = 0

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 60

singularna dekompozicija matrice C. Konjugiranjem i transponiranjem dobivamo V C U = [ , 0 ] . Mnoenjem lijevih i desnih strana posljednje dvije jednakosti slijedi z
2 2 V (C C)V = diag(1 , . . . , n ) Cnn ,

odnosno

2 2 U (CC )U = diag(1 , . . . , n , 0, . . . , 0) Cmm . mn

Oznaimo matricu prvih n stupaca matrice U s U1 , a matricu preostalih m n c stupaca s U2 . Dakle U = [ U1 , U2 ]. Neka je 1 Q= 2 Q je unitarna matrica jer vrijedi V 1 Q Q = V 2 0 V V 1 = V V 2
U1 V V 0 U 1 U1 U1 2U2 2U2 + U1 U1 V V U1 U1 2U1 U2 U1 U1 V V + U1 U1 2U1 U2 2U2 U1 2U2 U1 2U2 U2 2I 0 0 1 n = 0 2In 0 = I. 2 0 0 2Imn

V U1

V U1

0 . 2U2

Izraunajmo jo c s

Q AQ =

1 2 1 2 1 2

V U1 0 C V V 0 U1 V U1 U1 C 0 2U2 0 2U2 U1 C V C V V 0 U V C 1C U1 U1 2U2 2U2 C 0 U1 CV + V C U1 U1 CV V C U1 2V C U2 2V C U2 . U1 CV + V C U1 U1 CV V C U1 2U2 CV 2U2 CV 0

Produkt V C U2 je nul-matrica jer je V C U2 = V C UU U2 = [ , 0 ]


I

0 Imn

= 0.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 61

Zbog toga vrijedi U2 CV = (V C U2 ) = 0. Poto su U1 CV = i V C U1 = s kvadratne realne i dijagonalne, one su i jednake. Stoga dobivamo

+ 0 0 0 0 1 Q AQ = 0 0 = 0 0 2 0 0 0 0 0 0 = diag(1 , 2 , . . . , n , 1 , 2 , . . . , n , 0, . . . , 0).
mn

Dakle, netrivijalne vlastite vrijednosti matrice A su pozitivne i negativne netrivijalne singularne vrijednosti matrice C, dok se iz matrice Q lako odrede lijevi i desni singularni vektori od C i obratno. Prethodni teorem omoguava da mnoge rezultate o vlastitim vrijednostima c hermitske matrice formuliramo, uz prirodne modikacije, za singularne vrijednosti proizvoljne matrice.

2.3.5.

Neke nejednakosti sa singularnim vrijednostima

U ovom odjeljku prikazat emo dva teorema. Rezultat prvog teorema je jedna c od mnogobrojnih posljedica Fischerove karakterizacije vlastitih vrijednosti hermitskih matrica. Prvo emo formulirati Weylov teorem, a njegov dokaz se moe pronai c z c u poglavlju o vlastitim vrijednostima. Teorem 2.3.6 Neka su H i M hermitske matrice i neka je H = H + M. Neka su redom vlastite vrijednosti matrica H, M, i H 1 2 n , 1 2 n i 1 2 n . Tada vrijedi i + n i i + 1 , Dokaz. Vidi npr. [8, teorem 3.14 (str. 2526)]. Teorem 2.3.6 ima mnogo vanih posljedica. Ovdje emo dokazati tek dvije. z c Teorem 2.3.7 Neka matrica C Cmn ima particiju C= Tada vrijedi C1 }k . C2 }m k 1 i min{n, k} 1 j min{n, m k}. i = 1, . . . , n.

i (C1 ) i (C), j (C2 ) j (C),

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 62

Dokaz. Kvadrati singularnih vrijednosti od C jednaki su vlastitim vrijednostima od C C, a kvadrati singularnih vrijednosti od C1 (C2 ) su vlastite vrijednosti od C1 C1 (C2 C2 ). Zamijetimo da je
C C = C1 C1 + C2 C2 . Matrica C2 C2 (C1 C1 ) je pozitivno semidenitna. Prema teoremu 2.3.6 slijedi da c c su vlastite vrijednosti od C C, uzete u nepadajuem poretku, vee ili jednake od odgovarajuih vlastitih vrijednosti matrice C1 C1 (C2 C2 ). c

Zanimljivo je vidjeti koji je odnos izmedu singularnih vrijednosti produkta dviju matrica i singularnih vrijednosti samih matrica. O tome govori sljedei teorem. c Teorem 2.3.8 Neka su A Cmk , B Ckn i C = AB. Tada vrijedi i (AB) 1 (A)i (B), i (AB) i (A)1 (B), 1 i min{m, n, k}.

Dokaz. Druga tvrdnja slijedi iz prve zbog i (C) = i (C ) = i (B A ) 1 (B )i (A ) = 1 (B)i (A), 1 i min{m, n, k}.

Prvu tvrdnju dokazat emo usporedivanjem vlastitih vrijednosti matrica C C s c vlastitim vrijednostima od A 2 B B. Neka je A A = Q2 Q spektralna dekom2 pozicija od A A. Tada je M = Q( A 2 I 2 )Q 2 hermitska pozitivno semidenitna matrica za koju je A A + M = A 2 I. 2 Vrijedi Uoimo da je c A 2 B B = B (A A + M)B = C C + B MB. 2 x B MBx = (Bx) M(Bx) 0,

pa je B MB, takoder, pozitivno semidenitna. Na osnovu teorema 2.3.6 zakljuc ujemo da su vlastite vrijednosti od A 2 B B = 1 (A)2 B B vee ili jednake od c odgovarajuih vlastitih vrijednosti od C C. c

2.3.6.

Generalizirani inverz

Singularna dekompozicija ima direktnu primjenu u raunanju generaliziranog c inverza ope matrice. Generalizirani inverz koristan je alat u raznim podrujima lic c nearne algebre, npr. linearnom problemu najmanjih kvadrata. Na ovom mjestu uvest

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 63

emo pojam generaliziranog inverza A matrice A i navesti neka njegova osnovna c svojstva. Dobro je poznato, da za regularnu matricu A Cnn postoji jedinstvena matrica X koja zadovoljava AX = XA = I. (2.3.3) Matrica X je inverz matrice matrice A i oznaava se s A1 . c Prirodno je pokuati proiriti pojam inverza i na matrice koje nisu regularne ili s s ak nisu niti kvadratne. To je mogue postii zahtijevajui da matrica X zadovoljava c c c c poneto drugaije (oslabljene) uvjete nego to je (2.3.3). Najpoznatiji generalizirani s c s c c inverz je tzv. MoorePenroseov inverz koji je odreden sa sljedea etiri uvjeta (tzv. Penroseovi uvjeti [8]): 1. AXA = A, 2. XAX = X, 3. (AX) = AX, 4. (XA) = XA. Pokazat emo da prethodna etiri uvjeta na jedinstven nain odreduju matricu X c c c c koju onda oznaavamo s A . U slijedeem teoremu odredujemo eksplicitnu formulu c za generalizirani inverz A . Teorem 2.3.9 Neka je A Cmn . Tada postoji jedinstvena matrica X Cnm , koja zadovoljava Penroseove uvjete 14. Ta matrica ima oblik A = V pri emu je c A=U singularna dekompozicija matrice A. Dokaz. Za matricu X koja zadovoljava, npr. i-ti i j-ti Penroseov uvjet koristit emo c (i,j) (1) oznaku A i zvati ga (i, j)-inverz. Tako e, na primjer, (1)-inverz A zadovoljavati c samo prvi Penroseov uvjet, a (1, 2, 4)-inverz, A(1,2,4) , zadovoljavat e prvi, drugi i c c c c etvrti uvjet. Dakle A(1,2,3,4) e zadovoljavati sva etiri uvjeta, pa e ta matrica biti c generalizirani inverz matrice A. Budui da je A(1) Cnm matricu A(1) moemo zapisati u obliku c z A(1) = V T L K M U . + 0 0 V 0 1 + 0 0 U , 0

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 64

Uvrtavanjem ovog izraza za A(1) u prvi Penroseov uvjet, dobivamo s AA(1) A = U + T + 0 0 V = A =U 0 + 0 0 V . 0

Dakle je T = 1 , tj. svaki (1)-inverz ima oblik + A(1) = V 1 + L K M U ,

gdje su K, L i M proizvoljne. Izraunajmo sada (1, 2)-inverz. On je i (1)-inverz pa c polazimo od te matrice. Iz drugog Penroseovog uvjeta slijedi A(1,2) = V 1 + L K M U = A(1,2) AA(1,2) = V 1 + L K L+ K U ,

s pa zakljuujemo da je M = L+ K, dok su K i L jo uvijek proizvoljne matrice. c Na isti nain odredit emo i (1, 2, 3)-inverz. Polazimo od c c A(1,2,3) = V 1 + L K L+ K U .

Trei Penroseov uvjet se zapisuje u obliku c (AA(1,2,3) ) = U I K +

0 U = A(1,2,3) A = U 0

I + K 0 0

U ,

odakle zakljuujemo da svaki (1, 2, 3)-inverz ima oblik c A(1,2,3) = V Pritom je L proizvoljna podmatrica. Na isti nain, iz etvrtog Penroseovog uvjeta zakljuujemo da svaki (1, 2, 4)c c c inverz ima oblik 1 K + U , A(1,2,4) = V 0 0 gdje je K proizvoljna podmatrica. Konano, iz opeg oblika (1, 2, 3)-inverza i (1, 2, 4)-inverza zakljuujemo da je c c c A = A(1,2,3,4) = V 1 + 0 0 U . 0 (2.3.4) 1 + L 0 U . 0

z Dakle, ako A postoji nuno ima oblik kao u relaciji (2.3.4). Iz dokaza medutim slijedi da A(1,2,3,4) zadovoljava sve sve Penroseove uvjete pa je A = A(1,2,3,4) . Kako c u dokazu nita nije proizvoljno, slijedi da je A relacijom (2.3.4) na jedinstven nain s

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 65

odredena iz singularne dekompozicije matrice A. Sama singularna dekompozicija je prema teoremu 2.3.2 odredena do na mnoenje matrica U i V s desna s blokz s dijagonalnim unitarnim matricama. Medutim, kao to A ne ovisi o toj slobodi u matricama U i V , tako ne ovisi ni A . Sada emo navesti neka osnovna svojstva generaliziranog inverza koja se lako c dokazuju ili direktno iz Penroseovih uvjeta ili iz relacije (2.3.4). Teorem 2.3.10 Za proizvoljnu matricu A vrijedi: 1. (A ) = A, 2. (A) = (A ), 3. (AT ) = (A )T , 4. rang(A) = rang(A ) = rang(AA ) = rang(A A), 5. (AA ) = (A ) A , (A A) = A (A ) , 6. (AA ) AA = AA , (A A) A A = A A. 7. Ako matrica A Cmn ima rang n, tada je A = (A A)1 A i A A = In . 8. Ako matrica A Cmn ima rang m, tada je A = A (AA )1 i AA = Im . 9. Ako je A = F G i rang(A) = rang(F ) = rang(G), tada je A = G(F AG)1 F 10. Ako su U i V unitarne matrice, tada je (UAV ) = V A U . i A = (G ) F .

2.4.
2.4.1.

Vektorske i matrine norme c


Vektorske norme

Vektorske i matrine norme osnovno su sredstvo koje koristimo kod ocjene c greaka vezanih uz numerike metode, posebno u numerikoj linearnoj algebri. s c c Denicija 2.4.1 (Vektorska norma) Vektorska norma je svaka funkcija Cn R koja zadovoljava sljedea svojstva: c 1. x 0, x Cn , a jednakost vrijedi ako i samo ako je x = 0, 2. x = || x , R, x Cn , :

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 66

3. x + y x + y , x, y Cn . Ova je nejednakost poznatija pod imenom nejednakost trokuta (zbroj duljina bilo koje dvije stranice trokuta vei je od c duljine tree stranice). c Analogno se denira vektorska norma na bilo kojem vektorskom prostoru V nad poljem F = R ili C. Neka je x vektor iz Cn s komponentama xi , i = 1, . . . , n, u oznaci x = c c c sc (x1 , . . . , xn )T , ili, skraeno x = [xi ]. U numerikoj linearnoj algebri najee se koriste sljedee tri norme: c 1. 1-norma ili 1 norma, u engleskom govornom podruju poznatija kao Manc hattan ili taxi-cab norma
n

x 2. 2-norma ili
2

=
i=1

|xi |,

norma ili euklidska norma x


2

= (x x)

n 1/2

=
i=1

|xi |2 ,

3. -norma ili

norma x

= max |xi |.
i=1,...,n

Primijetite da je samo 2-norma izvedena iz skalarnog produkta, dok ostale dvije to nisu. 2-norma ima dva bitna svojstva koje je ine posebno korisnom. Ona je inc varijantna na unitarne transformacije vektora x, tj. ako je Q unitarna matrica (Q Q = QQ = I), onda je Qx
2

= (x Q Qx)1/2 = (x x)1/2 = x 2 .

Takoder ona je diferencijabilna za sve x = 0, s gradijentom x


2

x . x 2
p

Sve ove tri norme specijalni su sluaj Hlderove p-norme ( c o rane s: n x


p

norme) deni-

=
i=1

|xi |p

1/p

p 1.

Za Hlderove p-normu vrijedi i poznata Hlderova nejednakost o o |x y| x


p

y q,

1 1 + = 1. p q

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 67

Posebni sluaj Hlderove nejednakosti za p = q = 2 je Cauchy-Schwarzova nejedc o nakost |x y| x 2 y 2. c Koliko se dvije p-norme medusobno razlikuju, pokazuje sljedea nejednakost, koja se moe dostii. Neka su i dvije p norme takve da je . Tada vrijedi z c x

n(1/1/) x .

Ova se nejednakost esto proiruje i zapisuje tablicom x c s CM -ovi \ 1 2 1 1 n n 1 1 n 2 1 1 1

CM x , gdje su

Primijetite da sve p-norme ovise samo o apsolutnoj vrijednosti komponenti xi , c pa je p-norma rastua funkcija apsolutnih vrijednosti komponenti xi . Oznaimo s c |x| vektor apsolutnih vrijednosti komponenti vektora x, tj. |x| = [|xi |]. Za vektore apsolutnih vrijednosti (u Rn ) moemo uvesti parcijalni uredaj relacijom z |x| |y| |xi | |yi|, i = 1, . . . , n.

Denicija 2.4.2 (Monotona i apsolutna norma) Norma na Cn je monotona ako vrijedi |x| |y| = x y , x, y Cn . Norma na Cn je apsolutna ako vrijedi |x| = x , x Cn .

Bauer, Stoer i Witzgall dokazali su netrivijalni teorem koji pokazuje da su ta dva svojstva ekvivelentna. Teorem 2.4.1 Norma na Cn je monotona ako i samo ako je apsolutna. Denicija vektorskih normi u sebi ne sadri zahtjev da je vektorski prostor z iz kojeg su vektori konano dimenzionalan. Na primjer, norme denirane na vekc torskom prostoru neprekidnih funkcija na [a, b] (u oznaci C[a, b]) deniraju se slino c n normama na C : 1. L1 norma
b

=
a

|f (t)| dt,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 68

2. L2 norma
b

f 3. L norma f 4. Lp norma

=
a

|f (t)|2 dt

1/2

= max{|f (x)| | x [a, b]},


b 1/p

=
a

|f (t)|p dt

p 1.

2.4.2.

Matrine norme c

Zamijenimo li u deniciji 2.4.1 vektor x Cn matricom A Cmn , dobivamo matrinu normu. c Denicija 2.4.3 (Matrina norma) Matrina norma je svaka funkcija c c mn R koja zadovoljava sljedea svojstva: c C 1. A 0, A Cmn , a jednakost vrijedi ako i samo ako je A = 0, 2. A = || A , R, A Cmn , 3. A + B A + B , A, B Cmn . Za matrinu normu emo rei da je konzistentna ako vrijedi c c c 4. AB A B :

kad god je matrini produkt AB deniran. Oprez, norme od A, B i AB ne moraju c biti denirane na istom prostoru (dimenzije)! Neki autori smatraju da je i ovo posljednje svojstvo sastavni dio denicije matrine norme (tada to svojstvo obino zovu submultiplikativnost). Ako su ispunjena c c samo prva tri svojstva, onda to zovu generalizirana matrina norma. c Matrine norme mogu nastati na dva razliita naina. Ako matricu A promac c c tramo kao vektor s m n elemenata, onda, direktna primjena vektorskih normi (uz oznaku aij matrinog elementa u i-tom retku i j-tom stupcu) daje sljedee denicije: c c 1.
1

norma | A |1 := A
S

=
i=1 j=1

|aij |,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 69

2.

norma (euklidska, Frobeniusova, HilbertSchmidtova, Schurova) | A |2 := A


F

= (tr(A A))1/2 =

|aij |2 ,

i=1 j=1

3.

norma | A | := A
M

= max |aij |.
i=1,...,m j=1,...,n

tr je oznaka za trag matrice zbroj dijagonalnih elemenata matrice. Pokaimo da 1 i 2 norma zadovoljavaju svojstvo konzistentnosti, a z ga ne zadovoljava. Vrijedi
m s n

norma

AB

=
i=1 j=1 k=1 m n i=1 k=1 m s n

|aik bkj |
n s

|aik b j |
S, n =1 2 F

i=1 j=1 k=1 =1

|aik |

|b j | = A
n m s

S n

=1 j=1 2

AB

2 F

=
i=1 j=1 k=1 m n

aik bkj |aik |2

|aik |2 B

|b j |2

i=1 j=1 s

k=1

=
i=1 k=1

|b j |2 = A

2 F.

=1 j=1

Primijetite da se u dokazu da je Frobeniusova norma konzistentna koristila CauchySchwarzova nejednakost. Pokaimo na jednom primjeru da z tentnosti. Za matrice A=B= pa je AB Ipak i od
M M

norma ne zadovoljava svojstvo konzis2 2 , 2 2 = 1.

1 1 1 1 = 2,

je AB =

se moe napraviti konzistentna norma. Deniramo li z | A |=m A


M,

vrijedi | AB | = m max
n

m max

i=1,...,m j=1,...,s k=1 n i=1,...,m j=1,...,s k=1

aik bkj m max A B

i=1,...,m j=1,...,s k=1

|aik bkj |
M ) (n

= (m A

M)

= | A | | B |.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 70

S druge strane, matrine norme moemo dobiti kao operatorske norme iz c z odgovarajuih vektorskih koritenjem denicije c s A = max
x=0

Ax (ili = max Ax ). x =1 x

(2.4.1)

Kad se uvrste odgovarajue vektorske norme u (2.4.1), dobivamo c 1. matrina 1-norma, maksimalna stupana norma c c
m

= max

j=1,...,n

|aij |,

i=1

2. matrina 2-norma, spektralna norma c A


2

= ((A A))1/2 = max (A),

3. matrina -norma, maksimalna retana norma c c


n

= max

i=1,...,m

|aij |,

j=1

pri emu je oznaka za spektralni radijus kvadratne matrice (maksimalna po apsoc lutnoj vrijednosti svojstvena vrijednost) (B) = max{|| | det(B I) = 0}, (B kvadratna!), (2.4.2)

a je standardna oznaka za tzv. singularnu vrijednost matrice. Detaljnu deniciju to je to singularna vrijednost, dobit ete u poglavlju koje e se baviti dekompozis c c cijom singularnih vrijednosti. Matrina 2-norma se teko rauna, (trebalo bi nai po apsolutnoj vrijednosti c s c c najveu svojstvenu vrijednost), pa je uobiajeno da se ona procjenjuje koritenjem c c s ostalih normi. c Tablica ovisnosti koja vrijedi medu matrinim normama je: A gdje su CM -ovi \ 1 2 F M S 1 1 n n n 1 n 2 m 1 n rang(A) 1 mn rang(A) m m 1 m 1 m F m 1 n 1 1 mn M m mn n mn 1 mn

CM A , S 1 1 1 1 1 1

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 71

Posebno su vane unitarno invrijantne norme, tj. one za koje vrijedi z UAV = A , za sve unitarne matrice U i V . Dvije najpoznatije unitarno invarijantne norme su Frobeniusova i spektralna norma. Pokaimo to. Kvadrat Frobeniusove norme matrice A moemo promatrati z z kao zbroj kvadrata normi stupaca aj :
n

(2.4.3)

2 F

=
j=1

aj 2 .

S druge strane, za svaku unitarnu matricu U vrijedi Uaj


2 2

= a U Uaj = a aj = aj 2 . j j 2

Objedinimo li te relacije, dobivamo


n n

UA Konano, vrijedi c UAV


2 F

2 F

=
j=1

Uaj

=
j=1

aj

= A

2 F.

= AV

2 F

= V A

2 F

= A

2 F

= A

2 F.

Da bismo dokazali da je matrina 2-norma unitarno ekvivalentna, potrebno je c pokazati da transformacije slinosti uvaju svojstvene vrijednosti matrice. Ako je c c c S nesingularna (kvadratna) matrica, a B kvadratna, onda je matrica S 1 BS slina 1 matrici B. Ako je spektralna faktorizacija matrice S BS S 1 BSX = X, pri emu je X matrica svojstvenih vektora, a svojstvenih vrijednosti. Mnoenjem c z sa S slijeva, dobivamo B(SX) = (SX), tj. matrica svojstvenih vektora je SX, dok su svojstvene vrijednosti ostale nepromijenjene. Primijetite da za unitarne matrice vrijedi V = V 1 . Za matrinu 2-normu, onda vrijedi c UAV
2

= ((V A U UAV ))1/2 = ((V A AV ))1/2 .

Budui da je V unitarna, A A i V A AV su unitarno ekvivalentne, pa je c UAV


2

= ((A A))1/2 = A 2 .

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 72

3. Greke u s numerikom raunanju c c


Da bismo mogli ocjenjivati izraunava li neki algoritam, implementiran na c raunalu (kao program), traeno rjeenje problema s dovoljnom tonou, potrebno c z s c sc je upoznati pojmove apsolutne i relativne greke, greke unaprijed i unazad, stabils s nosti algoritma, uvjetovanosti problema itd. Svi ti pojmovi nastajali su vremenski postupno, a uglavnom su vezani uz raunanje na raunalima. c c

3.1.

Tipovi greaka s

U praktinom raunanju postoje dvije osnovne vrste greaka: greke zbog c c s s polaznih aproksimacija i greke zaokruivanja. s z

3.1.1.

Greke zbog polaznih aproksimacija s

Taj tip greaka esto se javlja kod rjeavanja praktinih problema. Te greke s c s c s moemo podijeliti u sljedee klase: greke modela, greke metode i greke u polaznim z c s s s podacima. Greke modela s Najee nastaju zamjenom sloenih sustava (u skali veliina, od svemirskih c sc z c sustava do atomskih struktura, u skali sloenosti, od reakcija u atomskim cenz tralama do npr. kemijskih i biolokih fenomena u stanicama raka, u svakidanjem s s ivotu: od sustava koji odreduje prognozu vremena do sustava koji daje kretanje z cijena na burzama) jednostavnijima koje moemo opisati matematikim zapisom. z c Cesto su stvarni fenomeni takvi da ih ni priblino ne moemo opisati dananjim z z s matematikim teorijama, ili su previe sloeni za dananji stupanj matematike. c s z s Stoga se vre razna pojednostavljenja, s jedne strane da bismo uope opisali fenomes c ne matematikim zapisom, a s druge strane da bismo i njih pojednostavili kako bismo c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 73

ih uope mogli rijeiti. Npr. kod gibanja u zemaljskim uvjetima esto se zanemaruje c s c utjecaj otpora zraka. Cesto se dobri modeli zamjenjuju slabijim da bi se mogle primijeniti numerike metode (na primjer, sustavi nelinearnih parcijalnih diferencic jalnih jednadbi se lineariziraju). Pogreke u modelu mogu nastati i kod upotrebe z s modela u graninim sluajevima. Na primjer, kod matematikog njihala se sin x c c c aproksimira s x, to vrijedi samo za male kuteve, a upotrebljava se, recimo i za vee s c kutove npr. za 15 . Pogreke modela su neuklonjive, i na korisnicima je da procijene s dobivaju li primjenom danog modela oekivane rezultate. c Primjer 3.1.1 Medu prvim primjenama trenutno jednog od najbrih raunala na z c svijetu bilo je odredivanje trodimenzionalne strukture i elektronskog stanja ugljik-36 fulerena (engl. carbon-36 fullerene) jednog od najmanjih, ali i najstabilnijih lac nova iz redova jedne vrste spojeva (engl. buckminsterfullerene). Primjena tog spoja moe biti viestruka, od supravodljivosti na visokim temperaturama do preciznog z s doziranja lijekova u stanice raka. Prijanja istraivanja kvantnih kemiara dala su dvije mogue strukture tog s z c c spoja. Eksperimentalna mjerenja pokazivala su da bi jedna struktura trebala biti stabilnija, a teoretiari su tvrdili da bi to trebala biti druga struktura. Naravno, te c dvije strukture imaju razliita kemijska svojstva. Prijanja raunanja, zbog pojedc s c nostavljivanja i interpolacije, kao odgovor davala su prednost teoretskoj strukturi. Denitivan odgovor, koji je proveden raananjem bez pojednostavljivanja pokazao je c da je eksperimentalna struktura stabilnija. Greke metode s Te greke nastaju kad se beskonani procesi zamjenjuju konanim. Takoder, s c c nastaju kod raunanja veliina koje su denirane limesom, poput derivacija i inc c tegrala ili su denirane limesima konvergentnih nizova ili produkata. Velik broj numerikih metoda za aproksimaciju funkcija i rjeavanje jednadbi upravo je tog c s z oblika. Greke koja nastaju zamjenom beskonanog neim konanim, obino dijelimo s c c c c u dvije kategorije. Greke diskretizacije nastaju zamjenom kontinuuma konanim diskretnim s c skupom toaka, ili kad se beskonano mala veliina (najee u oznaci h ili ) c c c c sc zamijeni nekim konkretnim malim brojem. Takoder, te greke nastaju kad se s derivacija zamijeni podijeljenom razlikom, diferencijalna jednadba diferencijskom z jednadbom, integral nekom kvadraturnom formulom. Jo jednostavniji, tipini z s c primjer greke diskretizacije je aproksimacija funkcije f na intervalu (segmentu) s [a, b], vrijednostima te funkcije na konanom skupu toaka (tzv. mrei) c c z {x1 , . . . , xn } [a, b].

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 74

Greke odbacivanja nastaju zamjenom beskonanog niza, reda, produkta s c konanim nizom, sumom, produktom (tada kaemo da odbacujemo ostatak niza, c z reda, produkta). Grubo reeno, diskretizacija je vezana za kontinuum (npr. skupovi R i C), c a odbacivanje za diskretnu beskonanost (N, Z). Objekti koji nedostaju pri tim c zamjenama tvore tip greaka koji se zovu greke metode. s s Greke u polaznim podacima s Te greke imaju izvor u mjerenjima zikih veliina, te smjetanju podataka u s c c s raunalo, a takoder i u prethodnim raunanjima. Naime, esto su izlazne vrijednosti c c c iz nekog prethodnog raunanja, ulazni podaci za novo raunanje. Greke mjerenja c c s ili smjetanja u raunalo daleko je jednostavnije ocijeniti od greaka koje nastaju s c s uslijed brojnih zaokruivanja u toku raunanja. z c

3.1.2.

Greke zaokruivanja s z

Te greke nastaju u raunalima, jer ona koriste konanu aritmetiku ili pres c c ciznije binarnu aritmetiku s pominom tokom, kod koje je unaprijed rezerviran c c odreden broj binarnih mjesta za eksponent i za mantisu. Stoga se svaka raunska c operacija u kojoj sudjeluju dva broja izraunava s nekom malom grekom, koja c s moe biti i nula. Ako je nula, tada je rezultat te operacije na danim operandima z egzaktano izraunat. Ako nije nula, tada je izraunat s nekom malom grekom koju c c s moemo precizno ocijeniti i koju zovemo greka zaokruivanja. z s z Ako je algoritam sloeniji, bit e mnogo raunskih operacija. Kod gotovo z c c svake raunske operacije postojat e greka zaokruivanja, pa se postavlja pitanje s c c s z kojom tonou emo dobiti traeno rjeenje? Da bi se dobio odgovor na to pitanje c sc c z s potrebno je istraiti i sam matematiki problem i algoritam koji je odabran za z c raunanje rjeenja. Pri analizi greaka koje nastaju u toku raunanja koristimo se c s s c teorijom greaka zaokruivanja, a osjetljivou rjeenja matematikog problema s z sc s c koji rjeavamo na pomake u polaznim podacima bavi se teorija perturbacije za s dani problem. Njihovom uskladenom uporabom esto je mogue procijeniti tonost c c c algoritma, koji je koriten na raunalu. Ako moemo rei da je tonost izraunatih s c z c c c podataka priblino jednaka tonosti polaznih podataka (koje dolaze npr. od mjernih z c uredaja ili od smjetanja u raunalo), tada govorimo o stabilnom algoritmu. s c Kroz polustoljetni razvoj, teorija greaka zaokruivanja i teorija stabilnosti s z numerikih algoritama ule su u zrelu fazu, pa je potrebno upoznati osnovne pojmove c s i rezultate u toj grani numerike matematike. Cilj ovog poglavlja je svladati tehniku c ocjenjivanja greaka zaokruivanja, ukazati na opasnosti i neeljene efekte koji mogu s z z nastupiti kod raunanja na raunalima i kalkulatorima, te pokazati kako se dokazuje c c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 75

stabilnost algoritama. Greke zaokruivanja su neizbjene pri svakom zahtjevnijem s z z raunanju, jer raunala koriste konanu aritmetiku. c c c Ve samo uskladitavanje podataka u raunalo dovodi do greaka jer se svaki c s c s broj mora reprezentirati konanim brojem binarnih znamenaka. Zna se da npr. c 1/10 ima u binarnom sustavu prikaz s beskonano nula i jedinica: (1/10)2 = c 0.000110011001100110 . . . (vidi primjer 3.2.1). Dakle, ne samo iracionalni, ve i c mnogi racionalni brojevi, ak i oni umjerene veliine i s malo dekadskih znamenaka, c c ne moraju biti tono reprezentirani u raunalu. Kad se jednom polazni brojevi smjec c ste u raunalo, to uglavnom nisu njihove tone, nego pribline binarne reprezentacije. c c z Ako je x realni broj, njegova reprezentacija u raunalu se obino oznaava sa f (x). c c c Pretpostavimo sada da su x i y brojevi koji su smjeteni u raunalo (to s c matematiki zapisujemo x = f (x) i y = f (y)). Tada e svaka aritmetika operacija c c c u raunalu izmedu ta dva broja rezultirati brojem koji je najee tek aproksic c sc macija tonog rezultata. Tipini sluaj je mnoenje koje u pravilu daje mantisu c c c z rezultata ija je duljina priblino zbroj duljina mantisa faktora. Ako smjetaj u c z s raunalu doputa p binarnih mjesta za mantisu, tada e svaki od faktora imati c s c mantisu duljine p, a umnoak e imati mantisu duljine 2p ili 2p 1. Kako se rezulz c tat opet sprema u memoriju, zadrat e se samo prvih p znamenaka, a ostale e z c c se odbaciti (s korektnim zaokruivanjem na posljednjem znaajnom mjestu). Kod z c zbrajanja i oduzimanja brojeva koji nisu istog reda veliine, u procesu izvravanja c s operacija, mantisa jednog od njih (onog s manjom apsolutnom vrijednosti) bit e c pomaknuta za jedno ili vie mjesta, pa e rezultat opet imati mantisu duljine koja s c je vea od p. Konano, kod dijeljenja kao najkompliciranije operacije, algoritam za c c dijeljenje u raunalu takoder daje rezultat koji nije toan. Detaljno prouavanje c c c (vidjeti npr. [9, 4]) pokazuje da je kod svake operacije u raunalu prisutna greka. c s Ako je greka nula rezultat je toan. Taj zakljuak se zapisuje u obliku s c c f (x y) = (x y)(1 + ), || u {+, , , /} (3.1.1)

pri emu su +, , , / operacije u raunalu, a u je tzv. preciznost raunanja c c c ili strojni u. Pritom greka ovisi o operandima x, y i operaciji , dok u ovisi s o raunalu (ili tonije o IEEE standardu ako ga raunalo podrava). Iz zadnje c c c z relacije vidi se da je u uniformna gornja ograda za sve greke na danom raunalu. s c Kasnije emo obrazloiti da za raunala koja koriste binarnu aritmetiku sa p binarnih c z c znamenaka u mantisi, vrijedi u = 2p+1 ili u = 2p ovisno o nainu zaokruivanja c z koje raunalo koristi. c Glavna zadaa osobe koja se bavi numerikim raunanjima, je odredivanje to c c c s bolje aproksimacije rjeenja u to kraem vremenu. Da bi se to ostvarilo, treba imati s s c pod kontrolom sve tipove greaka koje smo nabrojali, a to znai da treba poznavati s c sve fenomene koji mogu naii prije ili u tijeku raunanja, a vezani su uz netonosti c c c polaznih podataka, medurezultata te konanog rezultata. c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 76

3.1.3.

Apsolutna i relativna greka, znaajne znamenke s c

Neka je x neka aproksimacija realnog broja x. Najkorisnije mjere za tonost c broja x kao aproksimacije od x su apsolutna greka s Gaps () = |x x| x i relativna greka s x Grel () = |x x| , |x|

koja nije denirana za x = 0. Drugi nain zapisivanja relativne greke je c s Grel () = ||, x x = x(1 + ). (3.1.2)

Neki autori izostavljaju u deniciji apsolutne greke znak apsolutne vrijednosti. s Time se daje (ili zahtijeva) dodatna informacija o predznaku greke, no tada je s c c c pridjev apsolutna suvian. Medutim, esto tona vrijednost x nije poznata, ve s se tek zna neka ograda za |x x|. Ako je x poznat ili se zna da je reda veliine jedan, apsolutna greka je c s dobra mjera za udaljenost aproksimacije od tone vrijednosti. U znanosti medutim, c x esto varira izmedu vrlo malih (npr. veliine vezane uz atomsku ili molekularnu c c strukturu) i velikih (npr. veliine vezane uz svemir i njegove objekte) vrijednosti. c Tada je relativna greka esto primjerenija. Ona ima dodatno lijepo svojstvo da je s c nezavisna od skaliranja, |x | x |x x| = , |x| |x| R.

Relativna greka povezana je s brojem tonih znaajnih znamenaka. Znas c c ajne znamenke u broju su prve netrivijalne (tj. razliite od nule) znamenke i one c c koje slijede iza njih u zapisu. Npr. u broju 6.9990 imamo pet znaajnih znamenaka, c znai broj tonih ili korektnih znaajnih dok ih u broju 0.0832 imamo tri. Sto c c c znamenaka? Npr. ako je x = 1.00000, x = 9.00000, x = 1.00499, x = 8.99899, Grel = 4.99 103, Grel = 1.12 104,

vidimo da se x slae s odgovarajuim x na tri znaajne znamenke, a ipak je relativna z c c greka za ta dva sluaja razliita ak za faktor 44. s c c c Evo jedne mogue denicije: x kao aproksimacija od x ima p korektnih znaajc c nih znamenaka ako se x i x zaokruuju na isti broj od p znaajnih znamenaka. z c Zaokruiti broj na p znaajnih znamenaka znai zamijeniti ga s najbliim brojem z c c z koji ima p znaajnih znamenaka. Medutim, prema toj deniciji, brojevi x = 0.9949 c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 77

i x = 0.9951, se ne slau u dvije znaajne znamenke, ali se slau u jednoj i u tri z c z znaajne znamenke. Dakle, denicija nije dobra. c Pokuajmo zato s ovakvom denicijom: x kao aproksimacija od x ima p kos rektnih znaajnih znamenaka ako je |x x| manja od jedne polovine jedinice u p-toj c znaajnoj znamenci od x. Ova denicija implicira da se 0.123 i 0.127 slau u dvije c z znaajne znamenke, iako e mnogi tvrditi da se slau u tri. c c z Vidimo da je relativna greka preciznija mjera od slaganja u p znaajnih s c znamenaka, pa bi je trebalo preferirati. Kad su u pitanju vektori, apsolutna greka vektora x kao aproksimacije vektora s x, denira se pomou prikladne norme (npr. euklidske) c Gaps () = x x 2 . x Relativna greka je s x Grel () = a relacija xx , x

1 xx < 10p x 2 implicira da komponente xi za koje vrijedi |xi | znaajnih znamenaka. c

x imaju priblino p tonih z c

Ako elimo sve komponente vektora x staviti u isti plan, tada koristimo relaz tivne greke po komponentama, a veliinu s c max
i

|xi xi | |xi |

zovemo (maksimalna) relativna greka po komponentama. s Preciznost i tonost c Ove dvije rijei se esto zamijenjuju, pa kad ih ve imamo, moemo nainiti c c c z c sljedeu distinkciju. Tonost se odnosi na apsolutnu ili relativnu greku kojom c c s se aproksimira neka veliina. Preciznost je tonost kojom se izvravaju osnovne c c s raunske operacije. Kod raunanja u aritmetici pomine toke, preciznost mjerimo c c c c pomou preciznosti raunanja u. Kako je preciznost odredena brojem bitova u c c reprezentaciji mantise, ista rije e se koristiti i za broj bitova u mantisi. cc Napomenimo da tonost openito nije limitirana preciznou. Naime, pomoc c sc u aritmetike dane preciznosti moe se simulirati raunanje u (proizvoljno) veoj c z c c preciznosti. Medutim takve simulacije su skupe (u raunskom vremenu) pa nisu od c praktine vanosti. Stoga pretpostavljamo da se dana konana aritmetika ne koristi c z c za simulaciju aritmetike vee preciznosti. c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 78

3.2.

Aritmetika s pominom tokom c c

Na kalkulatorima se esto moe izabrati tzv. znanstvena notacija brojeva, c z koja npr. broj 27.77 prikazuje kao 2.777 101 pri emu je predznak broja (ili c mantise), . je decimalna toka, 2.777 je mantisa, koja se jo zove signikantni ili c s razlomljeni dio broja, 10 je baza, a 1 je eksponent. Zapis x = 27.77 = 2.777101 je kraa oznaka za prikaz broja c x = (2 101 + 7 100 + 7 101 + 7 102) = (2 100 + 7 101 + 7 102 + 7 103 ) 101 , a kako vrijedi x = [(1) (2 100 + 7 101 + 7 102 + 7 103 )] 101 , predznak broja je ujedno i predznak mantise. Openito, svaki se realni broj moe na jednoznaan nain zapisati u obliku c z c c m 10e gdje je 1 m < 10. Raunala za spremanje realnih brojeva koriste slinu reprezentaciju broja koja c c se zove pomina toka, ali se ne uzima baza 10 ve baza 2 (s iznimkom baze 16 c c c kod raunala IBM 370 i baze 10 kod veine kalkulatora). Tako je npr. c c y = (11.1011)2 = 1 21 + 1 20 + 1 21 + 0 22 + 1 23 + 1 24 = (1 20 + 1 21 + 1 22 + 0 23 + 1 24 + 1 25 ) 21 = (1.11011)2 21 . Ovdje je (11.1011)2 binarna reprezentacija broja y, a njen oblik u prikazu s pomic c nom tokom (1.11011)2 21 . Lako se izrauna da y ima decimalnu reprezentaciju c (3.625)10 , to se uobiajeno kae da je y broj 3.625. s c z

3.2.1.

Pretvaranje decimalne u binarnu reprezentaciju

Ne samo iracionalni, ve i mnogi racionalni brojevi imaju beskonano mnogo c c znamenaka u decimalnom brojnom sustavu. Npr. 1/3 ima prikaz 0.3, dok 5/17 ima prikaz 0.2941176470588235, pri emu se znamenke koje su oznaene izmedu toaka c c c periodiki ponavljaju. Uoimo da se i svaki konani decimalni prikaz broja moe c c c z napisati s beskonano znamenaka, npr. x = 32.75 = 32.749. Slina je situacija c c i s brojevima zapisanim u binarnom sustavu. Medutim, zanimljivo je da mnogi racionalni brojevi imaju u dekadskom sustavu konani prikaz, dok u binarnom susc tavu imaju beskonani prikaz. Vrijedi li i obrat? c Da bismo se u to uvjerili, izvedimo prvo algoritam za pretvaranje decimalnog oblika u binarni oblik.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 79

Neka x ima konani binarni prikaz. Tada x moemo prikazati kao sumu njec z govog cijelog i razlomljenog dijela, x = (ak ak1 a1 a0 .b1 b2 bl1 bl )2 = xc + xr , xc = (ak ak1 a1 a0 )2 = ak 2k + ak1 2k1 + + a1 21 + a0 20 , xr = (.b1 b2 bl1 bl )2 = b1 21 + b2 22 + + bl1 2(l1) + bl 2l .

(3.2.1) (3.2.2)

Ako je zadan cijeli broj xc u decimalnom obliku, kako odrediti njegove binarne c znamenke ak , . . . , a0 , koristei nama razumljivu decimalnu aritmetiku? Iz relacije (3.2.1) vidimo da cjelobrojno dijeljenje broja xc s 2 daje novi cijeli broj xc = ak 2k1 + ak1 2k2 + + a1 20 i ostatak a0 . Ako postupak ponovimo na broju xc , dobivamo sljedeu znamenku, c s c a1 . Ponavljanjem tog postupka (u naem sluaju k puta) dobivamo sve binarne znameke broja xc u redosljedu od a0 do ak . c c S obzirom da je xc cijeli broj, on e i u binarnom sustavu imati konani prikaz. Pritom e binarni prikaz imati [log2 (xc )] + 1 binarnih znamenaka (bitova). Oznaka c [z] za realni broj z oznaava najvei cijeli broj koji nije vei od z. Ako xc ima c c c p1 p decimalnih znamenaka (decimala), tada vrijedi 10 xc < 10p . Primjenom s funkcije log2 i koritenjem njene monotonosti, zadnje nejednakosti daju log2 (10p1) log2 (xc ) < log2 (10p ), odnosno (p 1) log2 (10) log2 (xc ) < p log2 (10). Kako je log2 (10) 3.3219, binarna reprezentacija zahtijeva oko 3.3p znamenka, dakle oko 3.3 puta vie nego decimalna reprezentacija. s z Neka je sada xr kao u relaciji (3.2.2). Tada mnoenjem broja xr s dva i uzimanjem cijelog dijela rezultata dobivamo b1 . Ponavljajui isti postupak s ostatkom c xr = b2 21 + + bl1 2(l2) + bl 2(l1) , dobivamo binarnu znamenku b2 . Nastavljanjem postupka (l puta) lako dobivamo sve binarne znamenke broja xr , u redosljedu od b1 do bl . Zbog jednostavnosti postupka, c odmah zakljuujemo da postupak vrijedi i u sluaju kad xr nema konani binarni c c prikaz, ali tada imamo beskonano koraka. c U sljedeem algoritmu za pretvaranje decimalne reprezentacije brojeva u bic narnu, pretpostavljamo koritenje decimalne aritmetike. s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 80

Algoritam 3.2.1 Neka je zadan racionalan broj x = xc + xr pri emu je xc cijeli c dio broja x, a xr razlomljeni dio takav da je 0 xr < 1. Algoritam rauna binarc nu reprezentaciju decimalnih brojeva xc i xr . Algoritam koristi operaciju div za cjelobrojno dijeljenje, mod za dobivanje ostatka kod cjelobrojnog dijeljenja i int za zaokruivanje realnog broja do cijelog broja u smjeru nule. Dakle, int je funkcija z koja odgovara matematikoj funkciji x [x] koju smo ve spomenuli. c c y := xc ; k := 1; repeat k := k + 1; a(k) := mod(y, 2); y := div(y, 2); until y = 0; z := xr ; l := 0; repeat l := l + 1; zz := 2 z; b(k) := int(zz); z := zz b(k); until z = 0 or l > lmax Pritom lmax oznaava najvei doputeni broj binarnih znamenaka u binarnoj c c s mantisi (sjetimo se da 1/10 ima beskonano nula i jedinica). c Primjer 3.2.1 Koritenjem algoritma 3.2.1 pretvorit emo decimalni broj 111.1 u s c binarni. Kad radimo runo zgodno je nacrtati tablicu, tako da kod pretvaranja c broja 111 za svaki korak piemo s desne strane rezultat cijelobrojnog dijeljenja, a s ispod djeljenika ostatak pri dijeljenju. Toka na kraju oznaava kraj. c c 111 1 to daje s 111 = (110111)2. Slino, kod pretvaranja decimalnog dijela broja, 0.1 u binarni broj, s desne c strane piemo rezultat mnoenja s dva, a s ispod crte rezultat zaokruivanja do cijelog s z z broja u smjeru nule. Ako je rezultat dijeljenja vei ili jednak jedan, u sljedeem c c mnoenju, prije samog mnoenja automatski oduzimamo jedinicu. Binarna toka z z c prethodi raunanju i piemo je ispod polaznog decimalnog broja c s 0.1 . 0.2 0 0.4 0 0.8 0 1.6 1 1.2 1 0.4 0 0.8 0 1.6 1 1.2 1 . 55 1 27 1 13 1 6 0 3 1 1 1 0 .

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 81

Primijetite da se parovi znamenki 0011 ponavljaju, pa dobivamo 0.1 = (0.0001100110011001100 . . .)2 = (0.00011)2 , odnosno (111.1)10 = (1101111.0001100110011001100 . . .)2 = (1101111.00011)2 .

3.2.2.

Reprezentacija brojeva u raunalu c

U programskim jezicima postoji nekoliko vrsta aritmetika koje koriste posve odredene tipove podataka. Cjelobrojna aritmetika koristi cjelobrojni tip podataka koji ine konani interval u skupu cijelih brojeva, realna aritmetika koristi takozvani c c realni tip podataka kojem pripada tek konani podskup racionalnih brojeva. Neto c s vei skup racionalnih brojeva ini tip brojeva u dvostrukoj preciznosti kojima c c su mantise vie od dvostruko dulje od mantisa realnog tipa. I pripadna aritmetika s je drukija od realne aritmetike (jer je vie nego dvostruko preciznija). Konano, c s c konani podskup skupa kompleksnih brojeva reprezentiran je tipom kompleksnih c brojeva (koji nije prisutan kod svih programskih jezika) nad kojim je denirana pripadna kompleksna aritmetika. Svaki od tih glavnih tipova obino ima svoje c podtipove (ili ekstenzije) koje obino odreduje broj bajtova. Jedan bajt (engl. byte) c ini 8 bitova, koji su dostatni za reprezentaciju jednog znaka. Dananja raunala c s c imaju elije od 32 bita pa su tome prilagodeni grada procesora, implementacije c aritmetika kao i cijeli operacioni sustav. Danas su dostupna i raunala bazirana na c 64 bitnim elijama. c Reprezentacija cijelih brojeva u raunalu c Pozitivni cijeli brojevi reprezentiraju se u 32 bitnoj eliji kao desno pozicionic rani binarni brojevi. Npr. broj 111 bit e smjeten ovako c s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 Na taj nain moemo smjestiti sve brojeve od 0 (koja je reprezentirana s 32 nule) c z 32 do 2 1 (koji je reprezentiran s 32 jedinice). Broj 232 je prevelik. Njegova binarna reprezentacija zahtijeva jednu jedinicu i 32 nule. Neki programski jezici imaju tip podataka cijeli broj bez predznaka i spomenuta reprezentacija je odgovarajua c za njih. Medutim, ako unutar 32 bita moramo spremati i pozitivne i negativne brojeve, prvo moramo vidjeti kako spremiti negativne cijele brojeve. Najoitija moguanost c c je uzeti jedan bit za predznak, na primjer prvi, tako da je taj bit 0 ako je broj pozitivan i 1 ako je negativan. S obzirom da na raspolaganju imamo jo 31 bit, s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 82

raspon tako reprezentiranih brojeva je od od 231 + 1 do 231 1. Medutim, gotovo sva dananja raunala koriste pametniji nain reprezentacije negativnih brojeva koji s c c se zove drugi komplement1 i pie 2. komplement. s U sustavu koji koristi drugi komplement, nenegativni cijeli broj x, 0 x 231 1 smjeta se kao binarna reprezentacija tog broja, dok se x, 1 x 231 1 s smjeta kao binarna reprezentacija broja 232 x. 1. komplement broja dobiva se s jednostavnim komplementiranjem znamenki, pa je za 111 1. komplement 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0. Dodamo li 1 toj reprezentaciji, dobili smo dvojni komplement 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1, ime je reprezentiran broj 111. c Primjer 3.2.2 Zbrojimo u binarnoj aritmetici brojeve 111 i 111 koritenjem 32s bitne reprezentacije i drugog komplementa. Imamo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Ovdje je vodea jedinica u rezultatu tzv. prekobrojni bit, jer je na 33. mjestu, nema c se gdje spremiti, pa se odbacuje. Preostaje 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 to je reprezentacija broja nula. s Zadatak 3.2.1 Koliko se razliitih cijelih brojeva moe reprezentirati ako se koristi c z sustav (a) predznak i modul, (b) 2. komplement? Koristite potencije od 2. Za koji od ovih sustava je reprezentacija nule jedinstvena? Promotrite sluajeve kad za reprezentaciju cijelih brojeva imate na raspolaganju c (i ) 32 bita, tj. 4 bytea, (iii ) 8 bita, tj. 1 byte,
1

(ii ) 16 bita, tj. 2 bytea, (iv ) 64 bita, tj. 16 bytea.

Jo se koristi naziv dvojni komplement. Ime dolazi odatle to se je izmedu 1960. i 1980. na s s nekim superraunalima koristio tzv. 1. komplement kod kojeg se negativni broj x smjestio kao c binarna reprezentacija od 232 x 1.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 83

Zadatak 3.2.2 Pokaite da je u sustavu reprezentacije cijelih brojeva pomou 2. z c komplementa (npr. u 32 bitnom formatu), najljeviji bit 1 ako i samo ako je x negativan. Zadatak 3.2.3 Da bi u sustavu reprezentacije cijelih brojeva pomou 2. komplec menta s 32 bita, od ve uskladitenog broja x dobili x treba poduzeti dva koraka. c s Prvi je promijeniti svaku 0 u 1 i svaki 1 u 0. Koji je drugi korak? Sva raunala imaju ugradene (hardverske) instrukcije za zbrajanje cijelih c brojeva. Ako se zbroje dva pozitivna cijela broja ili dva negativna cijela broja, (stvarni) rezultat moe biti broj koji je vei od maksimalnog prikazivog broja. z c Zanimljivo je da tada raunalo nee javiti nikakvu greku, jer je matematiki c c s c gledano, aritmetika cijelih brojeva u raunalu modularna aritmetika u prstenu osc tataka modulo 232 , samo je sistem ostataka simetrian oko 0, tj. c 231 , . . . , 1, 0, 1, . . . , 231 1. Brojeve izvan tog raspona uope ne moemo spremiti u raunalo. c z c Primjer 3.2.3 U cjelobrojnoj aritmetici izraunajmo n! za sve n 34. c Napiimo jednostavni program koji rauna n!, s tim da su sve varijable u pros c gramu prvo cijeli brojevi, a zatim, kontrole radi stavimo varijablu f act da pripada relnim brojevima (u barem dvostrukoj tonosti). c f act := 1; for i := 1 to 34 do; begin f act := f act i; (ispis i! = f act;) end; Rezultati programa bit e (lijevo rezultati u cjelobrojnoj aritmetici, u zagradi c u realnoj): 1! = 2! = 3! = 4! = 5! = 6! = 7! = 8! = 9! = 1 2 6 24 120 720 5040 40320 362880 (1.00000000000000e+00) (2.00000000000000e+00) (6.00000000000000e+00) (2.40000000000000e+01) (1.20000000000000e+02) (7.20000000000000e+02) (5.04000000000000e+03) (4.03200000000000e+04) (3.62880000000000e+05)

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 84

10! = 3628800 11! = 39916800 12! = 479001600 13! = 1932053504 14! = 1278945280 15! = 2004310016 16! = 2004189184 17! = 288522240 18! = 898433024 19! = 109641728 20! = 2102132736 21! = 1195114496 22! = 522715136 23! = 862453760 24! = 775946240 25! = 2076180480 26! = 1853882368 27! = 1484783616 28! = 1375731712 29! = 1241513984 30! = 1409286144 31! = 738197504 32! = 2147483648 33! = 2147483648 34! = 0

(3.62880000000000e+06) (3.99168000000000e+07) (4.79001600000000e+08) (6.22702080000000e+09) (8.71782912000000e+10) (1.30767436800000e+12) (2.09227898880000e+13) (3.55687428096000e+14) (6.40237370572800e+15) (1.21645100408832e+17) (2.43290200817664e+18) (5.10909421717094e+19) (1.12400072777761e+21) (2.58520167388850e+22) (6.20448401733239e+23) (1.55112100433310e+25) (4.03291461126606e+26) (1.08888694504184e+28) (3.04888344611714e+29) (8.84176199373970e+30) (2.65252859812191e+32) (8.22283865417792e+33) (2.63130836933694e+35) (8.68331761881189e+36) (2.95232799039604e+38).

Primijetite da razlike poinju kod 13!, kad u cjelobrojnoj aritmetici dobijemo da c je 13! < 12!. Nadalje, primijetite da n! u cjelobrojnoj aritmetici moe biti negativan z broj ili 0. Zadatak 3.2.4 Pokaite, da bez obzira kolika je duljina elija u koju spremamo z c cijeli broj, postoji k takav da je za svaki n > k uvijek n! = 0. Promotrimo operaciju x + (y), gdje su 0 x 231 1 i 0 y 231 . S obzirom da je broj y u reprezentaciji 2. komplementa ima binarni prikaz od 232 y, zbroj emo zapisati kao c 232 + x y = 232 (y x).

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 85

Ako je x y najljeviji bit u reprezentaciji od 232 + (x y) bit e jedinica (na c 32 poziciji potencije 2 ) i ona e se odbaciti, pa e ostati toan rezultat x y. Ako je c c c x < y, rezultat 232 (y x) stane unutar 32-bitne reprezentacije i reprezentira broj (y x). Ovo razmatranje pokazuje jedno vano svojstvo sustava reprezentacije s z 2. komplementom: nije potrebna nikakva posebna (hardverska) operacija za cjelobrojno oduzimanje. Jer, kad se jednom broj y reprezentira, dovoljno je koristiti samo operaciju hardverskog zbrajanja. Zadatak 3.2.5 Ako cijele brojeve prikazujemo 8-bitnom reprezentacijom, pokaite z detalje kako nastaju cjelobrojne sume: 50 + (200), 200 + (50) i 200 200. Pored zbrajanja, postoje jo dvije standardne (hardverske) operacije za cjelos brojne operande: cjelobrojno mnoenje i cjelobrojno dijeljenje. z Reprezentacija realnih brojeva u raunalu c U raunalu se realni brojevi reprezentiraju pomou binarne reprezentacije u c c znanstvenoj notaciji, x = m 2e , Stoga je m = (b0 .b1 b2 b3 . . . bp1 )2 pri emu je b0 = 1. c (3.2.4) z Na primjer, broj 111.5 = (1101111.1)2 se moe napisati kao (1.1011111)2 26 . Vidimo da je u znanstvenom prikazu binarna toka pomaknuta za 6 mjesta ulijevo, c a pritom se eksponent poveao za 6. Kako se zahtijeva da je b0 = 1, moemo pisati c z m = (1.b1 b2 b3 . . . bp1 )2 . U tom prikazu, binarne znamenke desno od binarne toke ine razlomljeni dio manc c tise, a relacije (3.2.3) i (3.2.4) predstavljaju normalizirani oblik ili reprezentaciju broja x. Sam proces dobivanja tog oblika se zove normalizacija. Da bismo spremili normalizirane brojeve u raunalo, podijelimo memorijsku c rije (sadraj jedne elije) u tri dijela koja zovemo polja. Kod 32-bitnih raunala, c z c c rije uobiajeno ima 32 bita pa se obino dijeli na sljedei nain (tip single): 1 c c c c c bit za predznak, 8 bita za eksponent e i 23 bita za mantisu. Bit za predznak je 0 (1) ako je broj pozitivan (negativan). Polje za eksponent ima osam bitova pa moe reprezentirati ekponent e koji je izmedu granica 128 i 127 (npr. pomou z c reprezentacije s drugim komplementom). Preostala 23 bita za smjetaj mantise s koriste se za smjetaj razlomljenog dijela mantise, jer je uvijek b0 = 1, pa ga ne s c treba spremati. Zato se b0 obino naziva skriveni bit. Realni broj x nazivamo egzaktno reprezentabilnim u raunalu ili brojem s pominom tokom ako c c c se na opisani nain moe bez greke smjestiti u raunalo. Ako broj nije egzaktno c z s c reprezentabilan u raunalu, on se mora prije smjetanja u raunalu zaokruiti. c s c z gdje je 1 m < 2. (3.2.3)

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 86

Primjer 3.2.4 U primjeru 3.2.1 pokazano je da je (111.1)10 = (1101111.00011)2 , pa x = 111.1 nije egzaktno reprezentabilan u raunalu. Normalizirajmo taj broj c x = (1.10111100011)2 26 . Oito je da se u raunalo moe pohraniti samo konaan broj znamenki iza binarne c c z c toke. U sluaju mantise duljine 23 bita, broj se zaokruuje na 23 znamenke iza c c z decimalne toke i sprema u prostor za mantisu. U polje eksponenta sprema se broj c s c c c 6 u binarnom zapisu (110)2, to emo krae oznaavati eksp(6). Dakle, sprema se predznak: 0 eksponent: 0 0 0 0 0 1 1 0 = eksp(6) mantisa: 1 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 . S druge strane broj y = 222 = 4194304, e imati egzaktnu reprezentaciju c predznak: 1 eksponent: eksp(22) mantisa: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 . Zadatak 3.2.6 Koji su najvei i najmanji pozitivni brojevi koji se mogu reprezenc tirati kao realni brojevi u raunalu (brojevi zapisani s pominom tokom, gdje je c c c 1. bit za predznak, 8 bitova za eksponent i 23 bita za mantisu)? Ne zaboravite na skriveni bit i na ogranien interval [128, 127] za eksponent. Koji je najmanji cijeli c pozitivni broj koji nije egzaktno reprezentabilan? Zadatak 3.2.7 Pretpostavimo da umjesto oblika (3.2.4) u relaciji (3.2.3) zahtijevamo S = (0.b1 b2 b3 . . . bp1 )2 , pri emu je b1 = 1. Pretpostavimo da se u polje za mantisu smjetaju binarne c s znamenke b2 b3 . . . b24 i da je, kao i prije, raspon za eksponent 128 e 127. Koji je najvei i najmanji pozitivni broj u tom formatu? Koji je najmanji pozitivni broj c koji nije egzaktno reprezentabilan? Primijetite da u realnom formatu postoje brojevi koji su preveliki da bi se mogli smjestiti u odgovarajui format. Na primjer, mnoenjem dva velika broja c z rezultat moe biti takav da se ne moe spremiti. U tom sluaju dolazi do tzv. z z c raunalo u takvom sluaju naini preljeva ili prekoraenja (engl. overow). Sto c c c c ovisi o prevodiocu (engl. compiler) za odgovarajui programski jezik. Najee c c sc se prekida raunanje uz adekvatnu poruku. c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 87

Strojni epsilon, ulp i preciznost Preciznost p moemo u danom brojevnom sustavu denirati brojem bitova u z mantisi pri emu se rauna i skriveni bit. U opisanom brojevnom sustavu je p = 24. c c U brojevnom sustavu s preciznou p, normalizirani broj s pominom tokom ima sc c c oblik x = (1.b1 b2 . . . bp2 bp1 ) 2e . (3.2.5) Najmanji takav x koji je vei od 1 je c (1.00 . . . 01)2 = 1 + 2(p1) . Razmak izmedu ta dva broja se zove strojni epsilon (engl. machine epsilon) i zapisuje (p1) . M = 2 Openitije, za x kao u relaciji (3.2.5) denira se c ulp(x) = (0.00 . . . 01)2 2e = 2(p1) 2e =
M

2e .

(3.2.6)

Ulp je kratica engleskih rijei unit in the last place. Ako je x > 0 (x < 0), ulp(x) c je razmak izmedu x i sljedeeg veeg (manjeg) reprezentabilnog broja. c c Zadatak 3.2.8 Neka je p = 24, tako da je x = 0.5, 0.125, 3, 8, 10, 100, 125.
M

= 223 . Odredite ulp(x) redom za

Nadalje, postavlja se pitanje kako spremiti nulu u raunalo? To se postie c z koritenjem specijalnog niza bitova u polju za eksponent. Tomu emo posvetiti vie s c s panje kod opisa IEEE standarda. z BSP ili brojevni sustav za prikazivanje Da bismo shvatili koje toke na brojevnom pravcu odgovaraju reprezentabilc nim brojevima, denirat emo pojednostavljeni brojevni sustav za prikazivanje c ili krae BSP, koji se sastoji od brojeva oblika c (b0 .b1 b2 )2 2e , b0 , b1 , b2 {0, 1}, e {1, 0, 1}.

Preciznost je p = 3, najvei prikazivi broj je c (1.11)2 21 = (3.5)10 , a najmanji (1.00)2 21 = (0.5)10 .

Kako je desni susjed od 1 u BSP-u 1.25, strojni epsilon je M = 0.25. Ako promatramo sve brojeve u BSP-u za koje je e = 0, vidjet emo da su to brojevi 1, 1.25, c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 88

1.5 i 1.75. Izmedu svih njih je isti razmak ulp(x) = M . Brojevi u BSP-u za koje je e = 1 dobiju se mnoenjem s dva onih brojeva za koje je e = 0, pa su to brojevi z 2, 2.5, 3, 3.5 i za njih je ulp(x) = 2 M . Slino, brojevi iz BSP-a za koje je e = 1 c su 0.5, 0.625, 0.75 i 0.825 i za njih je ulp(x) = M /2. Vidimo da je razmak izmedu broja x BSP i njegovog desnog susjeda u BSP-u jednak ulp(x) =
M

2e .

Slika 3.2.1 BSP brojevni sustav c Uoimo da je razmak izmedu nule i 0.5 mnogo vei od razmaka brojeva c c z izmedu 0.5 i 1. Uskoro emo vidjeti da se razmak izmedu nule i 0.5 moe ispuniti tzv. subnormalnim brojevima.

3.3.

IEEE Aritmetika

U kasnim 70-tim i ranim 80-tim godinama, dolo je do izuzetne suradnje s eksperata iz industrije i sa sveuilita. Predvodeni W. Kahanom sa kalifornijskog c s sveuilita u Berkeleyu, strunjaci iz raunarstva i dizajneri mikroipova uspjeli su se c s c c c dogovoriti oko standarda smjetanja brojeva u raunalo i standarda aritmetike. To s c je bilo vrijeme naglog razvoja osobnih raunala s Intelom i Motorolom kao glavnim c proizvodaima procesora. IEEE standard za binarnu aritmetiku je publiciran 1985. i c spominje se kao IEEE 754. Razvoj kalkulatora i malih, tzv. handheld raunala koja c koriste decimalnu aritmetiku utjecao je na razvoj standarda IEEE 854 koji vrijedi za svaku bazu i konzistentan je s prethodnim standardom za binarnu aritmetiku. Kad se spominje IEEE aritmetika podrazumijeva se da ta aritmetika udovoljava spomenute standarde. Bitni zahtjevi IEEE standarda su: (i) konzistentna reprezentacija brojeva s pominom tokom na svim raunalima c c c koja prihvaaju standard, c (ii) korektno zaokruene raunske operacije u svim nainima rada i z c c (iii) konzistentno tretiranje izvanrednih situacija kao to je npr. dijeljenje s nulom. s U tom standardu je vodea jedinica normalizirarog broja skrivena, pa je zato potrebc na specijalna reprezentacija broja nula. Uvodi se i specijalna reprezentacija brojeva , brojeva 0 (to je za razliku od matematiki gledano razliitih + i , isti c c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 89

broj), te specijalnih izmiljenih brojeva NaN (Not a number, koji je oznaka za, s npr. kvocijent 0/0). IEEE format specicira dva osnovna formata: jednostruki i dvostruki.

3.3.1.

Jednostruki format

Broj u jednostrukom formatu sprema se u eliju koja ima tri polja: polje c za predznak (1 bit, ), polje za eksponent (8 bitova, bitovi a1 a2 . . . a8 ) i polje za mantisu (23 bita, bitovi b1 b2 . . . b23 ) i prikazat emo ih na sljedei nain: c c c a1 a2 . . . a8 b1 b2 . . . b23 . Ovaj format opisan je tablicom 3.3.1. Pritom znak u nizu bitova znai 0 ako je c ako je niz a1 a2 . . . a8 (00000000)2 = (0)10 (00000001)2 = (1)10 (00000010)2 = (2)10 (00000011)2 = (3)10 . . . (01111111)2 = (127)10 (10000000)2 = (128)10 . . . (11111100)2 = (252)10 (11111101)2 = (253)10 (11111110)2 = (254)10 (11111111)2 = (255)10 onda je numerika vrijednost c (0.b1 b2 . . . b23 )2 2126 (1.b1 b2 . . . b23 )2 2126 (1.b1 b2 . . . b23 )2 2125 (1.b1 b2 . . . b23 )2 2124 . . . (1.b1 b2 . . . b23 )2 20 (1.b1 b2 . . . b23 )2 21 . . . (1.b1 b2 . . . b23 )2 2125 (1.b1 b2 . . . b23 )2 2126 (1.b1 b2 . . . b23 )2 2127 ako su svi bi = 0, inae NaN c

Tablica 3.3.1 IEEE jednostruki format predznak broja + i 1 ako je . Iz prvog reda vidimo da je nula reprezentirana s 00000000 00000000000000000000000 . Svi retci u tablici 2, osim prvog i zadnjeg, reprezentiraju normalizirane brojeve. Vidimo da eksponent nije prikazan, ni kao drugi komplement, niti u obliku predznak plus modul, ve kao 127 + e. Broj 127 + e zvat emo karakteristika. Npr. broj 1 c c reprezentira se kao 0 01111111 00000000000000000000000 ,

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 90

dok se broj

0.1 = (1.10011)2 24 ,

ako se viak znamenki odbacuje, reprezentira kao s 0 01111011 10011001100110011001100 , a ako se viak znamenki korektno zaokruuje (tako to rade sva moderna raunala), s z c jer su prve dvije odbaene znamenke 11, c 0 01111011 10011001100110011001101 . Najmanji i najvei eksponent od 2 u tom formatu su emin = 126 i emax = 127. c Najmanji normalizirani broj Nmin = (1.000 . . . 0)2 2126 = 2126 1.1755 1038 reprezentira se s 0 00000001 00000000000000000000000 , dok se najvei broj c Nmax = (1.111 . . . 1)2 2127 = (2 223 ) 2127 2128 3.4028 1038 reprezentira s 0 11111110 11111111111111111111111 . Odmah vidimo da je 1 < Nmax , Nmin pa inverz najmanjeg normaliziranog broja ne dovodi do prekoraenja gornje granice c (overow). Iz zadnjeg retka tablice vidimo da niz bitova 1111111 u eksponencijalnom dijelu reprezentacije vodi ili do (samo ako su svi bi jednaki 0) ili do NaN. Konano, pogledajmo jo jednom prvi redak tablice 3.3.1. U njemu je ekspoc s nencijalni dio uvijek 0000000, dok razlomljeni dio moe imati bilo koji izbor jedinica z i nula. Ako su svi bi nula, imat emo +0, ili 0 ovisno o prvom bitu. Ako nisu svi c bi nula, dobit emo tzv. subnormalne ili denormalizirane brojeve koji ekvidisc tantno ispunjavaju razmak izmedu Nmin i +Nmin . Najmanji pozitivni subnormalni broj reprezentiran je kao 0 00000001 00000000000000000000001 , a vrijednost mu je 2149 = (0.000 . . . 01) 2126 .

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 91

To je najmanji broj koji se moe reprezentirati pomou jednostrukog formata. Naz c jvei subnormalni broj je c (0.111 . . . 11)2 2126 i on je za 2149 manji od Nmin . Sve reprezentabilne brojeve u brojevnom sustavu za prikazivanje, ukljuujui i subnormalne brojeve sada moemo prikazati slikom 3.3.1. c c z

Slika 3.3.1 BSP brojevni sustav sa subnormalnim brojevima Subnormalni brojevi su manje toni od normaliziranih. Npr. c (1/10) 2136 = (0.1100)2 2139 ima reprezentaciju 0 00000000 00000000000001100110011 . Zadatak 3.3.1 U jednostrukom IEEE formatu odredite reprezentacije sljedeih broc 100 142 . jeva s pominom tokom: 3, 2000, 11.5, 11.5 2 i 0.1 2 c c Zadatak 3.3.2 Napiite algoritam koji odreduje koji je od dva broja x, y zapisanih s u jednostrukom IEEE formatu vei od drugoga. Treba usporedivati bitove slijeva c nadesno i donijeti zakljuak na prvom mjestu na kojem se razlikuju. Cinjenica da c se to moe uiniti tako jednostavno utjecala je na to da se eksponent smjesti u polje z c pomou karakteristike. c

3.3.2.

Dvostruki format

Kod zahtjevnijih raunanja, jednostruki format nije adekvatan, kako zbog neizc bjenih greaka zaokruivanja, tako zbog premalog raspona brojeva u tom formatu. z s z Zato IEEE standard specicira i drugi tzv. dvostruki format koji koristi 64-bitnu rije, c a1 a2 . . . a11 b1 b2 . . . b52 . Detalji su vidljivi u tablici 3.3.2. Ideje su iste kao kod jednostrukog formata, samo su polja za mantisu i eksponent vea: 11 bitova za eksponent i 52 bita za razlomljeni c dio mantise, pa su zato emin = 1022 i emax = 1023, te Nmin = 21022 = 2.225 10308

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 92

ako je niz a1 a2 . . . a11 (00000000000)2 = (0)10 (00000000001)2 = (1)10 (00000000010)2 = (2)10 (00000000011)2 = (3)10 . . . (01111111111)2 = (1023)10 (10000000000)2 = (1024)10 . . . (11111111100)2 = (2044)10 (11111111101)2 = (2045)10 (11111111110)2 = (2046)10

onda je numerika vrijednost c (0.b1 b2 . . . b52 )2 21022 (1.b1 b2 . . . b52 )2 21022 (1.b1 b2 . . . b52 )2 21021 (1.b1 b2 . . . b52 )2 21020 . . . (1.b1 b2 . . . b52 )2 20 (1.b1 b2 . . . b52 )2 21 . . . (1.b1 b2 . . . b52 )2 21021 (1.b1 b2 . . . b52 )2 21022 (1.b1 b2 . . . b52 )2 21023

(11111111111)2 = (2047)10 ako su svi bi = 0, inae NaN c Tablica 3.3.2 IEEE dvostruki format i

Nmax = (2 252 ) 21023 1.797693 10308 .

IEEE standard zahtijeva da raunalo omoguava jednostruki format. Dvoc c struki format se zahtijeva tek kao mogunost, iako ga gotovo sva raunala koja c c podravaju standard imaju. Podrka na zahtjeve standarda moe biti programz s z ska (softverska) ili elektronika (hardverska), iako zbog brzine rada raunala, c c proizvodai raunala najee daju hardversku podrku standardu. c c c sc s U sljedeoj tablici prikazani su karakteristini podaci za jednostruki i dvostruki c c format. format jednostruki dvostruki emin 126 1022 emax 127 1023 Nmin 2126 1.2 1038 21022 2.2 10308 Nmax 2128 3.4 1038 21024 1.8 10308

Tablica 3.3.3 Raspon brojeva s pominom tokom u IEEE formatima c c Standard takoder snano preporua i podrku za tzv. proireni (engl. exz c s s tended) format koji bi trebao imati barem 15 bitova za eksponent i barem 63 bita za

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 93

mantisu. Intelovi mikroprocesori implementiraju aritmetiku s proirenim formatom s u hardware-u, koritenjem 80-bitnih regisatra, od ega se 15 bitova koristi za eks c sponent, a 64 bita za mantisu, pri emu, za razliku od jednostrukog i dvostrukog c formata, vodei bit (jedinica) nije skriven. Drugi strojevi (npr. Sun i Sparc) imc plementiraju proireni format sa 128 bitova, ali softverski, pa je aritmetika ovdje s sporija. Kod Intelovog proirenog formata, prvi desni susjed od 1 bio bi 1 + 264 , s ali kako se on ne moe reprezentirati jer nema skrivenog bita, prvi desni susjed z je 1 + 263 . S obzirom da je log10 (223 ) 6.9236, log10 (224 ) 7.2247, preciznost p = 24 odgovara priblino 7 znaajnih decimalnih znamenki. Slino, preciznost z c c p = 53 odgovara priblino 16, a p = 64 odgovara priblino 19 znaajnih decimalnih z z c znamenki. format jednostruki dvostruki proireni (Intel) s preciznost (p) 24 53 64 strojni epsilon (
M)

223 1.2 107 252 2.2 1016 263 1.1 1019

Tablica 3.3.4 Preciznost kod IEEE formata Moderna raunala adresiraju memoriju po byte-ovima, pa 32-bitnu rije adrec c c siraju sa 4 byte-a, nazovimo ih B1 , . . . , B4 , pri emu je B4 = B1 +3. U jednostrukom formatu, najvaniji je byte u kojem su smjeteni , a1 , . . . , a7 ( je predznak). Ako z s je taj byte adresiran s B1 (B4 ), tada se takav adresni sustav zove Big (Small) Endian. Npr. IBM i Sun koriste BIG, dok Intel koristi Small Endian (neki procesori kao DEC Alpha mogu raditi s oba sustava). To znai da kod transfera podataka s c jednog raunala na drugo traba biti oprezan. c

3.3.3.

BSPT i zaokruivanje u BSPT z

Brojevni sustav s pominom tokom krae emo oznaavati s BSPT, c c c c c a skup brojeva s pominom tokom s BPT. Te oznake se odnose na razmatrani c c sustav/skup brojeva za koji emo smatrati, ako drugaije ne naznaimo, da zadoc c c voljavaju IEEE standard. Za realni broj x rei emo da lei u intervalu normaliziranih brojeva susc c z tava s pominom tokom, ako vrijedi c c Nmin |x| Nmax . Dakle, brojevi 0, i subnormalni brojevi nisu u tom intervalu, iako pripadaju spomenutom brojevnom sustavu.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 94

Neka je x realni broj koji nije reprezentabilan u sustavu brojeva s pominom c tokom. Tada je barem jedna od sljedeih tvrdnji istinita: c c x lei izvan intervala normaliziranih brojeva (npr. x = 2129 u jednostrukom z formatu), binarna reprezentacija od x zahtijeva vie od p bitova za egzaktnu reprezens taciju (npr. x = 0.1). U oba sluaja porebno je X zamijeniti brojem iz sustava brojeva s pominom c c tokom. Neka je c x x x+ , z pri emu su brojevi s pominom tokom x i x+ najblii broju x (vidi sliku ). c c c
x x+ 3 2 1 0 1 2 3

Slika 3.3.2 Zaokruivanje u BSPT brojevnom sustavu z Ako pretpostavimo da je x = (1.b1 b2 . . . bp1 bp bp+1 . . .)2 2e , onda su x = (1.b1 b2 . . . bp1 )2 2e x+ = [(1.b1 b2 . . . bp1 )2 + (0.00 . . . 01)2 ] 2e , (3.3.1)

i razmak izmedu x i x+ je 2p1 2e = ulp(x ). Ako je x > Nmax , tada je x = Nmax i x+ = . Ako je 0 < x < Nmin , tada je x ili nula ili subnormalni broj, a x+ je subnormalni ili Nmin . Ako je x negativan, tada je situacija analogna (zrcalna slika u odnosu na ishodite). IEEE standard s denira korektno zaokruenu vrijednost od x, koja se oznaava s round(x) na z c sljedei nain. Ako je x broj s pominom tokom, tada je round(x) = x. Ako nije, c c c c onda vrijednost od round(x) ovisi o nainu (modu) zaokruivanja koji je aktivan. c z Postoje etiri naina: c c zaokruivanje prema dolje (jo se kae prema ): round(x) = x , z s z zaokruivanje prema gore (jo se kae prema ): round(x) = x+ , z s z zaokruivanje prema nuli: z round(x) = x x+ ako je x > 0, ako je x < 0,

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 95

zaokruivanje prema najbliem: z z round(x) = x x+ ako je |x x | < |x x+ |, ako je |x x | > |x x+ |.

c Ako je |xx | = |xx+ | uzima se x ili x+ , ve prema tome je li u x ili u x+ najmanje znaajni bit bp1 nula. Ako je x > Nmax uzima se round(x) = +, c a ako je x < Nmin uzima se round(x) = . U praksi se gotovo uvijek koristi zadnji nain zaokruivanja, prema najbliem c z z susjedu u sustavu brojeva s pominom tokom i njega emo jo malo pojasniti. Neka c c c s je x opet kao u (3.3.1). Ako je prvi bit koji se ne moe reprezentirati, bp jednak 0, z tada je round(x) = x . Ako je bp = 1 i jo barem jedan od sljedeih bitova nije s c nula, tada je round(x) = x+ . Ako je bp = 1 i svi preostali bitovi od x su 0, tada se uzima x , ili x+ ovisno o tome koji od njih ima najmanje znaajan bit 0. Uoimo c c c da se x i x+ razlikuju samo u zadnjem bitu, pa e jedan sigurno biti izabran. IEEE standard zahtijeva da se kao prvi (uobiajen, default) nain uzima zaokruivanje c c z prema najbliem, pa e se nadalje, ako se ne spomene drugaije, round(x) koristiti z c c u tom smislu. Ako je x > Nmax i nain zaokruivanja je prema najbliem, tada je c z z round(x) = iako je x naravno blie Nmax nego . z Zadatak 3.3.3 Napiite u jednostrukom IEEE formatu reprezentacije zaokruenih s z 24 131 vrijednosti (u nainu do najblieg) brojeva: 1/10, 2 2 i 2 . c z Zadatak 3.3.4 Konstruirajte x za koji su x i x+ jednako udaljeni od x i nadite pripadnu reprezentaciju broja x. Zadatak 3.3.5 Neka x, 0 < x < Nmin nije subnormalni broj. Tada je x = (0.b1 b2 . . . bp1 bp bp+1 . . .)2 2emin , pri emu je bar jedan od brojeva bp bp+1 . . . jednak 1. Sto je x ? Uzmi kao primjere c 130 150 i2 . (Pretpostavka je jednostruki format i emin = 126). brojeve 2 Ako broj x, x = (1.b1 . . . bp1 bp bp+1 . . .)2 2e nije reprezentabilan jasno je da je x x x+ , bez obzira na nain zaokruivanja. c z Stoga je | round(x) x| < 2(p1) 2e , pa kaemo da je apsolutna greka kod zaokruivanja manja od jednog ulp-a. Pritom z s z se misli na ulp(x ) ako je x > 0 i ulp(x+ ) ako je x < 0. Kad je prisutno zaokruivanje z do najblieg, onda vrijedi jaa ocjena z c | round(x) x| 2p 2e , pa kaemo da je apsolutna greka zaokruivanja pola ulp-a. z s z

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 96

Zadatak 3.3.6 Odredite apsolutnu greku prikaza 1/10 u jednostrukom IEEE fors matu. Koristite svaki od etiri naina zaokruivanja. c c z Zadatak 3.3.7 Vrijede li gornje ocjene za apsolutnu greku zaokruivanja ako je s z |x| < Nmin ? Objasnite. Zadatak 3.3.8 Kolika je apsolutna greka za svaki od naina zaokruivanja ako je s c z |x| < Nmin . Pazite na deniciju round(x). S obzirom da apsolutna greka kod zaokruivanja raste kad |x| raste, promos z trimo relativnu greku od round(x) kao aproksimaciju od x. Iz relacije (3.3.1) znamo s e da je |x| 2 . Stoga za sve naine zaokruivanja vrijedi c z | round(x) x| 2(p1) 2e < = 2(p1) u. |x| 2e Kod zaokruivanja do najblieg vrijedi malo bolja ocjena z z 2p 2e | round(x) x| = 2p u. |x| 2e Koritenjem oznaka iz relacija (3.1.2) i (3.1.1) moemo za realne brojeve koji lee u s z z normaliziranom intervalu napisati round(x) = x(1 + ), || u, (3.3.2)

z z gdje je u = 2p ako se koristi zaokruivanje do najblieg i u = 2p+1 ako se koriste ostali naini zaokruivanja. Pritom je p preciznost raunala. Uoimo da = (x) c z c c ovisi o x i nainu zaokruivanja. S obzirom da raunala u normalnom radu koriste c z c zaokruivanje do najblieg, ako nee biti drugaije naznaeno, u = 2p , pri emu je z z c c c c p = 24 za jednostruki, p = 53 za dvostruki i p = 64 za proireni format. s Zadatak 3.3.9 Nadite x u normaliziranom intervalu BPT za koji je = 2p ako se koristi uobiajeni nain zaokruivanja do najblieg. c c z z Zadatak 3.3.10 Vrijedi li ocjena (3.3.2) za |x| < Nmin? c c S obzirom da je log2 ((x)) > p (odnosno p 1 ako nije uobiajeni nain zaokruivanja), vidimo da mjera log2 ((x)) daje broj binarnih znamenaka do koz jeg se x i round(x) podudaraju. Slino e log10 ((x)) > log10 (u) mjeriti broj c c decimalnih mjesta u kojima se x i round(x) podudaraju. S obzirom da je 2p+1 2e | round(x) x| < = 2p+1 u, | round(x)| 2e

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 97

odnosno,

2p 2e | round(x) x| = 2p u, | round(x)| 2e

ako je prisutno zaokruivanje do najblieg, moemo pored relacije (3.3.2) koristiti i z z z relaciju x , || u. (3.3.3) round(x) = 1+ Pritom iz relacije (3.3.3) ne mora biti jednak onom iz relacije (3.3.2). Relacije (3.3.2) i (3.3.3) su osnova za analizu greaka zaokruivanja koju emo upoznati s z c kasnije.

3.3.4.

Korektno zaokruene osnovne raunske operacije z c

Jedna od najznaajnijih znaajki IEEE standarda je da zahtijeva vrlo poeljnu c c z preciznost osnovnih raunskih operacija: rezultat mora biti takav kao da je izraunat c c tono i tek onda zaokruen. c z Oznaimo sa , , i operacije +, , , i / kako su stvarno implementirane c u raunalu. Ako s i c oznaimo odgovarajue operacije u algebri i u raunalu, c c c tada IEEE standard zahtijeva da vrijedi x y = f (x y) = round(x y) = (x y)(1 + ), || u, (3.3.4)

gdje su {+, , , /}, {, , , }, a x i y su reprezentabilni brojevi. Osim za etiri osnovne raunske operacije, standard zahtijeva da (3.3.4) vrijedi i za unarnu c c operaciju drugog korijena. Konana aritmetika koja zadovoljava (3.3.4) katkad se c naziva aritmetika s korektim zaokruivanjem. z Lijeva strana u (3.3.4) je broj u skupu BPT, pa vrijedi: 1 x = x, x x = 1, 0.5 x = x 2 kao i vano svojstvo: ako su x i y brojevi u skupu BPT i vrijedi z x y = 0, tada je x = y. Koritenjem izvoda i same relacije (3.3.3), odmah vidimo da vrijedi i ocjena s x y = f (x y) = xy , 1+ || u, (3.3.5)

pri emu zadnji nije openito jednak iz relacije (3.3.4). c c Napomena 3.3.1 U numerikoj matematici uvrijeila se notacija f (x + y), f (x c z y), f (x y), f (x/y) za operacije x y, x y, x y i x y. Takoder, f (izraz) oznaava izraunatu vrijednost izraza pomou operacija , , i . Slino, c c c c f (f (x)) oznaava izraunatu vrijednost funkcije f u toki x. c c c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 98

Zadatak 3.3.11 Koji je najvei broj x iz skupa BPT za koji je 1 x = 1. Pretc postavke su: IEEE jednostruki format i zaokruivanje do najblieg. Uz iste uvjete, z z koliko je 1 round(105 ), 1 round(1010 ), 1 round(1015 )? Iz same denicije operacija , i slijedi x y = y x, x y = (y x) i x y = y x. Medutim, ve za malo sloenije izraze, ono to vrijedi u aritmetici, c z s ne vrijedi u konanoj algebri s IEEE standardom. c Primjer 3.3.1 Neka je x = 1, y = 225 , z = 1. Ti brojevi su u skupu BPT. Kako je y = 1.0 225 , suma x + y = 1.0000000000000000000000001 se ne moe egzaktno reprezemtirati u IEEE jednostrukom formatu, pa e uz zaokruz c ivanje prema najbliem biti z z x y = 1. Stoga e vrijediti c (x y) S druge strane, egzaktni je rezultat (x + y) z = 225 reprezentabilan u sustavu brojeva BPT, pa vrijedi round((x + y) z) = 225 . Pokazali smo da je f ((x + y) z) = 0, iako je round((x + y) z) = 225 , pa za taj izraz ne vrijedi pravilo koje je aksiom IEEE standarda za osnovne raunske c operacije. Slino, asocijativnost zbrajanja i distributivnost mnoenja prema zbrajanju, c z nee u IEEE aritmetici uvijek vrijediti. c Zadatak 3.3.12 Neka su x = 1, y = 225 , z = 1.1 225 . Uz pretpostavku IEEE jednostrukog formata i zaokruivanja do najblieg, izraunajte z z c a (x y) z, b x (y z). Pokaite da a i b nisu jednaki! z Rjeenje s x y = 1, (x y) z = 1 z = 1, y z = 2.1 225 , x (y z) = 1 2.1 225 = 1 + 223 . z=1 z = 0.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 99

3.3.5.

Implementacija operacija na raunalu c


x y = x + (y).

Ponimo od zbrajanja i oduzimanja, koje neemo posebno razlikovati, jer je c c Ako operandi nemaju isti eksponent, onda se (po modulu) manji operand napie s u obliku nenormaliziranog broja s eksponentom veeg. To znai da mu se mantisa c c pomakne udesno za onoliko binarnih mjesta kolika je na poetku bila razlika u c eksponentima operanada. Zatim se rezultat svede na normalizirani oblik, pri emu c se prvo mantisa pomakne ulijevo ili udesno ako je potrebno, zaokrui i, ako je z nakon zaokruivanja potrebno, opet se pomakne. Svako pomicanje mantise rezultira z istovremenim pomakom eksponenta. Sigurnosni i zalijepljeni bitovi Da bi se implementirala IEEE aritmetika potrebni su i tzv. sigurnosni (dodatni, zatitni, rezervni) bitovi. To znai da aritmetika u raunalu koristi registre s c c koji sadre rije s vie bitova nego to zahtijeva standard za reprezentaciju brojeva. z c s s Promotrimo raunanje razlike x y u jednostrukom formatu, pri emu je c c x = (1.0)2 20 i y = (1.111 . . . 1)2 21 . Izjednaavanjem eksponenata, dobije se c (1.00000000000000000000000| )2 20 (0.11111111111111111111111|1)2 20 = (0.00000000000000000000000|1)2 20 normalizacija: = (1.00000000000000000000000|0)2 224 . Ovdje smo koristili jedan dodatni bit (iza okomite crte | koja prikazuje granicu). Ovo je primjer kraenja, jer se skoro svi bitovi rezultata pokrate. c Sljedei primjer pokazuje da katkad nije dovoljan jedan bit. Promotrimo c raunanje x y u jednostrukom formatu uz zaokruivanje do najblieg, pri emu su c z z c x = (1.0)2 20 brojevi iz BSPT. Koritenjem (ak!) 25 dodatnih bitova, dobivamo s c (1.00000000000000000000000| )2 2 0 (0.00000000000000000000000|0100000000000000000000001)2 20 = (0.11111111111111111111111|1011111111111111111111111)2 21 normalizacija: i y = (1.000 . . . 01)2 224

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 100

= (1.11111111111111111111111|0111111111111111111111110)2 224 zaokruivanje: z = (1.11111111111111111111111| )2 224 . Da smo koristili samo dva dodatna bita, rezultat bi (nakon dodatne renormalizacije) bio (1.00000000000000000000000)2 20 . Isti (pogrean) rezultat dobis vamo koritenjem 3, 4, . . . , 24 dodatna bita. Na sreu, umjesto 25 (ili u slinim s c c namjetenim sluajevima po volji veliki broj) dodatnih bitova, dovoljno je koristiti s c tek tri dodatna bita, tonije, dva zatitna i jedan zalijepljeni bit. Zovemo ga zac s lijepljeni jer kad ga aktiviramo, on se vie ne mijenja. On se aktivira onda kad je s potrebno pomaknuti mantisu za vie od dva bita i ta jedinica se stavlja iza drugog s zatitnog bita. Dakle, u zadnjem primjeru, prije oduzimanja treba dodati zalijes pljenu jedinicu iza drugog zatitnog bita: s (1.00000000000000000000000| )2 20 (0.00000000000000000000000|011)2 20 = (0.11111111111111111111111|101)2 21 normalizacija: = (1.11111111111111111111111|01 )2 224 zaokruivanje: z = (1.11111111111111111111111| Mnoenje i dijeljenje z Mnoenje i dijeljenje u BSPT ne zahtijeva poravnavanje eksponenata. Ako je z x = mx 2ex tada je z = x y = (mx my ) 2ex +ey , pa pri implementaciji mnoenja u BSPT postoje tri koraka: z mnoenje mantisa, z zbrajanje eksponenata, ako je potrebno normalizacija produkta mantisa i pravilno zaokruivanje rezulz tata. Kod dijeljenja isto emo tako raunati c c kvocijent mantisa, razliku eksponenata, i normalizaciju sa zaokruivanjem. z i y = my 2ey , )2 224 .

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 101

Dananji dizajneri ipova uspjeli su, uz dovoljnu rezervu memorije, toliko s c ubrzati mnoenje da je gotovo jednako brzo kao i zbrajanje, odnosno oduzimanje. z Jedino treba voditi rauna da je dijeljenje jo uvijek nekoliko puta sporije od mnoc s enja. Dijeljenje s nulom razmotrit emo kasnije. z c Uoimo da nejednakosti 1 mx < 2 i 1 my < 2 povlae c c 1 mz = mx my < 4. Dakle, lijevo od binarne toke u binarnoj reprezentaciji od mz mogu biti samo c kombinacije bitova 11, 10 ili 01 tj 1. Stoga se mogui izbor pomaka mantise svodi c najvie za jedno mjesto ulijevo uz istodobno poveanje eksponenta za 1. s c Kod dijeljenja e vrijediti c 1 mx < 2, < 2 my pa e pomicanje kod normalizacije biti najvie jedan bit ulijevo ili udesno. c s Zadatak 3.3.13 Odgovorite na sljedea pitanja u sluaju: c c brojevnog sustava za prikazivanje (p = 3, BSPT u jednostrukom IEEE formatu. (i) Koliko brojeva x s pominom tokom zadovoljava 1 x < 2? Koliko od njih c c zadovoljava 1 x < 3/2, a koliko 3/2 x < 2? (ii) Koliko brojeva y s pominom tokom zadovoljava 1/2 < y 1? Koliko od njih c c aproksimativno zadovoljava 1/2 < x 2/3, a koliko 2/3 < x 1? (iii) Moraju li postojati dva razliita broja s pominom tokom izmedu 1 i 2 za koje c c c su izraunate reciprone vrijednosti 1 x1 i 1 x2 jednake (zaokruene u istom c c z formatu)? Odnosi li se to na x1 i x2 imedu 1 i 3/2 ili izmedu 3/2 i 2? Vrijedi li to bez obzira na nain zaokruivanja? c z (iv) Postoje li brojevi s pominom tokom za koje (1 x)x nije jednako 1? Vrijedi c c li to za svaki nain zaokruivanja? Postoje li brojevi s pominom tokom za c z c c koje 1 (1 x) nije jednako x?
M

= 0.25, 1 e 1) i

3.3.6.

Drugi korijen, ostatak pri dijeljenju i konverzija formata

Pored zahtjeva da su osnovne aritmetike operacije korektno zaokruene, IEEE c z standard zahtijeva da su korektno zaokruene i operacija drugog korijena i ostatak z pri dijeljenju. Drugi korijen je unarna operacija (jer je funkcija) denirana za

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 102

nenegativni operand pri emu u implementaciji (koja je najee hardverska) vrijedi c c sc 0 = 0. Ostatak pri dijeljenju realnih brojeva x i y je realni broj x y n, gdje je n cijeli broj najblii kvocijentu x/y. z Brojevi ulaze u raunalo na nekoliko naina. Kod raunanja na raunalu c c c c najee se koriste vii programski jezici koji procesiraju naredbe kao prevoditelji ili c sc s interpreteri. Ako npr. broj 0.4 sudjeluje u raunu, njega moemo u programu uvesti c z kao konstantu ili pridruiti tu vrijednost nekoj varijabli. Pridruivanje varijabli z z moe biti u naredbi oblika x = 0.4, a x moe dobiti vrijednost i uitavanjem broja z z c 0.4 s neke vanjske memorije, npr. iz neke tekst datoteke na disku. Prevodilac ili interpreter tada poziva standardne rutine odnosno potprograme za ulaz podataka. Te rutine generiraju strojne instrukcije koje prevode decimalni broj, tj. niz znakova (koji su: decimalne znamenke, toka i moda slova kao e, E, d, D koje oznaavaju c z c poetak eksponencijalnog dijela broja) u binarni format i pretvore ga kao korektno c zaokrueni broj u varijablu memorije ili registra. Isto tako, mogue je 0.4 unijeti z c kao razlomak 4/10, dakle unijeti (cijele ili realne) brojeve 4 i 10, a zatim unutar programa koristiti operaciju dijeljenja da bismo izraunali 0.4. Ako se 4 i 10 unose kao c cijeli (realni) brojevi, prevodilac ili interpreter e generirati strojne instrukcije koje c e nizove znakova 4 i 10 pretvoriti u njihove cjelobrojne (ili realne IEEE) binarne c reprezentacije. U svakom sluaju, prije nego to e se pozvati operacija dijeljenja, c s c operandi moraju biti u binarnoj reprezentaciji pomine toke jer e rezultat biti u c c c tom formatu. Kod izlaza podataka iz raunala, npr. kod ispisa ili spremanja rezulc tata u tekst datoteku, prevodilac ili interpreter (krae kaemo raunalo) generira c z c instrukcije za konverziju binarnih formata u decimalne brojeve, koje smo navikli prepoznavati. IEEE standard zahtijeva podrku za korektno prevodenje izmedu raznih fors mata. Tu spadaju sljedee pretvorbe ili konverzije. c c c c Konverzije izmedu formata brojeva s pominom tokom. Konverzija iz kraeg u dulji format (npr. iz jednostrukog u dvostruki) mora biti egzaktna. Konverzije iz dueg u krai zahtijeva zaokruivanje. z c z Konverzija iz BSPT u cjelobrojni format zahtijeva zaokruivanje do najblieg z z cijelog broja uz trenutno aktivni nain zaokruivanja. Ako je broj u BSPT c z cijeli broj, konverzija mora dati isti cijeli broj, osim ako se taj cijeli broj ne moe reprezentirati u danom cjelobrojnom formatu. Obrnuta konverzija, z iz cjelobrojnog formata u format s pominom tokom moda e zahtijevati c c z c zaokruivanje. Takoder, zahtijeva se zaokruivanje broja iz skupa BSPT u z z cijeli broj reprezentiran istim formatom. Konverzija iz decimalnog u binarni sustav i obrnuto. Pritom se koristi nain c zaokruivanja koji je aktivan. Nakon 1985. kad je uveden IEEE 754 standard, z pronadeni su novi i/ili ekasniji algoritmi za korektnu konverziju izmedu svih tipova formata i oni esto imaju bolja svojstva nego to to standard zahtijeva. c s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 103

3.3.7.

Izuzeci

U matematici su realni ili cijeli brojevi uvijek konani. Oznake ili tek c slue za naznaavanje da vrijednost neke veliine (npr. opi lan niza brojeva) tei z c c c c z prema sve veim ili manjim brojevima. U ovom dijelu teksta, mislei na brojeve c c s kojima raunalo radi, spominjemo i kao brojeve. Isto tako +0 i 0, jer c imaju razliitu reprezentaciju, spominjemo kao dva razliita broja, iako imaju istu c c vrijednost 0. Najjednostavniji primjer jedne izuzetne situacije je dijeljenje s nulom. Prije IEEE standarda neki su proizvodai raunala rezultat dijeljenja pozitivnog broja s c c nulom denirali najveim prikazivim brojem. Obrazlagali su to tvrdnjom da kada c korisnik primijeti vrlo velike brojeve, znat e da je neto krenulo loe. Tada bi c s s rezultat operacije kao to je 1/01/0 bio 0, pa to korisnik vjerojatno ne bi primijetio, s pogotovo ako se takva stvar dogodila usred sloenijeg raunanja. Stoga su nakon z c 1960. proizvodai raunala usvojili pravilo da se izvravanje programa prekida ako c c s se broj dijeli s nulom, uz poruku oblika: fatalna greka dijeljenje s nulom. Na taj s nain je bilo oteano programiranje, jer se smatralo da je odgovornost programera c z da ne dode do djeljenja s nulom. Kako je to razrijeio IEEE standard? s Matematiki je jasno da vrijedi: a 0 = 0 za svaki konani broj a, a/0 = c c za svaki pozitivni broj a, a = za svaki pozitivni a. S druge strane izrazi poput 0 , 0/0, / nemaju smisla, pa je najbolje da raunalo to tretira kao c nepravilnu operaciju. Stoga IEEE standard zahtijeva da se svakoj takvoj operaciji pridrui vrijednost NaN (Not a Number - nije broj). Ako se NaN pojavi u nekom z izrazu, tada cijeli izraz dobiva vrijednost NaN. Na kraju e, moda sve, varijable s c z izlaznim vrijednostima imati sadraj NaN. Na taj nain doi e poruka programeru z c c c da je neto krenulo loe. s s Zbrajanja u kojima se pojavljuje uglavnom imaju smisla: a + = , a = za svaki konani broj a, pa je i + = , + () = . c To se lako pokae pomou konvergirajuih (prema a) i divergirajuih (prema ) z c c c nizova. Medutim, nema smisla pa je = NaN. Slino, /0 = , c 0/ = 0, dok 0/0 i / nemaju smisla jer mogu u interpretaciji nizova biti bilo koji brojevi. Dakle je 0/0 = NaN i / = NaN. S obzirom da standard uvodi predznake ispred posebnih brojeva 0 i : +0 je isto to i 0 pa koristimo 0 i 0; + je isto to i pa koristimo i . s s Pogledajmo kako ih iskoristiti. Ako je a pozitivni konani broj, stavljamo a/0 = , c a/0 = , a/0 = , a/0 = kao i a/ = 0, a/ = 0, a/ = 0, a/ = 0. Predikat 0 = 0 je istinit, dok je predikat = laan. Na taj z nain smo doli do toga da implikacija c s 1 1 = a = b = a b ne vrijedi ako je a = 0 i b = 0.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 104

Upotreba NaN-ova prikladna je ako se zahtijeva vrijednost funkcije za ar gument koji nije u domeni funkcije, npr. rezultat operacije 3.2 e biti NaN. c Takoder, zgodno je polazne vrijednosti varijabli koje nemaju polazne vrijednosti denirati s NaN, jer e nam to otkriti greku njihova preranog koritenja (prije no c s s to dobiju neku vrijednost) u programu. NaN nije u uredaju ni s jednim brojem, a s rezultat operacije a NaN je NaN za svaki reprezentabilni broj i svaku aritmetiku c operaciju . Zadatak 3.3.14 Ima li jo sluajeva kad implikacija s c a=b = 1 1 = a b

ne vrijedi? Koje su vrijednosti izraza: 0/ 0, / i / 0?

3.3.8.

Prekoraenje, potkoraenje i postupno potkoraenje c c c

O prekoraenju (engl. overow) govori se kad je egzaktni rezultat neke oc peracije konaan broj, ali po modulu je vei od najveeg prikazivog broja u BSPT c c c kojeg oznaavamo s Nmax . Uoimo da Nmax ovisi o binarnom formatu. Prema IEEE c c standardu, takav broj treba zaokruiti prema nainu zaokruivanja koji se koristi. z c z Ako je broj koji prekorauje pozitivan, tada e zaokruivanje prema gore zaokruiti c c z z broj na , dok e zaokruivanje prema dolje i prema nuli broj zaokruiti na Nmax . c z z Zaokruivanje prema najbliem, odudara od ove matematike logike jer e broj z z c c zaokruiti na . Razlog je praktine naravi, radi se o osnovnom modu zaokruivanja z c z koji se gotovo uvijek koristi, a kad bi se broj zaokruio na (matematiki najblii z c z BPT) Nmax , raunanje bi moglo dati rezultat koji zavarava izgleda kao da je sve c u redu, a nije. Potkoraenje (engl. underow) nastaje kada je egzaktni rezultat neke oc peracije broj razliit od nule koji je po modulu manji od najmanjeg pozitivnog c broja prikazivog u BSPT, kojeg oznaavamo s Nmin . Prije IEEE standarda tipini c c odgovor raunala je bio stavljanje brojarezultata na nulu. U IEEE aritmetici, stanc dardni odgovor je pravilno zaokrueni broj (prema aktivnom nainu u BSPT) koji z c je moda subnormalni broj. Taj dogadaj se naziva postupno potkoraenje (engl. z c gradual underow) i on je i danas najkontraverzniji dio IEEE standarda. Naime, postupno potkoraenje daje rezultate koji imaju manju (to manju to c s je potkoraenje vee) relativnu tonost. Medutim, i to je u veini sluajeva bolje c c c c c nego denirati rezultat nulom i tako potpuno izgubiti relativnu tonost. Osim toga c postupno potkoraenje osigurava da za brojeve u BSPT vrijedi implikacija c x y=0 = x = y.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 105

Primjer 3.3.2 Neka je y = 0.1 2123 , x = 25 2131 i z = y daje (1.10011001100110011001101)2 2127 (1.10010000000000000000000)2 2127 = (0.00001001100110011001101)2 2127 normalizacija: = (1.10011001100110011010000)2 2132 .

x.

c Uoimo da je 25 = (11001)2. Raunaje broja z u jednostrukom IEEE formatu c

Pritom je zadnja jedinica u binarnom prikazu broja x nastala zbog zaokruivanja. z Vidimo da je rezultat subnormalni broj, koji je, to se relativne preciznosti tie, s c izgubio zadnja etiri bita to odgovara priblino jednoj decimalnoj znamenki. Bez c s z postupnog potkoraenja, rezultat bi bio nula. c Zadatak 3.3.15 Promotrimo operaciju (y x)x, pri emu rezultat prve operacije c potkorauje. Koji je rezultat, ako postoji, ili ako ne postoji postupno potkoraenje? c c Koristite prethodni primjer. Zadatak 3.3.16 Neka su x i y brojevi u BSP T za koje vrijedi 1 x 2. 2 y Pokaite da je tada x y broj u BSPT, tj. da je tada oduzimanje egzaktno. z IEEE standard ukupno denira pet vrsta izuzetnih situacija koje su ukratko opisane u sljedeoj tablici. c

pogrena operacija s dijeljenje s nulom prekoraenje c potkoraenje c neegzaktni rezultat

rezutat je NaN rezultat je rezultat je ili Nmax rezultat je 0 ili Nmin ili subnormalni broj rezultat je korektno zaokrueni broj z

Tablica 3.3.5 IEEE odgovor na izuzetne situacije IEEE standard specicira da se svaki izuzetni dogadaj mora signalizirati pomou tzv. statusnog signala (engl. status ag) kojeg bi programer mogao dohvatiti tj. c iskoristiti za pravljenje programa (vidi sljedei primjer) ili pustiti raunalo da daje c c standardne ispise kao u zadnjoj tablici, za vrijeme izvravanja programa. s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 106

Primjer 3.3.3 Raunanje izraza x2 + y 2 daje jednostavan primjer kako se koric tenjem IEEE standarda za izuzetne situacije mogu nainiti brzi i pouzdani programi. s c Pravilo je: pokuaj prvo na jednostavan i brz nain, a ako dode do izuzetne situacije, s c raunaj c ponovo na siguran, ali sporiji nain. U ovom primjeru, ako je |x| ili |y| c vei od Nmax , doi e do prekoraenja. Tada se z = x2 + y 2 rauna pomou c c c c c c algoritma: u := max(|x|, |y|); v := min(|x|, |y|); if u = 0 then z := 0 else z := u 1 + (v/u)2; Ovaj algoritam zahtijeva kao i onaj direktni dva mnoenja, jedno zbrajanje i z jedan korijen, medutim dodatno zahtijeva izvravanje nekoliko funkcija: | |, max s i min i jedno dijeljenje, pa je nekoliko puta sporiji i neto netoniji (vidi prims c jer 3.5.1). S IEEE aritmetikom, prvo se izrauna z = x2 + y 2 direktno. Ako se pojavi c izuzetna situacija s prekoraenjem (to je vrlo rijedak sluaj), tek tada treba ukljuic s c c ti sosticiraniji algoritam. Pokaite da je sporiji algoritam prikladan i za sluaj z c |x| < Nmin i y < Nmin .

3.4.

Stabilnost numerikog raunanja c c

U ovom dijelu bavit emo se stabilnou numerikih algoritama, pojmom usko c sc c vezanim uz pozdanost dobivenih rjeenja. Susrest emo niz pojmova koji odreduju s c ili opisuju tonost kojom algoritam rauna izlazne podatke, u prisustvu greaka c c s zaokruivanja koje su neizbjene kad se koristi konana aritmetika. Kroz primjere z z c upoznat emo neke neugodne fenomene koji se mogu pojaviti kod koritenja konane c s c odnosno aritmetike raunala. Veina primjera je uzeta iz knjige [5]. c c

3.4.1.

Greke unazad i unaprijed s

Neka je f realna funkcija realne varijable. Pretpostavimo da se u aritmetici preciznosti u vrijednost y = f (x) izrauna kao y . Kako moemo mjeriti kvalitetu y c z kao aproksimacije od y? U veini sluajeva bit emo sretni ako postignemo malu relativnu greku u c c c s c c c z rezultatu, tj. Erel , ali to se nee moi uvijek postii. Umjesto toga moemo se zapitati za koji skup podataka smo zapravo rijeili problem? Dakle, za koji x s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 107

imamo y = f (x + x)? Openito, bit e vie takvih x pa e nas zanimati najvei. Vrijednost |x| (ili c c s c c max |x|) moda podijeljena sa |x| zove se greka unazad (engl. backward error) z s ili povratna greka. Apsolutna i relativna greka od y zovu se greke unapris s s jed ili krae greke. Proces omedivanja (tj. traenja ograda za) povratne greke c s z s izraunatog rjeenja zove se analiza povratne greke ili povratna analiza greke c s s s (engl. backward error analysis), a motivacija za taj postupak je dvostruka. Prvo, ona interpretira greke zaokruivanja kao greke u podacima. Podaci s z s esto kriju netonosti nastale zbog prethodnih izraunavanja, zbog spremanja u c c c raunalo ili kao rezultat mjerenja. Ako povratna greka nije vea od tih polaznih c s c netonosti, tada se izraunato rjeenje ne moe mnogo kritizirati jer je to rjeenje c c s z s koje traimo do na ulaznu netonost. Druga privlanost povratne analize greaka z c c s je to ona reducira problem omedivanja greke unaprijed na primjenu teorije perturs s bacije za dani problem. Teorija perturbacije je dobro poznata za veinu problema i c vano je da ona ovisi o problemu, a ne o pojedinoj metodi za dani problem. Kada z dobijemo ocjenu za povratnu greku rjeenja kod primjene odredene metode, tada s s dodatnom primjenom ope teorije perturbacije za dani problem lako dolazimo do c ocjene za greku unaprijed. s
x greka unazad s x + x f y = f (x)

greka unaprijed s

y = f (x + x)

Slika 3.4.1 Greke unaprijed i unazad s Metoda za raunanje vrijednosti y = f (x) je povratno stabilna ili stabilna c unazad (engl. backward stable), ako ona za svako x producira izraunati y s malom c povratnom grekom, tj. vrijedi y = f (x + x) za malo x. Oznaka mala ovisi o s kontekstu. U naelu, za dani problem moe postojati vie metoda od kojih e neke c z s c biti povratno stabilne, a neke nee. c Npr. sve osnovne raunske operacije u raunalu zadovoljavaju relaciju (3.1.1) c c pa daju rezultat koji je toan za malo pomaknute polazne podatke: x x(1 + ) c i y y(1 + ) uz || u. Dakle, sve su osnovne operacije u raunalu povratno c stabilne. Medutim, veina metoda za raunanje funkcije cos(x) ne zadovoljava relaciju c c y = cos(x + x) za malo x, ve samo slabiji rezultat: c y + y = cos(x + x)

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 108

uz male x i y. Greka u rezultatu koji se zapisuje s y + y = f (x + x), |y| |y|, |x| |x| (3.4.1)

naziva se mijeana naprijed-nazad greka. Ako su i u (3.4.1) mali, moe se s s z rei: izraunato rjeenje y se jedva razlikuje od vrijednosti y + y koje se dobije c c s egzaktnim raunom na ulaznoj vrijednosti x + x koja se jedva razlikuje od c stvarnog ulaznog podatka x. Algoritam je numeriki stabilan ako je stabilan u smislu relacije (3.4.1) s c malim i . Ova denicija uglavnom se odnosi na izraunavanja u kojima su greke c s zaokruivanja (osnovnih aritmetikih operacija) dominantni oblici greaka. Inae, z c s c pojam stabilnosti ima razliita znaenja u drugim podrujima numerike matemac c c c tike.

3.4.2.

Uvjetovanost

Odnos izmedu greke unaprijed i greke unazad za dani problem u velikoj mjeri s s odreden je uvjetovanou problema, tj. osjetljivou rjeenja problema na ulazne sc sc s podatke. Pretpostavimo da je dano priblino rjeenje y problema y = f (x) koje zadoz s voljava y = f (x + x). Ako pretpostavimo da je f dvaput neprekidno derivabilna, razvoj u Taylorov red daje y y = f (x + x) f (x) = f (x)x + i moemo mu ocijeniti desnu stranu. Zbog z f (x) f (x + x) yy = x + (x)2 , y f (x) 2f (x) imamo xf (x) x yy = + O((x)2 ), y f (x) x c(x) = xf (x) f (x) f (x + x) (x)2 , 2! (0, 1)

pa veliina c

mjeri relativnu promjenu y za malu relativnu promjenu x. Zato c(x) moemo zvati z (relativni) broj uvjetovanosti od f , ili krae uvjetovanost od f . Ako su f ili c x vektori, tada se broj uvjetovanosti denira na slian nain koritenjem norme. c c s Uvjetovanost slui za mjerenje najvee relativne promjene koja se dostie za neku z c z vrijednost broja ili vektora x. Npr. za f (x) = ln(x) imamo c(x) = 1/| ln(x)|, pa

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 109

je uvjetovanost velika za x 1. To znai da mala relativna promjena u x uvijek c izazove malu apsolutnu promjenu promjenu u f (x) = ln(x), jer je f (x + x) f (x) f (x)x = ali i veliku relativnu promjenu za neke x. Kad se greke unaprijed, unazad, te uvjetovanost za dani problem deniraju s na konzistentan nain, vrijedi jednostavno pravilo: c s greka unaprijed uvjetovanost greka unazad. s Dakle, izraunato rjeenje loe uvjetovanog problema moe imati veliku greku unc s s z s aprijed. Cak i kad izraunato rjeenje ima malu greku unazad, prijelazom na greku c s s s unaprijed, ona se moe poveati za faktor velik kao broj uvjetovanosti. Zato se uvodi z c sljedea denicija. c Denicija 3.4.1 Ako metoda daje rjeenja s grekama unaprijed, koja su slinog s s c reda veliine kao ona koja se dobiju primjenom povratno stabilne metode, tada se za c metodu kae da je stabilna unaprijed. z Dakle, sama metoda ne treba biti povatno stabilna da bi bila stabilna unaprijed. Povratna stabilnost implicira stabilnost unaprijed, dok obrat ne vrijedi (primjer je npr. Cramerovo pravilo za 2 2 linearne sustave).
<

x , x

3.4.3.

Akumulacija greaka zaokruivanja s z

Dosta je rasprostranjeno miljenje da velike brzine modernih raunala koje s c omoguavaju u svakoj sekundi izvravanje nekoliko milijardi raunskih operacija c s c imaju pri zahtjevnim proraunima za posljedicu potencijalno zastraujue velike c s c greke u rezultatu. Na sreu, ta tvrdnja uglavnom nije istinita, a u rijetkim sluajevis c c ma kada dolazi do veih greaka u rezultatu, kriva je jedna, ili tek nekoliko, podmuc s klih greaka zaokruivanja. s z Primjer 3.4.1 (Sluaj sloenih kamata.) Ako se a novanih jedinica investira c z c na godinu dana po godinjoj kamatnoj stopi x (npr. x = 0.05), uz n ukamaivanja s c (npr. za kvartalno ukamaivanje je n = 4), tada je budua vrijednost uloenog novca c c z nakon jedne godine, dana formulom Cn (x, a) = aCn (x), gdje je Cn (x) = 1 + x n
n

To je tzv. formula sloenog ukamaivanja. Poznato je da kad broj ukamaivanja z c c x c tijekom godine n raste, Cn (x) monotono raste prema vrijednosti e . U graninom

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 110

sluaju, kad n , govorimo o neprekidnom ukamaivanju. Taj sluaj se u praksi c c c manje susree u bankarstvu, a vie u biolokim i medicinskim podrujima. Tada se c s s c govori o prirastu ume, razmnoavanju kunia u nekoj populaciji ili irenju zaraze s z c s u medicini. Nas e ovdje zanimati ulaganje novca pa emo pretpostaviti da je n c c konaan. Prouit emo stabilnost nekoliko algoritama za raunanje Cn (x). No, c c c c prvo emo odrediti uvjetovanost za Cn (x). Imamo c (Cn (x)) = xCn (x) x = Cn (x) 1+
x n

|x| x , |1 + n |

pa uvjetovanost konvergira prema |x| (provjerite da je to uvjetovanost od ex ) kad n raste. Dakle, velika je tek kad je |x| veliko. Promotrimo sljedee algoritme za c raunanje Cn (x). c Algoritam 3.4.1 z := 1.0 + x/n; w := 1.0; for i := 1 to n w := w z; C := w; Algoritam 3.4.2 z := 1.0 + x/n; C := pow(z, n);

Kako n moe biti velik, pametno je iskoristiti operaciju (ili funkciju) potenciranja, z s ako postoji. U FORTRANU se xn pie xn, dok se u jeziku C poziva funkcija pow(x, n). U Matlabu je oblika xn. Prednost je u tome to algoritam koji stoji s iza operacije ili funkcije potenciranja zahtijeva oko log2 (n) mnoenja, umjesto n z 17 2 2 2 2 c mnoenja kao u prvom algoritmu (npr. x se rauna kao x (((x ) ) ) , pa koristi z je manje mnoenja, bit e i manje greaka zaokruivanja. 5 mnoenja). Sto z z c s z Sljedea je mogunost iskoristiti identitet z n = en ln(z) . Pritom moemo korisc c z titi sljedea dva algoritma c Algoritam 3.4.3 z := 1.0 + x/n; w := log(z); C := exp(n w); Algoritam 3.4.4 C := exp(n log(1.0 + x/n));

U tablici su prikazani rezultati koje daju sva etiri algoritma za x = 0.05. Programi c su napisani u jeziku FORTRAN 77 i koriten je Digital Visual Fortran 6.0 prevodilac s za PC raunala. Koriten je jednostruki realni format (REAL), a da bismo dobili c s referentne (gotovo tone) podatke koriten je i potprogram za raunanje sloenih c s c z kamata u dvostrukom realnom formatu (DOUBLE PRECISION). U sljedeoj tablici c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 111

dani su izlazni rezultati. Algoritam 3.4.2 3.4.3 1.050946 1.050946 1.051163 1.051163 1.051262 1.051262 1.051216 1.051216 1.051342 1.051342 1.048839 1.048839 1.000000 1.000000

n 4 12 365 1000 10000 100000 1000000

3.4.1 1.050946 1.051163 1.051262 1.051215 1.051331 1.047684 1.000000

3.4.4 1.050945 1.051162 1.051268 1.051270 1.051271 1.051271 1.051271

Usporedbom s rezultatima izraunatim u dvostrukoj preciznosti, zakljuili smo c c da zadnji stupac daje tone rezultate u danom jednostrukom formatu. To je zato c jer zadnji algoritam koristi naredbu C := exp(n log(1.0 + x/n)) koja se zapravo izvrava u registrima aritmetike jedinice. Kako su na Intel-ovim ipovima registri s c c duljine 80 bitova, rezultat je izraunat u proirenoj tonosti, a zaokruen je tek kod c s c z spremanja u varijablu C. Do netonosti u ostalim algoritmima dolazi u prvom redu zbog greke u varijabli c s z. Iako je greka tek u zadnjoj decimali, potenciranjem na visoku potenciju, prisutna s greka se moe bitno poveati. Npr. za n = 100000, = 224 imamo s z c (1 + )n 1 + n = 1.005960464477539. S druge strane, za n = 1000000 imamo z = 1 + 0.05/106 = 1 + 5 108 , pa je f (z) = 1 to se vidi iz zadnjeg retka tablice. Dakle, do greke dolazi jer funkcija s s pot : z z n nije dobro uvjetovana za veliko n. Provjerimo njezinu uvjetovanost: |z nz n1 | = n. (pot) = |z n | Jo je jedan fenomen zanimljiv. U prvom stupcu je rezultat za n = 10000 toniji s c nego u drugom stupcu, dok je za n = 100000 manje toan. To dolazi od toga to su c s greke zaokruivanja i pozitivne i negativne, pa u rezultatu moe biti stvarna greka s z z s mnogo manja od oekivane. c Primjer 3.4.2 Izraunajmo aproksimaciju broja e koritenjem relacije c s e = n 1 + lim 1 n
n

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 112

tako da se za n uzmu potencije broja 10. Sljedea tablica izraunata je koritenjem c c s 24 jezika FORTRAN 77 u jednostrukoj preciznosti (u = 2 ): n 101 102 103 104 105 106 107 pri emu je c en 2.593743 2.704811 2.717051 2.718597 2.721962 2.595227 3.293968 |en e| 1.24539e 01 1.34705e 02 1.23104e 03 , 3.15107e 04 3.68039e 03 1.23055e 01 5.75686e 01

1 n . n Kako dolazi do greke? Uoimo da svaka negativna potencija od 10 ima greku jer s c s njen binarni prikaz ima beskonano mnogo znamenki. Kad se formira 1+1/n za vee c c 6 7 n (npr. za n = 10 ili 10 ), samo nekoliko znaajnih binarnih znamenaka od 1/n c ostaje u konanom prikazu od 1 + 1/n. Nadalje, potenciranje broja 1 + 1/n, makar c izraunato posve tono, mora bitno poveati polaznu greku. Lako se provjerava da c c c s raunanje potencija od 1 + 1/n u dvostrukoj preciznosti (u = 253 ), nakon to je c s broj 1 + 1/n prvo smjeten u jednostruki format, a zatim pretvoren iz jednostrukog s u dvostruki format, daje iste brojeve u tablici. Zakljuujemo da za netoan rezultat c c nije kriv veliki broj raunskih operacija ve jedna podmukla greka. c c s en = 1 + Ovaj problem, kao i prethodni, moe se rijeiti mnogo tonije koritenjem forz s c s 1 n 1 = exp n ln 1 + n n pri emu se ln(1 + 1/n) rauna tako da se za c c 1+ x= 1 n mule ,

prvo izrauna y = 1 + x, a onda vrijednost funkcije c f (x) = x ln(x) , y1


x,

y = 1, y = 1.

Detaljna analiza greaka zaokruivanja pokazuje da e f (f (x)) biti vrlo tona aproks z c c simacija za ln(1 + 1/n).

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 113

Primjer 3.4.3 Za x 0 sljedei algoritam ne bi smio promijeniti x: c za i = 1 do 60 raunaj c x := x; za i = 1 do 60 raunaj c x := x2 ; z Ovaj algoritam ne ukljuuje oduzimanje i svi medurezultati lee izmedu 1 i x, c pa moemo oekivati da je na kraju raunanja, izraunati x dobra aproksimacija od z c c c x. Na kalkulatoru HP48G, polazei od x = 100, algoritam daje x = 1.0. Zapravo, c za svaki x, kalkulator izrauna umjesto f (x) = x, funkciju c f(x) = 0, 0 x < 1, 1, x 1.

Dakle, kalkulator daje posve pogrean rezultat na bazi samo 120 operacija, od kojih s svaka ponaosob ima malu relativnu greku. Zato je to tako? s s Reprezentabilni brojevi na kalkulatoru HP48G zadovoljavaju nejednakost 10499 x 9.99999999999 10499 . Denirajmo funkciju r(x) = x 260
1

za

x 1,

koja odgovara medurezultatu nakon prve petlje. Vrijedi 1 r(x) < r(10500 ) = 10 260 e5002
500 60

ln(10)

< e10

15

= 1 + 1015 +

1 30 10 + 2

pa se u kalkulatoru koji radi na 12 decimala r(x) zaokrui na 1. U drugoj petlji 60 z kvadriranja jedinice opet daje jedinicu. Za 0 < x < 1 imamo x 0.999999999999 jer je x reprezentabilan. Stoga za x vrijedi x 1 1 1 1012 = 1 1012 1024 = 0.99999999999949999999999987 . . . 2 8

Ova gornja granica se zaokruuje na broj 0.999999999999. I nakon 60 vadenja druz gog korijena u kalkulatoru e biti broj koji nije vei od 0.999999999999. Promotrimo c c sada kvadriranja. Neka je 60 s(x) = x2 . Imamo s(x) s(0.999999999999) = (1 1012 )2 = 102 = 102
60 60 60

log(11012 )

ln(11012 ) log(e)

102

60 1012

log(e)

3.568 10500708 .

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 114

Gornja granica je manja od najmanjeg reprezentabilnog broja na kalkulatoru. Isto vrijedi i za svaki 0 < x 1 1012 . Zato dolazi do zamjene broja s nulom (tzv. underow). Zakljuak je jasan: nita nije loe u kalkulatoru. Ovo na prvi pogled neduno c s s z raunanje iscrpljuje preciznost i rang brojeva u raunalu (12 znaajnih dekadskih c c c znamenki i eksponent s tri dekadske znamenke). Primjer 3.4.4 Poznato je da vrijedi 1+
1 2 1 1 1 = + + + = 1.644934066848. 2 4 9 16 6 k=1 k

Pretpostavimo da ne znamo taj indentitet i da elimo numeriki izraunati tu sumu. z c c Najjednostavnija strategija je izraunati parcijalne sume c sn = 1 2 k=1 k
n

sve dok se vrijednost od sn ne ustali. U FORTRANU 77, u jednostrukoj preciznosti dobiva se 1.64472532 za n = 4096. Ta vrijednost se slae sa 2 /6 tek u prve 4 z znaajne znamenke. Objanjenje tako netonog rezultata lei u injenici da se zbrac s c z c janje vri od veih prema manjim lanovima reda. Za n = 4096 ini se sljedei s c c c c doprinos parcijalnoj sumi: sn = sn1 + 1 = sn1 + 224 , n2

c pri emu je sn1 1.6. U jednostrukoj preciznosti raunalo radi s mantisama od 24 c bita pa lan koji se dodaje ne daje nikakav doprinos, isto kao i svi sljedei lanovi. c c c Najjednostavniji nain za popravku te netonosti je zbrajanje u obrnutom rec c doslijedu. Naalost, taj pristup zahtijeva znanje koliko lanova zbrojiti. Koritenjem z c s c c 109 lanova dobije se suma 1.66493406 koja je korektna na 8 znaajnih znamenaka. Detaljnija analiza o tome kako to tonije raunati sumu brojeva moe se nai s c c z c u [5, 4. pogl.].

3.4.4.

Kraenje c

Kraenje nastaje kad se oduzimaju dva priblino jednaka broja. To najee, c z c sc iako ne uvijek, ima kao posljedicu netoan rezultat. Promotrimo npr. funkciju c f (x) = 1 cos(x) . x2

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 115

Za x = 1.2 105 , vrijednost cos(x), zaokruena na 10 znaajnih znamenki iznosi z c c = 0.9999999999, tako da je 1 c = 0.0000000001. Dakle, aproksimacija za funkciju f u x = 1.2 105 je 1c 1010 = 0.6944, x2 1.44 1010 to je oito loe, jer je 0 f (x) 1/2 za sve x = 0. Dakle, desetoroznamenkasta s c s aproksimacija za cos(x) nije dovoljno tona da bi izraunata vrijednost funkcije c c imala barem jednu tonu znamenku. Problem je u tome to 1 c ima samo jednu c s znaajnu znamenku. Oduzimanje 1 c je egzaktno, ali to oduzimanje proizvodi c rezulat koji je veliine kao i greka u c. Drugim rijeima oduzimanje podie c s c z znaaj prethodne greke. U ovom primjeru f (x) se moe napisati tako da se c s z izbjegne kraenje, jer uvrtavanjem c s cos(x) = 1 2 sin2 dobivamo f (x) = 1 sin(x/2) 2 x/2 x , 2
2

Izraunavanje f (1.2 105 ) pomou ove formule, koritenjem desetoroznamenkaste c c s aproksimacije za sin(x/2), daje vrijednost 0.5, koja je toan rezultat na deset c znaajnih znamenki. c Da bismo dobili dodatni uvid u fenomen kraenja promotrimo oduzimanje (u c egzaktoj aritmetici) x = a b, gdje su a = a(1 + a ), = b(1 + b ). b s c Clanovi a i b su relativne greke ili netonosti u podacima, koje, recimo, dolaze od prethodnih raunanja. Izraz za relativnu greku daje c s xx aa + bb |a| + |b| . = max{|a |, |b|} x ab |a b| Ograda za relativnu greku od x je velika ako je s |a b| |a| + |b|,

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 116

a to je istina ako postoji bitno kraenje u oduzimanju. Ova analiza pokazuje da c se zbog kraenja (u oduzimanju), postojee greke ili netonosti u a i poveaju. c c s c b c Drugim rijeima, kraenje dovodi prethodne greke na vidjelo. c c s Vano je znati da kraenje nije uvijek loa stvar. Ima nekoliko razloga. Prvo, z c s brojevi koji se oduzimaju mogu biti bez prethodnih greaka, dakle toni ulazni s c podaci. Npr. raunanje podijeljenih razlika ukljuuje mnogo oduzimanja, ali pola tih c c oduzimanja ukljuuje polazne podatke, pa su bezopasna za pogodni uredaj toaka. c c Drugi je razlog to kraenje moe biti simptom loe uvjetovanosti problema pa zato s c z s mora biti prisutno. Tree, efekt kraenja ovisi o ulozi koji taj rezultat (zapravo c c medurezultat) igra u preostalom raunanju. Npr. ako je x c y z > 0, tada je kraenje u izrazu x + (y z) bezopasno. c Promotrimo jedan vaan primjer kraenja koji je karakteristian za podruje z c c c numerikog rjeavanja diferencijalnih jednadbi. c s z Primjer 3.4.5 Kako odrediti priblinu vrijednost derivacije neke realne funkcije rez alnog argumenta. Ako funkciju oznaimo s f , tada je c f (x + h) f (x) . h0 h U xy koordinatnom sustavu, derivacija je koecijent smjera tangente na graf funkcije f u toki (x, f (x)) tj. tangens kuta kojeg taj pravac zatvara s apscisom. U ovoj c deniciji h moe biti i pozitivan i negativan (osim ako se promatra tzv. derivacija z slijeva ili zdesna za rubne vrijednosti od x). Sto je h po modulu manji to e kvocijent (f (x + h) f (x))/h biti tonija c c aproksimacija f (x). Za funkcije koje nisu zadane analitiki (svojom formulom), c nego nekim moda kompliciranim algoritmom ili tablinim vrijednostima, kvocijent z c f (x) = lim f (x + h) f (x) h koji se jo zove podijeljena razlika ili podijeljena diferencija moi e se izraus c c c nati barem za neke male vrijednosti h, pa emo imati neku informaciju o derivaciji. c je korak ili pomak h manji, dobit emo toniju aproksimaciju za f (x). Sto c c Pretpostavimo sada da je f dva puta diferencijabilna. Koritenjem Taylorovog s razvoja funkcije f oko toke x, dobivamo c h2 f (), x 2 gdje je x [x, x + h] ako je h 0 i x [x + h, x] ako je h < 0. To nam daje ocjenu f (x + h) = f (x) + hf (x) + h f (x + h) f (x) f (x) = f (), x (3.4.2) h 2 pa moemo oekivati da je aproksimacija to bolja to je |h| manje. Greka (3.4.2) z c s s se zove greka diskretizacije. s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 117

Sto se medutim dogada ako koristimo konanu aritmetiku? c Primjer 3.4.6 Odaberimo funkciju koja je eksplicitno zadana i kojoj elimo nuz meriki izraunati derivaciju. Neka je to npr. c c ch(x) = Derivacija te funkcija je ex + ex . 2

ex ex . sh(x) = 2 Promotrimo aproksimacije derivacije u toki x = 1. Raunat emo na raunalu, c c c c koristei dvostruki IEEE format. Kako je c ch(1) = i ch (1) = sh(1) = e2 + 1 1.5431 2e e2 1 1.1752, 2e

znamo vrijednosti funkcije i derivacije u toki 1. Za h emo uzeti padajui niz c c c 20 vrijednosti 0.1, 0.01, 0.001, . . . , 10 . Za raunaje izraza (f (x+h)f (x))/h koristit c emo sljedei niz naredbi jezika FORTRAN c c x = 1.0; fx = f (x); der = (exp(x) exp(x))/2.0; do i = 1, 17 h = 10(i); xh = x + h; fh = f (xh); dif = fh fx ; g = dif /h; apsgr = g der ; relgr = (g der)/der enddo gdje je f (x) = (exp(x) + exp(x))/2. Vrijednosti dobivene koritenjem prevodioca s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 118

DV Fortran 6.0, dane su u sljedeoj tablici: c h 0.10e + 00 0.10e 01 0.10e 02 0.10e 03 0.10e 04 0.10e 05 0.10e 06 0.10e 07 0.10e 08 0.10e 09 0.10e 10 0.10e 11 0.10e 12 0.10e 13 0.10e 14 0.10e 15 0.10e 16 der 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 g 0.12543792e + 01 0.11829362e + 01 0.11759729e + 01 0.11752783e + 01 0.11752089e + 01 0.11752020e + 01 0.11752013e + 01 0.11752012e + 01 0.11752013e + 01 0.11752022e + 01 0.11752155e + 01 0.11752821e + 01 0.11746160e + 01 0.11768364e + 01 0.13322676e + 01 0.00000000e + 00 0.00000000e + 00 apsgr 0.79e 01 0.77e 02 0.77e 03 0.77e 04 0.77e 05 0.77e 06 0.78e 07 0.94e 08 0.76e 07 0.96e 06 0.14e 04 0.81e 04 0.59e 03 0.16e 02 0.16e + 00 0.12e + 01 0.12e + 01 relgr 0.67e 01 0.66e 02 0.66e 03 0.66e 04 0.66e 05 0.66e 06 0.67e 07 0.80e 08 0.65e 07 0.82e 06 0.12e 04 0.69e 04 0.50e 03 0.14e 02 0.13e + 00 0.10e + 01 0.10e + 01

Iz tablice vidimo da su aproksimacije sve bolje do odredene vrijednosti h, koja s s je priblino jednaka z M . Apsolutna i relativna greka smanjuju se za faktor 10 to je sukladno formuli (3.4.2). Medutim, kad h postaje sve manji, vrijednosti f (x + h) i f (x) postaju sve bliskije, pa dolazi do jakog kraenja. Npr. za h = 1010 imamo c f (x + h) f (x) 1.543080634932764 1.543080634815244 = 1.1752 1010 , pa je izgubljeno 10 decimalnih znamenka, to znai da relativna greka aproksimacije s c s ne moe biti bitno bolja od 106. Svakim smanjivanjem koraka 10 puta, pojaava z c se kraenje za jednu decimalnu znamenku, to rezultira relativnom grekom koja c s s je priblino 10 puta vea. Apsolutna greka je istog reda veliine jer se dobije iz z c s c relativne greke mnoenjem s |f (x)| 1.1752. s z Dokle god je f dovoljno glatka, postoji mogunost dobivanja bolje aproksic s s c macije za f (x) no to je to koritenjem obine podijeljene razlike. Jedno takvo poboljanje je simetrina ili centralna podijeljena razlika s c f (x + h) f (x h) . 2h Razvojem u Taylorov red f (x + h) i f (x h) oko toke x, pokaite da vrijedi c z f (x + h) f (x h) h2 f (x) = (f (1 ) + f (2 )), x x 2h 12 (3.4.3)

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 119

gdje su x1 i x2 u intervalima [x, x + h] i [x h, x]. Dakle, diskretizacijska greka s 2 pada s faktorom h . Uoite da to vrijedi samo za ekvidistantne mree vorova, tj. c z c kad je h isti za cijeli promatrani interval. Zadatak 3.4.1 Nainite program slian prethodnom, koji ispisuje apsolutnu i relac c tivnu greku za simetrinu podijeljenu razliku kao aproksimaciju derivacije za s c f (x) = ch(x) u toki x = 1. c Rezultat bi trebala biti tablica oblika h 0.10e + 00 0.10e 01 0.10e 02 0.10e 03 0.10e 04 0.10e 05 0.10e 06 0.10e 07 0.10e 08 0.10e 09 0.10e 10 0.10e 11 0.10e 12 0.10e 13 0.10e 14 0.10e 15 0.10e 16 der 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 g 0.11771608e + 01 0.11752208e + 01 0.11752014e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752012e + 01 0.11752010e + 01 0.11752044e + 01 0.11751711e + 01 0.11746160e + 01 0.11768364e + 01 0.12212453e + 01 0.00000000e + 00 0.00000000e + 00 apsgr 0.20e 02 0.20e 04 0.20e 06 0.20e 08 0.16e 10 0.62e 10 0.62e 09 0.17e 08 0.35e 07 0.15e 06 0.32e 05 0.30e 04 0.59e 03 0.16e 02 0.46e 01 0.12e + 01 0.12e + 01 relgr 0.17e 02 0.17e 04 0.17e 06 0.17e 08 0.13e 10 0.53e 10 0.53e 09 0.15e 08 0.30e 07 0.12e 06 0.27e 05 0.26e 04 0.50e 03 0.14e 02 0.39e 01 0.10e + 01 0.10e + 01

Uvjerite se da greke padaju s faktorom 100, a ne s 10 kako je to bilo prije. s Nakon vrijednosti h = 0.10e 05 greke rastu, kao i prije, s faktorom oko 10. Za to s vrijedi isti argument kao u prethodnm primjeru. Kako objanjavate injenicu da je s c minimalna greka manja nego u prethodnom sluaju? s c

3.4.5.

Kraenje greaka zaokruivanja c s z

Nije neobino da se u stabilnim algoritmima greke zaokruivanja krate na c s z c taj nain da konani rezultat bude mnogo toniji od medurezultata (tj. veliina c c c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 120

koje se koriste u algoritmu). Ovaj fenomen nije toliko poznat jer se medurezultati obino gledaju tek kad se otkrije da krajnji rezultat nije dovoljno toan. Evo jednog c c primjera. Promotrimo raunanje funkcije c f (x) = ex 1 x x2 x3 =1+ + + + = x 2! 3! 4! xi . i=0 (i + 1)!

Uoimo da f (x) 1 kad x 0, to se vidi i iz redova na desnoj strani. Pogledajmo c s sljedea dva algoritma koji raunaju tu funkciju. c c Algoritam 3.4.5 y = exp(x) if (x .eq. 0.0) then f = 1.0 else f = (y 1.0)/x endif Algoritam 3.4.6 y = exp(x) z = alog(y) if (y .eq. 1.0) then f = 1.0 else f = (y 1.0)/z endif

Loa strana prvog algoritma je to dolazi do jakog kraenja za male vrijednosti s s c |x|. Drugi algoritam, izgleda udno jer izraunava dvije funkcije exp i ln (funkcija c c alog) umjesto samo jedne exp, kao to to ini prvi algoritam. s c Medutim ako se pogledaju rezulati za x = 10k , k = 0, 1, . . . , 15 u Tablici 3.4.1, vidi se da Algoritam 2 daje za sve x vrlo tone rezultate dok Algoritam 1 daje za c rastue k sve netonije podatke. c c Da bismo dobili uvid to se to dogada s Algoritmom 3.4.6, promotrimo raus c c nanje za x = 9 108 uz u = 224 6 108. Toan rezultat je (do na broj prikazanih znamenki) 1.000000005. Algoritam 3.4.5 daje posve netoan rezultat, kao to se i c s oekuje c ex 1 1.19209290 107 f f = 1.32454766. x 9.0000000 108 Algoritam 3.4.6 daje rezultat koji je toan u svim osim u zadnjoj znamenci (to c s se i oekuje jer se radi o 9-toj znaajnoj znamenki, a aritmetika radi s nepunih 8 c c znamenki) ex 1 1.19209290 107 f f = 1.00000006. ln(ex ) 1.19209282 107 Evo sada veliina koje bismo dobili Algoritmom 3.4.6 u egzaktnoj aritmetici (korekc tno na onoliko decimala koliko se koristi u prikazu) ex 1 9.00000041 108 = = 1.00000005. ln(ex ) 9.00000001 108

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 121

Algoritam x 0.1000000e + 00 0.1000000e 01 0.1000000e 02 0.1000000e 03 0.1000000e 04 0.1000000e 05 0.1000000e 06 0.1000000e 07 0.1000000e 08 0.1000000e 09 0.1000000e 10 0.1000000e 11 0.1000000e 12 0.1000000e 13 0.1000000e 14 0.1000000e 15 3.4.5 0.1051710e + 01 0.1005018e + 01 0.1000524e + 01 0.1000166e + 01 0.1001358e + 01 0.9536742e + 00 0.1192093e + 01 0.0000000e + 00 0.0000000e + 00 0.0000000e + 00 0.0000000e + 00 0.0000000e + 00 0.0000000e + 00 0.0000000e + 00 0.0000000e + 00 0.0000000e + 00 3.4.6 0.1051709e + 01 0.1005017e + 01 0.1000500e + 01 0.1000050e + 01 0.1000005e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 Egzaktno 0.1051709e + 01 0.1005017e + 01 0.1000500e + 01 0.1000050e + 01 0.1000005e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01 0.1000000e + 01

Tablica 3.4.1 Primjena algoritama za x = 10k , k = 0, 1, . . . , 15 Vidimo da Algoritam 3.4.6 izraunava vrlo netono vrijednosti ex 1 i ln(ex ), ali c c je kvocijent tih vrijednosti vrlo toan rezultat. Zakljuak: dijeljenjem u Algoc c ritmu 3.4.6 greke se pokrate (dokinu). Koristei analizu greaka zaokruivanja s c s z moe se objasniti to zaudujue kraenje greaka (vidjeti [5]). z c c c s

3.4.6.

Rjeavanje kvadratne jednadbe s z

Rjeavanje kvadratne jednadbe s z ax2 + bx + c = 0 je matematiki trivijalan problem (ako je jednadba zaista kvadratna, tj. ako je c z a = 0): postoje dva rjeenja s b b2 4ac x = . (3.4.4) 2a Ako je a = 0, postoji samo jedno rjeenje x = c/b jer je jednadba linearna. s z

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 122

Numeriki, problem je izazovniji, jer niti izraunavanje izraza (3.4.4), niti c c tonost izraunatog rjeenja nije garantirana. c c s Najjednostavniji aspekt rjeavanja kvadratne jednadbe je izbor formule za s z 2 2 4ac |b|, pa se za jedan izbor raunanje rjeenja. Ako je b c s |4ac| tada je b predznaka u formuli (3.4.4) dogada kraenje. To je opasno kraenje jer je jedan od c c 2 4ac) netoan zbog koritenja konane aritmetike, pa kraenje c s c c argumenata, f ( b pojaava greku u f ( b2 4ac) (takoder i u f (b) ako i on nosi greku u odnosu na c s s b). Kako izbjei greku je dobro poznato: treba prvo izraunati vee (po modulu) c s c c rjeenje, nazovimo ga s x1 , pomou formule s c (b + sign(b) b2 4ac) . (3.4.5) x1 = 2a Drugo rjeenje dobije iz Vi`teove formule s e c x1 x2 = , a uz prethodno izraunato rjeenje x1 c s x2 = c 2c , = a x1 b + sign(b) b2 4ac (3.4.6)

c pri emu se obje formule u (3.4.6) mogu koristiti. Formula c/(a x1 ) je vrlo tona, c c s c tj. ako se x1 izrauna s relativnom grekom x1 , tada se x2 izrauna s relativnom grekom ne veom od x1 + 2u. Druga formula za x2 u (3.4.6) je direktnija jer koristi s c samo koecijente kvadratne jednadbe, ali zato ima neto vie operacija od prve. z s s Ocjena greke za x2 po toj formuli bit e jednaka ocjeni greke za x1 po formuli s c s (3.4.5). Stoga se moemo posvetiti prouavanju tonosti formule (3.4.5) za x1 . z c c Naalost, postoji mnogo opasniji izvor kraenja, onaj u izrazu b2 4ac. Tonost z c c 2 c se gubi ako je b 4ac (sluaj bliskih korijena) i nikakva algebarska transformacija nee izbjei kraenje. Jedini nain da se garantira tono izraunata diskriminanta c c c c c c je koritenje poveane preciznosti (ili trikova u postojeoj aritmetici koji su ekvivas c c lentni u rezultatu, koritenju dvostruke preciznosti) u izraunavanju izraza b2 4ac. s c Zbog vanosti koju kvadratna jednadba ima u numerikom raunanju, cjeloz z c c vitu analizu greaka koje nastaju kod traenja korijena nainit emo kad se upozs z c c namo s osnovama analize greaka zaokruivanja. s z Umjesto zakljuka, pokuat emo ukratko dati upute kako dizajnirati stabilne c s c (tj. tone u okruenju aritmetike raunala) algoritme, te pokuati svratiti panju c z c s z na esto prisutna kriva uvjerenja vezana uz raunanje na raunalima. Neke od c c c tvrdnji koje emo sada susresti obrazloit emo u sljedeim poglavljima jer se tiu c z c c c specijalnih podruja numerike matematike. c c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 123

3.4.7.

Kako dizajnirati stabilne algoritme

Nema jednostavnog recepta za dizajniranje stabilnih algoritama, ali najbolji je savjet spoznaja da je numerika stabilnost vanija od drugih karakteristika alc z goritma, kao to su npr. broj raunskih operacija, te dobra vektorizacija ili pas c ralelizacija (prilagodljivost algoritma vektorskim ili vieprocesorskim raunalima). s c Evo nekih opih uputa u redosljedu kako se spominju u [5]: c 1. Pokuajte izbjei oduzmanje veliina bliskih vrijednosti koje nose greke, iako s c c s je to katkad nemogue. c 2. Minimizirajte veliinu medurezultata u odnosu na konani rezultat. To je c c vano da konani rezultat ne bi bio dobiven opasnim oduzimanjem velikih z c vrijednosti koje nose u sebi greke. s 3. Potraite drugaije formulacije istog problema ili druge formule za isti raun. z c c 4. Koristite prednosti jednostavnih formula za auriranje tipa z nova vrijednost = stara vrijednost + mala korekcija, ako se mala korekcija moe izraunati na dovoljan broj znaajnih znamenki z c c (Eulerova metoda, Newtonova metoda, . . . ). 5. Koristite samo dobro uvjetovane transformacije za dobivanje rjeenja. Kod s matrica to znai koristiti ortogonalne matrice kad god je to mogue, jer neorc c togonalne matrice mogu biti loe uvjetovane. s 6. Poduzmite mjere opreza da biste sprijeili mogua prekoraenja granice konac c c ne aritmetike (overow i underow). c 7. Kod nekih raunala centralna aritmetika jedinica koristi precizniju aritmetiku c c za operande u registrima, a zaokruivanje nastupa tek kod spremanja podatka z u memoriju. To znai da nije povoljno cijepati sloenije formule u vie proc z s gramskih linija koritenjem pomonih varijabla. s c U tijeku raunanja uvijek je dobro imati odredeno praenje nekih, po stabilnost c c vanih, veliina. Ako se u tijeku raunanja pamti i aurira najvei po modulu broj z c c z c on moe biti indikacija to se dogada s algoritmom. z s S vremenom se nakupilo podosta krivih uvjerenja u vezi raunanja na rauc c nalima. Nabrojimo neka. 1. Kraenje pri oduzimanju je uvijek loa stvar. c s 2. Greke zaokruivanja mogu nadvladati rezultat samo ako ih ima veliki broj. s z 3. Kratki raun bez kraenja i bez prekoraenja granica (underow i overow) c c c uvijek mora dati toan rezultat (vidjeti [5]). c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 124

4. Poveanje preciznosti aritmetike koja se koristi uvijek poveava tonost rezulc c c tata (vidjeti [5]). 5. Izlazni rezultat kod nekog algoritma ne moe biti toniji od bilo kojeg medurez c zultata, tj. greke se ne mogu pokratiti. s 6. Greke zaokruivanja mogu samo pogorati, ali ne i pomoi u uspjehu raunas z s c c nja. Ovdje je tipini primjer metoda inverznih iteracija za raunanje vlastitih c c vektora matrice (vidjeti [9, 5]).

3.5.

Osnove analize greaka zaokruivanja s z

U ovom dijelu, pozabavit emo se osnovnim alatom za analiziranje stabilnosti c numerikih algoritama. Analiza greaka zaokruivanja je zajedno sa perturbacijc s z skom analizom problema koji se rjeava, moan alat za analiziranje pa zato i dizajs c niranje numerikih algoritama. c Oznaimpo sa P skup negativnih potencija broja 2 koje ulaze u deniciju prec ciznosti aritmetike raunala po IEEE standardu: c P = {223 , 224 , 252 , 253 , 263 }. (3.5.1)

Ako je n cijeli broj koji ima ulogu dimenzije vektora ili matrice, stupnja polinoma, broja sumanada u konanoj sumi, ili broja faktora u konanom produktu i sl., tada c c emo pretpostaviti da vrijedi c uP = nu 26 . (3.5.2)

To znai, ako radimo u jednostrukoj preciznosti i koristimo bilo koji nain zaokruic c z vanja, maksimalna vrijednost od n e biti c 217 = 131072. Ako koristimo standardni nain zaokruivanja do najblieg, dozvoljavamo c z z n 262144. Ako elimo raditi s jo veim dimenzijama, pretpostavka je da emo koristiti dvostruz s c c ku preciznost (IEEE dvostruki format). U tom sluaju, za n dozvoljavamo gornju c 46 13 s c z granicu 2 7.037 10 , a ako jo koristimo standardni nain zaokruivanja, n najvie moe biti 1.40737488355328 1014 . Ako elimo jo vei n, moramo osigurati s z z s c koritenje raunanja u proirenoj tonosti. Konano, ako u razmatranje elimo s c s c c z ukljuiti i kalkulatore, tada u skup P moemo ubaciti i neke negativne potencije od c z 10 (npr. 1012 ), jer kalkulatori koriste decimalnu aritmetiku. Sljedea tehnika lema esto e se koristiti u ocjenjivanju greaka zaokruivac c c c s z nja.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 125

Lema 3.5.1 Neka u P i n zadovoljavaju uvjet (3.5.2). Ako je || u, tada vrijedi (i) (1 + )2 = 1 + 2 , |2| 2.00000012u, (ii) (1 + )3 = 1 + 3 , |3| 3.00000036u, (iii) (1 + )1 = 1 + 1 , |1| 1.00000012u, (iv) (1 + )2 = 1 + 2 , |2| 2.00000036u, (v) (1 + )n = 1 + n , |n | 1.008nu, (vi) (1 + )n = 1 + n , |n | 1.008nu, (vii) (1 + ) 2 = 1 + , | | 0.500000015 || 0.500000015 u. Dokaz. (i) Zbog (1 + )2 = 1 + (2 + ) je |2 | = |2 + | || (2 + 223 )u 2.00000012u. (ii) Slino, (1 + )3 = 1 + (3 + 3 + 2 ), pa je c |3 | (3 + 3 223 + 246 )u 3.00000036u. (iii) Zbog || < 1, imamo || 1 1 =1+ 1 + (1 223 )1 u 1.00000012u. 1+ 1 || 1 || (iv) Koritenjem Taylorovog razvoja s (1 + t)2 = 1 + 2t + 3t2 + ktk1 + , odmah slijedi (1 + )2 = 1 + (2 + 3 + 42 + ). 2 + 3|| + 4||2 + 5||3 + 2.00000035762793. (v) Razvoj binoma na n-tu potenciju daje |n | = n 1 + (n 1)(n 2) 2 n1 1 + + + n2 + n1 2 23 n 6 2 3 n2 n2 2 n2 u+ u + u + nu 1 + 1+ 2 3 3 3 27 27 385 nu 1.008nu. nu 1 + nu 1 + = 6 (n2)u 382 1 23 1 3
1

Jo treba iskoristiti da je s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 126

(vi) Dokaz je posve analogan prethodnom. Kako je, zbog (iii), (1 + )n = (1 + )n = 1 + n , imamo |n | = n 1 + n1 (n 1)(n 2) 2 1 n1 n2 + ++ + 2 23 n 6 2 2 n2 n2 nu 1 + 1+ u + u + 2 3 3 27 nu 1 + , 1 (n2) u 3

gdje je = 1.00000012. Kako je 1+ dokaz je gotov. (vii) Ako su i povezani relacijom 1 + = 1 + , tada je = pa je | | || 1 || + 1 || || 1u+1 1 223 + 1 (3.5.3) 1+1= , 1++1 27 6 1 2 3 < 1.007854,

0.500000015|| 0.500000015u. Time je dokaz lemme 3.5.1 zavren. s Za prvi dojam o korisnosti leme 3.5.1, rijeimo sljedei problem. s c

Primjer 3.5.1 Neka su x i y reprezentabilni u raunalu, tako da vrijedi x = f (x) c i y = f (y). S kolikom relativnom grekom e raunalo koje koristi IEEE standard s c c izraunati z = x2 + y 2 ? c Da bismo rijeili problem, pretpostavimo prvo da je s f (x2 ) + f (y 2 ) < Nmax i min{|x|, |y|} Nmin .

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 127

Tada, moemo pisati z x2 = x x = f (x2 ) = x2 (1 + 1 ), |1 | u y2 = y y = f (y 2 ) = y 2(1 + 2 ), |2| u. Umjesto f (f (x2 ) + f (y 2)) = f (x2 ) f (y 2), krae piemo f (x2 + y 2). Sada imamo c s z2 = f (x2 + y2 ) = (x2 + y2 )(1 + 3 ), |3 | u z = f ( z2 ) = z2 (1 + 4 ), |4| u. Poveimo sve te jednadbe: z z z = (1 + 4 ) z2 = (1 + 4 ) (x2 + y2 )(1 + 3 ) = (1 + 4 ) 1 + 3 x2 (1 + 1 ) + y 2 (1 + 2 ) x2 1 + y 22 = (1 + 4 ) 1 + 3 x2 + y 2 1 + x2 + y 2 = (1 + 4 ) 1 + 3 1 + 5 x2 + y 2 , = pri emu je c 5 = x2 1 + y 2 2 , x2 + y 2 1 + z = (1 + 4 ) (1 + 3 )(1 + 5 ). x2 + y 2 (1 + z ),

Ocijenimo prvo 5 . Kako je x2 1 + y 2 2 x2 y2 = 2 1 + 2 2 , x2 + y 2 x + y2 x + y2 5 je konveksna suma1 brojeva 1 i 2 , pa se nalazi u zatvorenom intervalu [1 , 2 ] c (ili [2 , 1] ako je 2 < 1 ). To opet znai da vrijedi |5 | max{|1|, |2 |} u. Sada imamo, |z | = |(1 + 4 ) (1 + 3 )(1 + 5 ) 1| (1 + u) (1 + u)(1 + u) 1 (1 + u)(1 + u) 1 (2 + u)u 2.00000012u.
1

suma 1 x1 + 2 x2 + + k xk je konveksna ako vrijedi


i

i = 1, te za svako i, 0 i 1.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 128

Kod koritenja IEEE aritmetike, sluaj prekoraenja e biti dojavljen2. Kod s c c c najnovijih prevodioca (npr. za programski jezik FORTRAN 90), postoji mogunost c da programer ugradi u kd programa grananje koje u sluaju prekoraenja nastavlja o c c s raunanjem po formuli (vidi primjer 3.3.3) c = max{|x|, |y|}, = min{|x|, |y|}, z=f 1+
2

Ova formula je sigurna jer nam podaci x = f (x) i y = f (y) ukazuju da su i reprezentabilni brojevi. U ovom sluaju je prekoraenje mogue tek ako je c c c Nmax < 1 +
2

2.

Pretpostavimo da to nije sluaj kao i da nee doi do potkoraenja medurezultata (o c c c c tome emo kasnije). Nainimo uz te pretpostavke analizu greaka zaokruivanja za c c s z taj drugi algoritam. c Da bi analiza bila jasnija uvest emo niz pomonih varijabli zi ije vrijednosti c c su reprezentabilni brojevi. z1 = f = (1 + 1 ), |1 | u, |2 | u,

2 2 z2 = f (z1 ) = (z1 )(1 + 2 ),

z3 = f (1 + z2 ) = (1 + z2 )(1 + 3 ), |3 | u, z4 = f ( z3 ) = z3 (1 + 4 ), |4 | u, z5 = f ( z4 ) = ( z4 )(1 + 5 ), |5 | u. Postupak moemo nastaviti kao i prije poevi od kraja: z c s z5 = ( z4 )(1 + 5 ) = Pokuajte zavriti taj postupak. s s Da bismo pokazali druge mogunosti, ocijenimo, krenuvi od poetka, relac s c tivne greke koje sadre svi medurezultati. Zamislimo da se koristila egzaktna (jo s z s kaemo i beskonana) aritmetika. Tada bismo umjesto vrijednosti zi dobili neke z c s druge vrijednosti, nazovimo ih sa wi , 1 i 5. Ako piemo zi = wi (1 + i ), 1 i 5, tada trebamo ocijeniti 5 . Do ocjene za |5 | moemo doi ocjenjujui greke 1 , 2 , 3 z c c s i 4 u redosljedu kako su napisane. S obzirom da je 1 = 1 , imamo |1 | u. Nadalje, imamo
2 w2 (1 + 2 ) = [w1 (1 + 1 )]2 (1 + 2 ) = w1 (1 + 1 )2 (1 + 2 ),
2

(1 + z2 )(1 + 3 )(1 + 4 )(1 + 5 ) =

Najee tako da se program prekida nakon javljanja greke. c sc s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 129

2 a kako je w2 = w1 , vrijedi 2 2 |2 | = |(1 + 1 )2 (1 + 2 ) 1| = |2 + 21 + 1 + 2 (21 + 1 )| u + 2u + u2 + u(2u + u2 ) = 3u + 3u2 + u3 = (3 + 3u + u2 )u 3.00000036u.

Sljedea jednadba c z z3 = (1 + z2 )(1 + 3 ) = [1 + w2 (1 + 2 )](1 + 3 ) = (1 + w2 ) 1 + zbog w2 0, daje |3 | = w2 w2 2 + 3 + 2 3 |3 | + |2 | + |32 | 1 + w2 1 + w2 [1 + 3.00000036(1 + u)]u 4.0000012u. w2 2 (1 + 3 ), 1 + w2

Piui s c z4 = z3 (1 + 4 ) = w3 (1 + 3 )(1 + 4 ) = w4 1 + 3 (1 + 4 ),

i koristei relaciju (3.5.3), dobivamo c 1 + 4 = pa je |4 | | 1 + 3 (1 + 4 ) 1| 4.00000072u (1 + u) 1 3.000000837u. 1+ 1 + 1 4.00000072 223 Konano, c 1 + 5 = (1 + 4 )(1 + 5 ), pa je |5 | |4 | + |5 | + |4 5 | 4.0000012u. Koritenjem sosticiranije formule, koja zahtijeva vie instrukcija, dobivamo i rezuls s tat koji je generalno neto netoniji (iako se jo uvijek radi o greci u zadnjoj sis c s s gurnoj decimali kad se egzaktni rezultat smjesti u raunalo). Medutim, dobitak je c u proirenju domene funkcije koja paru reprezentabilnih brojeva (x, y) pridruuje s z 2 2 ). To je dosta vano kako bi se izbjeglo prekoraenje i prekid rada f ( x +y z c raunala ili mogua relativna netonost ako je rezultat mali broj. c c c Ostalo je jo promotriti to se dogada ako su x ili y takvi da ili x2 ili y 2 s s potkorauje, ako z postaje nula, ili ako x2 + y 2 padne u podruje subnormalnih c c 2 2 c c brojeva. Ako samo x (y ) potkorauje u nulu ili subnormalni broj, rezultat e imati 1 + 3 (1 4 ),

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 130

malu relativnu greku, ne veu od nekoliko u. Ako izraunati f (x2 + y 2 ) padne u s c c 2 2 podruje subnormalnih brojeva, tada e f (x + y ) moda nositi veliku relativnu c c z c s z c greku. Vadenje korijena e tu greku priblino prepoloviti, ali e ona i dalje ostati s velika. Potkoraenje obaju brojeva u nulu e dati maksimalnu relativnu greku 1. c c s Dakle, kad prijeti potkoraenje ili postupno potkoraenje, direktna formula nee dati c c c c toan rezultat. Sto e dati druga kompliciranija formula? c Ako je || Nmin , tada e se f ( 1 + (/)2 ) izraunati s malom relativnom c c grekom (kako je gore izraunato) bez obzira na to je li subnormalan broj ili ne. s c Ako je pak subnormalan broj, tada su oba polazna broja, takoder, subnormalna i kod smjetanja brojeva u raunalo dolo je do gubljenja relativne tonosti. Tada e i s c s c c egzaktni kvocijent / i izraunati kvocijent f (/) imati veu (ili veliku) relativnu c c greku pa e isto vrijediti i za z. Jedini lijek je da se ulazni podaci x i y, prije s c uitavanja, skaliraju potencijom od 2 tako da ne bude subnormalni broj. Nakon c raunanja, z treba skalirati inverznom (negativnom) potencijom broja 2. c U zakljuku moemo rei da kompliciraniju formulu treba koristiti ako u proc z c gramskom jeziku nije implementirano signaliziranje da je dolo do izuzetne situacije. s Ako je signaliziranje implementirano, tada je najbolje koristiti jednostavniji algoritam, uz skretnicu koja u sluaju izuzetne situacije vodi kontrolu na kompliciraniji c algoritam.

3.5.1.

Propagiranje greaka zaokruivanja s z

Promotrimo prvo kako jedna raunska operacija na raunalu poveava posc c c tojee greke u podacima. Pretpostavit emo da su c s c x = x(1 + x ) i y = y(1 + y ) podaci spremljeni u raunalo. Oni aproksimiraju tone podatke x i y s relativnim c c grekama x i y , respektivno. s Za operaciju mnoenja vrijedi z f ( y ) = ( y )(1 + ) = xy(1 + x )(1 + y )(1 + ) x x = xy(1 + x + y + x y + + ). Pritom je | | u i || = |(x + y + x y ) | |(x + y ) | u(|x | + |x |) po pretpostavci manje od u pa nas dalje ne zanima. Ako su |x | i |y | tako mali, da je i |x y | manje od u i taj lan moemo zanemariti. Zakljuujemo da se relativna c z c greka kod mnoenja propagira tako da se zbroju relativnih greaka faktora s z s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 131

pridoda greka nastala mnoenjem. Tek ako su x i y priblino istih modula i s z z suprotnih predznaka, moe x y utjecati na ukupnu greku. z s Za dijeljenje imamo f 2 x x x 1 + x x y = (1 + / ) = (1 + / ) = (1 + x ) 1 y + (1 + / ) y y y 1 + y y 1 + y 2 x y 1 + x y x y + + / + , = y 1 + y

pritom je |/ | u. Veliinu c = x y x y + (1 + x ) 2 x 2 y y / + 1 + y 1 + y

emo zanemariti, smatrajui da je manja od osnovne greke zaokruivanja u. Vidimo c c s z 2 y , pri emu, ako x i y c da je relativna greka dominirana lanom x y x y + s c 1 + y 2 y nisu skoro jednaki, moemo zanemariti lanove vieg reda x y i z c s . Kao i kod 1 + y mnoenja, nova greka / ima utjecaj tek na zadnju decimalu binarnog (pogotovo z s decimalnog) prikaza kvocijenta. Kod aditivnih operacija imamo f ( y ) = ( y )(1 + ) = (x(1 + x ) y(1 + y ))(1 + ) x x = x y + xx yy + x y + xx yy x y (x + + x ) (y + + y ) . = (x y) 1 + xy xy Ako piemo s f (x y) = (x y)(1 + s ), tada je s relativna greka u f (x y) kao aproksimaciji za x y. s Neka su x i y takvi da je x y = sign(x)(|x| + |y|). To e vrijediti ako je c =+ i ili ako je = i sign(x) = sign(y). sign(x) = sign(y),

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 132

Tada je s = = x y (x + + x ) (y + + y ) xy xy |y| |x| (x + + x ) + (y + + y ) |x| + |y| |x| + |y| (3.5.4)

konveksna suma realnih brojeva x + + x i y + + y , pa je s izmedu tih brojeva. Stoga je |s | max{|x + + x |, |y + + y |} max{|x |, |y |} + | |(1 + max{|x |, |y |}) max{|x |, |y |} + u,

(3.5.5)

pa na relativnu greku rezultata utjeu obje donesene greke x i y . Finije razs c s matranje koristit e relaciju (3.5.4) koja pokazuje da se x mnoi s |x|/(|x| + |y|) c z z |y| i |x | |y |, tada e |s | biti c dok se y mnoi s |y|/(|x| + |y|). Ako je npr. |x| blizu manje greke |x |. s Kod svih dosadanjih sluajeva relativna greka u rezultatu nije bitno vea s c s c od relativnih greaka u polaznim podacima. Ako polazimo od tonih polaznih s c podataka, potreban je ogroman broj operacija tih vrsta da bi greka u zadnjem s s c medurezultatu bitnije narasla. Medutim jo nismo razmatrali preostali sluaj, x y = sign(x)(|x| |y|), koji e vrijediti ako je c =+ i ili ako je = i Umjesto relacije (3.5.4), imat emo c s = Ako je |x| |y| greke x + + x i y + + y mnoit e se s potencijalno vrlo velikim s z c brojevima |x| |y| odnosno b2 = . b1 = |x| |y| |x| |y| Taj fenomen smo ve upoznali kao opasno/katastrofalno kraenje. Ako su b1 i b2 c c brojevi reda veliine jedan, onda nee doi do opasnog kraenja. c c c c |x| |y| (x + + x ) (y + + y ). |x| |y| |x| |y| (3.5.6) sign(x) = sign(y). sign(x) = sign(y),

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 133

U zakljuku moemo rei da su operacije mnoenja i dijeljenja, te zbrajanja c z c z sumanada istog predznaka dobre operacije koje nee bitnije pogorati relativnu c s pogreku operanada, dok za operaciju oduzimanja brojeva istog predznaka to vrijedi s tek ako nije dolo do kraenja. Ako je dolo do kraenja, tada vrijedi pravilo: to s c s c s jae kraenje u operandima, to je vea relativna greka u rezultatu. c c c s Koji puta je kraenje neizbjeno zbog naravi problema (loe uvjetovani proc z s blemi), pa moemo tek birati izmedu algoriatma koji e dati katastrofalno kraenje z c c u jednoj ili nekoliko operacija, ili algoritama koji e postupno, jedva primjetno, c kratiti medurezultate kroz mnogo aditivnih operacija. Promotrimo sada akumulaciju greaka kod raunanja produkta i sume n s c brojeva, kao i kod osnovnih vektorskih i matrinih operacija. c

3.5.2.

Stabilnost produkta od n brojeva

Za produkt brojeva vrijedi Lema 3.5.2 Neka je xi = f (xi ), 1 i n i neka je | f (x1 x2 xi )| Nmax , Tada je f (x1 xn ) = (x1 xn )(1 + ), || 1.008(n 1)u. 1 i n.

Dokaz. Ako deniramo pomone varijable zi , sljedei iteracije algoritma za mnoc c enje brojeva x1 x2 xn u redoslijedu kako je napisano, koritenjem relacije (3.3.4), z s imat emo c z1 = x1 z2 = f (z1 x2 ) = (z1 x2 )(1 + 2 ) z3 = f (z2 x3 ) = (z2 x3 )(1 + 3 ) . . . . . . zn1 = f (zn2 xn1 ) = (zn2 xn1 )(1 + n1) zn = f (zn1 xn ) = (zn1 xn )(1 + n ). Mnoei lijeve i desne strane svih jednakosti, dobit emo, nakon kraenja pomonih z c c c c varijabli, zn = x1 xn (1 + 2 )(1 + 3 ) (1 + n ). Deniramo li 1 + = (1 + 2 )(1 + 3 ) (1 + n ), dobivamo (1 |2 |)(1 |3 |) (1 |n |) 1 (1 + |2|)(1 + |3 |) (1 + |n |) 1. (3.5.7)

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 134

Kako je 1 (1 |2|)(1 |3|) (1 |n |) (1 + |2 |)(1 + |3|) (1 + |n |) 1, zakljuujemo da je c || (1 + u)n1 1 1.008(n 1)u. Zadnja nejednakost slijedi iz leme 3.5.1(v) uzimanjem = u. Iz dokaza slijedi da ocjena vrijedi za proizvoljan poredak faktora (svaki algoritam koji u nekom poretku mnoi faktore) ako svi parcijalni produkti ne prekorauju z c (tj. za pomone varijable vrijedi zk Nmax ). c Ovaj rezultat pokazuje da mnoenje vie faktora sporo akumulira relativnu z s greku u rezultatu. Ako se koristi nain zaokruivanja prema najbliem, greke i s c z z s iz dokaza e biti i pozitivne i negativne, pa e ukupna greka c c s (1 + 2 )(1 + 3 ) (1 + n ) 1 2 + 3 + + n biti jo manja. Npr. umnoak milijun brojeva raunan u dvostrukoj tonosti, imat s z c c e barem 10 tonih znaajnih znamenaka, a uz zaokruivanje prema najbliem moe c c c z z z se oekivati barem 13 tonih znaajnih znamenaka (to e biti jasnije nakon odjeljka c c c c o sumiranju). Formalno, lema 3.5.2 pokazuje da je svaki algoritam koji uzastopce mnoi z brojeve stabilan unaprijed. Iz dokaza leme vidimo da rezultat moemo zapisati u z obliku f (x1 xn ) = x1 [x2 (1 + 2 )][x3 (1 + 3 )] [xn (1 + n )], |i| u, 2 i n.

Ako interpretiramo faktore xi (1 + i ) kao malo perturbirane polazne podatke xi , vidimo da je algoritam mnoenja n brojeva savreno stabilan unazad. Izraunati z s c produkt je jednako toan kao kad polazne brojeve koji nisu BPZ uitamo u raunalo, c c c a zatim ih egzaktno pomnoimo! z Iz relacije (3.5.7) slijedi = (1 + 2 )(1 + 3 ) (1 + n ) 1 = 2 + 3 + + n + = 2 + 3 + + n + O(u ), pa se iskaz leme jo zapisuje u obliku s f (x1 xn ) = (x1 xn )(1 + ), || (n 1)u + O(u2 ). (3.5.8)
2i<kn 2

i k + + 2 3 n

Prednost takvog zapisa je u tome to daje najmanju moguu konstantu uz linearni s c z lan u. Medutim, ako se taj rezultat koristi kao dio analize nekog sloenijeg izraza ili c

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 135

algoritma, postoje dvije neugodnosti. Prvo, ako u nejednakosti postoji lan oblika c 2 2 O(u ), vie nemamo istu ocjenu ve tek ocjenu do na veliinu reda u . Drugo, s c c c z s ako se u kasnijoj analizi lan O(u2 ) mnoi s potencijalno velikim brojevima, vie c nismo sigurni je li postao O(u) ili moda ak O(1), pa je svrha analize naruena. z c s Stoga se oblik (3.5.8) uglavnom koristi kod jednostavnijih izraza u svrhu dobivanja to povoljnije konstante uz u. s Jedan koristan pomoni rezultat c U formuli (3.5.7) javlja se produkt faktora koji su oblika 1+k . Za ocjenjivanje izraza koji sadre samo mnoenja i dijeljenja moemo koristiti sljedeu lemu. z z z c Lema 3.5.3 Neka je u > 0 realni broj i n cijeli pozitivni broj takav da vrijedi nu < 1. Neka su za i = 1, . . . , n, i realni brojevi, i pi {1, 1}. Ako su svi |i | u, onda vrijedi
n

(1 + i )pi = 1 + n ,
i=1

(3.5.9)

uz ocjenu |n | n :=

nu . 1 nu

(3.5.10)

Dokaz. Dokaz se provodi indukcijom po n. Za n = 1 vrijedi u < 1. Ako je p1 = 1, onda je 1 = 1 , pa je u . |1 | u 1u Ako je p1 = 1, onda je 1 , 1 + 1 = 1 + 1 pa je 1 1 1 = 1= . 1 + 1 1 + 1 S obzirom da je 1 + 1 1 u > 0, dobivamo |1 | = ime je lema dokazana za n = 1. c Pretpostavimo da tvrdnja leme vrijedi za neko n 1. To znai da je nu < 1, c pa je 1 + i > 0 za sve 1 i n. Prema tome, produkt na lijevoj strani relacije (3.5.9) je pozitivan, pa je n dobro deniran i zadovoljava ocjenu (3.5.10). Pokaimo da tvrdnja leme vrijedi za n + 1. Iz pretpostavke z (n + 1)u < 1 |1 | u , 1 + 1 1u

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 136

i |i | u, 1 i n + 1 slijedi nu < 1 i |i | u, 1 i n, pa moemo koristiti z relaciju (3.5.9) i ocjenu (3.5.10). Takoder, broj n+1 je dobro deniran relacijom
n+1

1 + n+1 =
i=1

(1 + i )pi ,

pa je 1 + n+1 =

n i=1

(1 + i )pi (1 + n+1 )pn+1 = (1 + n )(1 + n+1 )pn+1 .

Za pn+1 = 1 dobivamo n+1 = n + n+1 + n n+1 , pa je |n+1 | nu2 (n + 1)u (n + 1)u nu +u+ = < . 1 nu 1 nu 1 nu 1 (n + 1)u 1 + n n n+1 1= , 1 + n+1 1 + n+1 |n | + |n+1 | . 1 + n+1

Za pn+1 = 1 dobivamo n+1 = pa je |n+1 |

Kako je 1 + n+1 1 u > 0, lako slijedi nu +u (n + 1)u nu2 (n + 1)u |n+1 | 1 nu = . < 1u 1 (n + 1)u + nu2 1 (n + 1)u Time je dokaz indukcijom zavren. s Brojevi n , n 1 imaju vrlo praktino svojstvo, c m + n + m n m+n . Zadatak 3.5.1 (i) Dokaite nejednakost (3.5.11). z (ii) Primijenite lemu 3.5.3 na relaciju (3.5.7). Je li dobivena konstanta uz u vea c ili manja od 1.008? Nakon analize stabilnosti produkta brojeva, prouimo stabilnost sume brojeva. c (3.5.11)

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 137

3.5.3.

Stabilnost sume
sn = x1 + x2 + + xn ,

Neka je pri emu za brojeve xi vrijedi, kao i prije, xi = f (xi ), 1 i n. Suma sn c moe se raunati na razne naine. Promotrimo prvo najjednostavniji rekurzivni z c c algoritam: s1 := x1 ; for i := 2 to n do si := si1 + xi ; c Oznaimo s si izraunatu vrijednost si . Tada, prema relaciji (3.3.4), vrijedi c s2 = f (x1 + x2 ) = (x1 + x2 )(1 + 1 ) = x1 (1 + 1 ) + x2 (1 + 1 ), Slino, c s s s3 = f (2 + x3 ) = (2 + x3 )(1 + 2 ) = x1 (1 + 1 )(1 + 2 ) + x2 (1 + 1 )(1 + 2 ) + x3 (1 + 2 ). Nastavljajui na taj nain, dobivamo c c sn = f (n1 + xn ) = (n1 + xn )(1 + n1 ) s s = x1 (1 + 1 )(1 + 2 ) (1 + n1) + x2 (1 + 1 )(1 + 2 ) (1 + n1 ) + x3 (1 + 2 ) (1 + n1 ) + + xn1 (1 + n2 )(1 + n1 ) + xn (1 + n1 ), gdje su svi |i| u. Zadnju relaciju moemo pojednostaviti uvodenjem novih variz jabli 1 + 1 = (1 + 1 )(1 + 2 ) (1 + n1) 1 + 2 = (1 + 1 )(1 + 2 ) (1 + n1) 1 + 3 = (1 + 2 ) (1 + n1 ) . . . 1 + n1 = (1 + n2 )(1 + n1 ) 1 + n = 1 + n1. Tada prethodnu relaciju moemo zapisati u obliku z sn = x1 (1 + 1 ) + x2 (1 + 2 ) + + xn (1 + n ), (3.5.12) |1 | u.

pri emu i moemo ocijeniti pomou leme 3.5.3 ili jo otrije pomou leme 3.5.1(v), c z c s s c |i | 1.008 (n 1)u, i = 1, (n i + 1)u, 2 i n. (3.5.13)

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 138

Relacije (3.5.12) i (3.5.13) pokazuju da je rekurzivni algoritam za sumiranje brojeva povratno stabilan. Ocjene za relativnu greku svakog perturbiranog polaznog s podatka xi (1 + i ) su manje od nu. Je li algoritam, takoder, stabilan unaprijed? Da bismo odgovorili na to pitanje oduzmimo od sn egzaktnu sumu sn , sn sn = x1 1 + x2 2 + + xn n i ocjenjujemo apsolutnu vrijednost razlike |n sn | |x1 | |1| + |x2 | |2| + + |xn | |n | s max{|i|}(|x1 | + |x2 | + + |xn |)
i

(3.5.14)

(|x1 | + |x2 | + + |xn |) 1.008(n 1)u. Stoga je relativna greka od sn kao aproksimacije za sn , ocijenjena s s |n sn | s cond(sn )1.008(n 1)u, |sn | gdje je (3.5.15)

|x1 | + |x2 | + + |xn | . (3.5.16) |x1 + x2 + + xn | Ako na trenutak pretpostavimo da je i xi proizvoljna perturbacija od xi za svako i, onda vidimo da formula (3.5.14) daje otru ocjenu jer se jednakost dostie npr. s z s za pozitivne xi i 1 = 2 = = n . Nejednakost (3.5.15) pokazuje kako se ponaa relativna greka funkcije sn pri relativnim grekama njenih argumenata xi . Stoga s s s je cond(sn ) broj uvjetovanosti za sn i on, kao to znamo iz odjeljka o uvjetovanosti, povezuje greku unaprijed s grekom unazad. Kako cond(sn ) moe biti proizvoljno s s z velik (uzmimo npr. brojeve 1, 1 i t, pa pustite da t 0), algoritam nije openito c stabilan unaprijed. Ipak, ako svi xi imaju isti predznak, onda je cond(sn ) = 1, pa je i greka unaprijed mala, a to znai da je algoritam stabilan unaprijed. s c Isti zakljuak vrijedi kadgod cond(sn ) nije veliki broj. c cond(sn ) = z Umjesto da sumiranje vrimo redom od x1 do xn , moemo koristiti bilo koji s (sekvencijalni) redoslijed sumiranja. Ocjene e nakon odgovarajue analize greaka c c s zaokruivanja biti posve analogne. Pritom e vrijediti relacija (3.5.12) s tim da z c umjesto x1 i x2 stoje oni sumandi koji se prvi zbrajaju, umjesto x3 onaj sumand koi se sljedei dodaje sumi itd. c Katkad su svi lanovi sume istog predznaka i pritom jo uredeni u monotoni c s niz. Tada se postavlja pitanje u kojem redoslijedu treba sumirati da bi relativna greka u sn bila to manja? Prvo uoimo da je traenje najmanje relativne greke za s s c z s taj problem ekvivalentno traenju najmanje apsolutne greke (jer nju dijelimo sa sn , z s a sn ne ovisi o redoslijedu sumiranja). Dakle, traimo redoslijed indeksa j1 , j2 , . . . , jn z za koji je |xj1 1 + xj2 2 + + xjn n |

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 139

najmanje. Problem je teak jer greke k koje deniraju svaki i mogu biti i pozitivne z s i negativne, pa |1 | moe biti manji od bilo kojeg j , 3 j n. Stoga moramo zaz htjev malo oslabiti pitanjem koji redoslijed indeksa j1 , j2 , . . . , jn daje najbolju ocjenu za |xj1 1 + + xjn n |? Tako dolazimo do jednostavnog pravila. Ako je niz |x1 |, |x2 |, . . . , |xn | monoton, sumiramo u smjeru od apsolutno najmanjeg do apsolutno najveeg lana. c c Kaskadno sumiranje Osim danog jednostavnog algoritma za sumiranje, spomenimo jo jedan koji s daje najmanju ocjenu greke, ali na raunalu trai cijelo polje dodatnih lokacija u s c z memoriji. Zovemo ga sumiranje po parovima ili kaskadno sumiranje. z c Algoritam ima priblino log2 (n) glavnih koraka, a priblino tolika e biti i z k ograda za svaki |i | iz relacije (3.5.12). Ako je n = 2 , k 2 algoritam ima k glavnih koraka. U prvom zbrajamo u parovima zi = x2i1 + x2i , 1 i [n/2], z1 = x1 + x2 , z2 = x3 + x4 , ..., zm1 = xn1 + xn , m1 = n/2 = 2k1.

U drugom ponavljamo istu operaciju nad z1 , . . . , zm1 , w1 = z1 + z2 , w2 = z3 + z4 , ..., wm2 = zm1 1 + zm1 , m2 = m1 /2 = 2k2 .

c Nastavljajui na taj nain, nakon k 1 glavnih koraka imamo 2(k(k1)) = 2 lana, c c pa se u k-tom koraku oni zbroje dajui sn . c Zadatak 3.5.2 Ako je n = 2k , dokaite da svaki xi sudjeluje u tono k zbrajanja, z c pa je u relaciji (3.5.12) svaki |i | omeden sa 1.008ku. Pokuajte napisati algoritam s za opi sluaj kad n nije potencija od 2. Koliko prolaza ima glavna petlja kad je n c c jednako 8, 16, 9, 10, 11, 12, 13, 14, 15? Generalizirajte zaljuak za n izmedu 2k i 2k+1 . c Koliko zbrajanja prolazi svaki xi ? Koliki je ukupni broj raunskih operacija? Koliko c dodatne memorije (dodatnih elija za pomone varijable) bi koristili za realizaciju c c algoritma, ako elite sauvati vrijednosti polaznog niza u polaznom polju? z c Jedna generalnija analiza sumacijskih metoda i pripadnih greaka zaokruivas z nja (vidi [5]) daje sljedeu generalnu uputu. c Kod odabiranja sumacijske metode s ciljem dobivanja to tonije s c sume sn , treba izabrati onu koja daje to manje apsolutne vrijednosti s medurezultata. Zadatak 3.5.3 Prije primjene zadnjeg algoritma moemo sortirati elemente niza z (xi ). Koju strategiju biste izabrali? Npr. y1 = xmin + xmax

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 140

i kako dalje, ili y1 = xmin1 + xmin2 , gdje su xmin1 i xmin2 dva najmanja broja, i kako dalje? Napomena 3.5.1 Prednost standardnog algoritma prema binarnom je i u kraem trajanju na raunalu. Ne radi se o veem broju zbrajanja, nego o nainu c c c c c dohvaanje elemenata polja u raunalo kod izvodenja aritmetikih operacija s elec c mentima polja. Prije zbrajanja operanada moderna raunala zahvate cijeli blok poc dataka (onih u uzastopnim elijama) oko tekuih operanada u brzu cache memoc c riju. Ako je elemenata xi previe da bi svi stali u brzu memoriju, dohvaaju se po s c blokovima. Ako se binarni algoritam ne programira vrlo precizno, uz jasno poznavanje kako koristi brzu memoriju, mogao bi zahtijevati daleko vei broj dohvaanja c c lanova niza xi nego standardni algoritam. c Isplati li se investirati dodatnu memoriju i raunsko vrijeme da bismo imali c osigurane bitno manje ograde za svaki i , nego kod standardnog algoritma? Kod veine aplikacija ne. Usprkos mnogo veim ogradama stvarne greke i kod stanc c s dardnog algoritma su bitno manje. Malo vie svjetla na tu zagonetku baca i statistika analiza osnovnih greaka s c s zaokruivanja za sumu 1 + + n . Analiza koja pretpostavlja da su osnovne z greke nezavisne sluajne varijable s oekivanjem nula i konanom standardnom s c c c devijacijom, pokazuje da je oekivana vrijednost za njihovu sumu omedena s nu c to je daleko povoljnije od teoretske granice nu (npr. oekivana vrijednost za 1 je s c s oko n 1u, to je mnogo povoljnije od (n 1)u).

3.5.4.

Kompenzirano sumiranje

Kompenzirano sumiranje je posebno atraktivno ako ve koristimo najprecizniju c aritmetiku u raunalu (npr. dvostruku preciznost podataka i aritmetike). Radi se c o rekurzivnom algoritmu s korektivnim sumandom koji je tako odreden da gotovo poniti greke zaokruivanja. s s z Neka su a = f (a) i b = f (b) takvi da je |a| |b|. Neka je s = f (a + b). Promotrimo sljedeu ilustraciju, koja koristi izduene pravokutnike za prikaz manc z tise. Pri zbrajanju u akumulatoru (aritmetikoj jedinici procesora) mantisa manjeg c po modulu broja se prvo pomakne u desno za broj bitova koji odgovara razlici eksponenata brojeva a i b. Zatim se mantise zbroje, zaokrue na t bitova (koliko mantisa z doputa), a ako je pritom dolo do prekoraenja vrijednosti, mantisa se normalizira, s s c a eksponent podesi.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 141

a +b =s a b

a1

a2 b1 b2

a1 a1

a2 + b1 a2 = b1 b1 0 b2 = b2 0 = e

Slika 3.5.1 Izvlaenje greke zaokruivanja c s z Iz slike 3.5.1 moemo zakljuiti da je greka e, z c s e = [((a + b) a) b] = (a s) + b, ako se izrauna na raunalu u redoslijedu naznaenom zagradama c c c e = (((a b) a) b),

dobra aproksimacija greke (a + b) s. Zapravo, za standardni nain zaokruivanja s c z u IEEE aritmetici moe se pokazati da je z a + b = s + e, pa e reprezentira pravu greku. s Sljedei Kahanov algoritam koristi korekciju e u svakom koraku standardnog c rekurzivnog sumacijskog algoritma. Nakon to je izraunata parcijalna suma si1 , s c odmah se rauna njena korekcija, koja se u sljedeem koraku dodaje lanu xi prije c c c njegova dodavanja parcijalnoj sumi si1 . Gotovo uvijek je parcijalna suma po modulu vea od elementa koji joj se c dodaje, pa korekcija e, koja je mala, moe mijenjati element xi , ali ne moe mijenjati z z c si1 koja je ve najbolja strojna aproksimacija od si2 + xi1 . Evo algoritma. s := 0; e := 0; for i := 1 to n do begin temp := s; z := xi + e; s := temp + z; e := (temp s) + z end

{vaan je redoslijed izvravanja} z s

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 142

Ova metoda ipak ima dva manja nedostatka. Prvo, e nije nuno tona korekcija, jer z c uvjet |si1 | |xi | (u algoritmu: |temp| |y|) nee uvijek biti zadovoljen. Drugo, c z u raunalu se rauna z := xi e a ne z := xi + e. Ipak, moe se pokazati da i iz c c formule (3.5.12) za kompenziranu sumaciju zadovoljava |i | 2u + O(nu2 ), to je gotovo nedostian rezultat. s z

3.5.5.

Stabilnost skalarnog produkta i osnovnih matrinih c operacija

Neka su x, y Rn , x = [x1 , . . . , xn ]T , y = [y1 , . . . , yn ]T . Da bismo analizirali skalarni produkt vektora x i y, oznaimo c s = sn = xT y = x1 y1 + x2 y2 + + xn yn , te za svako i parcijalne sume si = x1 y1 + + xi yi. Kao i kod sumacije, moemo denirati vie algoritama za skalarni produkt, ali emo z s c zbog jednostavnosti analizirati samo iterativni algoritam s1 := x1 y1 ; for i := 2 to n do si := si1 + xi yi ; Zbog slinosti s prijanjim algoritmom za sumiranje n brojeva, moemo preuzec s z ti neke dijelove izvoda ocjena greaka zaokruivanja. Kao i prije, sa si oznaimo s z c izraunate vrijednosti. Tada imamo, c s1 = f (x1 y1 ) = x1 y1 (1 + 1 ) s2 = f (1 + x2 y2 ) = [1 + x2 y2 (1 + 2 )](1 + 1 ) s s = x1 y1 (1 + 1 )(1 + 1 ) + x2 y2 (1 + 2 )(1 + 1 ) s3 = x1 y1 (1 + 1 )(1 + 1 )(1 + 2 ) + x2 y2 (1 + 2 )(1 + 1 )(1 + 2 ) + x3 y3 (1 + 3 )(1 + 2 ) . . . sn = f (n1 + xn yn ) = [n1 + xn yn (1 + n )](1 + n1) s s = x1 (1 + 1 )(1 + 1 )(1 + 2 ) (1 + n1) + x2 (1 + 2 )(1 + 1 )(1 + 2 ) (1 + n1) + x3 (1 + 3 )(1 + 2 ) (1 + n1 ) + + xn1 (1 + n1 )(1 + n2 )(1 + n1 ) + xn (1 + n )(1 + n1 ),

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 143

gdje je |1 | u, pa je sn = x1 y1 (1 + 1 ) + x2 y2 (1 + 2 ) + + xn yn (1 + n ), (3.5.17)

z c s s c pri emu i moemo ocijeniti pomou leme 3.5.3, ili jo otrije pomou leme 3.5.1(v) c |i | 1.008 nu, i = 1, (n i + 2)u, 2 i n. (3.5.18)

Relacija (3.5.17) je rezultat analize povratne greke koji se moe ovako interpretirati. s z Izraunati skalarni produkt f (xT y) je egzaktan skalarni produkt mac lo perturbiranih vektora x i y. Algoritam je povratno stabilan. Kao perturbirane vektore moemo uzeti npr. z x + x = [x1 (1 + 1 ), . . . , xn (1 + n )] i y, takoder, x i y + y = [y1 (1 + 1 ), . . . , yn (1 + n )], ali i x + x = [x1 1 + 1 , . . . , xn 1 + n ] i y + y = [y1 1 + 1 , . . . , yn 1 + n ]. Da bismo dobili ocjenu za greku unaprijed, koristimo analogne ocjene kao u relaciji s (3.5.14), |x1 y1 | + |x2 y2 | + + |xn yn | |n sn | s max{|i |} i |sn | |x1 y1 + x2 y2 + + xn yn | cond(sn )1.008nu. (3.5.19)

Vidimo da broj uvjetovanosti cond(sn ) za skalarni produkt moe biti po volji velik. z To se dogada kad je |xT y| |x|T |y|. Zakljuak je isti kao i kod sumiranja: greka c s unaprijed moe biti velika, pa algoritam nije stabilan unaprijed. Ipak on je stabilan z unaprijed kad su svi produkti xi yi istog predznaka (tada je cond(sn ) = 1). Raunanje 2-norme, c x = x2 + + x2 1 n || 1.008nu, zasluuje razmatranje. S obzirom da je za taj sluaj broj uvjetovanosti 1, vrijedi z c f (x2 + + x2 ) = (x2 + + x2 )(1 + ), 1 n 1 n pa se jednostavno dobije f ( x ) = x (1 + ), | | 1 + 1.008nu(1 + u) 1 (1 + 0.504n)u

to je manje od 0.504(n + 1)u za n 2. Dakle, raunanje norme je stabilno (uns c aprijed i unazad).

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 144

Zadatak 3.5.4 Je li raunanje ostalih normi, npr. x 1 , x c

x p , stabilno?

Za razliku od skalarnog (unutranjeg) produkta, vanjski produkt vektora s A = xy T nije povratno stabilan. Ovdje ak x i y ne trebaju biti iste dimenzije. Ako elemente c matrice A oznaimo s aij , onda vrijedi aij = xi xj , pa je c aij = f (aij ) = aij (1 + ij ), za sve i, j. Stoga je A = f (xy T ) = A + E, pa vrijedi |E| u|xy T | = u|A|, odnosno, |A A| u|A|, pa je raunanje vanjskog produkta operacija stabilna unaprijed. Razlika izmedu c tipova stabilnosti unutranjeg i vanjskog produkta izraava opi princip: numeriki s z c c proces e prije biti stabilan unazad (unaprijed) ako ima vie (manje) c s ulaznih nego izlaznih podataka. E = [ ij ] , |ij | u

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 145

4. Sustavi linearnih jednadbi z


Jedan od osnovnih problema numerike matematike je rjeavanje linearnih susc s tava jednadbi. U ovom poglavlju istraivat emo metode za rjeavanje kvadratnih z z c s n n sustava, tj. sustava s n jednadbi i n nepoznanica, z a11 x1 + a12 x2 + + a1j xj a21 x1 + a22 x2 + + a2j xj . . . . . . . . . ai1 x1 + ai2 x2 + + aij xj . . . . . . . . . an1 x1 + an2 x2 + + anj xj + + a1n xn + + a2n xn . . . + + ain xn . . . + + ann xn = b1 = b2 . . . = bi . . . = bn

nn Matrica A = [ aij ]n je matrica sustava, a njeni elementi su koecijenti i,j=1 R n sustava. Vektor b = [ bi ]i=1 Rn je vektor desne strane sustava. Treba odrediti vektor nepoznanica x = [ xi ]n Rn tako da vrijedi Ax = b. i=1

Kako znamo iz linearne algebre, za teorijsku matematiku je rjeavanje suss tava Ax = b gotovo trivijalan problem, posebno u sluaju kada je matrica sustava c kvadratna i regularna. Rjeenje x je dano formulom x = A1 b u kojoj je A1 ins verzna matrica od A (AA1 = A1 A = I). Pri tome postoje eksplicitne formule i za elemente matrice A1 i za samo rjeenje x. s Osim toga, svima dobro poznata Gaussova metoda eliminacija dolazi do rjes enja u O(n3 ) elementarnih operacija3 . Dakle, situacija je potpuno jasna: rjeenje s 1 s x = A b postoji, i to samo jedno, i znamo jednostavan algoritam koji to rjeenje eksplicitno rauna koristei samo jednostavne aritmetike operacije. c c c U primijenjenoj matematici, posebno u numerikoj linearnoj algebri (grana c numerike matematike koja se bavi problemima linearne algebre) je situacija puno c kompliciranija. Zato? U numerikoj matematici danas rijeiti problem znai biti s c s c u stanju u konkretnoj situaciji sa konkretnim podacima, koristei raunalo, brzo c c doi do dovoljno tone numerike aproksimacije rjeenja. Na primjer, ako c c c s su n n matrica A i vektor b zapisani u nekim datotekama na disku, ili su dane
3

Ovdje elementarna operacija oznaava zbrajanje, oduzimanje, mnoenje ili dijeljenje. c z

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 146

procedure (potprogrami) koji generiraju A i b, onda je zadatak izraunati numerike c c vrijednosti xi , i = 1, . . . , n. Ono po emu su raunala poznata je brzina dobro jednoprocesorsko raunalo c c c 9 s c moe napraviti npr. 10 operacija u sekundi. Medutim, ono to je osnovna znaajka z moderne numerike matematike je da joj u primjenama dolaze problemi sve veih c c 3 dimenzija. Kako je broj operacija u Gaussovim eliminacijama O(n ), to znai da c je npr. za n = 105 broj operacija reda veliine 1015 pa brzinom od 109 operacija u c sekundi dobivamo vrijeme izvravanja4 oko 106 sekundi, to je vie od deset dana. s s s U ozbiljnim primjenama treba u procesu projektiranja puno puta rjeavati s takve sustave. Tada je brzina raunala samo jedan faktor u razumno (ili dovoljno) c brzom rjeavanju linearnog sustava. Dakle, problem koji je matematiki posve jeds c nostavan u praksi moe biti puno izazovniji i netrivijalniji. z U divljenju brzini kojom raunalo zbraja, oduzima ili mnoi brojeve esto c z c zaboravljamo da su rezultati tih operacija uglavnom netoni. Sjetimo se, raunalo c c reprezentira brojeve i izvrava raunske operacije koristei ksni broj znamenki to s c c znai da se rezultati operacija zaokruuju. Dakle, mogue je da je svaka od O(n3 ) c z c operacija u Gaussovom algoritmu izvrena s grekom zaokruivanja. Koliko onda s s z moemo vjerovati izraunatom rjeenju? z c s

4.1.

Vodi kroz ovo poglavlje c

Materijal u ovom poglavlju je prije svega namijenjen naprednom studiranju numerike matematike i usvajanju nekih osnovnih principa. Ipak, organiziran je u c vie nivoa tako da ga mogu itati i poetnici i napredniji itatelji. Sljedei pregled s c c c c bi trebao pomoi itatelju pri planiranju prouavanja ponudenog materijala. c c c 1. nivo : Prouiti i shvatiti barem jedan primjer iz odjeljka 4.2. o primjeni linearnih c sustava jednadbi. Materijal iz odjeljka 4.3. itati do iskaza teorema. Paljivo, z c z uz papir i olovku, obraditi primjere i opis Gaussovih eliminacija na primje ru male dimenzije. Citatelj na ovom nivou treba nauiti kako funkcioniraju c Gaussove eliminacije, uoiti vezu izmedu procesa eliminacija i faktorizacije c matrice koecijenata sustava, svladati algoritme za rjeavanje trokutastih sus stava, te biti u stanju na ruke rijeiti sustave manje dimenzije. s 2. nivo : Materijal iz odjeljka 4.3. svladati u potpunosti. 3. nivo : Sekcije 4.3. i 4.4. svladati u potpunosti. Po potrebi se sluiti materijalom z iz dodataka ili druge literature. Analizirati i shvatiti sve primjere. Shvatiti vanost pivotiranja za numeriku stabilnost Gaussovih eliminacija. z c
Ovdje namjerno pojednostavljujemo ocjenu vremena izvravanja. Za precizniju procjenu je s potrebno uraunati i vrijeme pristupa memoriji i dohvaanje podataka, veliinu tzv. cache memoc c c rije, itd. U ovom trenutku vano je dobiti osjeaj za red veliine. z c c
4

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 147

4. nivo : Na ovom nivou itatelj bez potekoa ita sav materijal i slui se proc s c c z gramima za rjeavanje sustava na raunalu. s c

4.2.

Primjeri: Kako nastaje linearni sustav jednadbi z

U ovom odjeljku dajemo niz primjera problema iz primijenjene matematike ije rjeavanje je bazirano na sustavima linearnih jednadbi. c s z Primjer 4.2.1 Zadani su parovi toaka (xi , yi ), i = 0, . . . , n, gdje su yi = f (xi ) c izmjerene (ili na neki drugi nain dobivene) vrijednosti funkcije f (x) koju elimo c z aproksimirati polinomom p(x) stupnja n. Pretpostavljamo i da je xi = xj za i = j. Kriterij za odabir polinoma p(x) je da u tokama xi ima vrijednost p(xi ) = c z yi = f (xi ). (Govorimo o interpolacijskom polinomu.) Ako p(x) prikaemo u kanonskom obliku p(x) = a0 + a1 x + a2 x2 + + an xn =
n

aj xj
j=0

onda treba odrediti koecijente a0 , . . . , an tako da vrijede uvjeti interpolacije p(xi ) = yi , i = 0, . . . , n, tj. a0 + a1 x0 + a2 x2 + + an1 xn1 + an xn 0 0 0 n1 2 a0 + a1 x1 + a2 x1 + + an1 x1 + an xn 1 . . . . . . . . . . . . . . . n1 2 a0 + a1 xi + a2 xi + + an1 xi + an xn i 2 n1 a0 + a1 xn + a2 xn + + an1 xn + an xn n = y0 = y1 . . . = yi = yn .

Vidimo da svaki uvjet interpolacije daje jednu jednadbu u kojoj se nepoznati koz ecijenti pojavljuju linearno. Sve jednadbe ine sustav linearnih jednadbi kojeg z c z moemo matrino zapisati u obliku V a = y, tj. z c

1 1

x0 x1 xi

1 xn

x2 x3 0 0 x2 x3 1 1 x2 x3 i i x2 x3 n n V

xn1 0 xn1 1 xn1 i xn1 n

y0 a0 xn 0 y n a x1 1 1 a2 y . = .2 . xn . . . i . an1 yn1 xn an yn n a y

(4.2.1)

Matrica V zove se Vandermondeova matrica. Zahvaljujui njenom specijalnom obc 1 liku, mogue je ekasno odrediti a = V y. c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 148

Primjer 4.2.2 Promotrimo sljedei rubni problem: c d2 u(x) = f (x), 0 < x < 1, dx2 u(0) = u(1) = 0. (4.2.2) (4.2.3)

Rjeenje u problema (4.2.2, 4.2.3) aproksimirat emo na skupu od konano mnogo s c c toaka iz segmenta [0, 1]. Odaberimo prirodan broj n i denirajmo c h= 1 , n+1 xi = ih, i = 0, . . . , n + 1. (4.2.4)

Sada promatramo vrijednosti ui = u(xi ), i = 0, . . . , n + 1. Iz uvjeta (4.2.3) odmah vidimo da je u0 = un+1 = 0. Iz Taylorovog teorema je u (xi ) 2 u h + 2 u (xi ) 2 u u(xi h) = u(xi ) u (xi )h + h 2 u(xi + h) = u(xi ) + u (xi )h + (xi ) 3 u(4) (xi + i ) 4 h + h , (4.2.5) 6 24 (xi ) 3 u(4) (xi + i ) 4 h + h , (4.2.6) 6 24

z gdje su i (xi , xi + h), i (xi h, xi ). Zbrajanjem jednadbi (4.2.5) i (4.2.6) za i = 1, . . . , n dobivamo ui+1 + ui1 = 2ui + u (xi )h2 + (u(4) (xi + i ) + u(4) (xi + i )) tj. u (xi ) = gdje je ei = (u(4) (xi + i ) + u(4) (xi + i )) Matrino to moemo zapisati kao c z
u1 u2 u 3 . . . un2 1 u
n1

h4 , 24

(4.2.7)

ui1 + 2ui ui+1 ei , h2 h2 . 24


(4.2.8)

2 1 1 2 1 1 2 1 1

2 1 1 2 1

2 2 +h . h f e n2 n2 fn1 en1

f1 f2 f3 . . .

e1 e2 e3 . . .

(4.2.9)

Tn

un u

fn f

en e

U jednadbi Tn u = h2 f + h2 e lan e ne znamo, pa ga zanemarujemo, tj. pokuat z c s z c emo rijeiti Tn u = h2 f . Primijetimo da pod odredenim uvjetima moemo oekivati c s da je e 2 mali broj, e 2 = O(h2 ).

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 149

Tek da ilustriramo, uzmimo npr. f (x) = 16 2 sin 4x, za kojeg znamo tono c rjeenje u(x) = sin 4x. Uzet emo n = 10 i n = 50 i vidjeti koliko su dobre s c dobivene aproksimacije. Rezultati su dani na sljedeoj slici. c
Numericko rjesenje od -u=f 1.5 "egzaktno_rjesenje" "numericka_aproksimacija_50" "numericka_aproksimacija_10"

0.5

-0.5

-1

-1.5 0 0.2 0.4 0.6 0.8 1

Egzaktno rjeenje i numerika rjeenja dobivena s n = 10 i n = 50 vorova. s c s c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 150

Za iskusnije itatelje odmah emo malo prodiskutirati dobiveno rjeenje. (Osc c s tali mogu preskoiti sljedeu diskusiju.) Lako se pokae da je matrica Tn regularna. c c z 1 Neka je u = h2 Tn f . Imamo
1 1 1 u u = Tn (h2 f + h2 e) h2 Tn f = h2 Tn e,

(4.2.10)

pa je

uu u 2

1 Tn e 1 Tn f

2 2

Tn

1 Tn

e f

2 2

(4.2.11)

Pri tome smo koristili sljedee nejednakosti: c


1 Tn e 2 1 Tn f

1 Tn 2

f Tn

2 2

1 Tn x 2 e 2 (jer je = max ), x=0 x 2 Tn x 2 y 2 (jer je Tn 2 = max = max 1 x=0 y=0 x 2 Tn y 1 Tn 2

).
2

Vidimo da nejednakost u relaciji (4.2.11) moe za neke izbore vektora e i f prijei z c u jednakost, to znai da je relacija (4.2.11) realistina ocjena greke diskretizacije s c c s e na aproksimaciju rjeenja polaznog rubnog problema (4.2.2)(4.2.3). s Mi ne moemo tono odrediti niti u jer raunamo u aritmetici s konanom z c c c preciznosti. Neka je u izraunata aproksimacija vektora u. Pitanje je koliku tonost c c aproksimacije treba imati u. Iz relacije (4.2.11) slijedi da je zadovoljavajua tonost c c postignuta ako je u u 2 / u 2 najvie reda veliine 2 (Tn ) e 2 / f 2 (sjetimo se s c da mi zapravo elimo aproksimirati u). z

4.3.

Gaussove eliminacije i trokutaste faktorizacije

Metoda Gaussovih eliminacija je svakako najstariji, najjednostavniji i najpoznatiji algoritam za rjeavanje sustava linearnih jednadbi Ax = b. Ideja je jednos z stavna. Da bismo rijeili sustav s 2x1 x2 = 1 x1 + 2x2 = 1 1 dovoljno je primijetiti da zbog prve jednadbe vrijedi x1 = (1 + x2 ), pa je druga z 2 jednadba z 3 3 1 (1 + x2 ) +2x2 = 1, tj. x2 = , tj. x2 = 1, 2 2 2 x1 odakle je x1 = 1. Kaemo da smo x1 eliminirali iz druge jednadbe. z z

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 151

Ovu ideju moemo lako generalizirati na dimenziju n > 1, gdje sustavno eliz miniramo neke nepoznanice iz nekih jednadbi. Pokazuje se da takav algoritam z ima dosta zanimljivu strukturu i da ga se moe ekvivalentno zapisati u terminima z matrinih operacija. Kvalitativno novi moment u analizi metode eliminacija nastaje c kada sam proces eliminacija interpretiramo kao faktorizaciju matrice sustava A na produkt trokutastih matrica.1

4.3.1.

Matrini zapis metode eliminacija c


Primjer 4.3.1 Rijeimo sljedei sustav jednadbi: s c z 5x1 + x2 + 4x3 = 19 10x1 + 4x2 + 7x3 = 39 15x1 + 5x2 9x3 = 32 5 10 15 1 4 5 4 x1 19 7 x2 = 39 . 9 32 x3 b = [ bi ]3 i=1 (4.3.1)

A = [ aij ]3 i,j=1

Koristimo metodu supstitucija, odnosno eliminacija. Prvo iz prve jednadbe izraziz c z mo x1 pomou x2 i x3 , te to uvrstimo u zadnje dvije jednadbe, koje postaju dvije jednadbe s dvije nepoznanice (x2 i x3 ). Dobivamo z 1 x1 = (19 x2 4x3 ), 5 pa druga jednadba sada glasi z 10 (19 x2 4x3 ) + 4x2 + 7x3 = 39, 5 tj. 10 10 (x2 + 4x3 ) + 4x2 + 7x3 = 39 + 19 . 5 5 Dakle, efekt ove transformacije je ekvivalentno prikazan kao rezultat mnoenja prve z jednadbe s z 10 a21 = = 2 a11 5 i zatim njenim dodavanjem (pribrajanjem) drugoj jednadbi. Druga jednadba sada z z glasi 2x2 x3 = 1. Ako ovu transformaciju sustava zapiemo matrino, imamo s c

5 10 15

1 4 4 7 5 9 A

1 0 2 1 0 0 L(2,1)

0 5 0 10 1 15

1 4 5 4 7 = 0 5 9 15 A

1 4 2 1 . 5 9
3 i,j=1

A(1) = a(1) ij

Takav koncept je prvi uveo Alan Turing.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 152

Nepoznanicu x1 eliminiramo iz zadnje jednadbe ako prvu pomnoimo s z z a31


(1) (1) a11

15 = 3 5

i onda je pribrojimo zadnjoj. To znai sljedeu promjenu matrice koecijenata: c c

5 1 0 2 15 5 A(1)

4 1 9

1 0 3

0 0 5 1 4 5 1 1 0 0 2 1 = 0 2 0 1 15 5 9 0 8 L(3,1) A(1)

4 1 . 3
3 i,j=1

A(2) = a(2) ij

Vektor desne strane je u ove dvije transformacije promijenjen u

19 1 0 39 2 1 32 0 0 b

0 19 19 0 39 = 1 1 32 32 b(1)

L(2,1)

1 0 0 19 19 0 1 0 1 = 1. 3 0 1 32 25 L(3,1) Novi, ekvivalentni, sustav je A(2) x = b(2) , tj. 5x1 + x2 + 4x3 = 19 2x2 x3 = 1 8x2 3x3 = 25, b(2)

(4.3.2)

u kojem su druga i trea jednadba sustav od dvije jednadbe s dvije nepoznanice. c z z Oito je da rjeenje x = (x1 , x2 , x3 )T sustava (4.3.1) zadovoljava i sustav (4.3.2). c s z z Obratno, ako trojka x1 , x2 , x3 zadovoljava (4.3.2), onda mnoenjem prve jednadbe u (4.3.2) s 2 i zatim pribrajanjem drugoj jednadbi, dobijemo drugu jednadbu sustaz z va (4.3.1). Na slian nain iz prve i tree jednadbe sustava (4.3.2) rekonstruiramo c c c z treu jednadbu polaznog sustava (4.3.1). U tom smislu kaemo da sustavi (4.3.1) c z z i (4.3.2) ekvivalentni: imaju isto rjeenje. s Nadalje, primijetimo da smo proces eliminacija (tj. izraavanja nepoznanice z x1 pomou x2 i x3 i eliminiranjem x1 iz zadnje dvije jednadbe) jednostavno opisali c z matrinim operacijama. Eliminaciju nepoznanice x1 smo prikazali kao rezultat c mnoenja matrice koecijenata i vektora desne strane s lijeva jednostavnim maz tricama L(2,1) i L(3,1) .

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 153

Jasno je da je sustav (4.3.2) jednostavniji od polaznog. Zato sada nastavljamo s primjenom iste strategije: iz tree jednadbe eliminiramo x2 tako to drugu jednadbu c z s z pomnoimo s z (2) a 32 = 4 (2) a22 i pribrojimo je treoj. Tako trea jednadba postaje 7x3 = 21, a cijeli sustav ima c c z oblik 5x1 + x2 + 4x3 = 19 2x2 x3 = 1 (4.3.3) 7x3 = 21. c z z c Transformaciju eliminacije x2 iz tree jednadbe moemo matrino zapisati kao transformaciju matrice koecijenata

5 1 0 2 0 8

4 1 3

1 0 0

0 1 4

0 5 1 00 2 1 0 8 A(2) 0 1 4 L(3,2)

4 5 1 1 = 0 2 3 0 0 A(3)

4 1 7

(4.3.4)

A(2) L(3,2) i transformaciju vektora desne strane

19 1 25 b(2)

1 0 0

0 19 19 0 1 = 1 . 1 25 21 b(2) b(3) = (bi )3 i=1


(3)

(4.3.5)

Sustav (4.3.3), koji je ekvivalentan polaznom, lako rijeimo. s 21 = 3. 7 1 2. Iz druge jednadbe je x2 = (1 + x3 ) = 2. z 2 1 3. Iz prve jednadbe je x1 = (19 x2 4x3 ) = 1. z 5 1. Iz tree jednadbe je x3 = c z s Jednostavna provjera potvrduje da su x1 , x2 , x3 rjeenja polaznog sustava (4.3.1). Analizirajmo postupak rjeavanja u prethodnom primjeru. Paljivo pogledajs z mo oblik matrica u realaciji A(3) = L(3,2) L(3,1) L(2,1) A. Matrica A(3) je gornjetrokutasta, a produkt L(3,2) L(3,1) L(2,1) je donjetrokutasta matrica. Dakle, polaznu matricu A smo mnoenjem slijeva donjetrokutastom matricom z nainili gornjetrokutastom. To moemo proitati i ovako: c z c A = LA(3) , L = (L(2,1) )1 (L(3,1) )1 (L(3,2) )1 ,

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 154

gdje je L donjetrokutasta matrica. Lako se provjerava da je 1 0 0 1 0 0 1 0 0 1 0 0 L = 2 1 0 0 1 00 1 0 = 2 1 0. 0 0 1 3 0 1 0 4 1 3 4 1 (L(2,1) )1 (L(3,1) )1 (L(3,2) )1


Dakle, matricu A smo napisali kao produkt donjetrokutaste i gornjetrokutaste mac c trice, A = LA(3) . Gornjetrokutastu matricu u ovom kontekstu obino oznaavamo (3) s U = A , pa je A rastavljena na produkt A = LU. Govorimo o LU faktorizaciji matrice A (neki tu faktorizaciju zovu i LR faktorizacija matrice). Uoimo da c je raunanje produkta koji denira matricu L jednostavno. Inverze matrica L(2,1) , c L(3,1) i L(3,2) dobijemo samo promjenom predznaka netrivijalnih elemenata u donjem trokutu, a cijeli produkt jednostavno je stavljanje tih elemenata na odgovarajue c pozicije u matrici L. Sada jo primijetimo da je relacija (4.3.3) zapravo linearni s (3) (3) sustav Ux = b , gdje je b = L(3,2) L(3,1) L(2,1) b = L1 b. Jasno, x = A1 b = (LU)1 b = U 1 L1 b. Dakle, u terminima matrice A i vektora b, linearni sustav u primjeru 4.3.1 rijeen je metodom koja se sastoji od tri glavna koraka. s 1. Matricu sustava A treba faktorizirati u obliku A = LU, gdje je L donjetrokutasta, a U gornjetrokutasta matrica. 2. Rjeavanjem donjetrokutastog sustava Ly = b treba odrediti vektor y = L1 b. s 3. Rjeavanjem gornjetrokutastog sustava Ux = y treba odrediti vektor x = s U 1 y = U 1 (L1 b). Ovakav zapis metode opisane u primjeru 4.3.1 ima niz prednosti: Operacije su iskazane u terminima matrice A i desne strane b, a ne u terminima c izraavanja neke nepoznanice pomou ostalih. Umjesto x1 izrazimo pomou z c x2 , x3 , . . . i sl., operacije izraavamo operacijama s matricama i vektorima. z To omoguuje jednostavnu i sustavnu primjenu opisane metode na sustav s c proizvoljnim brojem nepoznanica. Sam linearni sustav je u raunalu pohranjen c kao matrica koecijenata A i vektor desne strane b. Dakle, ovakav zapis metode eliminacija je prirodan. Ponekad u primjenama rjeavamo nekoliko linearnih sustava s istom matricom s A, ali s nizom razliitih desnih strana b. Vidimo da je u tom sluaju transforc c macije na matrici A dovoljno napraviti jednom (prvi korak u gornjem zapisu metode), a zatim za razliite desne strane provesti samo zadnja dva koraka. c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 155

4.3.2.

Trokutasti sustavi: rjeavanje supstitucijama unaps rijed i unazad

Trokutasti sustavi jednadbi lako se rjeavaju. Pogledajmo, na primjer, donjez s trokutasti sustav Lx = b dimenzije n = 4:
21 31
41 11

0
22 32 42

0 0
33 43

0 0 0

x1 b1 x b 2 2 = . x3 b3 x4 b4 44
ii

Neka je matrica L regularna. To znai da su c x1 = x2 = x3 = x4 = b1


11

= 0 za i = 1, 2, 3, 4. Oito je c

1
22

(b2 (b3 (b4

21 x1 )

1
33

31 x1

32 x2 )

1
44

41 x1

42 x2

43 x3 ).

z c Vidimo da x1 moemo odmah izraunati, a za i > 1 formula za xi je funkcija od bi , i-tog retka matrice L i nepoznanica x1 , . . . , xi1 koje su prethodno ve izraunate. c c Dakle, prvo izraunamo x1 , pa tu vrijednost uvrstimo u izraz koji daje x2 ; zatim x1 c i x2 uvrstimo u izraz za x3 , itd. Ovakav postupak zovemo supstitucija unaprijed. Algoritam 4.3.1 Rjeavanje linearnog sustava jednadbi Lx = b s regularnom dos z njetrokutastom matricom L Rnn . / Supstitucija unaprijed za Lx = b / b1 x1 = ;
11

za i = 2, . . . , n { xi = bi
i1 ij xj j=1 ii ;

Prebrojimo operacije u gornjem algoritmu: dijeljenja: n ; mnoenja: 1 + 2 + + (n 1) = z 1 n(n 1); 2 1 n(n 1). 2

zbrajanja i oduzimanja: 1 + 2 + + (n 1) =

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 156

Dakle, ukupna sloenost je O(n2 ). z Gornjetrokutaste sustave rjeavamo na slian nain. Ako je sustav Ux = b s c c oblika u11 u12 u13 u14 x1 b1 4 0 x b u22 u23 u24 2 2 uii = 0, = , 0 0 u33 u34 x3 b3 i=1 0 0 0 u44 x4 b4 onda, polazei od zadnje jednadbe unazad, imamo c z b4 u44 1 x3 = (b3 u34 x4 ) u33 1 x2 = (b2 u23 x3 u24 x4 ) u22 1 x1 = (b1 u12 x2 u13 x3 u14 x4 ). u11 x4 = Ovakav postupak zovemo supstitucija unazad. Algoritam 4.3.2 Rjeavanje linearnog sustava jednadbi Ux = b s regularnom s z nn gornjetrokutastom matricom U R . / Supstitucija unazad za Ux = b / bn ; xn = unn za i = n 1, . . . , 1 { xi = bi
n

uij xj
j=i+1

uii; }

Kao i kod supstitucija naprijed, sloenost ovog algoritma je O(n2 ). z

4.3.3.

LU faktorizacija

Sada kad smo uoili da se rjeavanje linearnog sustava Ax = b faktoriziranc s jem matrice A svodi na trokutaste sustave, ostaje nam posebno prouiti faktorc nn izaciju matrice A R na produkt donje i gornjetrokutaste matrice. Zanima nas proizvoljna dimenzija n, ali emo zbog jednostavnosti razmatranja na poetku sve c c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 157

ideje ilustrirati na primjeru n = 5. Neka je a11 a 21 A = a31 a41 a51

a12 a22 a32 a42 a52

a13 a23 a33 a43 a53

a14 a24 a34 a44 a54

a15 a25 a35 . a45 a55

Sjetimo se, eliminacija prve nepoznanice manifestira se ponitavanjem koecijenata s na pozicijama (2, 1), (3, 1), . . . , (n, 1). To moemo napraviti u jednom potezu2 . Ako z deniramo matricu 1 0 0 0 0 a 21 1 0 0 0 a11 a31 0 1 0 0 (1) a , L = 11 a41 0 0 1 0 a 11 a51 0 0 0 1 a11 z onda je x1 eliminiran iz svih jednadbi osim prve, tj.

a11 0 0 0 0

a12 a22 a32


(1) (1)

a13 a23 a33


(1) (1)

a14 a24 a34


(1) (1)

a15

(1) a25

A(1) L(1) A =

(1) a35 . (1) a45

(1) a42

(1) a43

(1) a44

a52

(1)

a53

(1)

a54

(1)

a55

(1)

c Objasnimo oznake koje koristimo za elemente matrice A(1) . Openito, elementi A(1) (1) oznaeni su s aij , 1 i, j n. Medutim, elementi prvog retka u A(1) jednaki su c (1) prvom retku u A, a1j = a1j , 1 j n, pa smo to eksplicitno naznaili u zapisu c (1) matrice A . c Primijetimo da je transformaciju A A(1) mogue izvesti samo ako je a11 = 0.
2

(4.3.6)

U primjeru 4.3.1 smo zbog jednostavnosti ponitavali koecijente jedan po jedan. s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 158

Takoder, lako se uvjerimo da je 1 a 21 a11 a31 = a11 a41 a 11 a51 a11


0 0 0 0

1 0 0 0 0 1 0 0 0 1

(L(1) )1

0 0 0 1

0 , 0

te da iz A = (L(1) )1 A(1) slijedi a11 a21 1 a12 a21 = a22 a11 0 1


a11 0

a12 a22
(1)

Jednostavno, dobili smo faktorizaciju vodee 2 2 podmatrice od A. Uvjet za izvod c ove faktorizacije bio je (4.3.6). Stavimo 2 det
(1)

a11 a21

a12 (1) = a11 a22 . a22


Ako je 2 = 0, onda je i a22 = 0 pa je dobro denirana matrica

1 0
0 0

0 1 a32 a22
(1) (1)

0 0 0 0 0 0 1 0
0 0
(2) 1

1 0

(2)

(1) a 42 (1) a22

i njen inverz

(L )

0 1

a52 a22

(1) (1)

0 0 1

0 0

0 1 a32 a22
(1) (1)

0 0 0 0 0 0 1 0 0 0 1
. 0

(1) a42 (1) a22

a52 a22 a15


(1) (1)

0 0 1

Vrijedi

a11 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a33 a43 a53


(1) (2) (2) (2)

a14 a24 a34 a44 a54


(1) (2) (2) (2)

(1) a25

A(2) L(2) A(1) = L(2) L(1) A =

(2) a35 .

(2) a45

(4.3.7)

a55

(2)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 159

Uoimo da oznake u relaciji (4.3.7) naglaavaju da je u matrici A(2) = a(2) c s ij i,j=1 prvi redak jednak prvom retku matrice A, a drugi redak jednak drugom retku c matrice A(1) . Ako sada u relaciji A = (L(1) )1 (L(2) )1 A(2) izraunamo produkt (1) 1 (2) 1 (L ) (L ) dobivamo

1 a 21 a11

0 1 a32 a22
(1) (1)

0 0 0

0 0 0 1 0

A=

a31 a11 a41 a11 a51 a11

(1) a42 (1) a22 (1) a52 (1) a22

0 1

0 0 1

a11 0 0 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a33 a43 a53


(1) (2) (2) (2)

a14 a24 a34 a44 a54


(1) (2) (2) (2)

a15

(1) a25

(2) a35 ,

(2) a45

(4.3.8)

a55

(2)

odakle zakljuujemo da vrijedi c

a21

a11 a31

a12 a22 a32

1 a21 a13 a = a11


23

0 1 a32 a22
(1) (1)

a33

a31

0 a11 0 0 1

a12 a22 0
(1)

a13
(2) a33

(1) a23 .

a11

Dakle, ako je a11 = 0 i 2 = 0, onda smo dobili trokutastu faktorizaciju vodee 3 3 c podmatrice od A. Stavimo a11 3 det a21 a31
(2)

a12 a22 a32

a13 (1) (2) a23 = a11 a22 a33 . a33

Ako je 3 = 0 onda je i a33 = 0 pa su dobro denirane matrice

1 0 0 1 0 0 L
(3)

0 0 1 a43 a33 a53 a33


(2) (2) (2) (2)

0 0 0 0 0 0 1

0 0

0 1

0,

1 0 0 1 0 0 (L )
(3) 1

0 0 1 a43 a33 a53 a33


(2) (2) (2) (2)

0 0 0 0 0 0 1

0 0

0 1

0,

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 160

i vrijedi

a11 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a33 0 0


(1) (2)

a14 a24 a34


(1) (2)

a15

(1) a25

A(3) L(3) A(2) = L(3) L(2) L(1) A =

(2) a35 . (3) a45

(3) a44

a54

(3)

a55

(3)

Ako izraunamo produkt (L(1) )1 (L(2) )1 (L(3) )1 , onda vidimo da vrijedi c

1 a 21 a11

0 1 a32 a22 a42 a22


(1) (1) (1) (1)

0 0 1 a43 a33
(2) (2)

0 0

0 0 0

A=

a31 a11 a41 a11 a51 a11

(1) a52 (1) a22

(2) a53 (2) a33

0 1

a11 0 0 0 0 0 0

a12
(1) a22

a13
(1) a23 (2)

a14
(1) a24 (2) (3) (3)

0 0 0

a33 0 0

a34 a44 a54

(2) a35 , (3) a45


(1) a25

a15

a55

(3)

te da je

a 21 a31

a11

a41

a12 a22 a32 a42

a13 a23 a33 a43

a14 a24 a31 = a34 a 11 a44 a41 a11

1 a 21 a11

0 1 a32 a22 a42 a22


(1) (1) (1) (1)

0 0 1 a43 a33
(2) (2)

0 a11 0 0 0

a12 a22 0 0
(1)

a13 a23 a33 0


(1) (2)

. (2) a34

a14

a24
(3)

(1)

a44

Ponovo zakljuujemo na isti nain: deniramo c c a11 a 4 det 21 a31 a41 a12 a22 a32 a42 a13 a23 a33 a43 a14 a24 (1) (2) (3) = a11 a22 a33 a44 . a34 a44

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 161

Ako je 4 = 0, onda je i a44 = 0, pa su dobro denirane matrice 1 0 0 = 0


(3)

L(4)

0 1 0 0

0 0 1 0

0 0 0 1 a54
(3) (3)

0 0 0 0, 1

(L(4) )1

1 0 0 = 0

0 1 0 0

0 0 1 0

0 0 0 1 a54 a44
(3) (3)

0 0 0 0. 1

(4.3.9)

a44 Lako provjerimo da vrijedi

0 0 0

0 0 0

a11 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a33 0 0


(1) (2)

a14 a24 a34 a44 0


(1) (2) (3)

a15

(1) a25

A(4) L(4) A(3) = L(4) L(3) L(2) L(1) A =

(2) a35 . (3) a45 (4) a55

te da je, nakon raunanja produkta (L(1) )1 (L(2) )1 (L(3) )1 (L(4) )1 , c

1 a 21 a11

0 1 a32 a22
(1) (1)

0 0 1
(2) a43 (2) a33 (2) a53 (2) a33

0 0 0

A=

a31 a11 a41 a11 a51 a11

(1) a42 (1) a22 (1) a52 (1) a22

1
(3) a54 (3) a44

a11 0 0 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a33 0 0 U


(1) (2)

a14 a24 a34 a44 0


(1) (2) (3)

a15

(1) a25

(2) a35 .

(3) a45

(4.3.10)

a55

(4)

L Vidimo da je izvedivost operacija koje su dovele do faktorizacije A = LU ovisila o uvjetima (1) (2) (3) a11 = 0, a22 = 0, a33 = 0, a44 = 0. c Takoder, uoili smo da su ti uvjeti osigurani ako su u matrici A determinante glavnih podmatrica dimenzija 1, 2, . . . , n1 razliite od nule. To je u naem primjeru znailo c s c uvjete 1 a11 = 0, 2 = 0, 3 = 0, 4 = 0. Brojeve a11 , a22 , a33 , a44 zovemo pivotni elementi ili kratko pivoti. Brojevi 1 , 2 , 3 , 4 su glavne minore matrice A. Dakle, moemo zakljuiti sljedee: z c c
(1) (2) (3)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 162

Ako je prvih n 1 minora matrice A razliito od nule, onda su i svi pic votni elementi razliiti od nule i Gaussove eliminacije daju LU faktorizaciju c matrice A. U tom sluaju sljedei algoritam rauna faktorizaciju A = LU. c c c Algoritam 4.3.3 Raunanje LU faktorizacije matrice A. c L = I; za k = 1, . . . , n 1 { za j = k + 1, . . . , n {
jk

ajk

(k1) (k1)

akk

ajk = 0; } za j = k + 1, . . . , n { za i = k + 1, . . . , n { aij = aij


(k) (k1)

(k)

(k1) ; ik akj

}}}

U = A(n1) = a(n1) . ij Sljedei teorem i formalno dokazuje egzistenciju i jedinstvenost LU faktorc izacije. Teorem 4.3.1 Neka je A Rnn i neka su determinante glavnih podmatrica A(1 : k, 1 : k) razliite od nule za k = 1, 2, . . . , n 1. Tada postoji donjetrokutasta matrica c L s jedinicama na dijagonali i gornjetrokutasta matrica U, tako da vrijedi A = LU. Ako faktorizacija A = LU postoji i ako je jo matrica A regularna, onda je s faktorizacija jedinstvena: postoji tono jedna matrica L i tono jedna matrica U s c c ovim svojstvima. Tada je i
n

det(A) =
i=1

uii .

Dokaz. Dokaimo prvo jedinstvenost LU faktorizacije. Neka postoje dvije takve z faktorizacije, A = LU = L U . Ako je A regularna onda su i L, U, L , U , takoder, regularne matrice pa vrijedi L1 L = U(U )1 . U gornjoj relaciji imamo jednakost donjetrokutaste i gornjetrokutaste matrice, a one mogu biti jednake samo ako su obje dijagonalne matrice. Nadalje, L i L po pretpostavci imaju jedinice na dijagonali, a zbog injenice da se na dijagonali produkta c donjetrokutastih matrica nalaze produkti dijagonalnih elemenata matrica koje se

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 163

mnoe, na dijagonali produkta L1 L su jedinice. Dakle, L1 L = I, tj. L = L . z Tada je i U = U . Dokaimo sada egzistenciju LU faktorizacije. Induktivni dokaz je zapravo ve z c skiciran u opisu raunanja faktorizacije 5 5 matrice. Pogledajmo kako uvjeti c teorema omoguuju prijelaz s A(k) na A(k+1) , gdje je c

a11 0 . . . . . . 0 0 . . . 0

a12
(1) a22

a13
(1) a23

a1k . . . . . .

a1,k+1
(1) a2,k+1

..

a33 ..

(2)

a3,k+1 . . . ak,k+1 ak+1,k+1 . . . an,k+1


(k) (k) (k1)

(2)

A(k) = L(k) L(1) A =

.. 0

. . . akk
(k1)

0 . . . 0

(2) a3n . . . . (k1) akn (k) ak+1,n . . .


(1) a2n (k) ann

a1n

Kako je produkt (L(k) L(1) )1 donjetrokutasta matrica s jedinicama na dijagonali, zakljuujemo da je c det A(1 : k + 1, 1 : k + 1) = a11 a22 a33 akk
(k) (1) (2) (k1) (k) ak+1,k+1

= 0.

z c s Odavde je i ak+1,k+1 = 0 pa moemo denirati matricu L(k+1) koja e ponititi (k+1) (k+1) (k) =L A . Jasno je elemente ispod dijagonale u (k + 1)-om stupcu i dati A (n1) koja je gornjetrokutasta. da nakon konanog broja koraka dobijemo matricu A c

Napomena 4.3.1 Primijetimo, ako je A regularna i ako ima LU faktorizaciju, onda su nuno i sve glavne podmatrice A(1 : k, 1 : k) regularne. To slijedi iz injenice z c da je
k

det A(1 : k, 1 : k) =
i=1

uii,

k = 1, . . . , n.

4.3.4.

LU faktorizacija s pivotiranjem

Jedan, oit problem, s LU faktorizacijom koju smo opisali u prethodnom c odjeljku je da za njeno raunanje, prema opisanom algoritmu, matrica A mora c imati specijalnu strukturu: sve njene glavne podmatrice do ukljuivo reda n 1 c moraju biti regularne. Sljedei primjer ilustrira taj problem. c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 164

Primjer 4.3.2 Neka je matrica sustava Ax = b dana s A= 0 1 . 1 1

Ova matrica je regularna, det A = 1, pa sustav uvijek ima rjeenje, ali A oito s c nema LU faktorizaciju, jer 0 1 = 1 1 povlai da je c 1
21

0 1

u11 0 =0 =1 =1 = 1.

u12 u22

1 u11 1 u12 21 u11 21 u12 + u22

c Iz prve jednadbe odmah vidimo da mora biti u11 = 0, a iz tree slijedi da z to je nemogue. s c S druge strane, matrica A reprezentira linearni sustav 0x1 + x2 = b1 x1 + x2 = b2

21 0

= 1,

koji uvijek ima rjeenje x1 = b2 b1 , x2 = b1 , i kojeg moemo ekvivalentno zapisati s z kao3 x1 + x2 = b2 0x1 + x2 = b1 . Matrica ovog sustava je A = 1 1 1 0 = 0 1 0 1 1 1 , 0 1

i oito ima jednostavnu LU faktorizaciju s L = I, U = A . Vezu izmedu A i A c zapisujemo matrino: c A = 1 1 0 1 = 0 1 1 0 P 0 1 . 1 1 A

Matricu P zovemo matrica permutacije ili jednostavno permutacija. Njeno djelovanje na matricu A je jednostavno permutiranje redaka.
3

Zamjena redoslijeda jednadbi ne mijenja rjeenje sustava. z s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 165

Da bismo ilustrirali kako zamjenama redaka uvijek moemo dobiti LU faktoz rizaciju, vratimo se naem 5 5 primjeru i pogledajmo npr. relacije (4.3.7), (4.3.8): s

a11 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a33


(1) (2)

a14 a24 a34


(1) (2)

a15

(1) a25

A(2) L(2) A(1) = L(2) L(1) A =

(2) a35 , (2) a45

(2) a43

(2) a44

a53

(2)

a54

(2)

a55

(2)

1 a21 a11

0 1 a32 a22 a42 a22


(1) (1) (1) (1)

0 0 0 0 0 0 1 0

A=

a31 a11 a41 a11 a51 a11

0 1

(1) a52 (1) a22

0 0 1

a11 0 0 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a33


(1) (2)

a14 a24 a34


(1) (2)

a15

(1) a25

(2) a35 . (2) a45

(2) a43

(2) a44

a53

(2)

a54

(2)

a55

(2)

s z Neka je a33 = 0. Dakle, vie ne moemo kao ranije denirati L(3) . Pogledajmo (2) (2) elemente a43 i a53 . Ako su oba jednaka nuli, onda moemo staviti L(3) = I i z (2) (2) (3) nastaviti dalje, jer je cilj transformacije L ponititi a43 i a53 . Ako su oni ve s c jednaki nuli onda u ovom koraku ne treba nita raditi pa je transformacija jednaka s (2) jedininoj matrici. Neka je sada npr. a53 = 0. Ako deniramo matricu c

(2)

P (3)

1 0 = 0 0 0

0 1 0 0 0

0 0 0 0 1

0 0 0 1 0

0 0 1, 0 0

onda je P (3) A(2) =

a11 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a53


(1) (2)

a14 a24 a54


(1) (2)

a15

(1) a25

(2) a55 . (2) a45

(2) a43

(2) a44

a33

(2)

a34

(2)

a35

(2)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 166

Sada moemo denirati matrice z

1 0 0 1 0 0 L
(3)

0 0 1 a43 a33 a53


(2) (2) a53 (2) (2)

0 0 0 0 0 0 1

0 0

0 1

0,

1 0 0 1 0 0 (L )
(3) 1

0 0 1 a43 a53 a33 a53


(2) (2) (2) (2)

0 0 0 0 0 0 1
0

0 0

0 1

i postii c

a11 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a53 0 0


(1) (2)

a14 a24 a54


(1) (2)

a15

(1) a25

A(3) L(3) P (3) A(2) = L(3) P (3) L(2) L(1) A =

(2) a55 .
(3) a45

(3) a44

a54

(3)

a55

(3)

Primijetimo da je trei redak matrice A(3) jednak petom retku matrice A(2) . Za c (3) (3) sljedei korak eliminacija provjeravamo vrijednost a44 . Ako je a44 = 0, postupamo c (3) (3) kao i ranije, tj. deniramo matricu L(4) kao u relaciji (4.3.9). Ako je a44 = a54 = 0, c c onda moemo staviti L(4) = I, jer je u tom sluaju A(3) ve gornjetrokutasta. Neka je z (3) (3) a44 = 0, ali a54 = 0, tako da L(4) nije denirana. Lako provjerimo da permutacijska matrica

P (4)

1 0 = 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 0 1

0 0 0 1 0
(3)

daje P (4) A(3) =

a11 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23 a53 0 0


(1) (2)

a14 a24 a54


(1) (2)

a15

(1) a25

(2) a55 .
(3) a55

(3) a54

a44

(3)

a45

(3)

z Kako je po pretpostavci a44 = 0, moemo staviti L(4) = I i matrica U = L(4) P (4) A(3) je gornjetrokutasta. Sve zajedno, vrijedi relacija U = L(4) P (4) L(3) P (3) L(2) L(1) A. Vidjeli smo ranije da je mnoenje inverza trokutastih matrica L(k) jednostavno. z z Medutim, mi sada imamo permutacijske matrice izmedu, pa ostaje istraiti kako

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 167

one djeluju na strukturu produkta. Primijetimo, 1 0 0 0 0 00 1 0 0


(4)

(3)

0 0 0

1 0 1 0 0 0 0

0 0 1 0 0

0 0 0 0 1

0 1 0 0 0

0 0 1 a43 a53 a33 a53


(2) (2) (2) (2)

0 0 0 0 0 0 1
0

1 0 0 1 0 0 =
0

0 0 1 a33 a53 a43 a53


(2) (2) (2) (2)

0 0 0 0 0 0 0
1

0 1

0 0

1 0

1 0 0 1 0 0

0 0 1
(2)

= 0 0 a33 (2) a53 0 0 a43 a53


(2) (2)

0 0 0 0 0 0 1 0 1 00 0 0 0 1

0 1 0 0 0

0 0 1 0 0

0 0 0 0 1

0 0 0 = L(3) P (4) . 1 0

L(3) z Dakle, P (4) moemo prebaciti s lijeve na desnu stranu od L(3) , ako u L(3) permutiramo elemente ispod dijagonale u treem stupcu. Tako dobivena matrica c (3) (3) L ima istu strukturu kao i L . Na isti nain je P (3) L(2) L(1) = L(2) L(1) P (3) i c (4) (2) (1) (2) (1) (4) P L L = L L P pa je U = L(4) P (4) L(3) P (3) L(2) L(1) A = L(4) L(3) L(2) L(1) P (4) P (3) A, tj. P (4) P (3) A = (L(4) )1 (L(3) )1 (L(2) )1 (L(1) )1 U. P L Produkt koji denira matricu L je iste strukture kao i ranije, dakle, imamo jednostavno slaganje odgovarajuih elemenata. Nadalje matrica c 1 0 = 0 0 0

P = P (4) P (3)

0 1 0 0 0

0 0 1 0 0

0 0 0 0 1

0 1 0 0 00 10 0 0

0 1 0 0 0

0 0 0 0 1

0 0 0 1 0

0 1 0 0 1 = 0 0 0 0 0

0 1 0 0 0

0 0 0 1 0

0 0 0 0 1

0 0 1 0 0

je opet matrica permutacije.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 168

Jasno je kako bi ovaj postupak izgledao openito. Na kraju eliminacija bi c vrijedilo U = A(n1) = L(n1) P (n1) ( (L(3) P (3) (L(2) P (2) (L(1) P (1) A))) ), A(1) A(2) A(3) i P = P (n1) P (n2) P (2) P (1) , gdje neke od permutacija P (k) mogu biti jednake identitetama (jedininim matricama). c Ilustrirajmo opisanu proceduru jednim numerikim primjerom. c Primjer 4.3.3 Neka je 1 1 4 1 2 1 1 6 . A= 5 1 1 0 1 4 1 3 Najvei element u prvom stupcu od A je na poziciji (3, 1) to znai da prvi pivot c c maksimiziramo ako zamijenimo prvi i trei redak od A. Tu zamjenu realizira perc mutacija P (1) , gdje je P (1) 0 0 = 1 0

(4.3.11)

0 1 0 0

1 0 0 0

0 0 , 0 1

5 2 P (1) A = 1 1

1 1 1 4

1 1 4 1

0 6 . 1 3 1 3 5 4 5 19 5 0

Sada deniramo 1 0 0 0 5 2 0 5 1 0 0 (1) (1) (1) (1) L = 1 , pa je A = L P A = 0 0 1 0 5 1 0 0 0 1 5 Sljedei pivot je maksimiziran permutacijom P (2) , gdje je c
0 0

1 3 5 19 5 4 5

. 1

P (2)

1 0 = 0 0

0 0 0 1

0 0 1 0

0 1 , 0 0

P (2) A(1) =

1 19 5 4 5 3 5

1 4 5 19 5 3 5

. 1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 169

Sljedei korak eliminacija glasi c

(2)

0 0

0 1 4 19 3 0 19

0 0 0 0 1

0,

A(2) = L(2) P (2) A(1) =

0 1

0 0

1 19 5 0 0

1 4 5 69 19 9 19

3 7 . 19 105 19
.

Sljedea permutacija je identiteta, P (3) = I, pa u zadnjem koraku imamo c


0 0

L(3)

1 0 = 0

0 1 0

0 0 1 9 0 69

0 0 0,

1 19 5 0 0

A(3) = L(3) P (3) A(2) =

1 4 5 69 19 0

0 3 7 19 7182 1311

Sada primijetimo da je A(3) = L(3) IL(2) P (2) L(1) P (1) A, gdje je 1 1 5 = 1 5 2 5


0 0 0 0 0 1 1 0

P (2) L(1)

1 1 1 5 = 1 0 5 2 0 5

0 1 0 0

0 0

0 0 1

0 1

(2) P 0

= L(1) P (2) .

Dakle, U A(3) = L(3) L(2) L(1) P (2) P (1) A. Ako stavimo P = P (2) P (1) , onda vrijedi 0 0 PA = 1 0 1 1 5 =1 5 2 5

0 0 0 1 0 1 0 0

1 0 0 0

0 1 12 05 0 1
1 00 0 0 0

1 1 1 4 0 1 4 19 3 19

4 1 1 1

1 5 6 1 = 0 1 3 2

1 4 1 1

1 1 4 1 0 0 1 9 69

0 3 1 6 0 0 0U

0 0 0 1

0 0 0 01 0 0 1 1 00 0 0 1
0

0 1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 170

1 1 5 =1 5 2 5

0 1 4 19 3 19

0 0 1 9 69

00

00

1 19 5 0 0

1 4 5 69 19 0

0 3 7 19 7182 1311

Dakle, moemo zakljuiti sljedee: z c c Za proizvoljnu n n matricu A postoji permutacija P tako da Gaussove eliminacije daju LU faktorizaciju od P A, tj. P A = LU, gdje je L donjetrokutasta matrica s jedinicama na dijagonali, a U je gornjetrokutasta matrica. Permutaciju P moemo odabrati tako da su svi elementi matrice L po apsolutnoj z vrijednosti najvie jednaki jedinici. s Preciznije, vrijedi sljedei teorem. c Teorem 4.3.2 Neka je A Rnn proizvoljna matrica. Tada postoji permutacija P takva da Gaussove eliminacije daju LU faktorizaciju P A = LU matrice P A. Matrica L = [ ij ] je donjetrokutasta s jedinicama na dijagonali, a U je gornjetrokutasta. Pri tome, ako je P produkt od p inverzija, vrijedi da je
n

det A = (1)

p i=1

uii.

Ako su matrice P (k) odabrane tako da vrijedi |(P (k) A(k1) )kk | = max |(P (k) A(k1) )jk |
kjn

onda je
1kn 1i,jn

max max |(L(k) )ij | = max |


1i,jn

ij |

= 1.

U tom sluaju faktorizaciju P A = LU zovemo LU faktorizacijom s (standardnim) c pivotiranjem redaka. Dokaz. Na poetku, primijetimo da za matricu c L(k) = i permutaciju Sn oblika = Ik 0 0 , nk Snk Ik 0 v 0 , Ink
(k) k+1,k . . .
(k) nk

v=

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 171

vrijedi L(k) = Ik 0 nk v 0 nk = Ik 0 nk v 0 Ink = L(k) .

Nadalje, svaka permutacija oblika = je trivijalno oblika i = Ik 0 0 nk , nk = Imk 0 0 nm Snk , Im 0 0 , nm m > k, Snm

pa je mnoenje analogno sluaju m = k. Kratko kaemo da prolazi kroz L(k) . z c z Nadalje, jasno je da u svakom koraku moemo odrediti permutaciju P (k) tako z (k) da postoji donjetrokutasta transformacija L s jedinicama na dijagonali za koju L(k) P (k) A(k1) ima sve nule ispod dijagonale u k-tom stupcu. Dakle, kao u relaciji (4.3.11), moemo postii da je U = A(n1) gornjetrokuz c tasta matrica. U produktu U = L(n1) P (n1) L(n2) P (n2) L(n3) P (n3) L(n4) P (n4) L(2) P (2) L(1) P (1) A je P (k+1) oblika P (k+1) = Ik 0 0 nk , Snk ,

to znai da P (n1) prolazi kroz L(n2) , produkt P (n1) P (n2) prolazi kroz L(n3) , s c produkt P (n1) P (n2) P (n3) prolazi kroz L(n4) , itd. Ako stavimo P = P (n1) P (n2) P (2) P (1) , onda je U = L(n1) L(n2) L(2) L(1) P A, odakle kao i ranije dobijemo P A = LU. Jasno je da strategija odabira permutacija iz iskaza teorema osigurava da su svi elementi od L po apsolutnoj vrijednosti najvie s jednaki jedinici.

4.4.

Numerika svojstva Gaussovih eliminacija c

U prethodnim odjeljcima Gaussovim smo se eliminacijama bavili u okvirima linearne algebre. Preciznije, nismo razmatrali praktine detalje realizacije izvedenih c algoritama na raunalu. Zapravo, termin praktini detalji bi trebalo itati kao c c c problemi. Zato? s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 172

Raunalo je ogranien, konaan stroj. Imamo ogranienu koliinu memorijc c c c c skog prostora u kojem moemo drati polazne podatke, medurezultate i rezultate z z c raunanja1 . Umjesto skupa realnih brojeva R imamo njegovu aproksimaciju pomou c konano mnogo prikazivih brojeva (realni brojevi koje raunalo koristi su zapravo c c konaan skup razlomaka) to znai da raunske operacije ne moemo izvravati niti c s c c z s tono niti rezultat moemo po volji dobro aproksimirati. c z Za one itatelje koji nisu svladali osnove numerikih operacija linearne algebre c c na raunalu, kao i za one koji taj materijal ele ponoviti, osnovne injenice su dane c z c u dodatku u odjeljku 4.4.4.. Preporuamo da itatelj svakako baci pogled na taj c c odjeljak prije nastavka itanja ovog materijala. c Praktino je odvojeno analizirati LU faktorizaciju i rjeenje trokutastog susc s tava. Poinjemo s LU faktorizacijom, gdje nas oekuje niz zanimljivih zakljuaka. c c c

4.4.1.

Analiza LU faktorizacije. Vanost pivotiranja. z

Prije nego prijedemo na numeriku analizu algoritma, pogledajmo kako ga c moemo implementirati na raunalu s minimalnim koritenjem dodatnog memorijz c s skog prostora. Prisjetimo se naeg 5 5 primjera i relacije (4.3.10): s

1 a 21 a11

0 1 a32 a22 a42 a22 a52 a22


(1) (1) (1) (1) (1) (1)

0 0 1 a43 a33 a53 a33 L


(2) (2) (2) (2)

0 0 0

A=

a31 a11 a41 a11 a51 a11

1 a54 a44
(3) (3)

a11 0 0 0 0 0 0

a12
(1) a22

a13
(1) a23 (2)

a14
(1) a24 (2) (3)

0 0 0

a33 0 0 U

a34 a44 0

(2) a35 . (3) a45


(1) a25

a15

a55

(4)

Vidimo da je za spremanje svih elemenata matrica L i U dovoljno n2 varijabli (lokacija u memoriji), dakle onoliko koliko zauzima originalna matrica A. Ako paljivo pogledamo proces raunanja LU faktorizacije, uoavamo da ga moemo z c c z izvesti tako da matrica U ostane zapisana u gornjem trokutu matrice A, a strogo donji trokut matrice L bude napisan na mjestu elemenata strogo donjeg trokuta polazne matrice A. Kako matrica L po deniciji ima jedinice na dijagonali, te elemente
1 Svaka operacija zahtijeva izvjesno vrijeme izvravanja pa je ukupno trajanje algoritma takoder s vaan faktor. U ovom odjeljku prvenstveno emo analizirati problem tonosti. z c c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 173

ne treba nigdje posebno zapisivati. Na taj nain se elementi polazne matrice gube, c a raunanje moemo shvatiti kao promjenu sadraja polja A koje sadri matricu A: c z z z

a11 a 21 A = a31 a41 a51

a12 a22 a32 a42 a52

a13 a23 a33 a43 a53

a14 a24 a34 a44 a54

a15 a25 a35 a45 a55

a11 a 21 a11

a12
(1) a22

a13
(1) a23

a14
(1) a24

a31 a11 a41 a11 a51 a11

a32 a42 a52 a22

(1)

(1) a22 (1)

a33 a43 a53 a33

(2)

a34 a44 a54 a44

(2)

(2) (3)

(1) a22 (1) (1)

(2) a33 (2) (2)

(3) (3)

(2) a35 . (3) a45 (4)


(1) a25

a15

a55

Sve matrice A(k) , k = 1, 2, . . . , n 1 su pohranjene u istom n n polju koje na poetku sadri matricu A A(0) . Na ovaj nain zapis algoritma 4.3.3 postaje jo c z c s jednostavniji i elegantniji. Algoritam 4.4.1 Raunanje LU faktorizacije matrice A bez dodatne memorije. c za k = 1, . . . , n 1 { za j = k + 1, . . . , n { A(j, k) = A(j, k) ;} A(k, k)

za j = k + 1, . . . , n { za i = k + 1, . . . , n { A(i, j) = A(i, j) A(i, k)A(k, j); } } } Primijetimo da smo koristili oznake uobiajene u programskim jezicima element c matrice (dvodimenzionalnog polja) oznaili smo s A(i, j). Isto tako, vidimo da c konkretna realizacija algoritma na raunalu ukljuuje dodatne trikove i modikacije c c kako bi se to racionalnije koristili resursi raunala (npr. memorija). Dodatnu s c panju zahtijeva izvodenje aritmetikih operacija pri emu ne moemo izbjei greke z c c z c s zaokruivanja. z Analiza greaka zaokruivanja je, ponekad, tehniki komplicirana. Vano je s z c z uoiti da cilj takve analize nije jednostavno tehniko prebrojavanje svih greaka c c s z c c zaokruivanja nego izvodenje sloenijih i dubljih zakljuaka o numerikoj stabilnosti z algoritma i o pouzdanosti koritenja dobivenih rezultata. s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 174

Da bismo dobili ideju o kvaliteti izraunate faktorizacije, analizirat emo pric c mjer faktorizacije 4 4 matrice a11 a A = 21 a31 a41

a12 a22 a32 a42

a13 a23 a33 a43

a14 a24 . a34 a44

Izraunate aproksimacije matrica L = [ ij ] i U = [ uij ] oznaiti emo s L = [ ij ] i c c c U = [ uij ]. Kao u opisu algoritam za raunanje LU faktorizacije u odjeljku 4.3.3., c (i) koristit emo matrice L i transformacije oblika A(i) = L(i) A(i1) , i = 1, . . . , n 1. c Izraunate aproksimacije oznaavamo s L(i) i A(i) . c c Primijetimo da je prvi redak matrice U jednak prvom retku polazne matrice A, u11 0 U = 0 0

u12 u22 0 0

u13 u23 u33 0

u14 a11 0 u24 = u34 0 u44 0

a12 u22 0 0

a13 u23 u33 0

a14 u24 , u34 u44

u1j = a1j ,

j = 1, . . . , 4.

c Sada umjesto matrica L(1) i A(1) = L(1) A imamo izraunate matrice 1 = 21 31 41 a11 0 = 0 0 u11 0 = 0 0

L(1)

0 1 0 0 a22 a32 a42 u12 u22

0 0 1 0

0 0 0 1 u12 u12 u12 u14 u24


,

A(1)

a12 21 31 41 u13 u23

a23 a33 a43

a13 21 31 41

u13 u13 u13

a24 a34 a44 21

a14 21 31 41

u14 u14 u14

u2j = a2j

u1j ,

j = 2, 3, 4.

Ovdje smo sa oznaili one elemente koje emo mijenjati u sljedeem koraku. Pric c c (1) c c mijetimo da su u prva dva retka matrice A ve izraunata prva dva retka matrice U . U sljedeem koraku raunamo c c 1 0 0 1 = 0 32 0 42

L(2)

0 0 1 0

0 0 0 1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 175

A(2)

a11 0 = 0 0 u11 0 = 0 0

a12 u22 0 0 u12 u22 0 0

(a33 (a43 u13 u23 u33

31 41 u14 u24 , u34

a13 u23 u13 ) u14 )

32 42

u23 u23

(a34 (a44

31 41 32

a14 u24 u14 ) u14 )

32 42

u24

u24

u3j = (a3j

31 u1j )

u2j ,

j = 3, 4.

I, u zadnjem koraku je ostala transformacija 1 0 = 0 0

L(3)

0 0 1 0 0 1 0 43

0 0 , 0 1

koja primjenom na A(2) , daje i preostali element matrice U, u44 = ((a44 41 u14 ) 42 u24 ) 43 u34 .

c Uoavamo da se elementi uij raunaju prema formuli c uij = aij


i1 im umj , m=1

2 i n,

i j n,

pri emu je u1j = a1j , 1 j n. Ovu formulu je lako provjeriti raspisivanjem c produkta A = LU po elementima. U naem algoritmu, zbog greaka zaokruivanja, s s z vrijedi uij = ( ((aij i1 u1j ) i2 u2j ) ) i,i1 ui1,j . (4.4.1)

Formula (4.4.1) je samo specijalan sluaj raunanja openitog izraza oblika c c c s = v1 w1 v2 w2 v3 w3 vp wp , pri emu se koristi algoritam c uij = aij ; za m = 1, . . . , i 1 { uij = uij im umj ; } Koritenjem propozicije 4.4.3, zakljuujemo da postoje ij , ijm takvi da je s c u (4.4.1) uij = aij (1 + ij )
i1 m=1

im umj (1 + ijm ).

(4.4.2)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 176

Pri tome je za sve i, j, m |ij |, |ijm| Relaciju (4.4.2) moemo proitati i kao z c
i

n . 1 n
i

aij =
m=1

im umj + aij ,

aij =
m=1

im umj ijm ij aij ,

(4.4.3)

gdje smo uij napisali kao ii uij (1 + iji), uz ii = 1 i iji = 0. Time smo dokazali sljedei teorem. c Teorem 4.4.1 Neka je algoritam 4.4.1 primijenjen na matricu A Rnn i neka su c uspjeno izvrene sve njegove operacije. Ako su L i U izraunati trokutasti faktori, s s onda je LU = A + A, |A| n 2n (|A| + |L| |U|) |L| |U|, 1 n 1 2n

gdje prva nejednakost vrijedi za n < 1, a druga za 2n < 1. Napomena 4.4.1 Rezultat teorema zasluuje poseban komentar. Naa analiza nije z s c dala odgovor na pitanje koliko su L i U daleko od tonih matrica L i U. Umjesto toga, dobili smo zakljuak da L i U ine egzaktnu LU faktorizaciju matrice A + A. c c Drugim rijeima, ako bismo A promijenili u A + A i zatim uzeli egzaktnu faktorc izaciju, dobili bismo upravo L i U . Ovu situaciju moemo ilustrirati komutativnim z dijagramom na slici 4.4.1. Dobiveni rezultat je u praksi od izuzetne vanosti, jer z esto je u primjenama nemogue raditi s egzaktnim podacima matrica A moe biti c c z rezultat mjerenja ili nekih prethodnih prorauna, dakle netona. Ako je egzaktna c c (nepoznata) matrica A i A = A + A, onda je LU = A + A + A i LU = A + A. c z Ako su A i A usporedivi po veliini, onda moemo u mnogim primjenama L i U smatrati jednako dobrim kao i L i U. izraunato c E

A perturbacija podataka

L, U faktorizacija

 egzaktna

A + A Slika 4.4.1 Komutativni dijagram LU faktorizacije u aritmetici konane preciznosti. c Izraunati rezultat je ekvivalentan egzaktnom raunu s promijenjenim polaznim c c podacima.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 177

Iz prethodne analize jasno je da je A mala ako produkt |L| |U| nije prevelik u usporedbi s |A|. To na alost nije osigurano u LU faktorizaciji. Sljedei primjer z c pokazuje numeriku nestabilnost algoritma. c Primjer 4.4.1 Neka je mali parametar, || A= U egzaktnom raunanju imamo c L(2,1) 1 1 =

1, i neka je matrica A denirana s

1 . 1

0 1

L(2,1) A =

1 1

1 ,

pa je LU faktorizacija matrice A dana s 1 A 1 1 =1 1 L

0 1

1 1 U

1 .

Pretpostavimo sada da ovaj raun provodimo na raunalu u aritmetici s 8 decimalnih c c 8 znamenki, tj. tonosti 10 . Neka je || < , npr. neka je = 1010 . Kako je c problem jednostavan, vrijedi 21 = 21 (1 + u11 = u11 , u12 = u12 , u22 = 1 Primijetimo da je 1
1 ),

| 1 | ,

= 1

1 = (1 +

1 ).

u22 u22 2 . u22 1

Dakle svi elementi matrica L i U izraunati su s malom relativnom pogrekom. c s Sjetimo se da je ovaj primjer najavljen kao primjer numerike nestabilnosti procesa c eliminacija, odnosno LU faktorizacije. Gdje je tu nestabilnost ako su svi izraunati c elementi matrica L i U gotovo jednaki tonim vrijednostima? Odstupanje (relativna c greka) je najvie reda veliine dvije greke zaokruivanja gdje je onda problem? s s c s z Izraunajmo (egzaktno) LU: c LU = 1 1 0 1 0 1 1 = 1 1 = 0 1 A 1 0 + 1 0 0 . 1 A

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 178

Primijetimo da A ne moemo smatrati malom perturbacijom polazne matrice A z jedan od najveih elemenata u matrici A, a22 = 1, je promijenjen u nulu. Ako c s s bismo koristei L i U pokuali rijeiti linearni sustav Ax = b, zapravo bismo radili c na sustavu (A + A)x = b. Tek da dobijemo osjeaj kako katastrofalno lo rezultat c s moemo dobiti, pogledajmo linearne sustave z 1 Njihova rjeenja su s x1 x2 1 1 1 = , 2 1 1 1

1 1

x1 1 = , 2 x2

1 0

x1 1 = . 2 x2

x1 2 = . x2 1 2

c Vidimo da se x1 i x1 potpuno razlikuju. Zakljuujemo da Gaussove eliminacije mogu biti numeriki nestabilne dovoljna je jedna greka zaokruivanja u krivo vrijeme c s z na krivom mjestu pa da dobiveni rezultat bude potpuno netoan. c Napomena 4.4.2 I ovaj primjer zasluuje komentar. Vidimo da katastrofalno vez lika greka nije uzrokovana akumuliranjem velikog broja greaka zaokruivanja. Cis s z jeli problem je u samo jednoj aritmetikoj operaciji (pri raunanju u22 ) koja je zac c pravo izvedena jako tono, s malom grekom zaokruivanja. c s z Cilj numerike analize algoritma je da otkrije mogue uzroke nestabilnosti, c c objasni fenomene vezane za numeriku nestabilnost i ponudi rjeenja za njihovo c s uklanjanje. Nestabilnost ilustrirana primjerom u skladu je s teoremom 4.4.1. Naime, ako izraunamo |L| |U| dobijemo c |L| |U| = || 1+ 1 2|1 | ,

gdje je 1 + = (1 ), | | . Kako je na poziciji (2, 2) u matrici |L| |U| element koji je reda veliine 1/|| > 1/, vidimo da nam teorem ne moe garantirati mali c z A. Jasno nam je da je, zbog nenegativnosti matrica |L| i |U|, mali produkt |L| |U| mogu samo ako su elementi od L i U mali po apsolutnoj vrijednosti. Pogledajmo c nastavak primjera 4.4.1. Primjer 4.4.2 Neka je A matrica iz primjera 4.4.1. Zamijenimo joj poredak redaka, 0 1 1 1 1 = . A = PA = 1 0 1 1 1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 179

LU faktorizacija matrice A = LU je 1 1 1 = 1 0 1 1 0 1 . 1

Ako je || < , onda su izraunate matrice c L= i vrijedi LU = 1 1 1 = 1+ A Primijetimo i da je produkt |L| |U| = 1 1 || 1 + 1 0 + 1 0 0 , |A | |A|. 1 0 , 1 U= 1 1 , 0 1

po elementima istog reda veliine kao i |A |. Dakle, u ovom primjeru je bilo dovoljno c zamijeniti poredak redaka u A (redoslijed jednadbi) pa da imamo garantirano dobru z faktorizaciju u smislu da je LU = A + A s malom perturbacijom A . Iz prethodnih primjera i diskusija jasno je da standardno pivotiranje redaka, koje osigurava da su u matrici L svi elementi po apsolutnoj vrijednosti najvie s 2 c jednaki jedinici , doprinosi numerikoj stabilnosti. Naime, lako se vidi da su tada i svi elementi matrice |L| manji ili jednaki od jedan. U tom sluaju veliina produkta c c |L| |U| bitno ovisi o elementima matrice U. S druge strane, elementi matrice U su dobiveni iz matrica A(k) , k = 0, 1, . . . , n 1, pa je broj max aij =
i,j,k ij (k)

max aij

(4.4.4)

dobra mjera za relativni rast (u odnosu na A) elemenata u produktu |L| |U|. Broj zovemo faktor rasta elemenata u LU faktorizaciji i deniran je bez obzira da li koristimo pivotiranje redaka. Primijetimo da u analizi greaka zaokruivanja pivotiranje ne predstavlja dos z datnu tehniku potekou, pa odmah moemo iskazati sljedei teorem. c s c z c Teorem 4.4.2 Neka je LU faktorizacija n n matrice A izraunata s pivotiranjem c redaka u aritmetici s relativnom tonosti i neka su L i U dobivene aproksimacije c za L i U. Ako je pri tome koritena permutacija P , onda je s LU = P (A + A),
2

|A|

2n P T |L| |U|. 1 2n

Vidi teorem 4.3.2.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 180

Specijalno je, bez obzira na pivotiranje, A


F

O(n3 ) A

F.

Dokaz. Nakon ponovnog itanja dokaza teorema 4.3.2 bi trebalo biti jasno da perc mutacije prolaze kroz elementarne transformacije L(i) neovisno o tonosti raunanja c c (egzaktno ili do na greke zaokruivanja). Dakle, moemo zakljuiti da ak i raus z z c c c nanje faktorizacije s pivotiranjem na raunalu odgovara raunu bez pivotiranja ali c c s polaznom matricom A = P A. Sada primjenom teorema 4.4.1 dobijemo da vrijedi LU = A + A , |A | 2n |L| |U|. 1 2n

Kako je A + A = P (A + P T A ), stavljanjem A = P T A dobivamo tvrdnju teorema. Primijetimo i da je, bez obzira da li pivotiramo retke ili ne, A 2n 1 2n n(n + 1) 2 n(n + 1) A 2
F.

Razlika u numerikoj stabilnosti koju donosi pivotiranje redaka je bolje ponac anje parmetra , tj. pivotiranjem moemo osigurati umjeren rast elemenata u toku s z LU faktorizacije. U primjeru 4.4.1 smo vidjeli da u LU faktorizaciji bez pivotiranja rast elemenata tokom faktorizacije moe biti po volji velik. Sljedea propozicija z c pokazuje da u sluaju pivotiranja redaka faktor ima gornju ogradu koja je funkcija c samo dimenzije problema. Propozicija 4.4.1 Ako LU faktorizaciju raunamo s pivotiranjem redaka u aritc metici s maksimalnom grekom zaokruivanja , onda je s z 2n1 (1 + )2(n1) . Specijalno, u sluaju egzaktnog raunanja je 2n1 . c c Dokaz. Dokaz ostavljamo itatelju za vjebu. c z Primijetimo da je gornja ograda za reda veliine 2n , to brzo raste kao c s funkcija od n. Postoje primjeri na kojima se ta gornja ograda i dostie. Ipak, z iskustvo iz prakse govori da su takvi primjeri rijetki i da je LU faktorizacija s pivotiranjem redaka dobar algoritam za rjeavanje sustava linearnih jednadbi. Moemo s z z zakljuiti i preporuiti sljedee: c c c Gaussove eliminacije, odnosno LU faktorizaciju, valja u praksi uvijek raditi s pivotiranjem redaka.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 181

4.4.2.

Analiza numerikog rjeenja trokutastog sustava c s

Kako smo vidjeli u odjeljku 4.3.2., trokutaste sustave rjeavamo jednostavnim s i elegantnim supstitucijama unaprijed ili unazad. Ta jednostavnost se odraava i z na dobra numerika svojstva supstitucija, kada ih provedemo na raunalu. Sljedea c c c propozicija opisuje kvalitetu numeriki izraunatog rjeenja trokutastog sustava jedc c s nadbi. z Propozicija 4.4.2 Neka je T donjetrokutasta (gornjetrokutasta) matrica reda n i neka je sustav T v = d rijeen supstitucijama unaprijed (unazad) kako je opisano s u odjeljku 4.3.2.. Ako je v rjeenje dobiveno primjenom aritmetike raunala pre s c ciznosti , onda postoji donjetrokutasta (gornjetrokutasta) matrica T takva da vrijedi n (T + T ) = d, |T | |T |, 0 v . 1 n Dokaz. Dokaz zbog jednostavnosti provodimo samo za donjetrokutastu matricu T . Pretpostavljamo da se i-ta komponenta rjeenja za i > 1 rauna na sljedei nain: s c c c vi = Ti1 v1 ; za j = 2, . . . , i 1 { vi = vi Tij vj ; } vi = (di vi ) Tii . Primjenom pravila aritmetike raunala dobijemo3 c v1 = te za i = 2, . . . , n di vi =
i1

d1 (1 + T11

1 ),

| 1 | ,

Tij (1 + j )j v
j=1

Tii (1 + 1,i )(1 +

,
2,i )

|j |

(i 1) , 1 (i 1)

1,i |

2,i |

Napomena 4.4.3 Koliko god da je prethodni rezultat tehniki jednostavan, valja c naglasiti da je zakljuak o tonosti rjeenja trokutastog sustava vaan: izraunato c c s z c rjeenje zadovoljava trokutasti sustav sa matricom koecijenata koja se po elemens tima malo razlikuje od zadane. Pojednostavljeno govorei, ako radimo s 108 i c ako je n = 1000, onda izraunati vektor v zadovoljava T v = d, gdje se elementi od T c i T poklapaju u barem 5 decimalnih znamenki (od 8 na koliko je zadana matrica T ).
3

Vidi odjeljak 4.4.4..

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 182

4.4.3.

Tonost izraunatog rjeenja sustava c c s

Sada nam ostaje napraviti kompoziciju dobivenih rezultata i ocijeniti koliko tono moemo na raunalu rijeiti linearni sustav Ax = b u kojem smo izrauali LU c z c s c faktorizaciju P A = LU i supstitucijama naprijed i unazad izraunali c x = U 1 (L1 (P b)). Kako smo vidjeli u prethodnim odjeljcima, permutacija P se moe (za potrebe z analize) odmah primjeniti na polazne podatke i numeriku analizu moemo provesti c z bez pivotiranja. Kako to pojednostavljuje oznake, mi emo pretpostaviti da su c na polazne podatke A i b ve primijenjene zamjene redaka, tako da su formule c jednostavno A = LU i x = U 1 (L1 b)). c Neka su L i U izraunate trokutaste matrice, gdje je LU = A + A, kao u teoremu 4.4.1. Izraunato rjeenje y sustava Ly = b zadovoljava (prema propozic s ciji 4.4.2) n |L|. y (L + L) = b, | L| 1 n Na isti nain rjeenje x sustava U x = y zadovoljava c s x (U + U ) = y , Dakle, (L + L)(U + U ) = b, tj. x (A + A + E) = b, x E = L U + LU + L U , |E| |L| | U| + | L| |U| + | L| | U|. Time smo dokazali sljedei teorem. c Teorem 4.4.3 Neka je x rjeenje regularnog n n sustava jednadbi Ax = b, do s z biveno Gaussovim eliminacijama s pivotiranjem redaka. Tada postoji perturbacija A za koju vrijedi (A + A) = b, x |A| 5n P T |L| |U|. 1 2n | U| n |U|. 1 n

Ovdje je P permutacija koja realizira zamjenu redaka. Takoder pretpostavljamo da je 2n < 1. Na kraju ovog odjeljka, pokaimo kako cijeli algoritam na raunalu moemo z c z implementirati bez dodatne memorije. Kako smo prije vidjeli, LU faktorizaciju moemo napraviti tako da L i U smjestimo u matricu A. Sada jo primijetimo da z s sustave Ly = b i Ux = y moemo rijeiti tako da y i x u memoriju zapisujemo na z s mjesto vektora b. Tako dobijemo sljedeu implementaciju Gaussovih eliminacija: c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 183

Algoritam 4.4.2 Rjeavanje trokutastog sustava jednadbi Ax = b Gaussovim elis z minacijama bez dodatne memorije. / LU faktorizacija, A = LU / za k = 1, . . . , n 1 { za j = k + 1, . . . , n { A(j, k) = A(j, k) ;} A(k, k)

za j = k + 1, . . . , n { za i = k + 1, . . . , n { A(i, j) = A(i, j) A(i, k)A(k, j); } } } / Rjeavanje sustava Ly = b, y napisan na mjesto b. / s za i = 2, . . . , n { za j = 1, . . . , i 1 { b(i) = b(i) A(i, j)b(j); } } / Rjeavanje sustava Ux = y, x napisan na mjesto b. / s b(n) b(n) = ; A(n, n) za i = n 1, . . . , 1 { za j = i + 1, . . . , n { b(i) = b(i) A(i, j)b(j); } b(i) = b(i)/A(i, i); }

4.4.4.

Dodatak: Osnove matrinog rauna na raunalu c c c

Na raunalu openito ne moemo egzaktno izvravati aritmetike operacije. c c z s c Rezultat zbrajanja, oduzimanja, mnoenja ili dijeljenja dva broja x i y prikaziva z u raunalu je po deniciji broj u raunalu koji je najblii egzaktnom zbroju, rac c z zlici, umnoku, odnosno kvocijentu x i y. Pri tome je relativna greka tako izves s denih operacija manja ili jednaka polovini najveeg relativnog razmaka dva susjedna c broja u raunalu. Na primjer, u standardnoj jednostrukoj preciznosti (32-bitna c reprezentacija) je relativni razmak susjednih brojeva omeden s 223 pa je relativna greka aritmetikih operacija najvie 108 . s c s Navedena pravila za izvravanje elementarnih aritmetikih operacija lako zas c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 184

piemo na sljedei nain: s c c zbrajanje: x y = (x + y)(1 + 1 ), | 1 | oduzimanje: x y = (x y)(1 + 2 ), | 2 | mnoenje: x y = xy(1 + 3 ), | 3 | z x dijeljenje: x y = (1 + 4 ), | 4 | , y = 0. y Ove relacije vrijede ako su rezultati navedenih operacija po apsolutnoj vrijednosti u intervalu (, M) gdje je npr. u 32-bitnoj reprezentaciji = 2126 1038 najmanji a M = (1 + 21 + + 223 )2127 1038 najvei normalizirani strojni broj. (U c dvostrukoj preciznosti (64-bitna reprezentacija brojeva) je 10308 , M 10308 .) Analiza za rezultate izvan intervala (, M) je neto sloenija pa je neemo raditi. s z c Kako na raunalu izgledaju osnovne operacije linearne algebre? Lako se uvjeric mo da je veina operacija (skalarni produkt, norma, linearne kombinacije, matrine c c operacije) bazirana na raunanju c
m

s=
i=1

xi yi,

gdje su xi , yi skalari (realni ili kompleksni brojevi ili njihove aproksimacije na raunalu). Ako s raunamo na standardan nain, u raunalu dobijemo, npr. s c c c c m = 4, izraz oblika s = ((((x1 y1 ) x2 y2 ) x3 y3 ) x4 y4 ).

Sustavnom primjenom osnovnih svojstava aritmetike na stroju, lako se provjeri da je s = (((x1 y1 (1 + 1 ) + x2 y2 (1 + 2 ))(1 + 2 ) + x3 y3 (1 + 3 ))(1 + 3 ) + x4 y4 (1 + 4 ))(1 + 4 ) = x1 y1 (1 + 1 )(1 + 2 )(1 + 3 )(1 + 4 ) +x2 y2 (1 + 2 )(1 + 2 )(1 + 3 )(1 + 4 ) 1 + 1 + x3 y3 (1 + 3 )(1 + 3 )(1 + 4 ) +x4 y4 (1 + 1 + 3
m=4

1 + 2 4 )(1 + 4 ) 1 + 4

=
i=1

xi yi (1 + i ),

gdje su sve vrijednosti i , i po modulu manje od . Sada je jasno kako bi izgledala formula za proizvoljan broj od m sumanada. Primijetimo da 1+k moemo ocijeniti s z 1 m 1 + k 1 , 1 m tj. vrijedi |k | m , 1 m k = 1, 2, . . . , m.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 185

Propozicija 4.4.3 Neka su x1 , . . . , xm , y1 , . . . , ym brojevi u raunalu, m 1. Ako c vrijednost


m

s=
i=1

xi yi

raunamo kao c s = x1 y1 ; za i = 2, . . . , m { s = s xi yi ; } onda postoje brojevi i , i = 1, . . . , m, takvi da vrijedi


m

s=
i=1

xi yi (1 + i ),

|i |

m , 1 m

i = 1, 2, . . . , m.

Dokaz. Dokaz smo ve skicirali na primjeru m = 4. Oito je formalni dokaz najc c lake izvesti matematikom indukcijom po m. Dovoljno je primijetiti da je u koraku s c indukcije s xm+1 ym+1 = ( + xm+1 ym+1 (1 + 1 ))(1 + 2 ) s = s(1 + 2 ) + xm+1 ym+1 (1 + 1 )(1 + 2 ), |1 | , |2 | ,

te da je 1 (m + 1) (1 )(1 m) i (m + 1) 1+ 1+ . 1 m 1 (m + 1)

4.5.

Numeriko rjeavanje simetrinog sustava c s c jednadbi z

U mnogim vanim primjenama, posebno u inenjerskim znanostima, linearni z z sustav jednadbi je simetrian. To znai da je u sustavu Ax = b matrica A = z c c T [ aij ]n c i,j=1 simetrina, A = A , tj. za sve i, j je aij = aji . Naravno, ako pametno iskoristimo simetriju, A = AT , onda Gaussove eliminacije moemo provesti puno ekasnije. Pokazuje se da u sluaju simetrine matrice z c c LU faktorizacija ima openiti oblik c A = RT JR, gdje je R gornjetrokutasta matrica, a J = diag(1). Da bismo dobili ideju zato je s to tako, pogledajmo LU faktorizaciju A = LU simetrine regularne matrice A. Iz c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 186

A = LU slijedi da je U AU 1 = U L istovremeno simetrina i gornjetrokutasta c matrica. Dakle, D = U L je dijagonalna matrica, pa je L = U T D, tj. A = U T DU. Ako je D = diag(di )n , i=1 onda deniramo |D|1/2 = diag(|di|1/2 ), Slijedi da je A = RT JR. Postojanje LU faktorizacije je uvijek osigurano ako pivotiramo. Kako nam je cilj sauvati simetriju, kod simetrine matrice emo istovremeno permutirati retke i c c c T stupce, tj. radit emo s P AP , gdje je P matrica permutacije. c J = diag(sign(di )) i R = |D|1/2 U.

4.5.1.

Pozitivno denitni sustavi. Faktorizacija Choleskog

Kaemo da je simetrina n n matrica A pozitivno denitna ako za sve z c n x R , x = 0, vrijedi xT Ax > 0. Ako npr. uzmemo x = ei , i-ti stupac jedinine matrice, onda je aii = eT Aei > 0, tj. c i dijagonalni elementi pozitivno denitne matrice su uvijek pozitivni. Nadalje, ako je S bilo koja regularna matrica i x = 0, onda je i y = Sx = 0 i vrijedi xT (S T AS)x = (Sx)T A(Sx) = y T Sy > 0, pa zakljuujemo da je i S T AS pozitivno denitna matrica. c Pozitivna denitnost osigurava egzistenciju LU faktorizacije bez pivotiranja. Pogledajmo kako. Ako A particioniramo tako da je A= a11 a aT , A A R(n1)(n1) ,

onda je a11 > 0 i prvi korak eliminacija je

1 a a11

0 In1

a11 a

a A

a11 0

aT

aaT . A a11

Sada primijetimo da vrijedi i

1 a a11

0 In1

a11 a

aT a11 a 1 a11 = A 0 0 In1


T

aaT , A a11

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 187

pri emu je dobivena matrica takoder pozitivno denitna. Sada se lako provjeri da c aaT je i matrica A pozitivno denitna, dakle, njen prvi dijagonalni element je a11 strogo vei od nule pa se postupak eliminacija moe nastaviti. Time je pokazana c z T egzistencija faktorizacije A = R R u kojoj je R gornjetrokutasta matrica. Faktorizaciju A = RT R zovemo faktorizacija Choleskog ili trokutasta faktorizacija simetrine pozitivno denitne matrice. c Elemente matrice R moemo izraunati jednostavnim nizom formula. Raspiz c sivanjem relacije r11 r 12 . T A=R R= . . . . . r1n

0 r22 . . . . . . r2n

0 0 .. .. . . .. . rn1,n1 rn1,n

0 r11 0 0 . . . . . . 0 0 rnn 0

r12 r22 0 . . . 0

. .. . . . .. . rn1,n1 0

rn1,n

r1n r2n . . .

rnn

po komponentama, za i j, dobijemo
i

aij =
k=1

rkirkj

odakle direktno slijedi sljedei algoritam za raunanje matrice R. c c Algoritam 4.5.1 Raunanje faktorizacije Choleskog simetrine pozitivno denitne c c nn matrice A R . za i = 1, . . . , n { rii = aii
i1 2 rki; k=1

/ za i = 1, rii = aii / za j = i + 1, . . . , n { rij = aij


i1

rki rkj
k=1

rii ; } }

c Promotrimo sada linearni sustav jednadbi u kojem je A Rnn simetrina, z T s pozitivno denitna matrica. Ako je A = R R trokutasta faktorizacija, onda rjeenje x = A1 b = R1 R b s s moemo dobiti tako da prvo nademo rjeenje y sustava RT y = b, a zatim rijeimo z sustav Rx = y. Kako je R gornjetrokutasta matrica, cijeli postupak je vrlo jednostavan i moemo ga zapisati na sljedei nain: z c c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 188

Algoritam 4.5.2 Rjeavanje linearnog sustava jednadbi Ax = b s pozitivno des z nn nitnom matricom A R . / Trokutasta faktorizacija A = RT R / za i = 1, . . . , n { rii = aii
i1 2 rki; k=1

/ za i = 1, rii = aii / za j = i + 1, . . . , n { rij = aij


i1

rki rkj
k=1

rii ; } }

/ Supstitucije naprijed za RT y = b / b1 y1 = ; r11 za i = 2, . . . , n { yi = bi


i1

rjiyj
j=1

rii ; }

/ Supstitucije unazad za Rx = y / yn ; xn = rnn za i = n 1, . . . , 1 { xi = yi


n

rij xj
j=i+1

rii ; }

Na je cilj ispitati numerika svojstva algoritma 4.5.1, ako njegove operacije s c izvedemo na raunalu u aritmetici konane preciznosti . c c Propozicija 4.5.1 Neka je za zadanu n n pozitivno denitnu matricu A algoritam 4.5.1 uspjeno izvrio sve operacije u konanoj aritmetici s grekom zaokruis s c s z T vanja . Ako je R izraunata aproksimacija matrice R, onda je R R = A + A, c c gdje je A = [ aij ] simetrina matrica i za sve 1 i, j n vrijedi |aij | C aii ajj , C = c(n) , 1 2c(n) c(n) = max{3, n}. (4.5.1)

Dokaz. U i-tom koraku, 2 i n, u algoritmu 4.5.1 vrijedi1 rii = (1 + 2 ) (1 + 1 ) aii


1

i1

rki(1 + k ) , 2
k=1

(4.5.2)

Ovdje koristimo pretpostavku da je algoritam uspjeno zavrio sve operacije, tj. da je uspjeno s s s izraunao rii > 0 za sve i. c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 189

pa kvadriranjem i uz oznaku 1 + = (1 + 1 )(1 + 2 )2 dobijemo


i

rki = aii + 2
k=1

i1 rii 2 rki k = aii + aii . 2 1+ k=1

(4.5.3)

Ovu relaciju moemo zapisati i u obliku z rii = Za i = 1 oito je c r11 = Denirajmo (1 + 2 )2 a11 = a11 + a11 . aii + aii
i1

rki . 2
k=1

(4.5.4)

|| , max |k | . 1 + 1ki1 Uz prethodnu deniciju, lako provjerimo da u relaciji (4.5.4) vrijedi i = max |aii | i
i k=1

rki 2

i aii , 1 i

c(n) . 1 c(n)

Na isti nain analiziramo raunanje vrijednosti rij , j > i. Imamo c c aij rij = (1 +
1 )(1 i1

rkj rki (1 + k )
k=1

2) 1 )(1

rii +
2)

|k |

(i 1) , 1 (i 1)

pa stavljanjem 1 + = (1 +
i

lako dolazimo do relacije (4.5.5)

rkj rki = aij +


k=1

i1 rkj rki k = aij + aij = aji + aji. rij rii 1+ k=1

Ovu relaciju moemo proitati i na drugi nain kao z c c aij + aij rij = Ako sada deniramo i = max moemo pisati da je z |aij | i
i k=1 i1

rkj rki
k=1

rii

(4.5.6)

| | , max | | , 1 + 1ki1 k
i i

|kj | |ki| i r r i

rkj 2
k=1 k=1

rki 2 i c(n) . 1 c(n)

(1 i )(1 j )

aii ajj ,

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 190

Konano, primijetimo da relacije (4.5.3) i (4.5.5) pokazuju da je RT R = A + A, c gdje je A = [ aij ]n . Time je tvrdnja propozicije dokazana. i,j=1 Sad nas zanimaju numerika svojstva algoritma 4.5.2. Ako je x izraunata c c 1 s z c aproksimacija tonog rjeenja x = A b, to moemo rei o x? Iz propozicije 4.5.1 c s znamo da izraunata matrica R zadovoljava c RT R = A + A, |aij | max C . i,j aii ajj

U sljedeem koraku rjeavamo dva trokutasta sustava, RT y = b i Rx = y. Neka su c s y y i x x, redom izraunati vektori rjeenja. Prema propoziciji 4.4.2, postoje c s gornjetrokutaste matrice 1 R i 2 R tako da vrijedi (R + 1 R)T y = b, (R + 2 R) = y . x

Pri tome je |1 R| |R| i |2 R| |R|, gdje je = n . 1 n

Nadalje, slijedi da izraunati x zadovoljava c (R + 1 R)T (R + 2 R) = b, x Deniramo li E = RT 2 R + (1 R)T R + (1 R)T 2 R dobivamo da je |E| (2 + 2 )|R|T |R|, x pa zakljuujemo da x zadovoljava sustav (RT R + E) = b, u kojem je E po elemenc T tima mala perturbacija matrice sustava A = R R. Primijetimo i da je |Eij | (2 + 2 ) aii ajj (2 + 2 )(1 + C ) aii ajj , 1 i, j n. tj. (RT R + RT 2 R + (1 R)T R + (1 R)T 2 R) = b. x

c s Kako je A = A + A, dobivamo vezu izmedu polaznog sustava i izraunatog rjeenja x: (A + F ) = b, gdje je F = A + E. x Pri tome su i E i A ocijenjeni po elementima, na isti nain i s priblino istom c z gornjom ogradom. Moemo rei da smo rijeili sustav s matricom A + F koja je z c s blizu zadane matrice A u smislu da je |Fij | max , i,j aii ajj = C + (2 + 2 )(1 + C ).

Da smo, na primjer, nakon faktorizacije A + A = RT R trokutaste sustave po y i x rijeili egzaktno, imali bismo F = A i = C . s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 191

Ipak, nismo sasvim zadovoljni zakljukom. Zato? Paljivi itatelj je sigurno c s z c ve uoio da openito E nije simetrina, to povlai da F nije simetrina, pa niti c c c c s c c A+F nije simetrina. Mi jesmo rijeili sustav blizak zadanom, ali smo izgubili vanu c s z strukturu polaznog sustava simetriju. Simetrija matrice A sustava je posljedica strukture problema kojeg opisujemo sustavom Ax = b, pa nam je vano znati da z x odgovara rjeenju bliskog problema, s istom strukturom, tj. simetrijom. To nas s vodi do sljedeeg problema: c Ako je (A + F ) = b, postoji li simetrina perturbacija A tako da je (A + x c A) = b i tako da za veliinu od A postoje ocjene analogne onima za F ? x c Sljedea propozicija daje potvrdan odgovor na to pitanje. c Propozicija 4.5.2 Neka je (A+F ) = b, gdje je A simetrina i pozitivno denitna x c i neka vrijedi |Fij | max . i,j aii ajj Tada postoji simetrina perturbacija A takva da je (A + A) = b. Pri tome je c x |aij | , max i=j aii ajj max
i

|aii | (2n 1). aii

Dokaz. Primijetimo da A mora zadovoljavati jednadbu A = F x, koja daje n z x uvjeta za n(n + 1)/2 stupnjeva slobode u A. Stavimo D = diag( aii )n i=1 i promotrimo skalirani sustav D 1 (A + F )D 1 D = D 1 b, tj. x (As + Fs )z = D 1 b, As = D 1 AD 1 , Fs = D 1 F D 1.

Neka je P permutacija takva da vektor z = P T z zadovoljava z z |1 | |2 | |n |. z Gornji sustav zapisat emo u ekvivalentnom obliku c P T (As + Fs )P z = P T D 1 b, tj. (As,p + Fs,p ) = P T D 1 b, z

c c gdje je As,p = P T As P , Fs,p = P T Fs P . Konstruirat emo simetrinu matricu M = [ mij ] za koju je M z = Fs,p z . Denirajmo mij = (Fs,p )ij (Fs,p )ji za i < j, za j < i

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 192

i odredimo dijagonalne elemente mii tako da je mii zi +


j=i

mij zj = (Fs,p )ii zi +


j=i

(Fs,p )ij zj .

Iskoristimo li deniciju izvandijagonalnih elemenata matrice M, dobivamo relaciju


i1

mii zi = (Fs,p )ii zi +

((Fs,p )ij (Fs,p )ji )j . z

j=1

Ako je zi = 0, stavimo mii = 0. Inae, deniramo c


i1

m11 = (Fs,p )11 ,

mii = (Fs,p )ii +

((Fs,p )ij (Fs,p )ji )

j=1

zj , zi

i = 2, . . . , n.

Oito je |mii | (2i 1), za sve i, te max |mij | . Po konstrukciji matrice As c


i=j

vrijedi z (As,p + M) = P T D 1 b ili, ekvivalentno, Pri tome je max |(P MP T )ij |


i=j

(As + P MP T )z = D 1 b.

(4.5.7)

i max |(P MP T )ii | (2n 1).


i

Skaliranjem sustava (4.5.7) dobijemo (A + A) = b, x ime je dokaz zavren. c s Napomena 4.5.1 Rezultat ovog odjeljka moemo saeti u jednostavan zakljuak. z z c Pozitivno denitne sustave na raunalu moemo rijeiti s pogrekom koja je ekvivac z s s lentna malim promjenama koecijenata u matrici sustava. A = D(P MP T )D,

4.6.

Teorija perturbacija za linearne sustave

Iz prethodnih razmatranja jasno je da u primjenama rijetko moemo izraunati z c egzaktno rjeenje sustava Ax = b, jer, i formiranje samog sustava (raunanje koes c cijenata sustava i desne strane) i njegovo rjeavanje na raunalu, uzrokuju greke. s c s Analizom tih greaka dolazimo do zakljuka da izraunata aproksimacija rjeenja s c c s x = x + x zadovoljava tzv. perturbirani sustav, (A + A)(x + x) = b + b. Sada se

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 193

postavlja pitanje kako ocijeniti veliinu greke x = x x, ako je poznata informacija c s o veliini greaka A i b. c s U primjeru 4.4.1 vidjeli smo da ak i mala perturbacija A moe potpuno c z promijeniti rjeenje x. Kako mi u realnoj primjeni ne znamo tono rjeenje, cilj je s c s otkriti kako moemo iz matrice A i vektora b dobiti ne samo (to je mogue bolju) z s c aproksimaciju x, nego i procjenu koliko je ta aproksimacija dobra. Na poetku teorijske analize, promotrimo jednostavniji sluaj u kojem je b = c c 0. Dakle, jedina perturbacija je ona koja A promijeni u A+A. Zbog jednostavnosti promatrat emo samo (inae, vaan) sluaj u kojem je matrica koecijenata A + A c c z c i dalje regularna, pa je x + x jedinstveno odreden. Iz jednakosti A + A = A(I + A1 A) vidimo da je regularnost matrice A + z A osigurana ako je I + A1 A regularna. Uvjet pod kojim moemo garantirati 1 c regularnost matrice I + A A daje sljedea propozicija. Propozicija 4.6.1 Neka je X n n matrica i Ako je X < 1 onda je I X regularna matrica i (I X)
1 2

proizvoljna matrina norma. c


k=0

= I +X +X + =

Xk.

Dokaz. Primijetimo da za svaki prirodan broj m vrijedi (I X)(I + X + + X m ) = I + X + + X m X X m X m+1 = I X m+1 . z Ako oznaimo Sm = I + X + + X m , onda moemo pisati c (I X)Sm = Sm (I X) = I X m+1 , tj. Sm = (I X)1 (I X)1 X m+1 . (I X)1 X m+1 (I X)1 0, kada m ,

Kako je, zbog X < 1, X


m+1

zakljuujemo da je za dovoljno veliki indeks m matrica Sm po volji blizu matrici c (I X)1 . Koritenjem ove propozicije, regularnost matrice A + A obino osiguravamo s c 1 tako da zahtijevamo da je A A < 1. Izbor matrine norme ovisi o konkretnoj c situaciji, npr. o tipu informacije o A ili o teorijskim rezultatima koje koristimo u analizi. Neka je izabrana matrina norma jednaka Frobeniusovoj normi, = F , c
n

=
i,j=1

|Xij |2 =

tr(X T X),

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 194

pri emu je tr oznaka za trag matrice. Informacija o perturbaciji A je vaan faktor c z u razvoju analize. Neka je, na primjer, zadano (poznato) da je A F A F 1

mali broj, tj. da je perturbacija mala po normi. Regularnost matrice A + A je osigurana ako je npr. A1
F

A
F

= ( A

A1

F)

< 1,

tj.

<

1 A1

.
F

Tada je A1 A

<1i (A + A)1 = (I + A1 A)1 A1 ,

z pa x = (A + A)1 b moemo pisati kao x = (I + A1 A)1 A1 b = (I + A1 A)1 x, x Znai, x x = A1 A, pa je c xx Kako je A1 A


F 2 F,

tj. (I + A1 A) = x. x

A1 A dobivamo A
F

x 2.

A1
2

xx x 2

A1

A F = A F

A1

F.

(4.6.1)

Relacija (4.6.1) pokazuje da relativna greka u izraunatom rjeenju x moe biti s c s z uveana najvie s faktorom F (A) = A1 F A F u odnosu na relativnu promjenu c s = A F / A F u polaznoj matrici A.

4.6.1.

Perturbacije male po normi

Sljedei teorem daje potpuni opis greke ako je perturbacija dana po normi. c s Openito emo promatrati i A i b, a mjerenja perturbacija e biti u proizvoljnoj c c c vektorskoj normi i pripadnoj matrinoj normi . c Teorem 4.6.1 Neka je Ax = b, (A + A)(x + x) = b + b, gdje je A b b . Ako je A1 A < 1, onda je x x 1 A1 A A1 b + A1 x A 2 A1 A . 1 A1 A A ,

Pri tome postoje perturbacije A i b za koje je gornja nejednakost skoro dostignuta. Preciznije, postoje A i b takvi da je A = A , b = b , te x x 1+ A1 A A1 b + A1 x A .

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 195

Dokaz. Iz pretpostavki teorema je x = A1 b A1 Ax A1 Ax, pa uzimanjem norme dobijemo x A1 b + A1 A x + A1 A x , (4.6.2)

odakle, rjeavanjem nejednakosti po x slijedi tvrdnja. s Da bismo konstruirali perturbacije za koje dobivena nejednakost skoro postaje jednakost, pogledajmo desnu stranu jednakosti (4.6.2). Vrijedi x A1 b A1 Ax A1 Ax . Pokuajmo odrediti perturbacije A, b tako da vrijedi s A1 b A1 Ax = A1 b = A1 A1 b + A1 A1 A x . b , x ,

Dakle, A i b treba odabrati tako da je A b ,

A , b A

A1 Ax =

te da je norma razlike A1 b A1 Ax jednaka sumi normi vektora. Ovaj zadnji uvjet znai da A1 b i A1 Ax moraju biti kolinearni. c Ako je u jedinini vektor za kojeg je A1 u = A1 , onda b = b u c zadovoljava b = b i A1 b = A1 b . Sada stavimo A = A uv T , gdje je v Rn vektor kojeg emo odrediti da postignemo eljene relacije: c z (i ) A = A max
z=0

uv T z = z

A max
z=0

|v T z| treba postati A = z A A1

A ; x .

(ii ) A1 Ax =

A1 |v T x| treba postati A1 Ax =

Dakle, treba nam vektor v sa svojstvom da je, za sve z, |v T xz| z , te da je |v T x| = x . Postojanje takvog vektora je rezultat HahnBanachovog teorema: takav vektor v postoji. Dakle, konstruirali smo A i b za koje je x A1 b + A1 A x A1 A x ,

ime je dokaz druge tvrdnje teorema zavren. c s Vidimo da teorem 4.6.1 iz zadane informacije o veliini perturbacija po normi c ( A A , b b ) izvodi optimalnu1 ocjenu iz koje se jasno vidi da je broj (A) = A1 A (4.6.3) odluujui faktor u donoenju suda o numerikoj kvaliteti izraunate aproksimacije c c s c c x = x + x sustava Ax = b. Pravilo je jednostavno:
Ovdje pod optimalnosti podrazumijevamo injenicu da je gornju ogradu za x / x nemogue c c bitno poboljati. s
1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 196

Ako je relativna greka (po normi) u podacima najvie , onda se relativna s s greka u rjeenju ponaa kao (A) . s s s

4.6.2.

Rezidualni vektor i stabilnost

Postoji jo jedan jednostavan i koristan nain kako prosuditi kvalitetu aproksis c macije x rjeenja sustava Ax = b. Radi se o rezidualnom vektoru s r = b A. x (4.6.4)

Kako je bAx = 0, jasno je da bi za dobru aproksimaciju x pripadni rezidual trebao biti mali po normi. Ako relaciju (4.6.4) proitamo kako c A = b r, x tj. kao A = b + b, x gdje je b = r,

onda vidimo da je x egzaktno rjeenje sustava koji je dobiven iz originalnog sustava s promjenom desne strane u b + b. Ako je r b

dovoljno mali broj, onda moemo x prihvatiti kao zadovoljavajuu aproksimaciju. z c Zato? Recimo da su naa polazna matrica A i vektor b rezultati mjerenja ili nekih s s prethodnih prorauna. c Teorem 4.6.2 Neka je x aproksimacija rjeenja sustava Ax = b i neka je s () = min{ : (A + A) = b + b, x x Tada je () = x A A , b b }.

b A x . A x + b

Dokaz. Neka je r = b A rezidualni vektor. Ako je 0 takav da postoje A, x b takvi da je A A , b b , (A + A) = b + b, onda vrijedi x r = A b, x Stavimo sada b = Oito je b = c A pa je r ( A x + b ), tj. b A x . A x + b

b r. x + b A i A x r. A x + b

b . Odredimo A tako da je A = A b r, x + b tj. A = x

(A + A) = b x

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 197

Slika 4.6.1 Interpretacija izraunatog rjeenja x kao egzaktnog rjeenja promijenc s s jenog sustava jednadbi. z Denirajmo A = gdje je v vektor sa svojstvima vT x = x i za sve z vrijedi |v T z| z . A A rv T , x + b

Takav vektor v postoji po HahnBanachovom teoremu i lako provjerimo da A ima sva traena svojstva. z

4.6.3.

Perturbacije po elementima

Najpreciznija ocjena perturbacije u matrici A je kada imamo informaciju o perturbaciji svakog njenog elementa, tj. svakog koecijenta u sustavu jednadbi. Ako z n n je A = [ aij ]i,j=1 i A + A = [ aij + aij ]i,j=1, onda je takva ocjena dana relacijama |aij | |aij |, i, j = 1, 2, . . . , n,

gdje je 0 1. Ove nejednakosti jednostavno zapisujemo kao |A| |A|, tj. apsolutne vrijednosti matrica i nejednakost medu matricama shvaamo po elc ementima. Na isti nain piemo |b| |b|. Primijetimo da ovakve perturbacije c s (|A| |A|, |b| |b|) uvaju strukturu u smislu da nule u matrici A i vektoru c b ostaju nepromijenjene. Nadalje, ove perturbacije su neizbjene pri pohranjivanju z podataka u raunalo. c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 198

Teorem 4.6.3 Neka je Ax = b i (A + A)(x + x) = b + b, gdje je |A| |A|, |b| |b|.

Uzmimo proizvoljnu apsolutnu vektorsku normu i njenu induciranu matrinu c 1 c normu, takoder oznaenu s . Neka je |A ||A| < 1. Tada vrijedi x |A1| |A| |x| + |A1 | |b| . x (1 |A1| |A| ) x (4.6.5)

Nadalje, postoje perturbacije A i b takve da je |A| = |A|, |b| = |b| i da za rjeenje x + x = (A + A)1 (b + b) vrijedi s x |A1| |A| |x| + |A1 | |b| x (1 + |A1 | |A| ) x

(4.6.6)

Dokaz. Prije svega, uvjet |A1| |A| < 1 osigurava da je A + A regularna matrica, pa je x + x jedinstveno odreden. Sada lako provjerimo da vrijedi x = A1 A(x + x) + A1 b, pa primjenom nejednakosti trokuta (mnogokuta) dobijemo da je |x| |A1 | |A| |x| + |A1 | |A| |x| + |A1 | |b| |A1 | |A| |x| + |A1 | |A| |x| + |A1 | |b| pa je x ( |A1| |A| |x| + |A1 | |b| ) + |A1| |A| (|A1 | |A| |x| + |A1 | |b|)m = |A1| |A| |x| + |A1 | |b| Denirajmo dijagonalne matrice D1 = diag(sign((A1 )mi ))n , i=1
n n

(4.6.7)

x .

Neka je m {1, 2, . . . , n} odabran tako da je


.

D2 = diag(sign(xi ))n , i=1


n

i perturbacije A = D1 |A|D2 , b = D1 |b|. Sada lako raunamo c (A Ax A b)m =


1 1

(A )mj (A)ji xi
1

(A1 )mj bj

= (|A | |A| |x| + |A | |b|)m = |A1| |A| |x| + |A1 | |b| . S druge strane, iz relacije (4.6.7) lako izvedemo da je (A1 Ax A1 b)m = (x + A1 Ax)m , pa je |A1| |A| |x| + |A1 | |b|

j=1 i=1 1

j=1

+ |A1| |A|

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 199

Korolar 4.6.1 Relativni faktor osjetljivosti je dan relacijom x x : (A + A)(x + x) = b + b, lim sup 0

|A| |A|,

|b| |b|

|A1 | |A| |x| + |A1 | |b| x

Primijetimo da je |A1 | |A| |x|

|A1| |A| |x| + |A1 | |b|

2 |A1| |A| |x|

Zato kao koecijent osjetljivosti moemo koristiti veliinu z c (A, x) = |A1 | |A| |x| x

Teorem 4.6.4 Neka je x izraunata aproksimacija rjeenja sustava Ax = b i neka c s je r = b A izraunati rezidual. Vrijedi x c min{ 0 : (A + A) = b + b, x |A| |A|, |b| |b|} = max
i

|ri | . (|A| || + |b|)i x

Optimalna perturbacija polaznih podataka koja reproducira izraunato rjeenje dana c s je s A = D1 |A|D2 , b = D1 |b|, gdje je |ri | D1 = diag (|A| || + |b|)i x
n

,
i=1

D2 = diag(sign(i ))n . x i=1

Primjer 4.6.1 U ovom primjeru istraujemo stabilnost Gaussovih eliminacija po z elementima matrice. Neka su = 0 i = 0 zadani i neka je A= , 0 1 b= , 0 0 x = A1 b = 1 .

Trokutasta LU faktorizacija matrice A je A 1 = 0 1 L 0 1 0 . U

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 200

1 je izraunat bez greke. Ako pogledamo proces supstitucija c s 1 unazad, egzaktne formule x2 = 1/, x1 = 0, prelaze u Vektor y = L1 b = x2 = 1 (1 + 1 ), 1 1 x1 = (1 x2 (1 + 2 ))(1 + 3 )(1 + 4 ) = (1 2 1 2 )(1 + 3 )(1 + 4 ),

s c c c gdje su 1 , 2 , 3 , 4 male greke reda veliine tonosti raunala. Primijetimo da c openito ne moemo garantirati x1 = 0. Ako je broj u raunalu takav da je c z (1 ) = 1, bit e x1 = 0. c Na primjer, u IEEE aritmetici je takav broj, npr. = 4.057062130620955e001, pri emu je (1 ) = 9.999999999999999e001. (Citatelju za vjebu ostavljamo c z da pokua nai jo takvih brojeva.) s c s s Pokuajmo sada izraunato rjeenje x1 , x2 interpretirati kao egzaktno rjeenje s c s sustava (A+A) = b+b, gdje su elementi matrice A oblika aij (1+ ij ), a elementi x c od b su bi (1 + i ). Drugim rijeima, treba odrediti ij , i , i, j = 1, . . . , n, tako da vrijedi (1 + 11 ) (1 + 12 ) x1 1 + 1 = . (4.6.8) (1 + 21 ) 0 x2 0 Ako je x1 = 0, jasno je da je za zadovoljavanje druge jednadbe u gornjem sustavu z s c c nuno uzeti 21 = 1, to znai da element a21 treba promijeniti u nulu. Znai da z imamo veliku promjenu elementa, a21 = a21 , tj. (A)22 = , pa je i 1 || A F > . A F 2 3|| Iz prethodnog primjera zakljuujemo da bez obzira na tonost koju koristimo c c u raunanju na raunalu, openito ne moemo garantirati da e izraunato rjeenje c c c z c c s x biti tono rjeenje sustava A = u kojem su A i nastali malim relativnim c s x b b perturbacijama koecijenata u A i b.

4.6.4.

Dodatak: Udaljenost matrice do skupa singularnih matrica

Neka je A n n regularna matrica. Pokuajmo joj nai najbliu singularnu s c z matricu, pri emu mjerimo u nekoj matrinoj normi . Neka je A+A singularna. c c 1 Iz A + A = A(I + A A) slijedi da je I + A1 A singularna. (I vie, A + A s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 201

i I + A1 A su istog ranga.) Tada je nuno A1 A 1. Naime, A1 A < 1 z povlai (zbog propozicije 4.6.1) da je I +A1 A regularna. Dakle, 1 A1 A c A1 A , pa je 1 A . A1 Time smo dokazali: Propozicija 4.6.2 Neka je A regularna matrica i proizvoljna matrina norma. c Tada je 1 AX inf . det(X)=0 A1 Ako odaberemo
n

2,

onda se koritenjem SVD dekompozicije matrice s

A, A =
i=1

T i ui vi moe pokazati da je nejednakost u gornjoj propoziciji zapravo z n1 T i ui vi . i=1

jednakost koja se postie za X = z

4.7.

Iterativne metode

U prethodnim odjeljcima vidjeli smo da rjeenje linearnog sustava Ax = b s openito ne moemo izraunati apsolutno tono. Takoder, u nekim primjenama niti c z c c tono rjeenje x = A1 b nije puno bolje od neke dovoljno dobre aproksimacije x, c s gdje obino x zadovoljava sustav (A + A) = b, blizak polaznom. Dakle, Gaussove c x eliminacije, koje su jednostavno konaan niz formula koje vode rjeenju sustava, ne c s garantiraju idealnu tonost. c Nadalje, u praksi moramo biti svjesni da je raunalo omeden ne samo u pic tanju numerike tonosti nego i u jo dva vana aspekta: raspoloivom memoric c s z z jskom prostoru i vremenu izvravanja. Moderne primjene matematike zahtijevaju s rjeenja sustava velikih dimenzija, npr. n > 105 . Lako se uvjeriti da je u takvim s primjerima proces Gaussovih eliminacija esto praktino neupotrebljiv. Jer, mac c trica dimenzije n = 105 zahtijeva n2 = 1010 lokacija u memoriji, svaka barem 4 bajta (veliina reprezentacije realnog broja u jednostrukoj preciznosti). Dakle, c mogue je da samo spremanje matrice koecijenata u memoriju raunala predc c stavalja potekou ponekad matricu drimo na vanjskoj, sporoj memoriji (datoteka s c z na disku) i onda moemo dijelove matrice uitavati dio po dio u radnu memoriju. z c Kako u takvim uvjetima implementirati Gaussove eliminacije? U puno vanih primjena matrica sustava A je velike dimenzije, ali je rijetko z popunjena. To znai da je velika veina elemenata od A jednaka nuli, a elementi c c koji nisu nula obino su pravilno rasporedni po matrici ili ak imaju i pravilno c c c rasporedene numerike vrijednosti. Na primjer, matrica iz primjera 4.2.2 ima broj 2

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 202

na dijagonali i 1 na dvije sporedne dijagonale, a ostali elementi su nule. To znai da c n za takvu matricu A raunanje produkta Av, gdje je v R , zahtijeva 3n mnoenja c z i 2n zbrajanja ukupno 5n operacija. (Ako A nema strukturu, onda openito c s raunanje Av zahtijeva 2n2 n operacija.) Jo jedan primjer rijetko popunjene c matrice je dan na slici 4.7.1. Ponovo uoavamo da je u svakom retku broj elemenata c koji nisu nula unaprijed poznat (kao i pozicije gdje se ti elementi nalaze) i da je broj takvih elemenata puno manji od dimenzije n. To znai da je raunanje produkta c c Av sloenosti puno manje od 2n2 n. z

Slika 4.7.1 Rijetko popunjena matrica. Tokice pokazuju pozicije elemenata u mac trici koji su razliiti od nule. c Ponekad je matrica A velike dimenzije i gusto popunjena (svi ili velika veina c elemenata je razliita od nule), tako da jednostavno ne moe stati u memoriju c z raunala. Najbolje to moemo je uitavanje dijelova matrice iz vanjske u radnu c s z c memoriju. Ponekad je poznat nain kako su generirani elementi matrice (npr. pozc nato da je aij = fij ( ), gdje su fij ( ) poznate funkcije nekih parametara) pa uvijek moemo generirati dijelove matrice. Mogue je i da je u konkretnoj aplikaciji z c jedino zadano kako A djeluje kao linearni operator postoji potprogram koji za zadani v rauna Av. Ako je to jedini nain kako doi do matrice A, kako onda c c c rijeiti Ax = b? s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 203

Prethodna diskusija nas motivira da potraimo i drugaije pristupe za rjeavaz c s nje linearnog sustava Ax = b. Primijetimo da ne moramo nuno teiti pronalaenju z z z egzaktnog rjeenja umjesto toga elimo dovoljno dobru aproksimaciju x. Zato s z ima smisla pokuati konstruirati niz x(0) , x(1) , . . . , x(k) , . . . vektora iz Rn sa sljedeim s c svojstvima: (i ) za svaki k formula za raunanje x(k) je jednostavna; c z c (ii ) x(k) tei prema x = A1 b i za neki k (obino k aproksimacija za x. n) je x(k) prihvatljiva

Nabrojana svojstva su za sada namjerno dana u nepreciznoj, ali lako razumljivoj formi. Detalji, koji ovise o konkretnom problemu i o konkretnom nainu konstruc (k) iranja niza (x ), bit e dani malo kasnije. c

4.7.1.

Jacobijeva i GaussSeidelova metoda

Jacobijeva i GaussSeidelova metoda pripadaju klasinim i najjednostavnijim c iterativnim metodama za rjeavanje linearnih sustava. Ideju Jacobijeve metode s ilustrirat emo na primjeru 2 2 sustava c a11 x1 + a12 x2 = b1 , a21 x1 + a22 x2 = b2 a11 = 0, a22 = 0.

Uoimo da rjeenje x = [ x1 , x2 ]T zadovoljava c s 1 (b1 a12 x2 ) a11 1 x2 = (b2 a21 x1 ). a22 x1 = Te relacije motiviraju da neku priblinu vrijednost rjeenja x(0) = x(0) , x(0) z s 1 2 rigiramo pomou formula c x1 =
(1) x2 (1) T

ko-

1 (0) (b1 a12 x2 ) a11 1 (0) = (b2 a21 x1 ). a22


T

(4.7.1)

Nadamo se da je x(1) = x(1) , x(1) bolja aproksimacija nego to je to x(0) . Na isti s 1 2 c nain moemo iskoristiti x(1) da dobijemo sljedeu aproksimaciju, x(2) , zatim x(3) , c z itd. Pitanje je, naravno, pod kojim uvjetima te iteracije tee prema rjeenju x. z s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 204

Prije same analize, zgodno je uoiti strukturu raunanja vektora x(k+1) pomou c c c (k) x . Primijetimo da vrijedi 1 0 (k+1) (k) b1 0 a12 x1 x1 = a11 + . (k+1) (k) 1 b2 a21 0 x2 x2 0 a22 Dakle, ako stavimo A = D N, D= a11 0 0 , a22 N= 0 a21 a12 , 0 (4.7.2)

onda moemo jednostavno pisati z x(k+1) = D 1 (b + Nx(k) ) = D 1 Nx(k) + D 1 b. Relacijom (4.7.3) denirana je Jacobijeva iterativna metoda. Pokuajmo ovaj proces ilustrirati na jednom primjeru. Zbog jednostavnosti s primjer je dimenzije 2 2 tako da svatko moe lako slijediti raun. z c Primjer 4.7.1 Neka je A= 2 0.1 0.1 , 2 b= 19.9 , 3 x = A1 b = 10 . 1 (4.7.3)

Matricu A napiimo kao u relaciji (4.7.2). Za poetnu iteraciju uzmimo vektor s c 1 0 19.9 9.949999999999999 = . x(0) = D 1 b = 2 1 3 1.5 0 2 Primijetimo da u poetnoj iteraciji pokuavamo pogoditi rjeenje. Ponekad je c s s dovoljno uzeti sluajno odabran vektor. Ipak, poeljno je da je polazna iteracija c z to je mogue blie cilju. Na izbor je bio rezultat jednostavne ideje: matricu A s c z s aproksimiramo s D (jer su dijagonalni elementi vei od izvandijagonalnih), pa A1 b c 1 aproksimiramo s D b. Naravno da je ovo gruba aproksimacija, ali ipak ima smisla. Sada iteriramo kao u relaciji (4.7.3) i dobijemo x(1) = x(2) = x(3) = x(4) = x(5) = 1.002500000000000e+001 , 1.002500000000000e+000 1.000012500000000e+001 , 9.987500000000000e001 9.999937500000000e+000 , 9.999937500000000e001 9.999999687499999e+000 , 1.000003125000000e+000 1.000000015625000e+001 . 1.000000015625000e+000

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 205

Ako izraunamo relativne greke c s


0 1 2 3 4 5

= x x(k)

onda je

= 5.000000000000000e001 = 2.499999999999858e002 = 1.249999999999973e003 = 6.250000000029843e005 = 3.125000000103739e006 = 1.562499996055067e007.

Koritenjem (4.7.3) i relacije s b = Ax = (D N)x, lako izraunamo ponaanje pogreke e(k) = x(k) x. Vrijedi c s s e(k+1) = x(k+1) x = D 1 N(x(k) x) = D 1 Ne(k) . (4.7.4)

Primijetimo da izvedene relacije (4.7.2), (4.7.3), (4.7.4) vrijede za proizvoljni n 2, gdje je A = D N, Sada iz (4.7.4) slijedi e(k) = D 1 Ne(k1) = (D 1 N)2 e(k2) = (D 1 N)k e(0) , (4.7.5)
n

D = diag(a11 , . . . , ann ),
i=1

aii = 0.

gdje je e(0) = x(0) x pogreka prve iteracije x(0) . Uzimanjem proizvoljne vektorske s norme i odgovarajue matrine norme, dobivamo c c e(k) (D 1 N)k e(0) D 1 N
k

e(0) .

(4.7.6)

Iz relacije (4.7.6) zakljuujemo da e e(k) teiti nuli za svaki poetni x(0) ako matrice c c z c 1 k 1 (D N) tee nuli za k . Na primjer, ako je D N < 1, onda svakako z 1 k s D N 0 za k . Vidimo i da je nakon k-tog koraka greka e(k) barem s c D 1 N k puta manja od polazne e(0) . Zapiimo ove zakljuke u obliku propozicije. Propozicija 4.7.1 Ako je u rastavu A = D N u nekoj matrinoj normi ispunjeno c D 1 N < 1, onda za svaku poetnu iteraciju x(0) niz c x(k+1) = D 1 (b + Nx(k) ), konvergira rjeenju x sustava Ax = b. s k = 0, 1, 2, . . . (4.7.7)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 206

Propozicija 4.7.2 Ako je matrica A dijagonalno dominantna u smislu da je |aii | >


n
j=1

|aij |,

i = 1, . . . , n,

j=i

onda niz generiran Jacobijevom metodom s proizvoljnim x(0) konvergira prema rjeenju sustava Ax = b. s Dokaz. Lako je pokazati da je D 1 N

< 1.
(1) (1)

Primijetimo da smo u relacijama (4.7.1) x1 i x2 raunali neovisno, pomou c c (0) (0) x1 i x2 . Ako paljivije promotrimo formule (4.7.1), vidimo da bi imalo smisla u z (1) (0) formuli za x2 umjesto x1 koristiti novu, upravo izraunatu (i vjerojatno bolju) c (1) (k+1) c modiciramo tako da u svakoj kompovrijednost x1 . Openito, formulu za x nenti koristimo najsvjeije izraunate vrijednosti. Na primjer, u sluaju n = 4 imali z c c bismo 1 (k+1) (k) (k) (k) = (b1 a12 x2 a13 x3 a14 x4 ), x1 a11 1 (k+1) (k+1) (k) (k) x2 = (b2 a21 x1 a23 x3 a24 x4 ), a22 (4.7.8) 1 (k+1) (k+1) (k+1) (k) x3 = (b3 a31 x1 a32 x2 a34 x4 ), a33 1 (k+1) (k+1) (k+1) (k+1) x4 = (b4 a41 x1 a42 x2 a43 x3 ). a44 Jasno je da je u openitom sluaju c c xi
(k+1)

i1 n 1 (k+1) (k) bi aij xj aij xj , aii j=1 j=i+1

i = 1, . . . , n.

(4.7.9)

Gornje formule deniraju GaussSeidelovu iterativnu metodu. Da bismo bolje shvatili strukturu izvedenih formula, vratimo se primjeru n = 4. Uoimo da je u relaciji (4.7.8) c 0 a12 0 0 0 0 0 0

a13 a23 0 0

(k) (k) (k) x1 a12 x2 a13 x3 a14 x4 a14 (k) (k) (k) a24 x2 a23 x3 a24 x4 = , (k) (k) a34 x3 a34 x4 (k) 0 0 x4

(k)

te da je vektor x(k+1) zapravo rjeenje donjetrokutastog sustava s a11 a 21 a31 a41 0 a22 a32 a42 0 0 a33 a43
(k) (k) (k) x1 a12 x2 a13 x3 a14 x4 0 (k+1) (k) (k) 0 x2 a23 x3 a24 x4 = . (k+1) (k) 0 x3 a34 x4 (k+1) a44 0 x4

(k+1)

(4.7.10)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 207

Stavimo

a11 a L = 21 a31 a41

0 a22 a32 a42

0 0 a33 a43

0 0 , 0 a44

0 a12 0 0 U = 0 0 0 0

a13 a23 0 0

a14 a24 . a34 0

(4.7.11)

Vrijedi A = L U i, uz uvjet regularnosti matrice L, GaussSeidelovu metodu moemo zapisati kao z x(k+1) = L1 (b + Ux(k) ), k = 1, 2, . . . (4.7.12)

Kao i u analizi Jacobijeve metode, dobivamo da je e(k) = (L1 U)k e(0) , k = 1, 2, . . . (4.7.13)

Propozicija 4.7.3 Ako je A simetrina i pozitivno denitna matrica, onda niz c generiran GaussSeidelovom metodom s proizvoljnim poetnim x(0) konvergira prec ma rjeenju sustava Ax = b. s I Jacobijeva i GaussSeidelova metoda generirane su istom shemom: Matrica A je napisana u obliku A = M S, gdje je M regularna matrica, a iteracije su dane s x(k+1) = M 1 (b + Sx(k) ), k = 1, 2, . . . (4.7.14) Pri tome je matrica M odabrana tako da ju je lako invertirati, tj. da je lako rijeiti s sustav Mx(k+1) = b + Sx(k) . U Jacobijevoj metodi je M = D dijagonalna, a u GaussSeidelovoj M = L je donjetrokutasta matrica. Konvergencija prema rjeenju sustava Ax = b je osigurana s ako je M 1 N < 1 za neku matrinu normu . c

4.8.

Matematiki software za problem Ax = b c

U ovom poglavlju opisujemo BLAS i LAPACK, dvije trenutno najpopularnije biblioteke programa za rjeavanje problema numerike linearne algebre. Biblioteka s c BLAS (Basic Linear Algebra Subroutines, osnovni potprogrami za linearnu algebru) sadri potprograme za elementarne operacije s vektorima i matricama, dok je LAz PACK opsena biblioteka sa gotovim rjeavaima za probleme kao to su linearni z s c s sustavi jednadbi, problemi najmanjih kvadrata, problemi svojstvenih i singularnih z vrijednosti za matrice i matrine parove. U LAPACK-u su sve elementarne operacije c nad matricama i vektorima izvedene pomou poziva biblioteke BLAS. c Obje biblioteke dostupne preko Interneta. Na adresi http://www.netlib.org mogu se nai implementacije u programskim jezicima FORTRAN i C. c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 208

Cilj ovog odjeljka nije detaljan opis tih biblioteka. Umjesto toga elimo itaz c telju dati osnovnu informaciju i uputiti ga na izvore informacija. Za potrebe ove knjige smo skupili neke bilbioteke programa, tako da ih itatelj moe lako kopirati c z na svoje raunalo i koristiti. c

4.8.1.

Pregled biblioteke BLAS

Biblioteka BLAS je nastala iz potrebe da se elementarne operacije u linearnoj algebri na neki nain standardiziraju. Korist od takvog standardiziranja je c viestruka. Kao prvo, programiranje kompliciranih algoritama je pojednostavljeno: s pri proraunu konstrukcije tankera ne treba troiti vrijeme oko detalja kao to je c s s npr. duljina vektora ili produkt dvije matrice. Nadalje, i najsloeniji prorauni z c su sastavljeni od takvih elementarnih operacija, pa je poeljno da su elementarne z operacije implementirane na najekasniji mogui nain. c c Optimalna implementacija algoritma kao to je na primjer mnoenje dvije s z matrice nije uvijek jednostavan posao. Za optimalni rezultat je potrebno poznavati detalje grade i funkcioniranja pojedinog raunala. Sve to zahtijeva dodatne napore c to onda poskupljuje izradu programa. Osim toga, prelaskom na drugo raunalo se s c mijenjaju parametri optimalne implementacije i postupak treba ponoviti. Time je i odravanje dobrog, ekasnog programa skupo. z Cinilo se razumnim odabrati jedan, ne preveliki, skup operacija koji je pak dovoljno velik da se iz njega moe izvesti veina ostalih operacija. Za odabrane z c operacije se speciciraju procedure i to (i ) imenom; (ii ) listom ulaznih parametara, (iii ) listom izlaznih vrijednosti. Takodjer, zahtijeva se da su operacije implementirane za sve tipove brojeva koje koristi raunalo. Kako je BLAS povijesno vezan za programski jezik FORTRAN, ti c tipovi su REAL, DOUBLE PRECISION, COMPLEX i DOUBLE COMPLEX. U nekim operacijama, kao, na primjer, pri traenju komponente vektora s najveom z c apsolutnom vrijednou, rezultat je cjelobrojan (INTEGER). Zbog preglednosti, sc uzeto je da je prvo slovo imena procedure oznaka tipa. Tako imena koja poinju c sa I oznaavaju cjelobrojni tip (INTEGER), S oznaava jednostruku preciznost c c (SINGLE), D oznaava dvostruku preciznost (DOUBLE), C oznaava kompleksni c c tip (COMPLEX), a Z oznaava kompleksni tip u dvostrukoj preciznosti. (Implec mentacija BLAS-a u jeziku C ima slinu strukturu, gdje je hijerarhija tipova ona iz c C-a.) Na ovaj nain je pojednostavljeno programiranje, a optimizacija implementac cije je svedena na mali skup standardiziranih procedura. Implementacija odabranih

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 209

procedura se onda moe prepustiti strunjacima za software. Trina utakmica z c zs izmedu proizvodaa raunala je dovela do toga da proizvodai nude tvorniki opc c c c timirane verzije BLAS biblioteke za svoja raunala1 . Takve implementacije imaju c vrijeme izvravanja znatno krae od naivne implementacije. s c Operacije s vektorima: BLAS 1 Zbog jednostavnosti, u ovoj toki je s (n, X, kx) zadan vektor x tipa REAL. c To znai da su elementi vektora x na pozicijama X(1 + (i 1)kx), i = 1, . . . , n. c Parametar kx je korak (engleski termin je stride) i njegovo koritenje je vezano za s nain spremanja vektora u memoriji raunala. c c Slino je s (n, DX, kx) zadan vektor tipa DOUBLE PRECISION, s (n, CX, kx) c vektor tipa COMPLEX i s (n, ZX, kx) vektor tipa DOUBLE COMPLEX. Dat emo kratak pregled osnovnih operacija u paketu BLAS 1. Kako su i c izvorni kod i dokumentacija dostupni preko Interneta, neemo ulaziti u sve detalje, c niti emo dati pregled cijelog paketa. U skupini operacija sa vektorima izdvajamo: c
SCOPY kopira vektor x u vektor y. Deklarirana je sa SUBROUTINE SCOPY (n, X, kx, Y, ky). Varijante su: DCOPY (n, DX, kx, DY, ky), CCOPY (n, CX, kx, CY, ky), ZCOPY (n, ZX, kx, ZY, ky). SSWAP razmjenjuje sadaj vektora x i y. z Deklarirana je sa SUBROUTINE SSWAP (n, X, kx, Y, ky). Varijante su: DSWAP (n, DX, kx, DY, ky), CSWAP (n, CX, kx, CY, ky), ZSWAP (n, ZX, kx, ZY, ky). ISAMAX rauna najmanji indeks i za koji je |xi | = max |xj |. c
1jn

Deklarirana je s INTEGER FUNCTION Varijante su: INTEGER FUNCTION INTEGER FUNCTION INTEGER FUNCTION
1

ISAMAX (n, X, kx). IDAMAX (n, DX, kx), ICAMAX (n, CX, kx), IZAMAX (n, ZX, kx).

Naravno, ne besplatno. Obino se takve biblioteke kupuju zajedno sa ostalom programskom c podrkom. s

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 210

SNRM2 rauna euklidsku duljinu x 2 vektora x = (n, X, kx) tipa REAL. c Deklarirana je s REAL FUNCTION SNRM2 (n, X, kx). Varijante su: DOUBLE PRECISION FUNCTION DNRM2 (n, DX, kx), REAL FUNCTION SCNRM2 (n, CX, kx), DOUBLE PRECISION FUNCTION DZNRM2 (n, ZX, kx). SASUM rauna 1 normu x 1 = |x1 | + + |xn |. c Deklarirana je s REAL FUNCTION SASUM (n, X, kx). Varijante su: DOUBLE PRECISION FUNCTION DASUM (n, DX, kx), REAL FUNCTION SCASUM (n, CX, kx), DOUBLE PRECISION FUNCTION DZASUM (n, ZX, kx). SSCAL rauna ax, gdje je a skalar istog tipa kao i vektor x. Rezultat je u vektoru x. c Deklarirana je sa SUBROUTINE SSCAL (n, SA, SX, kx). Varijante su: DSCAL (n, DA, DX, kx), CSCAL (n, CA, CX, kx), ZSCAL (n, ZA, ZX, kx). SDOT rauna skalarni produkt (x, y) = y x vektora x i y. c Deklarirana je s REAL FUNCTION SDOT (n, X, kx, Y, ky). Varijante su: DOUBLE PRECISION FUNCTION DDOT (n, DX, kx, DY, ky), xi yi ), COMPLEX FUNCTION CDOTC (n, CX, kx, CY, ky) (rauna c
i

COMPLEX FUNCTION CDOTU (n, CX, kx, CY, ky) (rauna c


i

xi yi ),

DOUBLE COMPLEX FUNCTION ZDOTC (n, ZX, kx, ZY, ky) i DOUBLE COMPLEX FUNCTION ZDOTU (n, ZX, kx, ZY, ky). SROT primijenjuje ravninsku rotaciju na vektore x i y. Preciznije, matrica [x y] je zamijenjena s [c x + s y, c y s x]. Procedura je deklarirana sa SUBROUTINE SROT (n, X, kx, Y, ky, C, S). Varijante su: DROT (n, DX, kx, DY, ky, DC, DS), CSROT (n, CX, kx, CY, ky, C, S), ZDROT (n, ZX, kx, ZY, ky, DC, DS).

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 211

SROTG rauna Givensovu ravninsku rotaciju. c Deklarirana je sa SUBROUTINE SROTG (A, B, C, S). Izlazni parametri C i S su izraunati tako da je c C S A A2 + B 2 = . 0 S C B Ulazna vrijednost A je na izlazu zamijenjena s A2 + B 2 , a B sa S, ako je A > B, odnosno s 1/C ako je C = 0 i A B. Varijante ove procedure su: DROTG (DA, DB, DC, DS), CROTG (CA, CB, C, CS), ZROTG (ZA, ZB, DC, ZS). SROTMG rauna modiciranu Givensovu rotaciju. c SROTM primijenjuje modiciranu Givensovu rotaciju.

Matrice i vektori: BLAS 2 Na drugom nivou biblioteke BLAS su operacije sa matricama i vektorima. Kako je cijela biblioteka dostupna online, mi emo ovdje spomenuti samo tri c procedure. Slovo x na poetku imena procedure stoji za S, D, C, ili Z. c xGEMV rauna izraz oblika c y := Ax + y, ili y := AT x + y,

gdje su i skalari, A je m n matrica, a x i y su vektori odgovarajuih c dimenzija. xTRMV rauna produkt y = Ax ili y = AT x, gdje je A n n gornje ili c donjetrokutasta matrica s openitom ili jedininom dijagonalom. c c xTRSV rjeava linearne sustave s Ax = b, ili AT x = b,

gdje je A gornje ili donjetrokutasta matrica s openitom ili jedininom dijac c gonalom, a b je vektor odgovarajue dimenzije. c Cak i iz ovakvo kratkog prikaza moe se vidjeti s koliko panje je dizajnirana z z funkcionalnost procedura. Odabir pojedine varijante je omoguen podeavanjem c s ulaznih parametara. Posebno su napisane procedure za matrice sa specijalnom strukturom kao npr. simetrine i vrpaste matrice. Za sve detalje itatelja upuujec c c c mo na izvor http://www.netlib.org/blas.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 212

Operacije s matricama: BLAS 3 Trei nivo elementarnih operacija biblioteke BLAS implementira matrine opec c racije. Tek za ilustraciju funkcionalnosti procedura treeg nivoa, opiimo tri najosc s novnije. xGEMM rauna izraz oblika c C := f (A)g(B) + C, gdje su i skalari, A, B, C matrice, f (A) {A, AT }, g(B) {B, B T }, pri emu su dimenzije matrica takve da je izraz dobro deniran. c xTRMM rauna c B := f (A)B, ili B := Bf (A),

gdje je skalar, A i B su matrice, pri emu je A gornje ili donjetrokutasta s c openitom ili jedininom dijagonalom, te f (A) {A, AT }. c c xTRSM rjeava po X jednadbe s z f (A)X = B, ili Xf (A) = B, gdje je A gornje ili donjetrokutasta regularna matrica sa openitom ili jec T dininom dijagonalom, f (A) {A, A }, B i X su matrice odgovarajuih c c dimenzija. Ostale procedure i kompletna dokumentacija mogu se nai na Internetu, na c adresi http://www.netlib.org.

4.8.2.

Pregled biblioteke LAPACK

LAPACK je kratica za Linear Algebra PACKage, paket (programa) za linearnu algebru. Osnovne znaajke LAPACKa su: c 1. Opsenost. LAPACK sadri preko 1000 potprograma s algoritmima za rjez z avanje problema linearne algebre. Spomenimo da su na listi algoritmi za s rjeavanje linearnih sustava (s pripadnim algoritmima za raunanje LU faktoris c zacije, faktorizacije Choleskog, simetrine indenitne faktorizacije), rjeavanje c s problema najmanjih kvadrata (s pripadnim algoritmima za raunanje QR fakc torizacije, generalizirane QR faktorizacije), rjeavanje problema svojstvenih s vrijednosti (simetrini problem, nesimetrini problem, generalizirani problec c mi za matrine parove), raunanje obine i generalizirane dekompozicije sinc c c gularnih vrijednosti, rjeavanje matrinih jednadbi (npr. Sylvesterove jeds c z nadbe). Sve procedure su implementirane i za realne i za kompleksne tipove z podataka. Posebni algoritmi su ponudjeni za specijalne tipove matrica kao to s su npr. vrpaste matrice. c

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 213

2. Numerika pouzdanost. U LAPACK-u se posebna panja posveuje numeric z c c koj stabilnosti. Uz dosta algoritama ponudjene su procedure za ocjenu greke s u izraunatim rezultatima. Dani su teorijski okviri u kojima je ocjenjena c stabilnost algoritama, tako da korisnik moe dobiti dodatne informacije i o z rezultatima ali i o svom matematikom modelu. (Numerika nestabilnost moe c c z biti znak greke u modelu.) s 3. Prenosivost i ekasnost na raznim raunalima. Ekasnost biblioteke LAPACK c je postignuta oslanjanjem na biblioteku BLAS. Drugim rijeima, ako imamo c BLAS optimiran za konkretno raunalo, onda e LAPACK dobro iskoristiti c c resurse tog raunala. Prenosivost je osigurana strogim pridravanjem stanc z darda konkretnog programskog jezika (FORTRAN ili C). 4. Dobra dokumentiranost i jednostavno koritenje. Sve su procedure detaljno s dokumentirane na jednoobrazan i unaprijed deniran nain. Matematiki c c detalji, kao i detalji implementacije su detaljno opisani u seriji tehnikih c izvjetaja (LAPACK Working Notes) koji su dostupni preko Interneta. Obs javljen je i prirunik [1]. c 5. Neprestano usavravanje. Istraivai koji sudjeluju u projektu LAPACK dolas z c ze iz cijelog svijeta i neprestano rade na pronalaenju novih, boljih algoritama z koji nakon strogih provjera postaju dijelovi LAPACK-a, bilo kao nove procedure, bilo kao zamjena za ve postojee. U vrijeme pisanja ovih redaka, u c c uporabi je LAPACK, verzija 3.0. 6. Kompletan izvorni kod je dostupan preko Interneta, zajedno s MAKE datotekama koje same izvravaju proces instaliranja. Za neka raunala postoji s c gotova biblioteka koju samo treba kopirati koristei FTP. c

4.8.3.

Rjeavanje linearnih sustava pomou LAPACK-a s c

Kako smo vidjeli u prethodnim odjeljcima, rjeavanje linearnog sustava jeds nadbi ima tri faze: LU faktorizacija, rjeavanje donjetrokutastog i rjeavanje gornz s s jetrokutastog sustava jednadbi. Pogledajmo kako je to napravljeno u LAPACK-u. z Zbog jednostavnosti, opisujemo procedure u jednostrukoj preciznosti. Dat emo i c dijelove izvornog koda, kao ilustraciju dobre prakse programiranja kako strukture programa tako i dokumentiranosti. Naravno, cijeli kod je dostupan online. Trokutastu faktorizaciju raunamo procedurom SGETRF. Pogledajmo opis c parametara te procedure, kako je napisano u izvornom kodu:
SUBROUTINE SGETRF( M, N, A, LDA, IPIV, INFO ) * * * -- LAPACK routine (version 3.0) -Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 214

* * * * * *

Courant Institute, Argonne National Lab, and Rice University March 31, 1993 .. Scalar Arguments .. INTEGER INFO, LDA, M, N .. .. Array Arguments .. INTEGER IPIV( * ) REAL A( LDA, * ) .. Purpose ======= SGETRF computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchanges. The factorization has the form A = P * L * U where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n). This is the right-looking Level 3 BLAS version of the algorithm. Arguments ========= M (input) INTEGER The number of rows of the matrix A.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

M >= 0.

(input) INTEGER The number of columns of the matrix A.

N >= 0.

(input/output) REAL array, dimension (LDA,N) On entry, the M-by-N matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored. (input) INTEGER The leading dimension of the array A.

LDA

LDA >= max(1,M).

IPIV

(output) INTEGER array, dimension (min(M,N)) The pivot indices; for 1 <= i <= min(M,N), row i of the matrix was interchanged with row IPIV(i).

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 215

* * * * * * * * * *

INFO

(output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.

=====================================================================

Dobro dokumentiranim programima ne treba dodatni komentar! Rjeavanje trokutastih sustava s matricama L i U izvrava procedure SGETRS s s u kojoj se poziva procedura za rjeavanje trokutastih sustava i to sa jednom ili vie s s desnih strana. Evo kako izgleda poetak procedure SGETRS. c
SUBROUTINE SGETRS( TRANS, N, NRHS, A, LDA, IPIV, B, LDB, INFO ) * * * * * * * -- LAPACK routine (version 3.0) -Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993 .. Scalar Arguments .. CHARACTER TRANS INTEGER INFO, LDA, LDB, N, NRHS .. .. Array Arguments .. INTEGER IPIV( * ) REAL A( LDA, * ), B( LDB, * ) .. Purpose ======= SGETRS solves a system of linear equations A * X = B or A * X = B with a general N-by-N matrix A using the LU factorization computed by SGETRF. Arguments ========= TRANS (input) CHARACTER*1 Specifies the form of the system of equations:

* *

* * * * * * * * * * * * * * *

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 216

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

= N: = T: = C: N

A * X = B A* X = B A* X = B

(No transpose) (Transpose) (Conjugate transpose = Transpose)

(input) INTEGER The order of the matrix A.

N >= 0.

NRHS

(input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. (input) REAL array, dimension (LDA,N) The factors L and U from the factorization A = P*L*U as computed by SGETRF. (input) INTEGER The leading dimension of the array A.

LDA

LDA >= max(1,N).

IPIV

(input) INTEGER array, dimension (N) The pivot indices from SGETRF; for 1<=i<=N, row i of the matrix was interchanged with row IPIV(i). (input/output) REAL array, dimension (LDB,NRHS) On entry, the right hand side matrix B. On exit, the solution matrix X. (input) INTEGER The leading dimension of the array B.

LDB

LDB >= max(1,N).

INFO

(output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value

=====================================================================

I konano, prethodne dvije procedure su integrirane u rjeava sustava Ax = b, c s c odnosno AX = B ako imamo vie desnih strana (matrica B umjesto vektora b). s
SUBROUTINE SGESV( N, NRHS, A, LDA, IPIV, B, LDB, INFO ) * * * * * * -- LAPACK driver routine (version 3.0) -Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University March 31, 1993

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 217

* * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

.. Scalar Arguments .. INTEGER INFO, LDA, LDB, N, NRHS .. .. Array Arguments .. INTEGER IPIV( * ) REAL A( LDA, * ), B( LDB, * ) .. Purpose ======= SGESV computes the solution to a real system of linear equations A * X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The LU decomposition with partial pivoting and row interchanges is used to factor A as A = P * L * U, where P is a permutation matrix, L is unit lower triangular, and U is upper triangular. The factored form of A is then used to solve the system of equations A * X = B. Arguments ========= N (input) INTEGER The number of linear equations, i.e., the order of the matrix A. N >= 0. (input) INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. (input/output) REAL array, dimension (LDA,N) On entry, the N-by-N coefficient matrix A. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored. (input) INTEGER The leading dimension of the array A.

NRHS

LDA

LDA >= max(1,N).

IPIV

(output) INTEGER array, dimension (N) The pivot indices that define the permutation matrix P; row i of the matrix was interchanged with row IPIV(i).

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 218

* * * * * * * * * * * * * * * * * * * * * * * *

(input/output) REAL array, dimension (LDB,NRHS) On entry, the N-by-NRHS matrix of right hand side matrix B. On exit, if INFO = 0, the N-by-NRHS solution matrix X. (input) INTEGER The leading dimension of the array B.

LDB

LDB >= max(1,N).

INFO

(output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, so the solution could not be computed.

===================================================================== .. External Subroutines .. EXTERNAL SGETRF, SGETRS, XERBLA .. .. Intrinsic Functions .. INTRINSIC MAX .. .. Executable Statements .. Test the input parameters. INFO = 0 IF( N.LT.0 ) THEN INFO = -1 ELSE IF( NRHS.LT.0 ) THEN INFO = -2 ELSE IF( LDA.LT.MAX( 1, N ) ) THEN INFO = -4 ELSE IF( LDB.LT.MAX( 1, N ) ) THEN INFO = -7 END IF IF( INFO.NE.0 ) THEN CALL XERBLA( SGESV , -INFO ) RETURN END IF

* * *

Compute the LU factorization of A. CALL SGETRF( N, N, A, LDA, IPIV, INFO ) IF( INFO.EQ.0 ) THEN

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 219

* * *

Solve the system A*X = B, overwriting B with X. CALL SGETRS( No transpose, N, NRHS, A, LDA, IPIV, B, LDB, $ INFO ) END IF RETURN

* * *

End of SGESV END

Na kraju, napomenimo da u LAPACK-u postoje procedure za sustave sa specijalnom strukturom (simetrine, pozitivno denitne, tridijagonalne, vrpaste itd.). c c Vie detalja moe se nai na adresi http://www.netlib.org/lapack. s z c

5. RACUNANJE VLASTITIH VRIJEDNOSTI I VLASTITIH VEKTORA

EIGEN 220

5. Raunanje vlastitih c vrijednosti i vlastitih vektora


Ovaj bi tekst trebao napisati Ivan Slapniar. c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 221

6. Izvrednjavanje funkcija
Jedan od osnovnih zadataka koji se javlja u numerikoj matematici je izrauc c navanje vrijednosti funkcije u nekoj toki ili na nekom skupu toaka (tzv. izvredc c njavanje funkcije). Zato ba to? s s Ekasno moemo raunati samo one funkcije za koje imamo dobar algoritam z c za izvrednjavanje. Pri tome moramo voditi rauna o tome da aritmetika raunala c c stvarno podrava samo etiri osnovne aritmetike operacije, pa samo njih moemo z c c z koristiti u algoritmima. Koritenje ostalih funkcija (recimo trigonometrijskih, logas ritamskih ili eksponencijalnih) ovisi o kvaliteti aproksimacije upotrijebljene u odgovarajuem programskom jeziku, ili odgovarajuem sklopu u raunalu. Osim toga, i c c c kada upotrebljavamo samo etiri osnovne operacije, raunanje nije egzaktno, ve u c c c svakoj operaciji imamo greke zaokruivanja. Zbog toga, pri konstrukciji algoritama s z imamo dva cilja uvjeta: ekasnost ili brzina, tj. algoritam mora imati to manji broj aritmetikih ops c eracija; tonost, tj. algoritam mora biti stabilan (unaprijed ili unazad) na greke c s zaokruivanja. z Oba zahtjeva su posebno bitna kod izvrednjavanja, jer se ono obino puno puta c koristi, pa i mala lokalna ubrzanja daju velike ukupne utede u vremenu, a isto s vrijedi i za ukupni efekt greaka zaokruivanja. Openito, oekujemo da bri als z c c z goritam ima i manju greku, jer imamo manje operacija koje doprinose ukupnoj s pogreci. Medutim, ovo ne mora biti istina! U mnogim sluajevima moemo s c z drastino popraviti stabilnost algoritma tako rtvovanjem dijela ekasnosti, a katkad c z je dovoljno nai pametnu reformulaciju algoritma. c U ovom poglavlju vie panje emo posvetiti ekasnosti, a manje stabilnosti, s z c osim tamo gdje realno postoji nestabilnost. Cilj nam je konstruirati ekasne algoritme i opravdati njihovu ekasnost, a ne analizirati ili dokazivati njihovu stabilnost. U skladu s tim, potencijalne nestabilnosti obrzloit emo na primjerima. z c Neka je zadana funkcija f : D R, gdje je D R njena domena. Zadatak je izraunati vrijednost te funkcije f u zadanoj toki x0 D. Preciznije, moramo nai c c c c z s algoritam koji rauna f (x0 ). Naravno, toka x0 moe biti bilo koja i na algoritam c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 222

mora raditi za sve ulaze x0 D. Trenutno zanemarimo pitanje kako se zadaje funkcija f . Naime, ako je f ulaz u algoritam, onda f mora biti zadana s najvie konaano mnogo podataka (o f ) i s c ti podaci moraju jednoznano odrediti f . To je fundamentalno ogranienje i bitno c c smanjuje klasu funkcija kojima vrijednosti uope moemo algoritamski izraunati. c z c Odgovore na takva pitanja daje tzv. teorija izraunljivosti u okviru matematike c c logike i osnova matematike. U praksi se odmah nameu i bitno jaa ogranienja. Naime, ako imamo na c c c raspolaganju samo 4 osnovne aritmetike operacije, onda su racionalne funkcije c jedine funkcije f kojima moemo izraunati vrijednost u bilo kojoj toki x0 z c c D. Takve funkcije moemo jednoznano zadati konanim brojem parametara z c c na primjer, ponaanjem ondosno vrijednostima u konanom broju toaka (vidjeti s c c poglavlje o interpolaciji) ili koecijentima u nekom prikazu funkcije. Dakle, sigurno trebamo ekasne algoritme za raunanje vrijednosti racionalc nih funkcija. Ako se sjetimo da racionalnu funkciju moemo zapisati kao kvocijent z dva polinoma, onda je zgodno imati i algoritme za izvrednjavanje polinoma. Osim toga, polinomi su jo jednostavnije funkcije, pri njihovom izvrednjavanju nema dis jeljenja, a denirane su na su za sve realne (ili kompleksne) brojeve (nema problema s nultokama nazivnika), a imaju veliku teoretsku i praktinu primjenu. c c Strogo govorei, sve ostale funkcije moramo aproksimirati, polinomima ili c racionalnim funkcijama. U praksi moemo pretpostaviti da za neke osnovne matez matike funkcije f ve imamo dobre aproksimacije za priblino raunanje vrijednosti c c z c f (x0 ) u zadanoj toki x0 : c procesor raunala (hardware) ima ugradene aproksimacije i odgovarajue c c instrukcije za njihov poziv (izvravanje), ili s koristimo neki gotovi (pot)program (software) koji to radi. Za osnovne matematike funkcije kao to su: c s x (katkad i ope potencije x ), c trigonometrijske, eksponencijalne, hiperbolike i njima inverzne funkcije razvijeni su c dobri algoritmi za njihove aproksimacije. O tome kako se nalaze takve aproksimacije bit e opirnije govora u poglavlju o aproksimacijama. c s Bez obzira na realizaciju, u oba sluaja je bitno samo to da ih moemo direktno c z koristiti u naim algoritmima i da znamo da izraunata vrijednost traene funkcije s c z f u zadanoj toki x0 ima malu relativnu greku u odnosu na preciznost konane c s c aritmetike (tzv. tonost raunanja). Drugim rijeima, moemo pretpostaviti da za c c c z f (f (x0 )) vrijede iste ili sline ocjene kao i za osnovne aritmetike operacije (vidi c c odjeljke 3.3.6.) i 3.4.1.). Reklo bi se da je ovdje sve rijeeno. Medutim, nije ba tako. Raunanje f (x0 ), s s c u principu, traje dulje, a katkad i puno dulje, nego to je trajanje jedne osnovne s

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 223

aritmetike operacije (ak i ako sve etiri operacije nemaju isto ili podjednako trac c c janje). Za osnovne funkcije, trajanje moe biti 10 pa i vie puta dulje od trajanja z s jedna aritmetike operacije. Zbog toga ponekad izbjegavamo puno poziva takvih c funkcija, pogotovo ako se to moe razumno izbjei, tj. ekasno i bez veeg gubitka z c c tonosti. c U mnogim sluajevima to se moe napraviti i u ovom poglavlju emo pokazati c z c neke ope algoritme tog tipa. Ideja je koritenje rekurzivnih relacija koje zadoc s voljavaju takve i sline, a za aproksimaciju vane funkcije. Na primjer, u teoriji c z aproksimacije obino se koriste ortogonalni sustavi funkcija za aproksimaciju, a c funkcije takvog sustava zadovoljavaju trolanu rekurziju. c

6.1.

Hornerova shema

Polinomi su najjednostavnije algebarske funkcije. Moemo ih denirati nad z bilo kojim prstenom R u obliku
n

p(x) =
i=0

ai xi ,

n N0 ,

gdje su ai R koecijenti iz tog prstena, a x je simbolika varijabla. Polinomi, c kao simboliki objekti, imaju algebarsku strukturu prstena. c Medutim, polinome moemo interpretirati i kao funkcije, koje moemo izvredz z s c njavati u svim tokama x0 prstena R, uvrtavanjem x0 umjesto simbolike varijable c x. Dobiveni rezultat p(x0 ) je opet u R. Zanimaju nas ekasni algoritmi za raunanje c te vrijednosti. Sloenost oito ovisi o broju lanova u sumi. Da broj lanova ne bi bio umjetno z c c c prevelik, standardno uzimamo da je p = 0 i da je vodei koecijent an = 0, tako da c je n stupanj tog polinoma p. Kada elimo naglasiti stupanj, polinom oznaavamo s z c pn . Algoritmi koje emo napraviti u principu rade nad bilo kojim prstenom R, ali c neki rezultati o njihovoj sloenosti vrijede samo za beskonana neprebrojiva polja, z c poput R i C, to su ionako najvaniji primjeri u praksi. Zbog toga, u nastavku prets z postavljamo da radimo iskljuivo s polinomima nad R ili C. Lako je pokazati da za c svako n, skup svih polinoma nad R ili C stupnja ne veeg od n ine vektorski prostor c c nad R ili C koji je potprostor vektorskog prostora svih polinoma nad odgovarajuim c poljem R ili C. Polinom se obino zadaje stupnjem n i koecijentima a0 , . . . , an u nekoj bazi c vektorskog prostora polinoma stupnja ne veeg od n. Na poetku razmatranja c c koristimo standardnu bazu 1, x, x2 , . . . , xn , a kasnije emo algoritme modicirati i c za neke druge baze.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 224

Sloenost mjerimo brojem osnovnih aritmetikih operacija. Kad radimo s poliz c nomima nad R, broj operacija je korektna mjera, jer aritmetika raunala modelira c upravo te operacije. No, kad radimo s polinomima nad C, treba voditi rauna o c tome da se kompleksne aritmetike operacije realiziraju putem realnih, to znai da c s c tek broj realnih operacija daje pravu mjeru sloenosti. Ba zbog toga, u nekim komz s pleksnim algoritmima paljivim promatranjem realnih operacija moemo ostvariti z z znaajne utede. c s

6.1.1.

Raunanje vrijednosti polinoma u toki c c

Zadan je polinom stupnja n


n

pn (x) =
i=0

ai xi ,

an = 0

kojemu treba izraunati vrijednost u toki x0 . To se moe napraviti na vie naina. c c z s c Prvo, napravimo to direktno po zapisu, potencirajui. Krenemo li od nulte potencije c c x0 = 1, svaka sljedea potencija dobiva se rekurzivno xk = x xk1 . c s z Imamo li zapamen xk1 , lako je izraunati xk koritenjem samo jednog mnoenja. c Algoritam 6.1.1 (Vrijednost polinoma s pamenjem potencija) c sum := a0 ; pot := 1; for i := 1 to n do begin pot := pot x0 ; sum := sum + ai pot; end; { Na kraju je pn (x0 ) = sum. } Prebrojimo zbrajanja i mnoenja koja se javljaju u tom algoritmu. U unutarz njoj petlji javljaju se 2 mnoenja i 1 zbrajanje. Budui da se petlja izvrava n puta, z c s ukupno imamo 2n mnoenja + n zbrajanja. z Naravno, kad je polinom kompleksan, ove operacije su kompleksne. Izvrednjavanje polinoma u toki moe se izvesti i s manje mnoenja. Ako c z z polinom zapiemo u obliku s pn (x) = ( ((an x + an1 )x + an2 )x + + a1 )x + a0 .

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 225

Algoritam koji po prethodnoj relaciji izvrednjava polinom zove se Hornerova shema. Predloio ga je W. G. Horner, 1819. godine, ali slian zapis je koristio i Isaac z c Newton, jo 1669. godine. s Algoritam 6.1.2 (Hornerova shema) sum := an ; for i := n 1 downto 0 do sum := sum x0 + ai ; { Na kraju je pn (x0 ) = sum. } Odmah je oito da smo koritenjem ovog algoritma broj mnoenja prepolovili, c s z tj. da je njegova sloenost z n mnoenja + n zbrajanja. z

6.1.2.

Hornerova shema je optimalan algoritam

Bitno je napomenuti da je Hornerova shema ekasan algoritam za izvrednjavaje polinoma kojima je veina koecijenata razliita od nule. Na primjer, polic c nom p100 (x) = x100 + 1 besmisleno je izvrednjavati Hormerovom shemom, jer bi to predugo trajalo (binarno potenciranje je bre). Binarnim potenciranjem redom bismo potencirali bazom 2 za z dani x x x2 x4 x8 x16 x32 x64 , z i na kraju pomnoil x64 x32 x4 . Ukupno bismo imali 8 mnoenja i 1 zbrajanje. z Takoder, kad izvrednjavamo polinom koji ima samo parne koecijente
n

p2n (x) =
i=0

a2i x2i ,

Hornerovu shemu treba modicirati tako da koristi samo parne potencije (potenciranjem x x2 ). Isto vrijedi i za polinom koji ima samo neparne potencije. Sastavite pripadne algoritme. Za Hornerovu shemu moe se pokazati da je optimalan algoritam. z Teorem 6.1.1 (Borodin, Munro) Za opi polinom n-tog stupnja potrebno je bac rem n aktivnih mnoenja. Pod aktivnim mnoenjem podrazumjevamo mnoenje z z z izmedu ai i x. Dakle, Hornerova shema ima optimalan broj mnoenja. Rezultat prethodnog z teorema moe se poboljati samo ako jedan te isti polinom izvrednjavamo u mnogo z s

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 226

toaka. Tada se koecijenti polinoma prije samog izvrednjavanja adaptiraju ili c prekondicioniraju, tako da bismo kasnije imali to manje operacija po svakoj s pojedinoj toki. c Zanimljivo je Hornerova shema optimalna za polinome stupnjeva n = 1, 2 i 3, ak i kad raunamo vrijednost polinoma u vie toaka. Pokaimo jedan primjer c c s c z adaptiranja koecijenata za polinom stupnja 4. Primjer 6.1.1 Uzmimo opi polinom stupnja 4 c p4 (x) = a4 x4 + a3 x3 + a2 x2 + a1 x + a0 i promatrajmo sljedeu shemu rauananja c c y = (x + c0 )x + c1 , p4 (x) = ((y + x + c2 )y + c3 )c4 . Primijetimo da ona koristi 3 mnoenja i 5 zbrajanja. Medutim, prvo treba odrediti z s ci u ovisnosti o ai . Zato napiimo p4 po potencijama od x p4 (x) = c4 x4 + (2c0 c4 + c4 )x3 + (c2 + 2c1 + c0 c4 + c2 c4 )x2 0 + (2c0 c1 c4 + c1 c4 + c0 c2 c4 )x + (c2 c4 + c1 c2 c4 + c3 c4 ). 1 s Uoimo da veza izmedu ai i ci nije linearna. Rjeavanjem po ai , dobivamo c c4 = a4 c0 = (a3 /a4 1)/2 b = a2 /a4 c0 (c0 + 1) c1 = a1 /a4 c0 b c2 = b 2c1 c3 = a0 /a4 c1 (c1 + c2 ).

Ove relacije zahtijevaju dosta raunanja, ali se to obavlja samo jednom. Nakon toga c e svako izvrednjavanje zahtijevati manje vremena od Hornerove sheme na polaznom c polinomu, jer zbrajanje na raunalu troi manje vremena od mnoenja. c s z Dapae, V. Pan je pokazao da vrijedi sljedei teorem. c c Teorem 6.1.2 (Pan) Za bilo koji polinom pn stupnja n 3 postoje realni brojevi z c s c, di , ei , za 0 i n/2 1, takvi da se pn moe izraunati koritenjem ( n/2 + 2) mnoenja + n zbrajanja z po sljedeoj shemi c y =x+c w = y2 (an y + d0 )y + e0 , n paran, z := n neparan, an y + e0 , z := z(w di ) + ei , za i = 1, 2, . . . n/2 1.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 227

U prethodnom teoremu nije nita reeno o tome koliko je operacija potrebno s c za raunanje c, di i ei . Medutim, sljedei teorem pokazuje je red veliine broja c c c operacija u Hornerovoj shemi optimalan za gotovo sve polinome. Teorem 6.1.3 (Motzkin, Belaga) Sluajno odabrani polinom stupnja n ima vjec rojatnost 0 da ga se moe izraunati za strogo manje od (n + 1)/2 mnoenja/diz c z jeljenja ili za strogo manje od n zbrajanja/oduzimanja.

6.1.3.

Stabilnost Hornerove sheme

U prolom smo odjeljku pokazali da je Hornerova shema optimalan algoritam s u smislu ekasnosti. Paljivom analizom greaka zaokruivanja nije teko pokazati z s z s da je Hornerova shema i stabilan algoritam.
y 1.0 1013 0.5 1013

0.95 0.5 1013 0.5 1.0 1013

1.05

Izvrednjavanje polinoma (x 1)10 razvijenog po potencijama od x: koritenjem direktne sumacije u double precision aritmetici. s
y 1.0 1013 0.5 1013

0.95 0.5 1013

1.05

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 228

Izvrednjavanje polinoma (x 1)10 razvijenog po potencijama od x: koritenjem Hornerove sheme u double precision aritmetici. s

6.1.4.

Dijeljenje polinoma linearnim faktorom oblika x x0

Kako se praktino zapisuje Hornerova shema kad se radi na ruke? Napravi c se tablica na sljedei nain. U gornjem redu se popiu svi koecijenti polinoma pn c c s redom od an do a0 . Donji red se izraunava koritenjem gornjeg reda i broja x0 . c s Oznaimo elemente donjeg reda, gledajui slijeva nadesno, s x0 , cn1 , cn2 , . . . , c0 , r0 , c c tako da se cn1 nalazi ispod an . an x0 cn1 an1 cn2 a1 c0 a0 r0 .

Elementi donjeg reda se raunaju s lijeva na desno, kako slijedi c cn1 = an , ci1 := ci x0 + ai1 , (6.1.1)

i = n, . . . , 1.

Dakle, vodei koecijent an se prepie, a svi ostali se raunaju tako da se posljednji c s c z izraunati koecijent ci pomnoi s x0 , a zatim mu se doda koecijent ai1 koji se c nalazi iznad. Na kraju, ispod koecijenta a0 se dobije r0 , tj. vrijednost polinoma u toki x0 . Pokaimo kako to funkcionira na konkretnom primjeru. c z Primjer 6.1.2 Izraunajmo vrijednost polinoma c p5 (x) = 2x5 x3 + 4x2 + 1 u toki x0 = 1. c Formirajmo tablicu: 2 1 Dakle, p5 (1) = 4. Pogledajmo znaenje koecijenata ci koji se javljaju u donjem redu tablice. c Promatrajmo polinom koji dobijemo dijeljenjem polinoma pn s polinomom stupnja 1 oblika x x0 . Nazovimo taj kvocijent td dva polinoma s qn1 (to je ponovno polinom, ali sada stupnja n 1), a ostatak (broj, jer mora biti stupnja manjeg od polinoma kojim dijelimo) s r0 . Tada vrijedi pn (x) = (x x0 )qn1 (x) + r0 . (6.1.2) 2 0 2 1 1 4 0 1 4 .

3 3

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 229

Uvrtavanje x = x0 u (6.1.2) pokazuje da za ostatak vrijedi r0 = pn (x0 ). Znamo da s je qn1 polinom stupnja n 1, a njegove koecijente oznaimo s bi , 1 i n (to c s je pomak indeksa za jedan u odnosu na dosad koritenu notaciju), s
n1

qn1 (x) =
i=1

bi+1 xi .

(6.1.3)

Dodatno, oznaimo, b0 = r0 . c Uvrstimo li (6.1.3) u (6.1.2) i sredimo koecijente uz odgovarajue potencije, c dobivamo pn (x) = bn xn + (bn1 x0 bn )xn1 + + (b1 x0 b2 )x + b0 x0 b1 . c Za vodei koecijent bn , odmah zakljuujemo bn = an , a za ai uz potenciju xi , i < n c je ai = bi x0 bi+1 , i = n 1, . . . , 0. Zadnja relacija i veza bn = an pokazuju da bi moemo izraunati iz bi+1 rekurzijom z c bi = ai + x0 bi+1 . Primijetite da je to relacija istog oblika kao (6.1.1), samo s pomaknutim indeksima, a kako je inicijalno i bn = cn1 , zakljuujemo da vrijedi c bi = ci1 , i = 1, . . . , n.

Dakle, koecijenti koje dobijemo u Hornerovoj shemi su ba koecijenti polinomas kvocijenta i ostatka pri dijeljenju polinoma pn linearnim faktorom x x0 . Primjer 6.1.3 Podijelimo p5 (x) = 2x5 x3 + 4x2 + 1 linearnim polinomom x + 1. Primijetite da je to ista tablica kao u primjeru 6.1.2, pa imamo 2 1 Odatle lako itamo c 2x5 x3 + 4x2 + 1 = (x + 1) (2x4 2x3 + x2 + 3x 3) + 4. Provjerite zadnju relaciju mnoenjem polinoma! z 2 0 2 1 1 4 0 1 4 .

3 3

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 230

Konano, napiimo algoritam koji nalazi koecijente pri dijeljenju polinoma c s linearnim polinomom. Algoritam 6.1.3 (Dijeljenje polinoma s (x x0 )) bn := an ; for i := n 1 downto 0 do bi := bi+1 x0 + ai ; {polinom-kvocijent: bn xn1 + + b2 x + b1 }

6.1.5.

Potpuna Hornerova shema

Sto se dogada ako postupak dijeljenja polinoma linearnim faktorom nastavimo, tj. ponovimo vie puta? s Vrijedi pn (x) = (x x0 )qn1 (x) + r0 = (x x0 )[(x x0 )qn2 (x) + r1 ] + r0 = (x x0 )2 qn2 (x) + r1 (x x0 ) + r0 = = rn (x x0 )n + + r1 (x x0 ) + r0 . c Dakle, polinom pn napisan je razvijeno po potencijama od (xx0 ). Koja su znaenja ri ? Usporedimo dobiveni oblik s Taylorovim polinomom oko x0 pn (x) = pa zakljuujemo da vrijedi c ri = p(i) (x0 ) n , i! 0 i n. p(i) (x0 ) n (x x0 )i , i! i=0
n

Potpuna Hornerova shema rauna sve derivacije polinama u zadanoj toki podijec c ljene pripadnim faktorijelima. Primjer 6.1.4 Nadimo sve derivacije polinoma p5 (x) = 2x5 x3 + 4x2 + 1 u toki 1. c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 231

Formirajmo potpunu Hornerovu tablicu. 2 1 1 1 1 1 1 Odatle lako itamo c p5 (1) = 4, p5 (1) = 13 2! = 26, p5 (1) = 10 4! = 240,
(4) (2)

0 1 2 4 6 8 10 1 5 19

4 3 2

0 3 1

1 4

2 2 2 2 2 2

11 13

p5 (1) = 1 1! = 1, p5 (1) = 19 3! = 114, p5 (1) = 2 5! = 240.


(5) (3)

(1)

Algoritam koji nalazi koecijente ri , odnosno koecijente Taylorovog razvoja zadanog polinoma oko toke x0 , moe se napisati koristei samo jedno polje. c z c Algoritam 6.1.4 (Taylorov razvoj) for i := 0 to n do ri := ai ; for i := 1 to n do for j := n 1 to i 1 do rj := rj + x0 rj+1 ;

6.1.6.

Hornerova shema za interpolacijske polinome

Kao to emo vidjeti, kod izvrednjavanja interpolacijskog polinoma u Newtos c novoj formi, treba izraunati izraz oblika c pn (x) = an (x x0 ) (x x1 ) (x xn1 ) + an1 (x x0 ) (x x1 ) (x xn2 ) + + a1 (x x0 ) + a0 , pri emu su toke xi toke interpolacije, a x toka u kojoj elimo izraunati vrijednost c c c c z c polinoma. Algoritam kojim se vri izvrednjavanje je vrlo slian Hornerovoj shemi. Ako s c oznaimo yi = x xi i postavimo zagrade kao u Hornerovoj shemi, imamo c pn (x) = ( ((an yn1 + an1 )yn2 + an2 )yn3 + + a1 )y0 + a0 . Tako smo dobili Hornerovu shemu za interpolacijske polinome.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 232

Algoritam 6.1.5 (Hornerova shema za interpolacijske polinome) sum := an ; for i := n 1 downto 0 do sum := sum (x xi ) + ai ; {pn (x) = sum} Dakle, Hornerovu shemu moemo iskoristiti i za ovakav prikaz polinoma, koji z niju razvijen u standardnoj bazi.

6.1.7.

Hornerova shema za realni polinom i kompleksni argument

Sve to smo dosad izvodili, vrijedi openito, ako su koecijenti polinoma i toka s c c x0 iz istog polja, R ili C. Ako elimo izraunati vrijednost realnog polinoma (tj. polinoma s realnim z c koecijentima) u kompleksnoj toki, to se moe napraviti uz odredenu utedu. c z s Neka je z0 = x0 + iy0 . c Tvrdimo da postoji realan polinom s2 stupnja 2, s vodeim koecijentom 1, takav da je s2 (z0 ) = 0. Dokaz je jednostavan i moe se pokazati na vie naina. Jedan je z s c c posljedica osnovnog teorema algebre, jer ako je x0 + iy0 nultoka polinoma s realnim c koecijentima, onda je to i x0 iy0 , tj. kod realnog polinoma kompleksne nultoke dolaze u konjugirano-kompleksnim parovima, s2 (x) = (x x0 iy0 ) (x x0 + iy0 ). Dokaz se moe provesti i direktno, koritenjem svojstava konjugiranja z s z1 + z2 = z1 + z2 , z1 z2 = z1 z2 . Oznaimo koecijente polinoma s2 sa c s2 (x) = x2 + px + q. Konjugiranjem s2 (z0 ) = 0 izlazi
2 2 0 = s2 (z0 ) = z0 + pz0 + q = z0 + pz0 + q = z0 2 + pz0 + q = s2 (z0 ).

Dakle, s2 (z0 ) = 0 vrijedi ako i samo ako vrijedi s2 (z0 ) = 0, tj. realne koecijente od z s s2 moemo napisati koritenjem realnog i imaginarnog dijela z0 s2 (x) = x2 + px + q = (x x0 iy0 ) (x x0 + iy0 ),

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 233

tj. p = 2x0 ,
2 q = x2 + y0 . 0

Po analogiji, podijelimo polazni realni polinom polinomom s2 . Ostatak pri dijeljenju vie nije samo konstanta, nego moe biti i polinom r stupnja 1 s z pn (x) = s2 (x)qn2 (x) + r(x). Napiimo prolu relaciju u pogodnoj formi, tj. napiimo na udan nain s s s c c polinom r pn (x) = (x2 + px + q) qn2 (x) + b1 (x + p) + b0 . (6.1.4) Izaberimo oznaku za koecijente polinoma qn2 , ovaj put s indeksima pomaknutim za 2
n2 i=0

qn2 (x) =

bi+2 xi .

(6.1.5)

Uvrtavanjem (6.1.5) u (6.1.4) i usporedivanjem koecijenata uz odgovarajue pos c tencije, dobivamo:


n n2 n2 n2

ai x =
i=0 i=0 n

bi+2 x

i+2

+p
i=0

bi+2 x

i+1

+q
i=0

bi+2 xi + b1 (x + p) + b0

n1

n2

=
i=2 n

bi xi + p
i=1 n1

bi+1 xi + q
i=0 n2

bi+2 xi + (b1 x + b0 ) + pb1 bi+2 xi .


i=0

=
i=0

bi xi + p
i=0

bi+1 xi + q

z Deniramo li dodatno bn+1 = bn+2 = 0, onda prethodnu relaciju moemo pisati kao
n n

ai xi =
i=0 i=0

(bi + pbi+1 + qbi+2 ) xi .

Usporedivanjem koecijenata lijeve i desne strane, izlazi rekurzivna relacija ai = bi + pbi+1 + qbi+2 , i = n, . . . , 0,

uz start bn+1 = bn+2 = 0. Drugim rijeima, koecijente bi raunamo iz dva koja c c odgovaraju susjednim viim potencijama, s bi = ai pbi+1 qbi+2 , i = n, . . . , 0, (6.1.6)

ponovno, uz bn+1 = bn+2 = 0. Sto je rezultat? Ako traimo rezultat dijeljenja kvadratnim polinomom, onda z moramo izraunati sve koecijente bi , s tim da e indeksi i = 2, . . . , n dati koecijente c c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 234

polinoma qn2 , a b1 i b0 bit e ostaci pri dijeljenju napisani u formi (6.1.4). Ako c elimo ostatak napisan u standardnoj bazi, onda emo r napisati kao z c r(x) = b1 x + (b0 + b1 p), c tj. na kraju rauna, kad izraunamo sve koecijente bi , postavit emo c c b0 := b0 + b1 p Sljedei algoritam rauna kvocijent polinoma pn i kvadratnog polinoma s2 u stanc c dardnoj bazi. Koecijenti p i q su tada ulazni podaci, bez ikakvih ogranienja, tj. q c ne mora biti nenegativan. Algoritam 6.1.6 (Dijeljenje polinoma kvadratnim polinomom) bn := an ; bn1 := an p bn ; for i := n 2 downto 0 do bi := ai p bi+1 q bi+2 ; b0 := b0 + p b1 ; Konano, vratimo se zadatku od kojeg smo krenuli. Ako elimo izraunati c z c vrijednost polinoma pn u toki x0 + iy0 , onda nam ne trebaju svi bi -ovi. Promotrimo c relaciju (6.1.4). Uoimo da je s2 (x0 + iy0) = 0 (tako je deniran), pa se (6.1.4) svede c na (6.1.7) pn (x0 + iy0 ) = b1 (x0 + iy0 + p) + b0 . c To znai da nam trebaju samo koecijenti b1 i b0 da bismo znali izraunati vrijednost c z s u toki z0 . Relaciju (6.1.7) moemo i ljepe napisati jer znamo da je c p + x0 = 2x0 + x0 = x0 . Odmah se dobije pn (x0 + iy0 ) = b1 ( x0 + iy0 ) + b0 = (b0 x0 b1 ) + iy0 b1 , pa vidimo da za raunanje vrijednosti realnog polinoma u kompleksnoj toki, ne c c moramo pamtiti itavo polje koecijenata bi , nego samo trenutna tri koji su nam c potrebni u rekurziji (6.1.6) Algoritam 6.1.7 (Vrijednost realnog polinoma u kompleksnoj toki) c p := 2 x0 ; 2 q := x2 + y0 ; 0 b1 := 0; b0 := an ; for i := n 1 downto 0 do

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 235

begin b2 := b1 ; b1 := b0 ; b0 := ai p b1 q b2 ; end; Re(pn (x0 + iy0 )) := b0 x0 b1 ; Im(pn (x0 + iy0 )) := y0 b1 ; Kad prebrojimo realne operacije u ovom algoritmu, dobivamo (2n + 4) mnoenja + (2n + 3) zbrajanja. z S obzirom da jedno kompleksno zbrajanje zahtijeva 2 realna zbrajanja, a kompleksno mnoenje realiziramo na standardan nain 4 realna mnoenja i 2 realna zbrajanja, z c z obina Hornerova shema za kompleksni polinom u kompleksnoj toki ima c c 4n mnoenja + 4n zbrajanja. z U ne tako davnoj prolosti duljina trajanja mnoenja u raunalu bila je dosta dulja s z c nego duljina trajanja zbrajanja, pa su se ljudi esto dovijali alkemiji pretvaranja c mnoenja u zbrajanja. Kod mnoenja kompleksnih brojeva to je lako, jer vrijedi z z (a + bi) (c + di) = (ac bd) + (ad + bc)i = (ac bd)[(a + b) (c + d) (ac + bd)]i. Uoite da ova posljednja forma ima samo 3 mnoenja i 5 zbrajanja (produkti ac i c z bd se uvaju kad se izraunaju). c c c Konano, to ako elimo izraunati vrijednost polinoma pn u toki z0 = x0 c s z c iy0 ? Moramo li ponovno provoditi postupak? Odgovor je ne. Naime, z0 je, takoder nultoka od s2 , pa je u terminima izlaznih podataka iz algoritma 6.1.7, c pn (x0 iy0 ) = b1 ( x0 iy0 ) + b0 = (b0 x0 b1 ) iy0 b1 , tj. razlika obzirom na pn (x0 + iy0 ) je samo u suprotnom predznaku imaginarnog dijela. Dakle, treba nam jo jedna dodatna operacija da istovremeno izraunamo s c vrijednost polinoma u z0 i z0 . Ako elimo na ruke izraunati vrijednost realnog polinoma u kompleksnoj z c toki, onda koristimo tablicu vrlo slinu obinoj Hornerovoj shemi. c c c an q p + bn pbn bn1 an1 an2 qbn pbn1 bn2 a2 a1 qb3 pb2 b1 a0 qb2 pb1 b0 .

qb4 pb3 b2

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 236

Primjer 6.1.5 Nadimo vrijednost polinoma p3 (x) = x3 + 8x2 + 1 u tokama 2 i. c Uzmimo toku 2 + i, pa je x0 = 2, y0 = 1, a p = 4, q = 5. Formirajmo c tablicu. 1 8 0 1 5 4 + 1 4 12 5 48 43 60 172 113 .

Posljednja dva koecijenta su b1 = 43, b0 = 113, pa je Re(p3 (2 + i)) = b0 b1 a = 113 86 = 27, Dakle, imamo p3 (2 + i) = 27 + 43i, p3 (2 i) = 27 43i. Im(p3 (2 + i)) = b1 b = 43.

6.1.8.

Raunanje parcijalnih derivacija kompleksnog polic noma

Kompleksni polinom u varijabli z, moe se zapisati pomou dva polinoma u i z c v u dvije realne varijable x i y, gdje je z = x + iy. Vrijedi pn (z) = u(x, y) + iv(x, y), z = x + iy.

Funkcije u i v moemo interpretirati i kao realne funkcije kompleksnog argumenta z u(z) = Re (pn (z)), v(z) = Im (pn (z)),

pa, prema prolom odjeljku, imamo algoritam za nalaenje njihovih vrijednosti. s z Da bismo oponaali dijeljenje polinoma linearnim polinomom oblika x x0 , s uzmimo da nam i kvadratni polinom ima oblik x2 px q (pa svugdje gdje u prolom odjeljku pie p treba pisati p, a gdje pie q treba pisati q). Dakle, rastav s s s u produkt kvadratnog polinoma i polinoma stupnja n 2 u ovakvoj notaciji glasi: pn (x) = s2 (x)qn2 (x) + r(x), gdje je r(x) = b1 (x p) + b0 . Algoritam za nalaenje koecijenata u ovoj formulaciji je: start bn+2 = bn+1 = 0, a z rekurzija je (6.1.8) bi = ai + pbi+1 + qbi+2 , i = n, . . . , 0.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 237

Pokazali smo da je tada pn (z0 ) = (b0 x0 b1 ) + iy0 b1 . Shvatimo li pn (z) kao funkciju u odgovarajuoj toki (x, y), onda su realni i imagic c narni dio te funkcije u(x, y) = b0 xb1 , v(x, y) = yb1 .

Parcijalne derivacije funkcija u i v moemo dobiti koritenjem deriviranja sloenih z s z funkcija. Polinomi su analitike funkcije, pa za njihove parcijalne derivacije vrijede c CauchyRiemannovi uvjeti u v (x, y) = (x, y), x y u v (x, y) = (x, y). y x

Zbog toga je dovoljno pronai samo ili parcijalne derivacije jedne od funkcija ili c parcijalne derivacije po jednoj varijabli. Iskoristimo li da vrijedi p q = + , y p y q y dobivamo (izostavljajui pisanje toke u kojoj deriviramo) c c b0 b1 b0 b1 u b1 b0 = x = (2y) x (2y) = 2y x y y y q q q q v b1 b1 b1 = b1 + y = b1 + y (2y) = b1 2y 2 . y y q q

(6.1.9)

Dakle, da bismo izraunali vrijednosti parcijalnih derivacija u nekoj toki, c c dovoljno je znati b0 b0 b1 b1 , , , . p q p q Uvedimo oznake bi bi ci = , di = , i = n + 2, . . . , 0. p q Deriviramo li formalno relaciju (6.1.8) prvo po p, a zatim po q, dobivamo cn+2 ci dn+2 di = cn+1 = 0 = bi+1 + pci+1 + qci+2 , i = n, . . . , 0 = dn+1 = 0 = bi+2 + pdi+1 + qdi+2 , i = n, . . . , 0

Odavde odmah vidimo da ci -ovi i di -ovi tvore istu rekurziju, samo s indeksom translatiranim za 1, tj. vrijedi ci+1 = di , i = n + 1, n, n 1, . . . , 0.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 238

Zbog toga, umjesto dvije rekurzije za koecijente moemo raditi samo s jednom, uz z paralelno raunanje bi . c Algoritam dobivanja parcijalnih derivacija zove se algoritam Bairstowa. Algoritam 6.1.8 (Algoritam Bairstowa) b1 := an ; b0 := an1 + p b1 ; c2 := 0; c1 := 0; c0 := an ; for i := n 2 downto 0 do begin b2 := b1 ; b1 := b0 ; b0 := ai + p b1 + q b2 ; c2 := c1 ; c1 := c0 ; c0 := b1 + p c1 + q c2 ; end; Relacija (6.1.9) odmah daje kako se iz c-ova i b-ova dobivaju parcijalne derivacije u v (x0 , y0 ) = (x0 , y0) = 2y0(x0 d1 d0 ) = 2y0 (x0 c2 c1 ) y x u v 2 2 (x0 , y0 ) = (x0 , y0 ) = b1 2y0 d1 = b1 2y0 c2 . y x Motivacija za ovaj algoritam potjee iz modikacije Newtonove metode za c traenje realnih nultoaka polinoma. Ako elimo nai kompleksne nultoke realnog z c z c c polinoma, prvo treba izluiti kvadratni polinom s konjugirano kompleksnim parom c nultoaka. Ta generalizacija Newtonove metode zove se metoda NewtonBairstow. c

6.2.

Generalizirana Hornerova shema

U prolom odjeljku napravili smo nekoliko algoritama za izvrednjavanje polis noma i njegovih derivacija u zadanoj toki. Te algoritme, koji su egzaktni u egzaktc noj aritmetici, moemo koristiti i kao pribline algoritme za izvrednjavanje redova z z potencija, tj. analitikih funkcija. c Pretpostavimo da se funkcija f u okolini neke toke x0 (u R ili C) moe razviti c z

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 239

u red potencija oblika f (x) =

n=0

an (x x0 )n ,

(6.2.1)

s tim da znamo taj red konvergira prema f na toj okolini od x0 . Dodatno, pretpostavimo da znamo sve koecijente an u ovom razvoju, u smislu da ih moemo z brzo i tono izraunati. Naravno, ovu beskonanu sumu ne moemo efektivno algoc c c z ritamski izraunati, jer zahtijeva beskonaan broj aritmetikih operacija. c c c Medutim, konane komade ovog razvoja moemo iskoristiti za aproksimaciju c z funkcije f na toj okolini. Iz konvergencije razvoja po tokama odmah slijedi da, za c bilo koju unaprijed zadanu tonost > 0, postoji N N takav da je c
N

fN (x) =
n=0

an (x x0 )n ,

(6.2.2)

aproksimacija za f (x) s grekom manjom od . Nije bitno da li greku mjerimo u s s apsolutnom ili relativnom smislu, osim ako je f (x) = 0. Sasvim openito, potrebna c duljina razvoja N ovisi i o i o x. No, ako se sjetimo da redovi potencija konvergiraju uniformno na kompaktima, moemo postii i uniformnu aproksimaciju s tonou z c c sc na takvim kompaktima, pa N onda ovisi samo o . Kad uzmemo u obzir da ionako priblino raunamo u aritmetici raunala, z c c ovim pristupom moemo bitno poveati klasu funkcija s kojima moemo raunati. z c z c Ako je greka dovoljno mala, recimo reda veliine osnovne greke zaokruivanja u, s c s z onda je pripadna aproksimacija fN (x) gotovo jednako dobra kao i f (x). c Algoritam za raunanje fN (x) u zadanoj toki x bitno ovisi u tome da li c N znamo unaprijed ili ne. Ako ga ne znamo, onda se obino koristi sumacija c unaprijed, sve dok se izraunata suma ne stabilizira na zadanu tonost. Koliko c c to moe biti opasno, ve smo vidjeli u primjeru za sin x. Zbog toga se sumacija z c unaprijed koristi samo kao zadnje utoite. cs Vrlo esto se N moe unaprijed odrediti iz analitikih svojstava funkcije f , tako c z c da dobijemo uniformnu aproksimaciju s tonou na nekom kompaktu. Obino se c sc c za taj kompakt uzima neki segment u R, odnosno neki krug u C. Cak nije jako bitno da N bude savren, tj. najmanji mogui, ako je takav N teko izraunati. Katkad s c s c je sasvim dobra i priblina vrijednost za N. Tada je fN polinom poznatog stupnja z N i moemo koristiti Hornerovu shemu i njene varijacije za raunanje fN (x). z c Trenutno ne ulazimo u to kako se nalaze takve aproksimacije. Tome emo c posvetiti punu panju u poglavlju o aproksimacijama. Zasad recimo samo to da z se izbjegava direktno koritenje redova potencija (6.2.1) i pripadnih polinomnih s aproksimacija u obliku (6.2.2), zbog loe uvjetovanosti sustava funkcija s {1, (x x0 ), (x x0 )2 , . . . , (x x0 )n , . . .} i nejednolikog rasporeda pogreke e(x) = f (x) fN (x) na domeni aproksimacije. s

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 240

Umjesto reda potencija (6.2.1), standardno se koriste razvoji oblika

f (x) =
n=0

an pn (x),

(6.2.3)

gdje je {pn | n N0 } neki ortogonalni sustav funkcija na domeni aproksimacije. U aproksimaciji elementarnih i manje elementarnih tzv. specijalnih funkcija vrlo s esto se koriste tzv. Cebievljevi polinomi, zbog skoro jednolikog rasporeda greke c s na domeni. Kasnije emo pokazati i algoritam za nalaenje takve kvaziuniformne c z sevljeva ekonomizacija). aproksimacije iz poznatog reda potencija (tzv. Cebi Razvoj funkcije f u red oblika (6.2.3) je oita generalizacija reda potencija. c Njega, takoder, po istom principu, moemo iskoristiti za aproksimaciju funkcije f , z ako znamo da on konvergira prema f na nekoj domeni. Rezanjem reda dobivamo aproksimaciju funkcije f
N

fN (x) =
n=0

an pn (x),

(6.2.4)

to je oita generalizacija polinoma iz (6.2.2). Naravno, da bismo izraunali fN (x) s c c c moramo znati sve koecijente an i sve funkcije pn . Medutim, u veini primjena c nemamo direktnu formulu za raunanje vrijednosti pn (x) u zadanoj toki x, za c sve n N0 . Umjesto toga, znamo da funkcije pn zadovoljavaju neku, relativno jednostavnu rekurziju po n. Funkcije pn ne moraju biti polinomi. Dovoljno je da ih moemo rekurzivno raunati! z c Pristup raunanju vrijednosti fN (x) je isti kao i ranije. Ako unaprijed ne c c znamo N, onda se sumacija vri unaprijed, a pn (x) rauna redom iz rekurzije. S s druge strane, iz teorije aproksimacija, vrlo esto je mogue unaprijed nai koliko c c c lanova N treba uzeti za (uniformnu) zadanu tonost. Tada bi bilo zgodno koristiti c c neku generalizaciju Hornerove sheme za brzo izvrednjavanje fN oblika (6.2.4) i to je cilj ovog odjeljka.

6.2.1.

Izvrednjavanje rekurzivno zadanih funkcija

Budui da ortogonalni polinomi zadovoljavaju trolane, homogene rekurzije, a c c vrlo se esto koriste, posebnu panju posvetit emo ba takvim rekurzijama. Osim c z c s toga, trolane rekurzije istog opeg oblika vrijede i za mnoge specijalne funkcije c c koje ne moraju biti ortogonalne. Zato pretpostavljamo da funkcije pn , za n N0 , zadovoljavaju rekurziju oblika pn+1 (x) + n (x)pn (x) + n (x)pn1 (x) = 0, n = 1, 2, . . . , (6.2.5)

s tim da su poznate poetne funkcije p0 i p1 , i sve funkcije n , n , za n N, koje c su obino jednostavnog oblika. c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 241

Primijetite da potencije pn (x) = xn zadovoljavaju dvolanu homogenu rekurc ziju pn (x) xpn1 = 0, n N, c c uz p0 (x) = 1, pa je (6.2.5) zaista generalizacija polinomnog sluaja. Slian algoritam za brzo izvrednjavanje fN moe se napraviti i kad pn zadovoljavaju etverolane ili z c c vielane rekurzije, ali se takve rekurzije rijetko pojavljuju u praksi. s c Algoritam je vrlo slian izvrednjavanju realnog polinoma u kompleksnoj toki. c c Deniramo rekurziju za koecijente BN +2 = BN +1 = 0, Bn = an n (x)Bn+1 n+1 (x)Bn+2 , Uvrtavanjem u formulu (6.2.4) za fN (x), dobivamo s
N N

(6.2.6) n = N, . . . , 0.

fN (x) = =

an pn (x) =
n=0 N 1 n=1 N 1 n=0

(Bn + n (x)Bn+1 + n+1 (x)Bn+2 ) pn (x)


N N +1

Bn+1 pn+1 (x) +


n=0

n (x)Bn+1 pn (x) +
n=1

n (x)Bn+1 pn1 (x)

=
n=1

Bn+1 (pn+1 (x) + n (x)pn (x) + n (x)pn1 (x))

+ B0 p0 (x) + B1 p1 (x) + 0 (x)B1 p0 (x) = B0 p0 (x) + B1 p1 (x) + 0 (x)B1 p0 (x). Pripadni silazni algoritam izvrednjavanja ima sljedei oblik. c Algoritam 6.2.1 (Generalizirana Hornerova shema za fN (x)) B1 := 0; B0 := aN ; for k := N 1 downto 0 do begin; B2 := B1 ; B1 := B0 ; B0 := ak k (x) B1 k+1 (x) B2 ; end; fN (x) := B0 p0 (x) + B1 (p1 (x) + 0 (x) p0 (x)); z Ako trebamo izraunati i derivaciju fN (x), do pripadnog algoritma moemo c doi deriviranjem relacije (6.2.4) c
N

fN (x) =
n=0

an pn (x),

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 242

i deriviranjem rekurzije (6.2.5), tako da dobijemo i rekurziju za funkcije pn . Pokuajte to napraviti sami. s Medutim, postoji i jednostavniji put, deriviranjem rekurzije (6.2.6), slino kao c u algoritmu Bairstowa. Ovdje je to jo bitno jednostavnije, jer imamo samo jednu s varijablu. Koecijente Bn shvatimo kao funkcije od x, to oni zaista i jesu. Zatim s c c deriviramo (6.2.6), s tim da Bn oznaava derivaciju od Bn po x, u toki x. Takvim formalnim deriviranjem dobivamo rekurziju za koecijente Bn . BN +2 = BN +1 = 0, BN +2 = BN +1 = 0, Bn = an n (x)Bn+1 n+1 (x)Bn+2 , n = N, . . . , 0. Bn = n (x)Bn+1 n (x)Bn+1 n+1 (x)Bn+2 n+1 (x)Bn+2 , n = N, . . . , 0. Odavde odmah vidimo da je i BN = 0. Uz standardnu oznaku bn = n (x)Bn+1 n+1 (x)Bn+2 , n = N, . . . , 0,

s tim da je oito bN = 0, rekurziju za Bn moemo napisati u obliku c z Bn = bn n (x)Bn+1 n+1 (x)Bn+2 , n = N, . . . , 0,

c to ima skoro isti oblik kao i rekurzija za Bn , osim zamjene an u bn . Konani rezultat, s takoder, dobivamo deriviranjem ranijeg konanog rezultata c fN (x) = B0 p0 (x) + B1 (p1 (x) + 0 (x)p0 (x)), odakle slijedi fN (x) = B0 p0 (x) + B0 p0 (x) + B1 (p1 (x) + 0 (x)p0 (x) + 0 (x)p0 (x)), + B1 (p1 (x) + 0 (x)p0 (x)). c Dakle, da bismo izraunali fN (x), dovoljno je znati samo derivacije poetnih c funkcija p0 i p1 , koje su obino jednostavne. Naravno, treba znati i derivacije n , c c c n funkcija iz polazne trolane rekurzije, ali i one su obino jednostavne. Rekurzija c s za derivacije pn nas uope ne zanima, iako ju nije teko napisati. Vidimo da nam za raunanje fN (x) treba i rekurzija za raunanje fN (x), pa c c se te dvije vrijednosti obino zajedno raunaju, a ne svaka posebno. Tada rekurzije c c c za Bn i Bn provodimo u istoj petlji. Konani rezultati izgledaju komplicirano, ali kad u njih uvrstimo konkretne objekte, vrlo rijetko ostanu svi lanovi. Obino se te c c formule svedu na fN (x) = B0 , fN (x) = B0 .

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 243

Algoritam 6.2.2 (Generalizirana Hornerova shema za fN (x) i fN (x)) B1 := 0; B0 := aN ; B1 := 0; B0 := 0; for k := N 1 downto 0 do begin; B2 := B1 ; B1 := B0 ; B0 := ak k (x) B1 k+1 (x) B2 ; B2 := B1 ; B1 := B0 ; b := k (x) B1 k+1 (x) B2 ; B0 := b k (x) B1 k+1(x) B2 ; end; fN (x) := B0 p0 (x) + B1 (0 (x) p0 (x) + p1 (x)); fN (x) := B0 p0 (x) + B0 p0 (x) + B1 (p1 (x) + 0 (x) p0 (x) + 0 (x) p0 (x)) + B1 (p1 (x) + 0 (x) p0 (x)); Istim putem moemo izvesti i rekurzije za raunanje viih derivacija fN (x), z c s za k 2. Zanimljivo je da u praksi to gotovo nikada nije potrebno. Razlog lei z u injenici da gotovo sve korisne familije funkcija pn , n N, zadovoljavaju neke c diferencijalne jednadbe drugog reda, s parametrom n. Jasno je da tada treba z koristiti odgovarajuu diferencijalnu jednadbu za raunanje fN (x), ali i to je vrlo c z c rijetko potrebno. Cak i algoritam za derivacije se rijetko koristi. Naime, ako znamo nai, tj. c izraunati koecijente an u prikazu c
(k)

f (x) =
n=0

an pn (x),

s dovoljnom tonou, za n N, tako da je pripadni fN (x) dovoljno dobra aproksic sc macija, onda se ne isplati koristiti
N

fN (x) =
n=0

an pn (x)

kao aproksimaciju za f (x), jer ona obino ima manju tonost od aproksimacije za c c f . Puno je bolje izraunati koecijente an (to nisu derivacije) u pravom razvoju c derivacije f po istim funkcijama pn , a ne po njihovim derivacijama. Dakle, za f koristimo aproksimaciju oblika
N

fN (x) =
n=0

an pn (x),

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 244

koja ne mora imati istu duljinu, ali zato ima eljenu tonost. z c Sloenost ovih algoritama kljuno ovisi o sloenosti raunanja svih potrebnih z c z c funkcija p0 , p1 , n , n , i njihovih derivacija, pa je besmisleno brojati pojedinane c aritmetike operacije na nivou opeg algoritma. c c U praktinim aproksimacijama se najee koriste tzv. ortogonalne familije c c sc c funkcija pn , koje ine ortogonalnu bazu u nekom prostoru funkcija, obzirom na neki skalarni produkt na tom prostoru. Vrlo esto je pn polinom stupnja n, za c svaki n N0 . Neke primjere klasinih ortogonalnih polinoma i pripadnih rekurzija c dajemo neto kasnije. s c Medutim, ve smo rekli da funkcije pn ne moraju biti polinomi i prvi primjer je ba tog tipa. s

6.2.2.

Izvrednjavanje Fourierovih redova

Za aproksimaciju periodikih funkcija standardno koristimo Fourierove redove. c Pretpostavimo, radi jednostavnosti, da je f periodika funkcija na segmentu [, ]. c Tada, uz relativno blage pretpostavke, funkciju f moemo razviti u Fourierov red z oblika an cos(nx) +
n=0 n=1

bn sin(nx).

Umjesto a0 , standardno se pie a0 /2, ali to nije bitna razlika. Zanemarimo trenutno s pitanje konvergencije ovog reda i znaenja njegove sume. Uoimo samo da ove c c trigonometrijske funkcije tvore ortogonalan sustav funkcija, obzirom na skalarni produkt deniran integralom. Pretpostavimo da su nam koecijenti an i bn poznati. Na zadatak je izraunati s c aproksimaciju oblika
N N

fN (x) =
n=0

an cos(nx) +
n=1

bn sin(nx),

gdje je N unaprijed zadan. Ovakav izraz se esto zove i trigonometrijski polinom. c Vidimo da se on sastoji iz dva dijela, kosinusnog i sinusnog, pa emo tako i sastaviti c algoritam. Usput, sjetimo se da Fourierov red parne funkcije f (x) = f (x) ima samo kosinusni dio, a Fourierov red neparne funkcije f (x) = f (x) ima samo sinusni dio razvoja. Pretpostavimo stoga da je f parna funkcija i trebamo izraunati aproksimaciju c oblika
N

fN (x) =
n=0

an cos(nx).

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 245

U direktnoj sumaciji trebamo N raunanja funkcije cos, za cos(nx), uz n 1. Iako c to danas vie ne traje pretjerano dugo, moemo nai i bolji algoritam, koji treba s z c samo jedno jedino raunanje funkcije cos. c Da bismo dobili polazni oblik aproksimacije (6.2.4) iz generalizirane Hornerove sheme, oito treba denirati c pn (x) = cos(nx). Fali nam jo samo trolana homogena rekurzija za ove funkcije. Medutim, i to ide s c lako, ako se sjetimo formule koja sumu kosinusa pretvara u produkt cos a + cos b = 2 cos a+b ab cos . 2 2

Dovoljno je uzeti a = (n + 1)x i b = (n 1)x. Dobivamo cos((n + 1)x) + cos((n 1)x) = 2 cos(nx) cos x, pa traena rekurzija ima oblik z pn+1 (x) 2 cos x pn (x) + pn1 (x) = 0, odakle slijedi da u opoj rekurziji (6.2.5) treba uzeti c n (x) = 2 cos x, n (x) = 1, n N. n N,

Vidimo da n (x) i n (x) ne ovise o n, a n (x) ne ovisi ni o x, ve je konstanta. c Rekurzija (6.2.6) za Bn ima oblik BN +2 = BN +1 = 0, Bn = an + 2 cos x Bn+1 Bn+2 , n = N, . . . , 0.

c Poetne funkcije su p0 (x) = 1 i p1 (x) = cos x, pa je konani rezultat c fN (x) = B0 p0 (x) + B1 (p1 (x) + 0 (x)p0 (x)) = B0 1 + B1 ( cos x 2 cos x 1) = B0 B1 cos x. Sad imamo sve elemente za generaliziranu Hornerovu shemu. Algoritam 6.2.3 (Fourierov red parne funkcije) B1 := 0; B0 := aN ; alpha := 2 cos x; for k := N 1 downto 0 do begin;

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 246

B2 := B1 ; B1 := B0 ; B0 := ak + alpha B1 B2 ; end; fN (x) := B0 0.5 alpha B1 ; Ovaj algoritam zaista troi jedan jedini kosinus, pod cijenu jednog mnoenja s z s 0.5. Sto se stabilnosti tie, on je podjednako stabilan kao i direktna sumacija. Male c vrijednosti cos(nx) ionako ne dobivamo s malom relativnom, ve malom apsolutnom c grekom. s Ako trebamo izraunati i derivaciju fN (x), za pripadni algoritam trebamo c n (x) = 2 sin x, Onda je bn = 2 sin x Bn+1 , i Bn = bn + 2 cos x Bn+1 Bn+2 , n = N, . . . , 0, a formalnim deriviranjem fN (x) = B0 B1 cos x dobivamo fN (x) = B0 B1 cos x + B1 sin x. Dakle, cijeli taj algoritam treba jo samo jedan sinus. I tog bismo mogli izbaciti, s tako da sinus izrazimo preko kosinusa, sin x = 1 cos2 x, ali to se ve ne isplati, jer moramo paziti na znak, a oduzimanje moe dovesti do c z nepotrebnog gubitka tonosti u sinusu. c Pretpostavimo sad da je f neparna funkcija. Trebamo izraunati aproksic maciju oblika
N

n (x) = 0,

n N.

n = N, . . . , 0,

fN (x) =
n=1

bn sin(nx).

Suma ovdje ide od 1, pa treba biti malo oprezan. Zgodniji je zapis


N 1

fN (x) =
n=0

bn+1 sin((n + 1)x).

Nije ba lijepo ostaviti indeks N u fN , ali sad je oito da treba denirati s c pn (x) = sin((n + 1)x).

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 247

Zatim koristimo formulu sin a + sin b = 2 sin a+b ab cos , 2 2

i uzmemo a = (n + 2)x i b = nx. Dobivamo sin((n + 2)x) + sin(nx) = 2 sin((n + 1)x) cos x, pa traena rekurzija ima oblik z pn+1 (x) 2 cos x pn (x) + pn1 (x) = 0, n N,

to je potpuno isti oblik kao i za parne funkcije, odnosno za pn (x) = cos(nx). Dakle, s rekurzija za pripadne Bn ima isti oblik, samo starta od N 1 BN +1 = BN = 0, Bn = bn+1 + 2 cos x Bn+1 Bn+2 , n = N 1, . . . , 0.

c Poetne funkcije su p0 (x) = sin x i p1 (x) = sin(2x) = 2 sin x cos x, pa je konani c rezultat fN (x) = B0 p0 (x) + B1 (p1 (x) + 0 (x)p0 (x)) = B0 sin x + B1 (2 sin x cos x 2 cos x sin x) = B0 sin x. Algoritam moete i sami napisati. z Za opi Fourierov red koji ima i parni i neparni dio, treba spojiti prethodne c algoritme. Jedina je neugoda to je neparni za 1 krai, jer starta s N 1. Ako s c nas to ba jako smeta, onda moemo i malo drugaije postupiti u neparnom dijelu. s z c Umjetno deniramo da je b0 = 0 i piemo s
N

fN (x) =
n=0

bn sin(nx).

Zatim uzmemo pn (x) = sin(nx). Rekurzija za pn , naravno, ostaje ista, a za Bn sad vrijedi produljena rekurzija BN +1 = BN = 0, Bn = bn + 2 cos x Bn+1 Bn+2 , n = N, . . . , 0.

c Poetne funkcije su p0 (x) = 0 i p1 (x) = sin x, pa je konani rezultat c fN (x) = B0 p0 (x) + B1 (p1 (x) + 0 (x)p0 (x)) = B0 0 + B1 ( sin x 2 cos x 0) = B1 sin x.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 248

To pokazuje da B0 uope ne treba raunati, ali ba to i oekujemo, kad smo rekurziju c c s c pomakli za jedan indeks navie! s Spomenimo na kraju da obje funkcije cos(nx) i sin(nx) zadovoljavaju istu diferencijalnu jednadbu drugog reda z y + n2 y = 0.

6.2.3.

Klasini ortogonalni polinomi c

U aproksimacijama i rjeavanju diferencijalnih jednadbi najee se susreemo s z c sc c s pet tipova klasinih ortogonalnih polinoma. Za polinome c {p0 , p1 , p2 , . . . , pn , . . .}, pri emu indeks polinoma oznaava njegov stupanj, rei emo da su ortogonalni c c c c obzirom na teinsku funkciju w, w(x) 0 na intervalu [a, b], ako vrijedi z
b

w(x) pm (x) pn (x) dx = 0,


a

za m = n.

Teinska funkcija odreduje sistem polinoma do na konstantni faktor u svakom od z polinoma. Izbor takvog faktora zove se jo i standardizacija ili normalizacija. s Cebievljevi polinomi prve vrste s s Cebievljevi polinomi prve vrste obino se oznaavaju s Tn . Oni su ortogonalni c c na intervalu [1, 1] obzirom na teinsku funkciju z w(x) = Vrijedi
1

1 . 1 x2

za m = n, Tm (x) Tn (x) za m = n = 0, dx = , 1 x2 /2, za m = n = 0.

0,

Oni zadovoljavaju rekurzivnu relaciju Tn+1 (x) 2xTn (x) + Tn1 (x) = 0, uz start T0 (x) = 1, T1 (x) = x.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 249

Za njih postoji i eksplicitna formula Tn (x) = cos(n arccos x). s Osim toga, n-ti Cebievljev polinom prve vrste Tn zadovoljava diferencijalnu jednadbu z (1 x2 )y xy + n2 y = 0. Graf prvih par polinoma izgleda ovako.
y 1 0.75 0.5 0.25 1 0.75 0.5 0.25 0.25 0.5 0.75 1 0.25 0.5 0.75 1 x T1 (x) T2 (x) T3 (x) T4 (x)

s Katkad se koriste i Cebievljevi polinomi prve vrste transformirani na interval [0, 1], u oznaci Tn . Koritenjem linearne (preciznije, ane) transformacije s [0, 1] x := 2x 1 [1, 1]

dolazimo do svih svojstava tih polinoma. Na primjer, relacija ortogonalnosti tada postaje 1 0, za m = n, Tm (x) Tn (x) za m = n = 0, dx = , x x2 /2, za m = n = 0, 0 a rekurzivna relacija
Tn+1 (x) 2(2x 1)Tn (x) + Tn1 (x) = 0,

uz start

T0 (x) = 1,

T1 (x) = 2x 1.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 250

Cebievljevi polinomi druge vrste s s Cebievljevi polinomi druge vrste obino se oznaavaju s Un . Oni su ortogoc c nalni na intervalu [1, 1] obzirom na teinsku funkciju z w(x) = 1 x2 . Vrijedi
1

1 x2 Um (x) Un (x) dx =

0, za m = n, /2, za m = n.

s Oni zadovoljavaju istu rekurzivnu relaciju kao Cebievljevi polinomi prve vrste Un+1 (x) 2xUn (x) + Un1 (x) = 0, samo uz malo drugaiji start c U0 (x) = 1, Za njih postoji i eksplicitna formula Un (x) = sin((n + 1) arccos x) . sin(arccos x) U1 (x) = 2x.

s Osim toga, n-ti Cebievljev polinom druge vrste Un zadovoljava diferencijalnu jednadbu z (1 x2 )y 3xy + n(n + 2)y = 0. Graf prvih par polinoma izgleda ovako.
y 5 4 3 2 1 1 0.75 0.5 0.25 1 2 3 4 0.25 0.5 0.75 1 x U1 (x) U2 (x) U3 (x) U4 (x)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 251

Legendreovi polinomi Legendreovi polinomi obino se oznaavaju s Pn . Oni su ortogonalni na interc c valu [1, 1] obzirom na teinsku funkciju z w(x) = 1. Vrijedi
1

Pm (x) Pn (x) dx =
1

0, za m = n, 2/(2n + 1), za m = n.

Oni zadovoljavaju rekurzivnu relaciju (n + 1)Pn+1 (x) (2n + 1)xPn (x) + nPn1 (x) = 0, uz start P0 (x) = 1, P1 (x) = x. Osim toga, n-ti Legendreov polinom Pn zadovoljava diferencijalnu jednadbu z (1 x2 )y 2xy + n(n + 1)y = 0. Graf prvih par polinoma izgleda ovako.
y 1 0.75 0.5 0.25 1 0.75 0.5 0.25 0.25 0.5 0.75 1 0.25 0.5 0.75 1 x P1 (x) P2 (x) P3 (x) P4 (x)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 252

Laguerreovi polinomi Laguerreovi polinomi obino se oznaavaju s Ln . Oni su ortogonalni na interc c valu [0, ) obzirom na teinsku funkciju z w(x) = ex . Vrijedi

ex Lm (x) Ln (x) dx =
0

0, za m = n, 1, za m = n.

Oni zadovoljavaju rekurzivnu relaciju (n + 1)Ln+1 (x) + (x 2n 1)Ln (x) + nLn1 (x) = 0, uz start L0 (x) = 1, L1 (x) = 1 x. Osim toga, n-ti Laguerreov polinom Ln zadovoljava diferencijalnu jednadbu z xy + (1 x)y + ny = 0. Graf prvih par polinoma izgleda ovako.
y 3 2 1 0 1 2 L1 (x) L2 (x) 1 2 3 4 5 6 x L3 (x) L4 (x)

U literaturi se esto nailazi na jo jednu rekurziju za Laguerreove polinome c s Ln+1 (x) + (x 2n 1)Ln (x) + n2 Ln1 (x) = 0,

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 253

uz jednaki start L0 (x) = 1, L1 (x) = 1 x. Usporedivanjem ove i prethodne rekurzije dobivamo da je Ln (x) = n! Ln (x), tj. radi se samo o drugaijoj normalizaciji ortogonalnih polinoma. Lako je pokazati c da vrijedi 0, za m = n, ex Lm (x) Ln (x) dx = 2 (n!) , za m = n.
0

Hermiteovi polinomi Hermiteovi polinomi obino se oznaavaju s Hn . Oni su ortogonalni na interc c valu (, ) obzirom na teinsku funkciju z w(x) = ex . Vrijedi

ex Hm (x) Hn (x) dx =

0, za m = n, n 2 n! , za m = n.

Oni zadovoljavaju rekurzivnu relaciju Hn+1 (x) 2xHn (x) + 2nHn1 (x) = 0, uz start H0 (x) = 1, H1 (x) = 2x. Osim toga, n-ti Hermiteov polinom Hn zadovoljava diferencijalnu jednadbu z y 2xy + 2ny = 0.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 254

Graf prvih par polinoma izgleda ovako.


y 250 200 150 100 50 H1 (x) H2 (x) 3 2 1 50 1 2 3 x H3 (x) H4 (x)

6.3.

Stabilnost rekurzija i generalizirane Hornerove sheme

Stabilnost generalizirane Hornerove sheme u velikoj mjeri ovisi o stabilnosti rekurzije za funkcije pn . Naime, ako u razvoju
N

fN (x) =
n=0

an pn (x),

uzmemo da je aN = 1, i an = 0, za n < N, onda je fN = pN , pa tonost kojom je c izraunat pN (x) moe odrediti i tonost fN . Dakle, generaliziranu Hornerovu shemu c z c moemo koristiti i kao silazni algoritam za izvrednjavanje funkcija pN . Postavlja se z pitanje je li to bolje od direktnog raunanja pN unaprijed, po osnovnoj rekurziji c pn+1 (x) + n (x)pn (x) + n (x)pn1 (x) = 0, n = 1, 2, . . . , N 1.

Za precizan odgovor, treba analizirati stabilnost ove rekurzije. Prije toga, pogledajmo koliki je utjecaj te stabilnosti na generaliziranu Hornerovu shemu. Odgovor, naravno, bitno ovisi i o koecijentima an u prikazu fN . Za lijepe funkcije, ti koecijenti obino relativno brzu tee prema nuli. Takvi mali c z

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 255

koecijenti an , za vee n, bitno priguuju greke greke u raunanju pn (x). Isti efekt, c s s s c samo manje vidljiv, postoji i u silaznom algoritmu. U tom smislu, prethodni primjer je ekstreman, jer je zadnji koecijent jednak 1, a svi prethodni su 0. Za taj primjer je fN polinom. Razvoj polinoma (kao analitike funkcije) po potencijama od varijable ili po nekom sustavu polinoma je c konaan pa je uvjet smanjivanja koecijenata an nepotreban. Iako to nije sasvim c precizan argument, oito je kljuno analizirati ba polinomni sluaj. Zbog toga, a i c c s c radi jednostavnosti, u nastavku gledamo samo polinomni sluaj fN = pN . c Openito moemo odmah zakljuiti da opasnost nastupa kad niz vrijednosti c z c p0 (x), p1 (x), . . . , pN (x) naglo pada po apsolutnoj vrijednosti. Tada oekujemo jako kraenja u osnovnoj c c rekurziji, to rezultira i gubitkom tonosti to dalje odmiemo u rekurziji. Dva su s c s c pitanja na koja bi bilo zgodno odgovoriti. Kako se tada ponaa silazni algoritam za raunanje fN ? s c Moe li se nekim trikom, poput okretanja rekurzije, popraviti stabilnost? z Umjesto opeg odgovora, koji bi koji zahtijeva dublju analizu, ilustrirajmo situaciju c na jednom klasinom primjeru. c Neka je pn (x) = enx . Ove funkcije generiraju tzv. eksponencijalne polinome (jer umjesto potencija xn imamo eksponencijalne funkcije enx )
N

fN (x) =
n=0

an enx .

Za takve pn moemo sastaviti razne rekurzije. Dvolana ima oblik z c pn+1 (x) ex pn (x) = 0, n N0 ,

dok je trolana homogenu rekurzija slina onimza za trigonometrijske funkcije, c c pn+1 (x) 2 ch x pn (x) + pn1 (x) = 0, pri emu je ch x = (ex + ex )/2 kosinus hiperbolni od x. c Oito je da pn (x) monotono raste za x > 0 i monotono pada za x < 0. Testirajc mo stabilnost ove rekurzije i pripadne generalizirane Hornerove sheme za raunanje c pn (x) = enx u tokama x = 1 i x = 1. c n N,

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 256

6.4.

Besselove funkcije i Millerov algoritam

Openito nije potrebno znati funkcije p0 i p1 da bi se mogla koristiti silazna c varijanta za raunanje pN . Dovoljno je znati neku vezu medu funkcijama pn koja se c lako rauna, a takve su esto poznate. Na primjer, to su funkcije izvodnice oblika c c

F (x) =
n=0

qn pn (x),

gdje se F (x) rauna nekom analitikom formulom bez upotrebe pn (x), tj. F (x) c c moemo nai neovisno o funkcijama pn . z c Millerov algoritam (po J. C. P. Milleru, 1954. godine) primjenjuje se kada c vrijednosti funkcija pn vrlo brzo padaju kad n raste (za sve x ili u nekom podruju vrijednosti za argumente), a greka zaostaje. s Pretpostavimo da funkcije pn zadovoljavaju neku homogenu rekurziju, na primjer trolanu, koja je najea u praksi c c sc pn+1 (x) + n (x)pn (x) + n (x)pn1 (x) = 0, n = 1, 2, . . .

c Poznavanje bilo kojeg pn (ak ni p0 niti p1 ) nije potrebno. Treba znati samo koecijente n i n .

6.4.1.

Opa forma Millerovog algoritma c

Prije no to ga primijenimo na eksponencijalnom polinomu, pokaimo kako s z funkcionira Millerov algoritam. Odaberimo startnu vrijednost indeksa M od koje emo poeti, ovisno o vric c jednosti N indeksa funkcije koju traimo. Ako traimo pN (x) (ili pN (x), . . . , p0 (x), z z ili samo neke od njih), M se obino odabere tako da je M > N i vrijedi c pM (x) tonost raunanja. c c pN (x) To obino garantira i da je c
M

FM (x) :=
n=0

qn pn (x),

barem jednako tona aproksimacija za F (x), to emo kasnije iskoristiti. c s c c Stavimo pM +1 = 0, pM = 1 i raunamo brojeve pn , za n = M 1, . . . , 0, unatrag po rekurziji za pn (x): pn = p (n+1 (x)n+1 + pn+2 ) , n+1 (x) n = M 1, . . . , 0.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 257

Zbog homogenosti rekurzije, dobiveni niz vrijednosti pM , . . . , p0 je vrlo priblino proporcionalan stvarnim vrijednostima z pM (x), . . . , p0 (x), s barem u podruju od pN (x) do p0 (x), tj. vrijedi pn (x) pn c, za n N. Treba jo c nai normalizacioni faktor c. c Sada iskoristimo injenicu da znamo koecijente qn u razvoju funkcije izvodnice c F po funkcijama pn

F (x) =
n=0

qn pn (x).

c c Umjesto nepoznatih vrijednosti pn (x) uvrstimo pn i numerikim zbrajanjem izrauM namo aproksimaciju F
M

FM :=
n=0

qn pn .

Gornji indeks sumacije moe biti i bitno manji od M, ako znamo da pn (x) vrlo z brzo padaju kad n raste. U prethodnoj sumi dovoljno je uzeti toliko lanova da se c izraunata vrijednost FM stabilizira na tonost raunala ili traenu tonost. c c c z c Zatim direktno analitiki izraunamo F (x) po poznatoj formuli i stavimo c c c := F (x) , FM

to je traeni normalizacioni faktor, uz pretpostavku da je FM (x) dovoljno dobra s z aproksimacija za F (x). Na kraju izraunamo c pn (x) = pn c za sve one n izmedu 0 i N koji nas zanimaju, jer u tom podruju vrijedi vrlo dobra c proporcionalnost pn (x) pn . Vrlo esto se startna vrijednost M odreduje iz nekih poznatih relacija za fac c miliju funkcija pn (x) ili eksperimentalno, poveavanjem n sve dok se ne postigne eljena tonost za pN (x). Naravno, ovim se algoritmom moe raunati i p0 (x). z c z c

6.4.2.

Izvrednjavanje Besselovih funkcija

Besselove funkcije prvi puta je uveo Bessel, 1824. godine, promatrajui jedan c problem iz tzv. dinamike astronomije, vezan uz zgodan nain zapisa poloaja plac c z neta koji se kree po elipsi oko Sunca. Da bi dobio formulu prikladnu za praktino c c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 258

raunanje, Bessel je traenu veliinu prikazao kao red funkcija poznatih podataka. c z c U tom redu se su se kao koecijenti javile funkcije oblika 1 Jn (x) =

cos(x sin n) d,
0

n N,

(6.4.1)

koje zovemo Besselovim funkcijama prve vrste. Oito se ova denicija moe proiriti c z s n z na n Z i tada je Jn (x) = (1) Jn (x). Naalost, ni za jednu od ovih funkcija ne postoji neka jednostavna formula ili oblik za raunanje. c Relaciju (6.4.1) moemo iskoristiti i za numeriko raunanje vrijednosti Jn (x), z c c c za zadane n N0 i x R, tako da upotrijebimo neku od metoda numerike integracije. Medutim, postoje i mnogo bri algoritmi za postizanje iste traene tonosti z z c izraunate vrijednosti Jn (x). c U klasinom pristupu preko funkcije izvodnice, Besselove funkcije moemo c z n denirati kao koecijente uz t u razvoju exp x
t 1/t = Jn (x) tn . 2 n=

(6.4.2)

Nije teko dokazati da je ova denicija ekvivalentna integralnoj reprezentaciji (6.4.1). s Iz (6.4.2) mogu se izvesti mnoge vane relacije za Besselove funkcije. Na primjer, z Besselove funkcije zadovoljavaju trolanu rekurziju c Jn+1 (x) 2n Jn (x) + Jn1 (x) = 0, x n N. (6.4.3)

Takoder, vrijedi J1 (x) = J0 (x). Dakle, kad bismo znali izraunati J0 (x) i J1 (x) c c (ili J0 (x)), onda bismo iz (6.4.3) mogli izraunati i Jn (x). Osim toga, generaliziranom Hornerovom shemom mogli bismo onda raunati i razne razvoje po Besselovim c funkcijama. Naalost, to je tako samo u teoriji. Rekurzija (6.4.3) je izrazito nestaz bilna unaprijed. Da bismo to pokazali, promotrimo ponaanje vrijednosti Besselovih s funkcija Jn (x) u ovisnosti o n i x. Iz (6.4.2) moe se pokazati da Besselove funkcije Jn zadovoljavaju diferenciz jalnu jednadbu z x2 y + xy + (x2 n2 )y = 0. Ovu jednadbu moemo promatrati na cijeloj kompleksnoj ravnini i u sluaju kad n z z c nije cijeli broj. Tada se, umjesto n, obino koristi oznaka za parametar jednadbe. c z Jedno od rjeenja ove jednadbe su Besselove funkcije prve vrste J , koje imaju bitno s z svojstvo da su ograniene u 0 kad je Re 0. Analitiki im je oblik c c J (x) = 1 x 2

(x2 /4)k , k! ( + k + 1) k=0

(6.4.4)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 259

gdje su i x, openito, kompleksni brojevi. U nastavku gledamo ponaanje ovih c s funkcija samo za nenegativne realne indekse 0 i argumente x 0. Ako je cijeli broj, onda prethodna relacija glasi Jn (x) = 1 x 2
n

(x2 /4)k . k=0 k! (n + k)!

Oba reda oito konvergiraju za x 0, a donji ak na cijelom skupu C. Na prvi c c pogled izgleda kao da smo time rijeili i problem raunanja vrijednosti J0 (x) i J1 (x). s c Zaista, ovaj red vrlo brzo konvergira za relativno male x, pa se moe koristiti z za raunanje. Medutim, za malo vee x, kad je x n (ili ) i dalje, dobivamo slino c c c ponaanje kao i kod aproksimacije trigonometrijskih funkcija Taylorovim redom, tj. s dolazi do sve veeg kraenja zbrajanjem uzastopnih lanova reda (6.4.4). c c c Graki, prve tri Besselove funkcije izgledaju ovako c
y J0 (x) 1 0.75 0.5 0.25 0 0.25 0.5 2 4 6 8 10 12 14 16 18 20 x J1 (x) J2 (x)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 260

sljedee tri ovako c


y J3 (x) 1 0.75 0.5 0.25 0 0.25 0.5 2 4 6 8 10 12 14 16 18 20 x J4 (x) J5 (x)

a, recimo, deseta Besselova funkcija ovako


y J10 (x) eksponencijalno ponaanje s trigonometrijsko ponaanje s

1 0.75 0.5 0.25 0 0.25 0.5 2 4 6 8 10 12 14 16

18

20

Uoite da se podruje eksponencijalnog ponaanja mijenja u trigonometrijsko poc c s druje priblino za x = , kao to smo i oekivali iz Taylorovog reda. c z s c Gledamo li Besselove funkcije ne kao funkcije od x, nego za ksni x, kao funkcije

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 261

indeksa , onda Besselove funkcije pokazuju ovakvo ponaanje za J (k), k = 1, 2, 3, s


J J (1) 1 0.75 0.5 0.25 0 0.25 0.5 1 2 3 4 5 6 J (2) J (3)

za J (k), k = 4, 5, 6,
J J (4) 1 0.75 0.5 0.25 0 0.25 0.5 2 4 6 8 10 12 J (5) J (6)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 262

odnosno, J (10) izgleda kao na sljedeoj slici: c


J (10) J (10) trigonometrijsko ponaanje s eksponencijalno ponaanje s

1 0.75 0.5 0.25 0 0.25 0.5 2 4 6 8 10 12 14 16

18

20

Primijetite da i po postoji podruje trigonometrijskog ponaanja koje za x c s prelazi u eksponencijalni pad prema nuli. Vidimo da kad n raste, u rekurziji (6.4.3) dobivamo sve manje i manje brojeve, to znai da mora doi do kraenja. To pokazuje da je rekurzija nestabilna u s c c c c rastuem smjeru po n, im udemo u ekponencijalno podruje. c c Za ilustraciju nestabilnosti moemo uzeti x = 1 i raunati vrijednosti Jn (x) z c koristei rekurziju (6.4.3) uzlazno po n, u extended preciznosti. Dobiveni rezultati c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 263

na 18 decimala (apsolutno) dani su u sljedeoj tablici. c n 0 1 2 3 4 5 6 7 8 9 izraunati Jn (1) c toni Jn (1) c

0.765197686557966552 0.765197686557966552 0.440050585744933516 0.440050585744933516 0.114903484931900481 0.114903484931900481 0.019563353982668406 0.019563353982668406 0.002476638964109955 0.002476638964109955 0.000249757730211237 0.000249757730211234 0.000020938338002418 0.000020938338002389 0.000001502325817779 0.000001502325817437 0.000000094223446486 0.000000094223441726 0.000000005249325991 0.000000005249250180 .

10 0.000000000264421352 0.000000000263061512 11 0.000000000039101058 0.000000000011980067 12 0.000000000595801917 0.000000000000499972 Kraenje, a time i gubitak relativne tonosti poinje odmah za n = 2, ulaskom u c c c eksponencijalno podruje. Medutim, to se ne vidi u ovoj tablici, jer su rezultati c prikazani apsolutno, a ne relativno. No, za n = 11 nemamo vie niti jednu tonu s c znamenku, a za n = 12 gubimo i monotoni pad po n. Vidimo da se dogada neto slino kao kod raunanja enx , to upuuje na s c c s c okretanje rekurzije i primjenu Millerovog algoritma. Koritenjem Millerovog algoritma dobivamo izuzetno dobre rezultate (drugi s stupac tablice, koji je toan). Funkcija izvodnica koja se pritom koristi za normalic zaciju je vrlo jednostavna J0 (x) + 2(J2 (x) + J4 (x) + + J2k (x) + ) = 1. Ova relacija izlazi direktno iz (6.4.2) za t = 1, kad iskoristimo parnost i neparnost Besselovih funkcija po n, tj. Jn = (1)n Jn . Za praktinu primjenu Millerovog algoritma poeljno je znati precizno ponac z anje rekurzije (6.4.3). Uoimo da je x ksan, a zanima nas ponaanje Jn (x) za s c s velike n. Moe se pokazati da u eksponencijalnom podruju vrijedi tzv. asimptotska z c relacija 1 ex , (6.4.5) J (x) 2 2 za ksni x i velike , tj. za . To pokazuje da se Jn (x), gledano po n, za velike n ponaa kao s cn , n+0.5 n

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 264

gdje je cn = (ex/2)n / 2, a to vrlo brzo trne kad n raste. Uz malo panje, odavde z se moe izraunati poetni indeks M za Millerov algoritam, tako da osiguramo z c c potrebnu tonost. c Na slian nain moe se opisati i ponaanje Besselovih funkcija J kada je c c z s ksan, a gledamo male ili velike argumente x. Za ksni , kad x 0 iz prvog lana c Taylorovog reda dobivamo i asimptotsku relaciju J (x) 1 x 2

1 , ( + 1)

s koja je, oito, dobra aproksimacija za x u dijelu domene gdje se J (x) ponaa kao c eksponencijalna funkcija. S druge strane, za x n, Jn (x) se ponaa poput kosinusa, tj. oscilira. U tom s trigonometrijskom podruju vrijedi c J (x) 2 cos x , x 4 2 (6.4.6)

za ksni , kad x . Tono znaenje relacija (6.4.5) i (6.4.6) bit e objanjeno u c c c s sljedeem odjeljku o asimptotskim razvojima. Uobiajeno se koristi oznaka , a ne c c , za takve asimpotske relacije. Napomena 6.4.1 Napomenimo jo da su sve potrebne vrijednosti J (x) za crtanje s prethodnih 6 slika izraunate sumacijom Taylorovog reda (6.4.4) unaprijed, sve dok c zadnji dodani lan ne padne ispod zadane tonosti. U prikazanom rasponu po i po c c x, kraenje je minimalno (23 dekadske znaajne znamenke). Jedini zanimljivi dio c c tog algoritma je raunanje vrijednosti funkcije, o emu e uskoro biti vie rijei. c c c s c Naravno, za crtanje grafova nam i ne treba neka velika tonost funkcijskih vric jednosti. U principu, savreno dovoljno je imati 3 znaajne znamenke u izraunatoj s c c 3 vrijednosti funkcije, tj. relativnu tonost reda veliine 10 . Za vrijednosti blizu c c nule, ne trebamo ni toliko. Dovoljna je relativna tonost istog reda veliine, ali c c obzirom na cijelu skalu, tj. raspon vrijednosti funkcije na cijelom grafu. Greku od s jedne tisuinke skale nitko nee ni primijetiti. Naime, ako je cijeli graf visok 10 cm, c c onda je ta greka na slici manja od desetinke milimetra! s Drugo je pitanje u koliko toaka treba izraunati vrijednost funkcije da bi c c se dobro nacrtao graf. Odgovor na to pitanje slijedi iz ocjena greke raznih vrsta s aproksimacija, a posebno interpolacije, to emo napraviti u poglavlju o aproksis c macijama. Zasad recimo samo to da je svaki od ovih grafova nacrtan koritenjem s 101 toke, uz jednak razmak po x osi, a i to je bitno previe. Tridesetak toaka je c s c sasvim dovoljno za vizuelno toan graf na ovim slikama. c Besselove funkcije imaju vrlo velike primjene u zici, u mnogim modelima, poev od difrakcije svjetlosti do energetskih nivoa u kvantnoj mehanici. Koritenjem c s

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 265

Millerovog algoritma, zajedno s Newtonovom metodom za nalaenje nultoaka funkz c cija, dobro se mogu izraunati i nultoke Besselovih funkcija, koje se, takoder, vrlo c c esto koriste. c Za razliku od crtanja grafova Besselovih funkcija, za numeriko raunanje njic c hovih nultoaka trebamo maksimalnu moguu tonost funkcijskih vrijednosti (barem c c c u apsolutnom smislu), a to se postie upravo Millerovim algoritmom. z

6.5.

Asimptotski razvoj

Sve aproksimacije koje smo do sada promatrali dobivene su rezanjem konvergentnih razvoja po nekom sustavu funkcija, tj. zamjenom konvergentnih redova konanom sumom. c U relaciji (6.2.3) zamijenili smo razvoj funkcije f oblika

f (x) =
n=0

an pn (x),

konanom parcijalnom sumom (6.2.4) c


N

fN (x) =
n=0

an pn (x),

podrazumijevajui da je rije o konvergentnom redu u toki x. Tada za ksni x, c c c ostatak reda tei prema nuli po N, z
N

lim (f (x) fN (x)) = lim

an pn (x) = 0.
n=N +1

Strogo formalno, ako se sjetimo denicije sume reda, i sam zapis za f (x) u obliku reda je sinonim za konvergenciju u ovom smislu. Eventualna uniformna konvergencija za sve x na nekoj domeni je dobrodola, ali nije bitna za ideju ove aproksimacije. s U ovom odjeljku emo pokazati da zamjenom uloge N i x u iskazu o u konc vergenciji razvoja dobivamo novi pojam asimptotskog razvoja, kojeg vrlo ekasno moemo iskoristiti i za praktino raunanje. Ovaj pristup se najee koristi za z c c c sc raunanje vrijednosti integrala, pa ga je zgodno uvesti ba na takvim primjerima. c s Primjer 6.5.1 Neka je f funkcija denirana integralom

f (x) =
0

ext cos t dt

(6.5.1)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 266

za realne nenegativne vrijednosti parametra x. Pokuajmo ovaj intergal izraunati s c tako da cos t razvijemo u red potencija po t, a zatim dobiveni red integriramo lan c po lan. Dobivamo redom c

f (x) =
0

ext 1 e
0 xt

t2 t4 + dt 2! 4!

dt
0

xt

t2 dt + 2!

ext
0

t4 dt . 4!

Za integraciju lan po lan, treba izraunati integrale oblika c c c

I2n (x) =
0

ext

t2n dt, (2n)!

za n N0 . Za n = 0 odmah dobivamo

I0 (x) =
0

1 ext dt = ext x

=
t=0

1 , x

jer ostaje samo vrijednost na donjoj granici, a na gornjoj granici znamo da za svaki pozitivni x, ext 0 kad t . Za 2n > 0 parcijalnom integracijom izlazi

I2n (x) =
0

t2n 1 d ext (2n)! x

t2n 1 = ext x (2n)! = Odavde indukcijom slijedi 1 I2n1 (x). x

1 + x t=0

ext
0

t2n1 dt (2n 1)!

I2n (x) =

1 x2n+1

Kad ove integrale uvrstimo natrag u red za f , dobivamo f (x) = I0 (x) I2 (x) + I4 (x) = 1 1 1 3 + 5 . x x x

Na kraju, ako je x > 1, onda red na desnoj strani konvergira i vrijedi f (x) = x2 x . +1 (6.5.2)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 267

Ovaj rezultat moemo dobiti i direktno iz (6.5.1) dvostrukom parcijalnom inz tegracijom,

f (x) =
0

xt

cos t dt =
0

ext d(sin t)

=e

xt

1 sin t + x t=0

ext sin t dt.


0

Prvi lan je nula na obje granice, pa ostaje c 1 f (x) = x

ext d( cos t)
0

1 1 2 = ext cos t x x t=0

ext cos t dt
0

1 1 = 2 f (x). x x Mnoenjem s x2 , za x > 0, dobivamo z x2 f (x) = x f (x), pa zakljuujemo da vrijedi (6.5.2), samo uz blau pretpostavku x > 0. c z Primjer 6.5.2 Pokuajmo primijeniti istu ideju na funkciju g deniranu integralom s

g(x) =
0

ext dt, 1+t

x > 0.

(6.5.3)

Oekujemo jo bolje rezultate, jer podintegralna funkcija jo bre trne nego u prethodc s s z nom kad t . Ovdje vrijedi 1/(1 + t) 0 kad t , dok je cos t u funkciji f samo ogranien izmedu 1 i 1. Supstitucijom razvoja c 1 = 1 t + t2 1+t dobivamo redom

g(x) =
0

ext (1 t + t2 ) dt

=
0

xt

dt
0

xt

t dt +
0

ext t2 dt .

Za integraciju lan po lan, treba izraunati integrale oblika c c c

In (x) =
0

ext tn dt,

n N0 .

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 268

Usporedbom s integralima In (x) za funkciju f iz prethodnog primjera odmah vidimo da je n! In (x) = n! In (x) = n+1 , n N0 . x Kad ove integrale uvrstimo natrag u red za g, dobivamo g(x) = I0 (x) I1 (x) + I2 (x) = 1! 1 2! 3! 2 + 3 4 + . x x x x (6.5.4)

c Medutim, ovaj red divergira za sve konane vrijednosti x i relacija (6.5.4) je besmislena. Dakle, funkciju g iz (6.5.3) ne moemo izraunati na ovaj nain. z c c Zato je isti postupak bio uspjean u prvom primjeru, a ostao bez rezultata u s s drugom? Odgovor je jednostavan. Razvoj funkcije cos t konvergira za sve vrijednosti t, tj. na cijeloj domeni integracije, ak i jae, on konvergira uniformno na svakom c c konanom intervalu za t. Zbog toga smijemo iskoristiti integraciju lan po lan c c c na svakom konanom intervalu, a zatim pustiti gornju granicu integracija na limes c t . U drugom sluaju, razvoj funkcije 1/(1 + t) konvergira samo za t < 1, a c divergira za t 1. Rezultat iz (6.5.4) treba shvatiti kao posljedicu integracije reda lan po lan, ali na intervalu na kojem taj red ne konvergira uniformno. c c Sve dosad reeno su standardne injenice o redovima i integraciji iz matec c matike analize. Medutim, ako cijelu stvar gledamo malo manje teorijski, a vie c s praktino, onda nam nitko ne brani da pokumo sumirati prvih nekoliko lanova c s c reda na desnoj strani u (6.5.4), za neku ksnu vrijednost x. Pogledajmo to e se s c dogoditi, iako je to u potpunoj suprotnosti s poznatom teorijom! c Primjer 6.5.3 Oznaimo s gn (x) parcijalne sume prvih n lanova reda iz (6.5.4) c gn (x) = (n 1)! 1 2! 3! 1! . 2 + 3 4 + + (1)n1 x x x x xn (6.5.5)

Uzmimo neki malo vei x, recimo x = 10, tako da nazivnici relativno brzo padaju c i izraunajmo prvih nekoliko vrijednosti gn (10). Za usporedbu, trebamo jo i tonu c s c vrijednost g(10). Numerikom integracijom moe se izraunati da je c z c g(10) = 0.0915633339397880819 .

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 269

Sljedea tablica pokazuje izraunate vrijednosti gn (10) i pripadne pogreke. c c s n 0 1 2 3 4 5 6 7 8 9 izraunati gn (10) c 0.090000000000000000 0.091400000000000000 0.091520000000000000 0.091541600000000000 0.091545632000000000 greka g(10) gn (10) s 0.001563333939788082 0.000163333939788082 0.000043333939788082 0.000021733939788082 0.000017701939788082 0.000021330739788082

0.100000000000000000 0.008436666060211918 0.092000000000000000 0.000436666060211918 0.091640000000000000 0.000076666060211918 0.091592000000000000 0.000028666060211918 0.091581920000000000 0.000018586060211918 .

10 0.091581920000000000 0.000018586060211918 11 0.091542003200000000 12 0.091589903360000000 0.000026569420211918 Dobivene vrijednosti su sasvim dobre aproksimacije! Vidimo da je g9 (10) najbolja aproksimacija, koja daje skoro 5 tonih decimala i skoro 4 tone vodee znamenke. c c c Naravno, za n 10 pogreke sve vie rastu i rezultati postaju beskorisni. s s Sve u svemu, rezultat uope nije lo, kad uzmemo da je nastao sumiranjem c s s s c c lanova divergentnog reda. Ndimo jo i objanjenje za ovaj prilino neoekivani c uspjeh. Jasno je da treba promatrati greku n-te parcijalne sume iz (6.5.5) u ksnoj s toki x. Neka je c en (x) := g(x) gn (x). Ako jo i razvoj funkcije 1/(1 + t) napiemo u istom obliku kao zbroj prvih n lanova s s c plus ostatak, (1)n tn 1 2 n1 n1 = 1 t + t + (1) t , + 1+t 1+t i to uvrstimo u deniciju (6.5.3) za g, dobivamo da je greka en (x) upravo integral s xt ostatka iz prethodne relacije pomnoenog s e , z en (x) = (1)
n xt n 0

e t dt. 1+t

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 270

Uoimo da smo ovdje imali konanu sumu, pa smo smjeli integrirati lan po lan. c c c c Ovu greku nije teko ocijeniti. Oito je s s c 1 1, 1+t pa je |en (x)| =
xt n 0

t 0,

e t dt 1+t

ext tn dt =
0

n! . xn+1

(6.5.6)

To pokazuje da je pogreka n-te parcijalne sume manja od apsolutne vrijednosti prs vog odbaenog lana. Osim toga, zato to lanovi alterniraju po predznaku, pogreka c c s c s ima isti predznak kao i prvi odbaeni lan. Dakle, lanove reda moemo iskoristiti c c c z za ocjenu pogreke i zbrajanje lanova treba zaustaviti tono ispred apsolutno najs c c manjeg lana. c Iz ocjene (6.5.6) za pogreku n-te parcijalne sume odmah slijede dva zakljuka. s c Ako gledamo konvergenciju u ksnoj toki x > 0, onda je c |en (x)| za n , pa nema govora o konvergenciji parcijalnih suma gn (x) prema g(x). To odgovara ranijem zakljuku da pripadni red divergira u svakoj toki x > 0. c c S druge strane, ako uzmemo da je n ksan, onda vrijedi |en (x)| 0 za x , (6.5.7)

to odgovara konvergenciji, ali sa zamijenjenim ulogama n i x. Takvu vrstu s konvergencije zovemo asimptotska konvergencija, u ovom sluaju, u okolini toke c c +. Parcijalne sume gn iz (6.5.5) generiraju red na desnoj strani (6.5.4), za kojeg kaemo da je asimptotski razvoj funkcije g u okolini toke +, a relaciju (6.5.4) z c piemo u obliku s g(x) 1! 1 (n 1)! 2! 3! 2 + 3 4 + + (1)n1 + x x x x xn (x +). (6.5.8)

Pritom oznaava asimptotsku konvergenciju reda na desnoj strani ove relacije, u c smislu (6.5.7). Prije precizne denicije pojma asimptotske konvergencije, objasnimo jo vris jednost prethodnog zakljuka. Relacija (6.5.7) vrijedi za svaki n N, to znai da c s c svaku od funkcija gn moemo koristiti za aproksimaciju funkcije g, samo to moramo z napraviti za dovoljno velike vrijednosti x, tj. u odgovarajuoj okolini toke +. c c Takvom aproksimacijom ne moemo postii proizvoljno veliku tonost, odnosno z c c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 271

proizvoljno malu greku, kao kod obine konvergencije. Ovisno o x, postoji minis c malna greka koju moemo dobiti (gledano po n) i bolje ne ide. Medutim, i to se s z uspjeno moe iskoristiti za praktino raunanje. s z c c Osim toga, rezultat (6.5.7) ima i teorijsku vrijednost. Uzmimo da je n = 1 u (6.5.7). To znai da se, u prvoj aproksimaciji, funkcija g ponaa kao g1 u okolini c s toke +, tj. da g(x) pada kao 1/x, kad x +. Iz relacije (6.5.6) dobivamo i c ocjenu greke za takvu aproksimaciju, s g(x) g1 (x) = g(x) 1/x = e1 (x). Iz (6.5.6) slijedi |e1 (x)|
0

ext t dt =

1 , x2

pa odmah vidimo da vrijede sljedee dvije relacije asimptotskog ponaanja. Prva je c s g(x) g1 (x) = O(1/x2) (x +) i ona slui kao osnova za deniciju asimptotskog razvoja. Druga je z g(x) g1 (x) = o(g1 (x)) (x +), ili, ekvivalentno (jer je g1 (x) = 0 za x > 0)
x+

lim

g(x) = 1. g1 (x)

Posljednju relaciju obino piemo u obliku c s g(x) g1 (x) (x +) (6.5.9)

i itamo g(x) je asimptotski jednako g1 (x) kad x +, to znai da relativna c s c greka od g1 (x) kao aproksimacije od g(x) tei prema nuli kad x +. s z Sve to slijedi samo iz prvog lana asimptotskog razvoja. Sto znamo vie c s lanova, dobivamo sve preciznije informacije o ponaanju fukcije g u okolini +. c s Napomenimo da ista oznaka ima razliita znaenja u relacijama (6.5.8) c c i (6.5.9). U (6.5.9) je relacija asimptotskog ponaanja i ta relacija je simetrina, s c ak relacija ekvivalencije. Za razliku od toga, u (6.5.8) oznaava asimptotski c c razvoj i ta relacija nije simetrina. Lijevo je funkcija, a desno je red potencija (red c funkcija). Uoimo da iz (6.5.8) slijede (6.5.9) i slini zakljuci za aproksimacije gn c c c s vie lanova reda, ova oznaka se tradicionalno koristi u oba znaenja. Naime, s c c relaciju (6.5.9) moemo interpretirati i kao skraeni zapis nekog asimptotskog razvoz c ja, s tim da je naveden samo prvi lan razvoja. Ali oprezno, tada zapis g(x) g1 (x), c po deniciji, znai samo c g(x) = 1, lim x+ g1 (x)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 272

i nema govora o nekoj asimptotskoj konvergenciji koja se iskazuje relacijom (6.5.7), jer ne postoje ostali lanovi razvoja (nema parametra n). Upravo tako treba interc pretirati i asimptotske relacije za Besselove funkcije iz prethodnog odjeljka. Precizna denicija asimptotskog razvoja u okolini neke toke bazirana je na c deniciji asimptotskog niza u okolini te toke. c Denicija 6.5.1 (Asimptotski niz) Neka je D R neki skup i c Cl D neka toka iz zatvaraa skupa D, s tim da c moe biti i + ili . Nadalje, neka je c c z n : D R, n N0 , niz funkcija za kojeg vrijedi n (x) = o(n1 (x)) (x c u D),

za svaki n N. Tada kaemo da je (n ) asimptotski niz kad x c u skupu D. z Podsjetimo, oznaka oznaka n (x) = o(n1 (x)) (x c u D) znai da svaka c funkcija n raste bitno sporije od prethodne funkcije n1 u okolini toke c, u smislu c da vrijedi n (x) lim = 0, xc n1 (x) xD c to ukljuuje i pretpostavku da je n1 (x) = 0 u nekoj okolini toke c gledano u s c c skupu D, osim eventualno u samoj toki c. Zato, ako funkcije n ine asimptotski c niz, tada svaka funkcija n raste bitno sporije od prethodne funkcije n1 u okolini toke c. Ili, ako neka funkcija iz tog niza tei prema nuli kad x c u skupu D, c z tada svaka sljedea funkcija tei prema nuli bitno bre od nje. c z z Ista denicija vrijedi i za kompleksne domene D C, a toka c moe biti i . c z Denicija 6.5.2 (Asimptotski razvoj) Neka je (n , n N0 ), asimptotski niz kad x c u skupu D. Formalni red funkcija

an n
n=0

je asimptotski razvoj funkcije f kad x c u skupu D, u oznaci f (x)

an n (x)
n=0

(x c u D),

(6.5.10)

ako za svaki N N vrijedi relacija asimptotskog ponaanja s


N 1

f (x) =
n=0

an n (x) + O(N (x))

(x c u D),

s tj. apsolutna greka izmedu f i (N 1)-e parcijalne sume reda raste najvie jednako s brzo kao i N-ti lan asimptotskog niza, u okolini toke c. c c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 273

Navedeni red funkcija treba interpretirati samo kao oznaku, tj. u isto formalc nom smislu, jer on moe biti divergentan u svakoj toki domene. z c Uoimo da iz prethodne dvije denicije odmah slijedi i c
N 1

f (x) =
n=0

an n (x) + o(N 1 (x)) (x c u D),

za svaki N N. To znai da apsolutna greka izmedu f i bilo koje parcijalne sume c s reda raste bitno sporije od zadnjeg lana u parcijalnoj sumi, u okolini toke c. c c Tipini primjeri asimptotskih nizova su obine i logaritamske potencije c c n (x) = (x c)n ili n (x) = (log(x c))n ,

c c za n N0 , u okolini toke c R (ili C). Pripadni asimptotski razvoji su obini redovi potencija f (x) ili logaritamskih potencija f (x)
n=0

an (x c)n

(x c u D),

n=0

an (log(x c))n

(x c u D).

U praksi se najee se koriste asimptotski nizovi u okolini toke oblika c sc c n (x) = xn ili n (x) = (log x)n ,

za n N0 , koji nastaju supstitucijom x 1/x iz nizova u okolini toke c = 0. Za c potencije s negativnim eksponentima, asimptotski razvoj (6.5.10) ima ve poznati c oblik an (x u D), f (x) n n=0 x to, po deniciji, znai da vrijedi s c
N 1

f (x) =
n=0

an + O(xN ) (x u D). xn

Tada nema smisla govoriti o rastu, ve o padu funkcija u okolini toke . Apsolutna c c greka izmedu f i (N 1)-e parcijalne sume reda pada barem jednako brzo kao i s xN , odnosno bitno bre od zadnjeg lana u sumi, koji je proporcionalan s x(N 1) . z c Povijesno gledano, H. Poincar je 1886. godine denirao asimptotski razvoj ba u e s ovom obliku. Napomenimo jo da asimptotsko ponaanje moe bitno ovisiti o domeni D, s s z ne samo zbog podruja denicije funkcija, ve zbog mogue restrikcije toaka po c c c c kojima se gledaju limesi kad x tei prema c. z

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 274

Ako je domena D = R ili D = C, onda se koristi skraena oznaka (x c), bez c navodenja domene D. Ako je jo i c = , onda se, tradicionalno, oznaka (x ) s moe i ispustiti, tj. podrazumijeva se razvoj u okolini toke . z c Moe se dogoditi da funkcija f nema asimptotski razvoj na zadanoj domeni D z u smislu prethodne denicije. Ako je g poznata ili zadana funkcija takva da f /g ima asimptotski razvoj, onda se umjesto relacije (6.5.10) za f /g, esto koristi i oznaka c f (x) g(x)
n=0

an n (x) (x c u D).

c s Ako je a0 = 0, onda prvi lan ovog razvoja daje i asimptotsko ponaanje funkcije f , tj. vrijedi f (x) a0 g(x), kad x c u D. U protivnom, ako je prvih k koecijenata c razvoja jednako nuli, tj. a0 = . . . = ak1 = 0 i ak = 0, onda vrijedi slina relacija (pokaite koja). z Analogno, ako f g ima asimptotski razvoj, gdje je g poznata funkcija, obino c piemo s f (x) g(x) +

an n (x) (x c u D).

n=0

6.6.

Verini razlomci i racionalne aproksimacije z

Na poetku ovog poglavlja zakljuili smo da ekasno moemo raunati samo c c z c racionalne aproksimacije funkcija. Sve dosadanje aproksimacije imale su oblik lins earne kombinacije nekih baznih funkcija. Kao bazne funkcije koristili smo potencije (aproksimacija polinomima) ili su potencije bile zamijenjene nekim drugim funkcijama, ali smo uvijek imali sume polinomnog oblika. U tim aproksimacijama, dijeljenje nismo bitno iskoristili u obliku aproksimacije. Ako se sjetimo nekih rezultata iz analize, poput Weierstraovog teorema o uniformnoj aproksimaciji funkcije polinomima na kompaktu, moglo bi nam se uiniti c da uope nema potrebe za drugim vrstama aproksimacija. S druge strane, prirodno c je oekivati da dodavanjem operacije dijeljenja u oblik aproksimacijske funkcije, c moemo postii znatno bolje aproksimacije za razne klase funkcija, koritenjem priz c s blino jednakog broja aritmetikih operacija. z c Pravu usporedbu polinomnih i racionalnih aproksimacija ostavljamo za poglavlje o aproksimacijama. Medutim, za praktinu primjenu racionalnih aproksimacija c bitni su dobri algoritmi za njihovo izvrednjavanje. Pretpostavimo da je zadana racionalna funkcija oblika R(x) = Pn (x) , Qm (x)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 275

gdje su Pn i Qm polinomi stupnjeva n i m, respektivno,


n m

Pn (x) =
k=0

ak xk ,

Qm (x) =
k=0

bk xk .

Oito je da izvrednjavanje prethodne funkcije moemo izvriti koritenjem c z s s dviju Hornerovih shema (po jedna za polinom u brojniku i nazivniku) i jednim dijeljenjem na kraju. Broj potrebnih operacija je n + m mnoenja, n + m zbrajanja z i jedno dijeljenje. Ipak, takvo izvrednjavanje racionalne funkcije nije idealno iz vie razloga. s Prvo, jer postoje algoritmi koji zahtijevaju manje operacija. Nadalje, moe se doz goditi da je vrijednost funkcije R(x0 ) neki broj razumnog reda veliine, ali je dobiven c dijeljenjem dva vrlo velika broja (koja nisu prikaziva u raunalu) ili dva vrlo mala c broja (dobivena kraenjem polinoma u brojniku ili nazivniku). Na neki nain, tada c c bi trebalo vriti neku normalizaciju u Hornerovoj shemi, im nam kvocijent prijede s c neku zadanu veliinu, a tada algoritam postaje strano kompliciran. c s Na primjer, ako aproksimiramo vrijednost funkcije th x (slino je i za bilo koju c drugu funkciju f koja ne tei u beskonanost kada x ) u toki x0 , pri emu je z c c c 1, racionalna aproksimacija bit e omjer dva polinoma. c x0 Ako elimo racionalnu aproksimaciju koja ima stupanj polinoma bar jedan u z brojniku i nazivniku, onda e racionalna aproksimacija biti omjer vrijednosti polic noma brojnika i nazivnika u dalekoj toki, a sama e vrijednost funkcije biti broj c c nekog razumnog reda veliine (u sluaju th x ak manji od 1). c c c U teoriji nepolinomnih aproksimacija mogue je pokazati da su, uz neke uvjete, c najbolje racionalne aproksimacije one kojima je stupanj polinoma u brojniku jednak onom u nazivniku ili se eventualno razlikuje za jedan. U tom sluaju racionalnu c aproksimaciju moemo napisati kao verini razlomak, pa e i brzina raunanja i z z c c problem preljeva (overow) biti rijeeni nainom izvrednjavanja takvog verinog s c z razlomka. No prije no to upoznamo tzv. funkcijske verine razlomke, upoznajmo se s s z brojevnim verinim razlomcima. z

6.6.1.

Brojevni verini razlomci z


a1 b1 + b2 + b3 + a2 a3 a4 b4 +

Izraz oblika R = b0 +

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 276

zovemo (brojevni) verini razlomak. Ovakav zapis je nespretan, pa su smiljeni z s alternativni zapisi. U razliitoj literaturi nailazimo na tri oblika zapisa verinih c z razlomaka R = b0 ; a1 a2 a3 , , ,... , b1 b2 b3 R = b0 + a1 | a2 | a3 | + + + , | b1 | b2 | b3

i moda najzgodniji zapis z R = b0 + a1 a2 a3 . b1 + b2 + b3 + (6.6.1)

Ako u beskonanom verinom razlomku uzmemo samo konano mnogo lanoc z c c va, a1 a2 a3 an , (6.6.2) + b + b + b1 2 3 bn onda se takav izraz zove n-ta konvergencija verinog razlomka R. Ako postoji z vrijednost verinog razlomka (6.6.1), onda se ona denira kao z Rn = b0 + R = lim Rn ,
n

gdje je Rn n-ta konvergencija denirana izrazom (6.6.2). Drugim rijeima, vano je znati kako ekasno izraunati Rn . c z c

6.6.2.

Uzlazni algoritam za izvrednjavanje brojevnih verinih razlomaka z

Promatrajmo n-tu konvergenciju verinog razlomka, koju moemo prikazati z z kao racionalni broj, kvocijent Pn i Qn Rn = Pn a1 a2 a3 an = b0 + + + + . Qn b1 b2 b3 bn

Za nultu konvergenciju je R0 = P0 = b0 , Q0

pa moemo izabrati da je P0 = b0 , Q0 = 1 (mogli smo i drugaije birati, jedini je z c uvjet da je P0 /Q0 = b0 ). Za sljedeu konvergenciju vrijedi c R1 = P1 a1 b0 b1 + a1 b1 P0 + a1 = b0 + = = . Q1 b1 b1 b1 Q0

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 277

Ako jo deniramo P1 = 1, Q1 = 0, onda prethodna relacija glasi s R1 = P1 b1 P0 + a1 P1 = , Q1 b1 Q0 + a1 Q1

s tj. ponovno moemo zatraiti da se brojnik odreduje koritenjem prethodnih broz z jnika, a nazivnik koritenjem prethodnih nazivnika, s P1 = b1 P0 + a1 P1 , Q1 = b1 Q0 + a1 Q1 . Te dvije relacije su baza indukcije za dokaz oblika rekurzije. Neka je Rn = Pn /Qn , za Pn i Qn vrijede relacije Pn = bn Pn1 + an Pn2 , Qn = bn Qn1 + an Qn2 . Uoimo da Rn+1 nastaje iz Rn ako bn zamijenimo s bn + an+1 /bn+1 . No, u postupku c raunanja Pk i Qk bn se pojavljuje samo u raunanju Pn i Qn , a ne kod prethodnih c c k < n. Stoga, za Rn+1 vrijedi P Rn+1 = n+1 , Qn+1 gdje je Pn+1 = bn + an+1 Pn1 + an Pn2 bn+1 an+1 an+1 = (bn Pn1 + an Pn2 ) + Pn1 = Pn + Pn1 , bn+1 bn+1 an+1 = bn + Qn1 + an Qn2 bn+1 an+1 an+1 = (bn Qn1 + an Qn2 ) + Qn1 = Qn + Qn1 . bn+1 bn+1 Pn+1 = bn+1 Pn+1 , Qn+1 = bn+1 Qn+1 , onda Rn+1 ostaje nepromijenjen (brojnik i nazivnik su skalirani), a prethodna rekurzija postaje Pn+1 = bn+1 Pn + an+1 Pn1 , Qn+1 = bn+1 Qn + an+1 Qn1 . Time je pokazano da rekurzija za Pn i Qn ostaje ista pri prelasku s konvergencije Rn na konvergenciju Rn+1 , a to je upravo korak indukcije. Drugim rijeima, deniramo li c P1 = 1, Q1 = 0, P0 = b0 , Q0 = 1, (6.6.3)

Qn+1

Deniramo li

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 278

onda, dobivamo tzv. uzlazni algoritam izvrednjavanja verinog razlomka z Pk = bk Pk1 + ak Pk2 , Qk = bk Qk1 + ak Qk2 , k = 1, 2, . . . , n. (6.6.4)

Primijetite da se u ovakvom zapisu algoritma lako mogu dodavati novi ak i bk , tzv. karike u verinom razlomku. z Iz (6.6.4) lako se ita da su Pk i Qk dva rjeenja diferencijske jednadbe c s z yk bk yk1 ak yk2 = 0. Uoite da bi nam u algoritmu (6.6.4) odgovaralo da su ili ak ili bk jednaki 1, c tako da ne moramo mnoiti tim koecijentima. To se moe postii koritenjem tzv. z z c s ekvivalentne transformacije. Neka su wk , za k 1, proizvoljni brojevi razliiti od 0 i w1 = w0 = 1. c Tvrdimo da izvrednjavanjem verinog razlomka z w0 w1 a1 w1 w2 a2 w2 w3 a3 R = b0 + . (6.6.5) w1 b1 + w2 b2 + w3 b3 + dobijemo isti R kao u (6.6.1). Oznaimo sa Sn i Tn brojnik i nazivnik n-te konverc gencije prethodnog verinog razlomka z Rn = Sn w0 w1 a1 w1 w2 a2 w2 w3 a3 wn1 wn an = b0 + . + + + Tn w1 b1 w2 b2 w3 b3 wn bn

Pogledajmo u kojem su odnosu Sk i Tk obzirom na Pk i Qk . Prvo napiimo rekurzije s za Sk i Tk , jednostavno umetanjem novih, proirenih ak i bk s Sk = wk bk Sk1 + wk1wk ak Sk2 , Tk = wk bk Tk1 + wk1 wk ak Tk2 , uz S1 = 1, T1 = 0, S0 = b0 , T0 = 1. Tvrdimo da postoji veza izmedu Pk i Sk , te Qk i Tk , Sk = P k
k

k = 1, 2, . . . , n,

wi ,
i=1

Tk = Qk

wi ,
i=1

k = 1, . . . , n.

Dokaz se provodi indukcijom po k. Za bazu indukcije uzmimo k = 1, 2. Iz rekurzija dobivamo: P1 = b1 P0 + a1 P1 , P2 = b2 P1 + a2 P0 , S1 = w1 b1 S0 + w0 w1 a1 S1 = w1 b1 P0 + w1 a1 P1 = w1 (b1 P0 + a1 P1 ) = w1 P1 , S2 = w2 b2 S1 + w1 w2 a2 S0 = w2 b2 w1 P1 + w1 w2 a2 P0 = w1 w2 (b2 P1 + a2 P0 ) = w1 w2 P2 .

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 279

Za korak indukcije, pretpostavimo da vrijedi Sk = P k za neke k, k 1. Tada vrijedi Sk+1 = wk+1bk+1 Sk + wk wk+1ak+1 Sk1 = wk+1bk+1 Pk
k i=1 k1 k

wi ,
i=1

Sk1 = Pk1

k1

wi
i=1

wi + wk wk+1 ak+1 Pk1


k+1 i=1

wi wi

= (bk+1 Pk + ak+1 Pk1)

wi = Pk+1

i=1 k+1 i=1

to je i trebalo pokazati. Na slian se nain dokazuje i relacija za Tk i Qk . s c c Dakle, vrijedi Sn = Rn = Tn Pn Qn


n+1

wi
i=1 n+1

= wi

Pn = Rn . Qn

i=1

Sada moemo pojednostavniti verini razlomak R, tj. svesti ga na alternativnu z z formu, tako da u rekurziji (6.6.4) ili ak ili bk budu jednaki 1. Pretpostavimo da su c ak = 0 za sve k 1. Budui da je izbor skalara wk , wk = 0, k 1 proizvoljan wk moemo izabrati tako da vrijedi z w1 a1 = 1, Odatle odmah slijedi w1 = odnosno openito c w2k = a1 a3 a2k1 , a2 a4 a2k w2k+1 = a2 a4 a2k , a1 a3 a2k+1 1 , a1 w2 = 1 a1 = , w1 a2 a2 w3 = 1 a2 = , w2 a3 a1 a3 ..., w1 w2 a2 = 1, ..., wn1 wn an = 1.

to se dokazuje indukcijom. Time smo dobili tzv. II tip verinog razlomka u kojem s z su brojnici jednaki 1, 1 1 1 R = b0 + + + + . b1 b2 b3 Pripadna uzlazna rekurzija za izvrednjavanje ima oblik Pk = bk Pk1 + Pk2 , Qk = bk Qk1 + Qk2 , k = 1, 2, . . . , n,

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 280

uz startne podatke iz relacije (6.6.3). S druge strane, moemo postii i da su nazivnici jednaki 1. Pretpostavimo da z c su bk = 0 za sve k 1. Budui da je izbor wk , wk = 0, k 1 proizvoljan, izaberemo c tako da vrijedi w1 b1 = 1, w2 b2 = 1, . . . , wn bn = 1, tj. stavljanjem 1 bk dobivamo tzv. I tip verinog razlomka u kojem su nazivnici jednaki 1, z wk = R = b0 + Koecijenti ak su jednaki a1 = odnosno openito c ak = a1 , b1 a2 = a2 , b1 b2 ak bk1 bk . a3 = a3 , b2 b3 a1 a2 a3 . 1+ 1+ 1+

Pripadna rekurzija za uzlazno izvrednjavanje je Pk = Pk1 + ak Pk2 , Qk = Qk1 + ak Qk2 , uz start (6.6.3). k = 1, 2, . . . , n,

6.6.3.

Eulerova forma verinih razlomaka i neki teoremi z konvergencije

Ako brojeve izaberemo tako da je zbroj brojnika i nazivnika jednak jedan (osim kod prve karike), tj. ako uzmemo w1 b1 = 1, wk1 wk ak + wk bk = 1, k = 2, 3, . . . ,

onda se verini razlomak svede na tzv. Eulerovu formu z R = b0 + 1 2 3 . 1+ (1 2 )+ (1 3 )+

Da bismo uspostavili vezu poetnog verinog razlomka i dobivenog verinog rac z z zlomka u Eulerovoj formi, napiimo rekurzije za verini razlomak u Eulerovoj formi s z koritenjem veliina Sk i Tk . Promatrajmo drugu rekurziju iz (6.6.4) za Qk odnosno s c

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 281

Tk , (jer nas zanima ta rekurzija za verini razlomak u Eulerovoj formi). Uz T1 = 0, z T0 = 1, dobivamo T1 = T0 + 1 T1 , Tk = (1 k )Tk1 + k Tk2 , k 2.

Uoite da je T1 = T0 = 1, pa vrijedi c Tk = 1, k 0.

Time se od dvije rekurzije za raunanje n-te konvergencije verinog razlomka koristi c z samo ona prva, tj. vrijedi Rk = Sk za sve k. Iz R1 = S1 = 1, R0 = S0 = b0 izlazi R1 = R0 + 1 R1 , Rk = (1 k )Rk1 + k Rk2 , k 2.

Ne mogu se svi verini razlomci mogu svesti na Eulerov oblik. Verini razlomak z z moe svesti na Eulerovu formu ako i samo ako su svi Qk = 0 (u rekurziji za poetni z c verini razlomak). z z Nadimo vezu izmedu originalnog i Eulerovog verinog razlomka. Dokaz te tvrdenje ponovno koristi indukciju. Prvo pokaimo da za sve wk vrijedi z wk = Qk1 , Qk k 1. (6.6.6)

Iz w1 b1 = 1, uz pretpostavku da je b1 = 0 slijedi w1 = 1 Q0 = , b1 Q1

to je baza indukcije. Pretpostavimo da za za neki wn vrijedi s wn = Qn1 . Qn

Iz denicijske relacije za Eulerov verini razlomak slijedi da je z wn wn+1 an+1 + wn+1 bn+1 = 1, pa primjenom pretpostavke indukcije dobivamo wn+1 = 1 wn an+1 + bn+1 = 1 Qn1 an+1 + bn+1 Qn = Qn Qn = , Qn1 an+1 + Qn bn+1 Qn+1

ime je dokazan korak indukcije. c Iz relacije (6.6.6) i denicije k = wk1wk ak

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 282

uz dogovor w0 = 1, odmah slijedi da je k = Qk2 ak , Qk k 2. (6.6.7)

Eulerovu formu verinog razlomka, uglavnom emo koristiti pri dokazivanju z c tvrdnji. Da bismo dokazali konvergenciju verinog razlomka, potraban nam je jedz nostavan izraz za Rk , po mogunosti neki red. c Prvo, iz rekurzija za Pk i Qk nadimo koliko je Rk Rk1 , a zatim i Rk Rk2 . Za k 1 vrijedi Rk Rk1 = Pk Pk1 Pk Qk1 Pk1 Qk = Qk Qk1 Qk Qk1 (bk Pk1 + ak Pk2)Qk1 Pk1 (bk Qk1 + ak Qk2 ) = Qk Qk1 ak (Pk1 Qk2 Pk2 Qk1 ) = Qk Qk1 ak ak1 (Pk2 Qk3 Pk3 Qk2 ) = = Qk Qk1 ak ak1 a1 . = (1)k+1 Qk Qk1 Rk Rk2 = (1)k bk ak1 a1 , Qk Qk2 k 2.

(6.6.8)

Na slian se nain dokazuje da je c c (6.6.9)

Koritenjem relacije (6.6.6) moemo (6.6.8) zapisati u terminima k (ponovno s z uz pretpostavku da su svi Qi razliiti od 0). Vrijedi c ak ak1 a1 = (1)k+1 k k1 1 . (6.6.10) Rk Rk1 = (1)k+1 Qk Qk1 Rekurzivnom primjenom (6.6.10) dobivamo da je Rk = (1)
k+1 k i=1

k k1 1 + Rk1 = = b0 +

(1)i+1 i i1 1 .

Ako verini razlomak konvergira, onda je z

R = lim Rk = b0 +
k i=1

(1)i+1 i i1 1 ,

(6.6.11)

pa je |Rk R| =

(1)i+1 i i1 1 .

i=k+1

Sada moemo izrei i dokazati neke rezultate o konvergenciji verinih razloz c z maka.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 283

Teorem 6.6.1 Ako su ak , bk > 0, tada vrijede nejednakosti R1 > R3 > > R2k1 > , R0 < R2 < < R2k < i R2m1 > R2k za svako m i k. Dokaz. Ako su ak , bk > 0, onda su to i Qk (po rekurziji). Nakon toga, dokaz trivijalno slijedi raspisivanjem relacije (6.6.9) za parne i neparne indekse. Teorem 6.6.2 Ako su ak , bk > 0 i vrijedi ak bk i bk > 0 za k 1, gdje je neka konstanta, onda je verini razlomak (6.6.1) konvergentan. z Dokaz. Budui da su ak , bk > 0, onda su to i Qk , pa iz (6.6.7) izlazi c 1 2 i = a1 a2 ai > 0, Qi Qi1

pa je red u (6.6.11) alternirajui. Po Leibnitzovom kriteriju dovoljno je pokazati da c n-ti lan tog reda tei u 0 i da mu lanovi opadaju po apsolutnoj vrijednosti. c z c Da bismo pokazali konvergenciju, dovoljno je pokazati da je i q za neko q < 1 (DAlembertov kriterij konvergencije). Iz (6.6.7) dobivamo i = ai Qi2 ai Qi2 ai Qi2 Qi2 = < = . Qi bi Qi1 + ai Qi2 ai Qi1 + ai Qi2 Qi1 + Qi2

U prethodnoj jednakosti potrebno je samo pokazati da postoji donja ograda za Qi1 , to slijedi iz uvjeta bk > 0 i rekurzije za Qi . Lako se dokazuje da je Qi Qi1 , s pa odatle slijedi da je Qi2 1 i < = < 1. (1 + )Qi2 1+ c s Takoder, red je alternirajui, pa po Leibnitzovom kriteriju, greka koju smo napravili c c ako R aproksimiramo s Rk manja je ili jednaka prvom odbaenom lanu u redu, tj. vrijedi a1 a2 ak+1 |Rk R| . Qk Qk+1

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 284

6.6.4.

Silazni algoritam za izvrednjavanje brojevnih veriz nih razlomaka

Vratimo se jo jednom na izvrednjavanje verinih razlomaka. Prethodni je s z teorem dao neke ocjene o tome koliko dobro Rn aproksimira R. Zbog toga, moemo z pretpostaviti da nam je unaprijed poznato koliko konvergencija trebamo da bismo dobro aproksimirali neki verini razlomak. z Krenemo li od silazno od bn , onda e sljedea rekurzija izvrednjavati Rn . c c c Deniramo Fn = bn (ili Fn+1 = ) i raunamo Fk = bk + na kraju emo dobiti c Rn = F0 . Primijetite da silazna rekurzija u svakom koraku ima tono jedno zbrajanje i c jedno dijeljenje, za razliku od uzlazne, koja u svakom koraku (u opem sluaju) ima c c 4 mnoenja i 2 zbrajanja. z Ova dva tipa rekurzija analogon su izvrednjavanja polinoma: silazna rekurzija analogon je Hornerove sheme, a uzlazna je analogon potenciranja i zbrajanja. Dapae, moe se pokazati da je silazna rekurzija za izvrednjavanje verinih rac z z zlomaka optimalna to se tie broja operacija, ak i ako su dozvoljene transformacije s c c koecijenata verinog razlomka prije poetka izvrednjavanja. z c ak+1 , Fk+1 k = (n), n 1, . . . , 0,

6.6.5.

Funkcijski verini razlomci z

Funkcijski verini razlomci mogu se dobiti na vie naina, i mogu imati vie z s c s oblika. Verine razlomke koji imaju varijablu u brojniku zovemo verini razlomci z z tipa I i oni imaju opi oblik c f (x) = 0 + x x1 x x2 x x3 . 1 + 2 + 3 + (6.6.12)

Funkcijski verini razlomci mogu imati varijablu u nazivniku, i takve verine raz z zlomke zovemo verini razlomci tipa II. Openito, oni imaju oblik z c f (x) = b0 + a1 a2 a3 . + (x + b )+ (x + b )+ (x + b1 ) 2 3 (6.6.13)

Izvrednjavanje verinih razlomaka oba tipa vrlo je slino izvrednjavanju broz c z jevnih verinih razlomaka. Za izvrednjavanje n-te konvergencije fn (x) verinih z

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 285

razlomaka prvog tipa, moemo koristiti silazni algoritam. Stavimo Fn = n (ili z Fn+1 = ), a zatim raunamo c Fk = k + i na kraju je fn (x) = F0 . Za izvrednjavanje n-te konvergencije verinih razlomaka drugog tipa moemo z z koristiti, takoder, silazni algoritam. Stavimo Fn = bn (ili Fn+1 = ), a zatim raunamo c ak+1 Fk = bk + , k = (n), n 1, . . . , 0, x + Fk+1 i na kraju je fn (x) = F0 . Kako dolazimo do verinih razlomaka? Obino je neto lake doi do verinih z c s s c z razlomaka tipa I, a zatim ih moemo pretvoriti u tip II. Ako imamo zadanu funkciju z f , uobiajeno se verini razlomak nalazi nestandardiziranim postupkom kad se c z funkcija zapisuje pomou same sebe. Da bismo to bolje objasnili, pogledajmo c to na primjeru jedne funkcije. Primjer 6.6.1 Razvijmo u verini razlomak prvog tipa funkciju z f (x) = 1 + x. Prvo, potrebno funkciju malo drugaije zapisati. Lako se provjerava da je c 1+x=1+ x . 1+ 1+x x xk+1 , Fk+1 k = (n), n 1, . . . , 0,

Ako ponovimo ovaj raspis u nazivniku razlomka, dobivamo verini razlomak z 1+x=1+ x x x . 2+ 2+ 2+

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 286

Navedimo neke od poznatih verinih razlomaka, bez njihova izvoda: z ex = 1 x x x x x x x . 1 1+ 2 3+ 2 5+ 2 7+ x x x x x x x = 1 + + + + , 1 2 3 2 5 2 7 x x x 4x 4x 9x 9x 16x 16x , 1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+ x2 x2 x2 x2 , 1 3 5 7 x= (2n + 1) , 2

ln(x + 1) =

x tg x =

x arctg x =

x2 x2 4x2 9x2 16x2 , 1+ 3+ 5+ 7+ 9+ x2 x2 x2 x2 1+ 3+ 5+ 7+ x2 x2 4x2 9x2 16x2 . 1 3 5 7 9

x th x =

x Arth x =

Svi ovi verini razlomci su prvog tipa. Ima li koristi znati kako bi izgledao z njihov drugi tip? Na primjer esta konvergencija verinog razlomka za 1 + x bi s z izgledala ovako, redom, prvi tip, racionalna funkcija, drugi tip: 1+x =1+ =7+ x x x x x x 7x3 + 56x2 + 112x + 64 = 3 2+ 2+ 2+ 2+ 2+ 2 x + 24x2 + 80x + 64 112 24/7 8/63 . (x + 20)+ (x + 8/3)+ (x + 4/3)

Sto vidimo? Iako drugi tip ima kompliciranije koecijente, ima upola manje karika za izvrednjavanje, pa e to dva puta ubrzati postupak izvrednjavanja. Stoga se javlja c potreba za pretvaranje verinog razlomka prvog tipa u verini razlomak drugog tipa. z z Postupak se obavlja u dva koraka. U prvom koraku od verinog razlomka prvog tipa dobivamo racionalnu funkz ciju. Pogledajmo silazni algoritam za izvrednjavanje verinog razlomka prvog tipa. z Fk elimo napisati kao kvocijent dva polinoma, pa moemo denirati z z uk Fk = . vk Tada silazna rekurzija glasi (x xk+1 )vk+1 uk = k + . vk uk+1

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 287

Kao to smo to i prije radili, izjednaimo brojnike i nazivnike funkcija s obje strane. s c Dobivamo uk = k uk+1 + (x xk+1 )vk+1 , vk = uk+1. z s z Naravno vk moemo eliminirati uvrtavanjem iz druge jednadbe u prvu, pa dobivamo uk = k uk+1 + (x xk+1 )uk+2, k = n, n 1, . . . , 0, uz start un+2 = 0, un+1 = 1. Konano, n-ta je konvergencija jednaka c fn (x) = F0 = u0 u0 = . v0 u1

Da bismo iz racionalne funkcije dobili drugi tip verinog razlomka, potrebno z je koristiti silaznu rekurziju za drugi tip i usporedivati s u0 /u1 . Iz silazne rekurzije za drugi tip izlazi a1 u0 = b0 + , u1 x + F1 pa moemo pisati z b u0 = u10 + a1 R1 . Zatim ponovimo postupak i dobivamo b u1 = R11 + a2 R2 . Ova rekurzija se prekida kad je stupanj polinoma 0. Algoritam za pretvaranje racionalne funkcije u drugi tip verinog razlomka je z sljedei. Denira se R1 = u0 i R0 = u1 . Zatim se vrti petlja c Rk1 = Rkk + ak+1 Rk+1 b za k = 0, 1, 2, . . .

sve dok ne bude ispunjen uvjet Rx = 1. Pritom je k = b b0 , k = 0, bk + x, k = 0.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 288

7. Aproksimacija i interpolacija
7.1. Opi problem aproksimacije c

Sto je problem aproksimacije? Ako su poznate neke informacije o funkciji f , deniranoj na nekom skupu X R, na osnovu tih informacija elimo f zamijeniti z nekom drugom funkcijom na skupu X, tako da su f i bliske u nekom smislu. Skup X je najee interval oblika [a, b] (moe i neogranien), ili diskretni skup c sc z c toaka. c Problem aproksimacije javlja se u dvije bitno razliite formulacije. c (a) Poznata je funkcija f (npr. analitiki), ali je njena forma prekomplicirana c za raunanje. U tom sluaju odabiremo neke informacije o f i po nekom c c kriteriju odredimo aproksimacijsku funkciju . U tom sluaju moemo birati c z informacije o f koje emo koristiti. Jednako tako, moemo ocijeniti greku c z s dobivene aproksimacije, obzirom na pravu vrijednost funkcije f . (b) Funkcija f nije poznata, ali su poznate samo neke informacije o njoj, na primjer, vrijednosti na nekom skupu toaka. Zamjenska funkcija odreduje se iz c raspoloivih informacija, koje, osim samih podataka, ukljuuju i oekivani obz c c lik ponaanja podataka, tj. funkcije . U ovom se sluaju ne moe napraviti s c z ocjena pogreke bez dodatnih informacija o nepoznatoj funkciji f . s Varijanta (b) je puno ea u praksi. Najee se javlja kod mjerenja raznih c sc c sc veliina, jer, osim izmjerenih podataka, pokuavamo aproksimirati i podatke koji se c s nalaze izmedu izmjerenih toaka. Primijetimo da se kod mjerenja javljaju i poc greke mjerenja, pa postoje posebne tehnike za ublaavanje tako nastalih greaka. s z s Funkcija bira se prema prirodi modela, ali tako da bude relativno jednostavna za raunanje. Ona obino ovisi o parametrima ak , k = 0, . . . , m, koje treba c c odrediti po nekom kriteriju, (x) = (x; a0 , a1 , . . . , am ). Kad smo funkciju zapisali u ovom obliku, kao funkciju koja ovisi o parametrima z c ak , onda kaemo da smo odabrali opi oblik aproksimacijske funkcije. Oblike aproksimacijskih funkcija moemo (grubo) podijeliti na: z

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 289

(a) linearne aproksimacijske funkcije, (b) nelinearne aproksimacijske funkcije. Bitne razlike izmedu ove dvije grupe aproksimacijskih funkcija opisujemo u nastavku.

7.1.1.

Linearne aproksimacijske funkcije


(x) = a0 0 (x) + a1 1 (x) + + am m (x),

Opi oblik linearne aproksimacijske funkcije je c

gdje su 0 , . . . , m poznate funkcije koje znamo raunati. Primijetite da se linc earnost ne odnosi na oblik funkcije , ve na njenu ovisnost o parametrima ak c koje treba odrediti. Prednost ovog oblika aproksimacijske funkcije je da odredivanje parametara ak obino vodi na sustave linearnih jednadbi. c z Navedimo najee koritene oblike linearnih aproksimacijskih funkcija. c sc s 1. Algebarski polinomi, k (x) = xk , k = 0, . . . , m, tj. (x) = a0 + a1 x + + am xm . Funkciju (x) ne moramo nuno zapisati u standardnoj bazi obinih potencija z c m {1, x, . . . , x }. Vrlo esto je neka druga baza bitno pogodnija, na primjer, c tzv. ortogonalnih polinoma ili baza {1, (x x0 ), (x x0 ) (x x1 ), . . . }, gdje su c x0 , x1 , . . . zadane toke. 2. Trigonometrijski polinomi, pogodni za aproksimaciju periodikih funkcija, rec cimo, u modeliranju signala. Za funkcije k uzima se m + 1 funkcija iz skupa {1, cos x, sin x, cos 2x, sin 2x, . . . }. Katkad se koristi i faktor u argumentu sinusa i kosinusa koji slui za kontrolu z perioda, a ponekad se biraju samo parne ili samo neparne funkcije iz ovog skupa. 3. Po dijelovima polinomi, tzv. splajn funkcije. Ako su zadane toke x0 , . . . , xn , c onda se splajn funkcija na svakom podintervalu svodi na polinom odredenog ksnog (niskog) stupnja, tj.
[xk1 ,xk ]

= pk ,

k = 1, 2, . . . , n,

a pk su polinomi najee stupnjeva 1, 2, 3 ili 5. U tokama xi obino se zahtic sc c c jeva da funkcija zadovoljava jo i tzv. uvjete ljepljenja vrijednosti funkcije s i nekih njenih derivacija ili nekih aproksimacija tih derivacija. Splajnovi se danas esto koriste zbog dobrih svojstava obzirom na greku aproksimacije i c s kontrolu oblika aproksimacijske funkcije.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 290

7.1.2.

Nelinearne aproksimacijske funkcije

Navedimo najee koritene oblike nelinearnih aproksimacijskih funkcija. c sc s 4. Eksponencijalne aproksimacije (x) = c0 eb0 x + c1 eb1 x + + cr ebr x , koje imaju n = 2r + 2 nezavisna parametra, a opisuju, na primjer, procese rasta i odumiranja u raznim populacijama, s primjenom u biologiji, ekonomiji i medicini; 5. Racionalne aproksimacije (x) = b0 + b1 x + + br xr , c0 + c1 x + + cs xs

koje imaju n = r +s+1 nezavisni parametar, a ne r +s+2, kako formalno pie. s Naime, razlomci se mogu proirivati (ili skalirati), pa ako su bi , ci parametri, s onda su to i tbi , tci , za t = 0. Zbog toga se uvijek ksira jedan od koecijenata bi ili ci , a koji je to obino slijedi iz prirode modela. c Ovako denirane racionalne funkcije imaju mnogo bolja svojstva aproksimacije nego polinomi, a pripadna teorija je relativno nova.

7.1.3.

Kriteriji aproksimacije

Aproksimacijske funkcije biraju se tako da najbolje zadovolje uvjete koji se postavljaju na njih. Najei su zahtjevi da graf aproksimacijske funkcije prolazi c sc odredenim tokama tj. da interpolira funkciju u tim tokama ili da je odstupanje c c aproksimacijske od polazne funkcije u nekom smislu minimalno, tj. tada se minimizira pogreka. s Interpolacija Interpolacija je zahtjev da se vrijednosti funkcija f i podudaraju na nekom konanom skupu argumenata (ili krae toaka). Te toke obino nazivamo voroc c c c c c vima interpolacije. Ovom zahtjevu se moe, ali i ne mora dodati zahtjev da se u z vorovima, osim funkcijskih vrijednosti, poklapaju i vrijednosti nekih derivacija. c Drugim rijeima, u najjednostavnijem obliku interpolacije, kad traimo samo c z podudaranje funkcijskih vrijednosti, od podataka o funkciji f koristi se samo informacija o njenoj vrijednosti na skupu od (n + 1) toaka, tj. podaci oblika (xk , fk ), c gdje je fk = f (xk ), za k = 0, . . . , n.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 291

Parametri a0 , . . . , an (kojih mora biti tono onoliko koliko i podataka!) odrec duju se iz uvjeta (xk ; a0 , a1 , . . . , an ) = fk , k = 0, . . . , n, to je, openito, nelinearni sustav jednadbi. Ako je aproksimacijska funkcija s c z linearna, onda za parametre ak dobivamo sustav linearnih jednadbi koji ima tono z c n + 1 jednadbi i n + 1 nepoznanica. Matrica tog sustava je kvadratna, to bitno z s olakava analizu egzistencije i jedinstvenosti rjeenja za parametre interpolacije. s s Minimizacija pogreke s Minimizacija pogreke je drugi kriterij odredivanja parametara aproksimacije. s Funkcija bira se tako da se minimizira neka odabrana norma pogreke s e(x) = f (x) (x) u nekom odabranom vektorskom prostoru funkcija deniranih na nekoj domeni X. Ove aproksimacije, esto zvane i najbolje aproksimacije po normi, dijele se c na diskretne i kontinuirane, ovisno o tome minimizira li se norma pogreke e na s diskretnom ili kontinuiranom skupu podataka X. Standardno se kao norme pogreke koriste 2-norma i -norma. Za 2-normu s pripadna se aproksimacija zove srednjekvadratna, a metoda za njeno nalaenje z zove se metoda najmanjih kvadrata. Funkcija , odnosno njeni parametri, se trae tako da bude e 2 minimalna na X. z U diskretnom sluaju je X = {x0 , . . . , xn }, pa je zathjev minimalnosti c
n

(f (xk ) (xk ))2 min,

k=0

dok je u kontinuiranom sluaju c


b

(f (x) (x))2 dx min .


a

Preciznije, minimizira se samo ono pod korijenom. Tako se dobiva jednako rjeenje s kao da se minimizira korijen tog izraza, jer je drugi korijen rastua funkcija. c Zato se ba minimiziraju kvadrati greaka? To ima veze sa statistikom, jer se s s s izmjereni podaci obino ponaaju kao normalna sluajna varijabla, s oekivanjem c s c c koje je tona vrijednost podatka. Odgovarajui kvadrati su varijanca i nju treba c c minimizirati.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 292

U sluaju -norme pripadna se aproksimacija zove minimaks aproksimacija, c a parametri se biraju tako da e bude minimalna. U diskretnom sluaju problem c se svodi na max |f (xk ) (xk )| min,
k=0,...,n

a u kontinuiranom
x[a,b]

max |f (x) (x)| min .

U nekim problemima ovaj je tip aproksimacija poeljniji od srednjekvadratnih, jer se z trai da maksimalna greka bude minimalna, tj. najmanja mogua, ali ih je openito z s c c mnogo tee izraunati (na primjer, dobivamo problem minimizacije nederivabilne z c funkcije). Napomenimo jo da smo u prethodnim primjerima koristili uobiajene (diskrets c ne i kontinuirane) norme na odgovarajuim prostorima funkcija, ovisno o domeni c X. Naravno, normirani prostor u kojem traimo aproksimacijsku funkciju ovisi o z problemu kojeg rjeavamo. Nerijetko u praksi, norme, pored funkcije ukljuuju i s c neke njene derivacije. Primjer takve norme je norma
b

f =
a

(f (x))2 + (f (x))2 dx,

na prostoru C 1 [a, b] svih funkcija koje imaju neprekidnu prvu derivaciju na segmentu [a, b]. Objasnimo jo koja je uloga parametrizacije aproksimacijskih funkcija. Ois c to, rije je o izboru prikaza ili baze u prostoru aproksimacijskih funkcija ili nainu c c zadavanja tog prostora. Dok prva dva problema uglavnom ne ovise o parametrizaciji, kao to emo vidjeti, dobar izbor baze je kljuan korak u konstrukciji tonih s c c c i ekasnih algoritama. Problem interpolacije moemo smatrati specijalnim, ali posebno vanim sluaz z c jem aproksimacije po normi na diskretnom skupu X vorova interpolacije uz neku c od standardnih normi na konanodimenzionalnim prostorima. Posebnost se ogleda c u injenici to se moe postii da je minimum norme pogreke jednak nuli, a to je c s z c s ekvivalentno odgovarajuim uvjetima interpolacije. c Na primjer, uzmimo da je X = {x0 , . . . , xn } i traimo aproksimacijsku funkciju z s u prostoru Pn svih polinoma stupnja najvie n. Kao kriterij aproksimacije uzmimo bilo koju p-normu (1 p ) vektora e pogreke funkcijskih vrijednosti na skupu s X, tj. e
p

= f

n p

=
k=0

|f (xk ) (xk )|p

1/p

min,

1 p < ,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 293

odnosno e Oito je e c
p

= f

= max |f (xk ) (xk )| min .


k=0,...,n

= 0 ekvivalentno uvjetima interpolacije f (xk ) = (xk ), k = 0, . . . , n,

samo nije jasno da li se to moe postii, tj. da li postoji takva aproksimacijska z c funkcija Pn za koju je minimum greke jednak nuli, tako da je i interpolacijska s funkcija. U odjeljaku 7.2. pokazat emo da je odgovor za ovaj primjer potvrdan. c Osnovni matematiki problemi u teoriji aproksimacije c Pri kraju ovog uvoda u opi problem aproksimacije funkcija postaje jasno koji c su kljuni matematiki problemi koje treba rijeiti: c c s egzistencija i jedinstvenost rjeenja problema aproksimacije, to ovisi o tome s s koje funkcije f aproksimiramo kojim funkcijama (dva prostora) i kako mjerimo greku, s analiza kvalitete dobivene aproksimacije vrijednost najmanje pogreke i s ponaenje funkcije greke e (jer norma je ipak samo broj), s s konstrukcija algoritama za raunanje najbolje aproksimacije, c dokaz ekasnosti i tonosti algoritma, a ako je proces beskonaan njegovu c c globalnu i asimptotsku konvergenciju.

7.2.

Interpolacija polinomima

Pretpostavimo da imamo funkciju f zadanu na diskretnom skupu razliitih c toaka xk , k = 0, . . . , n, tj. xi = xj za i = j. Poznate funkcijske vrijednosti u tim c tokama skraeno oznaavamo s fk = f (xk ). c c c Primijetite da pretpostavka o razliitosti toaka nije bitno ogranienje. Naime, c c c kad bismo dozvolili da je xi = xj uz i = j, ili f ne bi bila funkcija (ako je fi = fj ) ili bismo imali redundantan podatak (ako je fi = fj ), koji moemo ispustiti. z Ako je [a, b] segment na kojem koristimo interpolaciju (i promatramo greku), s u praksi su toke obino numerirane tako da vrijedi a x0 < x1 < < xn b. c c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 294

7.2.1.

Egzistencija i jedinstvenost interpolacijskog polinoma

Za polinomnu interpolaciju vrijedi sljedei teorem, iji dokaz koristi injenicu c c c da linearni sustav s regularnom matricom ima jedinstveno rjeenje. U iskazu teorema s koristi se oznaka N0 za skup cijelih nenegativnih brojeva. Teorem 7.2.1 Neka je n N0 . Za zadane toke (xk , fk ), k = 0, . . . , n, gdje je c xi = xj za i = j, postoji jedinstveni (interpolacijski) polinom stupnja najvie n s (x) := pn (x) = a0 + a1 x + + an xn za koji vrijedi pn (xk ) = fk , k = 0, . . . , n. s Dokaz. Neka je pn = a0 + a1 x + + an xn polinom stupnja najvie n. Uvjete interpolacije moemo napisati u obliku z pn (x0 ) = a0 + a1 x0 + + an xn = f0 0 pn (x1 ) = a0 + a1 x1 + + an xn = f1 1 pn (xn ) = a0 + a1 xn + + an xn = fn . n Drugim rijeima, treba provjeriti ima li ovaj sustav od (n + 1)-e linearne jednadbe c z s (n + 1)-om nepoznanicom a0 , . . . , an jedinstveno rjeenje. Za to je dovoljno provs jeriti je li kvadratna matrica tog linearnog sustava regularna. To moemo napraviti z raunanjem vrijednosti determinante te matrice. Ta determinanta je tzv. Vanderc mondeova determinanta 1 x0 1 x1 . . Dn = . . . . 1 xn1 1 xn x2 0 x2 1 . . . 2 xn1 x2 n xn 0 xn 1 . . . xn n1 xn n

Denirajmo determinantu koja nalii na Dn , samo umjesto potencija od xn , posljedc nji redak ima potencije od x: 1 x0 1 x1 . . Vn (x) = . . . . 1 xn1 1 x x2 0 x2 1 . . . x2 n1 x2 xn 0 xn 1 . . . xn n1 n x

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 295

Primijetimo da je Dn = Vn (xn ). Gledamo li Vn (x) kao funkciju od x, lako se vidi, razvojem po posljednjem retku, da je to polinom stupnja najvie n u varijabli x, s s vodeim koecijentom Dn1 uz xn . c S druge strane, ako za x redom uvrtavamo x0 , . . . , xn1 , determinanta Vn (x) s e imati dva jednaka retka pa e biti c c Vn (x0 ) = Vn (x1 ) = = Vn (xn1 ) = 0, c c Dakle, toke x0 , . . . , xn1 su nultoke polinoma Vn (x) stupnja n. Da bismo tono c odredili polinom stupnja n, ako su poznate njegove nultoke, potrebno je samo c znati njegov vodei koecijent. U ovom sluaju, pokazali smo da je to Dn1 . Odatle c c odmah slijedi Vn (x) = Dn1 (x x0 ) (x x1 ) (x xn1 ). Kad uvrstimo x = xn , dobivamo rekurzivnu relaciju za Dn Dn = Dn1 (xn x0 ) (xn x1 ) (xn xn1 ). s Ako znamo da je D0 = 1, to je trivijalno, dobivamo da je Dn = (xi xj ).
0j<in

Budui da je xi = xj za i = j, onda je Dn = 0, tj. matrica linearnog sustava c je regularna, pa postoji jedinstveno rjeenje a0 , . . . , an za koecijente polinoma pn , s odnosno jedinstven interpolacijski polinom. Ovaj teorem u potpunosti rjeava prvo kljuno pitanje egzistencije i jedins c stvenosti rjeenja problema polinomne interpolacije u njegovom najjednostavnijem s obliku kad su zadane funkcijske vrijednosti u medusobno razliitim tokama. c c Takav oblik interpolacije, kad traena funkcija (u ovom sluaju polinom) mora z c interpolirati samo funkcijske vrijednosti zadane funkcije, obino zovemo Lagrangec ova interpolacija. U openitijem sluaju, moemo zahtijevati interpolaciju zadanih c c z vrijednosti funkcije i njezinih uzastopnih derivacija. Takvu interpolaciju zovemo Hermiteova interpolacija. Neto kasnije emo pokazati da problem Hermiteove s c interpolacije moemo rijeiti kao granini sluaj Lagrangeove, kad dozvolimo viez s c c s struko ponavljanje istih vorova, tj. otpustimo ogranienje na medusobnu razliic c c tost vorova. c Za poetak, moramo rijeiti preostala dva problema vezana uz polinomnu Lac s grangeovu interpolaciju, a to su: konstrukcija algoritama i analiza greke. s

7.2.2.

Kako nai prave algoritme? c

Kakve algoritme trebamo? Odgovor ovisi o tome to elimo postii interpos z c lacijom. Kao i kod svih aproksimacija, oita primjena je zamjena funkcijskih vrijedc c nosti f (x) vrijednostima interpolacijskog polinoma pn (x), i to u tokama x koje u

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 296

principu nisu vorovi interpolacije. To je posebno bitno ako vrijednosti funkcije f ne c znamo u ostalim tokama, ili se one teko raunaju (recimo algoritam zahtijeva vrlo c s c mnogo operacija ili je nestabilan, pa treba primijeniti posebne tehnike raunanja). c U tom smo sluaju jedva izraunali i ove vrijednosti od f koje smo iskoristili za c c interpolaciju. Dakle, sigurno trebamo algoritam za raunanje vrijednosti interpolacijskog c polinoma u nekoj zadanoj toki x koja nije vor, jer u vorovima ionako vrijedi c c c f (x) = pn (x). z Toaka x u kojima elimo izraunati pn (x) moe biti vrlo mnogo, a gotovo c z c nikad nije samo jedna. Zbog toga se problem raunanja vrijednosti pn (x) uvijek c rjeava u dvije faze: s 1. prvo nademo polinom pn , jer on ne ovisi o toki x, ve samo o zadanim poc c dacima (xk , fk ), k = 0, . . . , n, 2. zatim, za svaku zadanu toku x izraunamo pn (x). c c Prvu fazu je dovoljno napraviti samo jednom i zato svaku od ovih faza treba realizirati posebnim algoritmom. Dodatno, elimo to bri algoritam, posebno u drugoj z s z fazi, jer se on tamo puno puta izvrava. Medutim, neemo zahtijevati brzinu na s c utrb stabilnosti, ako se to moe izbjei, bez veeg gubitka brzine. s z c c Pogledajmo detaljnije prvu fazu. Sto znai nai polinom pn ? Broj podataka c c n + 1 u potpunosti odreduje ((n + 1)-dimenzionalni) vektorski prostor polinoma Pn (stupnja manjeg ili jednakog n) u kojem, prema teoremu 7.2.1, postoji jedinstveni polinom pn koji interpolira zadane podatke. Izaberimo neku bazu {b0 , b1 , . . . , bn } u tom prostoru Pn . Polinom pn ima u (svakoj pa zato i izabranoj) bazi jedinstven s prikaz, kao linearna kombinacija polinoma bi iz te baze. Dakle, da bismo nali pn , treba (i dovoljno je) nai koecijente ai u prikazu c
n

pn (x) =
i=0

ai bi (x).

Njih moemo nai tako da u ovu relaciju uvrstimo sve uvjete interpolacije z c
n

pn (xk ) =
i=0

ai bi (xk ) = fk ,

k = 0, . . . , n,

i tako dobijemo linearni sustav reda n + 1 za nepoznate koecijente. Matrica B tog linearnog sustava je sigurno regularna, jer su bazne funkcije bi linearno nezavisne i svaka dva razliita polinoma stupnja n ne mogu imati jednake vrijednosti u svih c n+1 toaka xk . Elementi matrice B imaju oblik Bi+1,k+1 = bi (xk ), za i, k = 0, . . . , n. c U pripadnom algoritmu, prvo treba izraunati sve elemente matrice linearnog c sustava, a zatim ga rijeiti. Ako pretpostavimo da znamo prikaze svih polinoma bi s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 297

u standardnoj bazi i koristimo Hornerovu shemu za izvrednjavanje u svim tokama, c onda svako izvrednjavanje bi (xk ) zahtijeva najvie 2n operacija (n mnoenja i n s z zbrajanja, vidi odjeljak 6.1.). Takvih izvrednjavanja ima najvie (n + 1)2 , pa sve s elemente matrice sustava moemo izraunati s najvie 2n(n + 1)2 operacija, tj. s z c s 3 O(n ) operazija. Za posebne izbore baza i vorova, ovaj broj operacija moe biti i c z bitno manji. Gaussovim eliminacijama (ili LR faktorizacijom) moemo rijeiti dobiveni linez s 3 arni sustav za najvie O(n ) operacija. Dakle, ukupan broj operacija u algoritamu s s za prvu fazu je najvie reda veliine O(n3 ). To, samo po sebi i nije tako loe, jer se s c izvrava samo jednom. Medutim, u nastavku emo pokazati da paljivim izborom s c z baze to raunanje moemo napraviti i bitno bre. c z z Algoritam za izvrednjavanje pn (x) u drugoj fazi, takoder, fundamentalno ovisi c o izboru baze u Pn . Naravno, iz prve faze treba zapamtiti izraunati vektor koecijenata ai . Tada se raunanje pn (x) u zadanoj toki x svodi na raunanje sume c c c
n

pn (x) =
i=0

ai bi (x).

U najopenitijem obliku, po ovoj relaciji imamo (n + 1)-no raunanje vrijednosti c c s bi (x) (npr. Hornerovom shemom) i jo jedan skalarni produkt vektora (a0 , . . . , an ) s c i (b0 (x), . . . , bn (x)). Ukupno trajanje je O(n2 ), to je dosta u usporedbi s obinom Hornerovom shemom. Uoite da ova dva opa algoritma za interpolaciju moemo saeto prikazati u c c z z obliku: 1. izaberi bazu u Pn i nadi koecijente od pn u toj bazi, 2. u zadanoj toki x izraunaj linearnu kombinaciju polinoma baze s poznatim c c koecijentima u linearnoj kombinaciji. Iz prethodne analize slijedi da bi bilo vrlo poeljno odabrati bazu tako da z druga faza zahtijeva najvie O(n) operacija, tj. da traje linearno, a ne kvadratno, u s funkciji od n. Kad u ovom kontekstu pogledamo tvrdnju i dokaz teorema 7.2.1, odmah moemo zakljuiti da to odgovara izboru standardne baze bi (x) = xi , i = 0, . . . , n, z c u prostoru Pn . U prvoj fazi za nalaenje koecijenata interpolacijskog polinoma u z standardnoj bazi ne moramo koristiti samo ve spomenute numerike metode. Osim c c njih, uz malo panje, moemo koristiti ak i Cramerovo pravilo. Determinanta Dn z z c sustava je Vandermondeova, a sve ostale potrebne determinante se jednostavnim razvojem po stupcu svode na linearne kombinacije Vandermondeovih determinanata reda n 1. Ako njih izrazimo preko Dn , dobivamo opet algoritam koji treba O(n3 ) operacija.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 298

Nadalje, vidimo da se druga faza svodi upravo na Hornerovu shemu, tj. ima linearno trajanje. Cak jae od toga, to se brzine tie, ovim izborom baze dobivamo c s c optimalan najbri mogui algoritam za izvrednjavanje u drugoj fazi. z c Naalost, u pogledu stabilnosti, situacija je prilino nepovoljna, posebno u z c prvoj fazi. Matrica sustava moe imati skoro linearno zavisne retke, a da vorovi z c uope nisu patoloki rasporedeni. Dovoljno je samo da su razumno bliski i relac s tivno daleko od nule (to je centar baze). Na primjer s xk = k + 10p , k = 0, . . . , n,

gdje je p iole vei pozitivni eksponent, recimo p = 5 i matrica sustava e biti skoro c c singularna. Zbog toga se ovaj izbor baze ne koristi u praksi, ve samo za dokazivanje c u teoriji, jer baza ne ovisi o vorovima. c Problemu izbora baze za prikaz interpolacijskog polinoma moemo, sasvim z openito, pristupiti na 3 naina. c c 1. Jednostavna baza, komplicirani koecijenti. Fiksiramo jednostavnu bazu u Pn , neovisno o zadanim podacima, ali tako da dobijemo brzo izvrednjavanje. Zatim nademo koecijente od pn u toj bazi. Sva ovisnost o zadanim podacima ulazi u koecijente, pa je prva faza spora. 2. Jednostavni koecijenti, komplicirana baza. Podijelimo ovisnost o zadanim podacima tako da koecijenti jednostavno ovise o zadanim podacima i lako se raunaju (na primjer, jednaki su zadanim funkcijskim vrijednostima fk ). c Tada je prva faza brza, ali zato baza komplicirano ovisi o vorovima, pa je c druga faza spora, jer u svakoj toki x izvrednjavamo sve funkcije baze. c 3. Kompromis izmedu baze i koecijenata. Pustimo da baza jednostavno ovisi o vorovima, a koecijenti mogu ovisiti o svim zadanim podacima, ali tako da c dobijemo jednostavne algoritme u obje faze. Ove pristupe je najlake ilustrirati preko sloenosti rjeavanja linearnog sustava s z s za koecijente. Prvim pristupom dobivamo puni linearni sustav za ije rjeavanje treba O(n3 ) c s operacija. Ako baza ne ovisi o vorovima, taj sustav moe biti vrlo nestabilan, kao c z u ranijem primjeru standardne baze. Drugi pristup vodi na dijagonalni linearni sustav u kojem se rjeenje ita ili s c traje najvie O(n) operacija. No, tada je izvrednjavanje u svakoj toki sporo, jer svi s c polinomi baze imaju puni stupanj n. Primjer takve baze je tzv. Lagrangeova baza. U zadnjem pristupu bazu izaberemo tako da dobijemo donjetrokutasti linearni sustav. Za nalaenje koecijenata tada trebamo samo O(n2 ) operacija. Tako dobiz vamo tzv. Newtonovu bazu u kojoj stupnjevi polinoma bi rastu, tj. vrijedi deg bi = i, kao i u standardnoj bazi. Osim toga, za bi vrijedi jednostavna rekurzija koja vodi na brzi linearni algoritam izvrednjavanja.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 299

Sva 3 pristupa moemo vrlo lijepo ilustrirati na jednostavnom primjeru linez arne interpolacije, tj. kad je n = 1. Problem linearne interpolacije se svodi na nalaenje jednadbe pravca p koji prolazi kroz dvije zadane toke (x0 , f0 ) i (x1 , f1 ). z z c Standardni oblik jednadbe pravca je p(x) = a0 + a1 x. Iz uvjeta interpolacije z dobivamo linearni sustav za koecijente a0 i a1 p(x0 ) = a0 + a1 x0 = f0 p(x1 ) = a0 + a1 x1 = f1 , odakle slijedi a0 = ili f0 x1 f1 x0 , x1 x0 f1 f0 , x1 x0

a1 =

f0 x1 f1 x0 f1 f0 + x. x1 x0 x1 x0 Vidimo da su koecijenti komplicirani, ali kad se jednom izraunaju, samo izvredc njavanje p(x) je brzo (jedno mnoenje i jedno zbrajanje). z p(x) = Pravac p moemo napisati i kao teinsku sredinu zadanih funkcijskih vrijedz z nosti f0 i f1 , u obliku p(x) = f0 b0 (x) + f1 b1 (x), gdje su b0 (x) i b1 (x) funkcije koje treba nai. Iz uvjeta interpolacije sada dobivamo c jednadbe z p(x0 ) = f0 b0 (x0 ) + f1 b1 (x0 ) = f0 p(x1 ) = f0 b0 (x1 ) + f1 b1 (x1 ) = f1 .

Bez dodatnih pretpostavki, iz ovih jednadbi ne moemo odrediti b0 (x) i b1 (x), z z jer takvih funkcija ima puno. Pretpostavimo stoga da su obje funkcije, takoder, polinomi prvog stupnja i to specijalnog oblika, tako da ovaj linearni sustav postane dijagonalan. Tada iz izvandijagonalnih elemenata dobivamo uvjete b1 (x0 ) = 0, a onda za dijagonalne elemente dobivamo b0 (x0 ) = 1, b1 (x1 ) = 1. b0 (x1 ) = 0,

Vidmo da su polinomi b0 i b1 rjeenja specijalnih problema interpolacije s bi (xk ) = ik , i, k = 0, 1,

c tj. bi mora biti nula u svim vorovima osim i-tog, a u i-tom mora imati vrijednost 1. To znai da znamo sve nultoke od bi , a vrijednost vodeeg koecijenta izlazi iz c c c z bi (xi ) = 1. Odmah moemo napisati te dvije funkcije baze u obliku b0 (x) = x x1 , x0 x1 b1 (x) = x x0 , x1 x0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 300

x x1 x x0 + f1 x0 x1 x1 x0 to odgovara jednadbi pravca kroz dvije toke. Ovo je Lagrangeov oblik interpos z c lacijskog polinoma. Vidimo da funkcije baze b0 i b1 ovise o oba vora interpolacije. c p(x) = f0 Jednadbu pravca moemo napisati i tako da pravac prolazi kroz jednu toku z z c (x0 , f0 ) i ima zadani koecijent smjera p(x) = f0 + k(x x0 ). Ovaj oblik automatski zadovoljava prvi uvjet interpolacije p(x0 ) = f0 , a iz drugog uvjeta p(x1 ) = f0 + k(x1 x0 ) = f1 f1 f0 , x1 x0 to je poznata formula za koecijent smjera pravca kroz dvije toke. Dobiveni oblik s c za p f1 f0 (x x0 ) p(x) = f0 + x1 x0 je Newtonov oblik interpolacijskog polinoma. Njega moemo interpretirati na jo z s nekoliko naina. Prvo, to je i Taylorov oblik za p napisan oko toke x0 , s tim da c c je podijeljena razlika k ba derivacija od p u toki x0 (i, naravno, svakoj drugoj s c toki). c k= Nadalje, prvi lan ovog oblika za p, u ovom sluaju konstanta f0 , je interpoc c lacijski polinom stupnja 0 za zadanu prvu toku (x0 , f0 ). Dakle, ovaj oblik za p c odgovara korekciji interpolacijskog polinoma kroz prethodne toke, kad dodamo jo c s jednu novu toku (x1 , f1 ). To isto vrijedi i u opem sluaju. c c c Na kraju, ovaj oblik pravca moemo dobiti tako da u prostoru P1 izaberemo z bazu b0 , b1 koja daje donjetrokutasti linearni sustav za koecijente c0 i c1 u prikazu p(x) = c0 b0 (x) + c1 b1 (x). Uvjeti interpolacije daju jednadbe z p(x0 ) = c0 b0 (x0 ) + c1 b1 (x0 ) = f0 p(x1 ) = c0 b0 (x1 ) + c1 b1 (x1 ) = f1 . Kako emo dobiti donjetrokutasti linearni sustav? Postavljamo redom uvjete na c polinome baze, gledajui u matrici sustava stupac po stupac, i jo imamo na umu c s prethodnu interpretaciju dopunjavanja ranijeg interpolacijskog polinoma. se lako izrauna k c

pa je

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 301

Za polinom b0 u prvom stupcu matrice sustava nemamo nikavih uvjeta, pa uzimamo najjednostavniju oblik, koji odgovara interpolaciji polinomom stupnja 0 u prvom voru, a to je b0 (x) = 1. Iz prve jednadbe supstitucijom unaprijed odmah c z dobivamo i c0 = f0 . Za polinom b1 u drugom stupcu dobivamo tono jedan uvjet b1 (x0 ) = 0. Opet c uzmemo najjednostavniji oblik polinoma koji zadovoljava taj uvjet, a to je b1 (x) = (x x0 ). To, usput, odgovara i poveanju stupnja interpolacije kod dodavanja novog vora. c c Supstitucijom unaprijed izlazi i koecijent c1 c1 = f1 f0 . x1 x0

Kao to emo vidjeti, ovaj postupak se moe nastaviti. Openito, iz uvjeta s c z c da stupac s polinomom bi ima donjetrokutasti oblik dobivamo da bi mora imati nultoke u svim prethodnim vorovima x0 , . . . , xi1 , pa moemo uzeti c c z bi (x) = (x x0 ) (x xi1 ), to opet odgovara dizanju stupnja. Kako openito izgledaju koecijenti ci , opisat s c emo malo kasnije. c

7.2.3.

Lagrangeov oblik interpolacijskog polinoma

Da bismo nali koecijente interpolacijskog polinoma, nije nuno rjeavati lis z s nearni sustav za koecijente. Interpolacijski polinom pn moemo odmah napisati z koritenjem tzv. Lagrangeove baze { k , k = 0, . . . , n} prostora polinoma Pn s
n

pn (x) =
k=0

fk k (x),

(7.2.1)

pri emu je c
k (x)

(x x0 ) (x xk1 ) (x xk+1 ) (x xn ) (xk x0 ) (xk xk1 ) (xk xk+1 ) (xk xn ) n x xi k (x) = := , k = 0, . . . , n. k (xk ) i=0 xk xi =
i=k

(7.2.2)

Polinomi

su stupnja n, pa je pn polinom stupnja najvie n. Osim toga, vrijedi s


k (xi )

0, za i = k, 1, za i = k.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 302

Uvrstimo li to u (7.2.1), odmah slijedi da se suma u (7.2.1) svodi na jedan jedini lan za i = k, tj. da vrijedi c pn (xk ) = fk . Oblik (7.2.1)(7.2.2) zove se Lagrangeov oblik interpolacijskog polinoma. Taj polinom moemo napisati u jo jednom, zgodnijem obliku. Deniramo z s
n

(x) = pa je
k (x)

(x xk ),

(7.2.3)

k=0

(x) . (x xk ) k (xk )
n

Uvrtavanjem u (7.2.1) dobivamo da je s pn (x) = (x) Uoimo da je c k (xk ) = (xk ), pa (7.2.4) moemo pisati kao z pn (x) = (x) fk . k=0 (x xk ) (xk )
n

fk . (x xk ) k (xk ) k=0

(7.2.4)

(7.2.5)

Ova se forma moe koristiti za raunanje vrijednosti polinoma u toki x = xk , z c c k = 0, . . . , n. Prednost je to se za svaki novi x rauna samo (x) i (x xk ), dok se s c c c k (xk ) = (xk ) izrauna samo jednom za svaki k i uva u tablici, jer ne ovisi o x. Ukupan broj operacija je proporcionalan s n2 , a za raunanje u svakoj novoj c toki x, trebamo jo reda veliine n operacija. Ipak, u praksi se ne koristi ovaj c s c oblik interpolacijskog polinoma, ve neto bolji Newtonov oblik. Lagrangeov oblik c s interpolacijskog polinoma uglavnom se koristi u teoretske svrhe (za dokaze).

7.2.4.

Ocjena greke interpolacijskog polinoma s

Ako znamo jo neke informacije o funkciji f , moemo napraviti i ocjenu greke s z s interpolacijskog polinoma. Teorem 7.2.2 Pretpostavimo da funkcija f ima (n + 1)-u derivaciju na segmentu c c [a, b] za neki n N0 . Neka su xk [a, b], k = 0, . . . , n, medusobno razliiti vorovi interpolacije, tj. xi = xj za i = j, i neka je pn interpolacijski polinom za funkciju f u tim vorovima. Za bilo koju toku x [a, b] postoji toka iz otvorenog intervala c c c xmin := min{x0 , . . . , xn , x} < < max{x0 , . . . , xn , x} =: xmax

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 303

takva da za greku interpolacijskog polinoma vrijedi s e(x) := f (x) pn (x) = (x) f (n+1) (), (n + 1)! (7.2.6)

pri emu je (x) denirana relacijom (7.2.3). c Dokaz. Ako je x = xk , za neki k {0, . . . , n}, iz uvjeta interpolacije i denicije polinoma dobivamo da su obje strane u (7.2.6) jednake 0, pa teorem oito vrijedi c ( moe biti bilo koji). z Pretpostavimo stoga da x nije vor interpolacije. Tada je (x) = 0 i greku c s interpolacije moemo prikazati u obliku z e(x) = f (x) pn (x) = (x)s(x), gdje je s(x) dobro denirano ako x nije vor. Uzmimo sad da je x ksan i denirajmo c funkciju e(x) , t [a, b]. (7.2.7) g(t) = e(t) (t)s(x) = e(t) (t) (x) Funkcija pogreke e ima tono onoliko derivacija (po t) koliko i f , i one su neprekidne s c kad su to i odgovarajue derivacije od f . Budui da x nije vor, to isto vrijedi i c c c (n+1) za funkciju g, tj. g postoji kao funkcija na [a, b]. Nadimo koliko nultoaka ima c funkcija g. Ako za t uvrstimo xk , dobivamo g(xk ) = e(xk ) (xk ) Jednako tako je i g(x) = e(x) e(x) = 0. Drugim rijeima, g ima barem n + 2 nultoke na [a, b]. Cak i jae, sve te nultoke su c c c c na segmentu [xmin , xmax ]. Budui da je g derivabilna na tom segmentu, po Rolleovom c c teoremu slijedi da g ima barem n + 1 nultoku na otvorenom intervalu (xmin , xmax ). Induktivnom primjenom Rolleovog teorema zakljuujemo da g (j) ima bar n + 2 j c nultoaka na (xmin , xmax ), za j = 0, . . . , n + 1. Dakle, za j = n + 1 dobivamo da c c g (n+1) ima bar jednu nultoku (xmin , xmax ). Iskoristimo jo da je pn polinom stupnja najvie n, a polinom stupnja n + 1, s s pa je e(n+1) (t) = f (n+1) (t), (n+1) (t) = (n + 1)!. Deriviranjem lijeve i desne strane jednadbe (7.2.7) n + 1 puta, dobivamo z g (n+1) (t) = e(n+1) (t) (n+1) (t) e(x) e(x) = f (n+1) (t) (n + 1)! . (x) (x) e(x) = 0, (x) k = 0, . . . , n.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 304

Konano, ako uvaimo da je g (n+1) () = 0, onda je c z 0 = g (n+1) () = f (n+1) () (n + 1)! odnosno e(x) = to je upravo (7.2.6). s Ako je f (n+1) ograniena na [a, b] ili, jae, ako je f C n+1 [a, b], onda se iz c c prethodnog teorema moe dobiti sljedea ocjena greke interpolacijskog polinoma z c s za funkciju f u toki x [a, b] c |f (x) pn (x)| |(x)| Mn+1 , (n + 1)! Mn+1 := max |f (n+1) (x)|.
x[a,b]

e(x) , (x)

(x) f (n+1) (), (n + 1)!

Ova ocjena direktno slijedi iz (7.2.6), a korisna je ako relativno jednostavno moemo z izraunati ili odozgo ocijeniti Mn+1 . c

7.2.5.

Newtonov oblik interpolacijskog polinoma

Lagrangeov oblik interpolacijskog polinoma nije pogodan kad elimo poveati z c stupanj interpolacijskog polinoma da bismo eventualno poboljali aproksimaciju i s smanjili greku, zbog toga to interpolacijski polinom moramo raunati od poetka. s s c c Postoji forma interpolacijskog polinoma kod koje je mnogo lake dodavati s toke interpolacije, tj. poveavati stupanj interpolacijskog polinoma. Neka je pn1 c c interpolacijski polinom koji interpolira funkciju f u tokama xk , k = 0, . . . , n 1. c s c Neka je pn interpolacijski polinom koji interpolira funkciju f jo i u toki xn . Polinom z pn tada moemo napisati u obliku pn (x) = pn1 (x) + c(x), gdje je c korekcija, polinom stupnja n. Takoder, mora vrijediti c(xk ) = pn (xk ) pn1 (xk ) = f (xk ) f (xk ) = 0, k = 0, . . . , n 1. (7.2.8)

Vidimo da su xk nultoke od c, pa ga moemo napisati u obliku c z c(x) = an (x x0 ) (x xn1 ). Nadalje, iz zadnjeg uvjeta interpolacije pn (xn ) = f (xn ), dobivamo f (xn ) = pn (xn ) = pn1 (xn ) + c(xn ) = pn1 (xn ) + an (xn x0 ) (xn xn1 ),

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 305

odakle lako izraunavamo vodei koecijent an polinoma c c c an = f (xn ) pn1 (xn ) f (xn ) pn1 (xn ) = . (xn x0 ) (xn xn1 ) (xn )

Koritenjem relacije (7.2.8), sada imamo sve elemente za raunanje pn (x) u bilo s c kojoj toki x. Koecijent an , oito je funkcija vorova x0 , . . . , xn i zvat emo ga n-ta c c c c podijeljena razlika. Formalno emo to oznaiti s c c an = f [x0 , x1 , . . . , xn ], (7.2.9)

pa e odmah slijediti rekurzivna formula za dobivanje interpolacijskog polinoma za c stupanj veeg od prethodnog c pn (x) = pn1 (x) + (x x0 ) (x xn1 )f [x0 , . . . , xn ]. (7.2.10)

Da bismo bolje opisali an , vratimo se na Lagrangeov oblik interpolacijskog c polinoma. Primijetimo da je an koecijent uz vodeu potenciju xn u pn . Stoga iskoristimo relaciju (7.2.5), tj. nadimo koecijent uz xn na desnoj strani te relacije. Dobivamo n f (xk ) f [x0 , x1 , . . . , xn ] = . (7.2.11) (xk ) k=0 Iz formule (7.2.11) slijede neka svojstva podijeljenih razlika. Primijetimo da poredak vorova nije bitan, tj. podijeljena razlika neosjetljiva je na poredak vorova. c c Druga korisna formula je formula za rekurzivno raunanje podijeljenih razlika c f [x0 , . . . , xn ] = Izvedimo tu formulu. Vrijedi f [x1 , . . . , xn ] = = f (xk ) k=1 (xk x1 ) (xk xk1 ) (xk xk+1 ) (xk xn )
n1 n

f [x1 , . . . , xn ] f [x0 , . . . , xn1 ] . xn x0

f (xk )(xk x0 ) k=1 (xk x0 ) (xk xk1 ) (xk xk+1 ) (xk xn ) f (xn )(xn x0 ) + (xn x0 ) (xn xn1 ) f (xk ) (xk x0 ) (xk xk1 ) (xk xk+1 ) (xk xn1 ) k=0 f (xk )(xk xn ) k=1 (xk x0 ) (xk xk1 ) (xk xk+1 ) (xk xn ) f (x0 )(xn x0 ) . (x0 x1 ) (x0 xn )

n1

f [x0 , . . . , xn1 ] = =

n1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 306

Oduzimanjem dobivamo f [x1 , . . . , xn ] f [x0 , . . . , xn1 ] f (xk )(xn x0 ) k=1 (xk x0 ) (xk xk1 ) (xk xk+1 ) (xk xn ) f (xn )(xn x0 ) f (x0 )(xn x0 ) + + (xn x0 ) (xn xn1 ) (x0 x1 ) (x0 xn ) n f (xk ) = (xn x0 ) f [x0 , . . . , xn ], = (xn x0 ) k=0 (xk )
n1

ime je dokazana traena formula. Neki autori ba tu rekurzivnu formulu koriste c z s kao deniciju podijeljenih razlika. Ostaje jo vidjeti to je poetak rekurzije za podijeljenje razlike. Ako znamo s s c da je konstanta koja prolazi tokom (x0 , f (x0 )), interpolacijski polinom stupnja 0, c onda je a0 = f [x0 ] = f (x0 ). Jednako tako vrijedi f [xk ] = f (xk ), pa tablicu podijeljenih razlika lako sastavljamo: xk x0 x1 . . . xn1 xn f [xk ] f [x0 ] f [x0 , x1 ] f [x1 ] . . . f [xn1 ] f [xn1 , xn ] f [xn ] f [x1 , x2 ] . . . f [xn2 , xn1 ] f [xn2 , xn1 , xn ] f [x0 , x1 , x2 ] .. . . . .. . . f [x0 , . . . , xn ] f [xk , xk+1 ] f [xk , xk+1 , xk+2 ] f [x0 , . . . , xn ]

Dakle, kad uvaimo rekurziju i oblik polinoma c u (7.2.10), dobivamo da je z oblik Newtonovog interpolacijskog polinoma pn (x) = f [x0 ] + (x x0 )f [x0 , x1 ] + (x x0 ) (x x1 )f [x0 , x1 , x2 ] + + (x x0 ) (x xn1 )f [x0 , x1 , . . . , xn ]. Primijetite da nam od tablica podijeljenih razlika treba samo gornji rub, pa emo se u raunanju podijeljenih razlika moi sluiti jednodimenzionalnim poljem. c c c z Pretpostavimo da je na poetku algoritma u i-tom elementu polja f spremljena c funkcijska vrijednost f (xi ). Na kraju algoritma u polju f ostavit emo redom c f [x0 ], f [x0 , x1 ], . . . , f [x0 , . . . , xn ].

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 307

Algoritam 7.2.1 (Algoritam za raunanje podijeljenih razlika) c for i := 1 to n do for j := n to i do f [j] := (f [j] f [j 1])/(x[j] x[j i]); I greku interpolacijskog polinoma (koja je jednaka onoj kod Lagrangeovog), s moemo napisati koritenjem podijeljenih razlika. Neka je xn+1 (a, b) realan broj z s koji nije vor. Konstruirajmo interpolacijski polinom koji prolazi tokama x0 , . . . , xn c c i xn+1 . Dobivamo pn+1 (x) = f [x0 ] + (x x0 )f [x0 , x1 ] + (x x0 ) (x x1 )f [x0 , x1 , x2 ] + + (x x0 ) (x xn1 )f [x0 , x1 , . . . , xn ] + (x x0 ) (x xn )f [x0 , x1 , . . . , xn , xn+1 ] = pn (x) + (x x0 ) (x xn )f [x0 , x1 , . . . , xn , xn+1 ]. Budui da je c pn+1 (xn+1 ) = f (xn+1 ), onda iz relacije (7.2.12) slijedi f (xn+1 ) = pn (xn+1 ) + (xn+1 x0 ) (xn+1 xn )f [x0 , x1 , . . . , xn , xn+1 ]. Usporedimo li tu formulu s ocjenom greke iz Teorema 7.2.2 (napisanu u toki xn+1 , s c a ne x) (xn+1 ) (n+1) f (), f (xn+1 ) pn (xn+1 ) = (n + 1)! odmah se ita da je c f [x0 , x1 , . . . , xn , xn+1 ] = f (n+1) () (n + 1)!

(7.2.12)

za neki I. Prethodna se formula uobiajeno pie u ovisnosti o varijabli x, tj. c s xn+1 se zamijeni s x (Prije nam to nije odgovaralo zbog pisanja interpolacijskog polinoma u varijabli x.) f [x0 , x1 , . . . , xn , x] = f (n+1) () . (n + 1)! (7.2.13)

Zajedno s (7.2.12), Newtonov interpolacijski polinom tada poprima oblik Taylorovog polinoma (s grekom nastalom zanemarivanjem viih lanova), samo razvijenog oko s s c toaka x0 , . . . , xn . To nas motivira da interpolacijski polinom u toki x izvrednc c javamo na slian nain kao to se Hornerovom shemom izvrednjava vrijednost polic c s noma. Pretpostavimo da sukladno algoritmu 7.2.1, u polju f na mjestu i pie s f [x0 , x1 , . . . , xi ].

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 308

Algoritam 7.2.2 (Algoritam izvrednjavanja interpolacijskog polinoma) sum := f [n]; for i := n 1 downto 0 do sum := sum (x xi ) + f [i]; { Na kraju je pn (x) = sum. }

7.2.6.

Koliko je dobar interpolacijski polinom?

U praksi se obino koriste interpolacijski polinomi niskih stupnjeva, najee c c sc do 5. Zato? Kod nekih funkcija za neki izbor toaka interpolacije, poveavanje s c c stupnja interpolacijskog polinoma moe dovesti do poveanja greaka. Zbog toga z c s se umjesto visokog stupnja interpolacijskog polinoma u praksi koristi po dijelovima polinomna interpolacija. Njemaki matematiar Runge prvi je uoio probleme koji nastupaju kod interc c c polacije na ekvidistantnoj mrei vorova. On je konstruirao funkciju (poznatu kao z c Rungeova funkcija), koja ima svojstvo da niz Newtonovih interpolacijskih polinoma na ekvidistantnoj mrei ne konvergira (po tokama) prema toj funkciji kad se broj z c vorova poveava. c c Primjer 7.2.1 (Runge, 1901.) Promotrimo (Rungeovu) funkciju f (x) = 1 , 1 + x2 x [5, 5].

Odaberimo n i izaberimo ekvidistantne vorove interpolacije xk , k = 0, . . . , n c xk = 5 + kh, h= 10 , n k = 0, . . . , n.

Zanima nas ponaanje greaka koje nastaju poveavanjem stupnja n interpolacijskog s s c polinoma. Po Teoremu 7.2.2, uvaavanjem relacije (7.2.13), dobivamo z en (x) = f (x) pn (x) = (x) f [x0 , x1 , . . . , xn , x]. Tvrdimo da vrijedi f [x0 , x1 , . . . , xn , x] = f (x) (1)r+1
r

(1 +
k=0

x2 ) k

1, x,

ako je n = 2r + 1, ako je n = 2r.

(7.2.14)

Prvo pokaimo tvrdnju za n = 2r + 1, koritenjem indukcije po r. U tom sluaju z s c imamo paran broj interpolacijskih toaka, koje su simetrine obzirom na ishodite, c c s tj. zadovoljavaju xk = xnk .

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 309

Ako je r = 0, onda je n = 1 i x1 = x0 , a zbog parnosti funkcije f i f (x0 ) = f (x0 ). Izraunajmo podijeljenu razliku c f [x0 , x1 , x] = f [x0 , x0 , x] = f [x0 , x] f [x0 , x0 ] x x0 1 1 f (x) f (x0 ) 1 + x2 1 + x2 0 = = x2 x2 x2 x2 0 0 1 1 1 = = f (x) . a + x2 1 + x2 1 + x2 0 0

Time je pokazana baza indukcije. Provedimo korak indukcije, tj. prijelaz s r u r + 1, (to znai da u n skaemo za 2). Neka vrijedi (7.2.14) za n = 2r + 1 i bilo s c c koji skup od r parova simetrinih toaka (xk = xnk , k = 1, . . . , r). Neka je c c m = n + 2 = 2(r + 1) + 1. Deniramo funkciju g(x) = f [x1 , . . . , xm1 , x]. Zbog denicije g, po pretpostavci indukcije, vrijedi g(x) = f (x) ar , ar = (1)r+1
r

(1 +
k=1

x2 ) k

Po deniciji podijeljenjih razlika, lako je pokazati da vrijedi g[x0 , xm , x] = f [x0 , . . . , xm , x]. Osim toga je g[x0 , xm , x] = ar f [x0 , xm , x] = ar f (x) 1 , 1 + x2 0

to zakljuuje korak indukcije. Za paran n, dokaz je vrlo slian. s c c Budui da je c (x xk ) (x xnk ) = (x xk ) (x + xk ) = x2 x2 , k onda je za n = 2r + 1
n r

(x xk ) =

(x2 x2 ). k

k=0

k=0

c U parnom je sluaju n = 2r, xr = 0, pa izdvajanjem srednje toke dobivamo c


n

(x xk ) = x

r1

(x2 x2 ) = k

k=0

k=0

1 r 2 (x x2 ), k x k=0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 310

ili zajedno
n

(x) =

(x xk ) =

(x2 x2 ) k

k=0

k=0

1, 1/x,

ako je n = 2r + 1, ako je n = 2r.

Time smo pokazali eljeni oblik formule za podijeljene razlike. Ako tu formulu z uvrstimo u greku, dobivamo s en (x) = f (x) pn (x) = (x) f (x)
r+1

(1)r+1
r

(1 + x2 ) k
k=0

1, x,

ako je n = 2r + 1, ako je n = 2r.

= (1) gdje je

f (x) gn (x), x2 x2 k . 1 + x2 k k=0


r

gn (x) =

(7.2.15)

Funkcija f pada od 0 do 5, pa se zbog simetrije, njena najvea vrijednost nalazi u c 0, a najmanja u 5, pa imamo 1 f (x) 1. 26 Zbog toga, konvergencija Newtonovog polinoma ovisi samo o gn (x). Osim toga je i gn parna funkcija, tj. gn (x) = gn (x), pa moemo sve gledati na intervalu [0, 5]. z z c c I apsolutnu vrijednost funkcije gn moemo napisati na malo neobian nain |gn (x)| = eh ln |gn (x)|
1/h

Prema (7.2.15), za eksponent eksponencijalne funkcije imamo h ln |gn (x)| = h Tvrdimo da je


n r

ln
k=0

x2 x2 k . 2 1 + xk x2 x2 k 1 + x2 k

lim h ln |gn (x)| = lim h


r 0

ln
k=0

=
5

ln

x2 2 d =: q(x). 1 + 2

Ostavimo li zasad jednakost posljednje sume i integrala po strani (treba nai malo c sloeniji limes), primijetimo da se integral moe izraunati analitiki z z c c
0

ln
5

x2 2 d = (5 + x) ln(5 + x) + (5 x) ln(5 x) 5 ln 26 2 arctg 5. 1 + 2

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 311

Analizom toka funkcije vidimo da q(x) ima jednu nultoku u intervalu [0, 5], prilino c z jednaku 3.63 (moemo ju i tonije odrediti). Preciznije, zbog parnosti funkcije q, na z c [5, 5] vrijedi q(x) = 0 za |x| = 3.63, q(x) < 0 za |x| < 3.63, q(x) > 0 za 3.63 < |x| 5. Za |x| > 3.63 i h = 10/n slijedi da je
n

lim |gn (x)| = , en (x) ,

pa i tj. niz interpolacijskih polinoma divergira za |x| > 3.63! Zanimljivo je da, ako umjesto ekvidistantnih toaka interpolacije u primjeru c sevljeve toke na intervalu [a, b], Runge uzmemo neekvidistantne, tonije tzv. Cebi c c xk = 1 2k + 1 a + b + (a b) cos , 2 2n + 2 k = 0, . . . , n.

onda e porastom stupnja niz interpolacijskih polinoma konvergirati prema funkciji c f. Zadatak 7.2.1 Dokaite da vrijedi z
0 n

lim h ln |gn (x)| =


5

x2 2 ln d. 1 + 2

Uputa: Oito je c ln i lako se vidi da je


r r 0

x2 x2 k = ln |x + xk | + ln |x xk | ln |1 + x2 | k 1 + x2 k

lim

h ln |1 +

x2 | k

=
5 0

ln |1 + 2 | d ln |x | d,
5

k=0 r

lim

h ln |x xk | =

k=0

zbog neprekidnosti podintegralnih funkcija i denicije Riemannovog integrala, budui c je rije o specijalnim Darbouxovim sumama. Za dokaz da je c
r r 0

lim

h ln |x + xk | =
5

ln |x + | d,

k=0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 312

potrebno je napraviti nu analizu i posebno razmatrati situacije |x + xk | < , |x + xk | > , za neki mali 0 < < 1 (ili se pozvati na jae teoreme iz teorije mjere). c Primjer 7.2.2 Promotrimo grafove interpolacijskih polinoma stupnjeva 16 koji interpoliraju funkciju f (x) = log(x) za x [0.1, 10] s na ekvidistantnoj i Cebievljevoj mrei. z Primijetit ete da je greka interpolacije najvea na prvom podintervalu bez c s c obzira na stupanj interpolacijskog polinoma. Razlog lei u injenici da funkcija log(x) z c ima singularitet u 0, a poetna toka interpolacije je blizu. c c Prva grupa slika su redom funkcija (crno) i interpolacijski polinom (crveno) s za ekvidistantnu mreu, te pripadna greka, a zatim to isto za Cebievljevu mreu. z s z
y

10

Ekvidistantna mrea, interpolacijski polinom stupnja 1. z

y 1 0.5 1 0.5 2 3 4 5 6 7 8 9 10 x

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 313

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 1. z s

10

Ekvidistantna mrea, interpolacijski polinom stupnja 2. z

y 1 0.5 1 0.5 2 3 4 5 6 7 8 9 10 x

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 2. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 314

10

Ekvidistantna mrea, interpolacijski polinom stupnja 3. z

y 0.5 0.25 1 0.25 0.5 2 3 4 5 6 7 8 9 10 x

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 3. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 315

10

Ekvidistantna mrea, interpolacijski polinom stupnja 4. z

y 0.5 0.25 1 0.25 0.5 2 3 4 5 6 7 8 9 10 x

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 4. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 316

10

Ekvidistantna mrea, interpolacijski polinom stupnja 5. z

y 0.25

1 0.25

10

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 5. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 317

10

Ekvidistantna mrea, interpolacijski polinom stupnja 6. z

y 0.25

1 0.25

10

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 6. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 318

10

s Cebievljeva mrea, interpolacijski polinom stupnja 1. z

y 0.25 1 0.5 2 3 4 5 6 7 8 9 10 x

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 1. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 319

10

s Cebievljeva mrea, interpolacijski polinom stupnja 2. z

y 0.25 1 0.5 2 3 4 5 6 7 8 9 10 x

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 2. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 320

10

s Cebievljeva mrea, interpolacijski polinom stupnja 3. z

y 0.125 1 0.25 0.5 2 3 4 5 6 7 8 9 10 x

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 3. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 321

10

s Cebievljeva mrea, interpolacijski polinom stupnja 4. z

y 0.125 1 0.25 0.5 2 3 4 5 6 7 8 9 10 x

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 4. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 322

10

s Cebievljeva mrea, interpolacijski polinom stupnja 5. z

y 0.1 1 2 3 4 5 6 7 8 9 10 x

0.25

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 5. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 323

10

s Cebievljeva mrea, interpolacijski polinom stupnja 6. z

y 0.1 1 2 3 4 5 6 7 8 9 10 x

0.25

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 6. z s Primjer 7.2.3 Ve smo pokazali da na primjeru Runge interpolacijski polinomi koji c interpoliraju funkciju 1 za x [5, 5] f (x) = 1 + x2 na ekvidistantnoj mrei ne konvergiraju. S druge strane, pogledajmo to se dogada z s sevljevim tokama. Interpolacijski s polinomima koji interpoliraju tu funkciju u Cebi c polinomi su stupnjeva 16, 8, 10, 12, 14, 16 (parnost funkcije!).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 324

Ponovno, kao i u prolom primjeru, grafovi su u parovima. s


y

Ekvidistantna mrea, interpolacijski polinom stupnja 1. z

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 1. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 325

Ekvidistantna mrea, interpolacijski polinom stupnja 2. z

0.5

0.5

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 2. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 326

Ekvidistantna mrea, interpolacijski polinom stupnja 3. z

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 3. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 327

Ekvidistantna mrea, interpolacijski polinom stupnja 4. z

0.5

0.5

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 4. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 328

Ekvidistantna mrea, interpolacijski polinom stupnja 5. z

0.5

0.5

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 5. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 329

Ekvidistantna mrea, interpolacijski polinom stupnja 6. z

0.5

0.5

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 6. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 330

Ekvidistantna mrea, interpolacijski polinom stupnja 8. z

y 1

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 8. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 331

1 1 2

Ekvidistantna mrea, interpolacijski polinom stupnja 10. z

y 2

1 1 2

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 10. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 332

y 4 3 2 1 6 5 4 3 2 1 1 2 3 1 2 3 4 5 6 x

Ekvidistantna mrea, interpolacijski polinom stupnja 12. z

y 3 2 1 6 5 4 3 2 1 1 2 3 4 1 2 3 4 5 6 x

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 12. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 333

y 7 5 3 1 6 5 4 3 2 1 1 3 5 1 2 3 4 5 6 x

Ekvidistantna mrea, interpolacijski polinom stupnja 14. z

y 5 3 1 6 5 4 3 2 1 1 3 5 7 1 2 3 4 5 6 x

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 14. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 334

y 10 6 2 6 5 4 3 2 1 2 6 10 14 1 2 3 4 5 6 x

Ekvidistantna mrea, interpolacijski polinom stupnja 16. z

y 14 10 6 2 6 5 4 3 2 1 2 6 10 1 2 3 4 5 6 x

Ekvidistantna mrea, greka interpolacijskog polinoma stupnja 16. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 335

s Cebievljeva mrea, interpolacijski polinom stupnja 1. z

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 1. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 336

y 1

s Cebievljeva mrea, interpolacijski polinom stupnja 2. z

y 1

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 2. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 337

s Cebievljeva mrea, interpolacijski polinom stupnja 3. z

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 3. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 338

s Cebievljeva mrea, interpolacijski polinom stupnja 4. z

0.25 6 5 4 3 2 1 1 2 3 4 5 6 x

0.5

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 4. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 339

s Cebievljeva mrea, interpolacijski polinom stupnja 5. z

0.5

1 0.25

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 5. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 340

s Cebievljeva mrea, interpolacijski polinom stupnja 6. z

y 0.5

0.25

0.25

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 6. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 341

s Cebievljeva mrea, interpolacijski polinom stupnja 8. z

y 0.125

0.25

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 8. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 342

s Cebievljeva mrea, interpolacijski polinom stupnja 10. z

y 0.125

0.125

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 10. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 343

s Cebievljeva mrea, interpolacijski polinom stupnja 12. z

y 0.075

0.075

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 12. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 344

s Cebievljeva mrea, interpolacijski polinom stupnja 14. z

0.05

0.05

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 14. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 345

s Cebievljeva mrea, interpolacijski polinom stupnja 16. z

0.025

0.025

s Cebievljeva mrea, greka interpolacijskog polinoma stupnja 16. z s

7.2.7.

Konvergencija interpolacijskih polinoma

Interpolacija polinomima vrlo je znaajna zbog upotrebe u raznim postupcima c u numerikoj analizi, kao to su numerika integracija, deriviranje, rjeavanje difec s c s rencijalnih jednadbi i jo mnogo toga. z s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 346

Medutim, sa stanovita teorije aproksimacije, interpolacija se ne pokazuje s kao sredstvo kojim moemo doi do dobrih aproksimacija funkcija. Istina, poznati z c Weierstraov teorem tvrdi da za svaku neprekidnu funkciju f (x) postoji niz polinoma stupnja n, nazovimo ih Bn (x), tako da f (x) Bn (x)

za n .

Naalost, primjer funkcije Runge pokazuje da ovakav rezultat openito ne vrijedi z c za Lagrangeove interpolacijske polinome niz polinoma generiran ekvidistantnim mreama ne konvergira prema toj funkciji ni po tokama (za x dovoljno blizu ruba z c intervala), a kamo li uniformno. Postoje i jo gori primjeri divergencije. Dovoljno je uzeti manje glatku s funkciju od funkcije Runge. Primjer 7.2.4 (Bernstein, 1912.) Neka je f (x) = |x| c i neka je pn (x) interpolacijski polinom u n + 1 ekvidistantnih toaka u [1, 1]. Tada c |f (x) pn (x)| 0, kad n , samo u tri toke: x = 1, 0, 1. Na prvi pogled se ini da to to interpolacija ne mora biti dobra aproksic s macija funkcije ovisi o izboru vorova interpolacije. To je samo djelimino tono, c c c tj. izborom toaka interpolacije moemo poboljati aproksimativna svojstva interc z s polacijskih polinoma. Drugi bitni faktor kvalitete je glatkoa funkcije. c Iz primjera funkcije Runge vidi se da je Lagrangeova interpolacija dobrih svojstava aproksimacije u sredini intervala, ali ne i na rubovima. Pitanje je, da li neki izbor neekvidistantne mree, s vorovima koji su blie rubovima intervala, moe z c z z popraviti konvergenciju. Odgovor nije potpuno jednostavan. Iako se mogu kon s struirati mree (poput Cebievljeve) na kojima se funkcija Runge bolje aproksimira z interpolacijskim polinomima, to je nemogue napraviti za svaku neprekidnu funkciju. c Sljedei teorem je egzistencijalnog tipa, ali ukazuje na to da je nemogue nai c c c dobar izbor toaka interpolacije za svaku funkciju. c Teorem 7.2.3 (Faber, 1914.) Za svaki mogui izbor toaka interpolacije postoji c c neprekidna funkcija f , za iji interpolacijski polinom pn (x) stupnja n vrijedi c f (x) pn (x)

0.

7.2.8.

Hermiteova i druge interpolacije polinomima

Do sada smo promatrali problem interpolacije polinomima u kojem su zadane c samo funkcijske vrijednosti fi u vorovima interpolacije xi . Takva interpolacija

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 347

funkcijskih vrijednosti se obino zove Lagrangeova interpolacija (ak i kad ne korisc c timo samo polinome kao aproksimacijske ili interpolacijske funkcije). Lagrangeova interpolacija nikako ne iscrpljuje sve mogue sluajeve interpoc c lacije polinomima. Mogue su razne generalizacije ovog problema za funkcije f koje c imaju dodatna svojstva, recimo, vei broj derivacija (globalno, ili barem, u okolini c svakog vora). c Da bismo jednostavno doli do tih generalizacija, ponovimo ukratko izvod i s konstrukciju Lagrangeove interpolacije polinomom. Traeni polinom pn mora zadoz voljavati interpolacijske jednadbe z pn (xi ) = fi = f (xi ), i = 0, . . . , n. (7.2.16)

Zapis polinoma pn u standardnoj bazi potencija 1, x, . . . , xn vodi na linearni sustav s Vandermondeovom matricom, a za pripadnu Vandermondeovu determinantu (vidjeti teorem 7.2.1) pokazali smo da vrijedi 1 1 V (x0 , . . . , xn ) := det . . .

x0 x1 . . .

x2 0 x2 1 . . . x2 n

. . . xn 0 . . . xn 1 . = . . . . . xn n

(xj xi ).
0i<jn

(7.2.17)

1 xn

c c Iz pretpostavke o medusobnoj razliitosti vorova xk slijedi regularnost sustava i egzistencija i jedinstvenost polinoma pn . z Lagrangeov interpolacijski polinom pn moe se napisati i eksplicitno u tzv. Lagrangeovoj formi, koja se esto zove i Lagrangeova interpolacijska formula. c Ako deniramo n + 1 polinom { i (x)}n specijalnim interpolacijskim uvjetima i=0
i (xj )

:= ij ,

(7.2.18)

gdje je ij Kroneckerov simbol, tada Lagrangeov interpolacijski polinom koji udovoljava uvjetima (7.2.16) moemo zapisati kao z
n

pn (x) =
i=0

f (xi ) i (x).

(7.2.19)

c Traene polinome i stupnja n, koji su jednoznano odredeni interpolacijskim uvjez tima (7.2.18), moemo pogoditi z
n i (x) = j=0 j=i

x xj , xi xj

i = 0, . . . , n.

(7.2.20)

Funkcije

zovu se funkcije Lagrangeove baze.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 348

Zadatak 7.2.2 Dokaite da su funkcije Lagrangeove baze linearno nezavisne i ine z c skup izvodnica za prostor polinoma stupnja n, to opravdava naziv baza. s Postoji jo jedan sluaj koji se moe rijeiti jednostavnom formulom, a posebno s c z s ga tretiramo zbog vanosti za teoriju numerike integracije (preciznije, Gaussovih z c integracijskih formula). U svakom voru xi , osim funkcijske vrijednosti fi = f (xi ), c interpoliramo i vrijednost derivacije fi = f (xi ). s Teorem 7.2.4 Postoji jedinstveni polinom h2n+1 stupnja najvie 2n + 1, koji zadovoljava interpolacijske uvjete h2n+1 (xi ) = fi , h2n+1 (xi ) = fi , i = 0, . . . , n,

c c gdje su xi medusobno razliite toke i fi , fi zadani realni brojevi. Dokaz. Egzistenciju polinoma h2n+1 (x) moemo dokazati konstruktivnim metoz dama konstrukcijom eksplicitne baze, slino kao i za Lagrangeov polinom. Neka c su hi,0 (x) = [1 2(x xi ) i (xi )] 2 (x) i (7.2.21) 2 hi,1 (x) = (x xi ) i (x), z gdje su i funkcije Lagrangeove baze (7.2.20). Direktno moemo provjeriti da su hi,0 (x) i hi,1 (x) polinomi stupnja 2n + 1 koji zadovoljavaju sljedee relacije c hi,0 (xj ) = ij , hi,0 (xj ) = 0, hi,1 (xj ) = 0, hi,1 (xj ) = ij , za i, j = 0, . . . , n.

Ako deniramo polinom formulom


n

h2n+1 (x) =
i=0

fi hi,0 (x) + fi hi,1 (x) ,

(7.2.22)

lagano provjerimo da h2n+1 zadovoljava uvjete teorema. Obzirom da iz gornjeg ne slijedi jedinstvenost, moramo ju dokazati posebno. Neka je q2n+1 (x) bilo koji drugi polinom koji ispunjava interpolacijske uvjete teoc rema. Tada je h2n+1 (x) q2n+1 (x) polinom stupnja ne veeg od 2n + 1, koji ima nultoke multipliciteta barem 2 u svakom voru interpolacije xi , tj. barem 2n + 2 c c nultoke, to je mogue samo ako je identiki jednak nuli. c s c c Polinomi hi,0 , hi,1 , zovu se funkcije Hermiteove baze, a polinom h2n+1 obino c se zove Hermiteov interpolacijski polinom. Zadatak 7.2.3 Pokaite da za funkcije Lagrangeove, odnosno Hermiteove baze, vriz jedi
n n i (x) i=0

= 1,
i=0

hi,0 (x) = 1.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 349

Zadatak 7.2.4 Pokaite da za funkcije Lagrangeove, odnosno Hermiteove baze, vriz jedi
n n

xi hi,0 (x) + hi,1 (x) = x,


i=0 i=0

(x xi ) 2 (x) i (xi ) = 0. i

Za ocjenu greke Hermiteove interpolacije vrijedi vrlo slian rezultat kao i za s c obinu Lagrangeovu interpolaciju (teorem 7.2.2). c Teorem 7.2.5 Greka kod interpolacije Hermiteovim polinomom h2n+1 (x) (v. teos c rem 7.2.4) funkcije f C (2n+2) [xmin , xmax ] u n + 1 vorova x0 , . . . , xn je oblika e(x) := f (x) h2n+1 (x) = gdje su i kao u teoremu 7.2.2. Dokaz. Iz uvjeta interpolacije znamo da je f (x) = h2n+1 (x) i f (x) = h2n+1 (x) za c x = x0 , . . . , xn , pa oekujemo da je f (x) h2n+1 (x) C 2(x) za neku konstantu C. Deniramo li F (x) = f (x) h2n+1 (x) C 2 (x), vidimo da F ima nultoke multipliciteta 2 u x0 , . . . , xn , tj. F (xk ) = F (xk ) = 0 za c k = 0, . . . , n. Izaberemo li neki xn+1 [xmin , xmax ] razliit od postojeih vorova, c c c moemo odrediti konstantu C tako da vrijedi F (xn+1 ) = 0. Kako F (x) sada ima z (barem) n + 2 nule, F ima n + 1 nulu u nekim tokama izmedu njih. Ona takoder c ima nule u x0 , . . . , xn , pa ukupno ima (barem) 2n + 2 nula. No onda F ima bar 2n + 1 nula, F 2n nula, itd., na osnovu Rolleovog teorema. Na kraju, F (2n+2) ima barem jednu nulu u promatranom intervalu, oznaimo ju s . Deriviranjem izraza c za F (x) dobijemo F (2n+2) () = f (2n+2) () C(2n + 2)! = 0, odakle izraunamo C. Uvrstimo li taj rezultat u izraz za greku, dobijemo c s F (xn+1 ) h2n+1 (xn+1 ) = f (2n+2) () 2 (xn+1 ). (2n + 2)! f (2n+2) () 2 (x), (2n + 2)!

c c z Ali kako je xn+1 proizvoljan, razliit samo od vorova x0 , . . . , xn , moemo ga zamijeniti s proizvoljnim x. Na kraju primijetimo da je gornji rezultat toan i za c x {x0 , . . . , xn }, jer su obje strane nula, pa dokaz slijedi. Hermiteov interpolacijski polinom, naravno, osim u Lagrangeovom obliku, moemo zapisati i u Newtonovom obliku koristei podijeljene razlike, ali sada z c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 350

i s dvostrukim vorovima. Sto to znai? Pokuajte ga sami izvesti! (Taj oblik emo c c s c kasnije uvesti i iskoristiti za zapis po dijelovima polinomne interpolacije.) Ponekad se naziv Hermiteova interpolacija koristi i za openitiji sluaj proc c irene Hermiteove interpolacije koji ukljuuje i vie derivacije od prvih. Bitno s c s je samo da u odredenom voru xi interpoliramo redom funkcijsku vrijednost i prvih c nekoliko (uzastopnih) derivacija. Pretpostavimo da u voru xi koristimo li > 0 podataka (funkcija i prvih li 1 c derivacija). Tada je zgodno gledati xi kao vor multipliciteta li 1 i uvesti posebne c c c oznake tj za medusobno razliite vorove (uzmimo da ih je d + 1): x0 xn = t0 , . . . , t0 , . . . , td , . . . , td ,
l0 ld

s uz ti = tj za i = j, s tim da je l0 + + ld = n + 1. Problem proirene Hermiteove interpolacije, takoder, ima jedinstveno rjeenje. s Zadatak 7.2.5 Neka su t0 , t1 , . . . , td zadani medusobno razliiti vorovi i neka su c c d z l0 , l1 , . . . , ld zadani prirodni brojevi koji zadovoljavaju i=0 li = n + 1. Pokaite da za svaki skup realnih brojeva {fij | j = 1, . . . , li , i = 0, . . . , d} c postoji jedinstveni polinom hn , stupnja ne veeg od n, za koji vrijedi
(j1) hn (ti ) = fij ,

j = 1, . . . , li ,

i = 0, . . . , d.

Uputa: Konstrukcija Hermiteove baze postaje vrlo komplicirana (pokuajte!). Zato s zapiite hn kao linearnu kombinaciju potencija, formulirajte problem interpolacije s matrino i analizirajte determinantu dobivenog linearnog sustava. Ta determinanta c je generalizacija Vandermondeove determinante iz (7.2.17), bez pretpostavke da su vorovi razliiti, pa ju, takoder, oznaavamo s V (x0 , . . . , xn ). Dokaite da vrijedi c c c z V (x0 , . . . , xn ) = (tj ti )li lj
0i<jd d li 1

! ,
i=0 =1

odakle slijedi egzistenicija i jedinstvenost polinoma hn . Openiti sluaj interpolacije funkcije i derivacija, koji obuhvaa gornje interc c c polacije kao specijalni sluaj, moe se zapisati na sljedei nain. Neka je E matrica c z c c tipa (m+1)(n+1) s elementima Eij koji su svi 0, osim n+1 njih, koji su jednaki 1, i neka je zadan skup od m + 1 toaka x0 < x1 < < xm . Tada problem nalaenja c z polinoma P (x) stupnja n koji zadovoljava Eij (P (j1) (xi ) cij ) = 0, i = 0, . . . , m, j = 1, . . . , n + 1,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 351

za neki izbor brojeva cij , zovemo HermiteBirkhoovim interpolacijskim problemom. U punoj openitosti, kako je formuliran, problem moe i nemati rjeenje. Idenc z s tikacija matrica E koje vode na regularne sisteme jednadbi ve je dosta izuena. z c c I na kraju, spomenimo da i time problem nije do kraja iscrpljen. Mogue je umjesto c derivacija zadavati razne linearne funkcionale u vorovima. Jedan specijalni probc lem u kojem su ovi linearni funkcionali linearne kombinacije derivacija, donekle je prouen. Taj se problem esto naziva proirena HermiteBirkhoova interpoc c s lacija, a u vezi je s numerikim metodama za rjeavanje diferencijalnih jednadbi. c s z Zadatak 7.2.6 Zapisom polinoma P u standardnoj bazi potencija formulirajte matrino problem proirene HermiteBirkhoove interpolacije. c s

7.3.

Interpolacija po dijelovima polinomima

U prolom smo poglavlju pokazali da polinomna interpolacija visokog stupnja s moe imati vrlo loa svojstva, pa se u praksi ne smije koristiti. Umjesto toga, z s koristi se po dijelovima polinomna interpolacija, tj. na svakom podintervalu vrijedi
[xk1 ,xk ]

= pk ,

k = 1, 2, . . . , n,

gdje su pk polinomi niskog (ali ksnog) stupnja. Za razliku od polinomne interpolacije funkcijskih vrijednosti, gdje je bilo dovoljno da su vorovi interpolacije c medusobno razliiti, ovdje pretpostavljamo da su rubovi podintervala interpolacije c uzlazno numerirani, tj. da vrijedi a = x0 < x1 < < xn = b. To jo ne osigurava s da je funkcija jer je mogua dvoznanost u dodirnim tokama podintervala, ali o c c c tome emo voditi rauna kod zadavanja uvjeta interpolacije. c c Preciznije, pretpostavimo da na svakom podintervalu [xk1 , xk ] koristimo polinom stupnja m, tj. da je
[xk1 ,xk ]

= pk ,

k = 1, . . . , n.

Svaki polinom pk stupnja m odreden je s (m+1)-im koecijentom. Ukupno moramo odrediti koecijente polinoma pk u n podintervala, tj. ukupno (m + 1) n koecijenata. Interpolacijski uvjeti su (xk ) = fk , to za svaki polinom daje po 2 uvjeta s pk (xk1 ) = fk1 pk (xk ) = fk , k = 1, . . . , n, (7.3.2) k = 0, . . . , n, (7.3.1)

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 352

a ukupno daje 2n uvjeta interpolacije. Uoimo da smo postavljenjem prethodnih c uvjeta interpolacije osigurali neprekidnost funkcije , jer je pk1 (xk1 ) = pk (xk1 ), k = 2, . . . , n.

Primijetimo da uvjeta interpolacije ima 2n, a moramo nai (m + 1) n koec cijenata. Bez dodatnih uvjeta to je mogue napraviti samo za m = 1, tj. za po c dijelovima linearnu interpolaciju. Za m > 1 moraju se dodati uvjeti na glatkou interpolacijske funkcije u c vorovima interpolacije. c

7.3.1.

Po dijelovima linearna interpolacija

Osnovna ideja po dijelovima linearne interpolacije je umjesto jednog polinoma visokog stupnja koristiti vie polinoma, ali stupnja 1. s Na svakom podintervalu [xk1 , xk ], polinom pk je jedinstveno odreden. Obino c ga zapisujemo relativno obzirom na poetnu toku intervala (razlog je stabilnost) u c c obliku pk (x) = c0,k + c1,k (x xk1 ) za x [xk1 , xk ], k = 1, . . . , n.

z Interpolacijski polinom pk moemo zapisati u Newtonovoj formi pk (x) = f [xk1 ] + f [xk1 , xk ] (x xk1 ), pa odmah vidimo da vrijedi c0,k = f [xk1 ] = fk1 fk fk1 c1,k = f [xk1 , xk ] = , xk xk1

k = 1, . . . , n.

Ako elimo aproksimirati vrijednost funkcije f u toki x [a, b], prvo treba z c pronai izmedu kojih se vorova toka x nalazi, tj za koji k vrijedi xk1 x xk . c c c Tek tada moemo raunati koecijente pripadnog linearnog polinoma. z c Za traenje tog intervala koristimo algoritam binarnog pretraivanja. z z Algoritam 7.3.1 (Binarno pretraivanje) z low := 0; high := n; while (high low ) > 1 do begin

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 353

mid := (low + high) div 2; if x < xmid then high := mid else low := mid end; Trajanje ovog algoritma je proporcionalno s log2 (n). Ako je funkcija f klase C 2 [a, b], gdje je [a, b] interval na kojem aproksimiramo, onda je greka takve interpolacije maksimalna pogreka od n linearnih interpolacija. s s Na podintervalu [xk1 , xk ] ocjena greke linearne interpolacije je s |f (x) pk (x)| pri emu je c (x) = (x xk1 )(x xk ),
k M2 = x[xk1 ,xk ] k M2 |(x)|, 2!

max

|f (x)|.

Ocijenimo (x) na [xk1 , xk ], tj. nadimo njen maksimum po apsolutnoj vrijednosti. c Kako je graf od (x) na [xk1 , xk ] parabola koja sijee apscisu u xk1 i xk , maksimum od |(x)| je u polovitu intervala s xe = (xk1 + xk ) . 2

Ovo se moe provjeriti i traenjem lokalnog ekstrema fukncije z z (x) = (x xk1 )(x xk ). Deriviranjem izalazi (x) = 2x (xk1 + xk ), pa je kandidat za lokalni ekstrem toka c xe = (xk1 + xk ) . 2

Tvrdimo da je to lokalni minimum od , jer je (xe ) = 2 > 0. Vrijednost funkcije u lokalnom ekstremu je (xe ) = (xe xk1 )(xe xk ) = (xk xk1 )2 xk xk1 xk1 xk = . 2 2 4

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 354

Osim toga, za bilo koji x (xk1 , xk ) vrijedi (x) < 0. Odatle, prijelazom na apsolutnu vrijednost, slijedi da je xe toka lokalnog maksimuma za || i c (xk xk1 )2 , x [xk1 , xk ]. 4 c c z Ako razmak izmedu susjednih vorova oznaimo s hk = xk xk1 , moemo denirati maksimalni razmak susjednih vorova s c |(x)| |(xe )| h = max {hk }.
1kn

pa na itavom [a, b], moemo pisati c z 1 M2 h2 = M2 h2 . |f (x) (x)| 2! 4 8 Drugim rijeima, ako ravnomjerno poveavamo broj vorova, tako da h 0, onda c c c i maksimalna greka tei u 0. s z Na primjer, za ekvidistantne mree, tj. za mree za koje vrijedi z z xk = a + kh, h= ba n

je greka reda veliine h2 , odnosno n2 i potrebno je dosta podintervala da se dobije s c sasvim umjerena tonost aproksimacije. Na primjer, za h = 0.01, tj. za n = 100, c greka aproksimacije je reda veliine 104 . s c Druga je mana da aproksimacijska funkcija nije dovoljno glatka, tj. ona je samo neprekidna. Zbog ta dva razloga (dosta toaka za umjerenu tonost i pomanjc c kanje glatkoe), obino se na svakom podintervalu koriste polinomi viih stupnjeva. c c s Ako stavimo m = 2, tj. na svakom podintervalu postavimo kvadratni polinom (parabolu), moramo nai 3n koecijenata, a imamo 2n uvjeta interpolacije. Ako c zahtijevamo da aproksimacijska funkcija ima u unutarnjim vorovima interpolacije c s x1 , . . . , xn1 neprekidnu derivaciju, onda smo dodali jo n 1 uvjet. A treba nam jo jedan! Ako i njega postavimo (a to ne moemo na simetrian nain), onda s z c c bismo mogli nai i takvu aproksimaciju. Ona se uobiajeno ne koristi, jer kontrolu c c derivacije moemo napraviti samo na jednom rubu (to bi odgovaralo inicijalnim z problemima). Po dijelovima parabolika interpolacija nema pravu zikalnu podlogu, c pa se vrlo rijetko koristi (katkad kod raunarske grake). Za razliku od po dijelovima c parabolne interpolacije, po dijelovima kubina interpolacija ima vrlo vanu zikalnu c z podlogu i vjerojatno je jedna od najee koritenih metoda interpolacije uope. c sc s c

7.3.2.

Po dijelovima kubina interpolacija c

Kod po dijelovima kubine interpolacije, restrikcija aproksimacijske funkcije c na svaki interval je kubini polinom. Njega uobiajeno zapisujemo relativno obzirom c c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 355

na poetnu toku intervala [xk1 , xk ] u obliku c c pk (x) = c0,k + c1,k (x xk1 ) + c2,k (x xk1 )2 + c3,k (x xk1 )3 za x [xk1 , xk ], k = 1, . . . , n. (7.3.3)

Budui da ukupno imamo n kubinih polinoma, od kojih svakome treba odrediti 4 c c koecijenta, ukupno moramo odrediti 4n koecijenata. Uvjeta interpolacije je 2n, jer svaki kubini polinom pk mora interpolirati rubove svog podintervala [xk1 , xk ], c tj. mora vrijediti pk (xk1 ) = fk1 k = 1, . . . , n. pk (xk ) = fk , Ovi uvjeti automatski osiguravaju neprekidnost funkcije . Obino elimo da c z interpolacijska funkcija bude glada barem klase C 1 [a, b], tj. da je i derivacija funkcije neprekidna i u vorovima. Dodavanjem tih uvjeta za svaki kubini polic c nom, dobivamo jo 2n uvjeta s pk (xk1 ) = sk1 pk (xk ) = sk , k = 1, . . . , n,

z s c c pri emu su sk neki brojevi. Njihova uloga moe biti vieznana, pa emo je dec taljno opisati kasnije. Zasad, moemo zamiljati da su brojevi sk neke aproksimacije z s derivacije u vorovima. c Primijetite da je takvim izborom dodatnih uvjeta osigurana neprekidnost prve derivacije, jer je pk1 (xk1 ) = pk (xk1 ) = sk1 , k = 2, . . . , n.

Ako pretpostavimo da su sk zadani brojevi, nadimo koecijente interpolacijskog polinoma pk . Ponovno, najzgodnije je koristiti Newtonov oblik interpolacijskog polinoma, ali sada s tzv. dvostrukim vorovima, jer su u xk1 i xk dani i funkcijska vrijednost c i derivacija. Sto, zapravo, znai dvostruki vor? Pretpostavimo li da se u podijeljenoj c c razlici dva vora pribliavaju jedan drugom, onda je podijeljena razlika na limesu c z
hk 0

lim f [xk , xk + hk ] = lim

f (xk + hk ) f (xk ) = f (xk ), hk 0 hk

c uz uvjet da f ima derivaciju u toki xk . Drugim rijeima, vrijedi c f [xk , xk ] = f (xk ).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 356

U naem sluaju, ako u toki xk derivaciju f (xk ) zadajemo ili aproksimiramo s sk , s c c onda je f [xk , xk ] = sk . Sada moemo napisati tablicu podijeljenih razlika za kubini interpolacijski z c polinom koji ima dva dvostruka vora xk1 i xk . To si je najjednostavnije predoiti c c c kao kubini interpolacijski polinom koji prolazi kroz etiri toke: xk1 , tokom koja c c c c c je jako blizu xk1 , tokom koja je jako blizu xk i tokom xk . Kad se te dvije toke koje su jako blizu stope sa svojim parom, dobivamo dva dvostruka vora, c c pa tablica podijeljenih razlika izgleda ovako: xk xk1 xk1 f [xk ] fk1 sk1 fk1 f [xk1 , xk ] xk xk fk sk fk Forma Newtonovog interpolacijskog polinoma ostat e po obliku jednaka kao c u sluaju da su sve etiri toke razliite, pa imamo c c c c pk (x) = f [xk1 ] + f [xk1 , xk1 ] (x xk1 ) + f [xk1 , xk1 , xk ] (x xk1 )2 + f [xk1 , xk1 , xk , xk ] (x xk1 )2 (x xk ) uz uvaavanje da je z f [xk1 , xk1 ] = sk1 f [xk1 , xk ] [xk1 , xk1 ] f [xk1 , xk1 , xk ] = xk xk1 f [xk1 , xk ] sk1 = hk f [xk1 , xk , xk ] f [xk1 , xk1 , xk ] f [xk1 , xk1 , xk , xk ] = xk xk1 sk f [xk1 , xk ] f [xk1 , xk ] sk1 hk hk = hk sk + sk1 2f [xk1 , xk ] = . h2 k (7.3.4) sk f [xk1 , xk ] hk f [xk1 , xk ] sk1 hk f [xk , xk+1 ] f [xk , xk+1 , xk+2 ] f [xk , xk+1 , xk+2 , xk+3 ]

sk + sk1 2f [xk1, xk ] h2 k

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 357

Uvrtavanjem xk1 i xk u polinom pk iz (7.3.4), te u njegovu derivaciju pk moemo s z provjeriti da je pk (xk1 ) = fk1 , pk (xk1 ) = sk1, pk (xk ) = fk , pk (xk ) = sk . Drugim rijeima, nali smo traeni pk . Usporedimo li forme (7.3.3) i (7.3.4), dobit c s z emo koecijente ci,k . Relaciju (7.3.4) moemo malo drugaije zapisati, tako da polic z c nom bude napisan po potencijama od (x xk1 ). Ako posljednji lan tog polinoma c moemo napiemo kao z s (x xk1 )2 (x xk ) = (x xk1 )2 (x xk1 + xk1 xk ) = (x xk1 )2 (x xk1 hk ) = (x xk1 )3 hk (x xk1 )2 , onda relacija (7.3.4) poprima oblik pk (x) = f [xk1 ] + f [xk1 , xk1 ] (x xk1 ) + (f [xk1 , xk1 , xk ] hk f [xk1 , xk1 , xk , xk ]) (x xk1 )2 + f [xk1 , xk1 , xk , xk ] (x xk1 )3 . c Usporedivanjem koecijenata uz odgovarajue potencije prethodne relacije i relacije (7.3.3), za sve k = 1, . . . , n, dobivamo c0,k = pk (xk1 ) = fk1 , c1,k = pk (xk1 ) = sk1 , p (xk1 ) = f [xk1 , xk1 , xk ] hk f [xk1 , xk1 , xk , xk ], c2,k = k 2 p (xk1 ) = f [xk1 , xk1 , xk , xk ]. c3,k = k 6 Promotrimo li bolje posljednje dvije relacije, otkrivamo da se isplati prvo izraunati c koecijent c3,k , a zatim ga upotrijebiti za raunanje c2,k . Dobivamo c c3,k = c2,k sk + sk1 2f [xk1, xk ] , h2 k f [xk1 , xk ] sk1 = hk c3,k . hk

c Drugim rijeima, ako znamo skalare sk , onda nije problem nai koecijente po dic jelovima kubine interpolacije. Ostaje nam samo pokazati kako bismo mogli birati c c c sk -ove. Ponovno, postoje dva bitno razliita naina.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 358

7.3.3.

Po dijelovima kubina Hermiteova interpolacija c

Ako su poznate vrijednosti derivacija funkcije f u vorovima xk , skalare sk c moemo izabrati tako da vrijedi z sk = f (xk ), k = 0, . . . , n.

U tom sluaju je kubini polinom odreden lokalno, tj. ne ovisi o drugim kubinim c c c polinomima. Naime, ako su kubinom polinomu na rubovima intervala zadane i c funkcijske vrijednost i vrijednosti derivacija, potpuno su odredena njegova etiri koc ecijenta. Interpolacija koja interpolira funkcijske vrijednosti i vrijednosti derivacija u svim zadanim vorovima zove se po dijelovima kubina Hermiteova interpolacija. c c Nadimo greku takve interpolacije, uz pretpostavku da je funkcija f C 4 [a, b]. s s Prvo, pronadimo greku na intervalu [xk1 , xk ]. Interpolacijski polinom s dvostrukim vorovima na rubu ponaa se kao polinom koji ima etiri razliita vora, takva da c s c c c se parovi vorova u rubu stope. Zbog toga, moemo promatrati greku interpoc z s lacijskog polinoma reda 3 koji interpolira funkciju f u tokama xk1 , xk i jo dvijema c s tokama koje su blizu xk1 i xk . Greku takvog interpolacijskog polinoma moemo c s z ocijeniti s Mk |f (x) pk (x)| 4 |(x)|, 4! pri emu je, nakon stapanja toaka, c c (x) = (x xk1 )2 (x xk )2 ,
k M4 = x[xk1 ,xk ]

max

|f (4) (x)|.

Ostaje samo jo pronai u kojoj je toki intervala [xk1 , xk ] maksimum funkcije ||. s c c Dovoljno je nai sve lokalne ekstreme funkcije i u njima provjeriti vrijednost. c Derivirajmo (x) = 2(x xk1 )(x xk )2 + 2(x xk1 )2 (x xk ) = 2(x xk1 )(x xk )(2x xk1 xk ). Budui da maksimum greke ne moe biti u rubovima intervala, jer su tamo toke c s z c interpolacije (tj. minimumi i greke i ||), onda je jedino jo mogue da se ekstrem s s c dostie u nultoki xe od , pri emu je z c c xe = (xk1 + xk ) . 2

Lako se provjerava da je to lokalni maksimum. Vrijednost u xe je kvadrat vrijednosti greke za po dijelovima linearnu interpolaciju na istoj mrei vorova s z c (xe ) = (xe xk1 )2 (xe xk )2 = (xk xk1 )4 . 16

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 359

Odatle, prijelazom na apsolutnu vrijednost, odmah slijedi da je xe toka lokalnog c maksimuma za || i |(x)| |(xe )| (xk xk1 )4 , 16 x [xk1 , xk ].

Deniramo li, ponovno, maksimalni razmak vorova c h = max {hk = xk xk1 },


1kn

na itavom [a, b] moemo pisati c z |f (x) (x)| M4 h4 1 = M4 h4 . 4! 16 384

Drugim rijeima, ako ravnomjerno poveavamo broj vorova, tako da h 0, onda c c c i maksimalna greka tei u 0. s z Ipak, u cijelom ovom pristupu ima jedan problem. Vrlo esto derivacije funkcije c u tokama interpolacije nisu poznate, na primjer ako su toke dobivene mjerenjem. c c No, tada moemo aproksimirati prave vrijednosti derivacije koritenjem vrijednosti z s funkcije u susjednim tokama. Ostaje jo samo pokazati kako. c s

7.3.4.

Numeriko deriviranje c

Problem koji trebamo rijeiti je kako aproksimirati derivaciju diferencijabilne s funkcije f u nekoj toki, recimo x0 i susjednim tokama x1 , . . . , xn , koritenjem samo c c s vrijednosti funkcije f u zadanim tokama. c Taj problem moemo rijeiti koritenjem interpolacijskog polinoma. Tada, uz z s s n+1 pretpostavku da je f klase C [a, b], funkciju f moemo napisati (vidjeti relaciju z (7.2.6)) kao f (x) = pn (x) + en (x), gdje je pn (x) interpolacijski polinom napisan, recimo, u Newotnovoj formi pn (x) = f [x0 ] + (x x0 )f [x0 , x1 ] + + (x x0 ) (x xn1 )f [x0 , x1 , . . . , xn ], s a en (x) greka interpolacijskog polinoma en (x) = (x) f (n+1) (). (n + 1)!

Deriviranjem interpolacijskog polinoma, a zatim uvrtavanjem x = x0 dobivamo s pn (x0 ) = f [x0 , x1 ] + (x0 x1 )f [x0 , x1 , x2 ] + + (x0 x1 ) (x0 xn1 )f [x0 , x1 , . . . , xn ].

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 360

Ako pretpostavimo da f ima jo jednu neprekidnu derivaciju, tj. da je f klase s n+2 C [a, b], onda dobivamo i da je en (x0 ) = f (n+1) () (x0 x1 ) (x0 xn ). (n + 1)!

Dakle, pn (x0 ) je aproksimacija derivacije funkcije f u toki x0 i vrijedi c f (x0 ) = pn (x0 ) + en (x0 ). Ako oznaimo s c H = max |x0 xk |,
k

c onda je, za H 0, greka en (x0 ) reda veliine s en (x0 ) O(H n ). To nam pokazuje da aproksimacijska formula za derivaciju moe biti proizvoljno z visokog reda n, ali takve formule s velikim n imaju ogranienu praktinu vrijednost. c c Pokaimo kako se ta formula ponaa za male n. Za n = 1 imamo z s p1 (x0 ) = f [x0 , x1 ] = pri emu smo napravili greku c s f (2) () h, 2 s c uz pretpostavku da je f C 3 [x0 , x1 ]. Greka je reda veliine O(h) za h 0. e1 (x0 ) = c Za n = 2, uzmimo toke x1 i x2 koje se nalaze simetrino oko x0 (to je poseban c sluaj!), tj. c x1 = x0 + h, x2 = x0 h. Puno sugestivnija notacija toaka u tom sluaju je da s x1 oznaimo x2 , jer onda c c c toke piemo u prirodnom redosljedu: x1 , x0 , x1 . U tom sluaju je c s c p2 (x0 ) = f [x0 , x1 ] + (x0 x1 )f [x0 , x1 , x1 ]. Izraunajmo potrebne podijeljene razlike. c xk x1 f [xk ] f1 f [xk , xk+1 ] f0 f1 h f1 f0 h f [xk , xk+1 , xk+2 ] f1 f0 f1 f0 = , x1 x0 h

x0

f0

f1 2f0 + f1 2h2

x1

f1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 361

Uvrtavanjem dobivamo s p2 (x0 ) = f1 f0 f1 f1 f1 2f0 + f1 = h . 2 h 2h 2h

Ovu posljednju formulu esto zovemo simetrina (centralna) razlika, jer su toke x1 c c c i x1 simetrine obzirom na x0 . Takva aproksimacija derivacije ima bolju ocjenu c greke nego obine podijeljene razlike, tj. vrijedi s c e2 (x0 ) = f (3) () f (3) () (x0 x1 ) (x0 x1 ) = h2 . 6 6

Pokaimo to bi se zbivalo kad toke x1 i x1 (odnosno x2 ) ne bismo simetrino z s c c rasporedili oko x0 . Na primjer, uzmimo x1 = x0 + h, x2 = x0 + 2h.

Iako su i u ovom sluaju toke ekvidistantne, deriviramo u najljevijoj, a ne u srednjoj c c toki. Pripadna tablica podijeljenih razlika je c xk x0 f [xk ] f0 f [xk , xk+1 ] f1 f0 h f2 f1 h f [xk , xk+1 , xk+2 ]

x1

f1

f2 2f1 + f0 2h2

x2

f2

Konano, aproksimacija derivacije u x0 je c p2 (x0 ) = f [x0 , x1 ] + (x0 x1 )f [x0 , x1 , x1 ] = = f2 + 4f1 3f0 , 2h f2 2f1 + f0 f1 f0 h h 2h2

dok je greka jednaka s e2 (x0 ) = f (3) () f (3) () (x0 x1 ) (x0 x2 ) = h2 , 6 3

c tj. greka je istog reda veliine O(h2 ), medutim konstanta je dvostruko vea nego u s c prethodnom (simetrinom) sluaju. c c Primijetite da formula za derivaciju postaje sve tonija to su blie toke c s z c iz kojih se derivacija aproksimira, tj. to je h manji, naravno, uz pretpostavku s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 362

da je funkcija f dovoljno glatka. Medutim, to vrijedi samo u teoriji. U praksi, mnogi podaci su mjereni, pa nose neku pogreku, u najmanju ruku zbog greaka s s zaokruivanja. z Kao to ste vidjeli u prethodnim primjerima, osnovu numerikog deriviranja s c ine podijeljene razlike, pa ako su toke bliske, dolazi do kraenja. To nije sluajno. c c c c Do kraenja mora doi, zbog neprekidnosti funkcije f . Problem je to izrazitiji, c c to su toke blie, tj. to je h manji. Dakle, za numeriko deriviranje imamo dva s c z s c oprena zahtjeva na veliinu h. Manji h daje bolju ocjenu greke, ali veu greku c c s c s zaokruivanja. z Ilustrirajmo to analizom simetrine razlike, c f (x0 ) = f1 f1 + e2 (x0 ), 2h e2 (x0 ) = h2 f (3) () . 6

Pretpostavimo da smo, umjesto vrijednosti f1 i f1 , uzeli malo perturbirane vrijednosti f1 = f1 + 1 , f1 = f1 + 1 , |1 |, |1| . Ako odatle izrazimo f1 i f1 i uvrstimo ih u formulu za derivaciju, dobivamo f (x0 ) = f1 f1 1 1 + e2 (x0 ). 2h 2h

Prvi lan s desne strane je ono to smo mi zaista izraunali kao aproksimaciju c s c derivacije, a ostalo je greka. Da bismo analizu napravili jednostavnijom, prets postavimo da je h prikaziv u raunalu i da je greka pri raunanju kvocijenta u c s c podijeljenoj razlici zanemariva. U tom je sluaju napravljena ukupna greka c s err 2 = f (x0 ) 1 1 f1 f1 = + e2 (x0 ). 2h 2h

s c c Ogradimo err 2 po apsolutnoj vrijednosti. Greka u prvom lanu je najvea ako su c 1 i 1 suprotnih predznaka, maksimalne apsolutne vrijednosti . Za drugi lan koristimo ocjenu za e2 (x0 ), pa zajedno dobivamo |err 2 | M3 2 + h, h 6 M3 =
x[x1 ,x1 ]

max |f (3) (x)|.

Lako se vidi da je ocjena na desnoj strani najbolja mogua, tj. da se moe dostii. c z c Oznaimo tu ocjenu s e(h) c M3 2 e(h) := + h. h 6 Ponaanje ove ocjene i njezina dva lana u ovisnosti od h moemo prikazati sljedeim s c z c grafom. Plavom bojom oznaen je prvi lan /h oblika hiperbole, koji dolazi od c c greke u podacima, a crvenom bojom drugi lan oblika parabole, koji predstavlja s c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 363

maksimalnu greku odbacivanja kod aproksimacije derivacije podijeljenom razlikom. s Zelena boja oznaava njihov zbroj e(h). c

h0

Odmah vidimo da e(h) ima minimum po h. Taj minimum se lako rauna, jer c M3 + h=0 2 h 3 z izlazi da se lokalni, a onda (zbog e (h) > 0 za h > 0) i globalni minimum postie za e (h) = h0 = Najmanja vrijednost funkcije je e(h0 ) = 3 M3 2 3
1/3

iz

3 M3

1/3

2/3 .

To pokazuje da ak i u najboljem sluaju, kad je ukupna greka najmanja, dobivamo c c s 2/3 da je ona reda veliine O( ), a ne O(), kao to bismo eljeli. To predstavlja c s z znaajni gubitak tonosti. Posebno, daljnje smanjivanje koraka h samo poveava c c c greku! s Isti problem se javlja, i to u jo ozbiljnijem obliku, u formulama vieg reda za s s aproksimaciju derivacija. Primjer 7.3.1 Nadite po dijelovima kubinu Hermiteovu interpolaciju za podatke c xk fk fk 0 1 0 1 2 1 2 0 . 1

Oito, treba povui dva kubina polinoma p1 i p2 . Polinom p1 je dio funkcije c c c c s na intervalu [0, 1], a p2 na [1, 2].Prije raunanja ovih polinoma, uvedimo jo

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 364

skraenu oznaku za podijeljene razlike reda j, po ugledu na oznaku za derivacije c vieg reda, s f [j] [xk ] := f [xk , . . . , xk+j ], j 0, tako da tablice u prvom redu imaju krae oznake za stupce. c Za prvi polinom imamo sljedeu tablicu podijeljenih razlika c xk 0 0 1 1 Iz nje dobivamo p1 (x) = 1 + (1 + 1)(x 0)2 1(x 0)3 = 1 + 2x2 x3 . Na slian nain, za p2 dobivamo tablicu podijeljenih razlika c c xk 1 1 2 2 pa je fk 2 2 0 0 f [1] [xk ] 1 2 1 f [2] [xk ] f [3] [xk ] fk 1 1 2 2 f [1] [xk ] 0 1 1 f [2] [xk ] f [3] [xk ]

1 0

3 3

p2 (x) = 2 + (x 1) + (3 6)(x 1)2 + 6(x 1)3 = 2 + (x 1) 9(x 1)2 + 6(x 1)3 .

7.3.5.

Po dijelovima kubina kvazihermiteova interpolacija c

Sad se moemo vratiti problemu kako napraviti po dijelovima kubinu Herz c miteovu interpolaciju, ako nemamo zadane derivacije. U tom sluaju derivacije c moemo aproksimirati na razliite naine, a samu interpolaciju emo zvati kvaziherz c c c miteova po dijelovima kubina interpolacija. c Primijetimo da u sluaju aproksimacije derivacije, greka po dijelovima kubic s c ne interpolacije ovisi o tome koliko je dobra aproksimacija derivacije. Najjednostavnije je uzeti podijeljene razlike kao aproksimacije derivacija u vorovima. One mogu biti unaprijed (do na posljednju) ili unazad (do na prvu). c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 365

Ako koristimo podijeljene razlike unaprijed, onda je


fk+1 xk+1 fn

sk =

fk , xk

za k = 0, . . . , n 1,

fn1 , za k = n, xn xn1

a ako koristimo podijeljene razlike unazad, onda je f0 , za k = 0, 1 x0 sk = fk fk1 , za k = 1, . . . , n. xk xk1 s Medutim, prema prethodnom odjeljku, greka koju smo napravili takvom aproksimacijom derivacije je reda veliine O(h) u derivaciji, odnosno O(h2 ) u funkcijskoj c vrijednosti, to je dosta loe. s s Prethodnu aproksimaciju moemo poneto popraviti ako su toke xk ekvidisz s c tantne, a koristimo simetrinu razliku (osim na lijevom i desnom rubu gdje to nije c mogue). Uz oznaku h = xk xk1 , u tom sluaju moemo staviti c c z f0 , za k = 0, h k+1 fk1 sk = , za k = 1, . . . , n 1, 2h f f n n1 , za k = n. h U ovom e se sluaju greka obzirom na obine podijeljene razlike popraviti tamo c c s c gdje se koristi simetrina razlika. Naalost, najvee greke ostat e u prvom i posljedc z c s c njem podintervalu, gdje nije mogue koristiti simetrinu razliku. c c Kao to smo vidjeli, postoje i bolje aproksimacije derivacija, a pripadni kvazis hermiteovi kubini polinomi obino dobivaju ime po nainu aproksimacije derivacija. c c c Ako derivaciju u toki xk aproksimiramo tako da povuemo kvadratni interpoc c lacijski polinom kroz xk1 , xk i xk+1 , a zatim ga deriviramo, pripadna kvazihermiteova interpolacija zove se Besselova po dijelovima kubina interpolacija. Naravno, c u prvom i posljednjem voru ne moemo postupiti na jednak nain (jer nema lijeve, c z c odnosno desne toke). Zbog toga derivaciju u x0 aproksimiramo tako da povuemo c c c kvadratni interpolacijski polinom kroz x0 , x1 i x2 , i njega deriviramo u x0 . Slino, derivaciju u xn aproksimiramo tako da povuemo kvadratni interpolacijski polinom c kroz xn2 , xn1 i xn , i njega deriviramo u xn . U unutranjim vorovima xk , za k = 1, . . . , n 1, dobivamo s c p2,k (x) = fk1 + f [xk1 , xk ](x xk1 ) + f [xk1 , xk , xk+1 ](x xk1 ) (x xk ),
f1 f f1 x

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 366

a zatim, deriviranjem i uvrtavanjem xk s sk = p2,k (xk ) = f [xk1 , xk ] + f [xk1 , xk , xk+1 ](xk xk1 ). Uz oznaku hk = xk xk1 , prethodna se formula moe napisati i kao z sk = f [xk1 , xk ] + hk f [xk , xk+1 ] f [xk1 , xk ] hk+1 f [xk1 , xk ] + hk f [xk , xk+1 ] = , hk + hk+1 hk + hk+1 k = 1, . . . , n,

z tj. sk je teinska srednja vrijednost podijeljene razlike unaprijed i unatrag. Za k = 0 pripadni polinom ima oblik p2,1 (x) = f0 + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 ) (x x1 ). Deriviranjem, pa uvrtavanjem x0 dobivamo s s0 = p2,1 (x0 ) = f [x0 , x1 ] + f [x0 , x1 , x2 ](x0 x1 ) = Za k = n pripadni polinom je p2,n1 (x) = fn2 + f [xn2 , xn1 ](x xn2 ) + f [xn2 , xn1 , xn ](x xn2 ) (x xn1 ). Deriviranjem, pa uvrtavanjem xn dobivamo s sn = p2,n1 (xn ) = f [xn2 , xn1 ] + f [xn2 , xn1 , xn ](2xn xn1 xn2 ) (hn1 + 2hn ) f [xn2 , xn1 ] hn f [xn1 , xn ] . = hn1 + hn Dakle, za Besselovu po dijelovima kubinu interpolaciju stavljamo c (2h1 + h2 ) f [x0 , x1 ] h1 f [x1 , x2 ] , h1 + h2 hk+1 f [xk1 , xk ] + hk f [xk , xk+1 ] , sk = hk + hk+1

(2h1 + h2 ) f [x0 , x1 ] h1 f [x1 , x2 ] . h1 + h2

za k = 0, za k = 1, . . . , n 1,

(hn1 + 2hn ) f [xn2 , xn1 ] hn f [xn1 , xn ] , za k = n. hn1 + hn

s c Greka u derivaciji (vidjeti prethodni odjeljak) je reda veliine O(h2 ), to znai s c 3 da je greka u funkciji reda veliine O(h ). s c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 367

Postoji jo jedna varijanta aproksimacije derivacija s imenom. Akima je s 1970. godine dao sljedeu aproksimaciju koja usrednjava podijeljene razlike, s ciljem c da se sprijee oscilacije interpolacijske funkcije : c sk = uz wk = |f [xk , xk+1 ] f [xk1 , xk ]| i w1 = w0 = w1 , wn1 = wn = wn+1 . Za k = 0 i k = n, ove formule se ne mogu odmah iskoristiti, bez dodatnih denicija. Naime, kraenjem svih teina wk u formuli za k = 0 dobivamo da je c z s0 = f [x1 , x0 ] + f [x0 , x1 ] . 2 wk+1f [xk1 , xk ] + wk1 f [xk , xk+1 ] , wk+1 + wk1 k = 0, 1, . . . , n 1, n,

Ostaje nam samo jo denirati to je f [x1 , x0 ]. Podijeljenu razliku f [x0 , x1 ] moemo s s z interpretirati kao sredinu dvije susjedne podijeljene razlike, tj. moemo staviti z f [x0 , x1 ] = Odatle slijedi da je f [x1 , x0 ] = 2f [x0 , x1 ] f [x1 , x2 ], 3f [x0 , x1 ] f [x1 , x2 ] 2 i to je praktina formula za s0 . Na slian nain, moemo dobiti i relaciju za sn c c c z s0 = sn = 3f [xn1 , xn ] f [xn2 , xn1 ] . 2 odnosno f [x1 , x0 ] + f [x1 , x2 ] . 2

Akimin je algoritam dosta popularan u praksi i nalazi se u standardnim numerikim paketima, poput IMSL-a, iako je tonost ovih formula za aproksimaciju c c derivacije relativno slaba. Openito, za neekvidistantne toke, greka u derivaciji c c s je reda veliine samo O(h), a to znai samo O(h2 ) za funkcijske vrijednosti. Ako c c su toke ekvidistantne, onda je greka reda veliine O(h2) za derivaciju, a O(h3 ) za c s c funkciju, tj. kao i kod Besselove po dijelovima kvazihermitske interpolacije. c Medutim, ova slabija tonost je potpuno u skladu s osnovnim ciljem Akimine aproksimacije derivacija. U mnogim primjenama, aproksimacijom elimo dobiti gez ometrijski ili vizuelno poeljan, graf aproksimacijske funkcije , pa makar i na utrb z s tonosti. Tipian primjer je (priblino) crtanje grafova funkcija, gdje se iz nekog c c z relativno malog broja zadanih podataka (toaka) treba, u kratkom vremenu, dobiti c veliki broj toaka za crtanje vizuelno glatkog grafa. Iako nije nuno da nacrtani graf c z

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 368

ba interpolira zadane podatke (jer male, za oko nevidljive greke sigurno moemo s s z tolerirati), interpolacija obino daje najbri algoritam. c z Ostaje jo pitanje kako postii vizuelnu glatkou? Oita heuristika je izbjes c c c gavanje naglih promjena u derivaciji. Drugim rijeima, elimo izgladiti dobivene c z podatke za derivaciju, t. izraunate podijeljene razlike. Problem izgladivanja poc dataka je klasini problem numerike analize. Jedan od najjednostavnijih i najbrih c c z pristupa je zamjena podatka srednjom vrijednou podataka preko nekoliko susjedsc nih toaka. Ova ideja je vrlo bliska numerikoj integraciji, jer integracija izgladuje c c funkciju, pa emo tamo dati precizniji opis i opravdanje numerikog izgladivanja poc c dataka. Ako bolje pogledamo Akimine formule za aproksimaciju derivacije, one se svode na teinsko usrednjavanje podijeljenih razlika preko nekoliko susjednih toaka z c s ciljem izgladivanja derivacije (pa onda i funkcije). Vidimo da na sk utjeu toke c c xk2 , . . . , xk+2 , tj. usrednjavanje ide preko 5 susjednih toaka, osim na rubovima. c Slino moemo interpretirati i Besselove formule. Tamo usrednjavanje ide preko 3 c z susjedne toke. c Aproksimacija derivacije mogla bi se napraviti jo i bolje, ako povuemo ins c terpolacijski polinom stupnja 3 koji prolazi tokama xk , xk1 , xk+1 i jednom od c toaka xk2 ili xk+2 (opet se javlja nesimetrinost, jer za kubini polinom trebamo c c c c 4 toke, pa s jedne strane od xk uzimamo dvije, a s druge samo jednu toku) i c z njega deriviramo u xk (uz paljivo deriviranje na rubovima). Takvim postupkom moemo dobiti greku u funkcijskoj vrijednosti O(h4). Primijetite da bolja aproksiz s macija derivacija nije potrebna, jer je greka kod po dijelovima Hermiteove kubine s c 4 c interpolacije takoder reda veliine O(h ). Kvazihermiteova po dijelovima kubina interpolacija je takoder lokalna, tj. c promjenom jedne toke promijenit e se samo nekoliko susjednih kubinih polinoma. c c c Tono koliko, ovisi o tome koju smo aproksimaciju derivacije izabrali. c

7.3.6.

Kubina splajn interpolacija c

Brojeve s0 , . . . , sn moemo odrediti na jo jedan nain. Umjesto da su skalari z s c c z sk neke aproksimacije derivacije funkcije f u vorovima, moemo zahtijevati da se sk biraju tako da funkcija bude jo glada da joj je i druga derivacija neprekidna, s tj. da je klase C 2 [a, b]. Nagibe s1 , . . . , sn1 odredujemo iz uvjeta neprekidnosti druge derivacije u unuc tarnjim vorovima x1 , . . . xn1 . Takva se interpolacija zove (kubina) splajn interc polacija. Moemo li iz tih uvjeta jednoznano izraunati splajn? Prisjetimo se, imamo z c c 4n koecijenata kubinih polinoma. Uvjeta interpolacije (svaki polinom mora interc

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 369

polirati rubne toke svog podintervala) ima 2n. Uvjeta ljepljenja prve derivacije u c unutarnjim tokama ima n 1 jer je toliko unutarnjih toaka, a jednako je toliko i c c uvjeta ljepljenja druge derivacije. Dakle, imamo ukupno 4n 2 uvjeta, a moramo odrediti 4n koecijenata. Odmah vidimo da nam nedostaju 2 uvjeta da bismo te koecijente mogli odrediti. Kako se oni biraju, to ostavimo za kasnije. Za poetak, prva derivacija se lijepi c u unutarnjim tokama im postavimo zahtjev da je (xk ) = sk u tim tokama, c c c bez obzira na to koliki je sk i ima li on znaenje aproksimacije derivacije (vidjeti c poetak odjeljka o po dijelovima kubinoj interpolaciji). To nam omoguava da c c c sk -ove odredimo i na neki drugi nain. Zbog toga, ostaje nam samo postaviti uvjete c ljepljenja druge derivacije u unutarnjim vorovima. Zahtjev je c pk (xk ) = pk+1 (xk ), k = 1, . . . , n 1.

s c c Ako polinome pk piemo u formi (7.3.3), relativno obzirom na poetnu toku podintervala, tj. ako je pk (x) = c0,k + c1,k (x xk1 ) + c2,k (x xk1 )2 + c3,k (x xk1 )3 , onda je pk (x) = 2c2,k + 6c3,k (x xk1 ) pk+1 (x) = 2c2,k+1 + 6c3,k+1 (x xk ), pk (xk ) = 2c2,k + 6c3,k (xk xk1 ) pk+1 (xk ) = 2c2,k+1 .

pa je

Drugim rijeima, podijelimo li prethodne jednadbe s 2, uvjet ljepljenja glasi c z c2,k + 3c3,k (xk xk1 ) = c2,k+1. (7.3.5)

Ostaje samo izraziti koecijente ci,k u terminima fk i sk iz relacija koje su dobivene iz uvjeta ljepljenja prvih derivacija. Ponovimo c3,k = c2,k sk + sk1 2f [xk1, xk ] , h2 k f [xk1 , xk ] sk1 = hk c3,k . hk

Uvrtavanjem u (7.3.5), dobivamo s sk + sk1 2f [xk1 , xk ] f [xk1 , xk ] sk1 +2 hk hk f [xk , xk+1 ] sk sk+1 + sk 2f [xk , xk+1 ] = . hk+1 hk+1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 370

Sredivanjem dobivamo 3f [xk1 , xk ] + sk1 + 2sk 3f [xk , xk+1 ] 2sk sk+1 = . hk hk+1 Pomnoimo li prethodnu relaciju s hk hk+1 i prebacimo li sve sk na lijevu stranu, a z lanove koji nemaju sk na desnu stranu, za k = 1, . . . , n 1, dobivamo c hk+1 sk1 + 2(hk + hk+1 )sk + hk sk+1 = 3(hk+1f [xk1 , xk ] + hk f [xk , xk+1 ]). Ovo je linearni sustav s (n + 1)-om nepoznanicom i (n 1)-om jednadbom. Ako z c na neki nain zadamo rubne nagibe s0 i sn , onda ostaje tono n 1 nepoznanica. c Matrica tako dobivenog linearnog sustava je trodijagonalna

2(h1 + h2 ) h3

h1 2(h2 + h3 ) .. . h2 .. . .. . hn2 2(hn1 + hn )

hn1

2(hn2 + hn1 ) hn

i strogo dijagonalno dominantna po retcima, jer za svako k vrijedi 2(hk + hk+1 ) > hk + hk+1 . pa je i regularna (Gergorin). Prema tome ovaj linearni sustav sigurno ima jedins s z stveno rjeenje s1 , . . . , sn1. Za rjeavanje moemo koristiti Gaussove eliminacije ili s LR faktorizaciju bez pivotiranja (vidjeti poglavlje o line arnim sustavima). Primijetite, sada sk nisu nezavisni, nego ovise jedan o drugom. To znai da c aproksimacija vie nije lokalna, jer se promjenom jedne funkcijeske vrijednosti s mijenjaju svi polinomi. Preciznije, promjena jedne vrijednosti fk0 mijenja desne strane u 3 jednadbe (za k0 1, k0 i k0 + 1), ali se zbog toga promijeni cijeli vektor z z rjeenja sustava, tj. svi skalari sk . Ipak, moe se pokazati da su promjene lokalizirane s najvie se promijene sk -ovi za k blizu k0 , a promjene padaju prema rubovima. s Posljednje otvoreno pitanje je kako moemo izabrati s0 i sn . Oni se ne moraju z direktno zadati, ve se uobiajeno zadaju rubni uvjeti na funkciju iz kojih se c c odreduju s0 i sn ili se dodaju jo dvije jednadbe linearnog sustava (prva i zadnja). s z Postoji nekoliko tradicionalnih naina zadavanja rubnih uvjeta, odnosno jedc nadbi koje nedostaju. z

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 371

(a) Potpuni splajn zadana prva derivacija u rubovima Ako je poznata derivacija funkcije f u rubovima, a to je, recimo sluaj kod c rjeavanja rubnih problema za obinu diferencijalnu jednadbu, onda je prirodno s c z zadati s0 = f (x0 ), sn = f (xn ). Takav oblik splajna se katkad zove potpuni ili kompletni splajn. Greka aproksis 4 macije u funkcijskoj vrijednosti je O(h ). (b) Zadana druga derivacija u rubovima Ako je poznata druga derivacija funkcije f u rubovima, onda treba staviti f (x0 ) = (x0 ) = p1 (x0 ), f (xn ) = (xn ) = pn (xn ).

c c Ostaje jo samo izraziti p1 (x0 ) pomou s0 , s1 te pn (xn ) pomou sn1 i sn . Znamo s da je p (x0 ) f (x0 ) c2,1 = 1 = , 2 2 pa iz izraza za c2,1 izlazi f (x0 ) 3f [x0 , x1 ] 2s0 s1 . = h1 2 z Nakon sredivanja dobivamo jednadbu 2s0 + s1 = 3f [x0 , x1 ] h1 f (x0 ), 2

koju treba dodati kao prvu jednadbu linearnog sustava. Slino, koritenjem relacije z c s pn (xn ) = 2c2,n + 6c3,n hn , te uvrtavanjem izraza za c2,n i c3,n izlazi s sn1 + 2sn = 3f [xn1 , xn ] + hn f (xn ). 2

Tu jednadbu dodajemo kao zadnju u linearni sustav. Dobiveni linearni sustav ima z (n+1)-u jednadbu i isto toliko nepoznanica, a moe se pokazati da ima i jedinstveno z z rjeenje. Ponovno, greka aproksimacije u funkcijskoj vrijednosti je O(h4). s s (c) Prirodni splajn slobodni krajevi Ako zadamo tzv. slobodne krajeve, tj. ako je (x0 ) = (xn ) = 0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 372

dobivamo prirodnu splajn interpolaciju. Na isti nain kao u sluaju (b), dobivamo c c dvije dodatne jednadbe z 2s0 + s1 = 3f [x0 , x1 ], sn1 + 2sn = 3f [xn1 , xn ].

Ako aproksimirana funkcija f nema na rubu druge derivacije jednake 0, onda je greka aproksimacije u funkcijskoj vrijednosti O(h2 ), a ako ih ima, onda je (kao u s sluaju (b)) greka reda O(h4 ). c s (d) Numerika aproksimacija derivacija na rubu c Ako nita ne znamo o ponaanju derivacije funkcije f na rubovima, bolje je s s ne zadavati njeno ponaanje. s Preostala dva parametra mogu se odrediti tako da numeriki aproksimiramo c ili ili u rubovima. Prvo napiemo kubini interpolacijski polinom koji s c prolazi tokama x0 , . . . , x3 , odnosno xn3 , . . . , xn , a zatim analitiki nademo eljenu c c z derivaciju, koju koristimo aproksimaciju za odgovarajuu derivaciju funkcije. Bilo c koja od ovih varijanti daje pogreku reda O(h4 ). s (e) Not-a-knot splajn Mogu je i drugaiji pristup. Umjesto neke aproksimacije derivacije, koristimo c c tzv. not-a-knot (prevedeno nije vor) uvjet. Parametre s0 i sn biramo tako da c su prva dva i posljednja dva kubina polinoma jednaka, tj. da je c p1 = p2 , pn1 = pn .

c c Dakle, na dvostrukom intervalu [x0 , x2 ] povlaimo samo jedan kubini polinom p1 koji interpolira funkcijske vrijednosti u x0 , x1 i x2 (u x2 se lijepe jo i prva i druga s derivacija na sljedei polinom). Slino vrijedi i za interval [xn2 , xn ]. c c Cinjenicu da su prva dva, odnosno zadnja dva polinoma jednaka moemo izrazz iti i koritenjem tree derivacije, jer ako dva kubina polinoma u nekoj toki imaju s c c c istu funkcijsku vrijednost, vrijednost prve, druge i tree derivacije, oni su jednaki. c Dakle, voru x1 zalijepi (osim prve i druge) i trea derivacija polinoma p1 i p2 , c c odnosno da se u voru xn1 zalijepi se trea derivacija polinoma pn1 i pn . Te c c zahtjeve moemo pisati kao z p1 (x1 ) = p2 (x1 ), pn1 (xn1 ) = pn (xn1 ).

c c Zahtjev p1 (x1 ) = p2 (x1 ) znai da su vodei koecijenti polinoma p1 i p2 jednaki, tj. c3,1 = c3,2 . Pridruimo li taj zahtjev zahtjevu ljepljenja druge derivacije, z c2,1 + 3c3,1 hk = c2,2 ,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 373

dobivamo f [x0 , x1 ] s0 s1 + s0 2f [x0 , x1 ] s1 + s0 2f [x0 , x1 ] f [x1 , x2 ] s1 +2 = h2 . h1 h1 h2 h2 1 Sredivanjem, izlazi (h1 + 2(h1 + h2 ))h2 f [x0 , x1 ] + h2 f [x1 , x2 ] 1 h2 s0 + (h1 + h2 )s1 = . h1 + h2 Na slian nain dobivamo i zadnju jednadbu c c z (hn1 + hn )sn1 + hn1 sn = (hn + 2(hn1 + hn ))hn1 f [xn1 , xn ] + h2 f [xn2 , xn1 ] n . hn1 + hn2

Kao i dosad, greka aproksimacije za funkcijske vrijednosti je O(h4 ). s Objasnimo jo porijeklo naziva not-a-knot za ovaj tip odredivanja dodatnih s jednadbi. Standardno, kubini splajn je klase C 2 [a, b], tj. funkcija ima neprekidne z c c druge derivacije u unutarnjim vorovima x1 , . . . , xn1 . Trea derivacija funkcije c openito puca u tim vorovima, jer se tree derivacije polinoma pk i pk+1 ne c c c moraju zalijepiti u xk , za k = 1, . . . , n 1. Kad uzmemo u obzir da su svi polinomi pk kubini, onda je njihova trea derivacija ujedno i zadnja netrivijalna derivacija c c (sve vie derivacije su nula). Dakle, zadnja netrivijalna derivacija splajna puca u s unutarnjim vorovima. c Ova injenica, u terminologiji teorije splajn funkcija, odgovara tome da svi c unutarnji vorovi splajna imaju multiplicitet 1, jer je multiplicitet vora jednak c c broju zadnjih derivacija koje pucaju ili mogu pucati u tom voru (derivacije se c broje unatrag, poev od zadnje netrivijalne, koja odgovara stupnju polinoma). U c tom smislu, poveanje glatkoe splajna u (unutarnjem) voru smanjuje multiplicitet c c c tog vora. c Prethodni zahtjev da se i zadnje netrivijalne derivacije splajna zalijepe u vorovima x1 i xn1 odgovara tome da njihov multiplicitet vie nije 1, nego 0. c s Cvorovi multipliciteta 0, naravno, nisu pravi vorovi splajna, jer u njima nema c pucanja derivacija (jednako kao i u svim ostalim tokama iz [a, b] koje nisu vorovi). c c Medutim, to ne znai da vorove x1 i xn1 moemo izbaciti, jer u njima i dalje c c z moraju biti zadovoljeni uvjeti interpolacije (x1 ) = f1 i (xn1 ) = fn1 . Dakle, te toke ostaju vorovi interpolacije, iako nisu vorovi splajna u smislu pucanja c c c derivacija. (f) Ostali rubni uvjeti Svi dosad opisani naini zadavanja rubnih uvjeta uvaju trodijagonalnu c c strukturu linearnog sustava za parametre sk , jer eventualne dodatne jednadbe z prirodno dodajemo sustavu kao prvu i zadnju.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 374

Za aproksimaciju periodikih funkcija na intervalu koji odgovara periodu, c ovakvi oblici zadavanja rubnih uvjeta nisu pogodni. Da bismo ouvali periodinost, c c prirodno je postaviti tzv. periodike rubne uvjete. U praksi se najee koristi zahc c sc tjev periodinosti prve i druge derivacije na rubovima c (x0 ) = (xn ), to vodi na jednadbe s z p1 (x0 ) = pn (xn ), p1 (x0 ) = pn (xn ). (x0 ) = (xn ),

Dobiveni linearni sustav vie nije trodijagonalan. Za njegovo rjeavanje postoje s s ekasni algoritmi (sloenost ostaje linearna u n). z Zadatak 7.3.1 Pokuajte nai jedan takav algoritam. s c U sluaju potrebe, dozvoljeno je i kombinirati razne oblike rubnih uvjeta u c jednom i drugom rubu. Primjer 7.3.2 Neka je f (x) = sin(x). c Nadite prirodni splajn koji aproksimira funkciju f na [0, 1] s vorovima interpolacije c c xk = 0.2k, za k = 0, . . . , 5. Izraunajte vrijednost tog splajna u toki 0.55. Budui da su toke ekvidistantne s razmakom h = 0.2, jednadbe linearnog c c z sustava za splajn su hsk1 + 4hsk + hsk+1 = 3(hf [xk1 , xk ] + hf [xk , xk+1 ]), Dodatne jednadbe (prva i zadnja) za prirodni splajn su z 2s0 + s1 = 3f [x0 , x1 ] s4 + 2s5 = 3f [x4 , x5 ]. Za desnu stranu sustava trebamo izraunati prve podijeljene razlike c xk 0.0 0.2 0.4 0.6 0.8 1.0 fk 0.0000000000 0.5877852523 0.9510565163 0.9510565163 0.5877852523 0.0000000000 f [xk , xk+1 ] 2.9389262615 1.8163563200 0.0000000000 1.8163563200 2.9389262615 k = 1, . . . , 4.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 375

Iz svih ovih podataka dobivamo linearni sustav

0.4 0.2 s0 1.7633557569 0.2 0.8 0.2 s1 2.8531695489 s2 0.2 0.8 0.2 = 1.0898137920 s 1.0898137920 0.2 0.8 0.2 3 0.2 0.8 0.2 s4 2.8531695489 0.2 0.4 1.7633557569 s5 Rjeenje tog linearnog sustava za nagibe sk je s s0 = s5 = 3.1387417029, s1 = s4 = 2.5392953786, s2 = s3 = 0.9699245271. Budui da se toka x = 0.55 nalazi u intervalu [x2 , x3 ] = [0.4, 0.6], restrikcija c c splajna na taj interval je polinom p3 , kojeg nalazimo iz tablice podijeljenih razlika xk 0.4 0.4 0.6 0.6 fk 0.9510565163 0.9510565163 0.9510565163 0.9510565163 f [1] [xk ] 0.9699245271 0.0000000000 0.9699245271 f [2] [xk ] f [3] [xk ]

4.8496226357 4.8496226357

0.0000000000

Odavde odmah slijedi da je taj kubini polinom jednak c p3 (x) = 0.9510565163 + 0.9699245271(x 0.4) 4.8496226357(x 0.4)2 , tj. p3 je zapravo kvadratni polinom. Pogledajmo jo aproksimacije za funkciju, prvu i drugu derivaciju u toki 0.55. s c funkcija j=0 f (j) (0.55) (j) (0.55) greka s 0.9876883406 0.9874286861 0.0002596545 prva derivacija j=1 0.4914533661 0.4849622636 0.0064911026 druga derivacija j=2 9.7480931932 9.6992452715 0.0488479218

Vidimo da su aproksimacije vrlo tone, iako je h relativno velik. To je zato to c s funkcija f (x) = sin(x) zadovoljava prirodne rubne uvjete f (0) = f (1) = 0, kao i prirodni splajn. Greka aproksimacije funkcije je reda veliine O(h4 ), prve derivacije s c 3 2 O(h ), a druge derivacije O(h ).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 376

7.4.

Interpolacija polinomnim splajnovima za matematiare c

Iskustvo s polinomnom interpolacijom ukazuje da polinomi imaju dobra lokalna svojstva aproksimacije, ali da globalna uniformna pogreka moe biti vrlo ves z lika. Niti posebnim izborom vorova interpolacije ne moemo ukloniti taj fenomen. c z Namee se prirodna ideja da izbjegavamo visoke stupnjeve polinoma, ali da konc struiramo polinome niskog stupnja na nekoj subdiviziji segmenta od interesa, tj. da razmotrimo po dijelovima polinomnu interpolaciju. Ako je funkcija koju elimo interpolirati glatka, elimo sauvati to je mogue z z c s c veu glatkou takvog interpolanta. To nas vodi na zahtijev da za po dijelovima linec c arne aproksimacije zahtijevamo globalnu neprekidnost, za po dijelovima paraboline c aproksimacije globalnu diferencijabilnost, itd. Po dijelovima polinomne funkcije koje zadovoljavaju zadane uvjete glatkoe zovemo polinomne splajn funkcije. c Koecijente u nekoj reprezentaciji polinomnog splajna odredit emo iz uvjeta inc terpolacije, kao i u sluaju polinomne interpolacije. Takav specijalni izbor splajna c zove se interpolacijski polinomni splajn. U sljedea dva odjeljka istrait emo konstrukciju i svojstva aproksimacije c z c linearnog i kubinog splajna. Dok je za linearni splajn oito mogue zahtijevati c c c najvie neprekidnost na cijelom segmentu od interesa (zahtijev za lijepljenjem s prve derivacije vodi na funkciju koja je globalno linearna), za kubine je splajnove c 1 2 mogue zahtijevati pripadnost prostorima C ili C , tj. mogue je nai dva kubina c c c c splajna. Splajnovi parnog stupnja mogu biti problematini, kao to pokazuje sljedea c s c intuitivna diskusija. Zamislimo da je segment od interesa za interpolaciju [a, b], i neka je neka njegova subdivizija (podjela na podintervale) zadana mreom vorova z c a = x0 < x1 < x2 < < xN 1 < xN = b. (7.4.1) s Paraboliki splajn S2 mora biti polinom stupnja najvie 2 (parabola) na svakom c intervalu subdivizije, tj. imamo po 3 nepoznata parametra (koecijenti polinoma stupnja 2) na svakom intervalu. Ukupno dakle treba nai 3N slobodnih parametara. c Zahtijev da vrijedi S2 C 1 [a, b] vezuje 2(N 1) od tih parametara (neprekidnost S2 i S2 u N 1 unutranjih vorova x1 , . . . , xN 1 ). Ostaju dakle N +2 slobodna s c parametra. Zahtijevamo li da S2 bude interpolacijski, tj. da vrijedi S2 (xi ) = fi , i = 0, . . . , N, ostaje slobodan samo jedan parametar. Taj bismo parametar mogli odrediti dodavanjem jo jednog vora interpolacije, ili nekim dodatnim uvjetom na rubu cijelog s c intervala recimo, zadavanjem derivacije. Medutim, jasno je da se taj parametar ne moe odrediti simetrino iz podataka. To je problem i s ostalim splajn z c interpolantima parnog stupnja.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 377

Zadatak 7.4.1 Nadite to je u gornjoj diskusiji neformalno, i to je potrebno za s s precizan matematiki dokaz. Ako je prostor polinomnih splajnova S(n) stupnja n c deniran zahtjevima: (1) s S(n) = s|[xi,xi+1 ] Pn (Pn je prostor polinoma stupnja n); (2) s C n1 [x0 , xN ], pokaite da je S(n) vektorski prostor, i dokaite da je dim S(n) = n + N. z z

7.4.1.

Linearni splajn

Najjednostavniji linearni interpolacijski splajn S1 odreden je uvjetom globalne neprekidnosti i uvjetom interpolacije S1 (xi ) = fi , i = 0, . . . , N,

na mrei vorova subdiviziji segmenta [a, b] zadanoj s (7.4.1). Oito imamo z c c S1 (x) = fi xi+1 x x xi x xi + fi+1 = fi + (fi+1 fi ), hi hi hi x [xi , xi+1 ],

c gdje je hi = xi+1 xi , za i = 0, . . . , N 1. Algoritam za raunanje je trivijalan, pa moemo odmah ispitati pogreku, odnosno, razmotriti svojstva interpolacijskog liz s nearnog splajna obzirom na glatkou funkcije koja se interpolira, u raznim normama c koje se koriste za aproksimaciju. U dokazima emo koristiti jednu sporednu lemu. c Lema 7.4.1 Ako je f C[a, b] i , imaju isti znak, tada postoji [a, b] tako da vrijedi f (a) + f (b) = ( + )f (). Dokaz. Ako je f (a) = f (b) tvrdnja je oigledna, jer moemo uzeti = a ili = b. c z Ako je f (a) = f (b), tada funkcija (x) = f (a) + f (b) ( + )f (x) poprima suprotne predznake na krajevima intervala, pa zbog neprekidnosti postoji (a, b) tako da je () = 0. Tvrdnja vrijedi i ako je = 0, uz = b, odnosno, = 0, uz = a. Za precizno odredivanje reda konvergencije aproksimacija neprekidne funkcije f zgodno je uvesti oznake i (f ) =
x ,x [xi ,xi+1 ] 0iN 1

max

|f (x ) f (x )|,

i = 0, . . . , N 1,

(f ) = max i (f ). Vrijednost i (f ) zovemo oscilacija funkcije f na podintervalu [xi , xi+1 ], a (f ) je (oito) najvea oscilacija po svim podintervalima mree. c c z

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 378

Uoite da glatkoa funkcije f nije potrebna u deniciji ovih veliina, pa ih c c c koristimo za ocjenu greke u sluaju da je f samo neprekidna, ali ne i derivabilna s c funkcija. Isto vrijedi i za zadnju (najviu) neprekidnu derivaciju funkcije. s Takoder, kod ocjene greaka, zgodno je uvesti skraenu oznaku D za operator s c deriviranja funkcije f jedne varijable, kad je iz konteksta oito po kojoj varijabli se c derivira. Onda n-tu derivaciju funkcije f u toki x moemo pisati u bilo kojem od c z sljedea tri oblika c dn D n f (x) = n f (x) = f (n) (x). dx Pokazuje se da je prvi oblik najpregledniji u zapisu nekih dugakih formula. c Da bismo olakali razumijevanje teorema o ocjenama greke splajn interpos s lacije koji slijede, objasnimo odmah osnovnu ideju za uvodenje oznake (f ) i njezinu ulogu u ocjeni greke. Jednostavno reeno, (f ) slui tome da napravimo nu s c z razliku izmedu ogranienosti i neprekidnosti funkcije f na nekom intervalu. Za dobic vanje korisnih ocjena, obino, uz ogranienost, pretpostavljamo jo i integrabilnost c c s funkcije. Neprekidnost je, oito, jae svojstvo. c c Za ilustraciju, uzmimo da je f derivabilna funkcija na [a, b]. Onda je prva derivacija Df i ograniena funkcija na [a, b], im postoji derivacija u svakoj toki c c c segmenta, s tim da uzimamo jednostrane derivacije (limese) u rubovima. Drugim rijeima, postoji njezina norma c Df

= sup |Df (x)|.


x[a,b]

Ako je prva derivacija i integrabilna, to oznaavamo s f L1 [a, b]. Gornji inc deks 1 oznaava da je rije o prvoj derivaciji funkcije f , a donji indeks oznaava c c c 1 ogranienost (preciznija denicija prostora L [a, b] zahtijeva teoriju mjere i intec grala). Naravno, prva derivacija ne mora biti neprekidna na [a, b], da bi bila integrabilna. Ako je Df i neprekidna, onda je f C 1 [a, b] (oznaka koju smo odavno koristili). Jedan od rezultata koje elimo dobiti ocjenom greke je uniformna konverz s gencija splajn interpolacije kad poveavamo broj vorova, tj. pronjujemo mreu c c z (barem uz neke blage uvjete). Za uniformnu konvergenciju, oito, treba promatrati c maksimalnu greku na cijelom intervalu, tj. zanimaju nas tzv. uniformne ocjene s u normi. Iz iskustva polinomne interpolacije, jasno je da moramo iskoristiti lokalno ponaanje funkcije i splajn interpolacije na podintervalima mree. s z Kako emo lokalnost dobro ugraditi u ocjenu greke? S jedne strane, kvaliteta c s ocjene mora ovisiti o svojstvima (glatkoi) funkcije koju aproksimiramo (interpolic ramo). Dakle, trebamo dobru globalnu mjeru lokalnog ponaanja funkcije. Za s ograniene (integrabilne) funkcije koristimo normu na [a, b], koja, oito, postoji. c c Naalost, lokalnost tu ne pomae, jer maksimum normi po podintervalima daje upz z ravo normu na cijelom intervalu. Neprekidna funkcija je, naravno, i ograniena i c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 379

integrabilna. Medutim, za neprekidne funkcije, (f ) daje bitno precizniju uniformnu ocjenu greke od globalne norme, jer ukljuuje lokalno ponaanje po podintervalis c s ma najvea lokalna oscilacija moe biti mnogo manja od globalne oscilacije na c z cijelom intervalu! S druge strane, ocjena greke mora ukljuvati ovisnost o nekoj veliini koja s c c mjeri gustou mree, odnosno razmak vorova. Ako pronjavanjem mree elimo c z c z z dobiti konvergenciju, odmah je jasno da to pronjavanje mora biti ravnomjerno u cijelom [a, b], tj. maksimalni razmak susjednih vorova c h := max hi
0iN 1

mora teiti prema nuli. Da bismo izbjegli ovisnost o svim hi , standardno se ocjez ne greke izraavaju upravo u terminima veliine h, koja se jo zove i dijametar s z c s mree. z Teorem 7.4.1 (Uniformna ocjena pogreke linearnog splajna) s Neka je S1 (x) linearni interpolacijski splajn za funkciju f . Obzirom na svojstva glatkoe funkcije f vrijedi: c (1) ako je f C[a, b] tada je S1 (x) f (x) (2) ako je f L1 [a, b] tada je S1 (x) f (x) (3) ako je f C[a, b]
N 1 i=0

(f );

h Df 2

C 1 [xi , xi+1 ] tada je S1 (x) f (x)

h (Df ); 4

(4) ako je f C[a, b]

N 1 i=0

L2 [xi , xi+1 ] tada je S1 (x) f (x)

h2 D2f 8

Dokaz. Neka je t := (x xi )/hi . Prema (7.4.1) greka je s E(x) := S1 (x) f (x) = (1 t)fi + tfi+1 f (x), x [xi , xi+1 ]. (7.4.2)

Uoimo da je x [xi , xi+1 ] ekvivalentno s t [0, 1], pa (1t) i t imaju isti (pozitivni) c predznak, ili je jedan od njih jednak nula.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 380

Ako je f C[a, b], onda prema Lemi 7.4.1 postoji [xi , xi+1 ] takav da vrijedi E(x) = f () f (x), pa je |E(x)| i (f ) (f ). Ako je prva derivacija ograniena i integrabilna, vrijedi c
xi xi+1

fi = f (x) +
x

Df (v) dv,

fi+1 = f (x) +
x

Df (v) dv.

Supstitucijom u (7.4.2) dobijemo


x xi+1

E(x) = (1 t)
xi

Df (v) dv + t
x

Df (v) dv

i |E(x)| (1 t)

xi+1

|Df (v)| dv + t
xi x

|Df (v)| dv.

Slijedi
x xi+1

|E(x)| (1 t)
xi

dv + t
x

dv

Df

= 2t(1 t) hi Df

Kako parabola 2t(1 t) ima maksimum 1/2 u t = 1/2, dokazali smo da vrijedi |E(x)| 1 h Df 2
.

Neka je sada f C[a, b] klase C 1 na svakom podintervalu mree (eventualni z prekidi prve derivacije mogu biti samo u vorovima mree). Prema Taylorovoj c z formuli s Lagrangeovim oblikom ostatka fi = f (x) t hi Df (), fi+1 = f (x) + (1 t) hi Df (), , [xi , xi+1 ].

Supstitucijom u (7.4.2) dobijemo E(x) = t(1 t) hi (Df () Df ()), odakle slijedi |E(x)| t(1 t) hi i (Df ), pa opet ocjenom parabole na desnoj strani dobijemo da vrijedi |E(x)| 1 h (Df ). 4

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 381

Na kraju, ako f ima na svakom podintervalu ogranienu i integrabilnu drugu c derivaciju, tada vrijedi Taylorova formula s integralnim oblikom ostatka
xi

fi = f (x) t hi Df (x) +
x

(xi v) D 2f (v) dv
xi+1

fi+1 = f (x) + (1 t) hi Df (x) +


x

(xi+1 v) D 2f (v) dv,

pa iz formule (7.4.2) slijedi


xi xi+1 2

E(x) = (1 t)
x

(xi v) D f (v) dv + t
x

(xi+1 v) D 2f (v) dv.

Odavde lako slijedi |E(x)| 1 2 hi t(1 t) D 2 f 2

1 2 h D2f 8

Zadatak 7.4.2 Dokaite da se u sluajevima (3) i (4) teorema 7.4.1 moe ocijeniti z c z i greka u derivaciji, tonije, da vrijedi: s c (3) DS1 (x) Df (x) (4) DS1 (x) Df (x)

(Df ); h D2f 2

Teoremi poput teorema 7.4.1 pripadaju grupi teorema koji se nazivaju direktni teoremi teorije aproksimacija. Iako u daljnjem neemo slijediti ovaj pristup c do krajnjih detalja, primijetimo da se prirodno pojavljuju dva vana pitanja. z (1) Da li su navedene ocjene najbolje mogue, tj. da li smo zbog tehnike dokazic vanja napravili na nekom mjestu pregrubu ocjenu, iskoristili nedovoljno nu nejednakost, pa zapravo moemo dobiti bolji red konvergencije? Da li su i konz stante u ocjeni greke najbolje mogue? s c (2) Ako dalje poveavamo glatkou funkcije koja se interpolira, moemo li dobiti c c z sve bolje i bolje ocjene za greku, na primjer, u sluaju linearnog splajna, s c ocjene s h2 , h3 , i tako redom? Teoremi koji se bave problematikom kao u (2) zovu se inverzni teoremi teorije aproksimacija. U veini sluajeva to su iskazi tipa red aproksimacije naveden u c c direktnom teoremu je najbolji mogui. Doista, da nije tako, trebalo bi dopuniti ili c popraviti direktni teorem! Ocjena optimalnosti konstanti je neugodan problem, koji

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 382

za opi stupanj splajna nije rijeen treba konstruirati primjer funkcije na kojoj c s se dostie konstanta iz direktnog teorema. z Slini su i tzv. teoremi zasienja teorije aproksimacija, koji pokuavaju c c s odgovoriti na drugo pitanje: moe li se bolje aproksimirati funkcija ako su pretz postavke na glatkou jae? I ovi teoremi su u principu negativnog karaktera na c c primjer, za linearni splajn moemo staviti da je f C [a, b], ali red aproksimacije z e ostati h2 . Sam prostor u kojem se aproksimira jednostavno ne moe tonije reproc z c ducirati funkciju koja se aproksimira, nedostaje mu snage aproksimacije. Iako se u daljnjem neemo baviti opim teoremima aproksimacije, svi direktni teoremi koji c c slijede optimalni su u smislu postojanja odgovarajuih inverznih teorema i teorema c zasienja. c Zadatak 7.4.3 Pokaite da u sluaju (4) teorema 7.4.1 funkcija f (x) = x2 igra z c ulogu ekstremale, tj. da vrijedi = umjesto , pa je ocjena ujedno i najbolja mogua. c Zadatak 7.4.4 Ako je f C[a, b] DS xi + hi 2
N 1 i=0

C 3 [xi , xi+1 ], tada vrijedi i = 0, . . . , N 1.

= Df xi +

hi + O(h2 ), i 2

Iz toga moemo zakljuiti da red aproksimacije derivacije u specijalno izabranim z c tokama moe biti i vii od optimalnog; to je efekt superkonvergencije. c z s

7.4.2.

Hermiteov kubini splajn c

Kao i u sluaju Hermiteove interpolacije polinomima, moemo razmatrati i c z Hermiteovu interpolaciju splajn funkcijama. Ako preskoimo parabolike splajnove c c (v. raniju diskusiju), prvi je netrivijalni sluaj po dijelovima kubinih splajnova s c c globalno neprekidnom derivacijom. Denicija 7.4.1 Neka su u vorovima a = x0 < x1 < < xN = b zadane vric c jednosti fi , fi , za i = 0, . . . , N. Hermiteov interpolacijski kubini splajn je funkcija 1 H C [a, b] koja zadovoljava (1) H(x) = ai0 + ai1 (x xi ) + ai2 (x xi )2 + ai3 (x xi )3 , za svaki x [xi , xi+1 ]; (2) H(xi ) = fi , DH(xi ) = fi , za i = 0, . . . , N. Koristei Hermiteovu bazu iz teorema 7.2.4 na svakom podintervalu mree c z [xi , xi+1 ], lagano vidimo da vrijedi H(x) = 1 (t)fi + 2 (t)fi+1 + 3 (t)hi fi + 4 (t)hi fi+1 , t= x xi , hi (7.4.3)

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 383

gdje je

1 (t) = (1 t)2 (1 + 2t), 3 (t) = t(1 t2 ),

2 (t) = t2 (3 2t), 4 (t) = t2 (1 t).

Napomenimo jo samo da kod raunanja treba prvo izraunati koecijente Ai i Bi s c c formulama fi+1 fi + (fi + fi+1 ), hi fi+1 fi fi , Bi = Ai + hi Ai = 2

za i = 0, . . . , N 1,

(7.4.4)

c i zapamtiti ih. Za zadanu toku x [xi , xi+1 ], Hermiteov splajn raunamo formulom c H(x) = fi + (thi ) [fi + t(Bi + tAi )]. (7.4.5)

Obzirom na injenicu da su nam derivacije fi najee nepoznate, preostaje c c sc nam samo da ih aproksimiramo iz zadanih vrijednosti funkcije. To je problem pribline Hermiteove interpolacije, i tada ne moemo vie oekivati isti red z z s c konvergencije. Vrijednost Hermiteove interpolacije je, medutim, vie teorijska nego s praktina, kao to emo vidjeti kasnije. U tom smislu koristit emo sljedei direktni c s c c c teorem. Teorem 7.4.2 Za Hermiteov kubini splajn, ovisno o glatkoi funkcije f , vrijede c c sljedee uniformne ocjene pogreke: c s (1) ako je f C 1 [a, b] tada je H(x) f (x) (2) ako je f L2 [a, b] tada je H(x) f (x) (3) ako je f C 1 [a, b]
N 1 i=0

3 h (Df ); 8

1 2 h D2f 16

C 2 [xi , xi+1 ] tada je

H(x) f (x) (4) ako je f C 1 [a, b]


N 1 i=0

1 2 h (D 2 f ); 32

L3 [xi , xi+1 ] tada je

H(x) f (x)

1 3 h D3f 96

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 384

(5) ako je f C 1 [a, b]

N 1 i=0

C 3 [xi , xi+1 ] tada je

H(x) f (x) (6) ako je f C 1 [a, b]


N 1 i=0

1 3 h (D 3f ); 192

L4 [xi , xi+1 ] tada je

H(x) f (x)

1 4 h D4f 384

Dokaz. U svim sluajevima treba analizirati greku c s E(x) := H(x) f (x) = fi 1 (t) + fi+1 2 (t) + hi fi 3 (t) + hi fi+1 4 (t) f (x). Ako fi , fi+1 zamijenimo njihovim Taylorovim razvojem oko toke x = xi + thi s c ostatkom u Lagrangeovom obliku, dobijemo E(x) = hi [(1 t) 2 (t) Df () t 1 (t) Df () + 3 (t)fi + 4 (t)fi+1 ]. U daljnjem oznake , , . . . oznaavaju toke u [xi , xi+1 ]. Prema Lemi 7.4.1 moemo c c z grupirati lanove istog znaka (prvi i trei, drugi i etvrti), pa dobijemo c c c E(x) = hi t(1 t)(1 + 2t 2t2 ) [Df () Df ()], odakle slijedi ocjena greke po tokama s c |E(x)| hi t(1 t)(1 + 2t 2t2 ) i(Df ). Odavde odmah slijedi tvrdnja (1), uzimanjem maksimuma polinoma u varijabli t. Ako f ima drugu derivaciju ogranienu i integrabilnu, razvijemo opet fi , fi , c fi+1 , fi+1 oko toke x, ali koristei Taylorovu formulu s integralnim oblikom ostatka. c c Nakon kraeg rauna dobijemo integralnu reprezentaciju greke c c s
x

E(x) =
xi

(1 t)2 [thi + (1 + 2t)(v xi )] D 2f (v) dv


xi+1

+
x

t2 [(1 t)hi + (3 2t)(xi+1 v)] D 2 f (v) dv.

Zamjenom varijable v xi = hi dobivamo E(x) = h2 1 (t, ) D 2 f (xi + hi ) d + i


0

2 (t, ) D 2 f (xi + hi ) d ,

(7.4.6)

gdje je

1 (t, ) = (1 t)2 [(1 + 2t) t], 2 (t, ) = t2 [(3 2t)(1 ) (1 t)].

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 385

Ne moemo upotrijebiti teorem o srednjoj vrijednosti za integrale, jer 1 (t, ) miz jenja znak; tonije 1 (t, ) = 0 za = t/(1 + 2t). Medutim, [0, t] = [0, ) [ , t], c a na svakom od podintervala 1 je konstantnog znaka, pa teorem srednje vrijednosti za integrale moemo upotrijebiti po dijelovima. z
t t

1 (t, ) D f (xi + hi ) d = D f ()
0 2 0 2

1 (t, ) d + D f ()

1 (t, ) d

= Analogno
t

t (1 t) {4t2 D 2 f () D 2 f ()}. 2(1 + 2t)

2 (t, ) D 2 f (xi + hi ) d =
0

(1 t)2 t2 {4(1 t2 ) D 2f () D 2 f ()}. 2(3 2t)

Iz (7.4.6) dobivamo h2 t2 (1 t)2 i E(x) = {4t2 (3 2t) D 2 f () (3 2t) D 2f () 2[3 + 4t(1 t)] + 4(1 t2 )(1 + 2t) D 2 f () (1 + 2t) D 2f ()}. Primijenimo li lemu 7.4.1 na neprekidne funkcije istog znaka, dobivamo ocjenu |E(x)| 2h2 t2 (1 t)2 i i (D 2 f ). 3 + 4t(1 t)

Maksimalna vrijednost desne strane postie se za t = 1/2, odakle slijedi z |E(x)| 1 2 h i (D 2 f ), 32 i

to dokazuje ocjenu (3). Ocjena (2) proizlazi lagano iz iste ocjene greke po tokama. s s c Ako je f po dijelovima klase C 3 , slino dobivamo c E(x) = h3 i gdje su sada (1 + 2t) , 2 (3 2t)(1 ) 2 (t, ) = t2 (1 ) (1 t) + . 2 1 (t, ) = (1 t)2 t
t
0 1

1 (t, ) D 3 f (xi + hi ) d +
t

2 (t, ) D 3 f (xi + hi ) d

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 386

Zbog simetrije, dovoljno je razmatrati t [0, 1/2], pa slijedi |E(x)| 2 3 t2 (1 t)3 i (D 3 f ). h 3 i (3 2t)2
.

Odavde slijedi ocjena greke za E(x) s t = 1/2. Slino slijedi i ocjena (4). c

Maksimalna greka je u xi + hi /2, tj. za s

Na kraju, ako f ima ogranienu i integrabilnu etvrtu derivaciju na svakom c c podintervalu, tada je 1 E(x) = h4 6 i gdje su
t
1

1 (t, ) D 4 f (xi + hi ) d +
0 t

2 (t, ) D 4 f (xi + hi ) d ,

1 (t, ) = (1 t)2 2 [3t + (1 + 2t) ], 2 (t, ) = t2 (1 )2 [3(1 t) + (3 2t)(1 )], t2 (1 t)2 4 hi D 4 f |E(x)| 4!

pa zakljuujemo da vrijedi c
,

t [0, 1].

(7.4.7)

Odavde se lagano dobije ocjena za E(x)

Zadatak 7.4.5 Pokaite da za f C 1 [a, b] N 1 L4 [xi , xi+1 ] (sluaj (6) iz prethodz c i=0 nog teorema) vrijede sljedee ocjene za derivacije: c 3 3 h D4f , DH(x) Df (x) 216 1 2 D 2 H(x) D 2 f (x) h D4f , 12 1 D 3 H(x) D 3 f (x) h D 4 f . 2 Uputa: Treba derivirati integralnu reprezentaciju za E(x), tj. nai integralnu reprec zentaciju za D k E(x), k = 1, 2, 3. Zadatak 7.4.6 Pokuajte za prvih pet sluajeva (klasa glatkoe funkcije f ) iz teos c c rema 7.4.2 izvesti sline ocjene za one derivacije koje imaju smisla obzirom na c pretpostavljenu glatkou. Prema prolom zadatku, ocjene treba traiti u obliku c s z D r H(x) D r f (x)

Cr hef r Mf ,

r {0, 1, 2, 3},

gdje su Cr konstante ovisne o r, a osnovni eksponenti ef i mjere funkcije Mf ovise samo o klasi funkcije (ne i o r), pa se mogu proitati iz teorema (r = 0). Uvjerite c c se da ocjene imaju smisla samo za r ef , a dokazuju se slinom tehnikom.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 387

Zadatak 7.4.7 (Superkonvergencija) Uz pretpostavke dodatne glatkoe funkcije c f , u posebno izbaranim tokama moe se dobiti i vii red aproksimacije pojedinih c z s derivacija funkcije f . (a) U tokama x := xi + hi /2 prva derivacija moe se aproksimirati s O(h4 ), a c z i i 2 c trea s O(hi ). Tonije, vrijedi c h4 i D 4 f (x ) + O(h5 ), i 1920 h2 D 3 H(x ) = D 3 f (x ) + i D 4 f (x ) + O(h3 ). i 40 z (b) U tokama xi := xi + (3 3)hi /6 druga derivacija moe se aproksimirati s c c O(h3 ). Tonije, vrijedi i 3 3 hi 5 2 2 x x x D H() = D f () D f () + O(h4 ). i 540 DH(x ) = Df (x ) c Nadite uz koje pretpostavke dodatne glatkoe funkcije f vrijede ove tvrdnje i ocjene, i dokate ih. z

7.4.3.

Potpuni kubini splajn c

Zahtijevamo li neprekidnost druge derivacije od po dijelovima kubinih funkc cija, dolazimo prirodno na deniciju potpunog kubinog splajna, koji se esto c c jo zove i samo kubini splajn. Cilj nam je razmotriti algoritme za konstrukciju s c kubinih splajnova koji interpoliraju zadane podatke vrijednosti funkcije, ali c ne i njezine derivacije, jer traimo veu glatkou. Takav splajn zovemo kubini z c c c interpolacijski splajn. Od svih splajn funkcija, kubini interpolacijski splajn je vjerojatno najvie c s koriten i najbolje izuen u smislu aproksimacije i brojnih primjena, od aproksis c macije u raznim normama, do rjeavanja rubnih problema za obine diferencijalne s c jednadbe. Ime splajn (eng. spline) oznaava elastinu letvicu koja se mogla z c c uvrstiti na rebra brodova kako bi se modelirao oblik oplate; tona etimologija rijei c c c pomalo je zaboravljena. U matematikom smislu pojavljuje se prvi put u radovima c Eulera, oko 1700. godine, i slijedi mehaniku deniciju elastinog tapa. c c s Sredinja linija s takvog tapa (ona koja se ne deformira kod transverzalnog s s optereenja) u linearnoj teoriji elastinosti ima jednadbu c c z D2 (EI D2 s(x)) = f (x), gdje je E Youngov modul elastinosti tapa, a I moment inercije presjeka tapa oko c s s njegove osi. Pretpostavimo li da je tap izraden od homogenog materijala, i da ne s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 388

mijenja popreni presjek (E i I su konstante), dolazimo na jednadbu c z D 4 s = f, gdje je f vanjska sila po jedinici duljine. U odsustvu vanjske sile (f = 0), sredinja s linija s elastine letvice je dakle kubini polinom. c c c Ako je letvica uvrena u osloncima s koordinatama xi , i = 0, . . . , N, trea c sc derivacija u tim tokama ima diskontinuitet (ova injenica je posljedica zakona c c odranja momenta, i trebalo bi ju posebno izvesti). Izmedu oslonaca, na podinz s c c tervalima [xi , xi+1 ], sredinja linija je i dalje kubini polinom, ali u tokama xi imamo prekid tree derivacije. Dakle, s je po dijelovima kubini polinom, a druga c c derivacija s je globalno neprekidna. Denicija 7.4.2 Neka su u vorovima a = x0 < x1 < < xN = b zadane c vrijednosti fi , za i = 0, . . . , N. Potpuni interpolacijski kubini splajn je funkcija c 2 S3 C [a, b] koja zadovoljava uvjete (1) S3 (x) = ai0 + ai1 (x xi ) + ai2 (x xi )2 + ai3 (x xi )3 , za svaki x [xi , xi+1 ]; (2) S3 (xi ) = fi , za i = 0, . . . , N. Kako se S3 na svakom od N podintervala odreduje s 4 koecijenta, ukupno imamo 4N koecijenata koje treba odrediti. Uvjeti glatkoe (funkcija, prva i druga c derivacija u unutranjim vorovima) veu 3(N 1) koecijenata, a uvjeti interpos c z lacije N + 1 koecijenata. Preostaje dakle odrediti 4N 3(N 1) (N + 1) = 2 dodatna koecijenta. Dodatni uvjeti obino se zadaju u rubovima intervala, stoga c naziv rubni uvjeti. U praksi se najee koriste sljedei rubni uvjeti: c sc c (R1) (R2) (R3) (R4) DS3 (a) = Df (a), D 2 S3 (a) = 0, D 2 S3 (a) = D 2 f (a), DS3 (a) = DS3 (b), DS3 (b) = Df (b), (potpuni rubni uvjeti); 2 D S3 (b) = 0, (prirodni rubni uvjeti); 2 2 D S3 (b) = D f (b); D 2 S3 (a) = D 2 S3 (b), (periodiki rubni uvjeti). c

(7.4.8)

Tradicionalno se naziv potpuni splajn koristi za splajn oderden rubnim uvjetima (R1) interpolacije prve derivacije u rubovima. Splajn odreden prirodnim rubnim uvjetima (R2) zove se prirodni splajn. Njega moemo smatrati specijalnim z sluajem rubnih uvjeta (R3) interpolacije druge derivacije u rubovima, naravno, uz c uvjet da sama funkcija zadovoljava prirodne rubne uvjete. Na kraju, splajn odreden periodikim rubnim uvjetima (R4) zove se periodiki splajn, a koristi se za inc c terpolaciju periodikih funkcija f s periodom [a, b] (tada je f0 = fN i f zadovoljava c periodike rubne uvjete). c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 389

Algoritam za konstrukciju interpolacijskog kubinog splajna moemo izvesti c z na dva naina. U prvom, za nepoznate parametre koje treba odrediti uzimamo vric jednosti prve derivacije splajna u vorovima. Tradicionalna oznaka za te parametre c je mi := DS3 (xi ), za i = 0, . . . , N. U drugom, za nepoznate parametre uzimamo vrijednosti druge derivacije splajna u vorovima, koristei globalnu neprekidnost c c D 2 S3 , uz tradicionalnu oznaku Mi := D 2 S3 (xi ), za i = 0, . . . , N. Napomenimo odmah da se ta dva algoritma dosta ravnopravno koriste u praksi, a za ocjenu greke trebamo i jednog i drugog, pa emo napraviti oba izvoda. s c Prvi algoritam dobivamo primijenom Hermiteove interpolacije, ali ne zadajemo derivacije, ve nepoznate derivacije mi ostavljamo kao parametre, koje treba odrediti c tako da se postigne globalna pripadnost splajna klasi C 2 [a, b]. Drugim rijeima, traimo da S3 zadovoljava uvjete interpolacije S3 (xi ) = fi , c z DS3 (xi ) = mi , za i = 0, . . . , N, gdje su fi zadani, a mi nepoznati. Uz standardne oznake iz prethodnog odjeljka, prema (7.4.3), S3 moemo na svakom podintervalu z napisati u obliku S3 (x) = fi (1 t)2 (1 + 2t) + fi+1 t2 (3 2t) + mi hi t(1 t)2 mi+1 hi t2 (1 t), (7.4.9)

gdje je t = (x xi )/hi , za x [xi , xi+1 ]. Parametre mi , mi+1 moramo odrediti tako s c c da je druga derivacija D 2 S3 neprekidna u unutranjim vorovima. Budui da je D 2 S3 (x) = slijedi D 2 S3 (xi + 0) = 6 fi+1 fi mi mi+1 (6 12t) + (4 + 6t) + (2 + 6t), 2 hi hi hi fi+1 fi 4mi 2mi+1 , h2 hi hi i fi fi1 2mi1 4mi + + . 2 hi1 hi1 hi1 ci = 3 i fi+1 fi fi fi1 + i , hi hi1 (7.4.10)

D 2 S3 (xi 0) = 6 Uz oznake i = hi1 , hi1 + hi i = 1 i ,

z uvjete neprekidnosti D 2 S3 u xi , za i = 1, . . . , N 1, moemo napisati u obliku i mi1 + 2mi + i mi+1 = ci , i = 1, . . . , N 1. s Dobili smo N 1 jednadbi za N + 1 nepoznanica mi , pa nam fale jo dvije jedz nadbe. Naravno, uvjetima (7.4.10) treba dodati jo neke rubne uvjete. z s Za rubne uvjete (R1), (R2) i (R3) dobivamo linearni sustav oblika 2m0 + m1 = c , 0 0 i mi1 + 2mi + i mi+1 = ci , mN 1 + 2mN = c . N N i = 1, . . . , N 1, (7.4.11)

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 390

Koecijenti , c , i c odreduju se ovisno o rubnim uvjetima. Za rubne uvjete 0 0 N N (R1) imamo = = 0, c = 2Df (a), c = 2Df (b), 0 N 0 N a za rubne uvjete (R3) = = 1, 0 N c = 3 0 f1 f0 h0 2 D f (a), h0 2 c = 3 N fN fN 1 hN 1 2 + D f (b). hN 1 2

Prirodni rubni uvjeti (R2) su specijalni sluaj (R3), uz D 2 f (a) = D 2 f (b) = 0. c c Ako je f periodika funkcija, onda je f0 = fN i m0 = mN (periodiki rubni c uvjet na prvu derivaciju). Da bismo zapisali uvjet periodinosti druge derivacije, c moemo na periodiki nain produljiti mreu, tako da dodamo jo jedan vor xN +1 , z c c z s c c ali tako da je xN +1 xN = x1 = x0 , tj. hN = h0 . Zbog pretpostavke periodinosti, moramo staviti fN +1 = f1 i mN +1 = m1 . Na taj nain, uvjet periodinosti druge c c derivacije postaje ekvivalentan uvjetu neprekidnosti druge derivacije u toki xN , tj. c jednadbi oblika (7.4.10) za i = N. Kad iskoristimo sve pretpostavke z f0 = fN , fN +1 = f1 , m0 = mN , mN +1 = m1 , hN = h0 ,

dobivamo sustav od samo N jednadbi z 2m1 + 1 m2 + 1 mN = c1 , i mi1 + 2mi + i mi+1 = ci , N m1 + N mN 1 + 2mN = cN . i = 2, . . . , N 1,

(7.4.12)

c Uoite da smo jednadbu m0 = mN ve iskoristili za eliminaciju nepoznanice m0 . c z Ostaje odgovoriti na oito pitanje: da li dobiveni linearni sustavi imaju jedinc stveno rjeenje. s Teorem 7.4.3 Postoji jedinstveni interpolacijski kubini splajn koji zadovoljava jec dan od rubnih uvjeta (R1)(R4). Dokaz. U svim navedenim sluajevima lako se vidi da je matrica linearnog sustava c strogo dijagonalno dominantna, to povlai regularnost. Naime, svi dijagonalni s c elementi su jednaki 2, a zbroj izvandijagonalnih elemenata je najvie i + i = 1, s (uz dogovor N = N i 0 = 0 ). Algoritam 7.4.1 (Interpolacijski kubini splajn) c (1) Rijei linearni sustav (7.4.11) ili (7.4.12); s (2) Binarnim pretraivanjem nadi indeks i tako da vijedi x [xi , xi+1 ); z (3) Hornerovom shemom (7.4.5) izraunaj S3 (x). c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 391

Primijetimo da je za rjeavanje sustava potrebno samo O(N) operacija, obzis rom na specijalnu vrpastu strukturu matrice. Takoder, matrica ne ovisi o vrijedc nostima funkcije koja se interpolira, pa se korak (1) u Algoritmu 7.4.1 sastoji od LR faktorizacije matrice, koju treba izraunati samo jednom. c Za raunanje vrijednosti S3 (x) obino se koriste formule (7.4.4)(7.4.5). Ako c c je potrebno raunati splajn u mnogo toaka (recimo, u svrhu brze reprodukcije grafa c c splajna), moemo napisati algoritam konverzije, tj. nai vezu izmedu denicionog z c oblika splajna (v. deniciju 7.4.2) i oblika danog formulama (7.4.4)(7.4.5). Deniciona reprezentacija splajna kao kubine funkcije na svakom podintervalu subdic vizije zove se ponekad i po dijelovima polinomna reprezentacija, ili skraeno c PPreprezentacija. Zadatak 7.4.8 Kolika je tono uteda u broju aritmetikih operacija potrebnih za c s c raunanje S3 (x) pri prijelazu na PPreprezentaciju? Jo bri oblik reprezentacije c s z je standardni kubni polinom S3 (x) = bi0 + bi1 x + bi2 x2 + bi3 x3 , za svaki x [xi , xi+1 ]. Njega ne treba koristiti. Zato? s Kao to smo ve rekli, u nekim sluajevima ugodnija je druga reprezentacija s c c interpolacijskog kubinog splajna, u kojoj se, umjesto mi , kao nepoznanice javljaju c Mi := D 2 S(xi ), za i = 0, . . . , N. Zbog popularnosti i este implementacije izvedimo c ukratko i ovu reprezentaciju. c c Na svakom podintervalu [xi , xi+1 ] kubini splajn S3 je kubini polinom kojeg odredujemo iz uvjeta interpolacije funkcije i druge derivacije u rubovima S3 (xi ) = fi , S3 (xi+1 ) = fi+1 , D 2 S3 (xi ) = Mi , D 2 S3 (xi+1 ) = Mi+1 .

Ovaj sustav jednadbi ima jedinstveno rjeenje (dokaite to), odakle onda moemo z s z z izraunati koecijente kubnog polinoma. Medutim, traenu reprezentaciju moemo c z z s jednostavno i pogoditi, ako S3 (x) na [xi , xi+1 ] napiemo kao linearnu interpolaciju funkcijskih vrijednosti plus neka korekcija. Odmah se vidi da traena korekcija z ima oblik linearne interpolacije druge derivacije puta neki kvadratni faktor koji se ponitava u rubovima. Dobivamo oblik s S3 (x) = fi (1 t) + fi+1 t h2 i t(1 t) [Mi (2 t) + Mi+1 (1 + t)], 6

gdje je opet t = (x xi )/hi , za x [xi , xi+1 ] i i = 0, . . . , N 1. Odavde lako izlazi DS3 (x) = fi+1 fi hi [Mi (2 6t + 3t2 ) + Mi+1 (1 3t2 )], hi 6 Mi+1 Mi . hi

D 2 S3 (x) = Mi (1 t) + Mi+1 t, D 3 S3 (x) =

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 392

Interpolacija druge derivacije u vorovima ne garantira da je i prva derivacija nec prekidna. To treba dodatno zahtijevati. Kako je fi+1 fi hi (2Mi + Mi+1 ), hi 6 fi fi1 hi1 (Mi1 + 2Mi ), DS3 (xi 0) = + hi1 6 DS3 (xi + 0) = iz uvjeta neprekidnosti prve derivacije u unutranjim vorovima dobivamo N 1 s c jednadbi traenog linearnog sustava z z i Mi1 + 2Mi + i Mi = 6 hi1 + hi fi+1 fi fi fi1 , hi hi1 (7.4.13)

za i = 1, . . . , N 1, gdje je, kao i prije, i = hi1 /(hi1 + hi ) i i = 1 i . Zadatak 7.4.9 Napiite nedostajue jednadbe za rubne uvjete, i pokaite da je s c z z matrica sustava strogo dijagonalno dominantna. Na kraju, primijetimo da je algoritam za raunanje vrijednosti S3 (x) vrlo slian c c ranijem, s tim to treba primijeniti malo drugaiju Hornerovu shemu (ekvivalent s c formula (7.4.4)(7.4.5) za algoritam 7.4.1): S3 (x) = fi + t {(fi+1 fi ) (xi+1 x) [(xi+1 x + hi )Mi + (hi + x xi )Mi+1 ]}, gdje je Mi := Mi /6. Ocjena greke za potpuni kubini splajn je tei problem nego za Hermiteov s c z kubini splajn, budui da su koecijenti zadani implicitno kao rjeenje jednog linec c s arnog sustava. Teorem 7.4.4 Neka je S3 interpolacijski kubini splajn za funkciju f koji zadovoc ljava jedan od rubnih uvjeta (R1)(R4) u (7.4.8). Tada vrijedi D r S3 (x) D r f (x)

Cr hef r Mf ,

r = 0, 1, 2, 3,

gdje su Cr konstante (ovisne o r), ef osnovni eksponenti i Mf mjere funkcije (ef

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 393

i Mf ovise samo o klasi funkcije, ne i o r), dani sljedeom tablicom: c Klasa funkcije C 1 [a, b] L2 [a, b] C 2 [a, b] L3 [a, b] C [a, b] C 2 [a, b] s tim da je maxi hi mini hi mjera neuniformnosti mree (u zadnjem stupcu tablice). z := Mjesta u tablici koja nisu popunjena znae da ne postoje odgovarajue ocjec c s s z ne. Napomenimo, takoder, da rijetko koritene ocjene koje odgovaraju jo nioj 1 glatkoi funkcije f , na primjer, f C[a, b] ili f L [a, b] nisu navedene, iako se c mogu izvesti (dokaz nije trivijalan). Osim toga, nije poznato da li su sve konstante optimalne, iako se to moe pokazati u nekim vanim sluajevima (na primjer, u zadz z c njem redu tablice, koji podrazumijeva najveu glatkou, sve su konstante najbolje c c mogue). c Dokaz. Dokaimo neke od ocjena u teoremu 7.4.4 (preostale pokaajte dokazati z s sami). Neka je H Hermitski interpolacijski kubini splajn i S := S3 interpolacijski c kubini splajn. Tada greku moemo napisati kao c s z E(x) := S(x) f (x) = [H(x) f (x)] + [S(x) H(x)]. Oba interpolacijska splajna S(x) i H(x) moemo reprezentirati preko Hermiteove z baze na svakom intervalu [xi , xi+1 ] (v. (7.4.9), (7.4.3)), pa oduzimanjem tih reprezentacija slijedi S(x) f (x) = [H(x) f (x)] + hi [t(1 t)2 (mi Df (xi )) (1 t)t2 (mi+1 Df (xi+1 ))].
2 i

Mf (Df ) D2f

ef 1 2 2 3 3 4

C0 9 8 13 48 19 96 41 864 41 1728 5 384

C1 4 0.86229 2 3 4 27 2 27 1 24

C2

C3

(D 2f ) D f C [xi , xi+1 ] L4 [xi , xi+1 ]


3 3 3

4 1 4 3 + 2 9 1 2 3 + 2 9 3 8

(D f ) D4f

4 3 1+ 9 1 1 + 2

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 394

Odavde je |S(x) f (x)| |H(x) f (x)| + hi t(1 t) max |mi Df (xi)|.


i

(7.4.14)

Za derivaciju imamo DS(x) Df (x) = [DH(x) Df (x)] + [(1 t)(1 3t) (mi Df (xi )) t(2 3t) (mi+1 Df (xi+1 ))], pa je stoga |DS(x) Df (x)| |DH(x) Df (x)| + [(1 t)|1 3t| + t|2 3t|] max |mi Df (xi )|.
i

(7.4.15)

Ocjene za |H(x) f (x)| izveli smo u teoremu 7.4.4, a ocjene za |DH(x) Df (x)| mogu se izvesti na slian nain (v. zadatke 7.4.5 i 7.4.6). Ostaje dakle ocijeniti drugi c c lan na desnoj strani u (7.4.14) i (7.4.15). c Za drugu derivaciju znamo da je D 2 S(x) = Mi (1 t) + Mi+1 t, pa zakljuujemo da je c D 2 S(x) D 2 f (x) = (1 t) (Mi D 2 f (xi )) + t (Mi+1 D 2 f (xi+1 ) + (1 t) D 2 f (xi ) + t D2 f (xi+1 ) D 2 f (x). s Ali, kako je (1t)D 2 f (xi )+tD2 f (xi+1 )D 2 f (x) pogreka kod interpolacije funkcije 2 z D f linearnim splajnom S1 (teorem 7.4.1), moemo ju i ovako ocijeniti |D 2 S(x) D 2 f (x)| |S1 (x) D 2 f (x)| + max |Mi D 2 f (xi )|.
i

(7.4.16)

Slino je i za treu derivaciju c c |D 3 S(x) D 3 f (x)| |DS1 (x) D 3 f (x)| + 2 max |Mi D 2 f (xi )|. (7.4.17) mini hi i

Ako pogledamo nejednakosti (7.4.14), (7.4.15), (7.4.16) i (7.4.17), vidimo da preostaje ocijeniti maxi |mi Df (xi )| i maxi |Mi D 2 f (xi )|. Ove ocjene, kao i sve druge, ovise o klasi funkcija. Tvrdimo da vrijedi max |mi Df (xi )| qf ,
i

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 395

gdje je qf dan sljedeom tablicom za 6 karakteristinih klasa funkcija: c c Klasa funkcije C 1 [a, b] L2 [a, b] C 2 [a, b] L3 [a, b] C 2 [a, b] C 2 [a, b]
i

qf 3 (Df ) 5 h D2f 6 2 h (D 2f ) 3 4 2 h D3f 27 2 2 h (D 3 f ) 27 1 3 h D4f 24

C 3 [xi , xi+1 ] L4 [xi , xi+1 ]

Da dokaemo ovu tablicu, pretpostavimo rubne uvjete (R1) na derivaciju. Uvez demo li u linearnom sustavu (7.4.11) nove nepoznanice qi := mi Df (xi ), dobijemo sustav q0 = 0, i = 1, . . . , N 1, i qi1 + 2qi + i qi+1 = ci , qN = 0, gdje su desne strane ci = 3i fi+1 fi fi fi1 + 3i hi hi1 i Df (xi1 ) 2Df (xi ) i Df (xi+1 ).

(7.4.18)

s c Da bismo ocijenili |qi |, zapiimo ovaj sustav u matrinom obliku Aq = c, ili q = A1 c. Vidimo odmah da je A = 2I+B, gdje je B matrica koja sadri samo izvandijagonalne z elemente i i i . Zbog i + i 1 (jednakost vrijedi u svim jednadbama, osim z 1 s prve i zadnje), slijedi B 1. Sada nije teko ocijeniti A A=2 I+ 1 B 2 = A1

1 1 B 1 2 2

1.

Na kraju, iz q = A1 c slijedi |qi | q

A1

= max |i|. c
i

c Drugim rijeima, da bismo dokazali ocjene iz tablice za qf , dovoljno je ocijeniti |i |. c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 396

Pretpostavimo da je f C 1 [a, b] i iskoristimo Lagrangeov teorem o srednjoj vrijednosti za prva dva lana u izrazu (7.4.18) za ci . Tada je i + i = 1, pa je c ci = 3i Df (i,i+1) + 3i Df (i1,i) i Df (xi1 ) 2Df (xi ) i Df (xi+1 ) = i [Df (i1,i) Df (xi1 )] + 2i [Df (i1,i) Df (xi )] + i [Df (i,i+1) Df (xi+1 )] + 2i [Df (i,i+1) Df (xi )], odakle slijedi |i | 3(i + i ) (Df ) = 3 (Df ), c ime smo dokazali prvu ocjenu u tablici za qf . c z Ako je f C 2 [a, b] i L4 [xi , xi+1 ], u izrazu (7.4.18) za ci moemo razviti fi1 , Df (xi1 ), fi+1 , Df (xi+1 ) u Taylorov red oko xi , koristei integralni oblik ostatka. c Napomenimo da nam nije potrebna neprekidnost tree derivacije. U tom sluaju c c imamo dakle ci = 3i Df (xi) + hi 2 h2 D f (xi ) + i D 3 f (xi + 0) 2 6 1 + 6hi + 3i Df (xi )
xi+1

(xi+1 v)3 D 4 f (v) dv


xi

h2 hi1 2 D f (xi ) + i1 D 3 f (xi 0) 2 6 1 6hi1


xi1

(xi1 v)3 D 4 f (v) dv


xi

i Df (xi ) + hi D 2 f (xi ) +

h2 3 i D f (xi + 0) 2 1 + 2
xi+1

(xi+1 v)2 D 4 f (v) dv


xi

2Df (xi ) i Df (xi ) hi1 D 2 f (xi ) + h2 i1 D 3 f (xi 0) 2 1 + 2


xi1

(xi1 v)2 D 4 f (v) dv .


xi

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 397

Clanovi s Df (xi ), D 2 f (xi ), D 3 f (xi + 0) i D 3 f (xi 0) se skrate, pa ostaje samo i ci = 2


xi+1

xi

(xi+1 v)3 (xi+1 v)2 D 4 f (v) dv hi


xi1

i + 2

xi

(xi1 v)3 (xi1 v)2 D 4 f (v) dv. hi1

Zamijenimo li varijable supstitucijom hi := v xi u prvom integralu, odnosno, hi1 := v xi1 u drugom integralu, dobivamo i h3 i ci = 2
1

(1 )2 D 4 f (xi + hi ) d
0 1

i h3 i1 + 2 Odavde lagano ocijenimo 1 |i | c D4f 2 1 D4f = 24

2 (1 ) D 4 f (xi1 + hi1 ) d.
0

ih3 i
0

(1 ) d +
2

i h3 i1
0

2 (1 ) d

(i h3 + i h3 ). i i1

Uvrtavanjem i , i (v. 7.4.10) dobivamo s |i | c Na kraju, kako je h2 + h2 i i1 max{hi , hi1 }, hi + hi1 dolazimo do zadnje ocjene u tablici za qf |i | c 1 3 h D4f 24
.

hi hi1 h2 + h2 i i1 D4f 24 hi + hi1

Upotrebom Taylorove formule, teorema o srednjoj vrijednosti i leme 7.4.1, na ve poznati nain, dokazuju se i ostale ocjene u tablici. Napomenimo jo, da je c c s slinu analizu potrebno napraviti i za druge tipove rubnih uvjeta. Pokazuje se da c rezultati i tehnika dokaza ne ovise mnogo o tipu rubnih uvjeta. To, naravno, vrijedi samo uz pretpostavku da funkcija f zadovoljava iste rubne uvjete kao i splajn, ako rubni uvjet ne ovisi o funkciji (na primjer, (R2) ili (R4)). U protivnom, dobivamo slabije ocjene.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 398

Nadalje, za ocjenu druge i tree derivacije, moramo nai ocjene oblika c c max |Mi D 2 f (xi )| Qf .
i

I u ovom sluaju imamo tablicu s 4 ocjene, u ovisnosti o klasi funkcije: c Klasa funkcije C 2 [a, b] L3 [a, b] C 2 [a, b] C 2 [a, b]
i

Qf 3 (D 2f ) 4 3 h D3f 9 2 3 h (D 3f ) 9 1 2 h D4f 4

C 3 [xi , xi+1 ] L4 [xi , xi+1 ]

Tehnika dokaza ove tablice je dosta slina onoj za prethodnu tablicu, s time c da se oslanja na linearni sustav (7.4.13), pa ocjene ostavljamo kao zadatak. Da bismo na kraju dokazali ovaj teorem, ograniimo se na najglatkiju klasu c 2 4 funkcija C [a, b] i L [xi , xi+1 ]; tehnika dokaza potpuno je ista i za sve druge klase. Kljuna je ocjena (7.4.14): c |S(x) f (x)| |H(x) f (x)| + hi t(1 t) max |mi Df (xi )|.
i

Prvi dio ini greka kod interpolacije Hermiteovim splajnom, za koju, prema (7.4.7), c s znamo da vrijedi |H(x) f (x)| t2 (1 t)2 4 hi D 4 f 4!
,

t=

x xi [0, 1], hi

a drugi dio proitamo u tablici za maxi |mi Df (xi )|. Ukupno je dakle c 5 4 1 t(1 t) [1 + t(1 t)] max h4 D 4 f h D4f . i i 24 384 Zanimljivo je da ova ocjena samo 5 puta vea od ocjene za Hermiteov interpolacijski c splajn, koji zahtijeva poznate derivacije funkcije f u svim vorovima interpolacije, c a ovdje ih koristimo samo na rubu (uz rubne uvjete (R1)). |S(x) f (x)|

7.5.

Diskretna metoda najmanjih kvadrata

Neka je funkcija f zadana na diskretnom skupu toaka x0 , . . . , xn kojih je c mnogo vie nego nepoznatih parametara aproksimacijske funkcije s (x, a0 , . . . , am ).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 399

Funkcija odreduje se iz uvjeta da euklidska norma (norma 2) vektora pogreaka s u vorovima aproksimacije bude najmanja mogua, tj. tako da minimiziramo S, c c
n

S=

(f (xk ) (xk ))2 min .

k=0

Ovu funkciju S (kvadrat euklidske norme vektora greke) interpretiramo kao s funkciju nepoznatih parametara S = S(a0 , . . . , am ). Oito je uvijek S 0, bez obzira kakvi su parametri. Dakle, zadatak je minimizirati c funkciju S kao funkciju vie varijabli a0 , . . . , am . Ako je S dovoljno glatka funkcija, s a naa je (jer je funkcija u parametrima ak ), nuni uvjet ekstrema je s z S = 0, ak k = 0, . . . , m.

Takav pristup vodi na tzv. sustav normalnih jednadbi. z

7.5.1.

Linearni problemi i linearizacija

Ilustrirajmo to na najjednostavnijem primjeru, kad je aproksimacijska funkcija pravac. Primjer 7.5.1 Zadane su toke (x0 , f0 ), . . . , (xn , fn ), koje po diskretnoj metodi najc manjih kvadrata aproksimiramo pravcem (x) = a0 + a1 x. Greka aproksimacije u vorovima koju minimiziramo je s c
n

S = S(a0 , a1 ) =

(fk (xk ))2 =

(fk a0 a1 xk )2 min .

k=0

k=0

Nadimo parcijalne derivacije po parametrima a0 i a1 : 0=


n S = 2 (fk a0 a1 xk ), a0 k=0

n S = 2 (fk a0 a1 xk )xk . 0= a1 k=0

Dijeljenjem s 2 i sredivanjem po nepoznanicama a0 , a1 , dobivamo linearni sustav


n n

a0 (n + 1) + a1
n k=0 n

xk =
k=0 n

fk fk xk .
k=0

a0
k=0

xk + a1
k=0

x2 = k

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 400

Uvedemo li standardne skraene oznake c


n n

s =
k=0

xk ,

t =
k=0

fk xk ,

0,

linearni sustav moemo pisati kao z s0 a0 + s1 a1 = t0 s1 a0 + s2 a1 = t1 . (7.5.1)

Nije teko pokazati da je matrica sustava regularna, jer je njena determinanta s razliita od nule. Determinanta matrice sustava jednaka je s0 s2 s2 . Cauchy c 1 Schwarzova nejednakost primijenjena na vektore e = [1, 1, . . . , 1]T i x = [x0 , x1 , . . . , xn ]T ,

daje s0 s2 s2 , pri emu jednakost vrijedi samo ako su vektori e i x linearno zavisni. c 1 Kako pretpostavljamo da imamo barem dvije razliite apscise polaznih toaka xk c c (prirodan uvjet za pravac koji nije paralelan s ordinatom), nejednakost mora biti stroga, tj. vrijedi s0 s2 > s2 . Dakle, postoji jedinstveno rjeenje sustava. Samo s 1 rjeenje dobiva se rjeavanjem linearnog sustava (7.5.1). s s Ostaje jo pitanje da li smo dobili minimum, ali to nije teko pokazati, koris s s tenjem drugih parcijalnih derivacija (dovoljan uvjet minimuma je pozitivna denitnost Hesseove matrice). Ipak, provjera da se radi o minimumu, moe i puno lake. z s Budui da se radi o zbroju kvadrata, S predstavlja paraboloid s otvorom prema gore c u varijablama a0 , a1 , pa je jasno da takvi paraboloidi imaju minimum. Zbog toga se nikad ni ne provjerava da li je dobiveno rjeenje minimum za S. s Za funkciju mogli bismo uzeti i polinom vieg stupnja, s (x) = a0 + a1 x + + am xm , ali postoji opasnost da je za malo vee m (m 10) dobiveni sustav vrlo loe uvjec s tovan (matrica sustava vrlo blizu singularne matrice), pa dobiveni rezultati mogu biti jako pogreni. Zbog toga se za nikad ne koristi prikaz polinoma u bazi potens cija. Ako se uope koriste aproksimacije polinomima viih stupnjeva, onda se to c s radi koritenjem ortogonalnih polinoma. s Linearni model diskretnih najmanjih kvadrata je potpuno primjenjiv na opu c linearnu funkciju (x) = a0 0 (x) + + am m (x), gdje su 0 , . . . , m poznate (zadane) funkcije. Ilustrirajmo to ponovno na opoj c linearnoj funkciji s 2 parametra.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 401

Primjer 7.5.2 Zadane su toke (x0 , f0 ), . . . , (xn , fn ), koje po diskretnoj metodi najc manjih kvadrata aproksimiramo funkcijom oblika (x) = a0 0 (x) + a1 1 (x). Postupak je potpuno isti kao u prolom primjeru. Opet minimiziramo kvadrat s euklidske norme vektora pogreaka aproksimacije u vorovima s c
n

S = S(a0 , a1 ) =

(fk (xk ))2 =

(fk a0 0 (xk ) a1 0 (xk ))2 min .

k=0

k=0

Sredivanjem parcijalnih derivacija 0= 0=


n S = 2 (fk a0 0 (xk ) a1 1 (xk )) 0 (xk ), a0 k=0 n S = 2 (fk a0 0 (xk ) a1 1 (xk )) 1 (xk ), a1 k=0

po varijablama a0 , a1 , uz dogovor da je
n n n

s0 =
k=0 n

2 (xk ), 0 fk 0 (xk ),
k=0

s1 =
k=0 n

0 (xk )1 (xk ), fk 1 (xk ),


k=0

s2 =
k=0

2 (xk ), 1

t0 =

t1 =

dobivamo potpuno isti oblik linearnog sustava s0 a0 + s1 a1 = t0 s1 a0 + s2 a1 = t1 . Ovaj sustav ima ista svojstva kao i u prethodnom primjeru. Pokaite to! z Sto ako nelinearno ovisi o parametrima? Dobili bismo nelinearni sustav jednadbi, koji se relativno teko rjeava. Uglavnom, problem postaje ozbiljan optiz s s mizacijski problem, koji se, recimo, moe rjeavati metodama pretraivanja ili nekim z s z drugim optimizacijskim metodama, posebno prilagodenim upravo za rjeavanje nelis nearnog problema najmanjih kvadrata (na primjer, LevenbergMarquardt metoda). Postoji i drugi pristup. Katkad se jednostavnim transformacijama problem moe transformirati u linearni problem najmanjih kvadrata. Naalost, rjeenja linez z s ariziranog problema najmanjih kvadrata i rjeenja originalnog nelinearnog problema, s u principu, nisu jednaka. Problem je u razliitim mjerama za udaljenost toaka, c c odnosno mjerama za greku. s Ilustrirajmo, ponovno, nelinearni problem najmanjih kvadrata na jednom jednostavnom primjeru.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 402

Primjer 7.5.3 Zadane su toke (x0 , f0 ), . . . , (xn , fn ), koje po diskretnoj metodi najc manjih kvadrata aproksimiramo funkcijom oblika (x) = a0 ea1 x . Greka aproksimacije u vorovima (koju minimiziramo) je s c
n

S = S(a0 , a1 ) =

(fk (xk ))2 =

(fk a0 ea1 xk )2 min .

k=0

k=0

Parcijalnim deriviranjem po varijablama a0 i a1 dobivamo 0=


n S = 2 (fk a0 ea1 xk ) ea1 xk , a0 k=0

n S = 2 (fk a0 ea1 xk )a0 xk ea1 xk , 0= a1 k=0

to je nelinearan sustav jednadbi. s z S druge strane, ako logaritmiramo relaciju (x) = a0 ea1 x , dobivamo ln (x) = ln(a0 ) + a1 x. Moramo logaritmirati jo i vrijednosti funkcije f u tokama xk , pa uz supstitucije s c h(x) = ln f (x), i (x) = ln (x) = b0 + b1 x, gdje je b0 = ln a0 , b1 = a1 , dobivamo linearni problem najmanjih kvadrata
n

hk = h(xk ) = ln fk ,

k = 0, . . . , n,

S = S(b0 , b1 ) =

(hk (xk ))2 =

(hk b0 b1 xk )2 min .

k=0

k=0

Na kraju, iz rjeenja b0 i b1 ovog problema, lako oitamo a0 i a1 s c a0 = eb0 , a1 = b1 .

Uoite da ovako dobiveno rjeenje uvijek daje pozitivan a0 , tj. linearizacijom doc s bivena funkcija (x) e uvijek biti vea od 0. Jasno da to nije pravo rjeenje za c c s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 403

sve poetne podatke (xk , fk ). No, moemo li na ovako opisani nain linearizirati sve c z c poetne podatke? Oito je ne, jer mora biti fk > 0 da bismo mogli logaritmirati. c c s s Ipak, i kad su neki fk 0, nije teko, koritenjem translacije svih podataka s dobiti fk + translacija > 0, pa onda nastaviti postupak linearizacije. Pokuajte korektno formulirati linearizaciju. Na kreju odjeljka dajemo i nekoliko funkcija koje su esto u upotrebi i njihovih c standardnih linearizacija u problemu najmanjih kvadrata. (a) Funkcija (x) = a0 xa1 linearizira se logaritmiranjem (x) = log (x) = log(a0 ) + a1 log x, hk = log fk , k = 0, . . . , n.

Drugim rijeima, dobili smo linearni problem najmanjih kvadrata c


n

S = S(b0 , b1 ) = gdje je

(hk b0 b1 log(xk ))2 min,

k=0

b0 = log(a0 ),

b1 = a1 .

U ovom sluaju, da bismo mogli provesti linearizaciju, moraju biti i xk > 0 i fk > 0. c (b) Funkcija (x) = linearizira se na sljedei nain c c (x) = 1 = a0 + a1 x, (x) hk = 1 , fk k = 0, . . . , n. 1 a0 + a1 x

Pripadni linearni problem najmanjih kvadrata je


n

S = S(a0 , a1 ) =

(hk a0 a1 xk )2 min .

k=0

(c) Funkciju

x a0 + a1 x moemo linearizirati na vie naina. Prvo, moemo staviti z s c z (x) = (x) = 1 1 = a0 + a1 , (x) x hk = 1 , fk k = 0, . . . , n.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 404

Pripadni linearni problem najmanjih kvadrata je


n

S = S(a0 , a1 ) = Moe se koristiti i sljedei nain z c c (x) =

(hk a0

k=0

1 a1 )2 min . xk

x = a0 + a1 x, (x)

hk =

xk , fk

k = 0, . . . , n.

Pripadni linearni problem najmanjih kvadrata je


n

S = S(a0 , a1 ) =

(hk a0 a1 xk )2 min .

k=0

(d) Funkcija (x) = linearizira se stavljanjem (x) = 1 = a0 + a1 ex , (x) hk = 1 , fk k = 0, . . . , n. 1 a0 + a1 ex

Pripadni linearni problem najmanjih kvadrata je


n

S = S(a0 , a1 ) =

(hk a0 a1 exk )2 min .

k=0

7.5.2.

Matrina formulacija linearnog problema najmanjih c kvadrata

Da bismo formirali matrini zapis linearnog problema najmanjih kvadrata, c moramo preimenovati nepoznanice, naprosto zato da bismo matricu, vektor desne strane i nepoznanice u linearnom sustavu pisali u uobiajenoj formi (standardno su c nepoznanice x1 , x2 , . . . ,, a ne a0 , a1 , . . . ,). Pretpostavimo da imamo skup mjerenih podataka (tk , yk ), k = 1, . . . , n, i elimo taj model aproksimirati funkcijom oblika (t). Ako je (t) linearna, tj. ako z je (t) = x1 1 (t) + + xm m (t), onda bismo eljeli pronai parametre xj tako da mjereni podaci (tk , yk ) zadovoljavaju z c
m

yk =
j=1

xj j (tk ),

k = 1, . . . , n.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 405

Ako oznaimo c akj = j (xk ), bk = yk , onda prethodne jednadbe moemo u matrinom obliku pisati kao z z c Ax = b. Ako je mjerenih podataka vie nego parametara, tj. ako je n > m, onda ovaj sustav s jednadbi ima vie jednadbi nego nepoznanica, pa je preodreden. z s z Kao to smo ve u uvodu rekli, postoji mnogo naina da se odredi najbolje s c c rjeenje, ali zbog statistikih razloga to je esto metoda najmanjih kvadrata, tj. s c c s c odredujemo x tako da minimizira greku r = Ax b (r se esto zove rezidual) min r
x 2

= min Ax b 2 ,
x

A Rnm ,

b Rn ,

x Rm .

(7.5.2)

Ako je rang(A) < m, onda rjeenje x ovog problema oito nije jedinstveno, jer s c mu moemo dodati bilo koji vektor iz nul-potprostora od A, a da se rezidual ne z s promijeni. S druge strane, medu svim rjeenjima x problema najmanjih kvadrata uvijek postoji jedinstveno rjeenje x najmanje norme, tj. koje jo minimizira i x 2 . s s

7.5.3.

Karakterizacija rjeenja s

Prvo, karakterizirajmo skup svih rjeenja problema najmanjih kvadrata. s Teorem 7.5.1 Skup svih rjeenja problema najmanjih kvadrata (7.5.2) oznaimo s s c S = {x Rm | Ax b
2

= min}.

Tada je x S ako i samo ako vrijedi sljedea relacija ortogonalnosti c AT (b Ax) = 0. Dokaz. Pretpostavimo da x zadovoljava AT r = 0, Tada za bilo koji x Rm imamo r = b Ax = r + A Ax = r A(x x). x Ako oznaimo c e = x x, onda je r
2 2

(7.5.3)

r = b A. x

= r T r = ( Ae)T ( Ae) = r T r + Ae r r

2 2

= r

2 2

+ Ae 2 . 2

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 406

Kako je Ae 2 0, vidimo da je minimalna vrijednost za r x = x minimizira r 2 . Time je pokazano da je x S. Pokaimo obratnu implikaciju. Pretpostavimo da je z AT r = z = 0 i uzmimo x = x + z. Tada je r = r Az i r
2 2

jednaka r 2 , pa

= r T r = r T r 2z T z + 2 (Az)T (Az) < r T r

za dovoljno mali , pa x nije rjeenje u smislu najmanjih kvadrata, to znai da nije s s c u S. Relacija (7.5.3) esto se zove sustav normalnih jednadbi i uobiajeno se pie c z c s u obliku AT Ax = AT b. c Matrica AT A je simetrina i pozitivno semidenitna, a sustav normalnih jednadbi je uvijek konzistentan, jer je z AT b R(AT ) = R(AT A). Stovie, vrijedi i sljedea propozicija. s c Propozicija 7.5.1 Matrica AT A je pozitivno denitna ako i samo ako su stupci od A linearno nezavisni, tj. ako je rang(A) = m. Dokaz. Ako su stupci od A = [a1 , . . . , am ] linearno nezavisni, tada za svaki x = 0 vrijedi (denicija linearne nezavisnosti) Ax = x1 a1 + + xm am = 0, pri emu su xj komponente od x. Za takav x je c xT AT Ax = Ax tj. AT A je pozitivno denitna. S druge strane, ako su stupci linearno zavisni, tada postoji x0 = 0 takav da je Ax0 = 0, pa je za takav x0 xT AT Ax0 = 0. 0 Ako je x takav da je Ax = 0, onda je xT AT Ax 0, pa je AT A pozitivno semic denitna. Drugim rijeima, AT A je openito pozitivno semidenitna, a pozitivnu c denitnost garantira tek puni stupani rang od A. c
2 2

> 0,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 407

Iz prethodne propozicije slijedi da uvjet rang(A) = m, osigurava postojanje jedinstvenog rjeenja problema najmanjih kvadrata. U tom sluaju rjeenje i pris c s padni rezidual zadovoljavaju x = (AT A)1 AT b, r = b A(AT A)1 AT b.

Ako je S Rn potprostor, onda je PS Rnn ortogonalni projektor na S, ako je R(PS ) = S i 2 T PS = PS , PS = PS . Nadalje, vrijedi i (I PS )2 = I PS , (I PS )PS = 0, pa je I PS projektor na ortogonalni komplement od S. Tvrdimo da postoji jedinstveni ortogonalni projektor na S. Pretpostavimo da postoje dva ortogonalna projektora P1 i P2 . Za sve z Rn , onda vrijedi (P1 P2 )z
2 2 T T T T = z T (P1 P2 )T (P1 P2 )z = z T (P1 P1 P2 P1 P1 P2 + P2 P2 )z

= z T (P1 P2 P1 P1 P2 + P2 )z = z T P1 (I P2 )z + z T P2 (I P1 )z = 0. Odatle odmah slijedi da je P1 = P2 , tj. ortogonalni je projektor jedinstven. Iz geometrijske interpretacije problema najmanjih kvadrata odmah vidimo da je Ax ortogonalna projekcija vektora b na R(A).

b Ax R(A) Ax

Takoder r = (I PR(A) )b i u sluaju punog ranga matrice A vrijedi c PR(A) = A(AT A)1 AT . Ako je rang(A) < m, onda A ima netrivijalni nul-potprostor i rjeenje probs lema najmanjih kvadrata nije jedinstveno. Istaknimo jedno od rjeenja x. Skup s svih rjeenja S onda moemo opisati kao s z S = {x = x + z | z N (A)}.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 408

Ako je x N (A), onda je x

2 2

= x

2 2

+ z 2, 2

pa je x jedinstveno rjeenje problema najmanjih kvadrata koje ima minimalnu 2 s normu.

7.5.4.

Numeriko rjeavanje problema najmanjih kvadrata c s

Postoji nekoliko naina rjeavanja problema najmanjih kvadrata u praksi. c s Obino se koristi jedna od sljedeih metoda: c c 1. sustav normalnih jednadbi, z 2. QR faktorizacija, 3. dekompozicija singularnih vrijednosti, 4. transformacija u linearni sustav. Sustav normalnih jednadbi z Prva od navedenih metoda je najbra, ali je najmanje tona. Koristi se kad je z c AT A pozitivno denitna i kad je njena uvjetovanost mala. Matrica AT A rastavi se faktorizacijom Choleskog, a zatim se rijei linearni sustav s AT Ax = AT b. Ukupan broj aritmetikih operacija za raunanje AT A, AT b, te zatim faktorizaciju c c 1 3 2 2 c c Choleskog je nm + 3 m +O(m ). Budui da je n m, onda je prvi lan dominantan u ovom izrazu, a potjee od formiranja AT A. c Koritenje QR faktorizacije u problemu najmanjih kvadrata s Ponovno, pretpostavimo da je AT A pozitivno denitna. Polazimo od rjeenja s problema najmanjih kvadrata dobivenog iz sustava normalnih jednadbi z x = (AT A)1 AT b. Zatim napiemo QR faktorizaciju matrice A s A = QR = Q0 R0 , gdje je Q0 ortogonalna matrica tipa (n, m), a R0 trokutasta tipa (m, m) i uvrstimo u rjeenje. Dobivamo s
T T x = (AT A)1 AT b = (R0 QT Q0 R0 )1 R0 QT b 0 0 T T 1 T T 1 = (R0 R0 )1 R0 QT b = R0 R0 R0 QT b = R0 QT b, 0 0 0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 409

tj. x se dobiva primjenom invertirane skraene QR faktorizacije od A na b (po c analogiji s rjeavanjem linearnih sustava, samo to A ne mora imati inverz). s s Preciznije, da bismo nali x, rjeavamo trokutasti linearni sustav s s R0 x = QT b. 0 Na ovakav se nain najee rjeavaju problemi najmanjih kvadrata. Nije teko c c sc s s pokazati da je cijena raunanja 2nm2 2 m3 , to je dvostruko vie nego za sustav c s s 3 normalnih jednadbi kad je n z m, a priblino jednako za m = n. z QR faktorizacija moe se koristiti i za problem najmanjih kvadrata kad maz trica A nema puni stupani rang, ali tada se koristi QR faktorizacija sa stupanim c c pivotiranjem (na prvo mjesto dovodi se stupac iji radni dio ima najveu normu). c c Zato ba tako? Ako matrica A ima rang r < m, onda njena QR faktorizacija ima s s oblik R11 R12 A = QR = Q 0 0 , 0 0 s gdje je R11 nesingularna reda r, a R12 neka r (m r) matrica. Zbog greaka zaokruivanja, umjesto pravog R, izraunamo z c R11 R12 R = 0 R22 . 0 0 c z Naravno, eljeli bismo da je R22 2 vrlo mala, reda veliine A 2 , pa da je moemo z z zaboraviti, tj. staviti R22 = 0 i tako odrediti rang od A. Naalost, to nije uvijek tako. Na primjer, bidijagonalna matrica
1 2

A=

1 .. .. . . .. . 1
1 2

je skoro singularna (det(A) = 2n ), njena QR faktorizacija je Q = I, R = A, i nema niti jednog R22 koji bi bio po normi malen. s z s Zbog toga koristimo pivotiranje, koje R11 pokuava drati to bolje uvjetovanim, a R22 po normi to manjim. s Dekompozicija singularnih vrijednosti i problem najmanjih kvadrata Vjerojatno jedna od najkorisnijih dekompozicija i s teoretske strane (za dokazivanje injenica) i s praktine strane je dekompozicija singularnih vrijednosti (engl. c c singular value decomposition) ili, skraeno, SVD. c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 410

Teorem 7.5.2 Ako A ima puni rang, onda je rjeenje problema najmanjih kvadrata s min Ax b x jednako
2

x = V 1 U T b,

tj. dobiva se primjenom invertiranog skraenog SVD-a od A na b. c Dokaz. Vrijedi Ax b


2 2

= UV T x b 2 . 2
2

Budui da je A punog ranga, to je i . Zbog unitarne ekvivalencije 2-norme, vrijedi c UV x b


T 2 2

= U (UV x b)
T T

2 2 2

UT T U0

(UV x b)
T 2 2 2 T + U0 b 2 . 2

V x U b T U0 b
T T

= V T x U T b
2

Prethodni izraz se minimizira ako je prvi lan jednak 0, tj. ako je c x = V 1 U T b. Usput dobivamo i vrijednost minimuma min Ax b x
2 T = U0 b 2 .

Uoite da u prethodnom teoremu rjeenje problema najmanjih kvadrata kad c s je matrica A punog ranga. Uobiajeno se SVD primjenjuje u metodi najmanjih c kvadrata i kad matrica A nema puni stupani rang. Rjeenja su istog oblika (sjetite c s se, vie ih je), samo to moramo znati izraunati inverz matrice kad ona nije s s c regularna, tj. kad ima neke nule na dijagonali. Takav inverz zove se generalizirani inverz i oznaava sa + ili . U sluaju da je c c = pri emu je 1 regularna, onda je c + = 1 0 1 . 0 0 1 0 , 0 0

Jo preciznije, za problem najmanjih kvadrata tada vrijedi sljedea propozicija. s c Propozicija 7.5.2 Neka matrica A ima rang r < m. Rjeenje x koje minimizira s z c c Ax b 2 moe se karakterizirati na sljedei nain. Neka je A = UV T SVD od A i neka je 1 0 A = UV T = [U1 , U2 ] [V1 , V2 ]T = U1 1 V1T , 0 0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 411

gdje je 1 nesingularna, reda r, a matrice U1 i V1 imaju r stupaca. Neka je := min (1 ), najmanja ne-nula singularna vrijednost od A. Tada se sva rjeenja problema najs manjih kvadrata mogu napisati u formi
T x = V1 1 U1 b + V2 z, 1

gdje je z proizvoljni vektor. Rjeenje x koje ima minimalnu 2-normu je ono za koje s je z = 0, tj. T x = V1 1 U1 b, 1 i vrijedi ocjena x
2

b 2 .

Dokaz. Nadopunimo matricu [U1 , U2 ] stupcima matrice U3 do ortogonalne matrice reda n, i oznaimo je s U . Koritenjem unitarne invarijantnosti 2-norme, dobivamo c s Ax b
2 2

= U T (Ax b)

2 2

T U1 T = U2 (U1 1 V1T x b) T U3

1 V1T x

T U2 b T U3 b

T U1 b

2
2

2 T + U2 b 2 2 T + U3 b 2 . 2

T = 1 V1T x U1 b

2 2

Oito, izraz je minimiziran kad je prva od tri norme u posljednjem redu jednaka 0, c tj. ako je T 1 V1T x = U1 b, ili
T x = V1 1 U1 b. 1

Stupci matrica V1 i V2 su medusobno ortogonalni, pa je V1T V2 z = 0 za sve vektore z. Odavde vidimo da x ostaje rjeenje problema najmanjih kvadrata i kad s mu dodamo V2 z, za bilo koji z, tj. ako je
T x = V1 1 U1 b + V2 z. 1

To su ujedno i sva rjeenja, jer stupci matrice V2 razapinju nul-potprostor N (A). s Osim toga, zbog spomenute ortogonalnosti vrijedi i x
2 2 T = V1 1 U1 b 1 2 2

+ V2 z 2 , 2

a to je minimalno za z = 0. Na kraju, za to minimalno rjeenje vrijedi ocjena s x


2 T = V1 1 U1 b 1 2 T = 1 U1 b 1 2

T U1 b

b 2 .

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 412

Primjerom se lako pokazuje da je ova ocjena dostina. z Rjeenje problema najmanjih kvadrata koritenjem SVD-a je najstabilnije, a s s moe se pokazati da je, za n z m, njegovo trajanje priblino jednako kao i trajanje z rjeenja koritenjem QR-a. Za manje n, trajanje je priblino 4nm2 4 m3 + O(m2 ). s s z 3 Transformiranje problema najmanjih kvadrata na linearni sustav Ako matrica A ima puni rang po stupcima, onda problem najmanjih kvadrata moemo transformirati i na linearni sustav razliit od sustava normalnih jednadbi. z c z Simetrini linearni sustav c I A r b = , T A 0 x 0 ekvivalentan je sustavu normalnih jednadbi. Ako napiemo prvu i drugu blokz s komponentu r + Ax = b, AT r = 0, onda uvrtavanjem r-a iz prve blok-jednadbe u drugu dobivamo sustav s z AT (b Ax) = 0. Prvi sustav ima bitno manji raspon elemenata od sustava normalnih jednadbi. z Osim toga, ako je matrica A loe uvjetovana, kod tog sustava moemo lake koristiti s z s iterativno pronjavanje rjeenja. s

7.6.

Opi oblik metode najmanjih kvadrata c

Nakon to smo napravili osnovni oblik diskretne metode najmanjih kvadrata, s na slian nain moemo rijeiti i opi problem aproksimacije po metodi najmanjih c c z s c kvadrata, tj. u 2-normi. Dovoljno je uoiti da je diskretna 2-norma generirana c obinim euklidskim skalarnim produktom na konano dimenzionalnim prostorima. c c Po istom principu, u opem sluaju, radimo na nekom unitarnom prostoru s nekim c c skalarnim produktom, a pripadna norma je generirana tim skalarnim produktom. Na poetku zgodno je uvesti oznake koje nam omoguavaju da diskretni i c c neprekidni sluaj analiziramo odjednom, u istom opem okruenju unitarnih prosc c z tora.

7.6.1.

Teinski skalarni produkti z

Unitarni prostor U je vektorski prostor na kojem je deniran skalarni produkt.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 413

7.7.

Familije ortogonalnih funkcija

Za dvije funkcije rei emo da su ortogonalne, ako je njihov skalarni produkt c c jednak 0. Na primjer, za neprekidnu ili diskretnu mjeru d, te funkcije u i v koje imaju konanu normu moemo denirati skalarni produkt kao c z u(x) v(x) d.

Postoji mnogo familija ortogonalnih funkcija. Evo nekoliko primjera takvih familija (sistema). Ortogonalni polinomi; Trigonometrijski polinomi.

7.8.

Neka svojstva ortogonalnih polinoma

Ortogonalni polinomi imaju jo i niz dodatnih dobrih svojstava, zbog kos jih se mogu konstruktivno primijeniti u raznim granama numerike matematike. c Sljedei niz teorema sadri samo neka osnovna svojstva koja emo kasnije iskoristiti c z c za konstrukciju algoritama. Sva ta svojstva su direktna posljedica ortogonalnosti polinoma i ne ovise bitno o tome da li je skalarni produkt diskretan ili kontinuiran. Medutim, na ovom mjestu je zgodno napraviti razliku izmedu diskretnih i kontinuiranih skalarnih produkata, prvenstveno radi jednostavnosti iskaza, dokaza i kasnijeg pozivanja na ove teoreme. Paljivije itanje e samo potvrditi da bitne z c c razlike nema. Standardno emo promatrati neprekidni skalarni produkt c
b

u, v =
a

w(x)u(x)v(x) dx

generiran teinskom funkcijom w 0 na [a, b]. Ako svi polinomi pripadaju odgoz varajuem prostoru kvadratno integrabilnih funkcija, onda postoji pripadna familija c ortogonalnih polinoma koju oznaavamo s {pn (x) | n 0}. Dogovorno smatramo c da je stupanj polinoma pn ba jednak n, za svaki n 0. s Paralelno emo promatrati i diskretni skalarni produkt c
n

u, v =
i=0

wi u(xi )v(xi )

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 414

generiran medusobno razliitim vorovima x0 , . . . , xn i pripadnim pozitivnim teic c z nama w0 , . . . , wn . Pripadni unitarni prostor funkcija na zadanoj mrei vorova z c (izomorfno) sadri sve polinome stupnja manjeg ili jednakog n, pa sigurno postoji z pripadna baza ortogonalnih polinoma koju oznaavamo s {pk (x) | 0 k n}. Opet c uzimamo je stupanj polinoma pk ba jednak k, za svaki k {0, . . . , n}. s Teorem 7.8.1 Neka je {pn (x) | n 0} familija ortogonalnih polinoma na intervalu [a, b] s teinskom funkcijom w(x) 0. Ako je f polinom stupnja m, tada vrijedi z
m

f=
n=0

f, pn pn . pn , pn

Dokaz. Prvo, pokaimo da se svaki polinom moe napisati kao kombinacija ortogz z onalnih polinoma stupnja manjeg ili jednakog njegovom. Dokaz ide koritenjem GramSchmidtove ortogonalizacije. Pokaimo, redom, s z 2 da se monomi {1, x, x , . . . } mogu prikazati pomou ortogonalnih polinoma. c Ako je stupanj ortogonalnog polinoma 0, on je nuno konstanta razliita od z c nule, tj. vrijedi p0 (x) = c0,0 , c0,0 = 0, pa se prvi monom 1 moe napisati kao z 1= 1 c0,0 p0 (x).

Za polinome stupnja jedan, konstrukcija slijedi iz GramSchmidtovog procesa ortogonalizacije sustava funkcija {1, x} p1 (x) = c1,1 x + c1,0 p0 (x), tj. vrijedi x= 1 c1,1 [p1 (x) c1,0 p0 (x)]. c1,1 = 0,

Koritenjem indukcije u GramSchmidtovom procesu na {1, x, x2 , . . . , xn }, dos bivamo pn (x) = cn,n xn + cn,n1 pn1 (x) + + cn,0p0 (x), cn,n = 0, gdje su p0 , p1 , . . . , pn1 dobiveni ortogonalizacijom iz {1, x, . . . , xn1 }, pa je xn = 1 cn,n [pn (x) cn,n1pn1 (x) cn,0 p0 (x)].

Neka je f bilo koji polinom stupnja (manjeg ili jednakog) m, za neki m N0 . Tada se f moe napisati kao linearna kombinacija monoma {1, x, . . . , xm }, prikazom z

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 415

u standardnoj bazi. Budui da se svaki monom moe napisati kao linearna kombic z nacija ortogonalnih polinoma stupnja manjeg ili jednakog od stupnja tog monoma, odmah slijedi da se i f moe napisati kao neka linearna kombinacija ortogonalnih z polinoma stupnjeva manjih ili jednakih m, tj. da vrijedi
m

f=
j=0

bj pj .

z z Ostaje samo odrediti koecijente bj . Mnoenjem prethodne relacije teinskom funkcijom w, pa polinomom pn , a zatim integriranjem na [a, b], tj. skalarnim mnoenjem z s pn , dobivamo
m

f, pn =
j=0

bj pj , pn = bn pn , pn ,

koristei ortogonalnost pj i pn , za j = n. Odatle odmah slijedi da je c bn = jer je pn


2

f, pn , pn , pn

= pn , pn > 0.

Razvoj polinoma f stupnja m iz prethodnog teorema moemo napisati i tako z da suma ide do , a ne do m, samo su svi dodatni koecijenti bn = 0, za n > m. To je posljedica sljedee tvrdnje. c Korolar 7.8.1 Ako je f polinom stupnja manjeg ili jednakog m 1, onda je f, pm = 0, tj. pm je okomit na f . Dakle, pm je okomit na sve polinome stupnja strogo manjeg od m. Dokaz. Po prethodnom teoremu, f se moe razviti po ortogonalnim polinomima z stupnja manjeg ili jednakog m 1
m1

f (x) =
n=0

bn pn (x).

Mnoenjem s w(x)pm (x), te integriranjem, dobivamo da je z


m1

f, pm =
n=0

bn pn , pm = 0,

zbog svojstva ortogonalnosti ortogonalnih polinoma pn , pm = 0, za n = m. Teorem 7.8.2 Neka je {pn (x) | n 0} familija ortogonalnih polinoma na intervalu c c [a, b] s teinskom funkcijom w(x) 0. Tada svaki polinom pn ima tono n razliitih z (jednostrukih) realnih nultoaka na otvorenom intervalu (a, b). c

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 416

Dokaz. Neka su x1 , x2 , . . . , xm sve nultoke polinoma pn za koje vrijedi: c a < xi < b, pn (x) mijenja predznak u xi . Budui da je pn stupnja n, po osnovnom teoremu algebre, polinom pn ima c ukupno n nultoaka, pa onih koje zadovoljavaju prethodna dva svojstva ima manje c ili jednako n. Pretpostavimo da je nultoaka koje zadovoljavaju traena dva svojstva c z striktno manje od n, tj. m < n. Pokaimo da je to nemogue. z c Deniramo polinom B(x) = (x x1 ) (x xm ). Po deniciji toaka x1 , . . . , xm , polinom c pn (x)B(x) = (x x1 ) (x xm )pn (x) ne mijenja znak prolaskom kroz toke x1 , . . . , xm , tj. itav polinom ne mijenja znak c c na (a, b). Preciznije, to implicira oblik funkcije pn pn (x) = h(x)(x x1 )r1 (x xm )rm , pri emu moraju biti svi ri neparni, a h(x) ne smije promijeniti predznak na (a, b). c Mnoenjem s B(x), dobivamo z pn (x)B(x) = h(x)(x x1 )r1 +1 (x xm )rm +1 . Nadalje, vrijedi
b

w(x)B(x)pn (x) dx = 0,
a

budui da je to integral nenegativne funkcije. S druge je strane taj integral skalarni c produkt od B (polinom stupnja m < n) i sa pn (polinom stupnja n), pa je po prethodnom korolaru
b

w(x)B(x)pn (x) dx = B, pn = 0.
a

To je, oito kontradikcija, pa je pretpostavka o stupnju polinoma B bila pogrena, c s tj. mora biti m = n. Budui da pn ima tono n nultoaka x1 , . . . , xn u kojima c c c mijenja predznak, one moraju biti jednostruke, jer je pn (xi ) = 0. Neka je ponovno zadana familija ortogonalnih polinoma na intervalu [a, b] i neka su prva dva koecijenta funkcije pn jednaki pn (x) = An xn + Bn xn1 + .

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 417

Takoder, tada pn momo napisati i kao z pn (x) = An (x xn,1 )(x xn,2 ) (x xn,n ). Deniramo takoder i an = An+1 , An n = pn , pn > 0.

Teorem 7.8.3 (trolana rekurzija) Neka je {pn (x) | n 0} familija ortogonalc nih polinoma na intervalu [a, b] s teinskom funkcijom w(x) 0. Tada za n 1 z vrijedi rekurzija pn+1 (x) = (an x + bn )pn (x) cn pn1 (x), pri emu su c bn = an Bn+1 Bn , An+1 An cn = An+1 An1 n . A2 n1 n

Dokaz. Promatrajmo polinom G(x) = pn+1 (x) an xpn (x) = (An+1 xn+1 + Bn+1 xn + ) = Bn+1 An+1 Bn n x + . An An+1 x(An xn + Bn xn1 + ) An

Oito, polinom G je stupnja manjeg ili jednakog n, pa ga moemo napisati kao c z linearnu kombinaciju ortogonalnih polinoma stupnja manjeg ili jednakog n, tj. G(x) = dn pn (x) + + d0 p0 (x) c za neki skup konstanti di . Raunanjem di izlazi di = 1 G, pi = ( pn+1 , pi an xpn , pi ). pi , pi i

Budui da je pn+1 , pi = 0 za i n i da za i n 2 vrijedi c


b

xpn , pi =
a

w(x)pn (x)xpi (x) dx = 0,

zakljuujemo da je stupanj polinoma xpi (x) manji ili jednak n 1. Kombiniranjem c ta dva rezultata, dobivamo di = 0 za 0 i n 2, pa je zbog toga G(x) = dn pn (x) + dn1 pn1 (x) pn+1 (x) = (an x + dn )pn (x) + dn1 pn1 (x).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 418

Ostaje jo samo pokazati koliki su koecijenti dn1 i dn . Iz prve od dvije prethodne s relacija, usporedivanjem vodeih koecijenata funkcije G i vodeih koecijenata func c cije s desne strane, dobivamo relaciju za dn . Teorem 7.8.4 (ChristoelDarbouxov identitet) Neka je {pn (x) | n 0} familija ortogonalnih polinoma na intervalu [a, b] s teinskom funkcijom w(x) 0. z Za njih vrijedi sljedei identitet c pk (x)pk (y) pn+1 (x)pn (y) pn (x)pn+1 (y) . = k an n (x y) k=0
n

Dokaz. Manipulacijom trolane rekurzije. c

7.9.

Trigonometrijske funkcije
{1, cos x, cos 2x, cos 3x, . . . , sin x, sin 2x, sin 3x, . . . }

Trigonometrijske funkcije

ine ortogonalnu familiju funkcija na intervalu [0, 2] uz mjeru c d = dx na [0, 2], 0 inae. c

Pokaimo da je to zaista istina. Neka su k, N0 . Tada vrijedi z


2

1 sin kx sin x dx = 2

(cos(k + )x cos(k )x) dx.


0

U sluaju da je k = , onda je prethodni integral jednak c Ako je k = , onda je jednak 1 sin(k + )x sin(k )x 2 k+ k Drugim rijeima, vrijedi c
2 2

1 sin(k + )x x 2 k+

= .
0

= 0.
0

sin kx sin x dx =
0

0, k = , , k = ,

k, = 1, 2, . . . ,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 419

Na slian nain, pretvaranjem produkta trigonometrijskih funkcija u zbroj, moemo c c z pokazati da je


2

k= , cos kx cos x dx = 2, k = = 0, , k = > 0,

0,

k, = 0, 1, . . . ,

te, takoder, da je
2

sin kx cos x dx = 0,
0

k = 1, 2, . . . ,

= 0, 1, . . . ,

Ako periodiku funkciju f osnovnog perioda duljine 2 elimo aproksimirati c z redom oblika a0 + (ak cos kx + bk sin kx), f (t) = 2 k=1 onda, mnoenjem odgovarajuim trigonometrijskim funkcijama i integriranjem, za z c koecijente u redu formalno dobivamo 1 ak =
2

f (x) cos kx dx,


0

1 bk =

f (x) sin kx dx.


0

Prethodni red poznat je pod imenom Fourierov red, a koecijenti kao Fourierovi koecijenti. Posebno, ako Fourierov red odsijeemo za k = m i dobijemo trigonometrijski c polinom, koji je najbolja L2 aproksimacija za f u klasi trigonometrijskih polinoma stupnja manjeg ili jednakog m, obzirom na normu
2 1/2

=
0

|u(t)|2 dt

7.9.1.

Diskretna ortogonalnost trigonometrijskih funkcija

Umjesto neprekidne, za pripadnu mjeru moemo uzeti i diskretnu mjeru, pa z umjesto integrala, dobivamo sume. Da bismo dobili eljeni razvoj moramo poznavati z relacije diskretne relacije ortogonalnosti. Teorem 7.9.1 Za trigonometrijske funkcije, na mrei od toaka 0, 1, . . . , N, uz ozz c naku 2 2 xk = kx, x = x, N +1 N +1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 420

vrijede sljedee relacije ortogonalnosti c


N

sin xk sin x =
x=0 N

0, k = i k = = 0, (N + 1)/2, k = = 0,

sin xk cos x = 0
x=0 N

k= , cos xk cos x = (N + 1)/2, k = = 0, x=0 N + 1, k = = 0, uz uvjet da je k + N. Dokaz. Dokaimo samo prvu relaciju. Iskoristimo formulu za pretvaranje produkta z dva sinusa u zbroj trigonometrijskih funkcija. Vrijedi sin xk sin x = sin 2 2 kx sin x N +1 N +1 2 2 1 (k )x cos (k + )x = cos 2 N +1 N +1

0,

Ako je k + N, onda su za x = 0, 1, . . . , N onda su argumenti prvog kosinusa s desne strane redom 0, 2 4 2N (k ), (k ), . . . , (k ). N +1 N +1 N +1

Ako je k = , onda su svi argumenti prvog kosinusa 0, pa je


N 2 (k )x = cos cos 0 = N + 1, N +1 x=0 x=0 N

k= .

Za sluaj k = c

2 (k ) N +1 podsjeaju na argumente (N + 1)-og korijena iz 1 (viak je (k )). Oznaimo s c s c j , j = 0, . . . , N sve (N + 1)-ve korijene iz 1, koristimo znanje iz kompleksne analize. Clanovi j = cos Nadalje, oznaimo s c 2j 2j + i sin . N +1 N +1 (7.9.1)

2 2 + i sin . N +1 N +1 Primijetite da se tada svi (N + 1)-vi korijeni iz 1 mogu, koritenjem De Moivreove s formule (za potenciranje kompleksnih brojeva) napisati kao = cos j = j .

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 421

Oito svi j zadovoljavaju jednadbu xN +1 1 = 0. Iskoristimo li da su j svi c z korijeni te jednadbe, nju moemo napisati u faktoriziranom obliku kao z z xN +1 1 = (x 0 )(x 1 ) (x N ). c Usporedivanjem lanova uz N-tu potenciju slijeva i zdesna, dobivamo 0= Iskoristimo li (7.9.1) dobivamo
N N N

j .
j=0

0=
j=0

j =
j=0

cos

N 2j 2j +i . sin N +1 N +1 j=0

Budui da je kompleksan broj jednak 0, nuli moraju biti jednaki i njegov realni i c njegov imaginarni dio. Drugim rijeima, vrijedi c 2j = 0, cos N +1 j=0
N N

sin
j=0

2j = 0. N +1

Vratimo se na poetak. Trebali smo dokazati da je c


N

cos
j=0

2j (k ) = 0. N +1

Primijetimo da su argumenti kosinusa u prethodnoj formuli argumenti (N + 1)-og korijena iz 1, pomnoeni s (k ), to znai da su to argumenti od ( j )(k ) = z s c (k ) j ( ) . To bi odgovaralo izboru korijena = cos 2(k ) 2(k ) + i sin N +1 N +1

umjesto . Odmah je jasno da vrijedi


N N

j =
j=0 j=0

j ,

pa je dokazano da je
N

cos
j=0

2j(k ) = 0. N +1

Na slian se nain pokazuje da je c c


N

cos
j=0

2j(k + ) = 0, N +1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 422

za j + k = 0, ime je pokazana relacija ortogonalnosti za sinuse. c Ovo znai da restrikcije funkcija c cos 2 kx, N +1 sin 2 kx N +1 (7.9.2)

pri emu su dozvoljeni k N0 za kosinuse i k N za sinuse, na mrei {0, . . . , N} c z moemo koristiti kao ortogonalnu familiju. Linearne kombinacije funkcija (7.9.2) z zvat emo trigonometrijski polinom. c Naalost baze takvih trigonometrijskih polinoma ovise o parnosti N. z Neparan broj toaka c Neka je zadan neparan broj toaka M = {0, 1, . . . , N = 2L}. Za bazu se c tada uzima prvih L + 1 kosinusa (prvi je konstanta) i prvih L sinusa, a pripadna trigonometrijska aproksimacija ima oblik TN (x) = pri emu je c xk = 2 2 kx := kx. N +1 2L + 1
L a0 (ak cos xk + bk sin xk ), + 2 k=1

(7.9.3)

Koecijenti trigonometrijskog polinom odreduju se iz relacija ortogonalnosti na uobiajeni nain, mnoenjem lijeve i desne strane u (7.9.3) izabranom funkcijom c c z baze uz koju je odgovarajui koecijent. Ako trigonometrijski polinom interpolira c TN interpolira funkciju f u x M, tj. ako je Tn (x) = f (x) onda mnoemjem (7.9.3) z s cos x 0 i upotrebom relacija ortogonalnosti dolazimo do koecijenata a f (x) cos x =
L L a0 cos x + ak cos xk cos x + bk sin xk cos x . 2 k=1 k=1

Zbrajanjem po svim x dobivamo


2L x=0

f (x) cos x =

L L 2L 2L a0 2L cos 0 cos x + ak cos xk cos x + bk sin xk cos x 2 x=0 x=0 x=0 k=1 k=1 2L + 1 a. = 2

Odatle odmah zakljuujemo da je (piui k umjesto ) c s c 2 ak = 2L + 1


2L

f (x) cos xk ,
x=0

k = 0, . . . , L.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 423

Na slian nain, mnoenjem sa sin x , c c z


2L

> 0 i zbrajanjem po svim x dobivamo

L L 2L 2L a0 2L f (x) sin x = cos 0 sin x + ak cos xk sin x + bk sin xk sin x 2 x=0 x=0 x=0 x=0 k=1 k=1 2L + 1 b. = 2

Slino kao kod ak , imamo c 2 bk = 2L + 1


2L

f (x) sin xk ,
x=0

k = 1, . . . , L.

Dakle, u sluaju neparnog broja toaka koecijenti u (7.9.3) su c c ak = bk = 2 2L + 1 2 2L + 1


2L

f (x) cos xk ,
x=0 2L

k = 0, . . . , L, k = 1, . . . , L.

f (x) sin xk ,
x=0

Zadatak 7.9.1 Pokaite da za bilo koju toku x , ne nuno iz M vrijedi z c z TN (x ) = 1 2L + 1


2L 2L

f (x)
x=0 k=0

cos

2 k(x x ) 2L + 1

Paran broj toaka c Neka je zadan paran broj toaka M = {0, 1, . . . , N = 2L 1}. Za bazu se c tada uzima prvih L + 1 kosinusa (prvi je konstanta) i prvih L 1 sinusa, a pripadna trigonometrijska aproksimacija ima oblik TN (x) = pri emu je c xk = 2 kx := kx. N +1 L a0 L1 1 + (ak cos xk + bk sin xk ) + aL cos xL , 2 2 k=1 (7.9.4)

Na slian nain kao kod neparnog broja toaka, koecijenti u (7.9.4) su c c c 1 ak = L bk =


2L1

f (x) cos xk ,
x=0 2L1

k = 0, . . . , L, k = 1, . . . , L 1.

1 2L

f (x) sin xk ,
x=0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 424

Zadatak 7.9.2 Pokaite da i u sluaju neparnog i u sluaju parnog broja toaka, TN z c c c ima period N + 1. Zbog toga se jednostavno koristi za interpolaciju trigonometrijskih funkcija, a dovoljno je zadati samo toke x iz jednog perioda. c Primjer 7.9.1 Funkcija f ima period 3 i zadana je tablino s c xk fk 0 0 1 1 2 1

Nadimo trigonometrijski polinom koji interpolira f u svim tokama iz Z, a zatim c izraunajmo TN (1/2) i TN (3/2). c Budui da je N = 2, broj toaka je neparan, pa je c c 1 2 2 T2 (x) = a0 + a1 cos x + b1 sin x. 2 3 3 Prema formulama za koecijente, dobivamo a0 = 4 2 (0 cos 0 + 1 cos 0 + 1 cos 0) = 3 3 4 2 2 2 a1 = + 1 cos 0 cos 0 + 1 cos = 3 3 3 3 4 2 2 + 1 sin b1 = 0 sin 0 + 1 sin = 0. 3 3 3

Prma tome, trigonometrijski polinom koji interpolira zadane toke je c 2 2 2 cos x. 3 3 3 Odatle se odmah moe izraunati da je z c T2 (x) = 1 2 2 cos = 3 3 3 3 4 2 2 T2 (3/2) = cos = . 3 3 3 T2 (1/2) = Metoda majnanjih kvadrata za trigonometrijske funkcije I za metodu najmanjih kvadrata moemo koristiti trigonometrijske polinome, z jer je dovoljno uzeti podskup baze prostora. Slino kao kod interpolacije biramo c poetni dio baze (7.9.2). Takoder moramo paziti na parnost/neparnost broja toaka c c N i na parnost/neparnost stupnja trigonometrijskog polinoma M, M N. Ilustrirajmo to na sluaju N = 2L paran (broj toaka neparan) i M = 2m c c paran (neparna dimenzija potprostora). Trigonometrijski polinom odgovarajueg c stupnja je m 1 (Ak cos xk + Bk sin xk ), (7.9.5) TM (x) = A0 = 2 k=1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 425

gdje je xk = 2 2 kx := kx. N +1 2L + 1

Metoda najmanjih kvadrata minimizira kvadrat greke s


2L

S=

(f (x) TM (x))2 min .

x=0

Tvrdimo da je rjeenje problema mininizacije trigonometrijski interpolacijski s polinom kojemu je Ak = ak , k = 0, . . . , m Bk = bk , k = 1, . . . , m, c a koecijenti ak i bk se raunaju po formulama za interpolaciju. Primijetite da u tokama interpolacije x, x = 0, . . . , 2L interpolacijski polinom ima istu vrijednost c kao funkcija f , pa je dovoljno (u tokama interpolacije) usporedivati interpolacijski c trigonometrijski polinom TN , N = 2L i trigonometrijski polinom TM , M = 2m dobiven metodom najmanjih kvadrata. Vrijedi
m 1 TN (x) TM (x) = (a0 A0 ) + ((ak Ak ) cos xk + (bk Bk ) sin xk ) 2 k=1 L

+
k=m+1

(ak cos xk + bk sin xk ).

Dakle, u tokama interpolacije x vrijedi c f (x) TM (x) = TN (x) TM (x). Greka S koju minimiziramo dobiva se upotrebom relacija ortogonalnosti. Izlazi s
2L

S := =

(TN (x) TM (x))2

2L m 1 (a0 A0 )2 + ((ak Ak ) cos xk + (bk Bk ) sin xk )2 4 x=0 x=0 k=1 2L L

x=0 2L

+
x=0 k=m+1

(ak cos xk + bk sin xk )2

2L m 1 = (a0 A0 )2 (2L + 1) + (ak Ak )2 cos2 xk 4 x=0 k=1

+ 2(ak Ak )(bk Bk ) cos xk sin xk + (bk Bk )2 sin2 xk


2L L

+
x=0 k=m+1

(a2 cos2 xk + 2ak bk cos xk sin xk + b2 sin2 xk ) k k

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 426

1 2L + 1 m 2 = (a0 A0 ) (2L + 1) + (ak Ak )2 + (bk Bk )2 ) 4 2 k=1 2L + 1 L + (a2 + b2 ). k 2 k=m+1 k Prema tome, odmah je vidljivo da je greka S minimalna ako je s Ak = ak , Bk = bk , i njena minimalna vrijednost jednaka je Smin = 2L + 1 L (a2 + b2 ). k 2 k=m+1 k k = 0, . . . , m k = 1, . . . , m,

Ovaj oblik minimalne greke nije praktian, jer uobiajeno ne znamo ak , bk za k > m. s c c Zadatak 7.9.3 Dokaite da vrijedi z Smin 2L + 1 2 2L + 1 m 2 = (f (x)) (ak + b2 ) a0 k 4 2 k=1 x=0
2 2L

koritenjem relacija ortogonalnosti. Prethodni oblik greke esto se koristi za des s c tekciju stupnja trigonometrijskog polinoma, jer nagli pad greke pri dizanju stupnja s trigonometrijskog polinoma znai da smo otkrili stupanj polinoma. Greka pritom c s ne mora biti 0, jer je pojava mogla imati sluajne greke koje smo ionako eljeli c s z maknuti. Zadatak 7.9.4 Izvedite metodu najmanjih kvadrata za tri preostala sluaja: c 1. broj toaka paran N = 2L 1, dimenzija prostora neparna M = 2m, c 2. broj toaka neparan N = 2L, dimenzija prostora parna M = 2m 1, c 3. broj toaka paran N = 2L 1, dimenzija prostora parna M = 2m 1. c Zadatak 7.9.5 Neka je funkcija f zadana na mrei toaka M = {0, 1, . . . , P 1}, z c P neparan (tj. toaka je paran broj) i neka je P period funkcije f , tj. c f (x + P ) = f (x). Pokaite da su tada z ak = bk = 2 P 2 P
L

f (x) cos
x=L+1 L

2 kx, P 2 kx, P

k = 0, . . . , L k = 1, . . . , L 1.

f (x) sin
x=L+1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 427

Ako je f neparna funkcija f (x) = f (x), pokaite da je z ak = 0, bk = 4 P k = 0, . . . , L


L1

f (x) sin
x=1

2 kx, P

k = 1, . . . L 1.

Ako je f parna funkcija f (x) = f (x), pokaite da je z 2 4 ak = (f (0) + f (L) cos k) + P P bk = 0, k = 1, . . . L 1.


L1

f (x) cos
x=1

2 kx, P

k = 0, . . . , L

Zadatak 7.9.6 Rijeite prethodni zadatak uz uvjet da je P = 2L + 1, tj. da funkcija s ima neparan period.

7.10.

Minimaks aproksimacija

Neka je f neprekidna funkcija na [a, b]. Ako usporedujemo polinomne aproksimacije funkcije f dobivene razliitim metodama, pitamo se koja je od njih najbolja, c tj. koja daje najmanju maksimalnu greku. Oznaimo s n (f ) maksimalnu greku s c s aproksimacije n (f ) = inf f p .
deg(p)n

To znai de ne postoji polinom stupnja manjeg ili jedmakog n koji bi bolje od p c aproksimirao funkciju f na danom intervalu. Nas, naravno interesira za koji se polinom dostie ta greka z s n (f ) = f p . n z Ako je polinom pn jedinstven, zanima nas kako ga moemo konstruirati. Polinom pn zovemo minimaks aproksimacija funkcije f na intervalu [a, b]. Pokaimo kako se najbolja aproksimacija ponaa na jednom jednostavnom z s primjeru. Primjer 7.10.1 Nadimo polinom prvog stupnja p (x) = a0 + a1 x koji je minimaks 1 aproksimacija funkcije f (x) = ex na intervalu [1, 1], tj. da vrijedi
x[1,1]

max |ex a0 a1 x| min .

Da bismo rijeili problem, potrebno je malo geometrijskog zora. Nacrtajmo s graf funkcije ex i promatrajmo greku svih polinomnih aproksimacija s err(x) = ex (a0 + a1 x)

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 428

na zadanom intervalu.
y

x3

Prvo, odmah je jasno da linearna minimaks aproksimacija mora sjei graf funkcije c x c c e na zadanom intervalu u tono dvije toke, nazovimo ih x1 , x2 takve da je 1 < c c x1 < x2 < 1. U protivnom, ako polinom ne sijee graf niti u jednoj toki, ili ako ga sijee u tono jednoj toki, moe se pokazati da postoji bolja aproksimacija. Pokaite c c c z z to! Iz crtea odmah nasluujemo i rjeenje. Nadimo jednadbu pravca kroz toke z c s z c (1, e1 ) i (1, e). Zatim, nadimo koecijent a0 takav da je taj pravac tangenta c s funkcije ex u nekoj toki x3 . Rjeenje zadatka je pravac paralelan s prethodna dva, jednako udaljen od oba. Odmah je jasno da e postojati tono tri toke u kojima e c c c c se dostizati maksimalne pogreke: rubovi intervala i x3 . s Pokaimo sad precizno da su naa zakljuivanja ispravna. Oznaimo z s c c 1 = max | err(x)|.
x[1,1]

Ve smo zakljuili da pogreka mora imati tri ekstrema, tj. mora vrijediti c c s err(1) = 1 , err(1) = 1 , err(x3 ) = 1 .

Budui da je err(x) derivabilna, onda moemo uvjet maksimuma pogreke u x3 c z s napisati i koritenjem derivacije, tj. err (x3 ) = 0. s Sad moemo skupiti sve etiri jednadbe koje trebamo zadovoljiti z c z e1 a0 + a1 = 1 e a0 a1 = 1 Rjeenje te etiri jednadbe je s c z e e1 1.1752 2 x3 = ln a1 0.1614 1 x3 1 = e1 + (e e1 ) 0.2788 2 4 a0 = 1 + (1 x3 )a1 1.2643. a1 = ex3 a0 a1 x3 = 1 ex3 a1 = 0.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 429

Graf pogreke ima karakteristian oscilirajui izgled. s c c


y 0.2788 x3 1 0.2788 1 x

Koritenjem tzv. Remesovog algoritma moemo konstruirati i kubini polinom s z c koji najbolje aproksimira istu funkciju. Taj polinom je p (x) = 0.994579 + 0.995668x + 0.542973x2 + 0.179533x3. 3 Ako nacrtamo graf tog polinoma, on se na slici nee razlikovati od funkcije, c
y

jer e greka biti iznimno mala, reda veliine 0.0055 i opet karakteristino oscilic s c c rajua. c
y 0.0055

0.0055

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 430

Za dobru uniformnu aproksimaciju zadane funkcije f , realno je oekivati da je c greka jednako tako uniformno distribuirana na intervalu aproksimacije i da varira s po predznaku. Iznijet emo dva vrlo vana teorema, od kojih prvi daje egzistenc z ciju minimaks aproksimacije i vano svojstvo o oscilaciji greaka. Drugi ocjenjuje z s pogreku minimaks aproksimacije n polinoma stupnja n, bez da se sam polinom s izrauna. c Teorem 7.10.1 (Cebievljev teorem o oscilacijama greaka) Za danu funks s ciju f , f C[a, b] i za dani n 0 postoji jedinstven polinom p stupnja manjeg ili n jednakog n za koji je n (f ) = f p . n Taj polinom je karakteriziran sljedeim svojstvom: postoje barem n + 2 toke c c a x0 < x1 < < xn < xn+1 b za koje je f (xj ) p (xj ) = (1)j n (f ), n j = 0, . . . , n + 1,

pri emu je = 1 i ovisi samo o f i n. c Dokaz prethodnog teorema je tehniki, vrlo dugaak i provodi se obratom po c c kontrapoziciji. Teorem 7.10.2 (de la ValleePoussin) Neka je f C[a, b] i n 0. Pretpostavimo da polinom P stupnja manjeg ili jednakog n zadovoljava f (xj ) P (xj ) = (1)j ej , j = 0, 1, . . . , n + 1

c a ej su razliiti od 0 i istog predznaka, za xj vrijedi a x0 < x1 < < xn < xn+1 b. Tada je min |ej | n (f ) = f p (x) n f P
.

0jn+1

Dokaz. Posljednja nejednakost (gornja ograda) u prethodnoj formuli posljedica je denicije minimaks aproksimacije, tj. da polinom p ima maksimum pogreke manji s n ili jednak od svih ostalih polinoma P . Donja ograda za n (f ) dokazuje se pretostavljanjem suprotnog. Pretpostavimo da je n (f ) <
0jn+1

min |ej |.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 431

Budui da je n (f ) inmum (zaboravimo naas da smo dokazali i minimum), onda c c sigurno postoji bar jedan polinom Q stupnja manjeg ili jedankog n koji se nalazi izmedu n (f ) i minimuma |ej |, tj. vrijedi n (f ) f Q

<

0jn+1

min |ej |.

Primijetite da polinomi P i Q nisu jednaki! Deniramo R(x) = P (x) Q(x). R je polinom stupnja manjeg ili jedankog n. Zbog jednostavnosti, pretpostavimo da c c su svi ej > 0 (isti argument radit e i ako su svi manji od 0). Izraunajmo vrijednosti polinoma R u tokama xj . Ponimo s x0 i promotrimo predznak rezultata c c R(x0 ) = P (x0 ) Q(x0 ) = (f (x0 ) Q(x0 )) (f (x0 ) P (x0 )) = (f (x0 ) Q(x0 )) e0 . Budui da je c |f (x0 ) Q(x0 )| < min |ej | = min ej e0 , onda je R(x0 ) = f (x0 ) Q(x0 )) e0 < 0. Nadalje je R(x1 ) = P (x1 ) Q(x1 ) = (f (x1 ) Q(x1 )) (f (x1 ) P (x1 )) = (f (x1 ) Q(x1 )) + e1 . Ponovno, zbog |f (x1 ) Q(x1 )| < min |ej | = min ej e1 , slijedi da je R(x1 ) = (f (x1 ) Q(x1 )) + e1 > 0. Induktivno, dobivamo da je sign(R(xj )) = (1)j+1 , j = 0, . . . , n + 1,

tj. R oscilira tako da ima bar n + 2 razliita predznaka, tj. da predznak promijeni c bar n + 1 puta. Ali R je polinom stupnja n, pa predznak moe mijenjati samo u z nultokama. Po osnovnom teoremu algebre znamo da polinom R stupnja n 1 ima c tono n nultoaka, a ne bar (n + 1)-nu. Jedina mogunost koja ostaje je da je R c c c ba nul-polinom, tj. da je P = Q, to je suprotno pretpostavci. s s Predodbu o tome kako se ponaa najbolja aproksimacija s porastom stupnja z s n daje sljedei teorem. c Teorem 7.10.3 (Jackson) Neka funkcija f ima k neprekidnih derivacija za neki s k 0. Cak tovie pretpostavimo da f (k) zadovoljava s
ax,yb

sup |f (k) (x) f (k) (y)| M|x y|

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 432

za neki M > 0 i neki 0 < 1, tj. kae se da f zadovoljava Hlderov uvjet s z o eksponentom . Tada postoji konstanta dk nezavisna o f i n za koju je n (f ) Mdk , nk+ n 1.

Ako u prethodnom teoremu elimo izbjei Hlderov uvjet, dovoljno je pretz c o postaviti da f im k neprekidnih derivacija. Umjesto k-te derivacije svugdje dalje u teoremu koristimo (k 1)-u, stavljamo = 1 i M = f (k)
.

Tada se Hlderov uvjet svede na obini teorem srednje vrijednosti, a kao rezultat o c dobivamo dk1 n (f ) k f (k) . n Nadalje, ako je f beskonano puta derivabilna, tada p konvergira prema f c n uniformno na [a, b] bre nego bilo koja potencija 1/nk , k 1. z

7.10.1.

Remesov algoritam

Traenje minimaks aproksimacije p za f moe se pronai iterativnim algoritz z c n mom poznatijim kao drugi Remesov algoritam. Ovdje treba napomenuti da se taj algoritam moe generalizirati i na racionalne funkcije i na sluaj kad funkcija f nije z c zadana na intervalu, nego na skupu toaka (tada se on zove diferencijalni algoritam c korekcije). Remesov algoritam koristi svojstvo oscilacije greke koje mora imati minimaks s aproksimacija. Iteracije imaju tri dijela. Prvi korak Zadane su n + 2 toke c a x0 < x1 < < x(0) < xn+1 b. n koje odreduju polinom p stupnja deg(p) n iz uvjeta f (xi ) p(xi ) = (1)i E,
(0) (0) (0) (0) (0)

i = 0, . . . , n + 1,

pri emu zahtjevamo da pogreka E (koju jo ne znamo) oscilira s jednakim amplic s s tudama. Prehodna ralacija vodi na linearni sustav s n + 2 nepoznanice od kojih su n + 1 koecijenti polinoma p, a posljednja je E. Drugi korak

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 433

Rijeimo linearni sustav, tj. odredimo redom a0 , . . . , a(0) (koecijente polis n noma p) i nadimo pirpadni E, zovimo ga E0 . Trei korak c Traimo novih n + 2 toaka. Deniramo funkciju z c h0 (x) = f (x)
(0) n i=0

(0)

ai xi .

(0)

Funkcija h0 ima u tokama xi vrijednosti E0 (to su greke) koje alterniraju c s (0) po predznaku. Zbog toga, nije teko pokazati da u okolini svake toke xi postoji s c (1) s toka xi takva da u njoj h0 (x) ima ekstrem i to istog predznaka kao to je predznak c (0) (0) (0) (1) (1) f (xi ) p(xi ). Nakon toga zamjenjujemo xi s xi . Naravno, rubne toke x0 i c (1) xn+1 moraju ostati u [a, b]. z c Ove nove toke xi lokalnih ekstrema funkcije h0 moraju sadravati i toku c z c u kojoj |h0 | dostie globalni maksimum na [a, b]. Naime, ako je x toka u kojoj |h0 | poprima globalnu maksimalnu vrijednost na [a, b] h0
(1) (1)

= f p

= |f () p()|, x x

i ona nije medu toakama xi , onda treba onda treba zamijeniti jednu od toaka c c (1) c c z xi tokom x, tako da h0 i na tom novom skupu toaka alternira po znaku. Moe se pokazati da se to uvijek moe napraviti. z Primjernom teorema 7.10.2 dobivamo da je m :=
i=0,...,n+1

min

|f (xi ) p(xi )| n (f ) M :=

(1)

(1)

i=0,...,n+1

max |f (xi ) p(xi )|.

(1)

(1)

Ako je omjer M/m dovoljno blizu 1, smatramo da je nadeni p dovoljno blizu polinomne minimaks aproksimacije za f . U protivnom, treba ponoviti drugi, pa trei korak, samo na novim tokama xi . c c Ovaj proces generirat e niz polinomnih aproksimacija e uniformno konvergirati c c prema minimaks polinomnoj aproksimaciji.
(1)

7.11.

Skoro minimaks aproksimacije

Vidjeli smo da minimaks aproksimaciju nije jako lako izraunati. Zbog toga, c bili bismo zadovoljni i priblinom minimaks aproksimacijom. Ako se prisjetimo z s Cebievljevog teorema o oscilaciji greke, moemo doi do metode koja daje dobru s z c priblinu minimaks aproksimaciju. z

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 434

s Vidjet emo da su u tu svrhu vrlo pogodni Cebievljevi polinomi, koji zadoc voljavaju sljedeu relaciju ortogonalnosti c
1

za m = n, Tm (x) Tn (x) za m = n = 0, dx = , 1 x2 /2, za m = n = 0.

0,

s Ako elimo funkciju f razviti po Cebievljevim polinomima, potrebno je samo supz stituirati podatke u opi algoritam. Zelimo odrediti koecijente ck u razvoju funkcije c sevljevim polinomima. Ako je razvoj napiemo u obliku f po Cebi s f (x) =
c0 T0 (x) + ci Ti (x), 2 i=1

(7.11.1)

onda emo, formalno gledajui, koecijent cj dobiti ako pomnoimo prethodnu rec c z laciju s Tj (x), zatim teinskom funkcijom w i integriramo od 1 do 1. Dobivamo z formulu 1 2 f (x)Tj (x) cj = dx. 1 x2 1 Oznaimo s fn poetni komad razvoja, tj. neka je c c fn (x) =
n c0 T0 (x) + ci Ti (x). 2 i=1

Ako je f C[1, 1] tada razvoj (7.11.1) konvergira, u smislu da je


1 n 1

lim

1 f (x) fn (x) 1 x2

dx = 0.

Za uniformnu konvergenciju, moemo pokazati dosta jak rezultat z n (f ) f fn

4+

4 ln n n (f ). 2

Kako se ponaa greka odbacivanja reda? Ako se prisjetimo da je s s Tn (x) = cos n, onda se moe pokazati da vrijedi z f (x) fn (x) =
i=n+1

x = cos ,

ci Ti (x) cn+1 Tn+1 (x) = cn+1 cos(n + 1),

ako je cn+1 = 0 i ako koecijenti ci brzo konvergiraju k 0. Iz denicije Tn+1 izlazi |Tn+1 (x)| = | cos(n + 1)| 1, 1 x 1.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 435

Nultoke i ekstreme polinoma Tn+1 nije teko izraunati. Nultoke pripadnog c s c c kosinusa su na odgovarajuem intervalu su c (n + 1)j = pa su nultoke Tn+1 jednake c xj = cos (2j + 1) , 2(n + 1) j = 0, . . . , n. (2j + 1) , 2 j = 0, . . . , n,

S druge strane, lokalni ekstremi se postiu kad je z (n + 1)k = k, pa su ekstremi Tn+1 jednaki xk = cos Drugim rijeima, vrijedi c Tn+1 (xk ) = (1)k , k = 0, . . . , n + 1. k , (n + 1) k = 0, . . . , n + 1. k = 0, . . . , n + 1,

Primijetite da tih ekstrema ima tono n + 2 i da alterniraju po znaku. Ako to c iskoristimo za funkciju cn+1 Tn+1 , onda je jasno da ona ima n + 2 lokalna ekstrema s jednakih amplituda. Po Cebievljevom teoremu o oscilaciji greaka, odatle odmah s izlazi da je fn skoro minimaks aproksimacija za f (ovo skoro minimaks potjee od c toga to je greka odbacivanja lanova reda priblino jednaka cn+1 Tn+1 ). s s c z s Postoji jo jedan razlog zato se koristi razvoj po Cebievljevim polinomima. s s Vrijedi sljedei teorem. c Teorem 7.11.1 Za ksni prirodni broj n, promatrajmo minimizacijski problem n =
deg(P )n1 1x1

inf

( max |xn + P (x)|),

z gdje je P polinom. Minimum n se dostie samo za xn + P (x) = Pripadna pogreka je s n = 1 2n1 . 1 2n1 Tn (x).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 436

Dokaz. Iz trolane rekurzije, nije teko induktivno dokazati da je vodei koecijent c s c Tn jednak c z Tn (x) = 2n1xn + lanovi nieg stupnja, n 1. Zbog toga vrijedi da je 1 2n1 Budui da su toke c c xk = cos lokalni ekstremi od Tn , u kojima je Tn (xk ) = (1)k , i 1 = xn < xn1 < < x1 < x0 = 1. Polinom ima vodei koecijent 1 i vrijedi c
1x1

Tn (x) = xn + lanovi nieg stupnja. c z k , n

j = 0, . . . , n,

k = 0, . . . , n

1 2n1 1

Tn

max

T = n1 n 1 2n1 1 2n1

1 2n1

Zbog toga je n .

s Pokaimo da je n ba jednak desnoj strani. Pretpostavimo suprotno, tj. da je z n < .

Pokazat emo da to vodi na kontradikciju. Denicija n i prethodna pretpostavka c pokazuju da postoji polinom M takav da je M(x) = xn + P (x), gdje je n max |M(x)| <
1x1

deg(P ) n 1, 1 2n1

(7.11.2)

Deniramo R(x) =

1 2n1

Tn (x) M(x).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 437

Tvrdimo da e se vodei koecijenti funkcija s desne strane skratiti, pa je deg(R) c c n1. Ispitajmo vrijednosti funkcije R u lokalnim ekstremima funkcije Tn . Iz (7.11.2) redom, izlazi 1 R(x0 ) = R(1) = n1 M(1) > 0 2 1 R(x1 ) = n1 M(x1 ) < 0, . . . 2 Tj. za polinom R vrijedi sign(R(xk )) = (1)k . Budui da ima bar n + 1 razliiti predznak, to mora postojati bar n nultoaka, to c c c s je mogue damo ako je R = 0. Odatle odmah izlazi da je c 1 M(x) = n1 Tn (x). 2 Sad bi jo trebalo pokazati da je to jedini polinom s takvim svojstvom. Taj s dio dokaza vrlo je slian ovom to je ve dokazano. c s c

7.12.

Interpolacija u Cebievljevim tokama s c

Ako se prisjetimo problema interpolacije, onda znamo da je greka interpolas cionog polinoma stupnja n jednaka f (x) pn (x) = (x x0 ) (x xn ) (n+1) f (). (n + 1)!

Vrijednost (n+1)-ve derivacije ovisi o tokama interpolacije, ali nije jednostavno rei c c kako. Ipak, ono to moemo kontrolirati je izbor toaka interpolacije. Pretpostavimo s z c da interpoliramo funkciju na intervalu [1, 1]. Ako na interval nije [1, 1], nego s [a, b], onda ga linearnom transformacijom y = cx + d moemo svesti na zadani interval. Dakle izaberimo toke interpolacije xj [1, 1] z c tako da minimiziraju max |(x x0 ) (x xn )|.
1x1

Polinom u prethodnoj relaciji je stupnja n+1 i ima vodei koecijent 1. Po Teoremu c 7.11.1, minimum emo dobiti ako stavimo c 1 (x x0 ) (x xn ) = n Tn+1 (x), 2 n c c a minimalna e vrijednost biti 1/2 . Odatle odmah itamo da su vorovi x0 , . . . xn c nultoke polinoma Tn+1 , a njih smo ve izraunali da su jednake c c c xj = cos (2j + 1) , 2n + 2 j = 0, . . . , n.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 438

7.13.

Cebievljeva ekonomizacija s

s Cebievljevi polinomi mogu se koristiti za smanjivanje stupnja interpolacionog polinoma, uz minimalni gubitak tonosti. Takav postupak zove se ekonomizacija. c Pretpostavimo da je zadan proizvoljni polinom stupnja n pn (x) = an xn + an1 xn1 + + a1 x + a0 . na intervalu [1, 1]. Taj polinom elimo zamijeniti polinomom stupnja za jedan z manjeg tako da je greka koja je pritom nastala minimalna mogua s c
x[1,1]

max |pn (x) pn1 (x)| min .

Rjeenje problema se nee promijeniti ako normiramo vodei koecijent na 1, s c c tj. ako traimo z 1 (pn (x) pn1 (x)) min . max x[1,1] an Prema Teoremu 7.11.1 o minimalnom otklanjanju od polinoma xn , izlazi da mora biti 1 1 (pn (x) pn1 (x)) n1 , max x[1,1] an 2 s tim da jednakost vrijedi kad je 1 1 (pn (x) pn1 (x)) = n1 Tn (x). an 2 Drugim rijeima, izbor pn1 (x) je c pn1 (x) = pn (x) an Tn (x), 2n1 |an | 1 (pn (x) pn1 (x)) = n1 . an 2

a s tim izborom je maksimalna greka jednaka s max |pn (x) pn1 (x)| = |an | max

x[1,1]

x[1,1]

Primjer 7.13.1 Funkciju f (x) = ex aproksimiramo na intervalu [1, 1] Taylorovim polinomom oko 0 stupnja etiri c p4 (x) = 1 + x + Greka odbacivanja tog polinoma je s |R4 (x)| M5 5 |x |, 5! M5 = max |f (5) (x)|.
x[1,1]

x2 x3 x4 + + . 2 6 24

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 439

Odmah se vidi da je M5 = e, pa je greka odbacivanja s |R4 (x)| e 5 e |x | 0.023, 120 120

za 1 x 1. Pretpostavimo da moemo tolerirati greku 0.05, pa pokuajmo z s s spustiti stupanj polinoma. Nije teko nai T4 , recimo iz rekurzije s c T4 (x) = 8x4 8x2 + 1. Pokazali smo da mora biti p3 (x) = p4 (x) 1 a4 x2 x3 x4 + + (8x4 8x2 + 1) T4 (x) = 1 + x + 41 2 2 6 24 8 24 191 1 13 = + x + x2 + x3 . 192 24 6

Tim sniavanjem stupnja, napravljena je greka z s |p4 (x) p3 (x)| 1 1 0.0053. = 3 24 2 192

Pribrojimo li tu greku greci odbacivanja, onda je ukupna greka manja ili jednaka s s s 0.023 + 0.0053 = 0.0283, to je prema uvjetima zadatka dozvoljiva greka. s s Naravno, stupanj polinoma p3 moemo pokuati jo smanjiti. Budui da je z s s c T3 (x) = 4x3 3x, dobivamo p2 (x) = p3 (x) 13 a3 191 1 1 + x + x2 + x3 (4x3 3x) T (x) = 31 3 2 192 24 6 46 191 9 13 = + x + x2 . 192 8 24

Pritom je napravljena greka s |p3 (x) p2 (x)| = 1 1 = 0.042. 64 24

Dodamo li tu greku na ve akumuliranu greku 0.0283, onda je ukupna greka s c s s 0.0283 + 0.042 > 0.05, to je bila dozvoljena tolerancija. s Postoji jo jedan nain ekonomizacije. Znamo da se funkcije mogu razviti u s c sevljevim polinomima oblika red po Cebi
1 f (x) = c0 + ck Tk (x), 2 k=1

|x| 1,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 440

s a koecijenti u razvoju su integrali koji u sebi sadre f , Cebievljev polinom i z s teinsku funkciju za Cebievljeve polinome. Koecijente ck u ovom razvoju moemo, z z i to relativno brzo, numeriki izraunati, koristei algoritme na bazi diskretne orc c c s togonalnosti Cebievljevih polinoma. Taj postupak opisujemo u sljedeem odjeljku. c S druge strane, ako znamo (ili lako raunamo) koecijente am u redu potencija c

f (x) =
m=0

am xm ,

s onda potencije xm moemo razviti po Cebievljevim polinomima, pa nakon toga z primijeniti postupak ekonomizacije (odbacivanjem lanova) da dobijemo ravnomc jernije ponaanje pogreke. s s Moe se pokazati da vrijedi z
[n/2]

(2x) = 2
k=1

n Tn2k (x), k

pri emu je c 1/2 za k = n/2, 1 inae. c Taj razvoj napisan posebno za parne, a posebno za neparne potencije je
k

(2x)

2m

m 2m 2m = +2 T2k (x) m k=1 m k m

(2x)2m+1 = 2
k=0

2m + 1 T2k+1 (x). mk

Ako za polinomnu aproksimaciju uzmemo polinom stupnja n, uvrtavanjem s sevljevim polinomima dobivamo razvoja po Cebi
n

fn (x) =
m=0

am xm =

n b0 + bm Tm (x), 2 m=1

gdje su koecijenti
2in

b2k = 2
i=k

2i a2i , i k 22i

2i+1n

b2k+1 = 2
i=k

2i + 1 a2i+1 . i k 22i

Vrlo se esto dogada da su jedan ili nekoliko posljednjih koecijenata bm maleni, pa c odbacivanje posljednjih lanova bitno ne smanjuje tonost aproksimacije. Drugim c c rijeima, smanjili smo stupanj aproksimacije. Takvo smanjivanje stupnja zove se i c relaksacija stupnja aproksimacije.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 441

7.14.

Diskretne ortogonalnosti polinoma Tn

s Budui da su Cebievljevi polinomi kosinusi, onda oni zadovoljavaju diskretne c relacije ortogonalnosti vrlo sline onima koje zadovoljavaju trigonometrijske funkcic je. c s Neka su x nultoke Cebievljevog polinoma Tn , tj. neka je Tn (x ) = cos(n ) = 0. Nije teko izraunati da je tada s c x = cos( ), = (2 + 1) , 2n
n1

= 0, . . . , n 1.

s Za Cebievljeve polinome, u nultokama vrijede sljedee relacije ortogonalnosti c c


n1

Uj,k =
=0

Tj (x )Tk (x ) =
=0

cos j cos k ,

gdje je Uj,k =

j, k < n, j = k, n/2 j = k, 0 < j < n, n j = k = 0.

s Sada moemo funkciju razviti po Cebievljevim polinomima koristei prethodz c nu relaciju diskretne ortogonalnosti. Moe se pokazati da vrijedi sljedei teorem. z c Teorem 7.14.1 Neka je fn (x) aproksimacija za f (x), fn (cos ) = ili fn (x) = Tada je dk = 2 n1 2 n1 f (cos ) cos k = f (x )Tk (x ). n =0 n =0 d0 n1 + dk Tk (x). 2 k=1 (7.14.1) d0 n1 + dk cos k, 2 k=1

Pretpostavimo da je f neprekidna na [1, 1], osim najvie u konano mnogo toaka, s c c gdje ima ograniene skokove. Tada se f moe razviti u konvergentan red oblika c z f (x) = gdje je 2 ck =
1 c0 + ck Tk (x), 2 k=1

(7.14.2)

f (x)Tk (x) 2 dx = 2 1x

f (cos ) cos k d.
0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 442

Osim toga, postoji veza izmedu koecijenata u diskretnom i kontinuiranom razvoju:

d 0 = c0 + 2 d k = ck +

(1)r c2rn

r=1 r=1

(1)r c2rnk +

(1)r c2rn+k ,

k = 1, . . . , n 1.

r=1

Sljedei teorem govori o grekama koje smo napravili aproksimacijom fn obzic s rom na f . Teorem 7.14.2 Neka je
n (x)

= f (x) fn (x),
n

pri emu su fn i f zadani s (7.14.1) i (7.14.2). Za greku c s


2n1 n (cos ) = cos n cn + 2 r=1

tada vrijedi

cn+r cos r + c3n cos 2n


2n1

sin 2n c3n sin n + 2

c3n+r r=1 2n1


r=1

sin(n + r) + c5n sin 3n

+ cos 3n c5n cos 2n + 2 odnosno, priblino z


n (cos )

c5n+r cos(2n + r) + c7n cos 4n ,

cn cos n 1 +
n (cos )

2cn+1 cos . cn

Posebno, vrijedi = 0. Iz prethodnih teorema uoavamo da x lee u unutranjosti intervala. U c z s mnogim je primjenama je korisno dozvoliti aproksimaciju i u rubnim tokama 1 i c tokama koje lee u sredini medu . Primijetite da su to ekstremi odgovarajueg c z c s Cebievljevog polinoma. Sada moemo napraviti slian niz tvrdnji kao za diskretnu z c ortogonalnost u nultokama. c s Neka su x ekstremi Cebievljevog polinoma Tn , tj. neka je x = cos( ), = , n = 0, . . . , n.

s Za Cebievljeve polinome, u ekstremima vrijede sljedee relacije ortogonalnosti c Vj,k


n1 1 = (Tj (x0 )Tk (x0 ) + Tj (xn )Tk (xn )) + Tj (x )Tk (x ) 2 =1 n1 1 = ( cos j0 cos k0 + cos jn cos kn ) + cos j cos k , 2 =1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 443

gdje je Vj,k

j, k < n, j = k, = n/2 j = k, 0 < j < n, n j = k = 0 ili j = k = n.

s Sada moemo funkciju razviti po Cebievljevim polinomima koristei prethodz c nu relaciju diskretne ortogonalnosti. Moe se pokazati da vrijedi sljedei teorem. z c Teorem 7.14.3 Neka je fn (x) aproksimacija za f (x), fn (cos ) = ili fn (x) = Tada je ek = = 2 f (1) + (1)k f (1) n1 f (cos ) cos k + n 2 =1 2 f (1) + (1)k f (1) n1 + f (x )Tk (x ) . n 2 =1 e0 n1 en + ek Tk (x) + Tn (x). 2 2 k=1 (7.14.3) e0 n1 en + cos n, ek cos k + 2 2 k=1

Osim toga, postoji veza izmedu koecijenata u diskretnom i kontinuiranom razvoju:

e0 = c0 + 2 en = 2cn + 2

c2rn
r=1

c(2r+1)n
r=1

ek = ck +
r=1

c2rnk +
r=1

c2rn+k ,

k = 1, . . . , n 1.

Sljedei teorem govori o grekama koje smo napravili aproksimacijom fn obzic s rom na f . Teorem 7.14.4 Neka je n (x) = f (x) fn (x), s pri emu su fn i f zadani s (7.14.3) i (7.14.2). Za greku n tada vrijedi c n (cos ) = 2 sin n odnosno, priblino z n (cos ) 2 sin n sin cn+1 1 + 2cn+2 cos . cn+1

cn+r sin r
r=1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 444

Posebno, vrijedi n (cos ) = 0. Ako se ck iz razvoja f integrira po trapeznoj formuli (vidjeti kasnije), onda se takvom aproksimacijom dobivaju koecijenti ek . I dk su koecijenti koji se dobivaju priblinom integracijom ck (modiciranom trapeznom formulom, odnosno, tzv. z midpoint pravilom).

7.15.

Thieleova racionalna interpolacija

Racionalne funkcije bolje aproksimiraju funkcije koje imaju singularitete, nego to to mogu polinomi. Jasno je da polinomi ne mogu dobro aproksimirati funkciju s u okolini toke prekida, jer ih oni sami nemaju. c Prvo, denirajmo reciprone razlike, a zatim verini razlomak koji e interc z c polirati funkciju f u tokama x1 , . . . , xn (ovdje su indeksi od 1, a ne od 0). c Reciprone razlika nultog i prvog reda deniraju se redom kao c 0 (x0 ) = f (x0 ), a one viih redova rekurzivno kao s k (x0 , . . . , xk ) = x0 xk +k2 (x1 , . . . , xk1 ), k1 (x0 , . . . , xk1 ) k1 (x1 , . . . , xk ) k 2. 1 (x0 , x1 ) = x0 x1 , f (x0 ) f (x1 )

Za raunanje recipronih razlika obino se koristi tablica vrlo slina onoj za c c c c podijeljene razlike. Kao to emo to pokazati kasnije, algoritam koji e koristiti s c c reciprone razlike numerirat e toke indeksima od 1 do n (zbog toga u tablici c c c nema x0 ). xk x1 x2 . . . xn1 xn f (xk ) f (x1 ) 1 (x1 , x2 ) f (x2 ) . . . f (xn1 ) 1 (xn1 , xn ) f (xn ) 1 (x1 , x2 ) . . . 1 (xn2 , xn1 ) 2 (xn2 , xn1 , xn ) 2 (x1 , x2 , x3 ) .. . . . .. . . n1 (x1 , . . . , xn ) 1 (xk , xk+1 ) 2 (xk , xk+1 , xk+2 ) n1 (x1 , . . . , xn )

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 445

Uz reciprone razlike, esto se deniraju i inverzne razlike c c 0 (x0 ) = f (x0 ), odnosno k (x0 , . . . , xk ) = xk xk1 , k1(x0 , . . . , xk2 , xk ) k1(x0 , . . . , xk2 , xk1 ) k 2. 1 (x0 , x1 ) = x1 x0 , 0 (x1 ) 0 (x0 )

c s Postoji i veza izmedu inverznih i recipronih razlika. Nije teko pokazati da vrijedi 0 (x0 ) = 0 (x0 ), 1 (x0 , x1 ) = 1 (x0 , x1 ), odnosno za k 2 k (x0 , . . . , xk ) = k (x0 , . . . , xk ) k2 (x0 , . . . , xk2 ). Pokaimo da vrijedi jedan vaan identitet iz kojeg emo izvesti Thieleovu forz z c mulu. Prvo, u formuli za reciprone razlike uzmemo x0 kao varijablu i oznaimo je c c s x. Tvrdimo da je f (x) = f (x1 ) + x x2 x x1 x xn1 1 (x1 , x2 )+ 2 (x1 , x2 , x3 )+ n1 (x1 , . . . , xn )+ x xn (7.15.1) . n (x, x1 , . . . , xn ) n2 (x1 , . . . , xn1 ) x x1 f (x) f (x1 ) x x1 . 1 (x, x1 ) (7.15.2)

Iz 1 (x, x1 ) = slijedi da je

f (x) = f (x1 ) + Zatim, iz formule 2 (x, x1 , x2 ) = slijedi da je 1 (x, x1 ) = 1 (x1 , x2 ) +

x x2 + 0 (x1 ) 1 (x, x1 ) 1 (x1 , x2 ) x x2 . 2 (x, x1 , x2 ) 0 (x1 )

Uvrtavanjem tog izraza u (7.15.2) dobivamo s f (x) = f (x1 ) + x x1 . x x2 1 (x1 , x2 ) + 2 (x, x1 , x2 ) 0 (x1 ) (7.15.3)

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 446

Konano, formulu (7.15.1) dobivamo indukcijom po n, uz koritenje denicije inc s verznih razlika. Pokaimo jo jednu zanimljivu injenicu vezanu uz formulu (7.15.1). Ako z s c izbriemo zadnji lan, onda e za racionalnu funkciju (verini razlomak) s c c z R(x) = f (x1 ) + vrijediti R(xi ) = f (xi ), i = 1, . . . , n. c To se odmah vidi iz (7.15.1), ako krenemo od xn , jer je lan x xn n (x, x1 , . . . , xn ) n2 (x1 , . . . , xn1 ) (7.15.5) x x1 x xn1 x x2 + (x , x , x )+ 1 (x1 , x2 ) n1 (x1 , . . . , xn ) 2 1 2 3 (7.15.4)

jednak 0 za x = xn , pa je R(xn ) = f (xn ). Nakon toga, gledamo R(xn1 ) i f (xn1 ). Oni su za jednu verigu krai i to za onu verigu koja sadri lan razlike (7.15.5). c z c U svakoj daljnjoj toki xn2 , . . . , x1 , verini je razlomak krai za jednu verigu od c z c prethodne. Formula (7.15.4) zove se Thielova interpolaciona formula. Pokaimo na nekoz liko primjera koliko je dobra ta interpolacija. Primjer 7.15.1 Aproksimirajte tg 1.565 koritenjem Thieleove interpolacione formule, ako znamo vrijednosti funkcije tg u s tokama c xi = 1.53 + 0.01 i, i = 0, . . . , 4. Prvo izraunajmo reciprone razlike. c c xk 1.53 1.54 1.55 1.56 1.57 f (xk ) 24.49841 0.001255851 32.46114 0.000640314 48.07848 0.000224507 92.62050 0.000008597 1255.76557 0.0106889 0.0207583 2.97955 0.0308670 2.96838 3.56026 1 2 3 4

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 447

Thielova interpolacija daje R(x) = 24.49841 + x 1.54 x 1.55 x 1.56 x 1.53 . + 24.5293+ 2.96713+ 3.59113 0.001255851

Uvrtavanjem 1.565 dobivamo s R(1.565) = 172.5208, dok je prava vrijednost tg(1.565) = 172.5211. I sumacija redova moe se znatno ubrzati koritenjem racionalne ekstrapolacije. z s Pretpostavimo da treba izraunati c

S=
n=0

an .

Oznaimo s SN , N-tu parcijalnu sumu reda c


N

SN =
n=0

an .

z Ove vrijednosti SN moemo interpretirati kao vrijednosti neke funkcije f u tokama N, ili u nekim drugim tokama, na primjer, u tokama 1/N, c c c SN = f Oito je da vrijedi c S = S = f (0). Ideja je f (0) izraunati kao ekstrapoliranu vrijednost od c f (1), f ili za neke vie N, iz s f 1 1 ,f ,..., N1 N2 N1 < N2 < 1 1 ,f ,..., 2 3 1 . N

Primjer 7.15.2 Treba izraunati c S= koritenjem racionalne ekstrapolacije. s 1 , 2 n=1 n

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 448

Uzet emo N = 1, 2, 4, 8, 16 i izraunati c c Sn = 1 . 2 n=1 n


N

Shvatimo li to kao funkciju od x = 1/N i oznaimo S(x) = SN , onda moemo c z formirati tablicu recipronih razlika. c x S(x) 1 2 3 4

1 1.584346533 16 1 8 1 4 1 2 1 1.527422052

1.097945891 0.238678243 1.204112002 4.826059143 0.166126405 1.44 9.947195880 0.089285214 2 0.016938420

1.423611111 1.25 1 Thielova interpolacija daje

1 1 1 1 x x x 16 8 4 2 . R(x) = 1.584346533 + + 1.823024776+ 5.924005034+ 0.255616663 1.097945891 x Uvrtavanjem 0 dobivamo s R(0) = 1.644927974, dok je prava vrijednost 2 = 1.644934067. 6 Zanimljivo je spomenuti to se dobije ako samo zbrajamo lanove reda i ne eks c strapoliramo. Vidjet emo da taj red vrlo sporo konvergira. Na primjer, dobivamo c S = S3000 = 1.644601, S30000 = 1.644901, S10000 = 1.644834, S100000 = 1.644924.

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 449

8. Rjeavanje s nelinearnih jednadbi z


8.1. Openito o iterativnim metodama c

Raunanje nultoaka nelinearnih funkcija jedan je od najeih zadataka pric c c sc mijenjene matematike. Openito, neka je zadana funkcija c f : I R, gdje je I neki interval. Traimo sve one x I za koje je z f (x) = 0. Takve toke x zovu se rjeenja, korijeni pripadne jednadbe ili nultoke funkcije f . c s z c U pravilu, pretpostavljamo da je f neprekidna na I i da su joj nultoke c izolirane. U protivnom postojao bi problem konvergencije.
y y

Traenje nultoki na zadanu tonost sastoji se od dvije faze. z c c

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 450

1. Izolacije jedne ili vie nultoki, tj. nalaenje intervala I unutar kojeg se nalazi s c z bar jedna nultoka. Ovo je tei dio posla i obavlja se na temelju analize toka c z funkcije. 2. Iterativno nalaenje nultoke na traenu tonost. z c z c Postoji mnogo metoda za nalaenje nultoaka nelinearnih funkcija na zadanu z c tonost. One se bitno razlikuju po tome hoe li uvijek konvergirati, tj. imamo li c c sigurnu konvergenciju ili ne i po brzini konvergencije. Uobiajen je sluaj da brze c c metode nemaju sigurnu konvergenciju, dok je sporije metode imaju. Brzina konvergencije se denira pomou reda konvergencije metode. c c Denicija 8.1.1 Niz iteracija (xn , n N0 ) konvergira prema toki s redom konvergencije p, p 1 ako vrijedi | xn | c | xn1 |p , nN (8.1.1)

za neki c > 0. Ako je p = 1, kaemo da niz konvergira linearno prema . U tom z sluaju je nuno da je c < 1 i obino se c naziva faktor linearne konvergencije. c z c Relacija (8.1.1) katkad nije zgodna za linearne iterativne algoritme. Ako za sluaj p = 1 i c < 1 u (8.1.1), upotrijebimo indukciju po n, onda dobivamo da je c | xn | cn | x0 |, n N. (8.1.2)

Katkad e biti mnogo lake pokazati (8.1.2) nego (8.1.1). I u sluaju (8.1.2), rei c s c c emo da niz iteracija konvergira linearno s faktorom c. c

8.2.

Metoda raspolavljanja (bisekcije)

Najjednostavnija metoda nalaenja nultoaka funkcije je metoda raspolavljaz c nja. Ona funkcionira za neprekidne funkcije, ali zbog toga ima i najloiju ocjenu s pogreke. s Osnovna pretpostavka za primjenu algoritma raspolavljanja je neprekidnost funkcije f na intervalu [a, b] i uvjet f (a) f (b) < 0.

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 451

Prethodna relacija znai da funkcija f ima na intervalu [a, b] barem jednu nultoku. c c
y y

a b x

a b x

S druge strane, ako je f (a) f (b) > 0, to ne mora znaiti da f nema unutar [a, b] nultoku. Na primjer, moglo se dogoditi c c da smo loe separirali nultoke i da f ima unutar [a, b] paran broj (brojei ih s s c c viestrukostima) nultoaka, ili nultoku parnog reda. s c c
y y

b x

b x

Dok je za prvi primjer s prethodne slike boljom separacijom nultoki lako c postii f (a) f (b) < 0, za drugi je primjer to nemogue! Dakle, nultoke parnog c c c reda nemogue je nai metodom bisekcije. c c Ako vrijede polazne pretpostavke, metoda raspolavljanja (bez dodatnih uvjeta) konvergirat e prema nekoj nultoki iz intervala [a, b]. c c Algoritam raspolavljanja je vrlo jednostavan. Oznaimo s pravu nultoku c c funkcije, a zatim s a0 := a, b0 := b i x0 polovite [a0 , b0 ], tj. s a0 + b0 . 2 Neka je n 1. U n-tom koraku algoritma konstruiramo interval [an , bn ] kojemu je duljina polovina duljine prethodnog intervala, ali tako da je nultoka ostala unutar c intervala [an , bn ]. x0 =

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 452

Konstrukcija intervala [an , bn ] sastoji se u raspolavljanju intervala [an1 , bn1 ] tokom xn1 i to tako da je c an = xn1 , bn = bn1 an = an1 , bn = xn1 Postupak zaustavljamo kad je | xn | . Kako emo znati da je prethodna relacija ispunjena ako ne znamo ? Jednostavno, c budui da je xn polovite intervala [an , bn ], a [an , bn ], onda je c s | xn | bn xn , pa je dovoljno postaviti zahtjev bn xn . Graki, metoda raspolavljanja izgleda ovako c
y

ako je f (an1 ) f (xn1 ) > 0, ako je f (an1 ) f (xn1 ) < 0.

x0 x1 b x

Napiimo algoritam za metodu raspolavljanja. s Algoritam 8.2.1 (Metoda raspolavljanja) x := (a + b)/2; while b x > do begin; if f (x) f (b) < 0.0 then a := x else b := x; x := (a + b)/2; end; { Na kraju je x . }

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 453

Iz konstrukcije metode lako se izvodi pogreka n-te aproksimacije nultoke. s c Vrijedi | xn | bn xn = Primijetite da je 1 1 1 (bn an ) = 2 (bn1 an1 ) = = n+1 (b a). (8.2.1) 2 2 2

ba = b x0 , 2 pa bismo relaciju (8.2.1) mogli pisati kao | xn | 1 (b x0 ). 2n

Ova relacija podsjea na (8.1.2), ali zdesna se nigdje ne pojavljuje | x0 |. Ipak c desna strana daje nam naslutiti da e konvergencija biti dosta spora. c Relacija (8.2.1) omoguava da unaprijed odredimo koliko je koraka raspolavc ljanja potrebno da bismo postigli tonost . Da bismo postigli da je | xn | , c dovoljno je zahtijevati 1 (b a) . n+1 2 Zadnja nejednakost je ekvivalentna s ba 2n+1 , a zatim logaritmiranjem nejednakosti dobivamo log(b a) log (n + 1) log 2, odnosno log(b a) log 1, n N0 . n log 2 Ako je funkcija f jo i klase C 1 [a, b], tj. ako f ima i neprekidnu prvu derivaciju, s moe se dobiti dinamika ocjena za udaljenost aproksimacije nultoke od prave z c c nultoke. c Po Teoremu srednje vrijednosti za funkciju f imamo f (xn ) = f () + f ()(xn ), c pri emu je izmedu xn i . Prvo iskoristimo da je nultoka, tj. f () = 0, a zatim c uzmemo apsolutne vrijednosti obje strane. Dobivamo |f (xn )| = |f ()| | xn |, odakle slijedi | xn | = |f (xn )| . |f ()|

(8.2.2)

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 454

Znamo da je u intervalu [an , bn ]. Pretpostavimo da moemo ocijeniti z |f ()| m1 , m1 = min |f (x)|.


x[a,b]

s Ako je m1 > 0, uvrtavanjem prethodne ocjene u (8.2.2), izlazi |f (xn )| . m1 Drugim rijeima, ako elimo da je | xn | , dovoljno je zahtijevati c z | xn | |f (xn )| , m1 odnosno |f (xn )| m1 .

8.3.

Regula falsi (metoda pogrenog poloaja) s z

U prethodnom poglavlju opisali smo metodu raspolavljanja, koja ima sigurnu konvergenciju, ali je vrlo spora. Prirodan je pokuaj ubrzavanja te metode je regula s falsi . Konstruirat emo metodu koja e, ponovno biti konvergentna, im se nultoka c c c c nalazi unutar [a, b]. Pretpostavimo da je funkcija f : [a, b] R neprekidna na [a, b] i da vrijedi f (a) f (b) < 0. Aproksimirajmo funkciju f pravcem koji prolazi tokama (a, f (a)), (b, f (b)). c Njegova je jednadba z f (b) f (a) f (a) f (b) (x b), odnosno y f (a) = (x a). y f (b) = ab ba Nultoku funkcije f moemo aproksimirati nultokom tog pravca, tokom x0 . c z c c c Nakon toga, pomaknemo ili toku a ili toku b u x0 , ali tako da nultoka osc c tane unutar novodobivenog intervala. Postupak ponavljamo sve dok ne postignemo eljenu tonost. z c
y

x0

x1 b x

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 455

Toka x0 dobiva se jednostavno iz jednadbe pravca, pa je c z x0 = b f (b) ili drugaije zapisano c x0 = b gdje je f (b) f (a) =a , f [a, b] f [a, b] (8.3.1) ab ba = a f (a) , f (b) f (a) f (a) f (b)

f (b) f (a) , ba prva podijeljena razlika (vidi primjer 1.1.4). f [a, b] = Postoji nekoliko ozbiljnih problema s ovom metodom, iako je aproksimacija pravcem i zatvaranje nultoke u odredeni interval sasvim dobra ideja. c Izvedimo red konvergencije metode. Iskoristimo relaciju (8.3.1) za x0 , pomnoimo je s 1 i dodajmo na obje strane. Dobivamo z x0 = b + f (b) f (b) = ( b) 1 + f [a, b] ( b)f [a, b] f (b) f () f [b, ] = ( b) 1 + = ( b) 1 + (b ) ( b)f [a, b] ( b)f [a, b] f [b, ] f [a, b] f [b, ] = ( b) 1 = ( b) f [a, b] f [a, b] f [a, b, ] , = ( b) ( a) f [a, b]

pri emu je po deniciji f [a, b, ] druga podijeljena razlika (vidi primjer 1.1.4) c f [a, b, ] = f [b, ] f [a, b] . a

Ako je f klase C 1 [a, b], onda po teoremu 1.1.2 srednje vrijednosti imamo f [a, b] = f (), [a, b].

Na slian nain, ako je f klase C 2 [a, b], imamo c c f [a, b, ] = 1 f (), 2

gdje se nalazi izmedu minimima i maksimuma vrijednosti a, b, . Iskoristimo li c te dvije relacije, za funkcije klase C 2 [a, b] dobivamo sljedeu ocjenu x0 = ( b) ( a) f () . 2f () (8.3.2)

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 456

Da bismo pojednostavnili analizu, pretpostavimo da je f () = 0 i je jedini korijen unutar [a, b]. Takoder, pretpostavimo da je f (a) 0 za sve x [a, b]. Razlikujemo dva sluaja: c Sluaj f (x) > 0. c U tom je sluaju f konveksna rastua funkcija, a spojnica toaka (a, f (a)) i c c c (b, f (b)) se uvijek nalazi iznad funkcije f . Uvrtavanjem podataka o prvoj i drugoj s derivaciji u (8.3.2), dobivamo da je desna strana (8.3.2) vea od 0, tj. > x0 , pa e c c se u sljedeem koraku pomaknuti a. Isto e se dogoditi u svim narednim koracima. c c Drugim rijeima, neprestano ostaje desno od aproksimacija xn . Promatramo li c (8.3.2), to znai da je b ksan, pa za proizvoljnu iteraciju xn dobivamo c xn = ( b) ( an ) f (n ) . 2f (n )

Uzimanjem apsolutnih vrijednosti zdesna i slijeva, slijedi da je u tom sluaju konc vergencija regule falsi linearna. Pogled na slinu ocjenu za metodu bisekcije, odmah kae da ne bi trebalo biti c z preteko konstruirati primjere kad je metoda bisekcije bra no regula falsi . s z Sluaj f (x) < 0. c U ovom sluaju je aproksimacija nultoke uvijek desno od , a uvijek se pomie c c c b. Analiza ovog sluaja vrlo je slina prethodnoj. c c

8.4.

Metoda sekante

Ako graf funkcije f aproksimiramo sekantom, slino kao kod regule falsi , samo c ne zahtijevamo da nultoka funkcije f ostane zatvorena unutar posljednje dvije c iteracije, dobili smo metodu sekante. Time smo izgubili svojstvo sigurne konvergencije, ali se nadamo da e metoda, kad konvergira konvergirati bre nego regula c z falsi . Poinjemo s dvije poetne toke x0 i x1 i povlaimo sekantu kroz (x0 , f (x0 )), c c c c c c c (x1 , f (x1 )). Ta sekanta sijee os x u toki x2 . Postupak nastavljamo povlaenjem sekante kroz posljednje dvije toke (x1 , f (x1 )) i (x2 , f (x2 )). Formule za metodu c sekante dobivaju se iteriranjem poetne formule za regulu falsi , tako da dobivamo c xn+1 = xn f (xn ) xn xn1 . f (xn ) f (xn1 ) (8.4.1)

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 457

Graki to izgleda ovako. c


y

x1

x2 x0

x3 x

Primijetite da je tree iteracija izala izvan poetnog intervala, pa metoda sekante c s c ne mora konvergirati. Jednako tako, da smo prirodno numerirali prve dvije toke, c s tako da je x0 < x1 , imali bismo konvergenciju prema rjeenju. Iskoristimo li ocjenu (8.3.2) za svaki n, dobit emo red konvergencije metode c sekante, uz odgovarajue pretpostavke. Imamo c xn+1 = ( xn ) ( xn1 ) f (n ) . 2f (n ) (8.4.2)

Teorem 8.4.1 Neka su f , f i f neprekidne za sve x u nekom intervalu koji sadri z jednostruku nultoku . Primijetite da jednostrukost nultoke osigurava f () = 0. c c Ako su poetne aproksimacije x0 i x1 izabrane dovoljno blizu , niz iteracija xn c konvergirat e prema s redom konvergencije p, gdje je c 1+ 5 1.618. p= 2 Dokaz. Budui da je nultoka jednostruka, postoji okolina I = [ , + ], > 0 c c nultoke , takva da je u njoj f (x) = 0. Tada je dobro deniran broj c max |f (x)| M=
xI

2 min |f (x)|
xI

Zbog relacije (8.4.2), za sve x0 , x1 I vrijedi | x2 | | x1 | | x0 | M. Da bismo skratili zapis, neka je en = xn

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 458

greka n-te iteracije (aproksimacije nultoke). Mnoenjem prethodne nejednakosti s c z s M dobivamo M|e2 | M|e1 | M|e0 |. Nadalje, pretpostavimo da su x0 i x1 izabrani toliko blizu nultoke da vrijedi c = max{M|e0 |, M|e1 |} < 1. Odatle odmah slijedi M|e2 | 2 < , pa je |e2 | < odnosno x2 [ , + ] = I. Primijenimo li induktivno taj argument, dobivamo M|e3 | M|e2 |M|e1 | 2 = 3 M|e4 | M|e3 |M|e2 | 5 . Openito, ako je c M|en1 | qn1 , onda je M|en+1 | M|en |M|en1 | qn +qn1 = qn+1 . Dakle, niz qn je deniran rekurzijom qn+1 = qn + qn1 , n 1, M|en | qn , = max{|e0 |, |e1 |} , M

s poetnim uvjetima q0 = q1 = 1. Prethodna rekurzija je rekurzija za Fibonacc cijeve brojeve, pa se lako izraunava njeno eksplicitno rjeenje. Ono zadovoljava c s diferencijsku jednadbu z qn+1 qn qn1 = 0, uz zadane poetne q0 = q1 = 1. Karakteristina jednadba je c c z k 2 k 1 = 0, pa su njena rjeenja s k1,2 Oznaimo li c 1 5 . = 2 1 5 r1 = , 2

1+ 5 r0 = , 2

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 459

onda je ope rjeenje te diferencijske jednadbe c s z


n n qn = c0 r0 + c1 r1 .

c Konstante c0 i c1 odredujemo iz poetnih uvjeta. Dobivamo 1 = q0 = c0 + c1 1 = q1 = c0 r0 + c1 r1 . Rjeavanjem ovog para jednadbi, dobivamo s z 1 c0 = r0 , 5 pa je 1 n+1 n+1 qn = (r0 r1 ), 5 Budui da je c r0 1.618,
n+1 onda za velike n, r1 0, pa je

1 c1 = r1 , 5 n 0.

r1 0.618,

1 qn (1.618)n+1. 5 Vratimo se na en . Ovim smo pokazali da je |en | 1 qn , M n 0.

Budui da < 0 i qn za n , dobivamo da xn . c Ovaj dokaz nije matematiki korektan jer smo koristili samo gornje ograde. c Ipak, on nam daje ideju o redu konvergencije, koji je zaista p = r0 , ali pravi dokaz je mnogo tei. z Kod metode sekante postoji nekoliko problema. Prvi je da moe divergirati z ako poetne aproksimacije nisu dobro odabrane. Drugi problem se moe javiti zbog c z kraenja u brojniku i (posebno) nazivniku kvocijenta c xn xn1 , f (xn ) f (xn1 ) kad xn . Osim toga, budui da iteracije ne zatvaraju nultoku s obje strane c c nije lako rei kad treba zaustaviti iterativni proces. c Konano, primijetimo da je za svaku iteraciju metode sekante potrebno samo c jednom izvrednjavati funkciju f i to u toki xn , jer f (xn1 ) uvamo od prethodne c c iteracije.

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 460

8.5.

Metoda tangente (Newtonova metoda)

Ako graf funkcije f umjesto sekantom, aproksimiramo tangentom, dobili smo metodu tangente ili Newtonovu metodu. Slino kao i kod sekante, time smo izgubili c svojstvo sigurne konvergencije, ali se nadamo da e metoda brzo konvergirati. c Pretpostavimo da je zadana poetna toka x0 . Ideja metode je povui tangentu c c c u toki (x0 , f (x0 )) i denirati novu aproksimaciju x0 u toki gdje ona sijee os x. c c c
y

x1

x0

Geometrijski izvod je jednostavan. U toki xn napie se jednadba tangente i c s z pogleda se gdje sijee os x. Jednadba tangente je c z y f (xn ) = f (xn )(x xn ), odakle izlazi da je nova aproksimacija xn+1 := x xn+1 = xn f (xn ) . f (xn )

Primijetite da je prethodna formula usko vezana uz metodu sekante, jer je f (xn ) f (xn ) f (xn1 ) . xn xn1

Do Newtonove metode moe se doi i na drugaiji nain. Pretpostavimo li da z c c c je funkcija f dva puta neprekidno derivabilna (na nekom podruju oko ), onda je c moemo razviti u Taylorov red oko xn do ukljuivo prvog lana. Dobivamo z c c f (x) = f (xn ) + f (xn )(x xn ) + f (n ) (x xn )2 , 2

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 461

pri emu je n izmedu x i xn . Uvrtavanjem x = , dobivamo c s 0 = f () = f (xn ) + f (xn )( xn ) + Premjetanjem, uz pretpostavku f (xn ) = 0, izlazi s = xn f (n ) f (xn ) ( xn )2 . f (xn ) 2f (xn ) f (n ) ( xn )2 . 2

Primijetite da prva dva lana zdesna daju xn+1 , pa dobivamo c xn+1 = ( xn )2 f (n ) . 2f (xn ) (8.5.1)

Iz (8.5.1), odmah itamo da je Newtonova metoda, kad konvergira kvadratino konc c vergentna. Ipak, treba biti oprezan, jer takav zakljuak vrijedi samo ako f (xn ) c c ne tei k nuli tijeku cijelog procesa, tj. ako je f () = 0, dakle ako je nultoka z jednostruka. Slino, kao kod metode sekante, moemo dokazati sljedei teorem o konverc z c genciji Newtonove metode. z Teorem 8.5.1 Neka su f , f i f neprekidne za sve x u nekom intervalu koji sadri jednostruku nultoku . Ako je poetna aproksimacija x0 izabrana dovoljno blizu c c nultoke , niz iteracija xn konvergirat e prema s redom konvergencije p = 2. c c tovie, vrijedi Cak s s xn+1 f () . = lim 2 n ( xn ) 2f () Dokaz. Izaberimo interval I = [ , + ] oko nultoke u kojem su funkcije f , c f i f neprekidne i neka je max |f (x)| M = xI . 2 min |f (x)|
xI

Za sve x0 I, koritenjem (8.5.1), dobivamo s | x1 | M| x0 |2 , odnosno M| x1 | (M| x0 |)2 . Izaberimo x0 tako da zadovoljava | x0 | i M| x0 | < 1. Tada je M| x1 | M| x0 |, to pokazuje da je s | x1 | | x0 | .

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 462

Primjenom istog argumenta, induktivno dobivamo | xn | , M| xn | < 1

za sve n 1. Da bismo pokazali konvergenciju iskoristimo (8.5.1). Imamo | xn+1 | M| xn |2 = M| xn+1 | (M| xn |)2 .

Matematikom indukcijom lako pokazujemo c M| xn | (M| x0 |)2 ,


n

odnosdno | xn |

1 n (M| x0 |)2 . M

Budui da je M| x0 | < 1, odmah dobivamo xn kad n . c z Budui da u (8.5.1) n lei izmedu xn i , onda mora biti n kad n . c Zbog toga je f () xn+1 f (n ) = . lim = n lim n ( x )2 2f (xn ) 2f () n Jednostavnim rijeima, prethodni teorem daje dovoljne uvjete za tzv. lokalnu c konvergenciju Newtonove metode prema jednostrukoj nultoki. Lokalnost se odnosi c na to da poetna aproksimacija mora biti dovoljno blizu nultoke c c | x0 | . Veliina odredena je uvjetom M| x0 | < 1 koji osigurava konvergenciju, kao i c uvjetima neprekidnosti funkcije i njenih prvih dviju derivacija. Uoimo da vrijedi c | x0 | < 1 , M

pa nas privli ideja da treba uzeti = 1/M. To, naalost, nije dovoljan uvjet da c z vrijedi teorem (M openito ovisi o ). Ipak, u nekim situacijama moemo iskoristiti c z slian uvjet za osiguranje konvergencije Newtonove metode. c Pretpostavimo da smo locirali nultoku funkcije f u segmentu [a, b] i znamo c 2 da je f klase C na tom segmentu. Neka je M2 = max |f (x)|,
x[a,b]

m1 = min |f (x)|.
x[a,b]

Funkcija f je strogo monotona na [a, b] onda i samo onda ako je m1 > 0. Naime, funkcija f je neprekidna na segmentu [a, b] (kompaktan skup u R), pa f poprima svoj minimum i maksimum u nekoj toki segmenta. Ako je f monotono rastua c c (padajua), tada je f (x) > 0 (f (x) < 0) za sve x iz segmenta [a, b], pa je m1 > 0. c c Obratno, m1 > 0 povlai monotonost funkcije f . Stoga, ako je m1 > 0, f ima

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 463

jedinstvenu jednostruku nultoku u [a, b]. U tim uvjetima umjesto lokalnog M, c moemo koristiti globalnu veliinu z c M := M2 , 2m1

pri emu u deniciju konstanti M2 i m1 ulazi cijeli interval [a, b]. Ako vrijedi c 1 ba , < 2 M onda moemo uzeti = (b a)/2, a startna toka je polovite intervala x0 := z c s (a + b)/2. Zbog |x0 | < 1/M , imamo sigurnu konvergenciju iteracija prema nultoki. Ako vrijedi i jai uvjet c c ba< 1 , M

onda bilo koja startna toka x0 [a, b] daje sigurnu konvergenciju. c Naravno, to moemo iskoristiti samo ako imamo dovoljno informacija o funkciji z z f tako da moemo izraunati M , odnosno M2 i m1 . Umjesto M2 , moemo uzeti i z c neku gornju ogradu za M2 , a umjesto m1 , neku pozitivnu donju ogradu za m1 . s Veliine M2 i m1 daju i lokalne ocjene greke iteracija u Newtonovoj metodi, c uz uvjet da su sve iteracije u segmentu [a, b]. Iz ranije relacije (8.5.1) xn = f (n1 ) ( xn1 )2 , 2f (xn1 )

gdje je n1 izmedu i xn1 , odmah slijedi | xn | M2 ( xn1 )2 . 2m1

Slinu ocjenu smo ve imali u prethodnom teoremu, samo s M umjesto M . Ova c c ocjena nije naroito korisna za praksu, jer ne znamo. c Da bi izveli za praksu pogodniju ocjenu greke, iskoristit emo Taylorov teos c rem. Za dvije susjedne iteracije u Newtonovoj metodi vrijedi f (xn ) = f (xn1 ) + f (xn1 )(xn xn1 ) + f (n1 ) (xn xn1 )2 , 2

pri emu je n1 izmedu xn1 i xn . Po deniciji iteracija u Newtonovoj metodi c vrijedi i f (xn1 ) + f (xn1 )(xn xn1 ) = 0,

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 464

pa je f (n1) (xn xn1 )2 . 2 Koristei pretpostavku xn1 , xn [a, b], dobivamo c f (xn ) = |f (xn )| M2 (xn xn1 )2 . 2

Kao i kod metode bisekcije, ako je m1 > 0, iz (8.2.2) slijedi ocjena | xn | Kombinacijom ovih ocjena dobivamo | xn | M2 (xn xn1 )2 , 2m1 |f (xn )| . m1

to se moe iskoristiti u praksi. Ako je gornja ograda za apsolutnu greku (uobis z s ajeno se to kae samo traena tonost), onda test c z z c M2 (xn xn1 )2 2m1 ili napisan u formi u kojoj se uobiajeno koristi c |xn xn1 | 2m1 M2

garantira da je | xn | . Jasno, s obzirom da raunamo na raunalu, zadnja c c nejednakost e vrijediti do na greke zaokruivanja. Uoimo da moemo koristiti i c s z c z raniji test |f (xn )| . m1 U prethodnim ocjenama greke koristili smo pretpostavku da je f strogo monos tona na [a, b], ili ekvivalentno, da prva derivacija ima isti predznak na cijelom intervalu. Ako jo i druga derivacija ima ksni predznak na tom intervalu, onda moemo s z dobiti i globalnu konvergenciju Newtonove metode. Teorem 8.5.2 Neka je f C 2 [a, b], f (a) f (b) < 0 i neka f i f nemaju nultoke c u [a, b], (tj. f i f imaju ksni predznak na [a, b]). Ako polazna iteracija x0 iz intervala [a, b] zadovoljava uvjet f (x0 ) f (x0 ) > 0, onda niz iteracija dobiven Newtonovom metodom konvergira prema (jedinstvenoj jednostrukoj) nultoki funkcije f . c

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 465

Dokaz. Pretpostavimo, na primjer, da je f (x) > 0 i f (x) > 0 na cijelom [a, b]. Tada f raste, pa mora biti f (a) < 0 i f (b) > 0. Zbog f (x) > 0, za startnu iteraciju z c x0 mora vrijediti f (x0 ) > 0. U praksi moemo uzeti x0 = b, jer je to jedina toka za koju sigurno znamo da vrijedi f (x0 ) > 0. Neka je (xn , n N0 ) niz iteracija generiran Newtonovom metodom iz startne toke x0 za koju je f (x0 ) > 0. Dakle imamo c xn+1 = xn f (xn ) . f (xn )

i znamo da je x0 > . Tvrdimo da je < xn x0 za svaki n N0 . Dokaz koristi matematiku indukciju, pri emu bazu ve imamo. Pretpostavimo da je c c c < xn x0 . Onda je f (xn ) > 0 i f (xn ) > 0, pa je xn+1 < xn x0 , to pokazuje da niz (xn ) monotono pada. Da bi dokazali i drugu nejednakost za s xn+1 , iskoristimo Taylorovu formulu 0 = f () = f (xn ) + f (xn )( xn ) + f (n ) ( xn )2 , 2

pri emu je n (, xn ) [a, b]. Zbog f (n ) > 0 imamo c f (xn ) + f (xn )( xn ) < 0, odakle slijedi xn+1 = xn f (xn ) > . f (xn )

Time je dokazan korak indukcije, pa je tvrdnja dokazana. Uoimo da smo usput c dokazali i monotonost niza (xn ). Kako je taj padajui niz omeden s odozdo, c postoji limes := lim xn ,
n

za koji vrijedi x0 , tj. [a, b]. Prijelazom na limes u formuli za Newtonove iteracije dobivamo = f ( ) , f ( )

odakle, koristei f ( ) = 0, slijedi f ( ) = 0. Kako je jedina nultoka od f u c c intervalu [a, b], mora vrijediti = . Preostala tri sluaja za predznake prve i druge derivacije se dokazuju potpuno c analogno.

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 466

Uvjet f (x0 )f (x0 ) > 0 na izbor startne toke u prethodnom teoremu ima vrlo c jednostavnu geometrijsku interpretaciju. Ako pogledamo graf funkcije f na [a, b], startnu toku x0 treba odabrati na strmijoj strani funkcije. c Primijetite da raunanje koritenjem Newtonove metode moe trajati dulje c s z nego raunanje upotrebom metode sekante (uz upotrebu istog kriterija zaustavlc janja), iako Newtonova metoda ima vei red konvergencije nego metoda sekante. c Objanjenje lei u injenici da se za svaki korak Newtonove metode mora izraunati s z c c i vrijednost funkcije i vrijednost derivacije u toki. Ako se derivacija komplicirano c rauna, metoda sekante koja zahtijeva samo jedno izvrednjavanje funkcije, e biti c c bra. z Prethodni teoremi daju samo dovoljne uvjete konvergencije pojedinih iterativnih metoda. U praktinom raunanju esto imamo samo interval [a, b] u kojem c c c smo locirali nultoku funkcije f , a nemamo dodatne informacije o funkciji f iz c kojih bismo mogli izvui zakljuak o konvergenciji brih iterativnih metoda. Zbog c c z toga se ove metode katkad kombiniraju s metodom bisekcije na sljedei nain. Prvo c c izraunamo novu iteraciju po broj metodi i ako ona ostaje u trenutnom intervalu, c z onda ju prihvaamo i s njom nastavljamo iteracije i skraujemo interval. U proc c tivnom, radimo korak bisekcije za smanjivanje intervala.

8.6.

Metoda jednostavne iteracije

Pretpostavimo da traimo , rjeenje jednadbe z s z x = g(x). (8.6.1)

Deniramo jednostavnu iteracionu funkciju (iteracionu funkciju koja pamti samo jednu prethodnu toku) s c xn+1 = g(xn ), n 0, c uz x0 kao poetnu aproksimaciju za . Primijetite da Newtonova metoda pripada klasi jednostavnih iteracija, jer je g(x) = x f (x) . f (x)

Rjeenja, tj. toke za koje je x = g(x), zovu se ksne toke od g. Uobiajeno, mi s c c c smo zainteresirani f (x) = 0, pa taj problem treba reformulirati na problem (8.6.1). Postoji mnogo naina za tu reformulaciju. c Primjer 8.6.1 Reformulirajmo problem x2 a = 0, a>0

u oblik (8.6.1). Na primjer, to moemo napraviti na jedan od sljedeih naina: z c c

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 467

1. x = x2 + x a, ili openitije x = x + c(x2 a) za neki c = 0, c 2. x = a/x, 3. x = 0.5 (x + a/x). Prirodno je pitanje kako se razliite jednostavne iteracije ponaaju. Odgovor c s emo dobiti nizom sljedeih tvrdnji. c c Lema 8.6.1 Neka je funkcija g neprekidna na intervalu [a, b] i neka je a g(x) b, x [a, b],

u oznaci g([a, b]) [a, b]. Tada jednostavna iteracija x = g(x) ima bar jedno rjeenje s na [a, b]. Dokaz. Za neprekidnu funkciju g(x) x na intervalu [a, b] vrijedi g(a) a 0, g(b) b 0.

Drugim rijeima, funkcija g(x) x je promijenila predznak na intervalu [a, b], a to c moe samo prolaskom kroz nultoku (neprekidna je!). z c Lema 8.6.2 Neka je funkcija g neprekidna na [a, b] i neka je g([a, b]) [a, b]. Nadalje, pretpostavimo da postoji konstanta , 0 < < 1, takva da vrijedi |g(x) g(y)| |x y|, x, y [a, b].

Tada x = g(x) ima jedinstveno rjeenje unutar [a, b]. Takoder, niz iteracija s xn = g(xn1 ), konvergira prema za proizvoljni x0 [a, b]. Dokaz. Prema prethodnoj lemi, postoji bar jedno rjeenje [a, b]. Pokaimo da s z ne postoji vie od jednog rjeenja. Da bismo to pokazali, pretpostavimo suprotno, s s tj. postoje barem dva rjeenja. Uzmimo bilo koja dva od tih rjeenja i nazovimo ih s s i iz [a, b]. Budui da su to rjeenja, vrijedi c s g() = i g() = . Po pretpostavci, uvaavajui prethodne jednakosti, dobivamo z c | | = |g() g()| | |, n1

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 468

ili drugim rijeima c (1 ) | | 0. Budui da je 1 > 0, mora biti = . c Dokaimo jo konvergenciju jednostavnih iteracija za proizvoljnu startnu toku z s c x0 [a, b]. Prvo, uoimo da xn1 [a, b] povlai da je xn = g(xn1 ) [a, b]. Nadalje, c c vrijedi | xn | = |g() g(xn1 )| | xn1 |, odnosno indukcijom po n dobivamo | xn | n | x0 |, n 1.

Ako pustimo n , onda n 0, pa vrijedi xn . Ako je g derivabilna na [a, b], onda je po Teoremu srednje vrijednosti g(x) g(y) = g ()(x y), za sve x, y [a, b]. Deniramo = max |g (x)|,
x[a,b]

izmedu x i y

(8.6.2)

onda moemo pisati z |g(x) g(y)| = |x y|, Primijetite moe biti vei od 1! z c Teorem 8.6.1 Neka je funkcija g neprekidno diferencijabilna na [a, b], neka je g([a, b]) [a, b], i neka za iz (8.6.2) vrijedi < 1. Tada vrijedi: 1. x = g(x) ima tono jedno rjeenje na [a, b], c s 2. za proizvoljni x0 [a, b], za jednostavnu iteraciju xn+1 = g(xn ), n 0 vrijedi
n

x [a, b].

(8.6.3)

lim xn = ,

| xn | n | x0 | i xn+1 = g (). n xn lim

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 469

Dokaz. Sve tvrdnje ovog teorema dokazane su u prethodne dvije leme, osim posljednje relacije o brzini konvergencije. Vrijedi xn+1 = g() g(xn ) = g (n )( xn ), n 0,

c gdje je n neki broj izmedu i xn . Budui da xn , onda i n , pa vrijedi xn+1 = lim g (n ) = g (). n x n n lim Pokaimo koliko je pretpostavka (8.6.3) znaajna, tj. pretpostavimo da je z c |g ()| > 1. Tada, ako imamo niz xn+1 = g(xn ) i rjeenje = g(), vrijedi s xn+1 = g() g(xn ) = g (n )( xn ). Za xn dovoljno blizu , onda je i i |g (n )| > 1, pa je | xn+1 | | xn |, pa konvergencija metode nije mogua. c Prethodni teorem se moe malo i pojednostavniti, tako da se ne navodi eksz plicitno interval [a, b]. Teorem 8.6.2 Neka je rjeenje jednostavne iteracije x = g(x) i neka je g nepres kidno diferencijabilna na nekoj okolini od i neka je |g ()| < 1. Tada vrijede svi rezultati Teorema 8.6.1, uz pretpostavku da je x0 dovoljno blizu . Dokaz. Uzmimo I = [ , + ] takav da je max |g (x)| < 1.
xI

Tada je g(I) I, jer | x| povlai c | g(x)| = |g() g(x)| = |g ()|| x| | x| . Sada moemo primijeniti prethodni teorem za [a, b] = I. z Primjer 8.6.2 U primjeru 8.6.1, denirali smo tri iteracijske funkcije. c 1. Ako je g(x) = x2 + x a, onda je g (x) = 2x + 1 i u nultoki = g ( a) = 2 a + 1 > 1, a je

pa ta iteracijska funkcija nee konvergirati. U openitijem je sluaju g(x) = c c c x + c(x2 a), pa je g (x) = 1 + 2cx i g ( a) = 1 + 2c a.

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 470

Da bismo osigurali konvergenciju, mora biti 1 < 1 + 2c a < 1, odnosno 1 < c < 0. a

2. Ako je g(x) = a/x, onda je g (x) = a/x2 , pa je g ( a) = 1. 3. Ako je g(x) = 0.5 (x + a/x), onda je g (x) = 0.5 (1 a/x2 ), pa je g ( a) = 0. Ovaj odjeljak zavrit emo promatranjem jednostavnih iteracionih funkcija, s c ali vieg reda konvergencije, kao to je, na primjer Newtonova metoda. s s Teorem 8.6.3 Neka je rjeenje od x = g(x) i neka je g p puta neprekidno difers encijabilna za sve x u okolini , za neki p 2. Nadalje, pretpostavimo da je g () = = g (p1) () = 0. Ako je startna vrijednost x0 dovoljno blizu , iteracijska funkcija xn+1 = g(xn ), imat e red konvergencije p i c xn+1 g (p) () . = (1)p1 n ( xn )p p! lim Dokaz. Razvijmo g(x) u okolini do ukljuivo (p 1)-ve potencije i napiimo c s ostatak. Zatim, uvrstimo x = xn , pa dobivamo xn+1 = g(xn ) = g()+g ()(xn )+ + g (p1) () g (p) (n ) (xn )p1 + (xn )p , (p 1)! p! n0 (8.6.4)

za neki n izmedu xn i . Iskoristimo li da je g() = i pretpostavku (8.6.4), slijedi xn+1 = + odnosno xn+1 = g (p) (n ) (xn )p , p! g (p) (n ) (xn )p . p!

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 471

Sada moemo primijeniti prethodni Teorem, koji pokazuje da e iteracijska funkcija z c konvergirati. Nadalje, to znai da xn , pa i n , to daje traenu relaciju. c s z Koritenjem prethodnog teorema moemo analizirati i Newtonovu metodu za s z koju je f (x) g(x) = x . f (x) Deriviranjem dobivamo da je g (x) = 1 pa je g() = 0, uz pretpostavku da je f () = 0. Na slian nain, dobivamo c c g () = f () , f () (f (x))2 f (x)f (x) f (x)f (x) = , 2 (f (x)) (f (x))2

z pa ako je f () = 0, moemo pokazati da je red konvergencije Newtonove metode c jednak 2. Ako je f () = 0, f () = 0, onda e red konvergencije biti barem 3.

8.7.

Newtonova metoda za viestruke nultoke s c

Promotrimo to e se dogoditi s konvergencijom Newtonove metode, ako funks c cija f ima neprekidnih prvih p + 1 derivacija i p-struku, p 2 nultoku u . Tada c vrijedi f () = f () = = f (p1) () = 0, f (p) () = 0. Samu funkciju f moemo napisati i u obliku z f (x) = (x )p h(x), h() = 0. (8.7.1)

Ograniimo se samo na cjelobrojne p i promatrajmo Newtonovu metodu kao jedc nostavnu iteraciju, f (x) xn+1 = g(xn ), g(x) = x . f (x) Deriviranjem (8.7.1) dobivamo jednostavniji oblik za derivaciju f (x) = p(x )p1h(x) + (x a)p h (x), pa je g(x) = x (x )h(x) . ph(x) + (x )h (x)

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 472

Deriviranjem funkcije g dobivamo g (x) = 1 tako da je g () = 1 1 = 0 za p > 1, p d h(x) h(x) (x ) , ph(x) + (x )h (x) dx ph(x) + (x )h (x)

to pokazuje linearnu konvergenciju. Prema teoremu 8.6.1, faktor konvergencije bit s e g () = 1 1/p, to je vrlo sporo. U prosjeku to je podjednako brzo kao bisekcija c s za p = 2 ili ak loije od bisekcije za p 3. c s Kako moemo popraviti (ubrzati) Newtonovu metodu za p-struke nultoke, z c p 2. Prvo pretpostavimo da znamo p. Deniramo iteracionu funkciju g(x) = x p Tada je g (x) = 1 p f (x) . f (x)

(f (x))2 f (x)f (x) f (x)f (x) =1p+p . 2 (f (x)) (f (x))2

Iskoristimo li oblik funkcije f , dobivamo f (x) = (x )p h(x) f (x) = (x )p1 [ph(x) + (x )h (x)] f (x) = (x )p2 [p(p 1)h(x) + 2p(x )h (x) + (x )2 h (x)], pa je f (x)f (x) 1 =1 . x (f (x))2 p lim Odatle odmah slijedi
x

lim g (x) = 0,

to pokazuje da ova modikacija osigurava barem kvadratino konvergentnu metodu. s c c Sto emo napraviti ako unaprijed ne znamo p? Primijetimo da funkcija f (x) (x )p h(x) (x )h(x) u(x) = = = p1 [ph(x) + (x )h (x)] f (x) (x ) ph(x) + (x )h (x) ima jednostruku nultoku u . Drugim rijeima, obina Newtonova metoda, ali c c c primijenjena na u(x) konvergirat e kvadratino, c c xn+1 = xn u(xn ) , u (xn )

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 473

(f (x))2 f (x)f (x) f (x) u(x), =1 (f (x))2 f (x) to pokazuje da emo dobiti kvadratinu konvergenciju, iako ne znamo red nultoke, s c c c ali uz raunanje jo jedne derivacije funkcije (f ). c s u (x) = Slino vrijedi i za metodu sekante, koju emo ubrzati, kao da radimo s jednosc c trukim nultokama, ako primijenimo metodu sekante za funkciju u c xn+1 = xn u(xn ) xn xn1 . u(xn ) u(xn1 )

gdje je

I u ovom sluaju postoji cijena, a to je raunanje f . c c

8.8.

Hibridna BrentDekkerova metoda

BrentDekkerova metoda smiljena je kao metoda koja e imati sigurnu kons c vergenciju, a nadamo se da e konvergirati bre nego metoda sekante, u najboljem c z sluaju kvadratino. Ona ne zahtijeva raunanje derivacija, pa ako joj je red konc c c vergencije u prosjeku bolji od sekante, moemo oekivati da e metoda po brzini z c c biti slina Newtonovoj, ali e imati sigurnu konvergenciju. c c Metoda se sasoji od tri dijela, koje grubo moemo opisati kao inverznu kvadratz nu interpolaciju, metodu sekante i metodu bisekcije. Algoritam poinje metodom c sekante koja generira treu toku. Ako se prema nekim kriterijima ta toka prihvaa c c c c kao dobra, moemo nastaviti raditi s kvadratnom interpolacijom kroz posljednje tri z toke, ali inverznom (uloga x i y zamijenjena) i time dobivamo etvrtu toku. c c c Ako je trea toka odbaena kao loa, radi se jedan korak metode bisekcije. c c c s Drugim rijeima, metoda se vrti izmedu svoja tri sastavna dijela, a mi se nadamo c da e rijetko koristiti bisekciju. c Toni parametri kad se neka aproksimacija nultoke prihvaa kao dobra, odc c c nosno odbacuje kao loa su dosta sloeni. Metoda je sastavni dio velikih numerikih s z c biblioteka programa, kao to je IMSL. s

8.9.

Primjeri

Prije konkretnih primjera, zanimljivo je napomenuti da se u praksi moe z sasvim dobro numeriki procijeniti red konvergencije iterativne metode i taj poc datak iskoristiti kao dodatna informacija o konvergenciji metode. Kako se to radi? Prisjetimo se denicijske relacije (8.1.1) za red konvergencije c c p niza iteracija (xn , n N0 ) koji konvergira prema nultoki . Za veinu brzih

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 474

lokalno konvergentnih metoda pokazali smo da postoji eksponent p 1 za koji vrijedi | xn | lim = c > 0, p n | x n1 | gdje je xn niz iteracija generiran tom metodom, uz neki start dovoljno blizu nultoke. c Ovako dobiveni p i c su teorijske vrijednosti ovih parametara, koje vrijede asimptotski na limesu n . Prethodnu relaciju ne moemo direktno iskoristiti za raunanje p i c, jer ne z c znamo . Osim toga, i konstanta c obivcno ovisi o nekim vrijednostima derivacija funkcije f u toki , pa ni c ne znamo. c Medutim, u okolini nultoke sigurno vrijedi c | xn | c| xn1 |p , (8.9.1)

za dovoljno velike n, s tim da opet ne znamo . No, ako smo dovoljno blizu nultoke, c onda moemo uzeti da je xn+1 , pa vrijedi i z |xn+1 xn | c|xn+1 xn1 |p , za dovoljno velike n, samo moda s neto veom grekom. z s c s Uzmimo sad da su c i p nepoznati. Da bismo ih izraunali, trebamo dvije jedc nadbe za te dvije nepoznanice. Prvu je lako dobiti, tako da umjesto stavimo = u z prethodnoj relaciji. Naravno, tada vie ne smijemo oekivati da emo dobiti prave s c c vrijednosti za c i p, ve neke pribline vrijednosti cn+1 i pn+1 . Dakle, pretpostavljamo c z da za njih vrijedi |xn+1 xn | = cn+1 |xn+1 xn1 |pn+1 . Nedostaje jo jedna jednadba. Iskoristimo li (8.9.1) za xn1 , dobivamo s z |xn+1 xn1 | = cn |xn+1 xn2 |pn . Pretpostavimo li da je cn cn+1 i pn pn+1 tj. cn i pn se ne mijenjaju brzo, imamo |xn+1 xn | = c |xn+1 xn1 |p |xn+1 xn1 | = c |xn+1 xn2 |p . Logaritmiranjem dobivamo ln |xn+1 xn | = ln c + p ln |xn+1 xn1 | ln |xn+1 xn1 | = ln c + p ln |xn+1 xn2 |, pa iz ovog linearnog sustava lako izraunamo p i c . c Nadalje, relacija | xk | = c| xk1 |p , k1

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 475

uz stavljanje = xn+1 za dovoljno veliki n moe se iskoristiti i za traenje paramz z etara c i p metodom najmanjih kvadrata. Deniramo li fk = |xn+1 xk |, zk = z |xn+1 xk1 |, traimo aproksimaciju oblika (z) = cz p koja najbolje aproksimira skup podataka (zk , fk ), k = 1, . . . , n. Primjer 8.9.1 Usporedimo brzinu metoda za izraunavanje 3 1.5. c Taj problem moemo interpretirati i kao traenje realne pozitivne nultoke z z c 3 funkcije f (x) = x 1.5. c Zatraimo li pogreku manju od 108 , metodi bisekcije bit e potrebno 27 rasz s polavljanja, a priblina nultoka bit e x27 = 1.144714239984751. z c c Za greku manju od 1015 Newtonova metoda trebat e samo 7 iteracija i x7 = s c 1.144714242553332. Primjer 8.9.2 Nadite nultoku funkcije c f (x) = x3 5.56x2 + 9.1389x 4.68999 koritenjem Newtonove metode, tako da greka bude manja od 1015 . s s Poueni prethodnim primjerom oekujemo desetak iteracija. Umjesto toga, c c bilo nam je potrebno 30 iteracija za traenu tonost, x30 = 1.230000000463810, to z c s je signaliziralo da smo ili loe derivirali, ili funkcija ima viestruku nultoku. s s c Nije teko pokazati da je 1.23 dvostruka nultoka zadane funkcije, pa Newtos c nova metoda konvergira samo linearno. Modiciramo li Newtonovu metodu tako da korekciju pomnoimo s viestrukou nultoke, za istu tonost bilo nam je potrebno z s sc c c samo 7 iteracija, x7 = 1.229999999995655, a konvergencija je bila kvadratina. c Zadatak 8.9.1 Za funkcije iz prethodna dva primjera napiite programe za nalaes z nje nultoaka raznim metodama i numeriki nadite brzinu konvergancije koritenih c c s metoda. Primjer 8.9.3 Nultoka funkcije c f (x) = arctg(x) c je x = 0, ali Newtonova metoda nee konvergirati iz svake startne toke x0 . Nai c c emo toku za koju vrijedi c c
|x0 |

< || Newtonova metoda sa startom x0 konvergira, |x0 | > || Newtonova metoda sa startom x0 divergira, |x0 | = || Newtonova metoda sa startom x0 ciklira.

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 476

Kako emo nai toku cikliranja? Funkcija f (x) = arctg x je neparna, pa da c c c bismo dobili cikliranje, dovoljno je da tangenta na funkciju u toki presijee os x c c u toki . Jednadba tangente na arctg u toki je c z c y arctg = pa e tangenta sijei os x u , ako je c c arctg = 2 , 1 + 2 1 (x ), 1 + 2

ime smo dobili nelinearnu jednadbu po . Oito, postoje dva rjeenja, suprotnih c z c s predznaka, i nije ih teko izraunati metodom bisekcije s c = 1.39174520027073489. Nacrtajmo grafove Newtonove metode za sve tri mogunosti za x0 , recimo za x0 = 1, c x0 = i x0 = 1.5.
y

0.57 1.0 x

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 477

1.69 1.5 2.32 x

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 478

9. Numerika integracija c
9.1. Openito o integracijskim formulama c

Zadana je funkcija f : I R, gdje je I obino interval (moe i beskonaan). c z c Zelimo izraunati integral funkcije f na intervalu [a, b], c
b

I(f ) =
a

f (x) dx.

(9.1.1)

Svi znamo da je deriviranje (barem analitiki) jednostavan postupak, dok integric ranje to nije, pa se integrali analitiki u lijepoj formi mogu izraunati samo za c c malen skup funkcija f . Zbog toga, u veini sluajeva ne moemo iskoristiti osnovni c c z teorem integralnog rauna, tj. NewtonLeibnitzovu formulu za raunanje I(f ) preko c c vrijednosti primitivne funkcije F od f u rubovima intervala
b

I(f ) =
a

f (x) dx = F (b) F (a).

Drugim rijeima, jedino to nam preostaje je priblino, numeriko raunanje I(f ). c s z c c Osnovna ideja numerike integracije je izraunavanje I(f ) koritenjem vrijedc c s nosti funkcije f na nekom konanom skupu toaka. Recimo odmah da postoje i c c integracijske formule koje koriste i derivacije funkcije f , ali o tome kako se one dobivaju i emu slue, bit e vie rijei neto kasnije. c z c s c s Opa integracijska formula ima oblik c I(f ) = Im (f ) + Em (f ), pri emu je m + 1 broj koritenih toaka, Im (f ) pripadna aproksimacija integrala, a c s c s z Em (f ) pritom napravljena greka. Ovakve formule za priblinu integraciju funkcija jedne varijable (tj. na jednodimenzionalnoj domeni) esto se zovu i kvadraturne c formule, zbog interpretacije integrala kao povrine ispod krivulje. s

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 479

Ako koristimo samo funkcijske vrijednosti za aproksimaciju integrala, onda aproksimacija Im (f ) ima oblik
m

Im (f ) =
k=0

wk f (xk ),
(m)

(m)

(m)

(9.1.2) zovu se vorovi c

pri emu je m neki unaprijed zadani prirodni broj. Koecijenti xk c (m) integracije, a wk teinski koecijenti. z

U opem sluaju, za ksni m, moramo nekako odrediti 2m + 2 nepoznatih c c koecijenata. Uobiajen nain njihovog odredivanja je zahtjev da su integracijska c c formule egzaktne na vektorskom prostoru polinoma to vieg stupnja. Zato ba s s s s tako? Ako postoji Taylorov red za funkciju f i ako on konvergira, onda bi to znailo da integracijska formula egzaktno integrira poetni komad Taylorovog reda, c c tj. Taylorov polinom. Drugim rijeima, greka bi bila mala, tj. jednaka integralu c s greke koji nastaje kad iz Taylorovog reda napravimo Taylorov polinom. s Zbog linearnosti integrala kao funkcionala (f (x) + g(x)) dx = f (x) dx + g(x) dx, (9.1.3)

dovoljno je gledati egzaktnost tih formula na nekoj bazi vektorskog prostora, recimo na {1, x, x2 , x3 , . . . , xm , . . .}, jer svojstvo (9.1.3) onda osigurava egzaktnost za sve polinome do najvieg stupnja s baze. Ako su vorovi ksirani, recimo ekvidistantni, onda dobivano tzv. Newton c Cotesove formule, za koje moramo odrediti m + 1 nepoznati koecijent (teine). z Uvjeti egzaktnosti na vektorskom prostoru polinoma tada vode na sustav linearnih jednadbi. Kasnije emo pokazati da se te formule mogu dobiti i kao integrali z c interpolacijskih polinoma stupnja m za funkciju f na zadanoj (ekvidistantnoj) mrei z vorova. c S druge strane, moemo ksirati samo neke vorove, ili dozvoliti da su svi z c vorovi slobodni. Ove posljednje formule zovu se formule Gaussovog tipa. U c sluaju Gaussovih formula (ali moe se i kod teinskih NewtonCotesovih formula) c z z uobiajeno je (9.1.1) zapisati u obliku c
b

I(f ) =
a

w(x)f (x) dx,

(9.1.4)

pri emu je funkcija w 0 tzv. teinska funkcija. Ona ima istu ulogu gustoe c z c mjere kao i kod metode najmanjih kvadrata. Ideja je razdvojiti podintegralnu

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 480

funkciju na dva dijela, tako da singulariteti budu ukljueni u w. Gaussove se forc mule nikad ne raunaju direktno iz uvjeta egzaktnosti, jer to vodi na nelinearni c sustav jednadbi. Pokazat emo da postoji veza Gaussovih formula, funkcije w i z c ortogonalnih polinoma obzirom na funkciju w na intervalu [a, b], koja omoguava c ekasno raunanje svih parametara za Gaussove formule. c Na kraju ovog uvoda spomenimo jo da postoje primjene u kojima je korisno s traiti egzaktnost integracijskih formula na drugaijim sustavima funkcija, koji nisu z c prostori polinoma do odredenog stupnja.

9.2.

NewtonCotesove formule

NewtonCotesove formule zatvorenog tipa imaju ekvidistantne vorove, s tim c da je prvi vor u toki x0 := a, a posljednji u xm := b. Preciznije, za zatvorenu (to c c se esto isputa) NewtonCotesovu formulu s (m + 1)-nom tokom vorovi su c s c c xk
(m)

= x0 + khm ,

k = 0, . . . , m,

hm =

ba . m

Drugim rijeima, osnovni je oblik NewtonCotesovih formula c


b

f (x) dx Im (f ) =
a

m k=0

wk f (x0 + khm ).

(m)

(9.2.1)

9.2.1.

Trapezna formula

Izvedimo najjednostavniju (zatvorenu) NewtonCotesovu formulu za m = 1. Za m = 1, aproksimacija integrala (9.2.1) ima oblik I1 (f ) = w0 f (x0 ) + w1 f (x0 + h1 ), pri emu je c ba = b a, 1 pa je x0 = a i x1 = b. Da bismo olakali pisanje, kad znamo da je m = 1, moemo s z (1) (1) s izostaviti gornje indekse u wk , tj., radi jednostavnosti, piemo wk := wk . Dakle, moramo pronai teine w0 i w1 , tako da integracijska formula egzaktno integrira c z polinome to vieg stupnja na intervalu [a, b], tj. da za polinome f to vieg stupnja s s s s bude h := h1 =
b (1) (1)

f (x) dx = I1 (f ) = w0 f (a) + w1 f (b).


a

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 481

Stavimo, redom, uvjete na bazu vektorskog prostora polinoma. Ako je f neki od polinoma baze vektorskog prostora, morat emo izraunati njegov integral. Zbog c c toga je zgodno odmah izraunati integrale oblika c
b

xk dx,
a

k 0,

a zatim rezultat koristiti za razne k. Vrijedi


b

xk dx =
a

xk+1 k+1

=
a

bk+1 ak+1 . k+1

(9.2.2)

Za f (x) = 1 = x0 dobivamo
b

ba=
a

x0 dx = w0 1 + w1 1.

Odmah je oito da iz jedne jednadbe ne moemo odrediti dva nepoznata paramec z z tra, pa moramo zahtjevati da integracijska formula bude egzaktna i na polinomima stupnja 1. Za f (x) = x izlazi b2 a2 = 2
b

x dx = w0 a + w1 b.
a

Sada imamo dvije jednadbe s dvije nepoznanice z w0 + w1 = b a b2 a2 . aw0 + bw1 = 2 Pomnoimo li prvu jednadbu s a i dodamo drugoj, dobivamo z z (b a)w1 = b2 2ab + a2 (b a)2 b2 a2 a(b a) = = . 2 2 2

Budui da je a = b, dijeljenjem s b a, dobivamo c w1 = h 1 (b a) = . 2 2

Drugu teinu w0 lako izraunamo iz prve jednadbe linearnog sustava z c z w0 = b a w1 = h 1 (b a) = , 2 2

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 482

pa je w0 = w1 . Vidimo da je integracijska formula I1 (f ) dobivena iz egzaktnosti na svim polinomima stupnja manjeg ili jednakog 1, i glasi
b

f (x) dx
a

h (f (a) + f (b)). 2

Ta formula zove se trapezna formula. Odakle joj ime? Napiemo li je na malo s drugaiji nain, kao c c b f (a) + f (b) f (x) dx (b a), 2 a odmah emo vidjeti da je (f (a) + f (b))/2 srednjica, a b a visina trapeza sa slike. c
y f (b)

f (a)

Drugim rijeima, povrinu ispod krivulje zamijenili smo (tj. aproksimirali) povric s s nom trapeza. Koliko je ta zamjena dobra? Ovisi o funkciji f . Sve dok pravac razumno aproksimira oblik funkciju f , greka je mala. Na primjer, za funkciju s
y f (a)

f (b)

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 483

pravac nije dobra aproksimacija za oblik funkcije f . Da smo nacrtali funkciju f simetrinije oko sjecita, moglo bi se dogoditi da je greka vrlo mala, jer bi se ono c s s to je previe uraunato u povrinu s jedne strane skratilo s onim to je premalo s s c s s uraunato s druge strane. S numerikog stanovita, takav pristup je opasan. c c s Trapezna integracijska formula nee egzaktno integrirati sve polinome stupc nja 2. To nije teko pokazati, jer ve za s c f (x) = x2 vrijedi b3 a3 = 3
b

x2 dx = I1 (x2 ) =
a

a2 + b2 (b a). 2

Slika nas upuuje na jo jednu injenicu. Povuemo li kroz (a, f (a)), (b, f (b)) c s c c linearni interpolacijski polinom, a zatim ga egzaktno integriramo od a do b, dobivamo trapeznu formulu. Pokaimo da je to tako. z Interpolacijski polinom stupnja 1 koji prolazi kroz zadane toke je c p1 (x) = f (a) + f [a, b] (x a). Njegov integral na [a, b] je
b

x2 p1 (x) dx = f (a)x a f [a, b]x + f [a, b] 2 = (b a)f (a) +


2

f (a) + f (b) (b a) f [a, b] = (b a) . 2 2

Ovaj nam pristup omoguava i ocjenu greke integracijska formule, preko occ s jene greke interpolacijskog polinoma, uz uvjet da moemo ocijeniti greku interpos z s lacijskog polinoma (tj. ako f ima dovoljan broj neprekidnih derivacija). Neka je funkcija f C 2 [a, b]. Greka interpolacijskog polinoma stupnja 1 koji s funkciju f interpolira u tokama (a, f (a)), (b, f (b)) na intervalu [a, b] jednaka je c e1 (x) = f (x) p1 (x) = Drugim rijeima, vrijedi c
b

f () (x a) (x b). 2

E1 (f ) =
a

f () (x a) (x b) dx. 2

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 484

Ostaje samo izraunati E1 (f ). Iskoristit emo generalizaciju teorema srednje c c vrijednosti za integrale. Ako su funkcije g i w integrabilne na [a, b] i ako je w(x) 0 na [a, b], a m = inf g(x), M = sup g(x),
x[a,b] x[a,b]

onda vrijedi
b b b

m
a

w(x) dx
a

w(x)g(x) dx M
a

w(x) dx.

Prethodna formula lako se dokazuje, jer je m g(x) M = mw(x) g(x)w(x) Mw(x), pa je


b b b

m
a

w(x) dx
a

w(x)g(x) dx M
a

w(x) dx.

(9.2.3)

Digresija za nematematiare. inf (itati inmum) je minimum funkcije koji se ne c c mora dostii. Na primjer, funkcija c g(x) = x na (0, 1) nema minimum, ali je
x(0,1)

(9.2.4)

inf x = 0.

Slino vrijedi i za sup (itati supremum). Supremum je maksimum funkcije koji se c c ne mora dostii. Na primjer, funkcija iz relacije (9.2.4) nema ni maksimum, ali je c sup x = 1.
x(0,1)

Koritenjem relacije (9.2.3), lako dokazujemo integralni teorem srednje vrijeds nosti s teinama. z Teorem 9.2.1 Neka su funkcije g i w integrabilne na [a, b] i neka je m = inf g(x),
x[a,b]

M = sup g(x).
x[a,b]

Nadalje, neka je w(x) 0 na [a, b]. Tada postoji broj , m M takav da vrijedi
b b

w(x)g(x) dx =
a a

w(x) dx.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 485

Posebno, ako je g neprekidna na [a, b], onda postoji broj takav da je


b b

w(x)g(x) dx = g()
a a

w(x) dx.

Dokaz. Ako je
b

w(x) dx = 0,
a

onda je po (9.2.3) i
b

w(x)g(x) dx = 0,
a

pa za moemo uzeti proizvoljan realan broj. Ako je z


b

w(x) dx > 0,
a

onda dijeljenjem formule (9.2.3) s prethodnim integralom dobivamo


b

w(x)g(x) dx m
a b

M, w(x) dx

pa za moemo uzeti z
b

w(x)g(x) dx =
a b

. w(x) dx

Posljednji zakljuak teorema slijedi iz injenice da neprekidna funkcija na segmentu c c c postie sve vrijednosti izmedu minimuma i maksimuma, pa mora postii i . Drugim z rijeima, postoji takav da je = g(). c Prisjetite se, ve smo pokazali da je c
b

E1 (f ) =
a

f () (x a) (x b) dx. 2

Primijetite da je funkcija (x a) (x b) 0 na [a, b], 2

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 486

pa moemo uzeti z w(x) = (x a) (x b) , 2 g(x) = f ().

s c Po generaliziranom teoremu srednje vrijednosti, ako je f C 2 [a, b], (to znai da je 0 f C [a, b]), vrijedi da je
b

E1 (f ) = f ()
a

(x a) (x b) dx. 2

Ovaj se integral jednostavno rauna. Integriranjem dobivamo c


b

(x a) (x b) (b a)3 h3 dx = = , 2 12 12 h3 E1 (f ) = f () . 12

pa je

9.2.2.

Simpsonova formula

Izvedimo sljedeu (zatvorenu) NewtonCotesovu formulu za m = 2, poznatu c pod imenom Simpsonova formula. Za m = 2, aproksimacija integrala (9.2.1) ima oblik I2 (f ) = w0 f (x0 ) + w1 f (x0 + h2 ) + w2 f (x0 + 2h2 ), ba . 2 Ponovno, da bismo olakali pisanje, kad znamo da je m = 2, moemo, radi jednoss z (2) tavnosti, izostaviti gornje indekse u wk := wk . Oprez, to nisu isti wk i h kao u trapeznoj formuli! Kad uvrstimo znaenje h u aproksimacijsku formulu, dobivamo c h := h2 = I2 (f ) = w0 f (a) + w1 f a+b + w2 f (b). 2 pri emu je c
(2) (2) (2)

Stavimo uvjete na egzaktnost formule na vektorskom prostoru polinoma to s vieg stupnja. Moramo postaviti najmanje tri jednadbe, jer imamo tri nepoznata s z koecijenta. Za f (x) = 1 dobivamo
b

ba=
a

x0 dx = w0 1 + w1 1 + w2 1.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 487

Za f (x) = x izlazi b2 a2 = 2
b

x dx = w0 a + w1
a

a+b + w2 b. 2

Konano, za f (x) = x2 dobivamo c b3 a3 = 3


b

x2 dx = w0 a2 + w1
a

(a + b)2 + w2 b2 . 4

Sada imamo linearni sustav s tri jednadbe i tri nepoznanice z w0 + w1 + w2 = b a a+b b2 a2 aw0 + w1 + bw2 = 2 2 2 3 (a + b) b a3 w1 + b2 w2 = . a2 w0 + 4 3 Rjeavanjem ovog sustava, dobivamo s w0 = w2 = ba h = , 3 6 w1 = 4(b a) 4h = . 3 6

Drugim rijeima, integracijska formula I2 (f ) dobivena je iz egzaktnosti na svim c polinomima stupnja manjeg ili jednakog 2, i glasi
b

f (x) dx
a

h a+b f (a) + 4f + f (b) . 3 2

Simpsonova formula ima jo jednu prednost. Iako je dobivena iz uvjeta egzakts nosti na vektorskom prostoru polinoma stupnja manjeg ili jednakog 2, ona egzaktno integrira i sve polinome stupnja 3. Dovoljno je pokazati da egzaktno integrira f (x) = x3 . Egzaktni integral jednak je
b

x3 dx =
a

b4 a4 , 4

a po Simpsonovoj formuli, za f (x) = x3 dobivamo I2 (x3 ) = ba 3 a+b 3 a +4 + b3 6 2 ba 3 b4 a4 (a + a2 b + ab2 + b3 ) = . = 4 4

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 488

Ponovno, nije teko pokazati da je i ova formula interpolacijska. Ako povuemo s c a+b a+b kvadratni interpolacijski polinom kroz (a, f (a)), ( 2 , f ( 2 )) i (b, f (b)), a zatim ga egzaktno integriramo od a do b, dobivamo Simpsonovu formulu. Ako pogledamo kako ona funkcionira na funkcijama koje smo ve integrirali c trapeznom formulom, vidjet emo da joj je greka bitno manja. Posebno, na prvom c s primjeru, kvadratni interpolacijski polinom tako dobro aproksimira funkciju f , da se one na grafu ne razlikuju.
y f (b) y f (a) f (a) f (b)

Greku Simpsonove formule raunamo slino kao kod trapezne, integracijom s c c greke kvadratnog interpolacijskog polinoma s e2 (x) = f (x) p2 (x) = f () a+b (x a) x (x b). 6 2

Dakle, za greku Simpsonove formule vrijedi s


b

E2 (f ) =
a

e2 (x) dx.

Naalost, funkcija z a+b (x b) 2 nije vie ksnog znaka na [a, b], pa ne moemo direktno primijeniti generalizirani s z c teorem srednje vrijednosti. Pretpostavimo da je f C 4 [a, b]. Oznaimo (x a) x c := i deniramo w(x) =
a x

a+b 2

(t a) (t c) (t b) dt.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 489

Tvrdimo da vrijedi w(a) = w(b) = 0, Skiciramo li funkciju f (t) = (t a)(t c)(t b) odmah vidimo da je ona centralno simetrina oko srednje toke c c
f (t)

w(x) > 0,

x (a, b).

(9.2.5)

pa e integral rasti od 0 do svog maksimuma (plava povrina), a zatim padati (kad c s dode u crveno podruje) do 0. c Ostaje samo jo napisati greku interpolacijskog polinoma kao podijeljenju s s razliku. To smo pokazali openito u poglavlju o Newtonovom interpolacijskom polic nomu, a posebno za n = 3 vrijedi f [a, b, c, x] = f () . 6

Uz oznaku (9.2.5), greku Simpsonove formule, onda moemo napisati kao s z


b

E2 (f ) =
a

w (x)f [a, b, c, x] dx.

Parcijalnom integracijom ovog integrala dobivamo


b b

E2 (f ) = w(x)f [a, b, c, x]
a

w(x)

d f [a, b, c, x] dx. dx

Prvi lan je oito jednak 0, jer je w(a) = w(b) = 0. Ostaje jo srediti drugi c c s lan. Kod splajnova smo objanjavali da je podijeljena razlika s dvostrukim vorom c s c jednaka derivaciji funkcije. Na slian je nain derivacija tree podijeljene razlike c c c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 490

f [a, b, c, x] po x, etvrta podijeljena razlika s dvostrukim vorom x. Prema tome, c c dobivamo formulu greke u obliku s
b

E2 (f ) =
a

w(x)f [a, b, c, x, x] dx.

Sad je funkcija w nenegativna i moemo primijeniti generalizirani teorem srednje z vrijednosti. Izlazi
b

E2 (f ) = f [a, b, c, , ]
a

w(x) dx,

gdje je a b. Napiemo li f [a, b, c, , ] kao derivaciju, dobivamo s f (4) () E2 (f ) = 4!


b

w(x) dx.
a

Ostaje jo samo integrirati funkciju w. Vrijedi s


x

w(x) =

(t a) (t c) (t b) dt = zamjena varijable y = t c
a xc xc

=
h

(y h)y(y + h) dy =
h 4 2 xc h

(y 3 h2 y) dy

y y h2 = 4 2 Nadalje je
b b

2 h4 (x c)4 2 (x c) h + . = 4 2 4

w(x) dx =
a a h

(x c)4 (x c)2 h4 h2 + dx = zamjena varijable y = x c 4 2 4 y4 y 2 h4 y5 y 3 h4 y h2 + h2 + dy = 4 2 4 20 6 4 h h h + 20 6 4


5 5 5 h h

=
h

=2

4 5 h. 15

Kad to ukljuimo u formulu za greku, dobivamo c s E2 (f ) = f (4) () 4 5 h5 h = f (4) (). 24 15 90

Primijetite, greka je za red veliine bolja no to bi po upotrijebljenom interpos c s lacijskom polinomu trebala biti.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 491

9.2.3.

Produljene formule

Nije teko pokazati da su sve NewtonCotesove formule integrali interpos lacijskih polinoma na ekvidistantnoj mrei. Ako ne valja dizanje stupnjeva interpoz lacijskih polinoma na ekvidistantnoj mrei, onda nee biti dobri niti njihovi integrali. z c Pokaimo to na primjeru Runge. Prava vrijednost integrala je z
5

dx = 2 arctg 5 2.74680153389003172. 1 + x2

Sljedea tablica pokazuje aproksimacije integrala izraunate NewtonCotesovim forc c mulama raznih redova i pripadne greke. s Red formule m Aproksimacija integrala Greka s 1 0.38461538461538462 2.36218614927464711 2 6.79487179487179487 4.04807026098176315 3 2.08144796380090498 0.66535357008912674 4 2.37400530503978780 0.37279622885024392 5 2.30769230769230769 0.43910922619772403 6 3.87044867347079978 1.12364713958076805 7 2.89899440974837875 0.15219287585834703 8 1.50048890712791179 1.24631262676211993 9 2.39861789784183472 0.34818363604819700 10 4.67330055565349876 1.92649902176346704 11 3.24477294027858525 0.49797140638855353 12 0.31293651575343889 3.05973804964347061 13 1.91979721683238891 0.82700431705764282 14 7.89954464085193082 5.15274310696189909 15 4.15555899270655713 1.40875745881652541 16 6.24143731477308329 8.98823884866311501 17 0.26050944143760372 2.48629209245242800 18 18.87662129010920670 16.12981975621917490 19 7.24602608588196936 4.49922455199193763 20 26.84955208882447960 29.59635362271451140 Oito je da aproksimacije ne konvergiraju prema pravoj vrijednosti integrala. Potc punije opravdanje ovog ponaanja dajemo neto kasnije. s s I to sad? Ne smijemo dizati red formula, jer to postaje opasno. Rjeenje s s je vrlo slino onome to smo primijenili kod interpolacije. Umjesto da diemo red c s z

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 492

formule, podijelimo interval [a, b] na vie dijelova, recimo, jednake duljine, i na s svakom od njih primijenimo odgovarajuu integracijsku formulu niskog reda. Tako c dobivene formule zovu se produljene formule. Na primjer, za funkciju koju smo ve razmatrali, produljena trapezna formula s 2 podintervala izgledala bi ovako. c
y

x0

x1

x2

Openito, produljenu trapeznu formulu dobivamo tako da cijeli interval [a, b] c podijelimo na n podintervala oblika [xk1 , xk ], za k = 1, . . . , n, s tim da je a = x0 < x1 < < xn1 < xn = b, i na svakom od njih upotrijebimo obinu trapeznu formulu. Znamo da je tada c
b n xk

f (x) dx =
a k=1xk1

f (x) dx,

pa na isti nain zbrojimo i obine trapezne aproksimacije u produljenu trapeznu c c aproksimaciju. Najjednostavniji je sluaj kad su toke xk ekvidistantne, tj. kad je svaki podc c c interval [xk1 , xk ] iste duljine h. To znai da je xk = a + kh, k = 0, . . . , n, h= ba . n

Aproksimacija produljenom trapeznom formulom je


b

f (x) dx = h
a

1 1 T f0 + f1 + + fn1 + fn + En (f ), 2 2

T pri emu je En (f ) greka produljene formule. Nju moemo zapisati kao zbroj greaka c s z s osnovnih trapeznih formula na podintervalima T En (f )

h3 = f (k ) . 12 k=1

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 493

Greka ovako napisana nije naroito lijepa i korisna, pa ju je potrebno napisati malo s c drugaije c h3 n 1 n T En (f ) = f (k ) . 12 n k=1 Izraz u zagradi je aritmetika sredina vrijednosti drugih derivacija u tokama k . c c Taj se broj sigurno nalazi izmedu najmanje i najvee vrijednosti druge derivacije c funkcije f na intervalu [a, b]. Budui da je f neprekidna na [a, b], onda je broj u c zagradi vrijednost druge derivacije u nekoj toki [a, b], pa formulu za greku c s moemo pisati kao z
T En (f ) =

h3 n (b a)h2 f () = f (). 12 12

Iz ove formule izvodimo vanu ocjenu za broj podintervala potrebnih da se postigne z zadana tonost za produljenu trapeznu metodu c
T |En (f )|

(b a)h2 (b a)3 M2 = M2 , 12 12n2

M2 = max |f (x)|.
x[a,b]

T z Zelimo li da je |En (f )| , onda je dovoljno traiti da bude

(b a)3 M2 , 12n2 odnosno da je n (b a)3 M2 , 12 n cijeli broj.

Na slian se nain izvodi i produljena Simpsonova formula. Primijetite, osc c novna Simpsonova formula ima 3 toke, tj. 2 podintervala, pa produljena formula c mora imati, takoder, paran broj podintervala. Pretpostavimo stoga da je n paran broj. Ograniimo se samo na ekvidistantni sluaj. Onda je ponovno c c h= ba , n xk = a + kh, k = 0, . . . , n.

Aproksimaciju integrala produljenom Simpsonovom formulom dobivamo iz


b n/2 x2k

f (x) dx =
a k=1x2k2

f (x) dx,

c tako da na svakom podintervalu [x2k2 , x2k ], duljine 2h, primijenimo obinu Simpsonovu formulu, za k = 1, . . . , n/2. Zbrajanjem izlazi
b

f (x) dx =
a

h S f0 + 4f1 + 2f2 + 4f3 + 2f4 + + 4fn1 + fn + En (f ), 3

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 494

S pri emu je En (f ) greka produljene formule. Nju moemo zapisati kao zbroj greaka c s z s osnovnih Simpsonovih formula na podintervalima n/2 S En (f )

=
k=1

f (4) (k )

h5 . 90

Opet je greku korisno napisati malo drugaije s c


S En (f )

h5 (n/2) 2 n/2 (4) = f (k ) . 90 n k=1

Slinim zakljuivanjem kao kod trapezne formule, izraz u zagradi moemo zamijeniti c c z (4) s f (), [a, b], pa dobivamo
S En (f ) =

h5 n (4) (b a)h4 (4) f () = f (). 180 180

Ponovno, iz ove formule izvodimo ocjenu za broj podintervala potrebnih da se postigne zadana tonost za Simpsonovu metodu c
S |En (f )|

(b a)h4 (b a)5 M4 = M4 , 180 180n4

M4 = max |f (4) (x)|.


x[a,b]

S Zelimo li da je |En (f )| , onda je dovoljno traiti da bude z

(b a)5 M4 , 180n4 odnosno da je n


4

(b a)5 M4 , 180

n paran cijeli broj.

9.2.4.

Primjeri

Primjer 9.2.1 Izraunajte vrijednost integrala c


2

xex dx
1

koritenjem (produljene) Simpsonove formule tako da greka bude manja ili jednaka s s 6 10 . Nadite pravu vrijednost integrala i pogreke. Koliko je podintervala potrebno s za istu tonost koritenjem (produljene) trapezne formule? c s

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 495

Prmo, moramo ocijeniti pogreku za produljenu trapeznu i produljenu Simps sonovu formulu. Za to su nam potrebni maksimumi apsolutnih vrijednosti druge i etvrte derivacije na zadanom intervalu. Derivacije su redom c f (1) (x) = (1 x)ex , f (4) (x) = (x 4)ex , f (2) (x) = (x 2)ex , f (5) (x) = (5 x)ex . f (3) (x) = (3 x)ex ,

Nadimo maksimume apsolutnih vrijednosti derivacija na zadanom intervalu. Prvo ocijenimo greku za produljenu trapeznu formulu. Na intervalu [1, 2] je s s c c s f (x) > 0, to znai da f (2) raste. Uoimo jo da je na zadanom intervalu f (2) (x) 0, pa je maksimum apsolutne vrijednosti druge derivacije u lijevom rubu, tj.
(3)

M2 = max |f (2) (x)| = |f (2) (1)| = e1 0.367879441171.


x[1,2]

Broj podintervala nT za produljenu trapeznu formulu je nT (b a)3 M2 = 12 e1 175.09, 12 106

pa je najmanji broj podintervala nT = 176. Sada ocijenimo greku za produljenu Simpsonovu formulu. Na intervalu [1, 2] s s c s c je f (x) > 0, to znai da f (4) raste. Takoder je i f (4) (x) < 0, to znai da je njen maksimum po apsolutnoj vrijednosti ponovno u lijevom rubu, tj.
(5)

M4 = max |f (4) (x)| = |f (4) (1)| = 3 e1 1.103638323514.


x[1,2]

Za greku produljene Simpsonove formule imamo s nS


4

(b a)5 M4 = 180

3 e1 8.85, 180 106

tj. treba najmanje nS = 10 podintervala. Sad moemo upotrijebiti produljenu Simpsonovu formulu s 10 podintervala (11 z

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 496

vorova). Imamo c k 0 1 2 3 4 5 6 7 8 9 10 Sada je S0 = f (x0 ) + f (x10 ) = 0.63855000765, S1 = 4(f (x1 ) + f (x3 ) = f (x5 ) + f (x7 ) + f (x9 )) = 6.5995485226, S2 = 2(f (x2 ) + f (x4 ) + f (x6 ) + f (x8 )) = 2.6544824628. Vrijednost integrala po Simpsonovoj formuli je Is = 0.1 (S0 + S1 + S2 ) = 0.3297526998. 3 xk 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 f (xk ) 0.3678794412 0.3661581921 0.3614330543 0.3542913309 0.3452357495 0.3346952402 0.3230344288 0.3105619909 0.2975379988 0.2841803765 0.2706705665

U ovom konkretnom sluaju moemo bez puno napora izraunati i egzaktnu c z c vrijednost integrala. Jedina korist od toga je da vidimo koliko je zaista ocjena za Simpsonovu metodu bliska sa stvarnom grekom. Parcijalna integracija daje s
2

xe
1

dx =

du = dx u = x, x dv = e dx, v = ex
2

= xe

x 1

+
1

ex dx

= e1 2e2 ex = e1 2e2 e2 + e1
1

= 2e1 3e2 0.3297530326. Drugim rijeima, prava pogreka je c s I IS = 0.3297530326 0.3297526998 = 3.328 107 , tj. ocjena greke nije daleko od prave pogreke. s s

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 497

9.2.5.

Formula srednje toke (midpoint formula) c

Ako u NewtonCotesovim formulama ne interpoliramo (pa onda niti ne integriramo) jednu ili obje rubne toke, dobili smo otvorene NewtonCotesove formule. c Ako deniramo x1 := a, xm+1 := b i hm = ba , m+2

onda otvorene NewtonCotesove formule imaju oblik


b

f (x) dx Im (f ) =
a

m k=0

wk f (x0 + khm ).

(m)

(9.2.6)

Vjerojatno najkoritenija i najpoznatija otvorena NewtonCotesova formula je ona s najjednostavnija za m = 0, poznata pod imenom midpoint formula (formula srednje toke). c Dakle za bismo odredili midpoint formulu, moramo nai koecijent w0 := w0 c takav da je b a+b f (x) dx = w0 f 2 a egzaktna na vektorskom prostoru polinoma to vieg stupnja. s s Za f (x) = 1, imamo
b (0)

ba=
a

1 dx = w0 ,

odakle odmah slijedi da je


b

f (x) dx = (b a)f
a

a+b . 2

Greka te integracijske formule je integral greke interpolacijskog polinoma stupnja s s 0 (konstante), koji interpolira funkciju f u srednjoj toki. Ako deniramo c
x

w(x) =
a

(t c) dt,

c :=

a+b , 2

onda koristei istu tehniku kao kod izvoda greke za Simpsonovu formulu, izlazi da c s je greka midpoint formule s
b

E0 (f ) =
a

e0 (x) dx = f ()

(b a)3 . 24

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 498

Da bismo izveli produljenu formulu, podijelimo interval [a, b] na n podintervala i na svakom upotrijebimo midpoint formulu. Tada vrijedi
M In (f ) = h(f1 + + fn ) + En (f ),

h=

ba , n

xk = a + k

1 h, 2

M s pri emu je En (f ) ukupna greka koja je jednaka c n M En (f ) = k=1

f (k )

h3 n 1 n h3 h3 n h2 (b a) = f () = f (). f (k ) = 24 24 n k=1 24 24

9.3.

Rombergov algoritam

Pri izvodu Rombergovog algoritma koristimo se sljedeim principima: c udvostruavanjem broja podintervala u produljenoj trapeznoj metodi, c eliminacijom lana greke iz dvije susjedne produljene formule. Ponovljena c s primjena ovog principa zove se Richardsonova ekstrapolacija. Asimptotski razvoj ocjene pogreke za trapeznu integraciju daje EulerMacs Laurinova formula. Teorem 9.3.1 Neka je m 0, n 1, m, n cijeli brojevi. Deniramo ekvidistantnu mreu s n podintervala na [a, b], tj. z h= ba , n xk = a + kh, k = 0, . . . , n.

s Pretpostavimo da je f C (2m+2) [a, b]. Za pogreku produljene trapezne metode vrijedi b m d2i T + Fn,m , En (f ) = f (x) dx In (f ) = 2i i=1 n a gdje su koecijenti d2i = a ostatak je Fn,m b a (2m+2) (b a)2m+2 = B 2m+2 f (x) dx. 2m+2 (2m + 2)!n h a
b

B2i (b a)2i (f (2i1) (b) f (2i1) (a)), (2i)!

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 499

Ovdje su B2i Bernoullijevi brojevi,


1

Bi =
0

Bi (x) dx,

i 1,

a B i je periodiko proirenje obinih Bernoullijevih polinoma c s c B i (x) = Bi (x), B i (x 1), za 0 x 1, za x 1.

Ovo je jedan od klasinih teorema numerike analize i njegov se dokaz moe c c z nai u mnogim knjigama. c Umjesto dokaza, nekoliko objanjenja. Bernoullijevi polinomi zadani su ims plicitno funkcijom izvodnicom t(ext 1) = et 1 Prvih nekoliko Bernullijevih polinoma su: B0 (x) = 1 3x2 x + B3 (x) = x 2 2
2

ti Bi (x) . i! i=1 B2 (x) = x2 x

B1 (x) = x B4 (x) = x2 (1 x)2 .

Uvijek vrijedi Bi (0) = 0 za i 1. Rekurzivne relacije su Bi (x) = iBi1 (x), za i paran i i 4, i(Bi1 (x) + Bi1 ), za i neparan i i 3.

c Iz prethodne se formule integracijom mogu dobiti Bi (x), jer je slobodni lan jednak 0. Bernoullijevi brojevi takoder su denirani implicitno t = et 1

Bi
i=0

ti , i!

odakle se integracijom na [0, 1] po x u rekurziji za Bi (x) dobiva


1

Bi =
0

Bi (x) dx,

i 1.

Prvih nekoliko Bernoullijevih brojeva: B0 = 1, B8 = 1 , 30 1 B1 = , 2 5 B10 = , 66 1 B2 = , 6 691 B12 = , 2730 B4 = 1 , 30 B6 = B14 1 , 42 3617 = 510

7 B14 = , 6

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 500

i dalje vrlo brzo rastu po apsolutnoj vrijednosti B60 2.139994926 1034 . Rombergov algoritam dobivamo tako da eliminiramo lan po lan iz reda za c c ocjenu greke na osnovu vrijednosti integrala s duljinom koraka h i h/2. s Za podintegralne funkcije koje nisu dovoljno glatke, takoder, se moe (uz blage z pretpostavke) asimptotski dobiti razvoj pogreke. Posebno to vrijedi za funkcije s s algebarskim (x ) i/ili logaritamskim (ln x) singularitetima.
(0) Izvedimo sad Rombergov algoritam. Oznaimo s In trapeznu formulu s duljic nom intervala h = (b a)/n. Iz EulerMacLaurinove formule, ako je n paran, za asimptotski razvoj greke imamo s

(0) I In =

I In/2

(0)

d2 d d + 44 + + 2m + Fn,m 2 n n n2m (0) (0) (0) 4d 16d4 22m d2m = 2 + ++ + Fn/2,m . n2 n4 n2m

(0)

(0)

(0)

Ako prvi razvoj pomnoimo s 4 i oduzmemo mu drugi razvoj, skratit e se prva z c (0) c greka s desne strane d2 , tj. dobit emo s 4(I
(0) In )

(I

(0) In/2 )

12d4 60d6 = + . 4 n n6

(0)

(0)

Izluivanjem lanova koji imaju I na lijevu stranu, a zatim dijeljenjem, dobivamo c c I=


(0) 4In In/2 (0)

20d6 4d4 + . 4 n n6

(0)

(0)

Prvi lan zdesna moemo uzeti kao bolju, popravljenu aproksimaciju integrala, u c z oznaci (0) (0) 4In In/2 (1) , n paran, n 2. In = 3 (2) (4) (6) Niz In , In , In je novi integracijski niz. Njegova je greka s I gdje je d4 = 4d4 ,
(1) (0) (1) In

d d = 44 + 66 + , n n d6 = 20d6 .
(1) (0)

(1)

(1)

(1) Nadimo eksplicitnu formulu za In . Zbog podjele na odgovarajui broj podinc (0) tervala, ako je h duljina podintervala za In , onda je h1 := 2h duljina podintervala

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 501

za In/2 , pa vrijede sljedee formule c


(0) In =

(0)

In/2

(0)

h (f0 + 2f1 + 2fn1 + fn ) 2 h1 = (f0 + 2f2 + 2fn2 + fn ). 2

(1) Uvrtavanjem u In , dobivamo s

4h 1 1 2h 1 1 f0 + 2f1 + 2fn1 + fn f0 + 2f1 + 2fn1 + fn 3 2 2 3 2 2 h = (f0 + 4f2 + 2f2 + 4fn2 + fn ), 3 to je Simpsonova formula s n podintervala. s
(1) In =

Slian argument kao i prije moemo upotrijebiti i dalje. Vrijedi c z I Tada je 16(I odnosno I=
(1) In ) (1) In/2

16d4 64d6 = + + . 4 n n6
(1) In/2 )

(1)

(1)

(I

48d6 = + , n6
(1)

(1)

48d6 + . 15 15n6 Ponovno, prvi lan s desne strane proglasimo za novu aproksimaciju integrala c
(2) In

(1) 16In In/2

(1)

(1) 16In In/2

(1)

15

n djeljiv s 4,

n 4.

Induktivno, ako nastavimo postupak, dobivamo Richardsonovu ekstrapolaciju


(k) In

(k1) 4k In In/2

(k1)

4k 1

n 2k ,

pri emu je greka jednaka c s


(k) En

=I

(k) In

d = 2k+2 + = k (b a)h2k+2 f (2k+2) (), n2k+2

(k)

a b.

Sada moemo denirati Rombergovu tablicu z I1 I2


(0) (0) (0) (1) (1)

I2

I4 . . .

I4 . . .

I4 . . .

(2)

. .. .

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 502

Ako pogledamo omjere greaka lanova u stupcu, uz pretpostavku dovoljne s c glatkoe, onda dobivamo c (k) En = 22k+2 , (k) E2n tj. omjeri pogreaka u stupcu se moraju ponaati kao s s 1 4 4 4 . . . 1 16 16 . . . 1 64 . . . 1 . . . .. . .

Pokaimo na primjeru da prethodni omjeri pogreaka u stupcu vrijede samo z s ako je funkcija dovoljno glatka. Primjer 9.3.1 Rombergovim algoritmom s tonou 1012 nadite vrijednosti intec sc grala 1 1 1 x 3/2 e dx, x dx, x dx
0 0 0

i pokaite kako se ponaaju omjeri pogreaka u stupcima. z s s Pogledajmo redom funkcije. Eksponencijalna funkcija ima beskonano mnogo c neprekidnih derivacija, pa bi se raunanje integrala morala ponaati po predvidanju. c s Kao vrijednost, nakon 25 podintervala u trapeznoj formuli, dobivamo umjesto prave vrijednosti integrala I, priblinu vrijednost z I5 = 1.71828182845904524 I = e 1 = 1.71828182845904524 I I5 = 0. Pokaimo omjere pogreaka u stupcima, z s 0 1 2 3 4 5 1.0000 3.9512 3.9875 3.9969 3.9992 3.9998 1.0000 15.6517 15.9913 15.9777 15.9944

1.0000 62.4639 1.0000 63.6087 249.7197 1.0000 63.9017 254.4010 1000.5738 1.0000

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 503

a zatim samo eksponente omjera pogreaka (eksponenti od 2, koji bi ako je funkcija s glatka morali biti 2k + 2). 0 1 2 3 4 5 1.0000 1.9823 1.9955 1.9989 1.9997 1.9999 1.0000 3.9682 3.9920 3.9980 3.9995

1.0000 5.9650 1.0000 5.9912 7.9642 1.0000 5.9978 7.9910 9.9666 1.0000

Sto je s drugom funkcijom? Funkciji f (x) = x3/2 puca druga derivacija u 0, pa bi zanimljivo ponaanje moralo poeti veu drugom stupcu (za trapez je funkcija dos c c voljno glatka za ocjenu pogreke). Kao vrijednost, nakon 215 podintervala u trapeznoj s formuli, dobivamo umjesto prave vrijednosti integrala I, priblinu vrijednost z I15 = 0.40000000000004512 I = 2/5 = 0.40000000000000000 I I15 = 0.00000000000004512. Primijetite da je broj intervala poprilino velik! Sto je s omjerima pogreaka? c s 0 1 2 3 4 5 6 . . . 1.0000 3.7346 3.8154 3.8721 3.9112 3.9381 3.9567 . . . 1.0000 5.4847 5.5912 5.6331 5.6484 5.6539 . . .

1.0000 5.6484 5.6559 5.6568 5.6568

1.0000 5.6566 1.0000 5.6568 5.6569 1.0000 5.6569 5.6569 1.0000 .. .

15 3.9981 5.6569

. 5.6569 1.0000

..

Primjeujemo da su se nakon prvog stupca omjeri pogreaka stabilizirali. Bit e c s c s nam mnogo lake provjeriti to se dogada ako napiemo samo eksponente omjera s s pogreaka. s 0 1 2 3 4 5 6 . . . 1.0000 1.9010 1.9318 1.9531 1.9676 1.9775 1.9843 . . . 1.0000 2.4554 2.4832 2.4939 2.4978 2.4992 . . .

1.0000 2.4978 2.5000 2.5000 2.5000

1.0000 2.4999 1.0000 2.5000 2.5000 1.0000 2.5000 2.5000 2.5000 1.0000 .. .

15 1.9993 2.5000

. 2.5000 1.0000

..

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 504

Primijetite da su eksponenti omjera pogreaka od drugog stupca nadalje tono za 1 s c vei od eksponenta same funkcije (integriramo!). c Situacija s funkcijom f (x) = x mora biti jo gora, jer njoj puca prva derivas 15 s c c cija u 0. Nakon 2 podintervala u trapeznoj formuli (to je ogranienje zbog veliine polja u programu), ne dobivamo eljenu tonost z c I15 = 0.66666665510837633 I = 2/3 = 0.66666666666666667 I I15 = 0.00000001155829033. Omjeri pogreaka u tablici su: s 1.0000 2.8200 1.0000 2.8267 2.8281 1.0000 2.8281 2.8284 2.8284 1.0000 2.8284 2.8284 1.0000 . .. .. . . . . 15 2.8271 2.8284 2.8284 1.0000 Pripadni eksponenti su 1.0000 1.4957 1.0000 1.4991 1.4998 1.0000 1.4998 1.5000 1.5000 1.0000 1.5000 1.5000 1.0000 . .. .. . . . . 15 1.4993 1.5000 1.5000 1.0000 Ipak, u ova dva jednostavna primjera, moe se Rombergovom algoritmu poz moi tako da supstitucijom u integralu dobijemo glatku funkciju. U oba sluaja, c c 2 ako stavimo supstituciju x = t , podintegralna e funkcija imati beskonano mnogo c c neprekidnih derivacija, pa e se algoritam ponaati po ocjeni pogreke. c s s U literaturi postoji i malo drugaija oznaka za aproksimacije integrala u Romc bergovoj tablici (k+1) (k) 4m Tm1 Tm1 (k) Tm = . 4m 1 0 1 2 3 4 5 . . . 1.0000 1.4010 1.4324 1.4538 1.4681 1.4779 . . . 0 1 2 3 4 5 . . . 1.0000 2.6408 2.6990 2.7393 2.7667 2.7854 . . .

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 505

Sama tablica ima oblik

T0 T0

(0) (1) (2)

T1

(0) (1)

T0 . . .

T1 . . .

T2 . . .

(0)

. .. .

Pokaimo sad nekoliko primjera kako treba, odnosno ne treba koristiti Romberz gov algoritam. Primjer 9.3.2 Izraunajte koritenjem Rombergovog algoritma priblinu vrijednost c s z integrala
1

sin(17x) dx
0

s Tako da greka bude manja ili jednaka 104 . Napiimo tablicu (samo prvih par s decimala, ostale pamtimo u raunalu, ali nemamo prostora za ispis) c 0 0.00000 1 0.50000 0.66667 2 0.60355 0.63807 0.63616 3 0.62841 0.63671 0.63661 0.63662 4 0.00616 0.21768 0.27464 0.28910 0.29273 5 0.02832 0.03982 0.05698 0.06225 0.06362 6 0.03525 0.03756 0.03741 0.03710 0.03700 7 0.03690 0.03745 0.03745 0.03745 0.03745

0.06397 0.03697 0.03745

0.03697 0.03745

0.03745

Sto je razlog stabilizacije oko jedne, pa oko druge vrijednosti? Nedovoljan broj podintervala u trapezu, koji ne opisuju dobro ponaanje funkcije. s
y

Produljena trapezna formula s 2 podintervala.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 506

Produljena trapezna formula s 4 podintervala.


y

Produljena trapezna formula s 8 podintervala.


y

Produljena trapezna formula sa 16 podintervala.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 507

9.4.

Teinske integracijske formule z

Dosad smo detaljno analizirali samo nekoliko osnovnih NewtonCotesovih integracijskih formula s malim brojem toaka i pripadne produljene formule. U ovom c odjeljku napravit emo opu konstrukciju i analizu tonosti za neke klase integracic c c jskih formula, ukljuujui ope NewtonCotesove i Gaussove formule. c c c Zelimo (priblino) izraunati vrijednost integrala z c
b

Iw (f ) =
a

f (x)w(x) dx,

(9.4.1)

gdje je w pozitivna (ili barem nenegativna) teinska funkcija za koju pretpoz stavljamo da je integrabilna na (a, b), s tim da dozvoljavamo da w nije denirana u rubovima a i b. Interval integracije moe biti konaan, ali i beskonaan. z c c Drugim rijeima, promatramo opi problem jednodimenzionalne integracije zadane c c funkcije f po zadanoj neprekidnoj mjeri d generiranoj teinskom funkcijom w na z zadanoj domeni. Katkad koristimo i skraenu oznaku I(f ), umjesto Iw (f ), za intec gral u (9.4.1), ako je w(x) = 1 na cijelom [a, b], ili kad je teinska funkcija jasna iz z konteksta, da skratimo pisanje. Kao i ranije, ovaj integral aproksimiramo teinskom sumom funkcijskih vriz jednosti funkcije f na konanom skupu toaka, Za razliku od ranijih oznaka, ovdje c c je zgodnije toke numerirati od 1, a ne od 0. Dakle, opa teinska integracijska ili c c z kvadraturna formula za aproksimaciju integrala Iw (f ) ima oblik
n

In (f ) =
k=1

wk f (xk ),

(n)

(n)

(9.4.2)

gdje je n prirodni broj. Kao i prije, gornje indekse (n) za vorove i teine esto ne c z c piemo, ako su oiti iz konteksta, ali ne treba zaboraviti na ovisnost o n. s c Dakle, sasvim openito moemo pisati c z
b

Iw (f ) =
a

f (x)w(x) dx = In (f ) + En (f ),

(9.4.3)

gdje je En (f ) greka aproksimacije. s Osnovnu podlogu za konstrukciju integracijskih formula i ocjenu greke En (f ) s daje sljedei rezultat. c Teorem 9.4.1 Ako je Iw (f ) iz (9.4.1) Riemannov integral, i ako je f bilo koja druga funkcija za koju postoji Iw (f ), onda vrijedi ocjena |Iw (f ) Iw (f )| w
1

f f

(9.4.4)

i postoji funkcija f za koju se ova ocjena dostie. z

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 508

Dokaz. Prvo uoimo da w ne mora biti nenegativna, jer je rije o Riemannovom c c integralu, ali zato treba pretpostaviti da je |w| integrabilna. Ocjena izlazi direktno iz osnovnih svojstava Riemannovog integrala jer podintegralne funkcije moraju biti ograniene. Dobivamo c
b b

|Iw (f ) Iw (f )| =
a b

f (x)w(x) dx
a

f (x)w(x) dx

|w(x)| |f (x) f (x)| dx.

Iskoristimo ocjenu |f (x) f (x)| sup |f (x) f (x)| = f f


x[a,b] ,

x [a, b],

i deniciju L1 norme funkcije w (koja je apsolutno integrabilna po pretpostavci)


b

=
a

|w(x)| dx,

pa dobivamo traenu ocjenu. Ako za perturbiranu funkciju f uzmemo z f (x) := f (x) + c sign(w(x)), gdje je c > 0 bilo koja konstanta, onda u ocjeni (9.4.4) dobivamo jednakost, uz f f = c. U ovoj formulaciji, za klasini Riemannov integral, domena [a, b] integracije c mora biti konana. Teorem onda kae da je apsolutni broj uvjetovanosti za Iw (f ) c z upravo jednak w 1 i ne ovisi o f , ve samo o Iw . c Ovaj rezultat moe se proiriti i na neprave Riemannove integrale (beskonana z s c domena, singulariteti funkcija), i tada vie ne vrijedi zakljuak o broju uvjetovanosti. s c Medutim, trenutno nam to nije bitno, ve je kljuna malo drugaija interpretacija c c c ocjene (9.4.4). Zamislimo da je f neka aproksimacija (a ne perturbacija) funkcije f , koju elimo iskoristiti za priblino raunanje integrala. Onda (9.4.4) daje ocjenu (apsoz z c lutne) pogreke u integralu, preko greke aproksimacije funkcije u uniformnoj (L ) s s normi na [a, b]. Ono to stvarno elimo dobiti je niz aproksimacija integrala koji konvergira s z prema Iw (f ). Jedan od puteva da to postignemo je izbor odgovarajueg niza aproksic macija fn , n N, za funkciju f . Prethodna ocjena upuuje na to da, u ovisnosti c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 509

o n, za aproksimacijske funkcije fn treba uzimati takve funkcije za koje znamo da moemo postii po volji dobru uniformnu aproksimaciju funkcije f , jer tada z c f fn

0 = |Iw (f ) Iw (fn )| 0,

n .

Uoimo da ove aproksimacije, naravno, ovise o konkretnoj funkciji f . Da ne c bismo za svaki novi f posebno konstruirali odgovarajui niz aproksimacija, poeljno c z je da bilo koju funkciju f , za koju postoji integral Iw (f ), moemo dovoljno dobro z aproksimirati nekim prostorom funkcija. Tj. umjesto niza pojedinanih aproksic macija, koristimo niz vektorskih prostora aproksimacijskih funkcija Vn , a za svaki pojedini f nademo pripadnu aproksimaciju fn Vn . Weierstraov teorem o uniformnoj aproksimaciji neprekidnih funkcija polinomima na konanom intervalu [a, b] sugerira da treba uzeti Vn kao prostor polic s c noma Pd stupnja manjeg ili jednakog d, gdje d ovisi o n (i raste s n). Kao to emo vidjeti, korisno je dozvoliti da bude d = n. Isti princip koristimo i za beskonane domene, samo treba osigurati da su c polinomi integrabilni s teinom w. To postiemo dodatnim zahtjevom na teinsku z z z funkciju w, tako da pretpostavimo da svi momenti teinske funkcije z
b

k :=
a

xk w(x) dx,

k N0 ,

(9.4.5)

postoje i da su konani. U nastavku pretpostavljamo da teinska funkcija w zadoc z voljava ovu pretpostavku. Takve teinske funkcije obino zovemo (polinomno) doz c pustivima. Napomenimo odmah da se ovaj pristup moe generalizirati i na bilo koji drugi z sustav funkcija aproksimacijskih funkcija {fn | n N} koji je gust u prostoru c C[a, b] neprekidnih funkcija na [a, b]. Pripadni prostori Vn generirani su poetnim komadima ovog sustava funkcija (kao linearne ljuske). Za praktinu primjenu ovog pristupa moramo moi efektivno izraunati intec c c gral Iw (fn ) aproksimacijske funkcije, i to za bilo koju funkciju f . To se najlake s postie tako da konstruiramo pripadnu integracijsku formulu In koja je egzaktna na z cijelom prostoru Vn = Pd aproksimacijskih funkcija. Dakle, uvjet egzaktnosti za In je Iw (f ) = In (f ) ili En (f ) = 0, za sve f Vn . Iz relacija (9.4.3) i (9.4.4) odmah dobivamo i ocjenu greke pripadne integracijske s formule In (f ), za bilo koji f |En (f )| = |Iw (f ) In (f )| = |Iw (f ) Iw (fn )| w
1

f fn

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 510

9.5.

Gaussove integracijske formule

Kao to smo ve rekli, Gaussove formule imaju dvostruko vie slobodnih s c s parametara nego NewtonCotesove, pa bi zbog toga trebale egzaktno integrirati polinome priblino dvostruko veeg stupnja od NewtonCotesovih. z c Za razliku od NewtonCtesovih formula, Gaussove integracijske formule o su oblika
b

f (x) dx
a

wif (xi ),
i=1

c u kojima toke integracije xi nisu unaprijed poznate, nego se izraunaju tako da c greka takve formule bude najmanja. Motivirani praktinim razlozima, promatrat s c emo malo openitije integracijske formule oblika c c
b

w(x) f (x) dx
a

wi f (xi ),
i=1

gdje je w teinska funkcija, pozitivna na otvorenom intervalu (a, b). Koecijente z wi zovemo teinski koecijenti ili, skraeno, teine integracijske formule. Gornji z c z specijalni sluaj u kojem je w 1 ine formule koje se zovu GaussLegendreove. c c Teinska funkcija u opem sluaju utjee na teine i toke integracije, ali se ne z c c c z c pojavljuje eksplicitno u Gaussovoj formuli. Bitno je znati da se za neke teinske funkcije na odredenim intervalima, vorovi z c i teine standardno tabeliraju u prirunicima. To su z c teinska funkcija w z 1 1 1 x2 1 x2 ex ex
2

interval [1, 1] [1, 1] [1, 1] [0, ) (, )

formula Gauss Legendre s Cebiev s Cebiev 2. vrste Laguerre Hermite

Glavni rezultat je sljedei: ako zahtijevamo da formula integrira egzaktno c polinome to je mogue veeg stupnja, onda su toke integracije xi nultoke polinoma s c c c c koji su ortogonalni na intervalu (a, b) obzirom na teinsku funkciju w, a teine wi z z mogu se eksplicitno izraunati po formuli c
b

wi =
a

w(x) i(x) dx,

i = 1, . . . , n.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 511

Pritom je i poseban polinom Lagrangeove baze kojeg smo razmatrali u poglavlju o polinomnoj interpolaciji, deniran uvjetom i (xj ) = ij (v. (7.2.18)). Primijetimo samo da je kod numerike integracije zgodnije vorove numerirati od x1 do xn , (za c c razliku od numeracije x0 do xn u poglavlju o interpolaciji), pa je i i polinom stupnja n 1. Kao to se NewtonCtesove formule mogu dobiti integracijom Lagrangeovog s o interpolacijskog polinoma, tako se i Gaussove formule mogu dobiti integracijom Hermiteovog interpolacijskog polinoma. Takav pristup ekvivalentan je s pristupom u kojem zahtijevamo da Gaussove formule integriraju egzaktno polinome to je mogue s c vieg stupnja, tj. da vrijedi s
b n

w(x) xj dx =
a i=1

wi xj , i

j = 0, 1, . . . , 2n 1.

Mogli bismo iskoristiti ovu relaciju da napiemo 2n jednadbi za 2n nepoznanica xi s z i wi , medutim nepoznanice xi ulaze u sistem nelinearno, pa je ovakav pristup tei. z Cak i dokaz da taj nelinearni sistem ima jedinstveno rjeenje nije jednostavan. s Napiimo jo jednom formulu za Hermiteov interpolacijski polinom h2n1 , s s stupnja 2n 1, koji u vorovima integracije xi interpolira vrijednosti fi = f (xi ) c i fi = f (xi ), za i = 1, . . . , n. Iz relacija (7.2.21) i (7.2.22) dobivamo
n

h2n1 (x) =
i=1 n

hi,0 (x) fi + hi,1 (x) fi [1 2(x xi ) i (xi )] 2 (x) fi + (x xi ) 2(x) fi . i i

=
i=1

Integracijom dobijemo
b n

w(x) h2n1 (x) dx =


a i=1

Ai fi + Bi fi ,

(9.5.1)

gdje su
b

Ai =
a b

w(x) [1 2(x xi ) i (xi )] 2 (x) dx, i (9.5.2) w(x) (x xi ) 2 (x) dx. i


a

Bi =

Integracijska formula (9.5.1) slii na Gaussovu integracijsku formulu, osim to ima c s dodatne lanove Bi fi , koji koriste i derivacije funkcije f u vorovima integracije. c c Kad bi, kao u NewtonCotesovim formulama, vorovi xi bili unaprijed zadani, c iz uvjeta egzaktne integracije polinoma trebalo bi odrediti 2n parametara teinz c skih koecijenata Ai , Bi . Zato oekujemo da ovakva formula egzaktno integrira

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 512

polinome do stupnja 2n 1 (dimenzija prostora je 2n). No, za upotrebu ove formule trebamo znati ne samo funkcijske vrijednosti f (xi ) u vorovima, ve i vrijednosti c c c derivacije f (xi ) funkcije u tim vorovima. Zato je ideja da probamo izbjei koritenje derivacija, tako da izborom vorova c s c xi ponitimo koecijente Bi uz derivacije fi . Tonost integracijske formule mora s c ostati ista (egzaktna integracija polinoma stupnja do 2n 1), ali tako dobivena formula koristila bi samo funkcijske vrijednosti u vorovima, tj. postala bi Gaussova c integracijska formula. z c z Zaista, odgovarajuim izborom vorova xi moe se postii da teinski koecic c jenti Bi uz derivacije budu jednaki nula. Da bismo to dokazali, uvodimo posebni polinom vorova (engl. node polynomial) n , koji ima nultoke u svim vorovic c c ma integracije n := (x x1 )(x x2 ) (x xn ). Taj polinom smo ve susreli u poglavlju o Lagrangeovoj interpolaciji. Sljedei rezulc c tat govori o tome kako treba izabrati vorove. c Lema 9.5.1 Ako je n (x) = (x x1 ) (x xn ) ortogonalna s teinom w na z sve polinome nieg stupnja, tj. ako vrijedi z
b

w(x) n (x) xk dx = 0,
a

k = 0, 1, . . . , n 1,

(9.5.3)

onda su svi koecijenti Bi u (9.5.2) jednaki nula. Dokaz. Lagano provjerimo identitet (x xi ) i (x) = Supstitucijom u izraz (9.5.2) za Bi slijedi 1 Bi = n (xi )
b

n (x) . n (xi )

(9.5.4)

w(x) n (x) i (x) dx.


a

z Kako je i polinom stupnja n 1, i po pretpostavci je n ortogonalna s teinom w na sve takve polinome, tvrdnja slijedi. Lako se vidi da vrijedi i obrat ove tvrdnje, tj. da su svi koecijenti Bi = 0 z u (9.5.1), ako i samo ako je polinom vorova n ortogonalan na sve polinome nieg c stupnja (do n 1), s teinskom funkcijom w. Razlog tome je to su funkcije i , z s i = 1, . . . , n, Lagrangeove baze zaista baza prostora Pn1 (zadatak 7.2.2). Iz ranijih rezultata o ortogonalnim polinomima znamo da ortogonalni polinom c stupnja n obzirom na w postoji i jednoznano je odreden do na (recimo) vodei c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 513

koecijent. Da bismo dobili Gaussovu integracijsku formulu u (9.5.1), polinom vorova n mora biti ortogonalni polinom s vodeim koecijentom 1, tj. n postoji c c i jedinstven je. c Nadalje, uvjet ortogonalnosti (9.5.3) jednoznano odreduje raspored vorova c za Gaussovu integraciju. Iz teorema 7.8.2 slijedi da n ima n jednostrukih nultoaka u otvorenom intervalu (a, b) (to nam ba odgovara za integraciju). Njegove c s s z c nultoke x1 , . . . , xn moemo samo permutirati (drugaije indeksirati), a uz stanc dardni dogovor x1 < < xn , one su jednoznano odredene. c Time smo dokazali da postoji jedinstvena Gaussova integracijska formula oblika
a b

w(x) f (x) dx

wi f (xi ),
i=1

c Cvorovi integracije xi su nultoke ortogonalnog polinoma stupnja n na [a, b] s teinskom funkcijom w, a teinske koecijente moemo izraunati iz (9.5.2), budui z z z c c da je tada wi = Ai , za i = 1, . . . , n. Iskoristimo li pretpostavku ortogonalnosti iz leme 9.5.1, moemo pojednosz tavniti i izraze za koecijente wi = Ai u (9.5.2). Sasvim openito, koristei relaciju c c z za Bi , koecijent Ai moemo napisati u obliku
b b

Ai =
a

w(x) [1 2(x xi ) i (xi )]

2 i (x) dx

=
a

w(x) 2 (x) dx 2 i (xi )Bi . i

Uz uvjet ortogonalnosti (Gaussova integracija) je Bi = 0 i Ai = wi, pa je


b

wi =
a

w(x) 2(x) dx. i

Podintegralna funkcija je nenegativna i 2 je polinom stupnja 2(n 1) koji nije i nul-polinom, pa desna strana mora biti pozitivna. Dakle, slijedi da su svi teinski z koecijenti u Gaussovoj integraciji pozitivni, wi > 0, za i = 1, . . . , n, to je vrlo s bitno za numeriku stabilnost i konvergenciju. c Pokaimo jo da vrijedi i z s
b b

wi =
a

w(x)

2 i (x) dx

=
a

w(x) i (x) dx.

Oito, to je isto kao i dokazati c


b b b

w(x)
a

2 i (x) dx

w(x) i(x) dx =
a

w(x) i (x) ( i (x) 1) dx = 0.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 514

Ali polinom i (x) 1 se ponitava u toki x = xi , po deniciji polinoma i , jer s c je i (xj ) = ij . Znai da i (x) 1 mora sadravati x xi kao faktor, tj. moemo c z z napisati i (x) 1 = (x xi )q(x), gdje je q neki polinom stupnja n 2, za jedan manje od stupnja polinoma i . Dakle,
i (x) ( i (x)

1) =

n (x) 1 ( i (x) 1) = n (x) q(x), n (xi )(x xi ) n (xi )


b

pa je zbog ortogonalnosti n na sve polinome nieg stupnja z


b

1 w(x) i (x) ( i (x) 1) dx = n (xi )

w(x) n (x) q(x) dx = 0.


a

Pokazali smo da Gaussovu integracijsku formulu moemo dobiti kao integral z Hermiteovog interpolacijskog polinoma, uz odgovarajui izbor vorova, a za teinske c c z koecijente vrijedi
b

wi =
a

w(x) i (x) dx.

(9.5.5)

Primijetimo da je ova formula za koecijente ista kao i ona u NewtonCtesovim o formulama, to je ovdje posljedica pretpostavke o ortogonalnosti. U oba sluaja do s c integracijskih formula dolazimo interpolacijom funkcije u vorovima. c Pokaimo i primjerom da ortogonalnost produkta korijenskih faktora, tj. funkz cije n (x) na sve polinome nieg stupnja zapravo odreduje toke integracije xi . z c Primjer 9.5.1 Neka je w(x) = 1 i n = 3. Odredimo toke integracije iz uvjeta c ortogonalnosti. Uobiajeno je da za interval integracije uzmemo (1, 1), budui da c c integrale na drugim intervalima moemo lagano raunati, ako podintegralnu funkciju z c transformiramo linearnom supstitucijom. Problem se dakle svodi na to da odredimo nultoke kubine funkcije 3 (x) = a + bx + cx2 + x3 za koju vrijedi c c
1

3 (x) xk dx = 0,
1

k = 0, 1, 2.

Nakon integracije dobivamo sustav jednadbi za koecijente a, b, c z 2 2 2 2 2 b + = 0, a + c = 0, 2a + c = 0, 3 3 5 3 5 odakle nademo a = c = 0 i b = 3/5. Dobivamo 3 3 (x) = x3 x = x + 5 3 x x 5 3/5. 3 , 5

odakle slijedi da su toke integracije xi = 3/5, 0, c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 515

Teorijski, ovaj pristup moemo iskoristiti za sve mogue intervale integracije i z c razne teinske funkcije. Za vee n potrebno je odrediti nule polinoma visokog stupz c nja, to je egzaktno nemogue, a numeriki u najmanju ruku neugodno. Stoga je s c c potrebno za specijalne teine i intervale integracije doi do dodatnih informacija o z c ortogonalnim polinomima. Na kraju, bilo bi dobro izraunati formulom i teinske c z faktore wi u Gaussovim formulama. Analitiki je mogue doi do ovakvih rezulc c c tata za mnoge specijalne teine w(x) koje se pojavljuju u primjenama. Rijeimo z s na poetku vanu situaciju w 1, a = 1, b = 1. Pripadne formule nazvali c z smo GaussLegendreovima; u gornjem primjeru izraunali smo toke integracije za c c GaussLegendreovu formulu reda 3. Zadatak 9.5.1 Iz uvjeta egzaktnosti i poznatih toaka integracije za n = 3 izrauc c najte teinske koecijente wi . Primijetite da je sustav jednadbi linearan, pa stoga z z raunanje ovih faktora ne predstavlja vee probleme. c c

9.5.1.

GaussLegendreove integracijske formule

Prepostavimo u daljnjem da je w 1 na intervalu (1, 1) i izvedimo specijalnu Gaussovu formulu, tj. GaussLegendre-ovu formulu
1

f (x) dx
1

wi f (xi ).
i=1

Kao to znamo, Legendreov polinom stupnja n deniran je Rodriguesovom fors mulom 1 dn 2 (x 1)n . Pn (x) = n n 2 n! dx Tako denirani polinomi ine ortogonalnu bazu u prostoru polinoma stupnja n, c tj. oni su linearno nezavisni i ortogonalni obzirom na skalarni produkt
1

P, Q :=
1

P (x) Q(x) dx.

(9.5.6)

Pojavljuju se prirodno u parcijalnim diferencijalnim jednadbama, kod metode sez paracije varijabli za Laplaceovu jednadbu u kugli. Za nas je bitno samo jedno z specijalno svojstvo, iz kojeg slijede sva ostala: z Lema 9.5.2 Legendreov polinom stupnja n ortogonalan je na sve potencije xk nieg stupnja, tj. vrijedi
1

xk Pn (x) dx = 0,
1

za

k = 0, 1, . . . , n 1,

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 516

i vrijedi
1

2n+1 (n!)2 x Pn (x) dx = . (2n + 1)!


n

Dokaz. Uvrtavanjem Rodriguesove formule, nakon k (k < n) parcijalnih intes gracija dobivamo
1

dn 2 dn1 x (x 1)n dx = xk n1 (x2 1)n dxn dx


k =0 1

1 1

kxk1

dn1 2 (x 1)n dx dxn1

= = (1) k!
k 1

dnk 2 (x 1)n dx = 0, dxnk

pa smo dokazali prvu formulu. Za k = n, na isti nain imamo c


1

dn 2 x (x 1)n dx = (1)n n! dxn


n

(x 1) dx = 2n!
2 n 0 /2

(1 x2 )n dx

= {x = sin t} = 2n!
0

cos2n+1 t dt.

Za zadnji integral parcijalnom integracijom izlazi


/2

cos
0

2n+1

cos2n t sin t t dt = 2n + 1
=0

/2 0

2n + 2n + 1

/2

cos2n1 t dt
0 /2

2n(2n 2) 2 = = (2n + 1)(2n 1) 3 pa je stoga


1

cos t dt,
0

xn
1

dn 2 2n(2n 2) 2 . (x 1)n dx = 2n! n dx (2n + 1)(2n 1) 3

Pomnoimo li brojnik i nazivnik s 2n(2n 2) 2 = 2n n!, a zatim, zbog denicije z Legendreovog polinoma Pn , sve podijelimo s 2n n!, slijedi
1

xn Pn (x) dx =
1

2n n! 2n n! 2n+1 (n!)2 1 2n! = . 2n n! (2n + 1)! (2n + 1)!

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 517

Lema 9.5.3 Legendreovi polinomi su ortogonalni na intervalu (1, 1) obzirom na skalarni produkt (9.5.6)
1

Pm (x) Pn (x) dx = 0,
1

za

m = n.

Norma Legendreovog polinoma je


1

Pn

:=
1

[Pn (x)]2 dx =

2 . 2n + 1

Dokaz. Prva tvrdnja je direktna posljedica dokazane ortogonalnosti na potencije nieg stupnja. Druga tvrdnja slijedi iz z
1 1

[Pn (x)] dx =
1 1

1 2n n!

(2n)! n x + Pn (x) dx. n!

c Potencije manje od xn ne doprinose integralu, pa druga tvrdnja leme 9.5.2 povlai


1

2 (2n)! 2n+1 (n!)2 = . [Pn (x)] dx = n 2 (2n + 1)! 2 (n!) 2n + 1


2

Lema 9.5.4 Legendreovi polinomi Pn imaju n nultoaka, koje su sve realne i razlic ite, i nalaze se u otvorenom intervalu (1, 1). c Dokaz. Dokaz ide iz denicije Legendreovih polinoma Pn (x) = 1 dn 2 (x 1)n , 2n n! dxn

induktivnom primjenom Rolleovog teorema. Polinom (x2 1)n je stupnja 2n i ima viestruke (n-terostruke) nultoke u rubovima intervala 1. Prema Rolleovom s c teoremu, prva derivacija ima jednu nultoku u intervalu (1, 1). Medutim, prva c c derivacija je, takoder, nula u 1, pa ukupno mora imati tri nultoke u zatvorenom intervalu [1, 1]. Druga derivacija stoga ima dvije unutarnje nule po Rolleovom teoremu, i dvije u 1, pa ima ukupno etiri nule u [1, 1]. I tako redom, vidimo c da n 1-a derivacija ima n 1 unutarnju nultoku i jo dvije u 1. Na kraju c s zakljuimo da n-ta derivacija, koja je do na multiplikativni faktor jednaka Pn , ima c n unutarnjih nultoaka. c Na taj nain smo zapravo nali toke integracije u GaussLegendreovoj formuli c s c i bez eksplicitnog rjeavanja nelinearnog sistema jednadbi za wi i xi , iz uvjeta s z egzaktne integracije potencija najveeg mogueg stupnja. Taj rezultat rezimiran je c c u sljedeem teoremu. c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 518

Teorem 9.5.1 Cvorovi integracije u GaussLegendreovoj formuli reda n su nultoke c Legendreovog polinoma Pn , za svaki n. Dokaz. Znamo da su toke integracije xi nultoke polinoma n po konstrukciji. c c c Zbog uvjeta ortogonalnosti (9.5.3) polinom n , s vodeim koecijentom 1, proporcionalan je Legendreovom polinomu Pn . Vodei koecijent u Pn lako izraunamo iz c c Rodriguesove formule, odakle je n (x) = 2n (n!)2 Pn (x), (2n)!

pa vidimo da su sve nultoke polinoma n zapravo nultoke od Pn (lema 9.5.4). c c Primjer 9.5.2 Iz Rodriguesove formule moemo izraunati nekoliko prvih Legenz c dreovih polinoma. P0 (x) = 1, 1 d 2 P1 (x) = (x 1) = x, 2 dx 1 d2 2 1 P2 (x) = (x 1)2 = (3x2 1), 8 dx2 2 3 1 d 1 P3 (x) = (x2 1)3 = (5x3 3x), 3 48 dx 2 4 d 1 1 (x2 1)4 = (35x4 30x2 + 3), P4 (x) = 4 16 24 dx 8 1 P5 (x) = (63x5 70x3 + 15x), 8 1 (231x6 315x4 + 105x2 5), P6 (x) = 16 1 (429x7 693x5 + 315x3 35x), P7 (x) = 16 1 (6435x8 12012x6 + 6930x4 1260x2 + 35). P8 (x) = 128 c c Vidimo, na primjer, da su nultoke od P3 identine s tokama integracije koje smo c dobili u primjeru 9.5.1, direktno iz uvjeta ortogonalnosti. Raunanje nultoaka Legendreovih polinoma (na mainsku tonost!) nije jedc c s c nostavan problem, budui da egzaktne formule postoje samo za male stupnjeve. c Napomenimo za sad samo toliko, da postoje specijalni algoritmi, te da je dovoljno tabelirati te nultoke jednom, pa brzina algoritma nije vana, nego samo preciznost. c z Tabelirane nultoke (kao i teine wi ) mogue je nai u gotovo svim standardnim c z c c knjigama i tablicama iz podruja numerike analize. c c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 519

Postoji laki nain za raunanje Pn (x), zasnovan na injenici da Legendreovi s c c c polinomi zadovoljavaju trolanu rekurziju, iji se koecijenti mogu eksplicitno izc c raunati. Ova rekurzivna formula igra vanu ulogu i u konstrukciji spomenutog c z specijalnog algoritma za traenje nultoaka. z c Lema 9.5.5 Legendreovi polinomi zadovoljavaju rekurzivnu formulu (n + 1)Pn+1 (x) = (2n + 1)xPn (x) nPn1 (x), s poetnim vrijednostima P0 (x) = 1, P1 (x) = x. c Dokaz. Kako je xPn (x) polinom stupnja n + 1 i {Pi }n+1 baza za prostor polinoma i=0 stupnja do n + 1, postoje koecijenti ci tako da vrijedi
n+1

n 1,

xPn (x) =
i=0

ci Pi (x).

Pomnoimo li obje strane s Pk (x) i integriramo od 1 do 1, zbog ortogonalnosti z (lema 9.5.3) slijedi
1 1

xPk (x) Pn (x) dx = ck


1 1

2 Pk (x) dx.

(9.5.7)

Ali za k < n 1 je xPk (x) polinom stupnja manjeg ili jednakog n 1, pa je Pn (x) ortogonalan na njega (lema 9.5.2). Stoga je ck = 0 za k < n 1, a u sumi za xPn (x) ostaju samo zadnja tri lana c xPn (x) = cn+1 Pn+1 (x) + cn Pn (x) + cn1 Pn1 (x). Treba jo izraunati koecijente cn+1 , cn i cn1 . Kako je s c Pn (x) = (2n)! (2n)! n n (x) = n x + nie potencije od x, z 2n (n!)2 2 (n!)2 (9.5.8)

usporedimo li koecijente uz xn+1 u (9.5.8), dobivamo da je (2n + 2)! (2n)! = cn+1 n+1 , n (n!)2 2 2 [(n + 1)!]2 odakle slijedi da je n+1 . 2n + 1 Lagano se vidi (iz Rodriguesove formule) da se u Legendreovim polinomima pojavljuju samo alternirajue potencije, tj. P2n je linearna kombinacija parnih potenc 2k cija x , k = 0, . . . , n, a P2n+1 je linearna kombinacija neparnih potencija x2k+1 , cn+1 =

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 520

k = 0, . . . , n. Iz rekurzije (9.5.8) na osnovu toga zakljuimo da je cn = 0, pa c preostaje samo izraunati cn1 . Za k = n 1, iz (9.5.7) imamo da je c
1 1

xPn1 (x) Pn (x) dx = cn1


1 1

2 Pn1 (x) dx.

Zbog xPn1 (x) =

2n1 [(n

(2(n 1))! xn + nie potencije od x z 1)!]2


1 1

i ortogonalnosti Pn na sve nie potencije od x, dobivamo z (2n 2)! n1 [(n 1)!]2 2 x Pn (x) dx = cn1
1 1 n 2 Pn1 (x) dx.

Ovi integrali su poznati (lema 9.5.2 i lema 9.5.3), pa slijedi cn1 = n . 2n + 1

Tako smo nali sve nepoznate koecijente u linearnoj kombinaciji (9.5.8), odakle s odmah slijedi trolana rekurzija. Primijetimo da smo usput dokazali i formulu c
1

xPn1 (x) Pn (x) dx =


1

2n n 2 = 2 . 2n + 1 2n 1 4n 1

(9.5.9)

Zadatak 9.5.2 Budui da Legendreovi polinomi zadovoljavaju trolanu rekurziju, c c mogue je napisati algoritam za brzu sumaciju parcijalnih suma redova oblika c

an Pn (x),
n=0

poznat pod nazivom generalizirana Hornerova shema. Koristei rekurziju iz c leme 9.5.5, napiite eksplicitno taj algoritam. Razvoji po Legendreovim polinomima s pojavljuju se esto kod rjeavanja Laplaceove jednadbe u sfernim koordinatama. c s z Sljedee dvije leme korisne su za dobivanje ekplicitnih formula za teine u c z GaussLegendreovim formulama. Lema 9.5.6 (ChristoelDarbouxov identitet) Za Legendreove polinome Pn vrijedi (t x)
n

(2k + 1)Pk (x)Pk (t) = (n + 1) [Pn+1(t)Pn (x) Pn (t)Pn+1 (x)].

k=0

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 521

Dokaz. Pomnoimo li rekurziju iz leme 9.5.5 (uz zamjenu n k) s Pk (t), dobijemo z (2k + 1)xPk (x)Pk (t) = (k + 1)Pk+1(x)Pk (t) + kPk1 (x)Pk (t). Zamijenimo li x i t imamo (2k + 1)tPk (t)Pk (x) = (k + 1)Pk+1 (t)Pk (x) + kPk1 (t)Pk (x). Odbijanjem prve relacije od druge, slijedi (2k + 1)(t x)Pk (x)Pk (t) = (k + 1) [Pk+1 (t)Pk (x) Pk (t)Pk+1 (x)] k [Pk (t)Pk1 (x) Pk1 (t)Pk (x)]. Sumiramo li po k od 1 do n, sukcesivni lanovi u sumi na desnoj strani se krate, pa c ostaju samo prvi i zadnji (t x)
n

(2k + 1)Pk (x)Pk (t) = (n + 1) [Pn+1(t)Pn (x) Pn (t)Pn+1 (x)] (t x).

k=1

Zadnji lan moemo prebaciti na lijevu stranu kao nulti lan u sumi, a to je ba c z c s ChristoelDarbouxov identitet. Lema 9.5.7 Derivacija Legendreovih polinoma moe se rekurzivno izraziti pomou z c samih Legendreovih polinoma, formulom (1 x2 )Pn (x) + nxPn (x) = nPn1 (x), n 1.

Dokaz. Polinom (1 x2 )Pn + nxPn je oito stupnja manjeg ili jednakog od n + 1. c Napiimo Pn kao linearnu kombinaciju potencija od x (pojavljuje se samo svaka s druga potencija) Pn (x) = an xn + an2 xn2 + , pa je Pn (x) = nan xn1 + (n 2)an2 xn3 + . No, onda je (1 x2 )Pn (x) + nxPn (x) = (nan + nan )xn+1 + O(xn1 ), tj. polinom (1 x2 )Pn + nxPn je zapravo stupnja n 1. Kao i u dokazu rekurzivne formule, moraju postojati koecijenti ci takovi da vrijedi (1 x2 )Pn (x) + nxPn (x) =
n1

ci Pi (x).
i=0

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 522

Pomnoimo ovu relaciju s Pk (x) i integriramo od 1 do 1. Zbog ortogonalnosti, na z desnoj strani ostaje samo jedan lan c 2 ck = 2k + 1
1 1

(1 x ) Pn (x) Pk (x) dx + n
2 1 1

xPn (x) Pk (x) dx.

s Prvi integral integriramo parcijalno, pa kako se faktor (1 x2 ) ponitava na granicama integracije, slijedi 2 ck = 2k + 1
1

d Pn (x) [(1 x2 )Pk (x)] dx + n dx

xPn (x) Pk (x) dx.

Za k < n 1, oba integranda su oblika Pn (x) (polinom stupnja najvie n 1), pa s su svi ovi integrali jednaki nula (lema 9.5.2), tj. ck = 0 za k < n 1. Za k = n 1 treba izraunati dva integrala u prethodnoj relaciji. Drugi je jednostavan c
1

n
1

2n2 . xPn (x) Pn1 (x) dx = (9.5.9) = 2 4n 1


1

U prvom integralu
1

Pn (x)

d [(1 x2 )Pn1 (x)] dx, dx

zbog prve tvrdnje u lemi 9.5.2 (ortgonalnost), doprinos daje samo vodei lan u c c 2 (1 x )Pn1 (x), pa je taj integral jednak
1

Pn (x)
1

d (2n 2)! x2 n1 xn1 dx, 2 dx 2 [(n 1)!]

a zbog druge tvrdnje u lemi, integral se svodi na 2n(n + 1) 2n+1 (n!)2 (2n 2)! = . (n + 1) 2n1[(n 1)!]2 (2n + 1)! (2n + 1)(2n 1) Na kraju je cn1 = 2n2 2n(n + 1) 2n 1 + = n, 2 (2n + 1)(2n 1) (2n + 1)(2n 1)

to smo i htjeli dokazati. s Lema 9.5.8 Teinski faktori u GaussLegendreovim formulama mogu se eksplicitno z izraunati formulama c 2(1 x2 ) i wi = 2 , n [Pn1 (xi )]2 gdje su xi , i = 0, . . . , n, nultoke Legendreovog polinoma Pn . c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 523

Dokaz. Neka je xi nultoka polinoma Pn . Stavimo li t = xi u ChristoelDarbouxov c identitet (lema 9.5.6), dobivamo
n (n + 1)Pn+1 (xi )Pn (x) = (2k + 1)Pk (x)Pk (xi ). x xi k=0

Kad integriramo ovu jednakost od 1 do 1 i uzmemo u obzir da je k-ti Legendreov c polinom ortogonalan na konstantu Pk (xi ), na desnoj strani preostane samo lan za k=0 1 Pn (x) 2 dx = . (x xi ) (n + 1)Pn+1 (xi )
1

Trolana rekurzija iz leme 9.5.5 u nultoki xi Legendreovog polinoma Pn ima oblik c c (n + 1)Pn+1 (xi ) = nPn1 (xi ), pa je stoga
1

2 Pn (x) dx = . (x xi ) nPn1 (xi )

Za teinske koecijente wi vrijede relacije (9.5.5) i (9.5.4) z


1 1 i (x) dx 1

wi = pa je dakle

=
1

n (x) dx = n (xi )(x xi )

Pn (x) dx, Pn (xi )(x xi )

wi =

2 . nPn (xi ) Pn1 (xi )

(9.5.10)

Primijetimo da je ChristoelDarbouxov identitet potreban jedino zato da se izrauna neugodan integral c 1 Pn (x) dx, (x xi )
1

u kojem podintegralna funkcija ima uklonjivi singularitet. Na kraju, iskoristimo rekurzivnu formulu za derivacije Legendreovog polinoma iz leme 9.5.7 u specijalnom sluaju kada je x = xi . Dobivamo da vrijedi c (1 x2 )Pn (xi ) = nPn1 (xi ). i Uvrstimo li taj rezultat u (9.5.10), tvrdnja slijedi. U dokazu prethodne leme 9.5.8 pokazali smo (usput) da u nultoki xi Legenc dreovog polinoma Pn vrijedi (1 x2 )Pn (xi ) = nPn1 (xi ) = (n + 1)Pn+1 (xi ). i

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 524

Ovu relaciju moemo iskoristiti na razliite naine u (9.5.10), to daje pet raznih z c c s formula za teinske koecijente u GaussLegendreovim formulama z wi = 2(1 x2 ) 2(1 x2 ) i i = [nPn1 (xi )]2 [(n + 1)Pn+1 (xi )]2 2 2 = = nPn (xi ) Pn1 (xi ) (n + 1)Pn (xi ) Pn+1 (xi ) 2 = . 2 (1 xi ) [Pn (xi )]2

(9.5.11)

Sljedei teorem rezimira prethodne rezultate, i ujedno daje ocjenu greke za c s GaussLegendreovu integraciju. Teorem 9.5.2 Za funkciju f C 2n [1, 1] GaussLegendreova formula integracije glasi
1 n

f (x) dx =
1 i=1

wi f (xi ) + En (f ),

gdje su xi nultoke Legendreovog polinoma Pn i koecijenti wi dani u (9.5.11). Za c greku En (f ) vrijedi s 22n+1 (n!)4 f (2n) (), En (f ) = 3 (2n + 1) [(2n)!] (1, 1).

Dokaz. Treba samo dokazati formulu za ocjenu greke. Kako je GaussLegendreova s formula zapravo integral Hermiteovog interpolacijskog polinoma, treba integrirati greku kod Hermiteove interpolacije, koju smo procijenili u teoremu 7.2.5, i uvrstiti s odgovarajui n . Integracijom i primjenom teorema srednje vrijednosti za integrale, c dobivamo 1 f (2n) () 2 En (f ) = n (x) dx, (2n)!
1

za neki (1, 1). Kako je n (x) = 2n (n!)2 Pn (x), (2n)!

zbog poznatog kvadrata norme Legendreovog polinoma (lema 9.5.3), imamo En (f ) = f (2n) () 2n (n!)2 (2n)! (2n)!
2

22n+1 (n!)4 2 = f (2n) (). 2n + 1 (2n + 1) [(2n)!]3

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 525

Navedeni izraz za greku nije lagano primijeniti, budui da je potrebno nai s c c neku ogradu za vrlo visoku derivaciju funkcije f (red derivacije je dva puta vei nego c kod NewtonCtesovih formula). Clan uz f (2n) () vrlo brzo pada s porastom n. Na o primjer, za n = 6, greka je oblika s 1.6 1012 f (12) (). Da ocjena greke za Gaussove formule moe biti previe pesimistina, pokazuje s z s c sljedei primjer. c Primjer 9.5.3 Primijenimo GaussLegendreovu formulu na integral
/2

log(1 + t) dt = 1 +
0

log 1 +

1 + 1. 2

Zamjena varijable t = (x + 1)/4 prebacuje integral na standardnu formu


1

(x + 1) log 1 + dx. 4 4

U ovom sluaju moemo lagano izraunati bilo koju derivaciju podintegralne funkcije, c z c koja raste s faktorijelima. Zapravo, sve ocjene greke formula za numeriku intes c graciju pokazuju slino ponaanje (usporedite, na primjer, trapeznu i Simpsonovu c s formulu), ali Gaussove formule naroito, budui da ukljuuju visoke derivacije. Tako c c c je, na primjer, osma derivacija, koja je potrebna za Gaussovu formulu s etiri toke c c jednaka 9 7! , 4 (1 + t)8 pa je greka 7! puta vea nego da smo, recimo, integrirali trigonometrijsku funkciju s c sin ili cos, koje imaju ograniene derivacije. Ipak, lagano vidimo da ve sa est c c s toaka dobivamo 6 znamenaka tono, iako ocjena greke ukljuuje faktor od 11!. c c s c Simpsonovoj formuli treba 64 toke za istu tonost. Moemo slutiti, da je za analic c z tike funkcije mogua bolja ocjena greke. c c s Korolar 9.5.1 (Uvjeti egzaktnosti) GaussLegendreova formula egzaktno integrira polinome stupnja 2n 1. Dokaz. Oito, budui da se greka, koja ukljuuje 2n-tu derivaciju, ponitava na c c s c s takvim polinomima. Svojstvo iz gornjeg korolara moe se upotrijebiti za alternativni dokaz teoz rema 9.5.2, kao to smo napomenuli na poetku. Hermiteova interpolacija posluila s c z je kao trik, da izbjegnemo rjeavanje nelinearnog sistema koji proizilazi iz uvjeta s egzaktnosti.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 526

Rekurziju za derivacije Legendreovih polinoma iz leme 9.5.7 moemo koristiti z i za raunanje vrijednosti Pn (x) c (1 x2 )Pn (x) = n(Pn1 (x) xPn (x)), n 1.

Naalost, ova formulu ne moemo upotrijebiti u rubnim toakama x = 1, zbog z z c dijeljenja s nulom. Medutim, Legendreovi polinomi zadovoljavaju i mnoge druge rekurzivne relacije. Neke od njih dane su u sljedeem zadatku. c Zadatak 9.5.3 Dokaite da za Legendreove polinoma vrijedi Pn (1) = 1, za n 0, z z to opravdava izbor normalizacije. Takoder, dokaite da za n 1 vrijede rekurzivne s relacije Pn (x) xPn1 (x) = nPn1 (x), xPn (x) Pn1 (x) = nPn (x), Pn+1 (x) Pn1 (x) = (2n + 1)Pn (x)
x

Pn (t) dt =
1

1 (Pn+1 (x) Pn1 (x)). 2n + 1

Na kraju, primijetimo da Gaussove formule moemo shvatiti i kao rjeenje z s optimizacijskog problema: nai toke integracije tako da egzaktno integriramo polic c nom to veeg stupnja sa to manje vorova. Rezultat su formule visoke tonosti, s c s c c koje se lagano implementiraju, i imaju vrlo mali broj izvrednjavanja podintegralne funkcije. Cijenu smo platili time to ocjena greke zahtijeva vrlo glatku funkciju, s s ali takoder i time to upotreba takvih formula na nijoj mrei zahtijeva ponovno s z raunanje funkcije u drugim vorovima, koji s vorovima formule nieg reda nemaju c c c z nita zajedniko. Kod pronjavanja mree vorova za formule NewtonCtesovog s c z c o tipa (na primjer, raspolavljanjem h), naprotiv, jedan dio vorova ostaje zajedniki, c c pa ve izraunate funkcijske vrijednosti moemo iskoristiti (kao u Rombergovom c c z algoritmu).

9.5.2.

Druge Gaussove integracijske formule

U praksi se esto javljaju specijalni integrali koji ukljuuju teinske funkcije c c z 2 c c poput ex , ex i mnoge druge, na specijalnim intervalima, esto neogranienim. Jednostavnom linearnom supstitucijom nije mogue takve intervale i/ili teinske c z funkcije prebaciti na interval (1, 1) i jedininu teinsku funkciju situaciju u c z kojoj moemo primijeniti GaussLegendreove formule. z Alternativa je iskoristiti odgovarajue Gaussove formule s prirodnom teinc z skom funkcijom. Iz prethodnog odjeljka znamo da za vorove integracije treba uzeti c nultoke funkcije n (x) = (x x1 ) (x xn ), s tim da vrijede relacije ortogoc z s nalnosti (9.5.3). Teine wi onda moemo odrediti rjeavanjem linearnog sistema, a z

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 527

moda u specijalnim sluajevima moemo doi i do eksplicitnih formula, kao to smo z c z c s to uinili u sluaju GaussLegendreovih formula. Postavlja se pitanje da li moemo c c z doi do formula za polinome koji su ortogonalni (obzirom na teinsku funkciju w) c z na polinome nieg stupnja, ukljuivo i ostale formule na koje smo se oslanjali, poput z c trolane rekurzije i slino (v. lema 9.5.2). c c U mnogim vanim sluajevima, ali ne i uvijek, mogue je analitiki doi do forz c c c c mula slinim onima u sluaju GaussLegendreove integracije. U drugim sluajevima, c c c koji nisu pokriveni egzaktnim formulama, u principu je mogue generirati ortogoc sevljev algoritam) nalne polinome i numeriki. Poznati postupci (Stieltjesov i Cebi c ne pokrivaju, medutim, sve mogue situacije, tj. nisu uvijek numeriki stabilni, to c c s ostavlja postora za daljnja istraivanja. Sluajevi tzv. klasinih ortogonalnih z c c polinoma uglavnom se mogu karakterizirati na osnovu sljedea dva teorema, od c kojih je prvi egzistencijalni, i vezan uz teoriju rubnih problema za obine diferencic jalne jednadbe. z Teorem 9.5.3 (Generalizirana Rodriguesova formula) Na otvorenom intervalu (a, b) postoji, do na multiplikativnu konstantu, jedinstvena funkcija Un (x) koja zadovoljava diferencijalnu jednadbu z D n+1 i rubne uvjete 1 D n Un (x) = 0 w(x)

Un (a) = DUn (a) = = D n1 Un (a) = 0, Un (b) = DUn (b) = = D n1 Un (b) = 0.

Ovdje opet koristimo oznaku D za operator deriviranja funkcije f jedne varijable, kad je iz konteksta oito po kojoj varijabli se derivira, jer ta oznaka znatno c skrauje zapis nekih dugih formula. Onda n-tu derivaciju funkcije f u toki x c c moemo pisati u bilo kojem od sljedea tri oblika z c D n f (x) = dn f (x) = f (n) (x). dxn

Budui da nas interesiraju rjeenja koja se mogu eksplicitno konstruirati, c s neemo dokazivati ovaj teorem. U svakom konkretnom sluaju, za zadane a, b i c c s w(x), konstruirat emo funkciju Un formulom. Napomenimo jo da teorem 9.5.3 c vrijedi i na neogranienim i poluogranienim intervalima, tj. u sluajevima a = c c c i/ili b = . Funkcije Un iz prethodnog teorema generiraju familiju ortogonalnih polinoma na (a, b) s teinskom funkcijom w. z

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 528

Teorem 9.5.4 Uz pretpostavke teorema 9.5.3, funkcije pn (x) = 1 D n Un (x) w(x)

su polinomi stupnja n koji su ortogonalni na sve polinome nieg stupnja na intervalu z (a, b) obzirom na teinsku funkciju w(x), tj. vrijedi z
b

w(x) pn (x) xk dx = 0,
a

za

k = 0, 1, . . . , n 1.

c z Dokaz. Funkcija pn je oito polinom stupnja n, jer je D n+1 pn (x) = 0. Da dokaemo ortogonalnost, pretpostavimo da je n 1. Za k = 0 imamo odmah po Newton Lebnitzovoj formuli
b b

w(x) pn (x) dx =
a a

D n Un (x) dx = (n 1) = D n1 Un (x) = 0,
a

zbog rubnih uvjeta D n1Un (a) = D n1 Un (b) = 0. Za 1 k n1, integriramo parcijalno k puta i iskoristimo opet rubne uvjete koje zadovoljava funkcija Un . Dobivamo redom
b b

w(x)pn (x) x dx =
a a

xk D n Un (x) dx
b b

=x D

n1

Un (x)
a

k
a

xk1 D n1 Un (x) dx
b

=0

= k

k1

n2

Un (x)
a

(k 1)
a

xk2 D n2 Un (x) dx
b

=0

= = (1)

k1

k(k 1) 2 x D

nk

Un (x)
a b

D nk Un (x) dx

=0

= (1)k k(k 1) 2 1 D nk1 Un (x)


=0

= 0,
a

jer je nk 1 0. Primijetimo da smo za dokaz ortogonalnosti iskoristili sve rubne uvjete na funkciju Un . Ovaj teorem u mnogim sluajevima omoguava efektivnu konstrukciju ortogoc c nalnih polinoma.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 529

Primjer 9.5.4 Neka je w(x) = 1 na intervalu (1, 1). Nadimo pripadne ortogonalne polinome. Prema teoremu 9.5.3, prvi korak je rjeavanje diferencijalne jednadbe s z D n+1 (D n Un (x)) = D 2n+1 Un (x) = 0, uz rubne uvjete Un (1) = DUn (1) = = D n1 Un (1) = 0. Polinom 2n-tog stupnja koji se ponitava u krajevima mora, zbog simetrije, biti oblika s Un (x) = Cn (x2 1)n , gdje je Cn proizvoljna multiplikativna konstanta (razliita od c nule). Tradicionalno, konstanta Cn uzima se u obliku Cn = 1 2n n! .

Pripadni ortogonalni polinomi su tada, prema teoremu 9.5.4, dani formulom Pn (x) = 1 2n n! D n (x2 1)n ,

tj. dobivamo, oekivano, Legendreove polinome. c Zadatak 9.5.4 Pokaite da je multiplikativna konstanta Cn odabrana tako da vriz z jedi Pn (1) = 1, za svako n. Takoder, pokaite da vrijedi |Pn (x)| 1, za svaki z x [1, 1] i svaki n 0. To znai da Pn dostie ekstreme u rubovima intervala, c to je dodatno opravdanje za izbor normalizacije, jer je Pn = 1 na [1, 1]. s Primjer 9.5.5 Neka je w(x) = ex na intervalu (0, ), za neki > 0. Nadimo pripadne ortogonalne polinome. Prema teoremu 9.5.3, trebamo prvo rijeiti diferens cijalnu jednadbu z D n+1 (ex D n Un (x)) = 0, uz rubne uvjete Un (0) = DUn (0) = = D n1 Un (0) = 0, Un () = DUn () = = D n1 Un () = 0. Oito je rjeenje oblika c s Un (x) = ex (c0 + c1 x + + cn xn ) + d0 + d1 x + + dn1 xn1 . c c Rubni uvjet u toki povlai d0 = = dn1 = 0, a rubni uvjet u toki 0 povlai c c c0 = = cn1 = 0, pa je Un (x) = Cn xn ex . Polinomi za koje je = 1 i Cn = 1 zovu se tradicionalno Laguerreovi polinomi, u oznaci Ln . Njihova Rodriguesova formula je dakle Ln (x) = ex D n (xn ex ).

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 530

U opem sluaju, za = 1, uz Cn = 1, lagano vidimo da je pn (x) = Ln (x). Tada c c vrijede relacije ortogonalnosti

ex Lm (x) Ln (x) dx = 0,
0

m = n.

Napomenimo jo da oznaku Ln koristimo za ortonormirane Laguerreove polinome. s Njih dobivamo izborom normalizacijske konstante Cn = 1/n!, pa su Ln i Ln vezani relacijom Ln (x) = n! Ln (x). Primjer 9.5.6 Neka je w(x) = e x na intervalu (, ), za neki = 0. s Nadimo pripadne ortogonalne polinome. Prema teoremu 9.5.3, trebamo prvo rijeiti diferencijalnu jednadbu z D n+1 (e uz rubne uvjete Un () = DUn () = = D n1 Un () = 0. Lagano pogodimo da je Un (x) = Cn e
2 x2 2 x2 2 2

D n Un (x)) = 0,

Odaberemo li 2 = 1 i multiplikativnu konstantu Cn = (1)n , dolazimo do klasinih c polinoma, koji nose ime Hermiteovi polinomi, u oznaci Hn , s Rodriguesovom formulom 2 2 Hn (x) = (1)n ex D n (ex ). U opem sluaju, za 2 = 1, uz Cn = ()n , lagano vidimo da su polinomi koje c c traimo oblika z 2 2 2 2 pn (x) = Hn (x) = ()n e x D n (e x ). Pripadne relacije ortogonalnosti su

2 x2

Hm (x) Hn (x) dx = 0,

m = n.

U literaturi se ponekad moe nai jo jedna denicija za klasine Hermiteove poliz c s c 2 n nome, koja odgovara izboru = 1/2, uz Cn = (1) . Svi ortogonalni polinomi zadovoljavaju trolane rekuzije (v. izvod Stieltjesovog c algoritma uz metodu najmanjih kvadrata). Za Laguerreove i Hermiteove polinome mogu se analitiki izraunati koecijenti u rekurziji, postupkom koji je vrlo slian c c c onom kojeg smo u detalje proveli u sluaju Legendreovih polinoma. Primijetimo, c s takoder, da i Cebievljevi polinomi prve vrste zadovoljavaju relacije ortogonalnosti i trolanu rekurziju, i da smo taj sluaj do kraja prouili. Kako su vorovi Gaussove c c c c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 531

formule integracije reda n nultoke odgovarajueg ortogonalnog polinoma pn , prec c ostaje jo samo izraunati teine wi po formuli (9.5.5). Sasvim openito, moe se s c z c z pokazati da vrijedi
b

wi =
a

1 w(x) i (x) dx = pn (xi )

w(x)
a

pn (x) dx, x xi

gdje su i polinomi Lagrangeove baze, i te integrale treba nai egzaktno. Formule c za teine mogu se dobiti za cijeli niz klasinih ortogonalnih polinoma, ali njihovo z c raunanje ovisi o specijalnim svojstvima, posebnim rekurzijama i identitetima oblika c ChristoelDarbouxovog. Obzirom na duljinu ovih izvoda, zadovoljimo se s kratkim opisom nekoliko najpoznatijih Gaussovih formula. GaussLaguerreove formule Formule oblika
n

ex f (x) dx
0

wi f (xi )
i=1

zovu se GaussLaguerreove formule. Cvorovi integracije su nultoke polinoma c Ln deniranih Rodriguesovom formulom Ln (x) = ex a teine u Gaussovoj formuli su z wi = [(n 1)!]2 xi (n!)2 xi = [nLn1 (xi )]2 [Ln+1 (xi )]2 (n!)2 [(n 1)!]2 = Ln (xi ) Ln1 (xi ) Ln (xi ) Ln+1 (xi ) dn n x (x e ), dxn

= =

(n!)2 . xi [Ln (xi )]2 (n!)2 (2n) f (), (2n)!

Greka kod numerike integracije dana je formulom s c En (f ) = (0, ).

GaussHermiteove formule Formule oblika


n

ex f (x) dx

wi f (xi )
i=1

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 532

zovu se GaussHermiteove formule. Cvorovi integracije su nultoke polinoma c Hn deniranih Rodriguesovom formulom Hn (x) = (1)n ex a teine u Gaussovoj formuli su z 2n1 (n 1)! 2n+1 n! = wi = n[Hn1 (xi )]2 [Hn+1 (xi )]2 2n+1 n! 2n (n 1)! = = Hn (xi ) Hn1(xi ) Hn (xi ) Hn+1(xi ) 2n+1 n! = . [Hn (xi )]2 Greka kod numerike integracije dana je formulom s c n! (2n) f (), (, ). En (f ) = n 2 (2n)! GaussCebievljeve formule s Formule oblika
1
2

dn x2 (e ), dxn

1 f (x) dx 1 x2

wi f (xi )
i=1

zovu se GaussCebievljeve formule. Cvorovi integracije su nultoke Cebievs c s ljevih polinoma Tn (x) = cos(n arccos(x)). Izuzetno, te se nultoke mogu eksplicitno c izraunati c (2i 1) xi = cos . 2n Sve teine wi su jednake z wi = . n Greka kod numerike integracije dana je formulom s c En (f ) = 22n1 (2n)! f (2n) (), (1, 1).

Zadatak 9.5.5 Neka je teinska funkcija w(x) = (x a) (b x) na intervalu z s (a, b), gdje su > 1 i > 1. Nadite funkciju Ur i napiite Rodriguesovu formulu! Pridrueni ortogonalni polinomi zovu se Jacobijevi polinomi. Legendreovi z s i Cebievljevi polinomi specijalni su sluaj. c

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 533

Pomou Gaussovih formula moemo jednostavno raunati neke odredene intec z c grale analitiki, kao to se vidi iz sljedeih primjera. c s c Primjer 9.5.7 Ako GaussLaguerreovom formulom reda n = 1 raunamo integral c

ex dx,
0

imamo priblinu formulu z

ex f (x) dx f (1),
0

budui da je L1 (x) = 1 x, pa je x1 = 1 i w1 = 1/[L (1)]2 = 1. Kako formula c egzaktno integrira konstante, za f (x) = 1 imamo

ex dx = f (1) = 1.
0

Slino, za f (x) = ax + b, budui da formula egzaktno integrira i linearne funkcije, c c

ex (ax + b) dx = f (1) = a + b.
0

s Primjer 9.5.8 Ako GaussCebievljevom formulom raunamo c


1

x4 dx 1 x2

s zgodno je upotrijebiti formulu GaussCebieva reda 3, koja zahtijeva nultoke polic 3 noma T3 (x) = 4x 3x, a to su x1 = 0, x2,3 = 3/2. Formula vodi na egzaktan rezultat 1 9 x4 9 3 + . dx = 0+ = 3 16 16 8 1 x2
1

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 534

10. Obine c diferencijalne jednadbe z


10.1. Uvod

Rjeavanje diferencijalnih jednadbi je problem koji se esto javlja u raznim s z c primjenama. Dok je nekim jednadbama rjeenje mogue eksplicitno izraziti pomou z s c c poznatih funkcija, daleko su brojnije one jednadbe za koje ne moemo napisati egzaz z ktno rjeenje. Stoga takve jednadbe rjeavamo numeriki. Ponekad je ak bre s z s c c z i jednostavnije izraunati rjeenje numerikim putem umjesto dugotrajnim analc s c itikim postupkom. c Opisat emo nekoliko najeih numerikih metoda za rjeavanje obinih diferc c sc c s c encijalnih jednadbi (skraeno ODJ) oblika z c y (x) = f (x, y(x)), y (a, b), (10.1.1)

uz zadani poetni uvjet y(a) = y0 ili uz zadani rubni uvjet r(y(a), y(b)) = 0, gdje je c r neka zadana funkcija. Sustav obinih diferencijalnih jednadbi je openitiji problem: c z c y1 = f1 (x, y1 , . . . , yn ), y2 = f2 (x, y1 , . . . , yn ), . . . yn = fn (x, y1 , . . . , yn ). c Medutim, koristei vektorsku notaciju y = [y1 , . . . , yn ]T i f = [f1 , . . . , fn ]T

sustav piemo u obliku analognom jednadbi (10.1.1): s z y (x) = f(x, y(x)),

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 535

te primijenjujemo iste numerike metode kao za rjeavanje diferencijalne jednadc s z be (10.1.1) vodei rauna o tome da se umjesto skalarnih funkcija y i f javljaju c c vektorske funkcije y i f. Diferencijalne jednadbe vieg reda z s y (n) = f (x, y, y , y , . . . , y (n1)) supstitucijama y1 = y, y2 = y , ..., yn = y (n1) svodimo na sustav jednadbi prvog reda: z y1 = y = y2 , y2 = y = y3 , . . . yn1 = y (n1) = yn , yn = y (n) = f (x, y, y , y , . . . , y (n1) ) = f (x, y1 , y2, y3 , . . . , yn ), te i u ovom sluaju moemo koristiti metode razvijene za diferencijalnu jednadc z z bu (10.1.1). I za sustav diferencijalnih jednadbi i za jednadbu vieg reda razlikujemo iniz z s cijalni (poetni ili Cauchyjev) problem i rubni problem. U ovom poglavlju prikazat c emo sljedee metode za rjeavanje inicijalnog problema: c c s RungeKuttine metode, linearne viekorane metode. s c

10.2.

Inicijalni problem za obinu diferencijalnu c jednadbu. Eulerova metoda z

Eulerova metoda je zasigurno najjednostavnija metoda za rjeavanje inicijalnog s problema za ODJ oblika y = f (x, y), y(a) = y0 . z Metoda se zasniva na ideji da se y u gornjoj jednadbi zamijeni s podijeljenom razlikom y(x + h) y(x) + O(h), y (x) = h pa rjeenje diferencijalne jednadbe zadovoljava s z y(x + h) = y(x) + hy (x) + O(h2 ) = y(x) + hf (x, y(x)) + O(h2 ).

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 536

Zanemarivanjem kvadratnog lana u gornjem razvoju dobivamo aproksimaciju c y(x + h) y(x) + hf (x, y(x)). Ova formula je tonija to je h manji, tako da aproksimacija c s y(b) y(a) + (b a)hf (a, y(a)) = y0 + hf (a, y0 ) moe biti jako neprecizna. Stoga interval [a, b] podijelimo na n jednakih dijelova te z stavimo ba h= , xi = a + ih, i = 0, . . . , n. n Koritenjem (10.2.1), prvo aproksimiramo rjeenje u toki x1 = a + h s s c y(x1) y1 = y0 + hf (x0 , y0 ). Dobivenu aproksimaciju y1 iskoristimo za raunanje aproksimacije rjeenja u toki c s c x2 = x1 + h: y2 = y1 + hf (x1 , y1 ), te postupak ponavljamo sve dok ne dodemo do kraja intervala b = xn . Opisani postupak nazivamo Eulerova metoda, i moemo ga krae zapisati z c rekurzijom yi+1 = yi + hf (xi , yi ), i = 1, . . . , n, z gdje je poetni uvjet y0 zadan kao inicijalni uvjet diferencijalne jednadbe. Dobivene c vrijednosti yi su aproksimacije rjeenja diferencijalne jednadbe u tokama xi . s z c (10.2.1)

10.3.

RungeKuttine metode

Koristei slinu ideju kao u Eulerovoj metodi, diferencijalnu jednadbu c c z y = f (x, y), y(a) = y0 (10.3.1)

na intervalu [a, b], moemo rjeavati tako da podijelimo interval [a, b] na n jednakih z s podintervala, oznaivi c s h= ba , n xi = a + ih, i = 0, . . . , n.

s c c s Sada yi+1 , aproksimaciju rjeenja u toki xi+1 , raunamo iz yi koritenjem aproksimacije oblika y(x + h) y(x) + h(x, y(x), h; f ), (10.3.2) te dobivamo rekurziju: yi+1 = yi + h(xi , yi, h; f ), i = 0, . . . , n 1. (10.3.3)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 537

Funkciju nazivamo funkcija prirasta, a razliit izbor te funkcije denira razliite c c metode. Uoimo da je funkcija f iz diferencijalne jednadbe (10.3.1) parametar od c z (tj. zavisi o f ). Tako je npr. u Eulerovoj metodi (x, y, h; f ) = f (x, y). Metode oblika (10.3.3) zovemo jednokorane metode (jer za aproksimaciju yi+1 c koristimo samo vrijednost yi u prethodnoj toki xi , tj. u jednom koraku dobijemo c yi+1 iz yi ). Da bismo pojednostavili zapis, ubudue emo f izostaviti kao argument c c funkcije . O odabiru funkcije ovisi i tonost metode. Za oekivati je da ako izaberemo c c tako da aproksimacija tonog rjeenja y(x + h) dana s (10.3.2) bude to tonija, c s s c s da e tonija biti i aproksimacija yi za y(xi ) dana rekurzijom (10.3.3). Pogreku c c aproksimacije (10.3.2): (x; h) = (x; h) (x, y(x), h), gdje je y(x) tono rjeenje diferencijalne jednadbe (10.3.1) i c s z (x; h) = y(x + h) y(x) , h (10.3.4)

nazivamo lokalna pogreka diskretizacije. s Red metode odgovara njezinoj tonosti. Openito, za jednokorane metode c c c kaemo da su reda p ako je z (x; h) = O(hp ). Sto je vei p metoda je tonija, a to postiemo odabirom funkcije . c c z Pod tonou metode podrazumijevamo ponaanje pogreke y(xi ) yi. Da c sc s s bismo pojednostavnili argumentaciju, promatrat emo pogreku u ksiranoj toki c s c b. Ako je jednokorana metoda reda p, tada je c y(b) yn = O(hp ). Uoimo da je h = (b a)/n te da je yn uvijek (za svaki n) aproksimacija za y(b). c Najpoznatije jednokorane metode su svakako RungeKuttine metode. Kod c njih je funkcija oblika
r

(x, y, h) =
j=1

j kj (x, y, h),

a kj su zadani s
r

kj (x, y, h) = f x + cj h, y + h
l=1

ajl kl (x, y, h, f ) ,

j = 1, . . . , r.

(10.3.5)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 538

Broj r zovemo broj stadija RungeKuttine (RK) metode, i on oznaava koliko puta c moramo raunati funkciju f u svakom koraku. c Razliit izbor koecijenata j , cj i ajl denira razliite metode. Ovi koecijenti c c se najee biraju tako da red metode bude to je mogue vei. Iz izraza (10.3.5) c sc s c c vidimo da se kj nalazi na lijevoj i na desnoj strani jednadbe, tj. zadan je implicitno z te govorimo o implicitnoj RungeKuttinoj metodi. U praksi se najvie koriste s z c metode gdje je ajl = 0 za l j. Tada kj moemo izraunati preko k1 , . . . , kj1 , tj. funkcije kj su zadane eksplicitno. Takve RK metode nazivamo eksplicitnima. Nadalje, obino se dodaje uvjet c
r

ajl = cj .
l=1

s Ovaj izvor koecijenata cj je detaljnije objanjen u poglavlju 10.3.1.. Primjer odabira koecijenata prikazat emo na RK metodi s dva stadija: c (x, y, h) = 1 k1 (x, y, h) + 2 k2 (x, y, h), k1 (x, y, h) = f (x, y), k2 (x, y, h) = f (x + ah, y + ahk1 ). Razvojem k2 u Taylorov red po varijabli h dobivamo h2 (fxx a2 + 2fxy a2 f + fyy a2 f 2 ) + O(h3 ), 2 gdje su fx i fy prve parcijalne deivacije funkcije f = f (x, y) po x, odnosno y, a fxx , fxy i fyy odgovarajue druge parcijalne derivacje. Razvoj rjeenja diferencijalne c s jednadbe y(x) ima oblik z k2 (x, y, h) = f + h(fx a + fy af ) + y(x + h) = y(x) + hf + h2 h3 (fx + fy f ) + [fxx + 2fxy f + fyy f 2 + fy (fx + fy f )] + O(h4 ). 2 6

Ovdje smo iskoristili da je y(x) rjeenja diferencijalne jednadbe: s z y (x) = f (x, y) = f, te pravila za deriviranje y (x) = fx + fy f, y (x) = fxx + 2fxy f + fyy f 2 + fy (fx + fy f ). Sada je lokalna pogreka diskretizacije jednaka s y(x + h) y(x) y(x + h) y(x) (x, y(x), h) = (1 k1 (x, y, h) + 2 k2 (x, y, h)) h h 1 = (1 1 2 )f + h(fx + fy f ) 2 a 2 1 2 a2 1 + h2 (fxx + 2fxy f + fyy f 2 ) + fy (fx + fy f ) 6 2 6 3 + O(h ).

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 539

Da bi metoda bila reda 1 koecijente treba odabrati tako da se poniti prvi lan u s c gornjem razvoju: 1 1 2 = 0. Ukoliko je zadovoljeno i 1 2 a = 0 2 metoda e biti reda 2. Uvodenjem slobodnog koecijenta t rjeenje ove dvije jedc s nadbe moemo napisati u obliku: z z 2 = t = 0, 1 = 1 t, a= 1 . 2t

Uoimo da t ne moemo odabrati tako da ponitimo i lan uz h2 tako da metoda c z s c bude reda 3. Ukoliko je 2 = 0, radi se o metodi s jednim stadijem, i to upravo o Eulerovoj metodi. Za t = 1/2 dobivamo Heunovu metodu: 1 (k1 + k2 ), 2 k1 = f (x, y), k2 = f (x + h, y + hk1 ), = dok se za t = 1 dobiva modicirana Eulerova metoda: h h = f x + , y + f (x, y) . 2 2 Najrairenije su metode sa etiri stadija. Odgovarajue jednadbe koje moraju s c c z zadovoljavati koecijenti RK-4 metoda su: 1 + 2 + 3 + 4 = 1, 1 2 c2 + 3 c3 + 4 c4 = , 2 1 2 c2 + 3 c2 + 4 c2 = , 2 3 4 3 1 3 c2 a32 + 4 (c2 a42 + c3 a43 = , 6 1 2 c3 + 3 c3 + 4 c3 = , 2 3 4 4 1 3 c2 a32 + 4 (c2 a42 + c2 a43 ) = , 2 2 3 12 1 3 c2 c3 a32 + 4 (c2 a42 + c3 a43 )c4 = , 8 1 4 c2 a32 a43 = , 24 (10.3.6) (10.3.7) (10.3.8) (10.3.9) (10.3.10) (10.3.11) (10.3.12) (10.3.13)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 540

gdje je c1 = 0, c3 = a31 + a32 , c2 = a21 , c4 = a41 + a42 + a43 .

Uvjet (10.3.6) treba biti zadovoljen da bi metoda bila reda 1, uvjet (10.3.7) za red 2, uvjeti (10.3.8)(10.3.9) za red 3, dok za red 4 trebaju biti ispunjeni i uvjeti (10.3.10) (10.3.13). Ukupno imamo 10 koecijenata i 8 jednadbi ukoliko je metoda reda 4. z Za metodu s tri stadija uvrtavanjem s c4 = a41 = a42 = a43 = 4 = 0 dobivamo 9 koecijenata i 7 jednadbi. Metoda s etiri stadija moe postii najvie z c z c s red etiri, tj. ne moemo dva stupnja slobode iz sustava jednadbi iskoristiti da red c z z metode podignemo na pet. Openito, za metode s jednim, dva, tri i etiri stadija najvei mogui red c c c c metode odgovara broju stadija. Za metode s 5, 6 i 7 stadija najvei mogui red je 4, c c 5 i 6, dok je za metode s 8 i vie stadija najvei mogui red barem za dva manji od s c c broja stadija. To je razlog zato su metode s etiri stadija najpopularnije. Red je 4, s c a da bismo postigli red 5 trebamo poveati broj stadija barem za dva, to poveava c s c sloenost metode. z Evo nekoliko primjera RK-4 metoda. Najpopularnija je klasina Runge c Kutta metoda, koja se u literaturi najee naziva RungeKutta ili RK-4 metoda c sc (iako je to samo jedna u nizu RungeKutta metoda): 1 = (k1 + 2k2 + 2k3 + k4 ), 6 k1 = f (x, y), h h k2 = f x + , y + k1 , 2 2 h h k3 = f x + , y + k2 , 2 2 k4 = f x + h, y + hk3 . Spomenimo jo i 3/8-sku metodu: s 1 = (k1 + 3k2 + 3k3 + k4 ), 8 k1 = f (x, y), h h k2 = f x + , y + k1 , 3 3 h 2 k3 = f x + h, y k1 + hk2 , 3 3 k4 = f (x + h, y + h(k1 k2 + k3 ))

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 541

i Gillovu metodu:

= k1 k2 k3 k4

1 k1 + (2 2)k2 + (2 + 2)k3 + k4 , 6 = f (x, y), h h = f x + , y + k1 , 2 2 21 h 2 2 k1 + h k2 , = f x + ,y + h 2 2 2 2 2+ 2 k2 + h k3 . = f x + h, y h 2 2

10.3.1.

Jo o koecijentima za RungeKuttine metode s

U prijanjem smo poglavlju pokazali da za RK-2 i RK-4 metode treba vrijediti s j = 1


j

da bi ove bile konzistentne s redom veim od 1. To vrijedi i openito za sve RK c c metode, to emo pokazati u sljedeem teoremu. s c c Teorem 10.3.1 RungeKuttina metoda sa s stadija ima red konzistencije vei ili c jednak 1 ako i samo ako je
s

j = 1.
j=1

Dokaz. Teorem srednje vrijednosti daje nam ocjene y(x + h) = y(x) + hy (x) + O(h2 ) i kj = f x + cj h, y + h
l

ajl kl = f (x, y) + O(h),

pa lokalna pogreka diskretizacije s (x; h) = zadovoljava (x; h) = y (x) + O(h)


j

y(x + h) y(x) h

j kj
j

j [f (x, y) + O(h)].

Budui da je y rjeenje diferencijalne jednadbe y = f (x, y), vrijedi c s z (x; h) = f (x, y)


j

j f (x, y) + O(h) = f (x, y) 1


j

j + O(h),

odakle lagano slijedi tvrdnja teorema.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 542

Slijedea zanimljivost vezana je uz odredivanje koecijenata cj . U deniciji c metode smo spomenuli da je uobiajeni izbor c cj =
l

ajl .

z c c Medutim, ostaje pitanje da li moemo poveati red konzistencije drugaijim izborom koecijenata cj . Odgovor je ne, i to nam pokazuje sljedei teorem. c Teorem 10.3.2 Neka je RK metoda zadana s
s

yi+1 = yi + h
j=1

kj ,

k j = f x + cj , y + h

s l=1

ajl kl

reda konzistencije p, te neka je p red konzistencije metode


s s

yi+1 = yi + h
j=1 s

kj ,

k j = f x + cj , y + h
l=1

ajl kl ,

gdje je cj =
l=1

ajl . Tada je p p.

Dokaz. Neka je y rjeenje diferencijalne jednadbe s z y = f (x, y). Tada je y= rjeenje jednadbe s z y = y 1 = f (x, y) = f(y). 1 y x (10.3.14)

c c Neka je yi aproksimacija za y(xi ) dobivena metodom (10.3.2). S yi i xi oznait emo komponente vektora yi : y yi = i . xi Budui da je red metode p, vrijedi c
yi y(xi ) = O(hp ).

Uoimo da je c kj = f y +

ajl kl

k = j 1
l

f x+h
l

ajl , y + h
l

ajl kl

f x + cj h, y + h 1

ajl kl

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 543

gdje kl oznaava prvu komponentu vektora kl . Uoimo da je kj = kj , a kj je deniran c c metodom (10.3.2), te vrijedi

yi+1 = yi + h
j

j kj =

yi +h xi

j
j

kj 1

yi + h
j

j kj j
j

xi + h

Iz
j

j = 1 izlazi da je xi+1 = xi + h, a upotrebom matematike indukcije za c


.

kljuimo da je xi = xi = x0 + ih. Sada je c yi+1 xi+1 =

yi + h
j

j kj

xi+1

Ukoliko s yi oznaimo aproksimaciju rjeenja jednadbe y = f (x, y) dobivenog c s z metodom (10.3.2), zbog istih poetnih uvjeta slijedi da je yi = yi . Ova injenica c c povlai da je i c y y(xi ) y y(xi ) yi y(xi ) = i = i xi xi 0 te za bilo koju od uobiajenih normi c
1, 2

ili

vrijedi

yi y(xi) = Yi Y(xi ) = O(hp ),

pa je metoda (10.3.2) reda barem p, tj. vrijedi p p.

10.3.2.

Konvergencija jednokoranih metoda c

U ovom odjeljku promatramo ponaanje konvergencije priblinog rjeenja yi s z s dobivenog jednokoranom metodom. Na poetku, denirajmo prostor Fn (a, b) kao c c prostor funkcija s trake (a, b) Rd1 u R za koje su sve parcijalne derivacije do ukljuivo n-tog reda neprekidne i ograniene. c c U daljnjem tekstu pretpostaviti emo da je f F1 (a, b), a s y emo oznaiti c c c egzaktno rjeenje inicijalnog problema s y = f (x, y), y(x0 ) = y0 , x0 [a, b], y0 R.

Uoimo da pretpostavka f F1 (a, b) povlai egzistenciju i jedinstvenost rjeenja y c c s na intervalu [a, b]. Neka (x, y; h) denira jednokoranu metodu c yi+1 = yi + h(xi , yi ; h), i = 0, 1, 2, . . .

gdje je xi+1 = xi + h. Zanima nas ponaanje pogreke s s ei = yi y(xi ).

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 544

Za ksirani x [a, b] deniramo korak hn = i globalnu pogreku diskretizacije s e(x; hn ) = yn y(x). z s Sada za svaki n N vrijedi xn = x, te moemo promatrati globalnu pogreku diskretizacije kada n . Denicija 10.3.1 Jednokorana metoda je konvergentna ako c
n

x x0 n

lim e(x; hn ) = 0

za sve x [a, b] i sve f F1 (a, b). Pokazat emo da su metode reda p > 0 konvergentne, i tovie, da vrijedi c s s e(x; hn ) = O(hp ). n Red globalne pogreke diskretizacije je dakle jednak redu lokalne pogreke diskretis s zacije. Prvo emo dokazati sljedeu lemu. c c Lema 10.3.1 Ako brojevi i zadovoljavaju ocjenu oblika |i+1 | (1 + )|i| + B, tada je |n | en |0 | + Dokaz. Iz pretpostavke direktno slijedi |1 | (1 + )|0| + B, |2 | (1 + )2 |0 | + B(1 + ) + B, . . . |n | (1 + )n |0 | + B[1 + (1 + ) + (1 + )2 + + (1 + )n1 ] (1 + )n 1 = (1 + )n |0| + B en 1 , en |0| + B jer je 0 < 1 + < e za > 1. Pomou ove leme dokazujemo sljedei, glavni, teorem. c c > 0, B 0, i = 0, 1, 2, . . .

en 1 B.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 545

Teorem 10.3.3 Za x0 [a, b], y0 R, promatramo inicijalni problem y = f (x, y), y(x0 ) = y0 ,

koji ima jedinstveno rjeenje y(x). Neka je funkcija neprekidna na s G = {(x, y, h) | x [a, b], |y y(x)| , |h| h0 }, za h0 > 0, > 0 i neka postoje pozitivne konstante M i N takve da je |(x, y1 ; h) (x, y2 ; h)| M|y1 y2 | za sve (x, yi , h) G, i = 1, 2, i | (x; h)| = |(x; h) (x, y(x); h)| N|h|p , p>0

za sve x [a, b], h h0 . Tada postoji h, 0 < h h0 , takav da globalna pogreka s diskretizacije zadovoljava |e(x; hn )| |hn |p N eM |xx0 | 1 M

za sve x [a, b] i hn = (x x0 )/n, n = 1, 2, . . ., uz |hn | h. Ako je = , tada je = h0 . h Dokaz. Funkcija


(x, y; h),

(x, y; h) =

za (x, y, h) G, (x, y(x) + ; h), za x [a, b], |h| h0 , y y(x) + , (x, y(x) ; h), za x [a, b], |h| h0 , y y(x)

je oito neprekidna na G = {(x, y, h) | x [a, b], y R, |h| h0 } i zadovoljava c uvjet |(x, y1 ; h) (x, y2 ; h)| M|y1 y2 | (10.3.15) za sve (x, yi , h) G, i = 1, 2. Zbog (x, y(x); h) = (x, y(x); h) takoder vrijedi |(x; h) (x, y(x); h)| N|h|p , za x [a, b], |h| h0 . (10.3.16)

Neka jednokorana metoda generirana s denira aproksimacije yi za y(xi ), xi = c x0 + ih: yi+1 = yi + h(xi , yi; h). Zbog y(xi+1 ) = y(xi ) + h(xi ; h), za pogreku ei = yi y(xi ), oduzimanjem, dobivamo rekurzivnu formulu s ei+1 = ei + h[(xi , yi; h) (xi , y(xi); h)] + h[(xi , y(xi); h) (xi ; h)].

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 546

No, sada iz (10.3.15) i (10.3.16) slijedi |(xi , yi ; h) (xi , y(xi ); h) M|i y(xi )| = M|i |, y e |(xi , y(xi); h) (xi ; h)| N|h|p , te dobivamo rekurzivnu ocjenu e |i+1 | (1 + |h|M)|i | + N|h|p+1 . e Koritenjem e0 = y0 y(x0 ) = 0, iz leme slijedi s |k | N|h|p e eM |xk x0 | 1 . M

Neka je sada x [a, b], x = x0 , ksiran i h = hn = (x x0 )/n, n > 0. Tada zbog xn = x0 + nh = x i zbog e(x; hn ) = en slijedi |( x; hn )| N|h|p e eM |xx0 | 1 M

za sve x [a, b] i hn za koje je |hn | h0 . Budui da je |x x0 | |b a| i > 0, c 0 < h h0 takav da je |(x; hn )| za sve x [a, b], |hn | h, tj. za e postoji h, jednokoranu metodu generiranu s : c yi+1 = yi + h(xi , yi ; h) imamo za |h| h, zbog denicije za , yi = yi , ei = ei i (xi , yi; h) = (xi , yi ; h).

Tvrdnja teorema dakle slijedi za sve x [a, b] i sve hn = (x x0 )/n, n = 1, 2, . . ., uz |hn | h. Iz prethodnog teorema posebno slijedi da je metoda reda p > 0, koja u okolini rjeenja zadovoljava Lipschitzov uvjet, konvergentna. Uoimo da je ovaj uvjet ispuns c (x, y; h) postoji i neprekidna je u domeni G danoj u teoremu. Teorem, jen ako y takoder, daje i gornju ogradu za globalnu pogreku diskretizacije, koja u principu s moe biti izraunata ako znamo M i N. To je u praksi nepraktino. Tako je za z c c Eulerovu metodu N i 1 |fx (x, y(x)) + fy (x, y(x))f (x, y(x))| 2 M

| = |fy (x, y(x))|, y dok za RK-4 metode treba ocijeniti etvrte derivacije funkcije f . c

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 547

10.3.3.

RungeKuttaFehlbergove metode. koraka integracije.

Odredivanje

Iako smo u prolom potpoglavlju pretpostavili da je korak integracije h kons stantan tijekom cijelog postupka rjeavanja diferencijalne jednadbe, oito je da se s z c h moe mijenjati u svakom koraku integracije, pa jednokoranu metodu moemo z c z pisati u obliku: yi+1 = yi + hi (xi , yi, hi ). Prvo emo pokazati kako se odreduje duljina koraka hi tako da bude postignuta c neka unaprijed zadana tonost . c Neka su s i zadane dvije metode reda p i p + 1. Tada raunamo aproksic macije yi+1 = yi + hi (xi , yi, hi ), yi+1 = yi + hi (xi , yi, hi ). Iz (10.3.4) slijedi da je: y(xi + hi ) = y(xi ) + hi (xi , y(xi), hi ) + C(xi )hp+1 + O(hp+2 ), i i p+2 y(xi + hi ) = y(xi ) + hi (xi , y(xi), hi ) + O(hi ). Cilj je da pogreka u i-tom koraku bude manja od . Stoga emo pretpostaviti da s c c je aproksimacija yi za y(xi ) tona, tj. yi = y(xi ). Sada oduzimanjem gornje dvije jednadbe slijedi z hi [(xi , yi, hi ) (xi , yi, hi )] = C(xi )hp+1 + O(hp+2 ). i i Iz prve dvije jednakosti oduzimanjem slijedi hi [(xi , yi , hi ) (xi , yi , hi )] = yi+1 yi+1 , te uvrtavanjem u (10.3.17) dobivamo s yi+1 yi+1 = C(xi )hp+1 + O(hp+2 ). i i Zanemarivanjem viih lanova u razvoju pogreke, dobivamo s c s yi+1 yi+1 C(xi )hp+1 i i yi yi C(xi1 )hp+1 . i1 Uz pretpostavku da se lan C(x) u pogreci ne mijenja brzo, tj. C(xi ) C(xi1 ), c s uvjet da pogreka u i-tom koraku bude manja od sada glasi: s |y(xi+1) yi+1 | |C(xi )hp+1| |C(xi1 )hp+1 | i i yi yi p+1 hi , hp+1 i1 (10.3.17)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 548

odnosno hp+1 hp+1 i i1

. |i yi | y

Iz ovoga slijedi da za novi korak trebamo izabrati hi = hi1


p+1

. |i yi | y

Ukoliko je prethodni korak bio uspjean, tada je zadovoljeno s |i yi | , y te je stoga hi hi+1 . Ako gornja nejednakost ne vrijedi, (i 1)-vi korak treba ponoviti uz manji hi1 . To se obino radi samo ako je nejednakost znaajnije c c naruena, npr. ako je |i yi | > 2. s y Izbor koraka moemo modicirati, tako da zahtijevamo da je pogreka u svaz s kom koraku proporcionalna koraku integracije, tj. da je manja od hi . Uvrtavanjem s ovog zahtjeva dobivamo izbor: hi = hi1
p

hi1 . |i yi | y

Sljedea modikacija koristi korigirajui faktor : c c hi = hi1


p

hi1 , |i yi | y

koji slui da ispravi pogreku nastalu odbacivanjem viih lanova u ocjeni pogreke. z s s c s Obino je = 0.9. c Prikazani izbor koraka vrijedi za bilo koji par jednokoranih metoda reda p i p+ c 1. Primjena RungeKutta metoda zahtijevala bi jednu metodu sa s stadija i jednu sa s+1 stadija, to openito znai da bismo u svakom koraku funkciju f iz diferencijalne s c c jednadbe trebali raunati 2s + 1 puta. Postupak se moe pojednostavniti ako prvih z c z s stadija k1 , . . . , ks , ks+1 koritenih za raunanje funkcije prirasta iskoristimo za s c raunanje funkcije : c
s

(x, y, h) = (x, y, h) =
i=1 s+1

i ki (x, y, h), i ki (x, y, h).


i=1

Sada u svakom koraku funkciju f raunamo samo s + 1 puta. c

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 549

Ovu ideju emo ilustrirati na paru RungeKutta metoda reda 2 i 3. Promac tramo metode s 3 i 4 stadija:
3

(x, y, h) = (x, y, h) =
i=1 4

i ki (x, y, h), i ki (x, y, h).


i=1

Da bi metoda denirana s bila reda 3 trebaju biti zadovoljeni uvjeti (10.3.6) (10.3.9), to je ukupno 4 jednadbe i 10 koecijenata. Nadalje, metoda reda 2 s s z 3 stadija ima 3 dodatna koecijenta (1 , 2 i 3 ) i treba zadovoljavati 2 dodatna uvjeta (10.3.6)(10.3.7). Sveukupno, 13 koecijenata u ovom paru metoda treba zadovoljavati 6 uvjeta. Preostalih 7 stupnjeva slobode iskoristit emo za smanjivanje c broja raunanja funkcije f . Naime, zahtijevat emo da k4 (xi , yi , hi , f ), zadnji stadij c c iz raunanja u i-tom koraku, iskoristimo kao k1 (xi+1 , yi+1, hi+1 , f ), prvi stadij u c (i + 1)-om koraku: f (x + c4 hi , yi + hi (a41 k1 + a42 k2 + a43 k3 ) = f (xi+1 , yi+1 ) = f (xi + hi , yi + hi (xi , yi , hi , f )) = f (xi + hi , yi + hi (1 k1 + 2 k2 + 3 k3 )). Odavde slijede dodatna 3 uvjeta: a41 = 1 , a42 = 2 , a43 = 3 .

Uvjet c4 = 1 automatski je ispunjen zbog 1 + 2 + 3 = 1. Jedno od rjeenja ovog sustava jednadbi je prikazano u sljedeoj tablici. s z c aij i 1 2 3 4 ci 0 1 4 27 40 1 1 4 189 800 214 891 729 800 1 33 650 891 j=1 j=2 j=3 i 214 891 1 33 650 891 i 533 2106 0 800 1053 1 78

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 550

10.4.

Linearne viekorane metode s c

Kod jednokoranih metoda je za aproksimaciju yi+1 u toki xi+1 bilo potrebno c c poznavanje samo aproksimacije yi u toki xi . c Promatrajmo ponovno diferencijalnu jednadbu z y = f (x, y), y(x0 ) = y0 .

Integracijom, te primjenom formule srednje toke za aproksimaciju integrala, slijedi c da je


xi+1 xi+1

y(xi+1 ) y(xi1 ) =
xi1

y (x) dx =
xi1

f (x, y(x)) dx 2hf (xi , y(xi)).

(10.4.1)

Gornja formula vodi na rekurzivno deniranu aproksimaciju yi+1 = yi1 + 2hf (xi , yi ). U ovoj metodi za odredivanje vrijednosti yi+1 trebamo poznavati prethodne vrijedc c c nosti yi i yi1 , a budui da je se radi o dvije toke, govorimo o dvokoranoj metodi. Aproksimacija yi+1 zadana je eksplicitno s izrazom na desnoj strani, pa govorimo o eksplicitnoj metodi. Ako umjesto formule srednje toke pri raunanju integrala u (10.4.1) primic c jenimo Simpsonovu formulu, dobivamo drugu aproksimaciju:
xi+1

y(xi+1) y(xi1 ) =
xi1

f (x, y(x)) dx h [f (xi1 , y(xi1 )) + 4f (xi , y(xi)) + f (xi+1 , y(xi+1 ))], 3

to vodi na metodu s

yi+1 = yi1 +

h [f (xi1 , yi1) + 4f (xi , yi) + f (xi+1 , yi+1 )]. 3

Ovdje se yi+1 javlja i na lijevoj strani i na desnoj strani kao argument, openito c nelinearne, funkcije f . Dakle, yi+1 je zadan implicitno, pa govorimo o implicitnoj dvokoranoj metodi. Uoimo da gornjim formulama ne moemo odrediti y1 , pa za c c z c njegovo odredivanje treba upotrebiti jednu od jednokoranih metoda. Openito, linearne viekorane metode su oblika c s c
r r

j yi+1j = h
j=0 j=0

j fi+1j ,

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 551

gdje je fk = f (xk , yk ), 0 = 0 i |r | + |r | = 0. Ovu metodu zovemo r-korana c metoda. Ukoliko je 0 = 0 metoda je eksplicitna, a za 0 = 0 metoda je implicitna. Uoimo da prikaz viekorane metode pomou koecijenata j i j nije jedinc s c c stven jer npr. koecijenti 20 , . . . , 2r i 20 , . . . , 2r deniraju istu metodu. Cesto se koristi normalizacija 0 = 1 te je zapis metode oblika:
r r

yi+1 +
j=1

j yi+1j = 0 f (xi+1 , yi+1) + h


j=1

j fi+1j .

(10.4.2)

Primjenom razliitih integracijskih metoda moemo dobiti cijeli niz viekorac z s nih metoda. Integracijom jednadbe y (x) = f (x, y(x)) na nekom zadanom interc z valu [xpj , xp+k ] dobivamo
xp+k

y(xp+k ) y(xpj ) =
xpj

f (t, y(t)) dt.

Ukoliko podintegralnu funkciju f (t, y(t)) zamijenimo interpolacijskim polinomom Pq stupnja q koji interpolira f (t, y(t)) u tokama xi , tj. ako je c Pq (xi ) = y (xi ) = f (xi , y(xi )), i = p, p 1, . . . , p q,

koritenjem interpolacijskog polinoma u Lagrangeovoj formi s


q q

Pq (x) =
i=0

f (xi , y(xi)) i (x),

i (x)

=
l=0 l=i

x xpl , xpi xpl

izraz (10.4.2) prelazi u


q xp+k q i (t) dt xpj

y(xp+k ) y(xpj )
i=0

f (xi , y(xi ))

=h
i=0

qi f (xi , y(xi)),

c gdje smo s qi oznaili 1 qi = hx


xp+k i (t) dt =
pj

j l=0 l=i

s+l ds, i + l

i = 0, . . . , q.

(10.4.3)

s c Zamjenom vrijednosti y(xi ) aproksimacijama yi dobivamo viekoranu metodu oblika q yp+k = ypj + h
i=0

qi fpi .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 552

Najpoznatiji primjeri viekoranih metoda ovog tipa su AdamsBashforthova metos c da i AdamsMoultonova metoda. U AdamsBashforthovoj metodi je k = 1 i j = 0 te metoda glasi: yp+1 = yp + h(q0 fp + q1 fp1 + + qq fpq ). (10.4.4) Sljedea tablica prikazuje koecijente qi za ovu metodu, izraunate prema forc c muli (10.4.3). i qi 0i 21i 122i 243i 7204i 0 1 3 23 55 1901 1 16 59 2774 5 37 2616 9 1274 251 1 2 3 4

Izborom k = 0 i j = 1 dobijamo AdamsMoultonove metode: yp+1 = yp + h(q0 fp+1 + q1 fp + + qq fp+1q ). (10.4.5) Za razliku od eksplicitnih AdamsBasforthovih metoda, ove metode su implicitne. Koecijenti su im prikazani u sljedeoj tablici. c i qi 0i 21i 122i 243i 7204i 0 1 1 5 9 251 1 8 19 646 1 5 264 1 106 19 1 2 3 4

Od ostalih viekoranih metoda izvedene iz ovih formula, poznatije su jo s c s Nystrmove (k = 1 i j = 1) i Milneove (k = 0 i j = 2) metode. o Niz metoda moemo dobiti i pomou formula za deriviranje. Neka je P (x) z c polinom koji interpolira y(x) u tokama xni : c P (xni) = y(xni ), i = 0, . . . , k. Koritenjem interpolacijskog polinoma u Lagrangeovoj formi, polinom P (x) moemo s z prikazati u obliku
k k i (x)y(xni ), i=0 i (x) = j=0 j=i

P (x) =

x xnj . xni xnj

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 553

Deriviranjem u voru xnr dobivamo c P (xnr ) = 1 k h (xnr )y(xni ). h i=0 i

Supstitucijama yni y(xni ) i fnr = f (xnr , ynr ) P (xnr ) dobivamo metodu


k

i yni = hfnr .
i=0

Uvodenjem oznake p = (x xn )/h, vidimo da koecijenti i = h i (xnr ) = d dp


k j=0 j=i

p+j ji

=
p=r

1 ri

k j=0 j=i,r

p+j ji

ne ovise o vorovima xni i irini mree h. Za r = 1 dobivamo eksplicitnu metodu c s z


k

i yni = hfn1 ,
i=0

(10.4.6)

dok je za izbor r = 0 metoda implicitna:


k

i yni = hfn .
i=0

(10.4.7)

Zbog alternativnog naina izvoda ovih metoda koritenjem podijeljenih razlika unc s azad, ove metode poznate su pod nazivom BDF metode (engl. backward dierence formulas). Koecijenti za eksplicitne i implicitne BDF metode su prikazani u sljedeim dvjema tablicama. c k 1 2 3 4 5 6 7 1 1 2 3 4 5 6 7 1 1 0 3 2 10 3 65 12 77 10 203 20 1 3 6 10 15 21 1 2 10 3 5 10 35 2 2 3 4 5 6 7

1 3 5 3 30 35 3

1 4 3 2 21 4

1 5 7 5

1 6

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 554

k 1 2 3 4 5 6 7

1 2 3 6 11 12 25 60 137 60 147 140 363

1 4 3 18 11 48 25 300 137 360 147 20 363 1 3 9 11 36 25 300 137 450 147 1470 363

2 11

16 25 200 137 400 147 4900 1089

3 25 75 137 225 147 1225 363

12 137 72 147 588 363

10 147 490 1089

20 363

10.4.1.

Konzistencija i stabilnost

Nakon ovih primjera izvoda nekih viekoranih metoda postavlja se pitanje s c njihove tonosti. Kao i kod jednokoranih metoda, prvo emo promatrati koliko c c c dobro rjeenje diferencijalne jednadbe s z y = f (x, y), zadovoljava rekurzivnu formulu
r r

y(x0 ) = y0 ,

x0 [a, b],

y0 R

(10.4.8)

j yi+1j = h
j=0 j=0

j f (xi+1j , yi+1j ),

(10.4.9)

koja denira viekoranu metodu. U gornju emo rekurziju umjesto yj uvrstiti s c c rjeenje diferencijalne jednadbe y(xj ), a zatim dobiveni izraz razviti u Taylorov s z red: r r j y(xi+1j ) h j f (xi+1j , y(xi+1j )) =
j=0 j=0

Cj hj .

(10.4.10)

j=0

Rekurzivna formula biti e tonija to je vie prvih lanova u razvoju jednako nuli. c c s s c z Openito, ukoliko je C0 = C1 = = Cp = 0 i Cp+1 = 0, kaemo da je metoda reda c p. Ukoliko je p 1 kaemo da je metoda konzistentna. z Tako za metodu yi+1 = yi1 + 2hf (xi , yi)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 555

uvrtavanje tonog rjeenja i razvoj u red oko toke xi daje s c s c y(xi+1 ) y(xi1 ) 2hy (xi ) =
j=0

y (j)(xi )

hj (1)j hj 2hy (xi ) y (j) (xi ) j! j=0 j!

=
j=1

(2j+1)

2 y (3) (xi ) 3 2j+1 h h + O(h5 ) = O(h3 ), (xi ) = (2j + 1)! 3

te je ova metoda reda 2. Uoimo da smo iskoristili da je y rjeenje diferencijalne c s jednadbe, tj. da vrijedi y (xi ) = f (xi , y(xi )). Pretpostavili smo da je y C (a, b), z no oito je dovoljno zahtijevati da y ima neprekidnu treu derivaciju, tj. y C 3 (a, b). c c Dakle, izraz (10.4.10) pokazuje kvalitetu aproksimacije viekorane metode. s c U daljnjem tekstu koristiti emo malo promijenjen izraz za pogreku, tzv. lokalnu c s pogreku diskretizacije: s (x; h) =
r 1 r j y(x jh) j y (x jh), h j=0 j=0

gdje je y egzaktno rjeenje diferencijalne jednadbe (10.4.8). Uoimo da je lokalna s z c pogreka diskretizacije dobivena uvrtavanjem tonog rjeenja u rekurziju (10.4.8) s s c s uz zamjenu x = xi+1 . Sada moemo denirati konzistenciju metode. z Denicija 10.4.1 Viekoranu metodu zovemo konzistentnom ako za svaki f s c F1 (a, b) i x [a, b] lokalna pogreka diskretizacije zadovoljava s
h0

lim (x; h) = 0.

Ukoliko je (x; h) = O(hp ) kaemo da je metoda reda p. z Primjer 10.4.1 Pokaimo da je red (r + 1)-korane AdamsBashforthove metode z c (10.4.4) jednak r + 1. Iskoristimo li rekurziju za AdamsBashforthovu metodu (10.4.4) uvrtavanjem s tonog rjeenja y(x), dobivamo c s
r 1 ri y (x ih). (x; h) = (y(x + h)) y(x)) h i=0

Radi jednostavnosti, oznaimo xj = x + jh, j = r, . . . , 1. Sada je lokalna pogreka c s diskretizacije jednaka


r 1 ri y (xpi ). (x; h) = (y(xp+1)) y(xp )) h i=0

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 556

Uvrtavanjem izraza za koecijente ri dane s (10.4.3), dobivamo s 1 (x; h) = h 1 = h


xp+1

y (t) dt
xp xp+1

r i=0

1 h

xp+1 i (t) dt xp xp+1

y (xpi ) [y (t) Pr (t)] dt,


xp

xp

1 y (t) dt h

xp+1

xp

1 Pr (t) dt = h

c gdje je Pr polinom koji interpolira y u tokama xpr , . . . , xp . Primjenom ocjene za pogreku interpolacije s y (t) Pr (t) = (t) y (r+2) ((t)) , (t) (xpr , xp ), (r + 1)! (t) = (t xpr )(t xpr+1 ) (t xp ), 1 (x; h) = h
xp+1

dobivamo

(t)
xp

y r+2((t)) dt. (r + 1)!

c Budui da su xpr , . . . , xp sve nultoke polinoma , ne mijenja predznak na inc tervalu [xp , xp+1 ] pa vrijedi y r+2() 1 (x; h) = (r + 1)! h Supstitucijom u = (t xp )/h dobivamo t xpj = h(u + j) te gornji integral prelazi u y r+2 () 1 r+1 h h (x; h) = (r + 1)! h
1 xp+1

(t) dt.
xp

i (t) = hr+1 u(u + 1) (u + r),

u(u + 1) (u + r) du = h
0

r+1

y r+2() (r + 1)!

1 r

(u + j) du,
0 j=0

te je red (r + 1)-korane AdamsBashforhove metode jednak r + 1. c Razmatranjem analognim onom u prethodnom primjeru pokazuje se da je red r-korane AdamsMoultonove metode za jedan vei od broja koraka i iznosi r+1. Za c c r-korane eksplicitne metode (10.4.6) i r-korane implicitne metode (10.4.7) izvedene c c iz formula za deriviranje, red metode odgovara broju koraka. Koritenjem iste ideje kao kod RungeKuttinih metoda, koecijente u r-kos ranoj metodi c
r r

j yi+1j = h
j=0 j=0

j f (xi+1j , yi+1j )

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 557

moemo odredivati tako da red metode bude to je mogue vei, tj. da ponitimo z s c c s to vie prvih lanova u Taylorovom razvoju (10.4.10). Fiksiranjem 0 = 1 imamo s s c 2r slobodnih koecijenata za eksplicitnu metodu. Koecijenti Cj u Taylorovom s razvoju zavisit e o koecijentima j i j . Nije teko pokazati da je ta zavisnost c linearna, te s 2r slobodnih koecijenata moemo ponititi prvih 2r lanova razvoja: z s c C0 = C1 = = C2k1. Takoder, moe se pokazati da e vrijediti C2r = 0, pa na z c taj nain moemo konstruirati metodu reda 2r 1. Slino vrijedi i za r-korane c z c c implicitne metode. Ovdje imamo jedan koecijent vie (0 ), te moemo ponititi s z s jedan lan vie u Taylorovom razvoju i dobiti metodu reda 2r. c s Prirodno se namee pitanje zato bismo koristili navedene metode, ako postoje c s metode dvostrukog reda s istim brojem koraka. Za razliku od jednokoranih metoda c gdje je kozistentnost metode bio dovoljan uvjet za konvergenciju, kod viekoranih s c metoda, da bi aproksimacija konvergirala k tonom rjeenju, uz konzistentnost treba c s biti zadovoljen jo jedan dodatni uvjet, a to je stabilnost. To emo ilustrirati s c sljedeim primjerom. c Primjer 10.4.2 Konstruirajmo dvokoranu eksplicitnu metodu: c yi+2 + a1 yi+1 + a0 yi = h[b1 f (xi+1 , yi+1 ) + b0 f (xi , yi)] tako da red konzistencije bude to je mogue vei. s c c Razvojem lokalne pogreke diskretizacije u x = xi s (x; h) = 1 [y(x + 2h) + a1 y(x + h) + a0 y(x)] [b1 y (x + h) + b0 y (x)] h

u Taylorov red, dobivamo (x; h) = 1 y(x)(1 + a1 + a0 ) + y (x)(2 + a1 b1 b0 ) h 4 1 1 1 + hy (x) 2 + a1 b1 + h2 y (x) + a1 b1 + O(h3 ). 2 3 6 2

s s c s c Koecijente a0 , a1 , b0 i b1 odredimo tako da ponitimo to je mogue vie poetnih lanova u Taylorovom razvoju. To nas vodi na sustav jednadbi c z 1 + 2 + 2 + a1 + a0 a1 = 0 b1 b0 = 0 b1 1 b1 2 = 0 = 0

1 a1 2 1 4 + a1 3 6

Rjeenje ovog sustava je a1 = 4, a0 = 5, b1 = 4, b0 = 2, te je metoda denirana s rekurzijom yi+2 + 4yi+1 5yi = h(4fi+1 + 2fi ).

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 558

Ova metoda je reda 3 (jer je (x; h) = O(h3 ), a moe se provjeriti da je lan uz h3 z c razliit od nule). c Promatrat emo numeriko rjeavanje diferencijalne jednadbe c c s z y = y, y(0) = 1,

s egzaktnim rjeenjem y = ex . Uz korak h = 102 i egzaktne poetne vrijednosti s c c y0 = 1 i y1 = eh dobivamo sljedeu tablicu: i 2 3 4 5 . . . 96 97 98 99 100 yi y(xi ) 0.164 108 +0.501 108 0.300 107 +0.144 106 . . . 0.101 1058 +0.512 1058 0.257 1059 +0.129 1060 0.652 1060

Iz tablice je jasno da metoda divergira. Uzrok tome je objanjen u daljnjem tekstu. s Viekorana metoda s c
r r

j yi+1j = h
j=0 j=0

j f (xi+1j , yi+1j )

denira dva polinoma


r r

(z) =
j=0

j z rj

(z) =
j=0

j z rj .

s c c Ujedno, ova dva polinoma odreduju jednu viekoranu metodu, pa se esto umjesto viekorane metode koristi naziv (, )-shema. s c Denicija 10.4.2 Za viekoranu metodu kaemo da je stabilna ako nultoke zj s c z c polinoma (z) zadovoljavaju 1. Sve nultoke su po apsolutnoj vrijednosti manje od 1 (|zj | 1). c 2. Ako je |zj | = 1 tada je zj jednostruka nultoka ( (zj ) = 0). c Zajedno uvjete 1 i 2 zovemo uvjet stabilnosti.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 559

Uvjet stabilnosti se esto naziva i uvjet korijena. c Za metodu iz prolog primjera je s (z) = z 2 + 4z 5. c Nultoke su mu z1 = 1 i z2 = 5. Budui da je |z2 | > 1, ne zadovoljava uvjet stac bilnosti, tj. metoda nije stabilna. Sljedei teorem nam objanjava razlog divergencije c s ove metode. Teorem 10.4.1 Linearna viekorana metoda je konvergentna ako i samo ako je s c konzistentna i stabilna. Moe se pokazati da stabilna r-korana metoda ima red z c p r + 1, ako je r neparan, r + 2, ako je r paran.

Denicija konvergencije viekorane metode se neto razlikuje od konvergencije jeds c s nokoranih metoda, pa e objanjenje ove denicije i dokaz prethodnog teorema biti c c s izloeni u sljedeim potpoglavljima. z c

10.4.2.

Prediktor-korektor par

Dosad je ostalo otvoreno pitanje kako izraunati yi+1 u implicitnoj metodi c


k

yi+1 +
j=1

j yi+1j = 0 hf (xi+1 , yi+1 ) + h

k j=1

j fi+1j .

Ako oznaimo c c=
k j=1

yi+1j + h

k j=1

j fi+1j ,

(y) = 0 hf (xi+1 , y) + c,

s z c z yi+1 je rjeenje nelinearne jednadbe y = (y). Budui da moemo izabrati dovoljno malen korak integracije h takav da je nejednakost
| (y)| = h|0 |

f (xi+1 , y) <1 y

zadovoljena, slijedi da jednostavne iteracije y [m+1] = (y [m] ), m = 0, 1, 2, . . .

konvergiraju prema rjeenju jednadbe. Za odabir poetne aproksimacije y [0] koristi s z c se neka od eksplicitnih metoda
k k

yi+1 +
j=1

j yi+1j = h
j=1

j fi+1j .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 560

Sada moemo zapisati cijeli algoritam: z


[0] yi+1

j yi+1j + h
j=1 j=1 [m] k

j fi+1j ,
j yi+1j + h k j=1 j fi+1j ,

yi+1

[m+1]

= 0 hf (xi+1 , yi+1 ) [M ]

m = 0, . . . , M 1,

j=1

yi+1 = yi+1 . Broj iteracija (M) moe biti unaprijed zadan ili se iteracije provode dok se jednadba z z ne rijei do na neku unaprijed zadanu tonost. U primjeni, broj iteracije nije velik, s c uvijek se radi o nekoliko iteracija. Znamo da jednostavne iteracije konvergiraju linearno prema rjeenju jednads z be. Konvergenciju moemo ubrzati primjenom Newtonove metode, to e biti z s c opisano u sljedeem potpoglavlju. c Jo nam je ostalo za promotriti kako odabrati korektor-prediktor par. Tonost s c metode denirana je s tonou korektora, tj. implicitne metode. Ako je red korekc sc [0] c tora, eksplicitne metode kojom odredujemo poetnu aproksimaciju yi+1 , za jedan vei od reda korektora poetna e aproksimacija biti pretona, za jedan red tonija c c c c c nego to je rjeenje nelinearne jednadbe (korektora). S druge strane, ako je red s s z prediktora manji od reda korektora, poetna aproksimacija je preslaba, te bi trec balo previe iteracija korektora da se nelinearna jednadba rijei na zadovoljavajuu s z s c tonost. Stoga je uobiajeno da se za prediktor-korektor par uzimaju eksplicitna i c c implicitna metoda istoga reda. Cesto koriten par je k-korana AdamsBashforthova s c metoda kao prediktor i (k1)-korana AdamsMoultonova metoda kao korektor. Uz c ovakav odabir prediktor-korektor para govorimo o AdamsBashforthMoultonovim metodama. Isto tako, eksplicitna i implicitna k-korana metoda izvedena iz formula c za numeriko deriviranje koriste se kao prediktor-korektor par. c

10.4.3.

Linearne diferencijske jednadbe z

Za razumijevanje stabilnosti viekoranih metoda nuno je poznavati neke oss c z novne injenice o linearnim diferencijskim jednadbama. Pod linearnom homogenom c z diferencijskom jednadbom podrazumijevamo jednadbu oblika z z uj+r + r1 uj+r1 + r2 uj+r2 + + 0 uj = 0, j = 0, 1, 2, . . . (10.4.11)

Oito je da je za svaki skup poetnih vrijednosti u0 , . . . , ur1 jednoznano odreden c c c s z niz brojeva uj , j = 0, 1, 2, . . . koji rjeava jednadbu (10.4.11). Uz gornju diferencijsku jednadbu veemo polinom z z (z) = z r + r1 z r1 + + 1 z + 0 . (10.4.12)

Rjeenje diferencijske jednadbe (10.4.11) dobivamo pomou nultoaka polinoma . s z c c

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 561

Teorem 10.4.2 Neka polinom (z) iz (10.4.12) ima k razliitih nultoaka i viec c s strukosti i , i = 1, . . . , k. Tada za proizvoljne polinome Pi (t) stupnja strogo manjeg od i , i = 1, . . . , k, niz uj = P1 (j)j + P2 (j)j + + Pk (j)j , 1 2 k j = 0, 1, 2, . . . (10.4.13)

je rjeenje diferencijske jednadbe (10.4.11). Obratno, svako rjeenje diferencijske s z s jednadbe (10.4.11) moe se jedinstveno prikazati u obliku (10.4.13). z z Dokaz. Zbog homogenosti jednadbe (10.4.11) vrijedi da je uj + vj rjeenje ako su z s s z c uj i vj rjeenja diferencijske jednadbe. Stoga je dovoljno pokazati da za , nultoku polinoma viestrukosti , vrijedi da je niz s uj = P (j)j , j = 0, 1, 2, . . .

rjeenje diferencijske jednadbe (10.4.11), gdje je P proizvoljan polinom stupnja s z strogo manjeg od , (oznaka P < ). Za ksni j 0, pomou interpolacijskog polinoma zapisanog u Newtonovom c obliku prikaimo P (j + t): z P (j + t) = a0 + a1 t + a2 t(t 1) + + ar t(t 1) (t r + 1). Budui da je P < vrijedi a = a+1 = = ar = 0. Uz oznaku r = 1, sada c slijedi uj+r + r1 uj+r1 + + 0 uj = j
r r

p p P (j + p)
p=0 r

= j
p=0

p p a0 +
=1

a p(p 1) (p + 1)

= j [a0 () + a1 () + + a1 (1) ()] = 0, jer je viestrukost nultoke jednak , tj. ( ) () = 0 za 0 1. Time smo s c dokazali prvi dio teorema. Uoimo da je polinom P (t) = c0 + c1 t + + c1 t1 stupnja manjeg od c c odreden s tono koecijenata cj , tako da zbog 1 +2 + +k = r prikaz (10.4.13) sadri ukupno r slobodnih parametara (koecijenata polinoma Pi ). z Drugi dio teorema dakle kae da prikladnim odabirom parametara moemo z z dobiti proizvoljno rjeenje, tj. da za svaki izbor poetnih vrijednosti u0 , . . . , ur1 s c postoji jedinstveno rjeenje sljedeeg sustava od r linearnih jednadbi s r nepoznatih, s c z koecijenata polinoma Pi (i = 1, . . . , k): P1 (j)j + P2 (j)j + + Pk (j)j = uj , 1 2 k j = 0, . . . , r 1.

Dokaz ove tvrdnje je elementaran, ali i dugotrajan, stoga ga ovdje preskaemo. c

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 562

U primjeni viekoranih metoda od interesa je ponaanje rasta rjeenja un s c s s diferencijske jednadbe (10.4.11) kad n . Posebno je vano utvrditi uvjete koji z z osiguravaju da je un =0 (10.4.14) lim n n za sve realne poetne vrijednosti u0 , . . . , ur1. To nam daje sljedea lema. c c Lema 10.4.1 Ako polinom iz (10.4.12) zadovoljava uvjete stabilnosti iz denicije 10.4.2 tada rjeenje diferencijske jednadbe (10.4.11) zadovoljava (10.4.14). s z Dokaz. Pretpostavimo da vrijedi (10.4.14), i neka je nultoka od . Tada je niz c j uj = rjeenje diferencijske jednadbe (10.4.11). Za || > 1 niz s z n un = n n divergira, pa mora biti 1. Neka je sada || = 1 i je viestruka nultoka od . Tada je s c () = rr1 + (r 1)r1 r2 + + 1 1 = 0. Prema tome je i niz uj = jj , j 0 rjeenje diferencijske jednadbe (10.4.11): s z uj+r + r1 uj+r1 + + 0 uj = jj (r + r1 r1 + + 0 ) + j+1 (rr1 + (r 1)r1 r2 + + 1 ) = jj () + j+1 () = 0. Budui da niz un /n = n ne konvergira nuli kada n , slijedi da mora biti c jednostruka nultoka. c Obratno, neka je zadovoljen uvjet stabilnosti. Ako deniramo

Uj =

uj uj+1 . . . uj+r1

Cr ,

1 0 ... 0 . .. .. .. . . . . . , A= 0 ... 0 1 0 0 . . . . . . . . . r1

0 . . .

diferencijska jednadba (10.4.11) je ekvivalentna rekurziji z Uj+1 = AUj . je karakteristini polinom matrice A te, budui da je uvjet stabilnosti zadovolc c r jen, postoji norma na C takva da odgovarajua inducirana matrina norma c c zadovoljava A 1. Prema tome, za svaki U0 Cr vrijedi Un = An U0 A
n

U0 U0

za n = 0, 1, . . .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 563

Budui da su na Cr sve norme ekvivalentne, postoji k > 0 takav da je c U U k te posebno vrijedi Un Stoga je
n

k U , n = 0, 1, . . . = 0,

k 2 U0 lim

Un n

tj. posebno vrijedi lim

un = 0. n n

10.4.4.

Konvergencija linearnih viekoranih metoda s c

Kao i kod jednokoranih metoda, kada govorimo o konvergenciji metode misc limo na ponaanje globalne pogreke diskretizacije: s s e(x; h) = yn y(x), gdje je x (a, b), h = hn = (x a)/n. Jasno je da globalna pogreka diskretizacije ovisi o lokalnoj pogreci diskretis s zacije. Medutim, to nije jedini izvor pogreke. Da bismo startali r-koranu metodu, s c z prvo je potrebno izraunati r poetnih vrijednosti y0 , . . . , yr1 . Dok y0 moemo c c odrediti iz poetnog uvjeta diferencijalne jednadbe, ostale vrijednosti moramo c z odrediti nekom drugom, najee jednokoranom, metodom. U svakom sluaju, c sc c c pri njihovom odredivanju javit e se odredena pogreka i : c s y(xi ) = yi + i, i = 0, . . . , r 1.

Ova pogreka ne ovisi o promatranoj viekoranoj metodi, ve o nainu na koji s s c c c odredujemo poetne vrijednosti. Oito je, da ako elimo da globalna pogreka c c z s diskretizacije tei nuli kada n , pogreke poetnih vrijednosti trebaju zadoz s c voljavati lim i = 0, i = 0, . . . , r 1.
n

Sada moemo izrei deniciju konvergencije viekorane metode. z c s c Denicija 10.4.3 Viekoranu metodu danu s (10.4.9) zovemo konvergentnom s c ako je xa lim e(x; hn ) = 0, hn = , n = 1, 2, . . . n n za sve x [a, b], sve f F1 (a, b) i sve yi , i = 0, . . . , r 1 za koje je
n

lim (y(xi) yi ) = 0,

i = 0, . . . , r 1.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 564

Sada moemo izrei teorem o redu viekorane metode. z c s c Teorem 10.4.3 Linearna viekorana metoda je reda p ako i samo ako je z = 1 s c p-struka nultoka funkcije c (z) (z). (10.4.15) ln z Prethodni teorem povlai i sljedei korolar. c c Korolar 10.4.1 Linearna viekorana metoda je konzistentna ako i samo ako je s c (1) = 0 i (1) = (1). Dokaz. Iz teorema slijedi da je metoda konzistentna ako i samo ako je 1 nultoka c funkcije (10.4.15). Zbog ln 1 = 0 treba vrijediti i (1) = 1. Jednako tako, zbog (z) ln z = lim
z=1

(z) (z) = lim = (1) 1 z1 ln z z1 z

treba vrijediti i (1) (1) = 0. Na kraju, pokaimo vezu izmedu stabilnosti i konzistentnosti te konvergencije z linearne viekorane metode. s c Teorem 10.4.4 Stabilne i konzistentne linearne viekorane metode su konvergents c ne. Dokaz. Dokaz ovog teorema je slian dokazu konvergencije jednokoranih metoda. c c Neka je y egzaktno rjeenje jednadbe s z y = f (x, y), y(x0 ) = y0 , f F1 (a, b).

Fiksirajmo x [a, b] i za n N denirajmo h = hn = (x x0 )/n. S yi oznait emo c c aproksimaciju dobivenu linearnom viekoranom metodom s c yi +1 yi1 + +r yr = h(0 fi +1 fi1 + +r fir ), uz yi = y(xi) + i, gdje je lim i = 0.
n

i = r, r +1, . . . , (10.4.16)

i = 0, . . . , r 1,

c Uvjet lim i = 0 znai da postoji funkcija (h) takva da je |i | (h) za n s i = 0, . . . , r 1 i lim (h) = 0. Zbog konzistentnosti metode, lokalna pogreka h0 diskretizacije u toki xi c (xi ; h) = i =
r r 1 y(xi) + j y(xij ) j f (xij , y(xij )) h j=1 j=0

(10.4.17)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 565

zadovoljava
h0

lim i = 0,

(10.4.18)

z tj. i moemo omediti nekom funkcijom t(h), |i | t(h), koja zadovoljava lim t(h) = h0 0. Oduzimanjem jednakosti (10.4.17) pomnoene s h od jednakosti (10.4.16) doz bivamo rekurziju za pogreke ei = yi y(xi ): s ei + 1 ei1 + + r er = ci , uz ei = i, i ci = h
j=0 r

i = r, r + 1, . . .

(10.4.19)

i = 0, . . . , r 1

j [f (xij , yij ) f (xij , y(xij ))] hi .

Budui da je f F1 (a, b), postoji konstanta m > 0 takva da je c f (x, y) m x [a, b] i y R, y te vrijedi |f (xk , yk ) f (xk , y(xk ))| = f (xk , )(yk y(xk )) M|ek |. y

Iskoristivi ovu nejednakost, dobivamo da ci zadovoljava s |ci | hM gdje je M = m max |j |.


j=0,...,r r j=0

|eij | + |h|t(h),

(10.4.20)

Pomou vektora c

ej ej+1 ej = . . . ej+r1 i matrice

bj = Rr , 0 1

0 . . .

1 0 ... 0 . .. .. .. . . . . . A= 0 ... 0 1 0 r . . . . . . . . . 1

0 . . .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 566

rekurziju (10.4.19) moemo zapisati u ekvivalentnom vektorskom zapisu z 0 . . e0 = . . r1


ej+1 = Aej + cj+r b,

(10.4.21)

Uoimo da je polinom , deniran viekoranom metodom (10.4.16), ujedno i svojc s c stveni polinom matrice A. Stabilnost metode povlai da su sve nultoke od , tj. c c svojstvene vrijednosti od A, po apsolutnoj vrijednosti manje od 1, a ako su jednake 1 tada su jednostruke. To znai da postoji vektorska norma c na Cr takva da za induciranu vektorsku normu vrijedi A 1. Budui da su sve norme na Cr c ekvivalentne, postoji konstanta k > 0 takva da je
r1 1 ej |ej+i| = ej k i=0 1

k ej .

Uoivi da je c s |ej+r | iz nejednakosti (10.4.20) slijedi da je

r i=1

|ej+i| k ej+1

|cj+r | |h|Mk( ej + ej+1 ) + |h|t(h). Iskoristivi vektorski zapis rekurzije (10.4.21) i injenice da je s c b k b slijedi da je (1 |h|Mk 2 ) ej+1 (1 + |h|Mk 2 ) ej + k|h|t(h), i e0 k e0 Za |h| je 1 |h|Mk 2 i 1 2
1 1

= k,

j = 0, 1, . . .

(10.4.22)

kr(h).

1 2Mk 2

1 + |h|Mk 2 1 + 4|h|Mk 2 . 1 |h|Mk 2 ej+1 (1 + 4|h|Mk 2 ) ej + 2k|h|t(h),

Sada nejednakost (10.4.22) prelazi u j = 0, 1, . . .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 567

Iz leme 10.3.1 slijedi en e


4n|h|M k 2

e4n|h|M k 1 , kr(h) + t(h) 2Mk

tj. za x = x0 , h = hn = (x x0 )/n, |hn | 1/(2Mk 2 ) vrijedi en e


4M k 2 |xx0 |

kr(hn ) + t(hn )

e4M k

2 |xx

0|

2Mk

Dakle, postoje konstante C1 i C2 , nezavisne o h, takve da je |e(x; h)| = |en | = |yn y(xn )| C1 (hn ) + C2 t(hn ) za dovoljno veliki n. Konvergencija metode sada slijedi iz injenice da je c
n

(10.4.23)

lim (hn ) = lim (hn ) = 0.


n

Iz ocjene (10.4.23) dobivamo sljedei korolar. c Korolar 10.4.2 Neka je linearna viekorana metoda stabilna i konzistentna reda s c p, te f Fp (a, b). Tada globalna pogreka diskretizacije zadovoljava s e(x; hn ) = O(hp ) n za sve hn = (x x0 )/n im pogreke i zadovoljavaju c s |i| (hn ), uz (hn ) = O(hp ). n Ovaj korolar ujedno kazuje koju metodu moramo izabrati za odredivanje poetc p s s nih vrijednosti y0 , . . . , yr1 . Da bismo postigli da se pogreka ponaa kao O(h ), tako se mora ponaati i pogreka poetnih vrijednosti. Ukoliko za njihovo odredivanje s s c koristimo jednokoranu metodu reda p, iz teorema 10.3.3 slijedi da pogreka poetnih c s c vrijednosti zadovoljava
|e(xi ; h)| |h|p N M i|h| 1 eM |xi x0 | 1 e = |h|p N . M M

i = 0, . . . , r 1

Primjenom teorema srednje vrijednosti dobivamo da postoji (0, h) takav da je eM i|h| 1 = Mi|h|eM i Mi|h|eM i|h| , pa je
|e(xi ; h)| |h|p Ni|h|eM i|h| .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 568

Kako je za poetne vrijednosti r-korane metode 0 i r 1, vrijedi c c


|e(xi ; h)| |h|p+1 N(r 1)eM (r1)|h| ,

te moemo izabrati metodu reda p = p 1 da bi se pogreka viekorane metode z s s c ponaala kao O(hp ). s Sljedea dva teorema govore o svojstvima konvergentnih viekoranih metoda. c s c Teorem 10.4.5 Konvergentne linearne viekorane metode su stabilne. s c Dokaz. Promatrajmo diferencijalnu jednadbu z y = 0, y(a) = 0

s egzaktnim rjeenjem y = 0. Za ksirani x [a, b] neka je yn aproksimacija za y(x) s uz h = (x a)/n, n = 1, 2, . . ., te neka su zadane poetne vrijednosti c y i = i , i = 0, . . . , r 1.

Budui da je metoda konvergentna, vrijedi c


n

lim yn = 0 (10.4.24)

im je zadovoljeno c
n

lim i = 0 i = 0, . . . , r 1. i = hui i = 0, . . . , r 1,

Izaberimo sada za neke ksne konstante u0 , . . . , ur1. Uz ovakav izbor i zadovoljili smo uvjet (10.4.24). Sada denirajmo niz yi rekurzivnom formulom yj+r + 1 yj+r1 + + r yj = 0 uz poetne vrijednosti c yi = i i = 0, . . . , r 1. Sada vrijedi yi = hui , gdje je niz ui dobiven rekurzijom uj+r + 1 uj+r1 + + r uj = 0. Budui da je metoda konvergentna, vrijedi c 0 = lim yn = lim (hun ) = (x a) lim
n n

un . n n

Tvrdnja teorema sada slijedi direktno iz leme 10.4.1. Teorem 10.4.6 Konvergentne linearne viekorane metode su konzistentne. s c

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 569

Dokaz. Promatrajmo inicijalni problem y = 0, y(0) = 1 s egzaktnim rjeenjem y(x) = 1. Za poetne vrijednosti yi = 1, i = 0, . . . , r 1, s c metoda daje vrijednosti yj+r , j = 0, 1, . . . gdje je yj+r + r1 yj+r1 + + 0 yj = 0. Stavivi h = x/n, zbog konvergencije metode vrijedi s
n

(10.4.25)

lim yn = y(x) = 1.

Sada direktno iz (10.4.25) za j slijedi C0 = 1 + r1 + . . . + 0 = 0. Da bismo dokazali da je i C1 = 0, iskoristit emo injenicu da je metoda konverc c gentna i za inicijalni problem y = 1, y(0) = 0,

s egzaktnim rjeenjem y(x) = x. Ve smo vidjeli da je C0 = (1) = 0. Zbog s c konvergentnosti metode, iz teorema 10.4.5 slijedi i njena stabilnost, pa je = 1 jednostruka nultoka od , tj. (1) = 0. Dakle, konstanta c K= je dobro denirana. Uz poetne uvjete c yj = jhK j = 0, . . . , r 1, j = 0, . . . , r 1. (1) (1)

za inicijalni problem y = 1, y(0) = 0, uzevi u obzir da je y(xj ) = xj = jh, imamo s yj = y(xj ) + j Oito je zadovoljeno c
n

uz j = jh(K 1),

lim j = 0 za j = 0, . . . , r 1.

Metoda, uz ove poetne vrijednosti, daje niz yj koji zadovoljava c yj+r + r1 yj+r1 + + 0 yj = h(0 + 1 + + r ) = h(1). Uvrtavanjem u gornju jednadbu, uzevi u obzir da je (1) = 0, lagano se moe s z s z provjeriti da je yj = jhk za sve j. Fiksirajmo sada x i stavimo h = x/n. Zbog konvergencije metode je x = y(x) = lim yn = lim (nhK) = lim (xK) = Kx.
n n n

Dakle, K = 1, odnosno (1) = (1), te je C1 = (1) (1) = 0, to znai da je s c metoda konzistentna.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 570

10.5.

Gearova metoda

Dosada razmatrane formule za viekorane metode zasnivale su se na ekvis c distantnom izboru koraka h. Ako elimo razviti metodu koja e imati mogunost z c c promjene koraka integracije tijekom izvodenja algoritma, ovim metodama moramo pristupiti na drugi nain. Ideju emo prikazati na AdamsBashforthMoultonovim c c (ABM) metodama, a ista se moe poopiti i na druge metode. z c Uoimo da kod k-koranih AdamsBashforthMoultonovih metoda za raunac c c s nje yi+1 trebamo poznavati (pamtiti) prijanje vrijednosti yn , fn , . . . , fn+1k . Ovih k + 1 vrijednosti moemo zapamtiti u vektoru yn : z yn = [yn , hfn , hfn1 , . . . , hfn+1k ]T . Prediktor u ABM-metodi raunamo prema c
k [0] yn = yn1 + h j=1

j fnj ,

dok je korektor zadan s


[m+1] yn

= yn1 +

[m] h0 f (xn , yn )

k1

+h
j=1

j fnj ,

m = 0, . . . , M 1.

Oduzimanjem dviju uzastopnih aproksimacija dobivamo


[m+1] [m] [m] [m1] yn = 0 [hf (xn , yn ) hf (xn , yn )] yn

za m = 1, . . . , M 1, dok za m = 0 slijedi
[1] [0] yn yn

[0] h0 f (xn , yn )+h

(j j )fnj j=1

[0] hf (xn , yn )h

j j hfnj . 0 j=1 k

Ovdje smo oznaili k = 0. Uz oznaku c j j j = 0 k

i dn =
j=1

hj fnj ,

moemo pisati z

[1] [0] [0] yn yn = 0 [hf (xn , yn ) dn ].

Slino kao i vektor yn , deniramo vektor c


[0] [0] yn = [yn , dn , hfn1 , . . . , hfn+1k ]T .

Sada vrijedi
[0] yn = Byn1

(10.5.1)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 571

gdje je

1 0 B = 0 . . .

1 1 1 .. .

... ... 0 .. .

... ... ... .. .

k k 0 . . . .

0 ... 0 Nadalje, za m = 1, . . . , M deniramo vektor

1 0

[m] [m] [m1] , hfn1 , . . . , hfn+1k ]T yn = [yn , hf (xn , yn

i funkciju
[m] F (yn ) = [m] [m1] hf (xn , yn ) hf (xn , yn ), m = 1, . . . , M, [0] hf (xn , yn dn , m = 0.

[m] Uoimo da funkcija F koristi samo prve dvije komponente vektora yn : c

F ([u0 , u1, . . . , uk ]T ) = hf (xn , u0 ) u1 . Sada je


[m+1] [m] [m] yn = yn + cF (yn ),

m = 0, . . . , M 1,

(10.5.2)

gdje je

c = [0 , 1, 0, . . . , 0]T .

Za yn odabrat emo zadnju iteraciju: c


[M yn = yn ] .

(10.5.3)

Za izvod AdamsBashforthove metode iskoristili smo interpolacijski polinom c P koji interpolira vrijednosti fni u tokama xni za i = 1, . . . , k te denirali metodu pomou c
xn

yn yn1 =
xn1

P (x) dx.

(10.5.4)

Denirajmo polinom Q(x) =

P (z) dz + yn1.
xn1

(10.5.5)

Zbog Q (x) = P (x) izlazi Q (xni ) = fni , te iz (10.5.4) i (10.5.5) slijedi Q(xn1 ) = yn1 i Q(xn ) = yn . i = 1, . . . , k,

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 572

Oito da iz vektora yn moemo jednoznano odrediti polinom Q, i obratno, iz polic z c noma Q i lagano i jednoznano odredujemo yn . Razvojem polinoma Q u Taylorov c red oko toke xn1 dobivamo c Q(x) = Q(i) (xn1 ) (x xn1 )i = i! i=0
k

hi (i) x xn1 Q (xn1 ) h i=0 i!


k

Koecijente polinoma Q moemo zapisati vektorom zn1 : z zn1 = Q(xn1 ), h Q(k) (xn1 ) Q (xn1 ) 2 Q (xn1 ) ,h , . . . , hk 1! 2! k!
T

Vanost ovoga zapisa je u tome to su yn1 i zn1 linearno povezani i vrijedi: z s yn1 = Dzn1 , gdje je D regularna matrica koja ne ovisi o izboru koraka i n. Oznaivi jo s zn1 : c s s yn1 = Dzn1 ,
[m] [m] [m]

m = 0, . . . , M,

korak viekorane metode zadan s (10.5.1), (10.5.2) i (10.5.3) moemo pisati u obliku s c z z[0] = DBD1 zn1 , n
[m+1] [m] [m] = zn + DcF (D1zn , zn

m = 0, . . . , M 1,

zn = z[M ] . n S P oznaimo matricu c P = DBD1 .


.

Matrica P je gornjotrokutasta matrica iji su elementi binomni koecijenti: c 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ... ... ... ... ... .. . 1 k

P=

1 Primijetimo da su prve dvije komponente vektora yn i zn , odnosno yn1 i zn1 jednake: Q(xn1 ) = yn1 i hQ (xn1 ) = hfn1 . Funkcija F ovisi samo o prva dva elementa vektora yn1 , pa vrijedi F (yn ) = F (D1zn ) = F (zn ).

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 573

Oznaimo jo s c s l = Dc, i viekoranu metodu moemo pisati u obliku s c z z[0] = Pzn1, n [m+1] [m] [m] zn = zn + F (zn )l, zn = z[M ] . n (10.5.6) (10.5.7) (10.5.8)

m = 0, . . . , M 1,

Iteracije korektora moemo napisati u obliku z


[M zn = z[0] + [F (z[0] ) + + F (zn 1] )]l. n n [m] Budui da F koristi prve dvije komponente od zn , dovoljno je tijekom iteracija c raunati samo njih. Uz oznaku c [M en = F (z[0] ) + + F (zn 1] ) n

prethodna relacija postaje zn = z[0] + en l. n (10.5.9) Koecijenti vektora l za AdamsBashforthMoultonovu metodu dani su u sljedeoj c tablici. Red metode (k) 1 l0 l1 l2 l3 l4 l5 l6 1 1 2 1 2 1 1 2 3 5 12 1 3 4 1 6 4 3 8 1 11 12 1 3 1 24 5 251 720 1 25 24 35 72 5 48 1 120 6 95 288 1 137 120 5 24 17 96 1 40 1 720

Znaajno je napomenuti da prediktor-korektor par izveden iz formula za derivic ranje ima isti matrini prikaz s istom matricom P i funkcijom F , jedino se razlikuju c

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 574

vektori l. Sljedea tablica prikazuje koecijente vektora l za BDF metodu. c Red metode (k) 1 l0 l1 l2 l3 l4 l5 l6 1 1 2 2 3 1 1 3 3 6 11 1 6 11 1 11 4 12 25 1 7 10 1 5 1 50 5 60 137 1 225 274 85 274 15 274 1 274 6 60 147 1 406 441 245 588 175 1764 7 558 1 1764

Vanost ovog prikaza je u tome da vektor zn uva k + 1 informaciju u jednoj jedinoj z c toki, dok prijanji prikaz koristi isti broj informacija, ali u k razliitih toaka. c s c c Za korak integracije h vektor zn je oblika h hk zn = Q(xn ), Q (xn ) , . . . , Q(k) (xn ) 1! k! Analogno, za korak h imali bismo n = Q(xn ), Q (xn ) z h (h)k , . . . , Q(k) (xn ) 1! k!
T T

Odavde se jasno vidi da za prijelaz s koraka h na korak h treba i-tu komponentu vektora zn pomnoiti s i . z Za (k 1)-koranu metodu vektor zn je oblika c h hk1 n = Q(xn ), Q (xn ) , . . . , Q(k1) (xn ) z 1! (k 1)!
T

te ga moemo dobiti iz vektora zn isputanjem zadnje komponente. Za prijelaz na z s metodu s jednim korakom vie u odgovarajuem vektoru s c h hk hk+1 zn = Q(xn ), Q (xn ) , . . . , Q(k) (xn ) , Q(k+1) (xn ) 1! k! (k + 1)!
T

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 575

treba aproksimirati zadnju komponentu. Koristei podijeljene razlike unazad dobic vamo Q
(k+1)

y (k) (xn ) y (k) (xn1 ) (xn ) y (xn ) h k! hk y (k) (xn ) hk y (k)(xn1 ) k! k+1 k+1 (zn,k zn1,k ). h k! k! h
(k+1)

Uoimo da su zbog oblika matrice P zadnje komponente vektora zn1 i z[0] jednake, c n te vrijedi [0] zn,k zn1,k = zn,k zn,k = en lk gdje smo iskoristili prikaz (10.5.9) i s lk oznaili zadnju komponentu vektora l. Sada c za aproksimaciju zadnje komponente vektora zn moemo iskoristiti z hk+1 en lk Q(k+1) (xn ) = . (k + 1)! k+1 Ovime smo pokazali da ovakav prikaz viekoranih metoda omoguava laganu pros c c mjenu koraka integracije, ali i poveanje ili smanjenje broja koraka, odnosno reda c metode. Ujedno je i rijeen problem poetnih vrijednosti. Dovoljno je poeti integraciju s c c s jednokoranom metodom i vektorom c z0 = [y0 , hf (x0 , y0 )]T . Jo nam je ostalo za razmotriti izbor veliine koraka i reda metode. s c Iteracije korektora u (10.5.7) nisu nita drugo nego metoda jednostavnih its eracija za rjeavanje jednadbe s z (10.5.10) F (zn )l = 0. Problem se javlja kod krutih sustava. Tada iteracije konvergiraju samo ako je korak integracije h dovoljno malen. Medutim, nerealno smanjenje koraka integracije znaajno poveava broj koraka integracije. Da bi se prevladao ovaj problem, jedc c nadbu (10.5.10) moemo rjeavati Newtonovom metodom umjesto jednostavnim z z s iteracijama:
[m+1] [m] [m] zn = zn + W F (zn )l,

m = 0, . . . , M 1,

(10.5.11)

gdje je

f 1 F [m] 1 zn l = l1 hl0 . z y Raunanje W -a zahtijeva relativno mnogo raunanja tako da se radi ubrzanja u c c iteracijama koristi W izraunat u prvoj iteraciji. U sluaju da nije zadovoljen kriterij c c konvergencije, W se ponovno rauna. c W =

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 576

Apsolutna pogreka metode dana je s s ck+1 hk+1 y (k+1)(xn ) + O(hk+2 ),


pri emu je za Adamsove metode ck+1 = k a za BDF metode je ck+1 = 1/(k + 1). c Ako elimo da nam relativna tonost n-tog koraka bude manja od unaprijed zadane z c vrijednosti , tada moramo zahtijevati

ck+1 hk+1 |y (k+1)(xn )| , y gdje je y = max |yi|.


0i

(10.5.12)

Za aproksimaciju y (k+1)(xn ) koristimo stranje diferencije z y (k+1) (xn ) Odavde slijedi hk+1 y (k+1) (xn ) k! hk (k) hk y (xn ) y (k) (xn1 ) . k! k! (10.5.13) y (k)(xn ) y (k)(xn1 ) . h

hk (k) y (xn ) nalazi se u zadnjoj komponenti zn,k vektora zn , te (10.5.13) Vrijednost k! prelazi u hk+1 y (k+1) (xn ) k!(zn,k zn1,k ). (10.5.14) Budui da je c
0 z[n ] = Pzn1,

i jer matrica P ne mijenja zadnju komponentu vektora zn1 , slijedi da je zn,k = zn1,k . Sada zbog (10.5.9) relaciju (10.5.14) moemo napisati u obliku z hk+1 y (k+1) (xn ) k!en lk . Koristei ove aproksimacije, nejednakost (10.5.12) zamjenjujemo s c ck+1 |en | |lk |k! . y Uz oznake D2 = |en | y i E2 = , ck+1 |lk |k! (10.5.16) (10.5.15)
[0]

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 577

kriterij (10.5.16) moemo zapisati u obliku z D2 E2 . (10.5.17)

Ukoliko gornji uvjet nije zadovoljen, tj. nismo postigli traenu tonost, zadnji korak z c se ponavlja, ali s manjim korakom integracije: h2 = gdje je D2 p2 = 1.2 E2
1 k+1

h , p2

Da smo u n-tom koraku koristili metodu jednog reda manju, dakle reda k 1, analogan zahtjev na relativnu pogreku glasio bi s ck hk |y (k)(xn )| . y Iskoristivi aproksimaciju s hk y (k) (xn ) k!zn,k , nejednakost (10.5.18) zamjenjujemo s ck |zn,k |k! , y odnosno D1 E1 , pri emu je c D1 = |zn,k | y i E1 = . ck k! (10.5.18)

Slino razmatranje moemo provesti i za sluaj da smo koristili za jedan red c z c veu metodu, dakle reda k + 1. Zahtjev na relativnu pogreku glasio bi c s ck+2 hk+2 |y (k+2) (xn )| . y Aproksimirajui y (k+2)(xn ) podijeljenim razlikama unazad: c hk+2 y (k+2) (xn ) hk+1 y (k+1) (xn ) hk+1 |y (k+1)(xn1 ) te iskoristivi (10.5.15), dobivamo s hk+2 y (k+2) (xn ) (en en1 )lk k!. (10.5.19)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 578

Uz oznake D3 =

|en en1 | y

i E3 =

, ck+2 k!|lk |

nejednakost (10.5.19) zamjenjujemo s D3 E3 . Ako je u n-tom koraku zadovoljen uvjet konvergencije (10.5.17) prelazi se na izbor reda metode i koraka h u novom, (n + 1)-om koraku. Uz konstantu p2 , pri izboru reda i koraka raunaju se i konstante c p1 = 1.3 D1 E1
1 k

i p3 = 1.4

D3 E3

1 k+2

Ukoliko je p1 najmanja konstanta, tada se red metode smanjuje za jedan, dok se red metode poveava za jedan ako je p3 najmanja konstanta. Red metode se ne mijenja c ako je p2 najmanja konstanta. Za novi korak integracije uzima se hi = h . pi

Faktori 1.2, 1.3 i 1.4 kod raunanja konstanti p2 , p1 i p3 su teine kojima dajemo c z prednost na mijenjanju i smanjivanju reda metode.

11. OPTIMIZACIJA

OPTIMIZACIJA 579

11. Optimizacija
11.1. Uvod u optimizaciju

Problem koji prouava optimizacija relativno je jednostavno opisati. Za zadc n c c danu funkciju f : R R, cilj je nai x , toku minimuma funkcije f : x = arg min f (x). n
x

(11.1.1)

Iako je problem jednostavno opisati, njegovo rjeavanje je jedno od najteih podruja s z c numerike analize. Zamislimo da je naa funkcije f nadmorska visina, odnosno c s dubina pojedine toke na zemljinoj kugli. Nai minimum ove funkcije je zapravo c c traenje najvee morske dubine. Funkcija nam je poznata, u smislu da moemo z c z dobiti njezinu vrijednost u bilo kojoj toki (npr. ehosonderom). Medutim, nije nam c dostupna niti jedna dodatna informacija. Jedno rjeenje je beskonano mjerenje s c dubina u nizu gusto izabranih toaka. Ovaj postupak oito nije prikladan, jer bismo c c teko izvrili toliko mjerenja u nekom razumnom vremenu. s s Cilj optimizacije je denirati prikladne, tj. to bre postupke, za rjeavanje s z s ovog tipa problema. Na ovom primjeru uoimo jo neke probleme s kojima emo c s c se susretati. Koliko god gusto mjerili dubinu, uvijek nam ostaje nepoznata dubina izmedu dvije susjedne toke mjerenja. Ne poznajui funkciju f , odnosno njena c c s c c analitika svojstva, ne moemo rei da li izmedu njih postoji jo neka toka vee c z c dubine. Drugi je problem vezan uz detekciju globalnog minimuma. Ovdje je ipak podruje promatranja bilo ogranieno povrinom Zemljine kugle. Generalni probc c s lem optimizacije (11.1.1) vezan je uz traenje minimuma na neogranienom poz c druju. Naavi jedan minimum, nikada sa sigurnou neemo moi ustvrditi da c s s sc c c je to globalni minimum jer je nemogue provjeriti vrijednosti funkcije na cijelom c neogranienom podruju. c c Iako smo rekli da je cilj optimizacije rijeiti problem (11.1.1), tj. nai minimum s c funkcije f , potuno analogan problem je nalaenja maksimuma funkcije f . Naime, z traenje maksimuma od f ekvivalentno je traenju minimuma funkcije f : z z max f (x) = min f (x). n n
x x

11. OPTIMIZACIJA

OPTIMIZACIJA 580

To je razlog to se esto umjesto termina optimizacija ravnopravno koristi termin s c minimizacija funkcija. Cesto se minimum funkcije f ne trai na cijelom podruju Rn , ve na nekom z c c n: podskupu D R min f (x). (11.1.2)
xD

U tom sluaju govorimo o problemu minimizacije s ogranienjima. Iako ovaj c c problem izgleda jednostavniji (zbog manjeg podruja minimizacije), metode za njec govo rjeavanje su sloenije nego za polazni problem (11.1.1). Razlog lei u injenici s z z c da uz funkciju f moramo voditi rauna i o rubu podruja D (esto deniranog c c c 2 pomou skupa funkcija). Npr., jasno je da funkcija f (x) = x ima globalni minic mum u 0. Medutim, ako traimo minimimum na intervalu [a, b] tada je minimum z funkcije f jednak 0 ako je 0 [a, b] ili min{f (a), f (b)} ako 0 [a, b], tj. u razma/ tranje smo trebali uzeti i rubove intervala. U praksi se esto javlja problem (11.1.2) s posebnim oblikom funkcije f i skupa c D. Ako je D presjek poluravnina u Rn , a f je linearna funkcija tada govorimo o problemu linearnog programiranja. Ukoliko je f kvadratina funkcija (polic nom) tada se ovaj problem naziva problem kvadratinog programiranja. Za c ove probleme su razvijene posebne metode koje ovdje neemo opisati. U narednim c potpoglavljima su obradene osnovne metode za rjeavanje problema minimizacije s bez ogranienja. c

11.2.

Metoda zlatnog reza

Prvu minimizacijsku metodu opisat emo za problem minimizacije realne funkc cije realne varijable (f : R R). Neka su zadane tri toke a < b < c te neka c su poznate vrijednosti funkcije f u njima (f (a), f (b) i f (c)) koje zadovoljavaju f (b) f (a) i f (b) f (c) (tj. vrijednost funkcije f je najmanja u srednjoj toki b). c U tom sluaju znamo da se toka lokalnog minimuma nalazi u intervalu [a, b], tj. a i c c b omeduju toku minimuma. Izaberimo novu toku x iz intervala [a, b]. Pretpostavit c c emo da je x (b, c). Postoje dvije mogunosti: f (x) f (b) ili je f (x) < f (b). c c Ako je f (x) f (b) tada se minimum nalazi u intervalu [a, x] (jer je f (b) f (a) i f (b) f (x)) i novu toku biramo iz trojke (a, b, x). U suprotnom sluaju, minimum c c se nalazi u intervalu [b, c] i novu toku biramo iz trojke (b, x, c). Opisani postupak je c osnova metode zlatnog reza. Preostalo je jo za razmotriti nain izbora nove toke s c c x. Neka je w omjer u kojem b dijeli interval [a, c]: w= ba ca i cb = 1 w, ca

11. OPTIMIZACIJA

OPTIMIZACIJA 581

xb . ca Uoimo da je za f (x) f (b) minimum lociran na intervalu irine x a, dok je c s za f (x) < f (b) minimum lociran na intervalu irine c b. Prvi zahtjev koji emo s c postaviti je da i u jednom i u drugom sluaju irina intervala bude jednaka: c s z= x a = c b, tj. z+w = Ovime dobijemo uvjet z = 1 2w (11.2.1) koji znai da su toke x i b smjetene simetrino s obzirom na sredite intervala c c s c s [a, b]. Povoljnim izborom poetne toke b moemo postii da x dijeli interval [b, c] u c c z c istom omjeru kao to b dijeli interval [a, c]. Ovaj uvjet daje jednadbu s z cx cb = , ca cb z . 1w Iskoristivi injenicu da je z = 1 2w (11.2.1), sredivanjem gornjeg izraza dobivamo s c 1w =1 w 2 3w + 1 = 0. Od dva rjeenja gornje jednadbe zanima nas ono koje je manje od 1 (jer je w omjer s z irine manjeg i veeg intervala): s c 3 5 w= 0.38197. 2 Gornji je broj poznat kao zlatni broj pa se metoda s ovakvim izborom nove toke x c naziva metodom zlatnog reza. Algoritam za metodu zlatnog reza. Neka toke a(0) , b(0) i c(0) zadovoljavaju c 3 5 b(0) a(0) =w= c(0) a(0) 2 odakle slijedi xa cb xb+ba = = = 1 w. ca ca ca

te sa z oznaimo c

te f (b(0) ) f (a(0) ) i f (b(0) ) f (c(0) ). Opisani postupak moemo sada saeto zapisati. z z

11. OPTIMIZACIJA

OPTIMIZACIJA 582

1. i = 0 2. Odredimo x(i) = c(i) + a(i) b(i) . 3. Ako je f (x(i) ) < f (b(i) ) tada a(i+1) = b(i) , inae c a(i+1) = a(i) , b(i+1) = b(i) , c(i+1) = x(i) . 4. Ako je |c(i+1) a(i+1) | tada x = (a(i+1) + c(i+1) )/2, KRAJ. 5. i = i + 1 6. Vrati se na korak 2. Uoimo da vrijedi c |c(i+1) a(i+1) | = (1 w)|c(i) a(i) | 0.61803|c(i) a(i) | te metoda konvergira linearno prema toki minimuma x . c Za inicijalno odredivanje trojke (a(0) , b(0) , c(0) ) krenemo od bilo kojeg para toaka a i b. Bez smanjenja openitosti pretpostavimo da je f (a) f (b). Toku c c c c odredimo tako da b dijeli interval [a, c] u zlatnom omjeru. Ukoliko je f (b) f (c) nali smo traenu trojku. U suprotnom sluaju ponovimo postupak s tokama a i c s z c c (ili b i c). b(i+1) = x(i) , c(i+1) = c(i) ,

11.3.

Viedimenzionalna minimizacija s

Ovdje emo promatrati metode koje minimiziraju funkciju f : Rn R: c


xn

min f (x).

(11.3.1)

Cijeli niz metoda zasnovan je na ideji da se za neku zadanu toku x0 Rn odredi c n toka x1 R takva da je f (x1 ) < f (x0 ). Ponavljanjem ovog postupka za toku c c n n z c c xi R , traimo toku xi+1 R za koju je f (xi+1 ) < f (xi ). Na ovaj nain generiramo niz toaka x0 , x1 , x2 , . . . za koje je f (x0 ) > f (x1 ) > f (x2 ) > . Ako je c c c niz (f (xi ))i odozdo ogranien, tada postoji lim f (xi ). No, lim xi u tom sluaju ne treba nuno postojati. Na primjer, za f (x) = ex i xi = i je lim f (xi ) = 0, no lim xi z i i ne postoji. Za egzistenciju lim xi nuno je da postoji x0 Rn takav da je skup z
i i i

{x | f (x) f (x0 )}

11. OPTIMIZACIJA

OPTIMIZACIJA 583

kompaktan. Osnovno je pitanje kako izabrati xi+1 . Neka je s smjer u kojem funkcija f lokalno pada u okolini toke x, tj. c f (x + s) < f (x), za mali , R, > 0.

Promatrajmo funkciju g : R R deniranu s g() = f (x + s). Uoimo da je g(0) = f (x). Ako je f glatka funkcija (f C 1 ), tada je i g C 1 . U c tom sluaju uvjet da f pada u smjeru s oko toke x odgovara uvjetu da funkcija g c c pada u 0, tj. da je g (0) < 0. Kako je g () = f (x + s), s , gornji uvjet prelazi u g (0) = f (x), s < 0. Na osnovu ovog, za funkciju f i toku deniramo skup c D(x) = {s | f (x), s < 0}. (11.3.2)

Ovaj skup nazivamo skup smjerova silaska a njegove elemente smjerovi silaska. Sada jednostavno moemo opisati jednu klasu minimizacijskih metoda. Za z zadani xi Rn deniramo (11.3.3) xi+1 = xi + i si gdje je si D(xi ). Konstantu i iz (11.3.3) nazivamo korakom minimizacije. Odabiremo je tako da bude zadovoljeno f (xi+1 ) < f (xi ). Iz prethodnog razmatranja znamo da je to mogue jer je si smjer silaska. Izbor smjera silaska ovisi o izboru c metode minimizacije. Razliite metode na razliite naine odreduju izbor smjera c c c silaska. Veliina koraka minimizacije je bitna za konvergenciju metode, jer nije doc voljno odrediti toku xi+1 koja zadovoljava f (xi+1 ) < f (xi ). Jednostavan primjer je c minimizacija funkcije f (x) = x2 . Izborom x0 = 2, x1 = 1.5, ..., xi = 1 + 1 , i+1

dobivamo niz toaka (xi )i koji konvergira i niz padajuih vrijednosti (f (xi ))i koje c c takoder konvergiraju. Medutim, ovi nizovi ne konvergiraju prema toki minimuma, c odnosno minimumu funkcije f . s Jedan od naina izbora koraka i je maksimalno sputanje u smjeru si . Tada c je i = arg min f (xi + si ).
>0

11. OPTIMIZACIJA

OPTIMIZACIJA 584

Medutim, ovakav pristup zahtijeva primjenu analitikih metoda to nije jednostavno c s pri upotrebi raunala a naroito ako je funkcija f sloenijeg oblika. c c z Drugi nain je priblino odredivanje i nekom minimizacijskom metodom. c z U tom sluaju koristimo metode za jednodimenzionalnu minimizaciju (npr. prije c opisanu metodu zlatnog reza). z c Kako toka xi+1 nije nuno toka (globalnog ili lokalnog) minimuma mi u njoj c ponavljamo cijeli postupak: izabiremo novi smjer silaska i korak minimizacije. Stoga korak minimizacije nije nuno izraunati egzaktno ili pak s prevelikom tonou jer z c c sc utroeno vrijeme ne rezultira s odgovarajuim rezultatom. Jedan od alternativnih s c pristupa je neegzaktno pretraivanje po pravcu. Ova metoda u konanom broju z c koraka odreduje i koji ne minimizira f (xi + si ), ali ipak dovoljno smanjuje vrijednost f (xi+1 ) u odnosu na f (xi ) tako da minimizacijska metoda konvergira, tj. da c niz (xi )i konvergira toki minimuma funkcije f . Ovaj izbor koraka minimizacije biti e detaljnije objanjen kasnije. c s

11.3.1.

Gradijentna metoda

Ovo je najjednostavnija metoda iz klase. Uoimo da je f (x) smjer silaska c u toki x zbog c f (x), f (x) = f (x) 2 < 0 za f (x) = 0. Ako je f (x) = 0 tada je, obino, zadovoljen kriterij konvergencije c (u tom je sluaju skup smjerova silaska prazan skup). Vano je napomenuti da u c z opem sluaju to ne treba znaiti da smo doli do toke minimuma. c c c s c Iako ova metoda lokalno bira smjer najbreg silaska, zato gradijentnu metodu z ponekad zovu i metoda najbreg silaska, ta metoda nije najbra u traenju z z z globalnog minimuma. Za primjenu ove metode funkcija f treba biti glatka (f C 1 ), to je nedostatatak u odnosu na metode koje zahtjevaju samo neprekidnost funkcije s koja se minimizira, ali je i prednost u odnosu na neke bre metode koje zahtijevaju z i veu glatkou funkcije f (npr. modicirana Newtonova metoda, zahtijeva f C 2 ). c c

11.3.2.

Modicirana Newtonova metoda

Ova se metoda zasniva na NewtonRaphsonovoj metodi za rjeavanje jeds nadbe z f (x) = 0. Ovo je nuan uvjet koji toka minimuma mora zadovoljavati. U sluaju da je f z c c konveksna funkcija, tada je taj uvjet i dovoljan. Newton-Raphsonova metoda generira niz toaka iteracijama: c xi+1 = xi [2 f (xi )]1 f (xi ), (11.3.4)

11. OPTIMIZACIJA

OPTIMIZACIJA 585

gdje je 2 f Hessijan (ili Hessova matrica) funkcije f , [2 f ]ij = 2f . yi yj

Ono to u ovom trenutku nije jasno je li ispunjeno f (xi+1 ) < f (xi ). s Prvo pogledajmo je li [2 f (xi )]1 f (xi ) D(xi ). Neka je H pozitivno denitna matrica ((Hx, x) > 0 za sve x Rn i x = 0). Tada je Hf (x), f (x) = Hf (x), f (x) < 0 za f (x) = 0. Znai, za pozitivno denitnu matricu H je c Hf (x) D(x). c Sada treba primijetiti da je za x , toku minimuma funkcije f , matrica 2 f (x ) pozitivno denitna. No, tada je i 2 f (x) pozitivno denitna za x iz neke okoline toke minimuma x . Kako je tada i [2 f (x)]1 pozitivno denitna, onda je c [2 f (x)]1 f (x) D(x) za x u okolini toke minimuma. c Ovo jo ne garantira da niz generiran s (11.3.4) zadovoljava f (xi+1 ) < f (xi ). s Uoimo da je u (11.3.4) i = 1. Ako za smjer silaska izaberemo c si = [2 f (xi )]1 f (xi ), a u iteracijama xi+1 = xi i [2 f (xi )]1 f (xi ),

korak minimizacije i biramo na jedan od prije opisanih naina, denirali smo c tzv. modiciranu Newtonovu metodu (modikacija je uvodenje koraka minimizacije i u Newtonovu metodu (11.3.4)). Za primjenu modicirane Newtonove metode nuno je da je funkcija f C 2 . z 2 Metoda je primjenjiva samo na podruju gdje je f pozitivno denitna. Ako f c nije konveksna funkcija, tada je modicirana Newtonova metoda primjenjiva samo u okolini toke minimuma, a ne na cijelom podruju minimizacije. c c U odnosu na gradijentnu metodu, modicirana Newtonova metoda zahtijeva konveksnost i veu glatkou funkcije f . Nadalje, u svakom je koraku minimizacije c c nuno izraunati Hessijan, te rijeiti sustav z c s 2 f (xi )(xi+1 xi ) = f (xi )

11. OPTIMIZACIJA

OPTIMIZACIJA 586

(ovdje nema potrebe za invertiranjem Hessijana). Radi ubrzanja metode, esto se c Hessijan ne rauna u svakoj iteraciji. S druge strane, prednost metode je bra c z konvergencija generiranog niza (xi )i k toki minimuma. c Da bismo ilustrirali prednost modicirane Newtonove metode u odnosu na gradijentnu metodu, usporedit emo ove dvije metode na jednome jednostavnom c primjeru. Neka je A pozitivno denitna matrica. Minimizirat emo kvadratnu c formu 1 Ay, y + b, y + c. f (y) = 2 Za ovu funkciju, egzaktni minimum jednostavno se pronalazi. Gradijent funkcije f je dan s f (y) = Ay + b, te iz nunog i dovoljnog uvjeta za minimum f (y) = 0 dobijemo da f dostie z z minimum u x = A1 b. Primjenom modicirane Newtonove metode xi+1 = xi i [2 f (xi )]1 f (xi ), uz egzaktan izbor koraka i = arg min f (xi [2 f (xi )]1 f (xi ))
>0

(11.3.5)

dobivamo iteracije xi+1 = xi i A1 (Axi + b) = (1 )xi A1 b. Ovdje smo iskoristili da je 2 f (xi ) = A. Odatle se lako vidi da za bilo koji izbor s poetne toke x0 modicirana Newtonova metoda daje egzaktno rjeenje u jednom c c koraku. Egzaktni izbor koraka (11.3.5) daje 0 = 1. Primjena gradijentne metode na ovom primjeru pokazuje da ova metoda openito ne dolazi do minimuma u konanom broju koraka. Za ilustraciju promatrat c c emo dvodimenzionalni problem minimizacije funkcije c f (y) = 1 1 2 2 Ay, y = (1 y1 + 2 y2 ), 2 2

gdje je 0 < 1 < 2 . Matrica A je oblika A= 1 0 . 0 2

11. OPTIMIZACIJA

OPTIMIZACIJA 587

Ako je 1 = 2 > 0, lagano se vidi da, u tom sluaju, gradijentna metoda u jednom c koraku dolazi do toke minimuma c x = Izaberimo poetni vektor c x0 = x0,1 x0,2 0 . 0

s komponentama x0,1 i x0,2 razliitim od nule. Ako bi jedna komponenta bila 0, c tada bismo, takoder, u jednom koraku doli do minimuma. Pretpostavimo sada s da je gradijentna metoda u konanom broju koraka, recimo k + 1, dola do toke c s c minimuma. Tada je xk+1 = xk k Axk = 0, odnosno xk+1,1 = (1 k 1 )xk,1 = 0, xk+1,2 = (1 k 2 )xk,2 = 0.

Budui da je 1 = 2 , barem jedna od komponenti vektora xk treba biti jednaka c c nuli. Pokazat emo da je to nemogue ukoliko su komponente od x0 razliite od 0, c c te ukoliko koristimo egzaktni izbor koraka u gradijentnoj metodi. Za xi = vrijedi za egzaktni izbor koraka i xi+1,1 =
2 2 (2 1 )xi,1 x2 i,2 , 3 3 1 x2 + 2 x2 i,1 i,2

xi,1 xi,2

xi+1,2 =

2 1 (1 2 )xi,2 x2 i,1 . 3 3 1 x2 + 2 x2 i,1 i,2

Ukoliko su xi,1 = 0 i xi,2 = 0 zbog 1 > 2 > 0 vrijedi xi+1,1 = 0 i xi+1,2 = 0, pa indukcijom zakljuujemo da niti u jednom koraku ne dolazimo do toke minimuma. c c

11.4.

KvaziNewtonove metode

Prethodna usporedba gradijentne i modicirane Newtonove metode pokazuje da je modicirana Newtonova metoda bra od gradijentne, tj. do minimuma kvaz dratne forme dolazi u konanom (jednom) broju minimizacijskih koraka. To plaamo c c veim brojem raunskih operacija u svakom koraku (za raunanje Hessijana te c c c rjeavanje sustava jednadbi). s z Jedna cijela klasa minimizacijskih metoda nastala je na ideji da se iskoristi jednostavnost gradijentne i brzina modicirane Newtonove metode. S druge strane,

11. OPTIMIZACIJA

OPTIMIZACIJA 588

modicirana Newtonova metoda konvergira samo u podruju u kojem je funkcija c koju minimiziramo konveksna, odnosno Hessijan pozitivno denitan. Izvan tog podruja ne moemo nita rei o konvergenciji metode. Metode koje emo ovdje c z s c c opisati rjeavaju i taj problem. U okolini minimuma se ponaaju kao modicirana s s Newtonova metoda, a izvan tog podruja jo uvijek garantiraju konvergenciju. c s Primjena ovih metoda na problem minimizacije kvadratne forme pokazat e c da se do minimuma dolazi u konanom broju koraka, ne veem od dimenzije (broja c c varijabli) problema. Tako i ovaj kriterij svrstava metode koje emo promatrati, po c ekasnosti, izmedu gradijentne i modicirane Newtonove metode. Ve smo pokazali da je za pozitivno denitnu matricu H i Hf (x) smjer c silaska. Ovdje emo promatrati metode za koje je smjer silaska deniran s c si = Hi f (xi ), (11.4.1)

gdje je Hi pozitivno denitna matrica. Ako je Hi inverz Hessijana u xi onda dobivamo modiciranu Newtonovu metodu. No, ovdje su od interesa metode koje c matricu Hi+1 relativno jednostavno raunaju iz prethodne matrice Hi . Ovim pristupom ne trebamo u svakom koraku rjeavati sustav 2 f (xi )si = f (xi ), ve u s c s z svakom koraku mnoimo matricu Hi s vektorom f (xi ), to je daleko bre. z c U svakom koraku matricu Hi+1 generirat emo tako da bude zadovoljeno Hi+1 (f (xi+1 ) f (xi )) = xi+1 xi . (11.4.2)

c Ovaj uvjet na Hi+1 slian je uvjetu koji zadovoljava Hessijan (koji se koristi u modiciranoj Newtonovoj metodi): f (xi+1 ) f (xi ) 2 f (xi+1 )(xi+1 xi ). Metode koje za izbor smjera silaska koriste (11.4.1), pri emu Hi+1 zadovoljava c ralaciju (11.4.2), nazivamo kvazi-Newtonove metode (esto se koristi i naziv c metode promjenjive metrike). Za niz matrica koje zadovoljavaju (11.4.2) moe z se pokazati da vrijedi lim Hi = [2 f (x )]1 ,
i

gdje je x toka minimuma. Ovo dodatno opravdava naziv metode. Sada emo c c vidjeti kako raunati Hi da bi vrijedilo (11.4.2). c Oznaimo c qi = f (xi+1 ) f (xi ) i pi = xi+1 xi . Traimo pozitivno denitnu matricu Hi+1 koja zadovoljava z Hi+1 qi = pi .

11. OPTIMIZACIJA

OPTIMIZACIJA 589

Htjeli bismo da je matrica Hi+1 lako izraunljiva iz matrice Hi . Radi jednosc tavnosti, u daljnjem raunu neemo koristiti indekse: c c H = Hi , p = pi , q = qi , H = Hi+1 .

Uz ovaj dogovor uvjet (11.4.2) moemo zapisati u obliku z H q = p. Pod pojmom da je H lako izraunljiva podrazumijevat emo da H dobijemo iz H c c pribrajanjem neke relativno jednostavne matrice E: H = H + E. Sada smo problem sveli na odredivanje matrice E koja zadovoljava (H + E)q = p, odnosno Eq = p Hq. c c Matrice H i H su simetrine matrice, pa je i matrica E simetrina. Najjednostavnija simetrina matrica M koja zadovoljava c Mx = y za zadane vektore x i y ima oblik M= yy T yy T = . yT x y, x (11.4.3)

Lako se vidi da ovako denirana matrica M zadovoljava (11.4.3): Mx = Tako za A= vrijedi Aq = p, a za B= vrijedi Bq = Hq(Hq)T q = Hq. (Hq)T q Hqq T H Hq(Hq)T = T (Hq)T q q Hq 1 yy T 1 x= y(y T x) = y y, x = y. y, x y, x y, x ppT pT q

11. OPTIMIZACIJA

OPTIMIZACIJA 590

Na osnovu ovoga, lako zakljuimo da matrica E denirana s c E =AB = zadovoljava Eq = p Hq. Ovime smo pokazali da matrica Hi+1 denirana s Hi+1 = Hi + pi pT Hi qi q T Hi i T i , pT qi qi Hi qi i (11.4.4) Hqq T H ppT T pT q q Hq

gdje je qi = f (xi+1 ) f (xi ), a pi = xi+1 xi , zadovoljava kvazi-Newtonovu jednadbu. Ova metoda poznata je pod nazivom DFP metoda (Davidon, Fletcher, z Powel). Sada emo pokazati da je Hi+1 dobro denirana, tj. da su nazivnici u (11.4.4) c razliiti od 0. Stovie, vrijedi c s
T pT qi > 0 i qi Hi qi > 0 i

ako je f (xi ) = 0. Prvo pokaimo da su kod egzaktnog izbora koraka z f (xi + i si ) = min f (xi + si )
0

c c vektori si i f (xi+1 ) okomiti. Budui da je i toka minimuma, vrijedi 0= d f (xi + si ) d = f (xi + i si ), si = f (xi+1 ), si .

=i

Ako korak ne biramo egzaktno, ve nekom numerikom metodom, gornja jednakost c c nee vrijediti. U tom sluaju je jednoznano odreden i = 0 za koji je c c c f (xi+1 ), si = i f (xi ), si . Za egzaktan izbor koraka je i = 0, dok za neegzaktan izbor oekujemo da je i 0. c Primjenom gornjih oznaka dobivamo pT qi = f (xi+1 ) f (xi ), xi+1 xi = f (xi+1 ) f (xi ), isi i = i [ f (xi+1 ), si f (xi ), si ] = i [i f (xi ), si f (xi ), si ] = i (i 1) f (xi ), si = i (i 1) f (xi), Hi f (xi ) . Budui da je Hi pozitivno denitna matrica i f (xi ) = 0, gornji skalarni produkt je c strogo pozitivan. Uz uvjet da je i < 1 vrijedit e pT qi > 0. Ovaj uvjet nije veliko c i ogranienje jer, kako smo ve spomenuli, kod neegzaktnog izbora koraka oekujemo c c c da je i 0.

11. OPTIMIZACIJA

OPTIMIZACIJA 591

Zbog pozitivne denitnosti matrice Hi takoder vrijedi


T qi Hi qi 0.

Gornji izraz jednak je 0 samo ukoliko je i qi = 0 odnosno f (xi+1 ) = f (xi ). No, u tom sluaju je i c f (xi+1 ), si = f (xi ), si c c te je i = 1. Znai, i u ovom sluaju i < 1 garantira da je
T qi Hi qi > 0.

Ovime smo pokazali da je matrica Hi+1 dobro denirana. c Matrica Hi je pozitivno denitna pa prema tome i simetrina. Iz denicije c matrice Hi+1 (11.4.4) jasno je da je i ona simetrina, no pozitivna denitnost nije tako oita. Uzmimo proizvoljan vektor y Rn , y = 0. Kako je Hi pozitivno c denitna, moemo je zapisati u obliku z H = LLT , gdje je L regularna donjetrokutasta matrica. Koritenjem oznaka u = LT y i v = s T L qi , izlazi (pT y)2 V T u)2 Hi+1 y, y = uT u + T T . (11.4.5) p q v v Kako je pT q > 0, vrijedi (pT y)2 0. (11.4.6) pT q S druge strane vrijedi uT u (V T u)2 = u vT v
2

u, v 2 u = v 2

u, v
2

0.

(11.4.7)

Gornja nejednakost je posljedica Schwartzove nejednakosti. Ovime smo pokazali da je izraz (11.4.5) nenegativan. Sada emo pokazati da je c Hi+1 y, y = 0. Kad bi bilo Hi+1 y, y = 0, onda bi zbog (11.4.6) i (11.4.7) moralo vrijediti i u
2

u, v

= 0,

a to vrijedi samo ako su vektori u i v kolinearni: u = v. No, tada je y = q, a = 0 jer je y = 0. Nadalje, zbog Hi+1 y, y = 0 treba vrijediti i 0= p, q 2 (pT y)2 = = 2 p, q . pT q (p, q)

Ovo je pak u kontradikciji s prije dokazanom injenicom da je 0 < pT q = p, q . c Ovime smo dokazali sljedei teorem. c

11. OPTIMIZACIJA

OPTIMIZACIJA 592

Teorem 11.4.1 Neka je Hi pozitivno denitna matrica i f (xi ) = 0, te neka je korak minimizacije odreden tako da je i < 1. Tada je matrica Hi+1 denirana s (11.4.4) dobro denirana i pozitivno denitna te zadovoljava kvazi-Newtonovu jednadbu (11.4.2). z Gore opisana metoda moe se generalizirati sloenijim iteracijskim postupkom z z izbora matrice Hi+1 . Neka je kao i prije qi = f (xi+1 ) f (xi ) i pi = xi+1 xi . Za parametre i > 0, i 0 deniramo rekurziju oblika Hi+1 = (i, i , Hi, pi , qi ), gdje je funkcija zadana s (, , H, p, q) = H + 1 + q T Hq ppT pT q pT q

(1 ) Hq q T H T (pq T H + HqpT ). (11.4.8) T Hq q p q

c Funkcija je denirana jedino ako je pT q = 0 i q T Hq = 0. Uoimo da je matrica c Hi+1 dobivena iz Hi dodavanjem korekcije reda ne veeg od 2 matrici i Hi : rank(Hi+1 Hi ) 2. Stoga se kae da (11.4.8) denira metodu reda dva. z Metoda (11.4.8) obuhvaa nekoliko poznatih metoda kao specijalne sluajeve: c c (a) i = 1, i = 0; prije opisana DFP metoda; (b) i = 1, i = 1; Broyden, Fletcher, Goldfarb i Shannova metoda reda 2 (BFGS metoda);
T (c) i = 1, i = pT qi /(pT qi qi Hi qi ); Broydenova simetrina metoda reda jedan. c i i T Zadnja metoda denirana je jedino u sluaju kad je pT qi = qi Hi qi . Ovdje je c i c z c mogue da vrijedi i < 0 te u tom sluaju Hi+1 moe biti indenitna ak i kad je c Hi pozitivno denitna. Ako zamijenimo vrijednost i u (11.4.8) dobivamo T zi zi = Hi + , i

Hi+1

zi = pi Hi qi ,

T i = pT qi qi Hi qi , i

to objanjava zato se ova metoda naziva metodom reda jedan. Za metode denis s s rane s (11.4.8) vrijedi teorem analogan Teoremu 11.4.1.

11. OPTIMIZACIJA

OPTIMIZACIJA 593

Teorem 11.4.2 Ako postoji i 0 za koji je Hi pozitivno denitna matrica, f (xi ) = 0 i ako je korak minimizacije odreden tako da je i < 1, tada je za sve i > 0 i i 0 matrica Hi+1 = (i , i , Hi , pi , qi ) dobro denirana i pozitivno denitna te zadovoljava kvazi-Newtonovu jednadbu (11.4.2). z Na kraju razmatranja kvazi-Newtonovih metoda, pokazat emo da metoda c denirana s (11.4.8) dolazi do toke minimuma kvadratne funkcije f : Rn R u c najvie n koraka, uz uvjet da je koritena egzaktna minimizacija pri izboru koraka s s minimizacije. Ovaj rezultat nam sugerira da e ova metoda brzo konvergirati i u c sluaju minimizacije nekvadratine funkcije. c c Teorem 11.4.3 Neka je f (x) = 1 Ax, x + b, x + c 2

kvadratna forma gdje je A n n pozitivno denitna matrica. Nadalje, neka je x0 Rn i H0 n n pozitivno denitna matrica. Ako je za minimizaciju f (x) koritena kvazi-Newtonova metoda denirana s (11.4.8), uz egzaktan izbor koraka s s poetnim vrijednostima x0 i H0 , tada generirani nizovi (xi )i , (Hi )i , (f (xi ))i , c c (pi )i = (xi+1 xi )i i (qi )i = (f (xi+1 ) f (xi ))i imaju sljedea svojstva: (a) Postoji najmanji indeks m n za koji je xm = x = A1 b minimum od f i f (xm ) = 0. (b) pi , qk = pi , Apk = 0 za 0 i = k m 1, pi , qi > 0 za 0 i m 1. (Drugim rijeima, vektori pi su A-konjugirani.) c (c) pi , f (xk ) = 0 za sve 0 i < k m. (d) Hk qi = i,k pi za 0 i < k m, gdje je i,k = i+1 i+2 k1 , za i < k 1, 1 za i = k 1.

(e) Ako je m = n tada dodatno vrijedi Hm = Hn = P DP 1A1 , gdje je D = diag(0,n , 1,n , . . . , n1,n ), P = (p0 , p1 , . . . , pn1 ). Ako je i i = 1 tada je Hn = A1 .

11. OPTIMIZACIJA

OPTIMIZACIJA 594

Dokaz. Promatrajmo sljedee uvjete za proizvoljan indeks l 0: c pi , qk = pi , Apk = 0 za 0 i = k l 1, pi , qi > 0 za 0 i l 1, Hl je pozitivno denitna, pi , qk = 0 za sve 0 i < k l, Hk qi = i,k pi za 0 i < k l. (11.4.9) (11.4.10) (11.4.11) (11.4.12) (11.4.13)

c Ako su ovi uvjeti zadovoljeni za l te ako je f (xl ) = 0 tada emo pokazati da su uvjeti zadovoljeni i za l + 1. Kako je Hl pozitivno denitna (pretpostavka (11.4.11)), iz f (xl ) = 0 direktno slijedi Hl f (xl ), f (xl ) > 0 i sl = Hl f (xl ) = 0. Minimizacija po pravcu je egzaktna, pa je l nultoka od c 0 = f (xl+1 ), sl = f (xl ) l Asl , sl , Stoga je pl = l sl = 0 i pl , f (xl+1 ) = l sl , f (xl+1 ) = 0, pl , f (xl ) = l sl , f (xl+1 ) f (xl ) = l sl , f (xl ) = l Hl f (xl ), f (xl ) > 0. (11.4.14) l = Hl f (xl ), f (xl ) . Asl , sl

Prema Teoremu 11.4.2, Hl+1 je pozitivno denitna. Nadalje, zbog Api = qi , (11.4.12) i (11.4.13) vrijedi pi , ql = pi , Apl = Api , pl = qi , pl = l qi , Hl f (xl ) = l i,l pi , f (xl ) = 0 za i < l. Time smo pokazali da (11.4.9)(11.4.11) vrijedi za l + 1. Da bismo dokazali da relacija (11.4.12) vrijedi za l + 1 trebamo pokazati da je pi , f (xl+1 ) = 0 za sve i < l + 1. Sluaj i = l dokazan je s (11.4.14). Za i < l c vrijedi pi, f (xl+1 ) = pi , f (xi+1 ) +
l

qj
j=i+1

jer je qj = f (xj+1)f (xj ). Zbog (11.4.12) i (11.4.9)(11.4.11) za l + 1 gornji je izraz jednak 0. Stoga (11.4.12) vrijedi i za l + 1. Koritenjem (11.4.8), direktno slijedi da je Hl+1 ql = pl . Nadalje, (11.4.9) s (11.4.11) za l + 1 i (11.4.13) povlae da je pl , qi = 0, Hl ql , qi = i,l ql , pi = 0 za c i < l, tako da iz (11.4.8) za i < l slijedi Hl+1 qi = l Hl qi = l i,l pi = i,l+1 pi .

11. OPTIMIZACIJA

OPTIMIZACIJA 595

Stoga (11.4.13) vrijedi za l + 1. Uoimo da su (11.4.9)(11.4.13) trivijalno zadoc voljene za l = 0. Sve dok xl zadovoljava (b)(d) iz iskaza teorema i f (xl ) = 0, moemo generirati xl+1 koji, takoder, zadovoljava (b)(d). Niz x0 , x1 , . . . mora biti z konaan; (11.4.9)(11.4.11) moe vrijediti samo za l n, jer je l vektora p0 , . . . , pl1 c z n linearno nezavisno a u R najvie n vektora moe biti linearno nezavisno. Kada se s z niz prekine, recimo za l = m, 0 m n, to mora biti zbog f (xm ) = 0, xm = A1 b,

tj. vrijedi tvrdnja (a). U sluaju m = n, (d) povlai c c Hn Q = P D za matrice P = (p0 , . . . , pn1) i Q = (q0 , . . . , qn1 ). Zbog AP = Q, iz regularnosti matrice P slijedi Hn = P DP 1A1 , to dokazuje tvrdnju (e), a time i teorem. s

11.5.

Konvergencija minimizacijskih metoda

U prolom potpoglavlju smo opisali osnovne minimizacijske metode. Medutim, s nismo nita rekli o njihovoj konvergenciji, odnosno o tome, pod kojim e uvjetima s c generirani niz toaka konvergirati prema minimumu promatrane funkcije. c Denirali skup smjerova silaska s D(x) = {s | f (x), s < 0} i pokazali da se za svaki vektor s D(x) vrijednost funkcije f smanjuje u smjeru s u nekoj okolini toke x. Za promatranje konvergencije metode, promatrat emo neto c c s manji skup od skupa D(x). Neka je standardna Euklidska norma ( = 2 ). Za R, 0 < 1, promatrajmo skup D(, x) = {s Rn | s = 1, f (x), s f (x) }. Uvjet f (x), s f (x) , zbog s = 1, moemo zapisati kao z f (x), s f (x) s ako je f (x) = 0. Ako je f (x) = 0, uvjet (11.5.2) je uvijek zadovoljen. Ako s oznaimo kut izmedu vektora f (x) i s, zbog svojstva skalarnog produkta c f (x), s = cos f (x) s , (11.5.2) (11.5.1)

11. OPTIMIZACIJA

OPTIMIZACIJA 596

dobivamo da uvjet (11.5.2) glasi cos te promatramo samo one smjerove silaska koji zatvaraju dovoljno mali kut s vektorom f (x). Koliko je taj kut malen, denira koecijent . Sljedea lema c n pokazuje pod kojim uvjetima postoji skalar i (smjer silaska) s R za koje je f (x + s) < f (x). Lema 11.5.1 Neka je f : Rn R funkcija iji je gradijent f (x) deniran i c neprekidan za sve x V () u okolini V () toke x. Nadalje, pretpostavimo da je x x c f () = 0 i neka je 1 > 0. Tada postoji okolina U() V () od x i broj > 0 x x x takav da je f () x f (x + s) f (x) 4 za sve [0, ]. Dokaz. Skup x x x U 1 () := x V () | f (x) f () f () x 4

je neprazan i x U 1 (), jer je f () = 0 i f je neprekidna na V (). Slino / x x x c x x U 2 () := x V () | d(, x) D ,x 2

je neprazan i okolina od x (tj. x U 2 () i x U 2 ()). Izaberimo > 0 takav da x / x vrijedi inkluzija S2 () = {x | x x 2} U 1 () U 2 (), x x x i neka je x U() := S () = {x | x x }. x Tada za x U(), 0 , s D(, x), postoji , 0 < < 1 (teorem srednje x vrijednosti) takav da je f (x) f (x + s) = f (x + s), s = [ f (x + s) f (), s + f (), s ]. x x x x x Uoimo da je x + s U 1 (). Naime, zbog x U() = S (), s = 1 i 0 < < 1, c vrijedi x + s x x x + s + = 2, to jest x + s S2 () U 1 (). x x

11. OPTIMIZACIJA

OPTIMIZACIJA 597

Stoga je x f (x + s) f (), s f (x + s) f () x s f () . x 4

x Nadalje, jer je s D(, x) D(/2, x) (to vrijedi jer je x U() U 2 ()), vrijedi x f (), s x Sada je f (x) f (x + s) ime smo dokazali lemu. c Sada emo promatrati sljedeu metodu za minimizaciju diferencijabilne funkc c n cije f : R R. Metoda 1. (a) Izaberi brojeve i , i , i = 0, 1, 2, . . . koji zadovoljavaju sup i 1,
i

f () . x 2

f () + x f () x 4 2

f () x 4

inf i > 0,
i

inf i > 0,
i

i izaberi poetnu toku x0 Rn . c c (b) Za i = 0, 1, 2, . . . izaberi (proizvoljan) si D(i, xi ) i postavi xi+1 := xi + i si , gdje je i [0, i f (xi ) ] takav da je f (xi+1 ) =
0i f (xi )

min

f (xi + si ).

Metoda 1 poopava velik broj metoda. Jedna od njih je i gradijentna metoda. c Naime, kod gradijentne metode je si = Budui da je je c f (xi ), si = f (xi ), uvijek je zadovoljen uvjet f (xi ), si 1 f (xi ) , f (xi ) f (xi ) = f (xi ) , f (xi ) . f (xi )

11. OPTIMIZACIJA

OPTIMIZACIJA 598

tj. moemo uzeti i = 1. Parametar i kontrolira interval po kojem minimiziramo z funkciju gi () := f (xi + si ). Traenje minimuma po neogranienom intervalu ( [0, )) je esto zahtjevno, z c c ponekad i nemogue. Stoga problem minimizacije pojednostavimo traenjem minic z muma na segmentu [0, i f (xi ) ], irinu kojega denira i . Ovaj parametar denis ramo proizvoljno, vodei rauna da vei i znai manju (bolju) vrijednost funkcije c c c c f (xi + si ) ali i vei interval po kojem traimo minimum, to znai i dulji postupak c z s c (bilo analitiki, bilo numeriki). Manji i smanjuje interval i ubrzava jednodimenc c zionalnu minimizaciju u i-tom koraku, ali rezultira veom vrijednou funkcije f u c sc novoj toki xi+1 . c c Kako niz (xi )i dobivenovom metodom konvergira, opisuje sljedei teorem. Teorem 11.5.1 Neka je f : Rn R i neka je x0 Rn izabran da vrijedi (a) K := {x | f (x) f (x0 )} je kompaktan, (b) f je neprekidno diferencijabilna na nekom otvorenom skupu koji sadri K. z Tada za svaki niz (xi )i deniran Metodom 1 vrijedi (a) xi K za sve i = 0, 1, 2, . . . i (xi )i ima barem jedno gomilite x u K. s c x (b) Svako gomilite niza (xi )i je stacionarna toka od f ; f () = 0. s Dokaz. Iz denicije niza (xi )i direktno slijedi da je niz (f (xi ))i monoton: f (xi+1 ) f (xi ) f (x1 ) f (x0 ), c te posebno vrijedi f (xi ) f (x0 ), tj. xi K. Budui da je K kompaktan, (xi )i ima barem jedno gomilite u K. Time smo dokazali prvu tvrdnju teorema. s Za dokaz druge tvrdnje, pretpostavit emo suprotno. Neka je (xi )i niz u K i c x njegovo gomilite te vrijedi s f () = 0. x (11.5.3) Bez smanjenja openitosti moemo pretpostaviti da je x = lim xi (tj. uzimamo c z i konvergentan podniz). Neka je := inf i > 0 i := inf i > 0.
i i

Prema Lemi 11.5.1, postoji okolina U() od x i broj > 0 koji zadovoljava x f (x + s) f (x) za sve x U(), s D(, x) i 0 . x f (x) 4 (11.5.4)

11. OPTIMIZACIJA

OPTIMIZACIJA 599

Kako je lim xi = x, neprekidnost od f (x) zajedno s (11.5.3) povlai egzis c i tenciju k0 takvog da je za sve k k0 xi U() i x Neka je 1 i := M f () x f () > 0. x 2 4 Iz i , slijedi da je [0, M] [0, i f (xi ) ] za sve k k0 . Prema tome, iz denicije za xi+1 slijedi M := min , f (xi+1 ) min f (xi + si ).
0M

f (xi )

1 f () . x 2

Zbog M , xi U(), si D(i , xi ) D(, xi ), (11.5.4) povlai x c f (xi+1 ) f (xi ) M f () = f (xi ) x 4

za sve k k0 . To povlai da je lim f (xi ) = , to je u kontradikciji s injenicom c s c i c x da je (f (xi ))i odozdo ogranien s f () zbog konvergencije niza (xi )i : f (xi ) f (xi+1 ) f (). x Dakle, x je stacionarna toka funkcije f . c Korak (b) u Metodi 1 je minimizacija funkcije g() := f (xi + si ) z na segmentu [0, i f (xi ) ]. Ovaj je korak poznat pod imenom pretraivanje po pravcu (engl. line search). Uoimo da uvjeti Teorema 11.5.1 zahtijevaju pronac laenje egzaktnog minimuma, to je teak (esto nemogu) zadatak. Numerika z s z c c c minimizacija nekom metodom za jednodimenzionalnu minimizaciju (npr. metoda zlatnog reza) moe dati dosta tonu aproksimaciju minimuma. Ali i taj postuz c pak moe zahtijevati znaajnu koliinu raunanja. Stoga Metoda 1 ima ogranienu z c c c c primjenu u praksi. Sljedea varijanta ove metode koristi ideju da se egzaktna minc imizacija zamijeni neegzaktnim pretraivanjem po pravcu, konanim postupkom z c minimizacije. Metoda 2. (a) Izaberu se brojevi i , i , i = 0, 1, 2, . . . koji zadovoljavaju sup i 1,
i

inf i > 0,
i

inf i > 0,
i

i poetna toka x0 Rn . c c

11. OPTIMIZACIJA

OPTIMIZACIJA 600

(b) Za i = 0, 1, 2, . . . izrauna se xi+1 iz xi na sljedei nain: c c c Izabere se proizvoljan si D(i , xi ), denira i := i f (xi ) , i () := f (xi + si ),

i odredi najmanji cijeli broj j 0 takav da je i (i 2j ) i (0) i 2j i f (xi ) . 4

(11.5.5)

Odredi se {0, 1, . . . , j} takav da je i (i 2i ) minimalan i denira i xi+1 := xi + i si gdje je i = i 2i .

c Uoimo da j koji zadovoljava (11.5.5) postoji. Ako je xi stacionarna toka (f (xi ) = c 0) tada je j = 0. Ako xi nije stacionarna toka, egzistencija od j slijedi direktno c c z iz Leme 11.5.1 stavljanjem x := xi . U svakom sluaju, j (i i ) se moe odrediti u konanom broju koraka. I za ovu metodu moe se dokazati teorem analogan c z Teoremu 11.5.1. Teorem 11.5.2 Pod pretpostavkom Teorema 11.5.1, svaki niz (xi )i dobiven Metodom 2 zadovoljava tvrdnje Teorema 11.5.1.

11.5.1.

Konvergencija modicirane Newtonove metode

U modiciranoj Newtonovoj metodi smjer silaska si zadan je s si = [2 f (xi )]1 f (xi ), Radi jednostavnosti, oznaimo c H := [2 f (xi )]1 pa je si = Pokuajmo odrediti i za koji je s f (xi ), si i f (xi ) , tj. g, Hg i g Hg . (11.5.6) Hg . Hg i g := f (xi ), si := si . si

11. OPTIMIZACIJA

OPTIMIZACIJA 601

Ako je f dva puta neprekidno diferencijabilna, tada je 2 f (xi ) simetrina matrica, c te vrijedi max x 2 2 f (xi )x, x min x 2 , x Rn , c z gdje su max i min najvea i najmanja svojstvena vrijednost matrice 2 f (xi ). Vano je uoiti da za euklidsku normu c vrijedi: 2 f (xi ) = max{|max |, |min|}. Ako je matrica 2 f (xi ) pozitivno denitna, onda je max > min > 0, te je 2 f (xi ) = max . Ako je svojstvena vrijednost matrice 2 f (xi ), tada je 1/ svojstvena vrijednost matrice [2 f (xi )]1 , pa je [2 f (xi )]1 = Znai, matrica H = [2 f (xi )]1 zadovoljava c 1 min Nadalje vrijedi Hx H Iskoristivi ove nejednakosti, dobivamo s g, Hg i i g Ukoliko je zadovoljeno 1 max tada iz g, Hg 1 max slijedi da je zadovoljeno (11.5.5). g
2

1 min

Hx, x

1 max

x 2,

x Rn .

x .

1 max 1

Hg i i

min 1 ,

g 2.

min 1

(11.5.7)
2

min

i g

Hg

Uvjet (11.5.7) moemo zapisati u obliku z i min = max 2 f (xi ) 1 . [2 f (xi )]1

11. OPTIMIZACIJA

OPTIMIZACIJA 602

Veliina c cond(A) := A

A1

naziva se broj uvjetovanosti matrice A. Sada uvjet (11.5.7) moemo zapisati u z obliku 1 . i cond(2 f (xi )) Ako je matrica singularna, tada je njen broj uvjetovanosti , pa je i = 0 te nemamo zadovoljen uvjet konvergencije. Medutim, ako je 2 f regularna u okolini minimuma x (onda je automatski i pozitivno denitna), tada moemo staviti z i = te je zbog regularnosti inf i =
i

1 cond(2 f (xi ))

1 > 0. supi cond(2 f (xi ))

Ovo pokazuje da je modicirana Newtonova metoda konvergentna ako je funkcija f konveksna (2 f pozitivno denitna), to je mnogo jai uvjet od npr. uvjeta kons c vergencije gradijentne metode. Medutim, ova metoda bre konvergira ukoliko su z ispunjeni uvjeti konvergencije.

Literatura
[1] E. Anderson, Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra J. Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, D. Sorensen, LAPACK Users Guide, Third edition, SIAM, Philadelpia, 1999. [2] K. E. Atkinson, An Introduction to Numerical Analysis (2 nd edition), John Wiley & Sons, New York, 1989. [3] W. Gautschi, Numerical Analysis (An Introduction), Birkhuser, Boston, a 1997. [4] D. Goldberg, What every computer scientist should know about oating-point arithmetic, ACM Computing Surveys, vol. 23, no. 1, March 1991. [5] N. J. Higham, Accuracy and Stability of Numerical Algorithms, SIAM, Philadelphia, 1996. [6] M. L. Overton, Numerical Computing with IEEE Floating Point Arithmetic, SIAM, Philadelpia, 2001. [7] A. Ralston, P. Rabinowitz, A First Course in Numerical Analysis, McGrawHill, Singapore, 1978. [8] G. W. Stewart, J.-G. Sun, Matrix Perturbation Theory, Academic Press, 1990. [9] J. H. Wilkinson, Rounding Errors in Algebraic Processes, Notes on Applied Science No. 32, Her Majestys Stationery Oce, London, 1963. (Also published by PrenticeHall, Englewood Clis, NJ, USA. Reprinted by Dover, New-York, 1994, ISBN 0486679995.)

603

You might also like