You are on page 1of 614

STE SVEUCILI U ZAGREBU ODJEL PMF MATEMATICKI

Zlatko Drma c Miljenko Maru si c Sanja Singer

Vjeran Hari Mladen Rogina Sa sa Singer

Numeri cka analiza


Predavanja i vje zbe

Zagreb, 2003.

NUM ANAL i

Predgovor
Ova elektroni cka knjiga nastala je zalaganjem grupe znanstvenika okupljenih na Projektu primjene informati cke tehnologije 200196 , Numeri cka matematika: osnovni ud zbenik, Ministarstva znanosti i tehnologije Republike Hrvatske. Pisana je u 2002. i 2003. godini. Knjiga je prvenstveno namijenjena studentima matematike i zike te boljim studentima tehnike i ekonomije. Knjiga daje siri pregled podru cja numeri cke matematike i predstavlja centralnu to cku i osnovu za pisanje nadovezuju cih knjiga iz srodnih podru cja: numeri cke linearne algebre, numeri ckog rje savanja obi cnih i parcijalnih diferencijalnih jednad zbi, ra cunalne geometrije, ra cunalne grake, itd. Knjiga takoder slu zi kao izvor dovoljno opse znih informacija za pisanje jednostavnijih ud zbenika iz numeri cke matematike, prilagodenih pojedinim fakultetima, npr. tehni ckim, ekonomskim ili prirodoslovnim. Ona je zami sljena i kao za cetak informacijskog portala za numeri cku matematiku u Hrvatskoj, na kojem bi studenti, znanstvenici i svi zainteresirani mogli na ci sadr zaj ve cine disertacija, magistarskih i diplomskih radova iz sireg podru cja numeri cke matematike, software, kao i pokaziva ce na najpoznatije svjetske web-portale iz numeri cke matematike. Knjiga ce se iz godine u godinu pobolj savati, dodavat ce se novi primjeri, zadaci, slike, reference i pokaziva ci na druge sadr zaje. Knjiga je podijeljena u jedanaest poglavlja. U uvodnom dijelu dani su neki osnovni rezultati iz analize, kao npr. teoremi o srednjoj vrijednosti koji ce se koristiti kasnije. U drugom poglavlju dana je opse zna i moderna analiza gre saka koje prate ra cunanje na modernim ra cunalima. U tre cem poglavlju uvode se glavni pojmovi iz linearne algebre kao sto su vektorski prostori, matrice i norme. U cetvrtom poglavlju dana je teorija sustava linearnih jednad zbi i nekoliko osnovnih metoda za njihovo rje savanje. Peto poglavlje bavi se teorijom i algoritmima za nala zenje vlasti tih vrijednosti matrica. Sesto poglavlje bavi se izra cunavanjem vrijednosti funkcija. Sedmo, najopse znije poglavlje, bavi se teorijom aproksimacije koja uklju cuje interpolaciju, numeri cko deriviranje, aproksimaciju spline funkcijama i ortogonalnim polinomima i metodu najmanjih kvadrata. Osmo poglavlje bavi se numeri ckim nala zenjem nulto caka funkcija, a deveto numeri ckim integriranjem. U desetom poglavlju, opisane su glavne metode za numeri cko rje savanje obi cnih diferencijalnih jednad zbi, a u kra cem jedanaestom poglavlju dan je uvod u optimizaciju. Posao pisanja knjige bio je podijeljen tako da je svaki suradnik (ili grupa) napisao jedno ili vi se poglavlja. Voditelj grupe Vjeran Hari napisao je prva dva i dio (odjeljci 1., 2. i 3.) tre ceg poglavlja. Zlatko Drma c napisao je cetvrto, a Ivan Slapni car (uz malu pomo c voditelja) peto poglavlje. Sanja i Sa sa Singer napisali velik dio knjige, sesto, osmo, deveto i dio tre ceg poglavlja. Sedmo poglavlje napisali su zajedni ckim snagama Mladen Rogina (dio odjeljka 2. i odjeljak 4.) te Sanja i Sa sa Singer. Miljenko Maru si c napisao je deseto i jedanaesto poglavlje. Postoje i Sanjini i

NUM ANAL ii

Sa sini dodatni sadr zaji do kojih se dode preko pokaziva ca. Sanja je takoder preuzela te zak posao uredivanja knjige, nakon sto su suradnici napisali svoje dijelove. aTEX-u, Knjiga je napisana u L ciji lijepi stil su denirali Sanja i Sa sa. U HTML je prevedena na FESB-u Sveu cili sta u Splitu zahvaljuju ci grupi oko Ivana. Mladen vodi brigu oko administriranja knjige sto uklju cuje ugradivanje novih sadr zaja. Osim DVI formata koji se cita pomo cu posebnih programa (tzv. dvi-preglednika), postoje i verzije knjige u jeziku Postscript i PDF (portable document format), tako da se mo ze citati npr. pomo cu rasprostranjenog Acrobat readera. Nalazi se na web adresi: www.math.hr/znanost/iprojekti/numat. Na kraju, zelim zahvaliti suradnicima na zalaganju i Ministarstvu na pomo ci. Vjeran Hari Redoviti profesor na PMF-MO Sveu cili sta u Zagrebu

Sadr zaj
1. Uvodni dio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. 2. Pomo cni rezultati iz analize . . . . . . . . . . . . . . . . . . . . . 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. 2.2.1. 2.2.2. 2.2.3. 2.2.4. 2.2.5. 2.2.6. 2.2.7. 2.2.8. 2.3. 2.3.1. 2.3.2. 2.3.3. Osnovna svojstva vektorskog prostora . . . . . . . . . . . . Norma u vektorskom prostoru . . . . . . . . . . . . . . . . Skalarni produkt u vektorskom prostoru . . . . . . . . . . Dimenzija vektorskog prostora . . . . . . . . . . . . . . . . Baza vektorskog prostora . . . . . . . . . . . . . . . . . . . Linearni operatori . . . . . . . . . . . . . . . . . . . . . . . Zbrajanje matrica i mno zenje matrica skalarom . . . . . . Mno zenje matrica . . . . . . . . . . . . . . . . . . . . . . . Kompleksne matrice . . . . . . . . . . . . . . . . . . . . . Rang matrice . . . . . . . . . . . . . . . . . . . . . . . . . Sustav linearnih jednad zbi i inverz matrice . . . . . . . . . Lijevi i desni inverz, regularne i singularne matrice . . . . . Specijalne klase matrica . . . . . . . . . . . . . . . . . . . Vlastite vrijednosti i vektori . . . . . . . . . . . . . . . . . Denicija i osnovni teoremi . . . . . . . . . . . . . . . . . . Izravne posljedice singularne dekompozicije . . . . . . . . . Aproksimacija matrice matricom manjeg ranga . . . . . . . iii

Matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Singularna dekompozicija matrice . . . . . . . . . . . . . . . . . .

SADRZAJ

NUM ANAL iv

2.3.4. 2.3.5. 2.3.6. 2.4. 2.4.1. 2.4.2. 3.

Wielandtova matrica . . . . . . . . . . . . . . . . . . . . . Neke nejednakosti sa singularnim vrijednostima . . . . . . Generalizirani inverz . . . . . . . . . . . . . . . . . . . . . Vektorske norme . . . . . . . . . . . . . . . . . . . . . . . Matri cne norme . . . . . . . . . . . . . . . . . . . . . . . .

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 matri cne norme . . . . . . . . . . . . . . . . . . . . .

Gre ske u numeri ckom ra cunanju . . . . . . . . . . . . . . . . . . . 3.1. Tipovi gre saka . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1. 3.1.2. 3.1.3. 3.2. 3.2.1. 3.2.2. 3.3. 3.3.1. 3.3.2. 3.3.3. 3.3.4. 3.3.5. 3.3.6. 3.3.7. 3.3.8. 3.4. 3.4.1. 3.4.2. 3.4.3. 3.4.4. 3.4.5. 3.4.6. Gre ske zbog polaznih aproksimacija . . . . . . . . . . . . . Gre ske zaokru zivanja . . . . . . . . . . . . . . . . . . . . . Apsolutna i relativna gre ska, zna cajne znamenke . . . . . . Pretvaranje decimalne u binarnu reprezentaciju . . . . . . Reprezentacija brojeva u ra cunalu . . . . . . . . . . . . . . Jednostruki format . . . . . . . . . . . . . . . . . . . . . . Dvostruki format . . . . . . . . . . . . . . . . . . . . . . . BSPT i zaokru zivanje u BSPT . . . . . . . . . . . . . . . . Korektno zaokru zene osnovne ra cunske operacije . . . . . . Implementacija operacija na ra cunalu . . . . . . . . . . . . Drugi korijen, ostatak pri dijeljenju i konverzija formata . . Izuzeci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prekora cenje, potkora cenje i postupno potkora cenje . . . . Gre ske unazad i unaprijed . . . . . . . . . . . . . . . . . . Uvjetovanost . . . . . . . . . . . . . . . . . . . . . . . . . . Akumulacija gre saka zaokru zivanja . . . . . . . . . . . . . Kra cenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kra cenje gre saka zaokru zivanja . . . . . . . . . . . . . . . Rje savanje kvadratne jednad zbe . . . . . . . . . . . . . . .

Aritmetika s pomi cnom to ckom . . . . . . . . . . . . . . . . . . .

IEEE Aritmetika . . . . . . . . . . . . . . . . . . . . . . . . . . .

Stabilnost numeri ckog ra cunanja . . . . . . . . . . . . . . . . . .

SADRZAJ

NUM ANAL v

3.4.7. 3.5. 3.5.1. 3.5.2. 3.5.3. 3.5.4. 3.5.5. 4.

Kako dizajnirati stabilne algoritme . . . . . . . . . . . . . Propagiranje gre saka zaokru zivanja . . . . . . . . . . . . . Stabilnost produkta od n brojeva . . . . . . . . . . . . . . Stabilnost sume . . . . . . . . . . . . . . . . . . . . . . . . Kompenzirano sumiranje . . . . . . . . . . . . . . . . . . .

123 124 130 133 137 140

Osnove analize gre saka zaokru zivanja . . . . . . . . . . . . . . . .

Stabilnost skalarnog produkta i osnovnih matri cnih operacija 142

Sustavi linearnih jednad zbi . . . . . . . . . . . . . . . . . . . . . . . 145 4.1. 4.2. 4.3. Vodi c kroz ovo poglavlje . . . . . . . . . . . . . . . . . . . . . . . Primjeri: Kako nastaje linearni sustav jednad zbi . . . . . . . . . Gaussove eliminacije i trokutaste faktorizacije . . . . . . . . . . . 4.3.1. 4.3.2. 4.3.3. 4.3.4. 4.4. 4.4.1. 4.4.2. 4.4.3. 4.4.4. 4.5. 4.6. 4.5.1. 4.6.1. 4.6.2. 4.6.3. 4.6.4. 4.7. 4.7.1. Matri cni zapis metode eliminacija . . . . . . . . . . . . . . Trokutasti sustavi: rje savanje supstitucijama unaprijed i unazad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LU faktorizacija . . . . . . . . . . . . . . . . . . . . . . . . LU faktorizacija s pivotiranjem . . . . . . . . . . . . . . . Analiza LU faktorizacije. Va znost pivotiranja. . . . . . . . Analiza numeri ckog rje senja trokutastog sustava . . . . . . To cnost izra cunatog rje senja sustava . . . . . . . . . . . . Dodatak: Osnove matri cnog ra cuna na ra cunalu . . . . . . . . . . . . . Pozitivno denitni sustavi. Faktorizacija Choleskog . . . . Perturbacije male po normi . . . . . . . . . . . . . . . . . Rezidualni vektor i stabilnost . . . . . . . . . . . . . . . . Perturbacije po elementima . . . . . . . . . . . . . . . . . Dodatak: Udaljenost matrice do skupa singularnih matrica Jacobijeva i GaussSeidelova metoda . . . . . . . . . . . . 146 147 150 151 155 156 163 171 172 181 182 183 185 186 192 194 196 197 200 201 203

Numeri cka svojstva Gaussovih eliminacija . . . . . . . . . . . . .

Numeri cko rje savanje simetri cnog sustava jednad zbi

Teorija perturbacija za linearne sustave . . . . . . . . . . . . . .

Iterativne metode . . . . . . . . . . . . . . . . . . . . . . . . . .

SADRZAJ

NUM ANAL vi

4.8.

Matemati cki software za problem Ax = b . . . . . . . . . . . . . 4.8.1. 4.8.2. 4.8.3. Pregled biblioteke BLAS . . . . . . . . . . . . . . . . . . . Pregled biblioteke LAPACK . . . . . . . . . . . . . . . . . Rje savanje linearnih sustava pomo cu LAPACK-a . . . . . .

207 208 212 213

5. 6.

Ra cunanje vlastitih vrijednosti i vlastitih vektora . . . . . . . . 220 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. 6.2.1. 6.2.2. 6.2.3. 6.3. 6.4. Ra cunanje vrijednosti polinoma u to cki . . . . . . . . . . . Hornerova shema je optimalan algoritam . . . . . . . . . . Stabilnost Hornerove sheme . . . . . . . . . . . . . . . . . Potpuna Hornerova shema . . . . . . . . . . . . . . . . . . Hornerova shema za interpolacijske polinome . . . . . . Hornerova shema za realni polinom i kompleksni argument Ra cunanje parcijalnih derivacija kompleksnog polinoma . . Izvrednjavanje rekurzivno zadanih funkcija . . . . . . . . . Izvrednjavanje Fourierovih redova . . . . . . . . . . . . . . Klasi cni ortogonalni polinomi . . . . . . . . . . . . . . . . Dijeljenje polinoma linearnim faktorom oblika x x0 . . . 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 . . . . . . . . . . . . . . . . . .

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

6.5. 6.6.

Asimptotski razvoj . . . . . . . . . . . . . . . . . . . . . . . . . . Veri zni razlomci i racionalne aproksimacije . . . . . . . . . . . . . 6.6.1. 6.6.2. 6.6.3. Brojevni veri zni razlomci . . . . . . . . . . . . . . . . . . . Uzlazni algoritam za izvrednjavanje brojevnih veri znih razlomaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eulerova forma veri znih razlomaka i neki teoremi konvergencije . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SADRZAJ

NUM ANAL vii

6.6.4. 6.6.5. 7.

Silazni algoritam za izvrednjavanje brojevnih veri znih razlomaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funkcijski veri zni razlomci . . . . . . . . . . . . . . . . . .

284 284

Aproksimacija i interpolacija . . . . . . . . . . . . . . . . . . . . . 288 7.1. Op ci problem aproksimacije . . . . . . . . . . . . . . . . . . . . . 7.1.1. 7.1.2. 7.1.3. 7.2. 7.2.1. 7.2.2. 7.2.3. 7.2.4. 7.2.5. 7.2.6. 7.2.7. 7.2.8. 7.3. 7.3.1. 7.3.2. 7.3.3. 7.3.4. 7.3.5. 7.3.6. 7.4. 7.4.1. 7.4.2. 7.4.3. 7.5. 7.5.1. Linearne aproksimacijske funkcije . . . . . . . . . . . . . . Nelinearne aproksimacijske funkcije . . . . . . . . . . . . . Kriteriji aproksimacije . . . . . . . . . . . . . . . . . . . . Egzistencija i jedinstvenost interpolacijskog polinoma . . . Kako na ci prave algoritme? . . . . . . . . . . . . . . . . . . Lagrangeov oblik interpolacijskog polinoma . . . . . . . . . Ocjena gre ske interpolacijskog polinoma Koliko je dobar interpolacijski polinom? Konvergencija interpolacijskih polinoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Newtonov oblik interpolacijskog polinoma . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . .

Hermiteova i druge interpolacije polinomima . . . . . . . . . . . . . . . . . . . . . . Po dijelovima linearna interpolacija . . . . . . . . . . . . . Po dijelovima kubi cna interpolacija . . . . . . . . . . . . . Po dijelovima kubi cna Hermiteova interpolacija . . . . . . Numeri cko deriviranje . . . . . . . . . . . . . . . . . . . . Po dijelovima kubi cna kvazihermiteova interpolacija . . . . Kubi cna splajn interpolacija . . . . . . . . . . . . . . . . . Linearni splajn . . . . . . . . . . . . . . . . . . . . . . . . Hermiteov kubi cni splajn . . . . . . . . . . . . . . . . . . . Potpuni kubi cni splajn . . . . . . . . . . . . . . . . . . . . Linearni problemi i linearizacija . . . . . . . . . . . . . . .

Interpolacija po dijelovima polinomima

Interpolacija polinomnim splajnovima za matemati care . . . .

Diskretna metoda najmanjih kvadrata . . . . . . . . . . . . . . .

SADRZAJ

NUM ANAL viii

7.5.2. 7.5.3. 7.5.4. 7.6. 7.7. 7.8. 7.9. 7.6.1.

Matri cna formulacija linearnog problema najmanjih kvadrata 404 Karakterizacija rje senja . . . . . . . . . . . . . . . . . . . . Numeri cko rje savanje problema najmanjih kvadrata . . . . Te zinski skalarni produkti . . . . . . . . . . . . . . . . . . 405 408 412 412 413 413 418 419 427 432 433 437 438 441 444

Op ci oblik metode najmanjih kvadrata . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . sevljevim to 7.12. Interpolacija u Cebi ckama . . . . . . . . . . . . . . . sevljeva ekonomizacija . . . . . . . . . . . . . . . . . . . . . 7.13. Cebi 7.14. Diskretne ortogonalnosti polinoma Tn . . . . . . . . . . . . . . . 7.15. Thieleova racionalna interpolacija . . . . . . . . . . . . . . . . . . 8.

Rje savanje nelinearnih jednad zbi . . . . . . . . . . . . . . . . . . . 449 8.1. 8.2. 8.3. 8.4. 8.5. 8.6. 8.7. 8.8. 8.9. Op cenito o iterativnim metodama . . . . . . . . . . . . . . . . . Metoda raspolavljanja (bisekcije) . . . . . . . . . . . . . . . . . . Regula falsi (metoda pogre snog polo zaja) . . . . . . . . . . . . . Metoda sekante . . . . . . . . . . . . . . . . . . . . . . . . . . . . Metoda tangente (Newtonova metoda) . . . . . . . . . . . . . . . Metoda jednostavne iteracije . . . . . . . . . . . . . . . . . . . . Newtonova metoda za vi sestruke nulto cke . . . . . . . . . . . . . Hibridna BrentDekkerova metoda . . . . . . . . . . . . . . . . . Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 450 454 456 460 466 471 473 473

9.

Numeri cka integracija . . . . . . . . . . . . . . . . . . . . . . . . . . 478 9.1. 9.2. Op cenito o integracijskim formulama . . . . . . . . . . . . . . . . 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 to cke (midpoint formula) . . . . . . . . .

480 486 491 494 497 498 507 510 515 526

Rombergov algoritam . . . . . . . . . . . . . . . . . . . . . . . . Te zinske integracijske formule . . . . . . . . . . . . . . . . . . . . Gaussove integracijske formule . . . . . . . . . . . . . . . . . . . 9.5.1. 9.5.2. GaussLegendreove integracijske formule . . . . . . . . . . Druge Gaussove integracijske formule . . . . . . . . . . . .

10. Obi cne diferencijalne jednad zbe . . . . . . . . . . . . . . . . . . . . 534 10.1. Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2. Inicijalni problem za obi cnu diferencijalnu jednad zbu. Eulerova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3. RungeKuttine metode . . . . . . . . . . . . . . . . . . . . . . . 10.3.1. Jo s o koecijentima za RungeKuttine metode . . . . . . . 10.3.2. Konvergencija jednokora cnih metoda . . . . . . . . . . . . 10.3.3. RungeKuttaFehlbergove metode. Odredivanje koraka integracije. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4. Linearne vi sekora cne metode . . . . . . . . . . . . . . . . . . . . 10.4.1. Konzistencija i stabilnost . . . . . . . . . . . . . . . . . . . 10.4.2. Prediktor-korektor par . . . . . . . . . . . . . . . . . . . . 10.4.3. Linearne diferencijske jednad zbe . . . . . . . . . . . . . . . 10.4.4. Konvergencija linearnih vi sekora cnih metoda . . . . . . . . 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. Vi sedimenzionalna minimizacija . . . . . . . . . . . . . . . . . . . 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
Numeri cka matematika je disciplina koja prou cava i numeri cki rje sava matemati cke probleme koji se javljaju u znanosti, tehnici, gospodarstvu, itd. Iako se ta disciplina naj ce s ce povezuje s numeri ckim metodama, treba znati da bez dubljeg poznavanja samog problema kojeg rje savamo, nije mogu ce procijeniti je li neka metoda dobra u smislu da daje zadovoljavaju ce to cna rje senja u dovoljno kratkom vremenskom intervalu. O problemu koji se rje sava treba znati barem neka svojstva: postoji li barem jedno rje senje, ako da, je li rje senje jedinstveno,

kako se rje senje (ili rje senja) pona saju kad se polazni podaci malo promijene (teorija perturbacije). Kad se konstruira neka metoda za dani problem otvara se mno stvo pitanja: konvergencije (konvergira li niz aproksimacija prema rje senju),

brzine konvergencije (tu se koriste termini linearna, kvadrati cna, kubi cna konvergencija), adaptibilnost metode za specijalna ra cunala (paralelna, vektorska), slo zenost metode (broj ra cunskih operacija, zauze ce memorije, dohvat operanada, prijenos podataka, . . . )

to cnost, odnosno stabilnost metode (koliko zna cajnih znamenaka izra cunatog rje senja je to cno, te o cemu to ovisi). Uz odredivanje stabilnosti algoritma vezana je i analiza gre saka zaokru zivanja koja pokazuje mogu li gre ske koje aritmetika ra cunala generira u procesu ra cunanja bitno naru siti to cnost izlaznih podataka. U prvom poglavlju knjige uvest cemo oznake osnovnih pojmova koji se koriste u knjizi. Neke pojmove cemo denirati, a za neke cemo dati najva znije tvrdnje.

1. UVODNI DIO

UVODNI DIO 2

1.1.

Pomo cni rezultati iz analize

Ovdje navodimo, bez dokaza, nekoliko va znih teorema iz analize. Najprije moramo uvesti oznake za osnovne skupove koji se koriste u analizi. S N ozna cavamo skup prirodnih brojeva, dakle {1, 2, . . .}. S N0 ozna cavamo skup nenegativnih cijelih brojeva, N0 = N {0}. Sa Z ozna cavamo skup svih cijelih brojeva, dakle pozitivnih, negativnih i nule. S Q ozna cavamo skup racionalnih, a s Q0 skup nenegativnih racionalnih brojeva. S R (C) ozna cavamo skup realnih (kompleksnih) brojeva. Ako je S C (ili S R), tada je zatvara c Cl S skupa S , skup svih gomili sta od S . S obzirom da je svaka to cka od S ujedno i gomili ste od S , vrijedi S Cl S . Zatvara c Cl S je najmanji zatvoren skup koji sadr zi S . S druge strane, unutra snjost skupa S , Int S ili interior od S je najve ci otvoren skup sadr zan u S . Jasno je da je Int S S Cl S pri cemu jednakosti vrijede npr. za cijeli C (ili R). Ako je recimo, Cl S zatvoreni krug, onda je Int S otvoreni krug (krug bez rubne kru znice), a S mo ze biti npr. otvoreni krug s bilo kojim to ckama na rubu. U numeri ckoj matematici posebno su va zni sljede ci teoremi o srednjim vrijednostima kojima se dokazi mogu prona ci u knjigama iz elementarne analize.

Teorem 1.1.1 (Meduvrijednost) Neka je f realna neprekidna funkcija na kona cnom segmentu [a, b]. Neka su 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 kona cnom segmentu [a, b] i diferencijabilna na otvorenom intervalu (a, b). Tada postoji barem jedna to cka (a, b), takva da je 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 to cka [a, b] takva da je
b b

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

w (x) dx.

1. UVODNI DIO

UVODNI DIO 3

Jedan od najva znijih alata u numeri ckoj matematici je Taylorov teorem jer daje jednostavnu metodu aproksimacije funkcije f pomo cu polinoma. Kako se vrijednost polinoma odreduje kori stenjem Hornerovog algoritma, dobivamo na cin izra cunavanja vrijednosti funkcije f u danoj to cki x. Da bismo mogli koristiti taj 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 )2 (x x0 ) 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) (x t)n f (n+1) (t) dt = f ( ), 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, polaze ci od identiteta x f (x) = f (x0 ) +
x0

f (t) dt.

Drugi oblik ostatka Rn+1 (x) dobije se kori stenjem teorema integralne srednje vrin jednosti za funkciju w (t) = (x t) . Puni dokaz se mo ze na ci u ve cini knjiga iz elementarne analize. Polinom pn se naziva Taylorov razvoj funkcije f u to cki x0 . Ako je f beskona cno puta derivabilna, polinom pn prelazi u red potencija, s op cim clanom (x x0 )n , a zove se Taylorov red. Uz pomo c Taylorovog reda lako se dobivaju poznate formule: xn xn+1 x x2 ++ + e , 2 n! (n + 1)! x2 x4 x2n cos(x) = 1 + + (1)n 2! 4! (2n)! 2n+2 x + (1)n+1 cos(x ), (2n + 2)! x3 x5 x2n1 sin(x) = x + + (1)n1 3! 5! (2n 1)! 2n+1 x + (1)n sin(x ), (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 cemu je ( 1) ( k + 1) = , k k! k = 1, 2 , 3 , . . .

za proizvoljni realni broj . U svim slu cajevima nepoznata to cka x smje stena je 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)

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

sto je drugi, jednostavniji, zapis razvoja (1.1.7) uz = 1 i x umjesto x. Kad 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 na cinimo u formulama za ex , cos(x) i sin(x), ne trebamo ograni citi x jer pripadni redovi konvergiraju apsolutno za svaki x. Iako su formule (1.1.1)(1.1.3) vrlo korisne za dobivanje razvoja funkcije f oko to cke x0 , cesto puta ra cunanje vi sih derivacija predstavlja problem zbog slo zenosti ra cunanja. U takvim slu cajevima, mo zemo se koristiti ve c dobivenim razvojima. Sljede ci primjeri pokazuju kako se to mo ze na ciniti. Primjer 1.1.1 Da bismo dobili razvoj funkcije f (x) = ex
2

oko 0, mo zemo se koristiti razvojem (1.1.4), u koji, umjesto x, uvrstimo x2 , e


x 2 2n+2 x4 n+1 x = 1x + + (1) ex , 2! (n + 1)! 2

pri cemu je x2 x 0.

1. UVODNI DIO

UVODNI DIO 5

Primjer 1.1.2 Da bismo dobili razvoj funkcije f (x) = arctg(x) oko 0, mo zemo se koristiti razvojem (1.1.9), u koji, umjesto x, uvrstimo t2 ,
2n+2 1 2 4 n 2n n+1 t = 1 t + t + ( 1) t + ( 1) . 1 + t2 1 + t2

Integriranjem po t na intervalu [0, x], dobivamo x3 x5 x2n+1 arctg(x) = x + + (1)n + (1)n+1 3 5 2n + 1 Primjena teorema o integralnoj srednjoj vrijednosti daje
x x

t2n+2 dt. 1 + t2

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


1

x izmedu 0 i x.

Primjer 1.1.3 Neka je f (x) =


0

sin(xt) dt.

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

f (x) =
0 n

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

j =1

(1)

2j 1 j 1 x

x2n+1 + (1) (2j )! (2n + 1)!


n

t2n+1 cos(xt ) dt,


0

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

sin(xt) dt =
0

j =1

(1)j 1

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

x izmedu 0 i x.

Primjer 1.1.4 Neka su x0 , x1 , x2 razli citi realni brojevi i f realna funkcija denirana na intervalu koji sadr zi te to cke. Veli cine 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 odgovaraju cem intervalu, mo ze se pokazati da je f [x0 , x1 ] = f ( ), f [x0 , x1 , x2 ] = 1 f ( ), 2 (1.1.12)

pri cemu je izmedu x0 i x1 , a izmedu minimuma i maksimuma skupa {x0 , x1 , x2 }. Prva tvrdnja lako slijedi iz teorema o srednjoj vrijednosti. Kasnije cemo pokazati op ca svojstva podijeljenih razlika proizvoljnog reda, a time i drugu tvrdnju. Takoder, odmah se vidi da je f [x0 , x1 ] = f [x1 , x0 ]. Poku sajte pokazati da je f [x0 , x1 , x2 ] = 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. Koriste ci Kartezijev koordinatni sustav Oxy , mo zemo svakom paru realnih brojeva (x, y ) pridru ziti to cno jednu to cku u Kartezijevoj ravnini koju ozna cimo s (x, y ) (apscisa te to cke ima vrijednost x, a ordinata ima vrijednost y ). Kako vrijedi i obrat, par realnih brojeva (x, y ) se poistovje cuje s to ckom ravnine. Postoji generalizacija Taylorovog teorema za f (x, y ) u okolini to cke (x0 , y0 ). Jasno, i taj teorem se mo ze dalje generalizirati za funkcije od tri i vi se varijabli, ali nam to za potrebe ove knjige ne ce trebati. Ozna cimo s L(x0 , y0; x1 , y1 ) skup svih to caka na pravcu koji prolazi to ckama caka (kra ce ka zemo da je L(x0 , y0; x1 , y1 ) (x0 , y0) i (x1 , y1 ), a nalaze se izmede tih to segment izmedu tih dviju to caka). Teorem 1.1.5 Neka su (x0 , y0 ) i (x0 + , y0 + ) dvije to cke 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 ) + + 1 j + f (x, y ) x y j =1 j !
n+1 n x =x 0 y =y0

1 + (n + 1)! x y

f (x, y )

x=x0 + y =y0 +

(1.1.13)

za neki 0 1. Pritom je (x0 + , y0 + ) nepoznata to cka na segmentu L(x0 , y0 ; x0 + , y0 + ). Dokaz. Prvo se prisjetimo zna cenja oznake
2 2 2 f (x, y ) 2 f (x, y ) 2 f (x, y ) + f (x, y ) = 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 ozna cavaju da se sve prisutne parcijalne derivacije izvrednjavaju u to cki (x0 , y0 ). 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 (0) F (n) (0) F (n+1) () ++ + 1! n! (n + 1)!

za neki 0 1. Uo cimo da je F (0) = f (x0 , y0) i F (1) = f (x0 + , y0 + ). Za 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 vi seg reda se dobiju na sli can na cin. Primjer 1.1.5 Odredimo razvoj funkcije f (x, y ) = x y

oko to cke (x0 , y0) = (2, 1) do uklju civo clana odredenog s n = 1. Imamo = x 2, = y 1, x f (2, 1) f (2, 1) = f (2, 1) + + y x y 2 2 1 2 f (x, y ) 2 f (x, y ) 2 f (x, y ) + + 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 to cka (, ) na segmentu L(2, 1; x, y ). Ako je (x, y ) blizu (2, 1), tada je segment L(2, 1; x, y ) kratak pa je i (, ) blizu (2, 1) i vrijedi x x 2 y + 2. y Graf funkcije z = x 2y + 2 je ravnina tangencijalna na graf funkcije z = x/y u to cki (x, y, z ) = (2, 1, 2).

1. UVODNI DIO

UVODNI DIO 8

Matemati cke tvrdnje cesto imaju oblik implikacije: iskaz T1 povla ci iskaz T2 . Umjesto da se dokazuje ta implikacija, kadkad je zgodnije dokazati ekvivalentnu implikaciju: iskaz T2 povla ci iskaz T1 , gdje T ozna cava suprotni iskaz od iskaza T . Ta ekvivalentnost se logi cki zapisuje (T1 = T2 ) i zove obrat po kontrapoziciji. Pretpostavljamo da su citatelji upoznati s pojmovima kao sto su vektori, matrice, norme i skalarni produkti. Ne sto dublje znanje iz linearne algebre koje uklju cuje osnovne informacije o grupama, vektorskim prostorima, linearnim operatorima, determinantama, dobro bi do slo za lak se citanje ove knjige. Pritom je posebno va zan pojam linearne nezavisnosti vektora jer se koristi u pojmovima kao sto su rang i inverz matrice ili operatora, baze, itd. Za one koji nisu upoznati s osnovama linearne algebre, uvodimo ovdje neke oznake i pojmove da bi lak se razumjeli izreke mnogih tvrdnji koje mo zda nemaju veze s linearnom algebrom, ali koriste oznake odatle. S Rn ozna cavamo skup svih jednostup canih realnih matrica (koje jo s zovemo realni vektori) Rn =
x 1 . . . ,

(T2 = T1 )

(1.1.14)

xn

xi R za sve

1in .

Elemente tog skupa ozna cavamo malim slovima abecede. Ako su x, y Rn vektori s komponentama xi , yi , 1 i n, (kra ce pi semo 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 ozna cava s 0. Iz konteksta cemo razlikovati je li 0 broj (skalar) nula ili nul-vektor. Na isti na cin denira se Cn kao skup kompleksnih vektora koji osim realnih mogu imati i kompleksne brojeve kao komponente. Jednako kao gore denira se i zbroj kompleksnih vektora kao i umno zak kompleksnog broja (skalara) i kompleksnog vektora. Uz tako denirane operacije skupovi Rn i Cn imaju cijeli niz lijepih svojstava koje ih cine vektorskim prostorima. Ako je z = [zi ] C, tada se konjugirano kompleksni vektor z = [ zi ] dobije tako da mu se svaka komponenta kompleksno konjugira.

1. UVODNI DIO

UVODNI DIO 9

Za realni ili kompleksni vektor a = [ai ], oznaka |a| = [ |ai | ] ozna cava apsolutnu vrijednost vektora po komponentama vektora a. Dakle, |a| je vektor cije komponente su nenegativni realni brojevi, pa zato vrijede sljede ca jednostavna svojstva: (i) |a| = 0 ako i samo ako je a = 0,

(iii) |a + b| |a| + |b|, a i b su vektori.

(ii) |a| = || |a|, je skalar, a a vektor,

Sli cna svojstva ima i funkcija norma koja svakom vektoru pridru zuje broj. Najpoznatije norme su euklidska (ili 2-norma), norma beskona cno i norma jedan. Za a Cn (ili Rn ) je a a a
2 1

= max |ai |,
1in

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

= |a1 | + |a2 | + + |an |.

Malo op cenitije su tzv. p-norme a


p

|a1 |p + + |an |p ,

1 p .

Sve te norme zadovoljavaju cetiri svojstva (nenegativnost, denitnost, pozitivna homogenost i nejednakost trokuta) koja funkciju cine normom, (ii) a = 0 ako i samo ako je a = 0, pri cemu je 0 nul-vektor, (iii) a = || a za sve vektore a i skalare , (iv) a + b a + b za sve vektore a i b. Ista svojstva koja imaju skupovi Rn i Cn zajedno s operacijama zbrajanja i mno zenja skalarom mogu imati i druga ciji skupovi. Npr. skup 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 mno zenja funkcija realnim brojem: (f )(t) = f (t), t [a, b], t [a, b] (i) a 0 za sve vektore a,

1. UVODNI DIO

UVODNI DIO 10

ima ista po zeljna svojstva koja ga cine vektorskim prostorom. Tipi cna norma na 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

ann

a1n a2n , . . . |aij |.

= max

1in

j =1

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

A, B reda n. x
,

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 ce se koristiti u kasnijim poglavljima. Prva dva dijela su sa zeti prikaz predavanja iz linearne algebre, radeni po internoj skripti koja se nalazi na adresi http://www.math.hr/~hari/la.pdf. Na toj adresi se mogu na ci svi dokazi koji ovdje nisu dani. Tre ci i cetvrti odjeljak imaju glavne tvrdnje dokazane. Prva cjelina denira pojam vektorskog prostora i njegovih elemenata koje nazivamo vektorima u sirem zna cenju tog pojma. Deniraju se pojmovi linearno nezavisnih vektora, baze i dimenzije vektorskog prostora, norme i skalarnog produkta, te linearnog operatora. Lijep primjer vektorskog prostora cine matrice odredenog tipa. Kvadratne matrice reda n cine jo s bogatiju strukturu koja se zove algebra. Stoga se kratka teorija matrica opisuje u drugom odjeljku. Jedan od najva znijih rezultata iz teorije matrica je tzv. singularna dekompozicija matrica. Njene primjene se zu u razne numeri cke probleme, npr. problem najmanjih kvadrata, odredivanje ranga matrice, nala zenje generaliziranog inverza, kompresija slika u ra cunalnoj graci i op cenito probleme aproksimacije matrice pomo cu matrica manjeg ranga. U zadnjem odjeljku prikazuju se osnovni rezultati iz teorije vektorskih i matri cnih normi, posebno tzv. H olderovih p-normi. Te norme uklju cuju naj ce s ce kori stene matri cne norme: spektralnu (ili 2-normu), 1-normu i -normu.

2.1.

Vektorski prostor

Vektorski ili linearni prostor je algebarska struktura koja se sastoji od dva skupa: X cije elemente zovemo vektori i cije elemente zovemo skalari. Skup skalara je naj ce s ce skup realnih ili kompleksnih brojeva. Pritom je va zno da su na skupu denirane dvije operacije, koje zovemo zbrajanje i mno zenje skalara i da je 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 recipro cnog skalara (osim za nulu). Takva struktura (, +, ) se zove tijelo, a ako vrijedi i komutativnost mno zenja, zove se polje. Na skupu X su denirane operacije zbrajanja vektora i mno zenja vektora 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 sljede ca svojstva kompatibilnosti: (a) (x y ) = x y za bilo koje x, y X , (distributivnost mno zenja prema zbrajanju u X ), (b) ( + ) x = x x za bilo koje x X , , (distributivnost mno zenja prema zbrajanju u ), (c) ( x) = ( ) x za bilo koje x X , , (kompatibilnost mno zenja), (d) ako je 1 neutralni element za mno zenje u , tada je 1 x = x za svako xX (netrivijalnost mno zenja). Za tako deniranu strukturu ka zemo da je vektorski prostor nad tijelom (ili poljem) . U daljem tekstu ce uvijek biti polje realnih ( = R) ili kompleksnih ( = 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 sljede ce tvrdnje. Neutralni element za zbrajanje u X je jedinstven.

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.

Ako je o X neutralni element s obzirom na , tada za svako vrijedi o = o.

Za svaki x X inverzni element od x s obzirom na je jedinstven.

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 mo zemo denirati razliku vektora formulom x y = x (1) y = x (y ) i lako se pokazuje da vrijedi ( ) x = x x, (x y ) = x x, x X, , x, y X, .

U vektorskom prostoru smijemo vektorske jednad zbe kratiti i sa skalarom i vektorom. Npr. ako je produkt x skalara i vektora x nul-vektor i jedan od faktora nije nula, onda drugi faktor mora biti nula. u jednad zbi x = x, , , x X , vektor x = o, tada vrijedi skalarna jednad zba = . u jednad zbi x = y , , x, y X , skalar = 0, tada vrijedi vektorska jednad zba x = y . 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, , ) (kra ce pi semo S je potprostor od X ), tada je nu zno (po 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 jedno clan skup {o} i cijeli X . Da bi neki skup S X bio potprostor nu zno je i dovoljno da su ispunjeni sljede ci uvjeti: (b) x S za sve i x S . (a) x y S za svaka dva vektora x, y S ,

Naime, to su nu zni i dovoljni uvjeti za zatvorenost skupa S u odnosu na operacije i . Lako se poka ze da su uvjeti (a) i (b) ekvivalentni uvjetu (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 sadr zi sve 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 }.

Osim oznake L(a1 , . . . , ap ) jo s 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 vi sestrukost). Kad je z Y , onda je z + Y = Y , a kad je Y = {0}, vrijedi z + Y = {z }.

U daljem tekstu, umjesto oznaka , i koristit cemo jednostavnije oznake +, i , pri cemu cemo izostavljati. Takoder, kad god su operacije i poznate, tj. jasne iz konteksta, umjesto (X, , ) pisat cemo X . Ako je iz konteksta jasno da se radi o vektorskom prostoru ili potprostoru, atribut vektorski ili linearni katkad cemo izostavljati.

2.1.2.

Norma u vektorskom prostoru


:

U vektorskom prostoru se denira norma ili duljina vektora kao funkcija X R za koju vrijede sljede ca svojstva (ii) x = || x , za sve , x X , (i) x 0, za svaki x X ,

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

(iii) x + y x + y , za sve x, y X , (iv) x = 0, ako i samo ako je x = 0

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 mo ze se 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 mno zenja n-torki skalarom deniramo po komponentama: 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 mno zenja skalarom denirane s x + y = (x1 + y1 , . . . , xn + yn ) i x = (x1 , . . . , xn ).

Lako se poka ze da je (Vn , +, ) realni, a (Cn , +, ) kompleksni vektorski prostor. U tim vektorskim prostorima mo zemo denirati sljede ce funkcije x x x x
1 2 p

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


p

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

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

Lako je provjeriti da su funkcije x 1 i x norme. Za op cu, tzv. H olderovu normu x p dokaz je slo zeniji. H olderova 2-norma x 2 se jo s 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 poka ze da su norme 2, 1 i u vektorskom prostoru Vn medusobno ekvivalentne. Poku sajte na ci odgovaraju ce konstante c1 i c2 za svaki par normi. Mo ze se pokazati da su u vektorskim prostorima Vn i Cn sve norme medusobno 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 s jednu funkciju. Neka je (X, +, ) vektorski prostor nad , gdje je = C. Funkcija ( | ) : X X zove se skalarni produkt ako vrijedi (ii) (x | x) = 0 ako i samo ako x = 0, (i) (x | x) 0 za sve x X ,

(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 (2.1.2) x = (x | x), denirana funkcija za koju se mo ze pokazati da je norma. To je tzv. pridru zena ili inducirana norma. U svakom unitarnom vektorskom prostoru za pridru zenu normu 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. mo zemo li svakoj normi jednog normiranog vektorskog prostora pridru ziti neki skalarni produkt ( | ), tako da 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 1 ( x+y 4
2

x y 2 ),

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


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 mo zemo denirati kut izmedu vektora x i y . Za kompleksni unitarni prostor, 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 ka zemo da su ortogonalni ako je cos , tj. ako je (x | y ) = 0.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 17

2.1.4.

Dimenzija vektorskog prostora

Svaki skup vektora vektorskog prostora razapinje neki potprostor, koji mo ze biti i cijeli vektorski prostor. Po zeljno je izdvojiti iz danog skupa vektora jedan njegov podskup koji razapinje isti potprostor, ali koji je u nekom smislu minimalan. Takav podskup ima odredeno svojstvo minimalnosti koje se denira na sljede ci na cin. Ako je S podskup vektorskog prostora X , tada je M minimalni razapinju ci podskup od S , ako zadovoljava sljede ca dva svojstva: 1. L(M) = L(S ), 2. Niti jedan pravi podskup skupa M ne razapinje L(S ).

M se jo s zove i minimalni razapinju ci skup od L(S ).

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 ). Uo cimo da u zadnjoj jednakosti poredak vektora a1 , . . . , ap (odnosno u1 , . . . , ur ) nije va zan, jer je L(a1 , . . . , ap ) tek kra ca oznaka za L(S ) = L({a1 , . . . , ap }). Linearno nezavisni vektori Pokazuje se da elementi minimalnog razapinju ceg skupa imaju svojstvo linearne nezavisnosti. Neka su x1 , . . . , xr elementi vektorskog prostora X . Ako jednad zba 1 x1 + + r xr = 0 u nepoznanicama 1 , . . . , r ima samo trivijalno rje senje 1 = = r = 0, tada se 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. Skup linearno nezavisnih vektora {u1 , . . . , ur } ne sadr zi 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 kona cni skup vektora, minimalni razapinju ci skup nije jedinstveno odreden. Mo ze ih biti mnogo. Ali ako podemo ne od kona cnog skupa, ve c od vektorskog potprostora, tada za njega uvijek imamo beskona cno mnogo minimalnih razapinju cih skupova. Ipak svi oni imaju jednu va znu zajedni cku karakteristiku: 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 razapinju ca skupa istog potprostora, onda vrijedi r = s. Broj vektora minimalnog razapinju ceg skupa nekog potprostora je invarijanta (konstanta) tog potprostora. Tako dolazimo do pojma dimenzije vektorskog prostora. Ako za vektorski prostor X postoji kona cni minimalni razapinju ci skup vektora {u1 , u2, . . . , ur } on se naziva kona cno-dimenzionalnim vektorskim prostorom. Pritom se broj r naziva dimenzijom prostora X i ozna cava s r = dim X. Dimenzija trivijalnog prostora {0} je nula. Ako za vektorski prostor ne postoji kona cni minimalni razapinju ci skup vektora on se naziva beskona cno-dimenzionalni vektorski prostor. Dimenzija linearne vi sestrukosti jednaka je dimenziji vektorskog potprostora koji ju gradi. Primjer 2.1.2 Vektorski prostor Vn je kona cno dimenzionalan, dimenzije n. To se 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 razapinju ci skup za Vn . Lako se poka ze da je skup vektora {e1 , . . . , en } linearno nezavisan.

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 sljede ca dva uvjeta: (i) B je linearno nezavisan skup,

(ii) L(B) = X .

Iz prvog svojstva minimalnog razapinju ceg skupa M za X (tj. L(M) = X ) i svojstva linearne nezavisnosti od M, zaklju cujemo da je svaki uredeni minimalni razapinju ci skup i baza od X , a vrijedi i obrat. Zbog uredenosti skupa, bazu katkad 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 mo ze nadopuniti 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 , sljede ce tvrdnje su ekvivalentne: 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. Va znost baze dolazi od jedinstvenosti prikaza vektora po baznim vektorima. Propozicija 2.1.1 Neka je X vektorski prostor i B baza u X . Tada se svaki vektor x X na jedinstven na cin mo ze prikazati kao linearna kombinacija vektora baze B. Dokaz. Neka je B = (u1 , . . . , un ). Prema svojstvu baze L(B) = X , svaki vektor x dopu sta prikaz x = 1 u1 + 2 u2 + + n un . Pretpostavimo da postoji jo s jedan prikaz x = 1 u1 + 2 u2 + + n un . Izjedna cavanjem 1 u1 + 2 u2 + + n un = 1 u1 + 2 u2 + + n un , dobivamo (1 1 )u1 + (2 2 )u2 + + (n n )un = 0. Po drugom svojstvu baze, vektori ui su linearno nezavisni. Stoga zaklju cujemo 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 mo ze se u unitarnom prostoru od svake baze dobiti 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 , (aditivnost) (homogenost).

(ii) A(x) = A(x) za sve x X i sve skalare

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 20

Iz svojstva (ii) vidi se da X i Y moraju biti denirani nad istim poljem. Ako su X i Y realni vektorski prostori, onda mo ze biti samo realan broj. Ako su X i Y kompleksni vektorski prostori, onda mo ze biti i realan i kompleksan broj. Kad god cemo koristiti linearni operator, implicitno cemo pretpostavljati da su polazni i 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. Poka zimo prvo da aditivnost i homogenost povla ce linearnost. A(x + y ) = A(x) + A(y ) (jer vrijedi (i)) = A(x) + A(y ) (jer vrijedi (ii)).

Ako je A bijekcija, onda ga zovemo i izomorzam vektorskih prostora X i Y .

Poka zimo da linearnost preslikavanja povla ci aditivnost i homogenost. Doista, uvr stavaju ci u (l) = = 1 dobivamo (i). Uzimaju ci u (l) = 0, dobivamo 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) povla ci (ii). Dakle su uvjeti (i) i (ii) ekvivalentni uvjetu (l) (tj. zna ce isto). Iz uvjeta (l) se vidi da je linearni operator 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 vje zba za kori stenje matemati cke indukcije. Uz svaki linearni operator A : X Y , vezana su dva va zna potprostora, 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 podru cje vrijednosti) operatora A. Dimenzija jezgre se zove defekt, a dimenzija slike rang operatora A.

S L(X, Y ) ozna cavamo skup svih linearnih preslikavanja vektorskog prostora X u vektorski prostor Y . Posebno va znu klasu linearnih operatora cine izomorzmi. To su linearni operatori 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 op ceg linearnog operatora? Koje svojstvo ga izdvaja? Sljede ca tvrdnja daje jedno takvo svojstvo. Neka je dim(X ) = dim(Y ) i A L(X, Y ). A je izomorzam ako i samo ako je N (A) = {0}. tora.

Izomorzam je relacija ekvivalencije (ili klasikacije) u skupu vektorskih pros-

2.2.

Matrice

Matrica je matemati cki objekt koji se sastoji od (realnih ili kompleksnih) 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 ( citaj: m puta n) matrica ili matrica tipa (reda, dimenzije) m n. Pritom je [ aij ] tek kra ci zapis za pravoktnu shemu iz gornje relacije. Ako pi semo A = [ aij ], mislimo na cijelu shemu brojeva koji cine matricu A, dok aij (ili [A]ij ili (A)ij ), ozna cava samo element koji se nalazi na presjeku itog retka i j tog 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, ka zemo da je A kvadratna matrica reda n. Matricu sa samo jednim retkom zovemo matrica redak ili jednoret cana matrica, a matricu sa samo jednim stupcem zovemo matrica stupac ili jednostup cana matrica. Jednostup cane i jednoret cane matrice kra ce zovemo vektorima. Matricu, ciji su elementi realni brojevi, zovemo realna matrica, a matricu, ciji su elementi 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 odgovaraju cem elementu druge matrice. Prakti cno je imati oznaku za skup svih m puta n matrica. S Rmn (Cmn ) ozna cavamo skup svih realnih (kompleksnih) m n matrica. Ukratko cemo opisati kako se u Rmn uvode operacije zbrajanja i mno zenja realnim brojem, koje ce

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 22

na ciniti (Rmn , +, ) vektorskim prostorom. Zatim cemo denirati mno zenje (ulan canih) matrica. Elemente matrica A, B , C , . . . ozna cit cemo s odgovaraju cim malim slovima aij , bij , cij , . . .

2.2.1.

Zbrajanje matrica i mno zenje matrica skalarom

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 pi semo C = A + B . Zbrajanje je mn denirano za svaki par matrica iz R 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 ozna cavamo s A (inverzni element), takva da vrijedi A + (A) = O . Ako je A = [ aij ], onda je A = [ aij ]. Iz navedenih svojstava mo zemo zaklju citi, da skup matrica Rmn zajedno s operacijom zbrajanja cini komutativnu aditivnu grupu, jer je ona denirana upravo tim svojstvima. Sljede ca operacija koju mo zemo jednostavno denirati je mno zenje matrica sa skalarom. Ako je A Rmn i c R, matricu B Rmn s elementima bij = caij , 1 i m, 1jn

zovemo umno zak ili produkt matrice A sa skalarom c i ozna cavamo B = cA. Jasno je da za svaki realni skalar c i svaku matricu A Rmn , mora B = cA opet biti u 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 mno zenja prema zbrajanju u Rmn ) (distributivnost mno zenja prema zbrajanju u R) (kompatibilnost mno zenja) (netrivijalnost mno zenja).

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 mno zenja matrica skalarom zaklju cujemo da cini realni vektorski prostor. Vektorski prostor jednostup canih matrica Rn1 ozna cava se s Rn .

2.2.2.

Mno zenje matrica

Ako su a1 , . . . , an Rm neki vektori, tada notacija A = [a1 , . . . , an ] zna ci da je matrica A tako izgradena da su a1 , . . . , an njeni stupci u redoslijedu u kojem su napisani. Sli cno, ako su a1 , . . . , am R1n jednoret cane matrice (jo s se zovu: vektori retci), tada oznaka a1 a2 A= . . . am

ukazuje da je A Rmn tako gradena da su joj a1 , . . . , am retci, u redosljedu koji je nazna cen. Oznaka A = [a1 , . . . , an ] se jo s zove particija matrice po stupcima, a ona druga particija po retcima.

Neka je A Rmn i B Rnp . Umno zak ili produkt matrica A i B je matrica mp C =AB R 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 ka zemo da su ulan cane. Operacija mno zenja matrica mo ze se sagledati kao preslikavanje koje uredenom paru matrica odredenih dimenzija pridru zuje matricu takoder odredenih dimenzija, : Rmn np mp R R . Produkt matrica obi cno se pi se (kao i produkt skalara) bez znaka zenje matrica vrijede svojstva mno zenja izmedu faktora, dakle AB . Za mno (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 mno zenja i kompatibilnost mno zenja matrica s mno zenjem skalarom. Uo cimo da ne vrijedi zakon komutativnosti. Lako je na ci primjere matrica kad produkt AB postoji, a BA ne postoji (ili obratno), ili kad oba produkata postoje, ali su razli citih dimenzija, ili kad oba produkta postoje i istih su dimenzija, ali ne vrijedi AB = BA.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 24

Jedini cna matrica i dijagonalna matrica Va znu klasu matrica cine dijagonalne matrice. Najpoznatiji primjer dijagonalne matrice je jedini cna matrica 1 0 . . I = . 0 0

0 1 .. . 0

.. . .. . .. .

0 .. 1 0 .

Ona je jedini cni element skupa Rnn s obzirom na mno zenje, jer vrijedi AI = IA = A za svako A Rnn . Dakle, ima istu ulogu kod mno zenja matrica kao sto je ima broj 1 kod mno zenja realnih brojeva. Malo op cenitije, vrijede relacije: IA = A za svako A Rnp i AI = A za svako A Rpn . Zbog toga sto je I reda n koristi jo s i oznaka In . Malo op cenitija, dijagonalna matrica je ona kod koje su svi izvandijagonalni (to su oni koji nisu dijagonalni) elementi jednaki nuli. Dijagonalnu matricu kojoj su dijagonalni elementi 1 , 2 , . . . , n ozna cavamo s diag(1 , 2 , . . . , n ), tj. 1 0 . diag(1 , 2 , . . . , n ) = . . 0 0

0 0 . nn . . . R 0 1

0 2 .. . 0

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

Odmah vidimo da produkt dviju netrivijalnih dijagonalnih matrica npr., diag(1, 0, 2) diag(0, 1, 0) = diag(0, 0, 0), mo ze biti nul-matrica. Nul-matrica (koja ima sve elemente nula) kra ce se ozna cava s O ili 0 i, takoder, pripada klasi dijagonalnih matrica. Dijagonalne matrice cine vektorski prostor koji je zatvoren i u odnosu na matri cno mno zenje. Neka je D = diag(1 , . . . , n ) i A Rnp . Tada je i-ti redak od DA jednak i-tom retku od A pomno zenom s i , pri cemu je 1 i n. Sli cno, ako je A Rpn , tada je i-ti stupac od AD jednak i-tom stupcu od A pomno zenom s i . Ako su dijagonalni elementi od D pozitivni, operacija DA (AD ) naziva se skaliranje redaka (stupaca). Dijagonalne matrice koje dobivamo mno zenjem jedini cne matrice skalarom (tj. one oblika I ) nazivamo skalarne matrice. Ako je D = I , onda je DA = A, a, takoder, i AD = A, cim su dimenzije matrica takve da su produkti denirani.

0 0 . . . . 0 n

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 25

Potencije matrice, nilpotentna matrica Potencije kvadratne matrice A deniraju se induktivno: A0 = I, Lako se poka ze da vrijedi Ap Aq = Aq Ap = Ap+q za sve nenegativne cijele brojeve p i q . Stoga je dobro deniran matri cni polinom p(A) = k Ak + k1 Ak1 + + 1 A + 0 I, pri cemu su 0 , . . . , k realni brojevi. Mono zenje matrica katkad daje iznenaduju ce rezultate. Npr. za 0 1 0 A = 0 0 1 0 0 0

Ar+1 = A Ar

za r 0.

Postoje i n n matrice za koje je prvih n 1 potencija razli cito od O , ali vrijedi n k A = O . Ako je A = O i A = O za neko k N, tada se A naziva nilpotentna matrica. Sljede ce iznenaduju ce svojstvo matri cnog mno zenja daje matrica J= 0 1 1 0 jer je J 2 = 1 0 = I. 0 1

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

pa je A3 = O.

U aritmetici ne postoji realan broj ciji kvadrat je 1. U matri cnoj algebri postoji realna matrica, ciji kvadrat je jednak I . Transponiranje matrica Postoji jo s jedna vrlo korisna operacija na matricama. Naziva se operacijom transponiranja. Neka je A Rmn . Matrica AT Rnm se naziva transponirana matrica matrici A, ako je svaki redak od AT jednak odgovaraju cem 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

Kra ce to zapisujemo: ako je A = [ aij ], onda je AT = [ aji ]. Operacija transponiranja je unarna operacija koja matrici pridru zuje njoj transponiranu matricu. 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. Zadatak 2.2.1 Neka su A Rmn , B Rnp . Doka zite sljede ce tvrdnje. (i) Ako je B = [b1 , . . . , bp ] stup cana particija matrice B , tada je AB = [Ab1 , . . . , Abp ] stup cana particija matrice AB.

(ii) Za ret cane particije matrica A i AB vrijedi implikacija aT 1 . A= . . aT m


aT 1B . AB = . . . aT mB

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

bT 1 . B= . . bT n ret cana particija od B , tada je


T y T B = y1 bT 1 + + yn bn .

(2.2.1)

(v) Ako je A = [a1 , . . . , an ] stup cana particija od A i ako je (2.2.1) ret cana particija od B , tada je T AB = a1 bT 1 + . . . + an bn .
mp Pritom je svaka matrica ai bT . i R

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 . Mno zenje matrica iz Rmn denirano je tek ako je m = n. Takoder je va zno da je skup Rnn zatvoren u odnosu na matri cno mno zenje. Ozna cimo li privremeno operaciju mno zenja matrica s , mo zemo pisati (Rnn , +, , ), pri cemu je (Rnn , +, ) vektorski prostor, a mno zenje zadovoljava svojstva (a)(d) s po cetka ovog odjeljka. Takva struktura se zove algebra. Kako u Rnn postoji i neutralni element I za mno zenje , ka ze se da je (R , +, , ) algebra s jedinicom. Dakle, skup matrica reda n cini algebru s jedinicom. Ona op cenito nije komutativna. Na njoj je denirana i unarna operacija transponiranja.
nn

Promotrimo jo s skup MR svih realnih matrica, MR = m,n Rmn . Neka ozna cava operaciju mno zenja matrica, a T operaciju transponiranja matrica. Skup MR je sigurno zatvoren u odnosu na operaciju mno zenja 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 ozna cili smo skup kompleksnih m n matrica. U taj skup je uklju cen i skup realnih matrica Rmn , pa je skup Cmn ve ci od Rmn . Zbroj dviju matrica A, B Cmn je deniran na isti na cin kao i u Rmn , pri cemu je operacija + na nivou matri cnih elemenata zbrajanja kompleksnih brojeva. mn Lako se poka ze da je (C , +) komutativna aditivna grupa. Neutralni element je matrica O Cmn ciji su elementi same nule. Suprotni element od A Cmn je matrica A = [ aij ]. Uo cimo da je O takoder u Rmn . Stovi se, (Rmn , +) je mn netrivijalna podgrupa od (C , +). Kod mno zenja matrica iz Cmn skalarom, moramo dozvoliti mno zenje kompleksnim brojevima. Neka je A Cmn i C. Tada je B = A (ili kra ce B = A) ako je bij = aij za sve i, j . Ova operacija ima ista svojstva kao i operacija mno zenja realnim skalarom u Rmn . Stoga Cmn uz operaciju zbrajanja i mno zenja skalarom iz C postaje vektorski prostor (nad poljem kompleksnih brojeva), koji ozna cavamo s (Cmn , +, ). Uo cimo da (Rmn , +, ) nije vektorski potprostor mn od (C , +, ) jer ti vektorski prostori nisu denirani nad istim poljem. Elemente od Cn1 opet zovemo matrice stupci, jednostup cane matrice ili vekn1 n tori. Oznaku C zamjenjujemo oznakom C , a za sam vektorski prostor tih vektora koristimo oznaku (Cn , +, ).

Operacija mno zenja kompleksnih matrica denirana je samo za parove ulan ca-

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 28

Glavna razlika u denicijama vezanim uz algebre Rnn i Cnn dolazi u momentu kad se zeli u njima denirati skalarni produkt odnosno norma. Skalarni 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 y 1 + + xn y n , pa zato u Cn ne mo zemo pisati (x | y ) = xT y , x, y Cn . Da bismo ipak (x | y ) napisali pomo cu operacije matri cog mno zenja moramo uvesti operaciju kompleksnog konjugiranja i kompleksnog transponiranja. Ako je z = z1 + iz2 kompleksni broj, tada je z = z1 iz2 kompleksno konjugirani broj. Na sli can na cin deniramo i kompleksno konjugiranu matricu, a onda i kompleksno transponiranu matricu. Evo denicija. Neka je Z Cmn i Z = Z1 + iZ2 , pri cemu su Z1 , Z2 Rmn . Tada se Z1 iZ2 zove kompleksno konjugirana matrica matrici Z i ozna cava s Z . Kompleksno transponirana ili hermitski adjungirana matrica matrici Z je T T matrica Z = Z1 iZ2 .

nih matrica. Mno zenje je denirano na isti na cin kao kod realnih matrica. Neutralni element s obzirom na matri cno mno zenje je opet identiteta, tj. jedini cna matrica I nn nn (koja je i u R i u C , ako je reda n). Mno zenje matrica ima ista svojstva kao i kod realnih matrica. Naime, operacija tranponiranja je denirana za svaku kompleksnu matricu na isti na cin kao i u slu caju realnih matrica. Time smo zapravo nn pokazali da je (C , +, , ) algebra s jedinicom, gdje smo na cas matri cno mno zenje ozna cili s .

Uo cimo da su obje operacije denirane za svaku kompleksnu matricu i pritom je Z Cmn i Z Cnm ako je Z Cmn . Operacije kompleksnog konjugiranja i kompleksnog transponiranja imaju sljede ca svojstva. 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. Uo cimo da vrijedi (x | y ) = x1 y 1 + + xn y n = y 1 x1 + + y n xn = y T x = y x,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 29

pa smo uspjeli skalarni produkt prikazati pomo cu produkta matrica. Zato za normu vektora vrijedi x = |x1 |2 + + |xn |2 = x x. Uo cite da tvrdnje (i)(v) iz zadatka 2.2.1 vrijede i za kompleksne matrice. O ostalim vektorskim i matri cnim normama vi se cemo re ci u jednom od sljede cih odjeljaka.

2.2.4.

Rang matrice
aT 1 T a2 A= . . .

Svaku matricu A Rmn mo zemo promatrati kao niz njenih vektora-redaka


,

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 R1n (Rm ), koji zovemo ret cani (stup cani) potprostor od A. Va zno svojstvo tih potprostora je da imaju istu dimenziju. Broj linearno nezavisnih vektora redaka matrice A naziva se ret cani rang matrice A. Broj linearno nezavisnih vektora stupaca matrice A naziva se stup cani rang matrice A. Kako se radi o istom broju izbacuje se pridjev ret cani ili stup cani, pa se broj linearno nezavisnih vektora redaka (stupaca) matrice A naziva rang matrice A i ozna cava s r (A) ili rang(A). Matrica A je punog (stup canog ili ret canog) ranga, ako je r (A) jednak broju stupaca ili redaka matrice 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. Ako iz vektora xj na cinimo matricu X = [x1 , x2 , . . . , xk ], a iz skalara j na cinimo T vektor stupac = [1 , 2 , . . . , k ] , tada linearnu kombinaciju 1 x1 + 2 x2 + + k xk mo zemo napisati kao produkt matrice X i vektora . Stoga uvjet linearne nezavisnosti vektora xj ima drugi zapis: X = 0 cim 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 cim je = 0 ka ze da je linearni operator X injekcija.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 30

Uz svaku matricu A Rmn vezana su dva va zna potprostora: slika i jezgra matrice. Skup R(A) = {Ax | x Rn }

se zove slika matrice A Rmn u Rm . Lako se poka ze da je R(A) potprostor od Rm . Za svako A = [b1 , . . . , bn ] Rmn vrijedi R(A) = L(b1 , . . . , bn ), pa je R(A) stup cani potprostor od A. Stoga je dimenzija od R(A) jednaka r (A).

Skup rje senja jednad zbe Ax = 0 cini vektorski potprostor koji se zove jezgra ili nul-potprostor od A. Ozna cimo taj potprostor s N (A) = {x Rn | Ax = 0}. Dimenzija od N (A) se naziva defekt matrice A i ozna cava s d(A). Postavlja se pitanje kolika je dimenzija jezgre? Teorem o rangu i defektu ka ze da je da N (A) n R ima dimenziju n r (A), tj. da je r (A) + d(A) = n.

2.2.5.

Sustav linearnih jednad zbi i inverz matrice

Jedan od najva znijih problema linearne algebre jest rje savanje sustava linearnih jednad zbi 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 rje senja x Rn i vektora desne m strane sustava b R , a11 a21 A= . . .

a12 a22 . . . am2

a13 a23 am3

a1n a2n . . .

am1

amn

x1 x2 x= . , . . xn

b=

b1 b2 . . . bm

sustav (2.2.2) prelazi u matri cni problem Ax = b. Pro sirena matrica sustava (2.2.2) dobije se tako da matricu napi semo pomo cu stup cane blok-particije i dodamo vektor b kao (n + 1)-vi stupac, A = [A, b] = [a1 , . . . , an , b] gdje su a1 , . . . , an stupci od A. Nu zne i dovoljne uvjete za rje sivost sustava Ax = b daje

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 rje senje ako i samo ako vrijedi r (A) = r ([A, b]). U tom slu caju skup svih n rje senja sustava Ax = b cini linearnu mnogostrukost u R dimenzije n r (A), koja (P ) je oblika x + N (A) gdje je N (A) nul-potprostor matrice, a x(P ) je bilo koje rje senje sustava. Dokaz. Ako postoji rje senje x = [x1 , . . . , xn ]T sustava Ax = b, tada produkt Ax mo zemo zapisati pomo cu stupaca aj , 1 j n matrice A, (vidi zadatak 2.2.1(iii)), pa vrijedi: x1 a1 + + xn an = b. Stoga je b linearna kombinacija vektora aj , pa je b L(a1 , . . . , an ). To zna ci da je L(a1 , . . . , an ) = L(a1 , . . . , an , b). Zadnja jednakost se mo ze zapisati kao R(A) = R([A, b]). Uzimanjem dimenzija potprostora na obje strane, odmah se dobiva jednakost ranga polazne i pro sirene matrice. Drugi smjer polazi od uvjeta r (A) = r ([A, b]), koji povla ci L(a1 , . . . , an ) = 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 deniramo vektor x = [x1 , . . . , xn ]T , tada vrijedi Ax = b, pa imamo rje senje sustava.

2.2.6.

Lijevi i desni inverz, regularne i singularne matrice

Prvo poop cenje KroneckerCappelijeva teorema ka ze da matri cna jednad zba AX = B ima rje senje ako i samo ako je r (A) = r ([A, B ]), gdje smo pro sirenu matricu denirali pomo cu svih stupaca od B . U specijalnom slu caju, kad je B jedini cna matrica, imamo problem AX = I . Svako rje senje te jednad zbe zove se desni inverz od A. Sli cno, svako rje senje matri cne jednad zbe XA = I zove se lijevi inverz od A. Mo ze se pokazati da matrica A Rmn 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. Stovi se, mo ze se pokazati da su sljede ce tvrdnje ekvivalentne: (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, zaklju cujemo da postoji samo jedan lijevi inverz i samo jedan desni inverz i da su oni jednaki. Prirodno je tu matricu zvati jednostavno inverz matrice A i ozna citi je s A1 . Matrice za koje postoji inverz obi cno se nazivaju invertibilne, regularne ili nesingularne. Kvadratne 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

Obrat po kontrapoziciji implicira da je matrica A nesingularna ako i samo ako za svaki x = 0 vrijedi Ax = 0. Drugim na cinom to vidimo ovako: r (A) = n ako i samo ako je N (A) = {0}, tj. ako i samo ako x = 0 povla ci Ax = 0. Dakle, za regularne matrice je preslikavanje x Ax injekcija, a zbog dim(R(A)) = r (A) = n d(A) = n, ono je i bijekcija skupa Rn na sebe. Skup regularnih matrica ima posebnu va znost u primjenama, jer uz operaciju matri cnog mno zenja on postaje grupa. Ako su A1 , A2 , . . . , Ak regularne matrice, kori stenjem matri cnog mno zenja lako pokazujemo da je 1 1 1 (A1 A2 Ak )1 = A k A2 A1 .

samo ako je dimenzija nul-potprostora N (A) barem jedan, tj. ako i samo ako postoji x N (A), x = 0, sto je i trebalo dokazati.

Ako su S i T regularne matrice i vrijedi B = SAT , ka zemo da su matrice A i B 1 zemo da su A i B sli cne ekvivalentne. Ako je veza izmedu A i B , B = S AS , ka T matrice. Kona cno, ako vrijedi B = S AS (za kompleksne matrice B = S AS ) ka zemo da su A i B kongruentne.

2.2.7.

Specijalne klase matrica

U ovom dijelu, ako nije izri cito druga cije nazna ceno, podrazumijevamo da se nn radi o kvadratnoj matrici iz skupa R . Simetri cne i antisimetri cne matrice Matrica A je simetri cna ako vrijedi AT = A. Matrica A je antisimetri cna T ako vrijedi A = A. Za proizvoljnu kvadratnu matricu X , matrica 1 (X + X T ) 2 naziva se simetri cni dio matrice X , a matrica Xs = Xa =

1 (X X T ) 2 antisimetri cni dio matrice X . Vrlo je jednostavno pokazati, da je za svaku matricu X , Xs uvijek simetri cna, a Xa uvijek antisimetri cna matrica i vrijedi X = Xs + Xa . Kod simetri cnih (antisimetri cnih) matrica je antisimetri cni (simetri cni) dio jednak nul-matrici. Cak stovi se, ovakav rastav matrice X na simetri cni i antisimetri cni dio T T je jedinstven, tj. ako vrijedi X = U + V , U = U , V = V , tada je 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 simetri cna i B je kongruentna s A, tada je i B simetri cna. 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 sljede ca svojstva: (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 s naziva linearni 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 va zno svojstvo koje trag cini privla cnim kako u teoretskim razmatranjima tako i u prakti cnim numeri ckim primjenama. Na vektorskom prostoru Rn mo zemo denirati i kvadrati cni funkcional qA : R R formulom: ako je A Rnn simetri cna matrica, onda funkciju qA ,
n

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 simetri cna matrica. Pozitivno denitne matrice Za simetri cnu matricu A ka zemo da je pozitivno semidenitna, ako vrijedi xT Ax 0 za svaki x Rn . Ako vrijedi onda ka zemo da je A pozitivno denitna matrica. Dakle, za simetri cnu pozitivno semidenitnu (pozitivno denitnu) matricu A vrijedi qA (x) 0 za svako x (qA (x) > xT Ax > 0 za svaki x Rn , x = 0,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 34

0 za svako x = 0). Mo ze se pokazati da je svaka pozitivno denitna simetri cna matrica punog ranga, tj. da je regularna matrica. Za B Rmn mo ze se pokazati, (ii) ako je B punog stup canog ranga, onda je B T B Rnn pozitivno denitna matrica, (iii) ako je B punog ret canog ranga, onda je BB T Rmm pozitivno denitna matrica. Mo ze se pokazati, da za svaku pozitivno semidenitnu matricu A postoji kvadratna matrica B , takva da je A = B T B . Pritom je B regularna ako i samo ako je takva A. Matrica B op cenito nije jedinstvena, ali uz neke uvjete jest. Matrica B se mo ze odabrati gornje ili donje trokutastom i u tom slu caju je B jedinstveno odredena uvjetom regularnosti matrice A i pozitivno s cu dijagonalnih elemenata od B . Ortogonalne matrice Promotrimo sada matrice Q koje istovremeno zadovoljavaju jednad zbe QT Q = I, QQT = I. (i) matrice B T B Rnn i BB T Rmm su pozitivno semidenitne,

Iz prve jednad zbe slijedi da je QT lijevi inverz od Q, a iz druge da je QT desni inverz od Q. Stoga zaklju cujemo da je Q nu zno kvadratna i regularna. Pritom je lijevi inverz isto sto i desni inverz i to je ba s inverz matrice. Dakle je QT inverz od Q. Kvadratna matrica Q koja ima svojstvo QT Q = I zove se ortogonalna matrica. Ova denicija je dovoljna da se zaklju ci kako vrijedi i relacija QQT = I . Doista, QT Q = I ka ze 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 sli can na cin se pokazuje da QQT = I i uvjet m = n daje QT Q = I , pa je za ortogonalnost, uz kvadrati cnost, dovoljno tra ziti uvjet QT Q = I ili QT Q = I . Za ortogoinalne matrice Q vrijedi Qx = x , tj. ortogonalne matrice cuvaju euklidsku duljinu vektora. Ortogonalne matrice su jedine kvadratne 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 cuvaju kut medu vektorima. Doista, vrijedi (Qx | Qy ) xT QT Qy xT y (x | y ) = = = . Qx Qy x y x y x y Budu ci da se kut izmedu dvaju vektora uvijek nalazi u intervalu [0, ], tvrdnja je dokazana. Posebno su zna cajne ortogonalne matrice tipa cos sin sin cos

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

T q n

stup cana i ret cana particija kvadratne matrice Q. Tada je Q ortogonalna ako i samo vrijedi
T (qi | qj ) = qi qj =

1 i = j, 0 i=j

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

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 T T [ QT Q ]ij = eT i Q Qej = (Qei ) (Qej ) = qi qj ,

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

T QT Q = I je ekvivalentno s qi qj = ij . Drugim rije cima QT Q = I je ekvivalentno s tvrdnjom da Q ima ortonormirane stupce. T Na sli can na cin se pokazuje da je QQT = I ekvivalentno s q i q j = ij , odnosno s tvrdnjom da Q ima ortonormirane retke.

Zaklju cujemo da Q zadovoljava obje relacije QT Q = I i QQT = I ako i samo ako ima ortonormirane stupce i retke.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 36

Matrice permutacije Sljede ca klasa ortogonalnih matrica je u bliskoj vezi s permutacijama skupa Sn = {1, 2, . . . , n}. Skup svih permutacija na Sn ozna cimo s n . Ako, kao binarnu 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 to cno jednu jedinicu. Iz denicije odmah slijedi da je svaka matrica permutacije kvadratna. Skup svih matrica permutacija reda n ozna cit cemo s Pn . Kako svaka matrica permutacije ima ortonormirane stupce i retke, Pn je podskup skupa ortogonalnih matrica. Specijalno, matrice iz Pn su regularne. Svakoj permutaciji p n mo zemo pridru ziti matricu permutacije P formulom P ei = ep(i) , 1 i n,

gdje su ei stupci jedini cne 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 ozna cimo s 1 2 3 4 5 p= . 5 3 1 2 4 Njena inverzna permutacija je p 1 = 5 3 1 2 4 , 1 2 3 4 5

a zapisana na uobi cajeni na cin (elementi koje permutiramo u rastu cem poretku) p 1 = pa je

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

Skup Pn zajedno s operacijom mno zenja matrica cini grupu. Preslikavanje J je tzv. izomorzam grupa (n , ) i (Pn , ), jer vrijedi J (p q ) = J (p)J (q ) za sve p, q n .

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 (p 1 ) = 1 0 0

0 0 0 1 0

0 1 0 0 0

0 0 0 0 1

1 0 0. 0 0

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 37

Koju ulogu u matri cnom ra cunu imaju matrice permutacije? Neka za matrice P, Q Pn vrijedi P = J (p) i Q = J (q ). Promotrimo elemente matrice A = P T AQ. Za element aij matrice A vrijedi
T T T T T aij = eT i A ej = ei (P AQ)ej = (ei P )A(Qej ) = (P ei ) A(Qej )

= eT p(i) Aeq (j ) = ap(i)q (j ) . 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 s da simetri cne, antisimetri cne i ortogonalne matrice pripadaju siroj klasi tzv. normalnih matrica koje su karakterizirane uvjetom AAT = AT A. Hermitske, antihermitske i unitarne matrice U skupu kompleksnih matrica, uloge simetri cne, antisimetri cne i ortogonalne 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. Ve cina lijepih svojstava simetri cnih, antisimetri cnih i ortogonalnih matrica prenosi se na hermitske, antihermitske i unitarne matrice. Dijagonalni elementi hermitske matrice su realni, dok su kod antihermitske imaginarni (a ne nule kao kod antisimetri cne matrice). Trag je na kompleksnim matricama deniran na isti na cin kao i na realnim matricama. Medutim, kvadratna forma ima oblik x Ax, pa je pomo cu nje denirana pozitivno denitna i semidenitna matrica. Unitarne matrice cuvaju euklidsku normu vektora i kuteve medu vektorima. Kompleksne normalne matrice denirane su uvjetom A A = AA i one uklju cuju 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} denirana s (p) = (1)I (p) . Parnost se mo ze denirati i pomo cu algebarskog izraza. Za funkciju parnosti vrijedi (p ) = p(j ) p(i) , ji 1i<j n 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 s se koristi oznaka det A, |A| ili a11 a1n . . . . . . . an1 ann

Sli cno kao kod matrice, govorit cemo o elementima, retcima, stupcima i dijagonali determinante. Uo cimo da se u svakom clanu sume nalazi po jedan element iz svakog stupca i po jedan element iz svakog retka matrice. Stoga, u slu caju jedini cne matrice, od n! clanova sume, samo jedan je razli cit od nule, pa je det(In ) = [ In ]11 [ In ]22 [ In ]nn = 1 1 = 1. Denicija determinante je matemati cki jasna, ali je za ra cunanje determinante reda ve ceg od tri, prakti cno neupotrebljiva. Naime, broj clanova u sumi, pa zato i broj ra cunskih operacija, strahovito brzo raste s n. Za determinantu vrijede sljede ca svojstva. 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 pomno zi skalarom , cijela determinanta se mno zi s . Stoga, ako determinanta ima jedan nul-redak ili 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 ] det(C ) = det(A) + det(B ). Sli cna tvrdnja vrijedi i za retke. Ako jednom retku (stupcu) determinante dodamo neki drugi redak (stupac) pomno zen proizvoljnim skalarom, determinanta matrice se ne mijenja.

stup cane particije kvadratnih matrica A, B i C , respektivno, tada vrijedi

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 izra cunala vrijednost determinante mo ze se iskoristiti tzv. razvoj determinante po retku ili stupcu, koji se jo s naziva i Laplaceov razvoj determinante.
(n1)(n1) Neka je A Rnn . S Ac ozna cit cemo podmatricu od A koja ij R nastaje izbacivanjem njenog i-tog retka i j -tog stupca. Npr. ako je

A=

a11 . . .

onda je

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

a1,j 1 . . .

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

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

an1

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


a1n . . .

Ac ij

a11 . . .

an1 an,j 1 an,j +1 ann Minora elementa aij matrice A Rnn je determinanta matrice Ac ij , koja nastaje iz 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 odgovaraju ce minore tek u faki+j toru (1) , tj. eventualno do na predznak. Ina ce, sam pojam minore je op cenitiji i ozna cava determinantu proizvoljne kvadratne podmatrice zadane matrice. Za A = [ aij ] Rnn vrijedi
n

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

a1,j 1 . . .

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

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

a1n . . .

det(A) =

j =1

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

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 poka ze da je determinanta trokutaste matrice jednaka produktu njenih dijagonalnih elemenata. Pomo cu svojstva determinante, mogu se izvesti neke korisne formule za vrijednost 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 ra cunanje, pomno zimo ju s lijeva s pogodnom matricom poznate determinante i iskoristimo 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 2 (x2 x1 )

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

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

Razvojem determinante po prvom stupcu dobivamo determinantu reda tri. U toj determinanti mo zemo izlu citi ispred determinante faktore (x2 x1 ), (x3 x1 ) i (x4 x1 ) koji mno ze 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 na cin se op cenito pokazuje da vrijedi 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 ). Op cenitije, lako se poka ze da vrijedi V (x1 , x2 , . . . , xn ) =
i<j

(xj xi ).

Ovaj rezultat ka ze da su vektori cije su komponente (iste) potencije medusobno razli citih brojeva x1 , . . . , xn , linearno nezavisni. Adjunkta i Cramerovo pravilo Adjunkta kvadratne matrice A reda n, je matrica 11 . adj(A) = . . n1

pri cemu su

1n . . . , nn

algebarski komplementi elemenata aji matrice A. Adjunkta ima vrlo specijalno svojstvo:

ij = (1)j +i det(Ac ji )

A adj(A) = adj(A)A = det(A) In . Stoga, ako je A nesingularna, vrijedi A1 = adj(A) . det(A)

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

pri cemu je A = [a1 , . . . , an ] stup cana particija od A. Tada vrijedi tzv. Cramerovo nn pravilo: ako je A R nesingularna, b Rn i ako je x = [x1 , . . . , xn ]T ) rje senje sustava Ax = b, tada je det(Ai ) xi = , 1 i n. det(A)

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 42

Provjerimo formule kad je n = 2. Ako linearne jednad zbe glase ax1 + bx2 = e cx1 + dx2 = f tada mno zenjem prve jednad zbe s d i druge jednad zbe s b i sumiranjem dobivenih jednad zbi (eliminacija nepoznanice x2 ), dolazimo do e b ed bf det(A1 ) f d x1 = = = . a b ad bc det(A) c d Sli cno, mno zenjem prve jednad zbe s c i druge jednad zbe s a i sumiranjem dobivenih jednad zbi (eliminacija nepoznanice x1 ), dolazimo do a e det(A2 ) af ce 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 naj ce s ce koriste na nivou matrica. Naime, svakom linearnom operatoru u bilo kojem paru baza (polaznog i dolaznog vektorskog prostora) pripada matrica, pa se problem vlastitih vrijednosti operatora mo ze reducirati 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 slu caju, je vlastita vrijednost, a par (x, ) je vlastiti par matrice A. Ako je A Rnn , 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 jedini cna matrica, tada je svaki netrivijalni vektor vlastiti vektor koji pripada 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 vi sekratnik od .

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). Ako su u i v vlastiti vektori koji pripadaju medusobno razli citim 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 sljede ci rezultat. 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 cim je i = j,

Ako je r = n, tvrdnja se mo ze interpretirati na sljede ci na cin: ako matrica A reda n ima n medusobno razli citih vlastitih vrijednosti, tada postoji baza prostora (Rn ili Cn ) koja se sastoji od vlastitih vektora matrice A. Karakteristi cni polinom Neka je vlastita vrijednost matrice A reda n. Tada postoji (vlastiti) vektor x = 0, takav da je Ax = x. Zadnja jednad zba se mo ze zapisati u obliku Axx = 0 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. Budu ci da je A I singularna, imamo a11 . . det(I A) = (1) det(A I ) = . an1
n

onda je skup vektora {u1 , . . . , ur } linearno nezavisan.

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 karakteristi cni polinom matrice A, a (2.2.3) je karakteristi cna 1 1 jednad zba matrice A. S obzirom da B = S AS povla ci B zI = S (A zI )S , vidimo da sli cne matrice imaju isti karakteristi cni polinom. To zna ci da koecijenti i ovise o cijeloj klasi sli cnih matrica matrici A. Vrijednost je bila proizvoljna vlastita vrijednost, pa smo pokazali da je svaka vlastita vrijednost nulto cka karakteristi cnog polinoma. Poka zimo da vrijedi i obrat. Neka je nulto cka karakteristi cnog polinoma. Dakle, det(I A) = 0. Stoga je

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. Zaklju cujemo da je svaka nulto cka karakteristi cnog polinoma vlastita vrijednost matrice A. Time smo na sli jednu karakterizaciju vlastitih vrijednosti i dokazali Teorem 2.2.2 Neka je A kvadratna matrica. Skalar je vlastita vrijednost matrice A onda i samo onda ako je nulto cka karakteristi cnog polinoma. Koecijenti karakteristi cnog polinoma su odredene sume produkata matri cnih elemenata, pa neprekidno ovise o matrici. Kako su nulto cke polinoma neprekidne funkcije koecijenata polinoma, zaklju cujemo da su vlastite vrijednosti neprekidne funkcije matrice. Nulto cke polinoma mogu biti vi sestruke, npr. p(z ) = z 3 (z 2)2 ima dvije nulto cke: 0 kratnosti tri i 2 kratnosti dva. Pritom je zbroj kratnosti (ili vi sestrukosti) svih nulto caka jednak stupnju polinoma. Algebarska vi sestrukost vlastite vrijednosti kvadratne matrice A je njena vi sestrukost kao nulto cke karakteristi cnog polinoma. Geometrijska vi sestrukost vlastite vrijednosti je defekt matrice I A.

Koriste ci fundamentalni teorem algebre, koji ka ze da polinom stupnja n nad (zatvorenim poljem, a takvo je) C ima n nulto caka, broje ci ih s vi sestrukostima, zann klju cujemo da svaka matrica iz C ima to cno n vlastitih vrijednosti. Ako pritom 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 ve ce od jedan, tada mo ze, ali i ne mora postojati baza vlastitih vektora.

Ako je matrica realna, tada cemo u razvoju determinante det(zI A) imati uz potencije od z uvijek realne brojeve, tj. koecijenti karakteristi cnog polinoma ce biti realni. Polinom stupnja n nad poljem realnih brojeva (koje nije zatvoreno) ne mora imati n nulto caka. Npr. polinom p(t) = t2 + 1 uop ce nema realnih korijena. Stoga matrice nad realnim poljem ne moraju imati vlastite vrijednosti, odnosno mogu ih imati manje od n. S druge strane, svaka realna matrica A se mo ze promatrati kao da je kompleksna, jer su realni brojevi takoder kompleksni brojevi. Sada je A Cnn , pa karakteristi cni polinom ima prema osnovnom teoremu algebre n nulto caka koji su op cenito kompleksni brojevi. Peciznije, ako karakteristi cni polinom ima realne koecijente, njegove nulto cke mogu biti ili realni brojevi ili kompleksni brojevi koji se javljaju kao parovi konjugirano kompleksnih brojeva. Stoga, kod ra cunanja vlastitih vrijednosti realne matrice A, u pravilu se ra cunaju sve vlastite vrijednosti od A

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 45

gledaju ci na A kao da je iz Cnn . Nakon toga se odbace sve vlastite vrijednosti (i 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 = G G 1 pri cemu je dijagonalna matrica. Matrice koje dopu staju rastav (2.2.4) zovu se dijagonalizibilne. Ne mogu se sve matrice dijagonalizirati pomo cu transformacije sli cnosti. Mogu se dijagonalizirati samo one za koje postoji pun sistem vlastitih vektora. Va znu klasu dijago nalizibilnih matrica cine tzv. normalne matrice za koje vrijedi A A = AA . Svaka normalna matrica iz Cnn se mo ze dijagonalizirati transformacijom sli cnosti s unitarnom matricom G. U praksi su najva znije simetri cne realne matrice, pa cemo im posvetiti du znu pa znju. Matri cni polinomi 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 k = diag(k 1 , . . . , n ).

(2.2.4)

Kako je linearna kombinacija dijagonalnih matrica opet dijagonalna matrica, vrijedit ce i p ( 1 ) .. p() = , . p ( n ) gdje je p() bilo koji polinom. Ako je A = S S 1 , imamo A2 = (S S 1 )(S S 1) = S S 1 = S 2 S 1 A3 = A2 A = (S 2 S 1 )(S S 1 ) = S 3 S 1 . . . Ak = Ak1 A = (S k1S 1 )(S S 1 ) = S k S 1 ,

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 sli can na cin. Npr. ako je f : R R beskona cno puta diferencijabilna funkcija i ako A ima realne vlastite vrijednosti, f (A) se mo ze ovako denirati f (A) = Sf ()S 1 = S

f ( 1 )

..

. f ( n )

1 S .

Neka je A Cnn . Tada se mogu izra cunati 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 vi se od n2 linearno nezavisnih matrica. Stoga, podemo li od 2 I, A, A , . . . mo zemo na ci prvu potenciju Ar , koja se mo ze prikazati kao linearna kombinacija prethodnih potencija. Dakle, mo zemo pisati Ar = r1 Ar1 + r2 Ar2 + + 1 A + 0 , gdje su i skalari. Ako deniramo polinom (z ) = z r r 1 z r 1 r 2 z r 2 1 z 0 , on ima svojstvo da je polinom najmanjeg stupnja koji poni stava matricu A, tj. vrijedi (A) = 0, koecijent uz najvi su potenciju mu je jedan. Ovi uvjeti najmanjeg stupnja i normiranosti vode ceg koecijenta, osiguravaju jedinstvenost takvog polinoma, pa se on zove minimalni polinom matrice A. On ima va zno svojstvo da dijeli svaki polinom koji poni stava matricu A. Sljede ci teorem ka ze da stupanj minimalnog polinoma nije ve ci od n. Teorem 2.2.4 (HamiltonCayley) Neka je A Cnn i neka je (z ) karakteristi cni polinom od A. Tada je (A) = 0, tj. matrica poni stava svoj karakteristi cni polinom. Kako karakteristi cni polinom poni stava matricu, on je djeljiv (to zna ci djeljiv bez ostatka) s minimalnim polinomom. Dakle, minimalni polinom ima stupanj koji je manji ili jednak stupnju karakteristi cnog polinoma. Iz Hamilton-Cayleyjeva teorema zaklju cili smo da minimalni polinom dijeli karakteristi cni polinom. To zna ci da nulto cke minimalnog polinoma le ze u skupu

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 47

vlastitih vrijednosti matrice. Pomnija analiza pokazuje da je svaka vlastita vrijednost matrice nulto cka minimalnog polinoma. To zna ci da mo zemo pisati (z ) = (z 1 )m1 (z 2 )m2 (z p )mp , (z ) = (z 1 )n1 (z 2 )n2 (z p )np pri cemu je p broj medusobno razli citih vlastitih vrijednosti matrice. Pritom uvijek 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 sli cnosti kao alata za rje savnje problema vlastitih vrijednosti navest cemo op ci teorem o redukciji kvadratne matrice na oblik koji je onoliko blizak dijagonalnom obliku, koliko matrica dopu sta. Matrica oblika 0 . . J k ( ) = . . . . 0

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

0 . . . k k , 0 C 1

zove se elementarna Jordanova klijetka (ili blok) dimenzije k . Pomo cu elementarnih Jordanovih klijetki gradena je Jordanova klijetka (ili blok)

J k 1 ( ) J k 2 ( ) .. . J k r ( )

J ( ) =

Cl l ,

(2.2.5)

pri cemu je k1 k2 kr 1 i k1 + k2 + + kr = l n. Teorem 2.2.5 (Jordan) Neka je A Cnn i neka je 1 , . . . , p zadani uredaj medusobno razli citih 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 ka ze da se svaka matrica pomo cu transformacije sli cnosti mo ze svesti na oblik koji je blizak dijagonalnom. Naime, svaki Jordanov blok J (k ) je oblika (2.2.5), pa za svako 1 k p, postoji rastav nk = mk,1 + + mk,rk , pri cemu je mk,j dimenzija j -te po redu elementarne Jordanove klijetke u J (k ). U teoremu mo ze biti p = 1, r1 = 1 i tada je Jordanov oblik od A jedna elementarna Jordanova 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, sto zna ci da je Jordanova klijetka J (k ) jedna elementarna Jordanova klijetka. Dakle, sve jordanove klijetke u Jordanovoj formi matrice su reda 1, pa je matrica dijagonalizibilna. U ostalim slu cajevima ce op cenito vrijediti 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 ograni cenje 1 rk n, a za dimenzije elementarnih Jordanovih klijetki mk,j vrijedi 0 mk,j nk n. Zbog det(zI S 1 AS ) = det(S 1 (zI A)S ) = det(zI A) zaklju cujemo da je ni algebarska kratnost od i . Kako elementarne Jordanove klijetke imaju samo jedan vlastiti vektor e1 , zaklju cujemo 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 , gdje je za svako k , mk,1 najve ci red elementarne klijetke unutar Jordanove klijetke J (k ). Dijagonalizacija simetri cne matrice Vidjeli smo da se transformacijom sli cnosti matrica mo ze svesti na Jordanovu formu, oblik koji je dosta blizak dijagonalnoj fromi. Medutim ako zahtijevamo da sli cnost bude na cinjena pomo cu unitarne matrice, tada je doseg dijagonalizacije slabiji. Pomo cu unitarne transformacije sli cnosti matrica se mo ze svesti na trokutasti oblik. Teorem 2.2.6 (Schur) Za proizvoljnu matricu A postoji unitarna matrica U , takva da je T = U AU gornjetrokutasta matrica. Matrica U mo ze biti izabrana tako 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 va zne posljedice, kao sto je naredni teorem koji ka ze da je Schurova dekompozicija normalnih matrica dijagonalna. Sjetimo se, matrica A je normalna ako je A A = AA . Poka zimo da je unitarno sli cna 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. Sljede ci teorem pokazuje da se normalne matrice mogu dijagonalizirati pomo cu unitarne transformacije sli cnosti. 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 najzna cajnije klase normalnih matrica: unitarne i hermitske matrice. Sljede ce tvrdnje proizlaze iz teorema 2.2.7. 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 mo ze se prikazati u obliku H = U U , (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 cemo koristiti i zapis 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 . Pomo cu formule (2.2.8) mo zemo pro siriti pojam skalarne funkcije na hermitske matrice. To se cini na slijede ci na cin (H ) =
i

( i )u i u i.

(2.2.9)

Uo cimo da formula (2.2.9) vrijedi za polinome, a vrijedi i za neprekidne funkcije realnog argumenta. Jedna od naj ce s ce kori stenih funkcija je drugi korijen. Ako je 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 simetri cna. Ona se mo ze dijagonalizirati pomo cu transformacije sli cnosti s ortogonalnom matricom, pa se njena spektralna dekompozicija zapisuje u obliku A = QQT , gdje je dijagonalna matrica vlastitih vrijednosti od A, a Q je ortogonalna matrica ciji su stupci vlastiti vektori od A.

2.3.

Singularna dekompozicija matrice

Singularna dekompozicija matrice jedna je od najkori stenijih dekompozicija u numeri ckoj linearnoj algebri. Stoga cemo dokazati glavne rezultate vezane uz tu 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 cemo pokazati vezu vlastitih vrijednosti ovih matrica sa singularnim vrijednostima od C . Sljede ci teorem o egzistenciji singularne dekompozicije slu zi i kao denicija singularnih vrijednosti i vektora matrice. Pomo cu njega ce se jednostavno dokazati 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 cemu vrijedi 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 . Dokaz. Po sto je jedini cna sfera u Cn ograni cen i zatvoren skup, on je kompaktan, pa svaka neprekidna funkcija na njemu dosti ze minimum i maksimum. Funkcija f (x) = Cx 2 je neprekidna, pa postoji jedini cni vektor v Cn , takav da je Cv
2

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

1 2 min{m,n} 0.

= 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 jedini cni vektor

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 rije cima, dobili smo unitarnu matricu U1 = [u1 , u2 , . . . , um]. Sli cno, za v1 = v postoji n 1 ortonormiranih vektora v2 , v3 , . . . , vn Cn , takvih je da matrica V1 = [v1 , v2 , . . . , vn ] unitarna. Tada je

C1 =

U1 CV1

u 1 u 2 . . . um

[ Cv1 u 1 Cv2 u2 Cv2

Cv2

Cvn ] = u 1 Cvn u2 Cvn


u 1 u 2 . . . um

[ 1 u1

Cv2

Cvn ]

1 0 = . . .

. . . um Cv2

u m Cvn 1

1 0

z , C2

gdje je z Cn1 , C2 C(m1)(n1) . Za jedini cni vektor y=


2 1 + zz

1 , z

(2.3.1)

zbog unitarne invarjantnosti euklidske norme, vrijedi C (V 1 y )


2 2 = (U1 CV1 )y 2 2

= C1 y

2 2

2 (1 + z z )2 + C 2 z 1 + z z

2 2

2 1 + z z,

2 a ovo je striktno ve ce od 1 ako je z = 0. Po sto je to u suprotnosti sa maksimalno s cu od 1 , zaklju cujemo da je z = 0. Stoga je C1 = U1 CV1 =

1 0

0 . C2

(2.3.2)

Sada ponavljamo isti argument za matricu C2 C(m1)(n1) . Na taj taj na cin 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) . Mo ze se pokazati da za Cm postoji unitarna matrica, takva da je C m Vm = [ C m 2 , 0 , , 0 ] ,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 52

(to tzv. LQ faktorizazija od Cm ), pa ce lijeve i desne komponentne unitarne matrice u zadnjem koraku biti Um = I1 i Vm , respektivno. Ako citatelju nije jasan pojam LQ faktorizacije, zadnji dio dokaza teorema mo zemo premostiti na sljede ci na cin. Ako je m < n, primijenimo postupak opisan u dokazu teorema na matricu C , za koju je broj redaka n ve ci od broja stupaca m. Nakon dobivene dekompozicije C = U V , kompleksno transponirajmo obje matrice u toj jednakosti. Dobijemo C = V T U , sto je tra zena singularna dekompozicija od C , pri cemu moramo jo s preimenovati V T u U , U u V i u . Primjer 2.3.1 Evo primjera singularne dekompozicije matrice reda dva: C= 0.96 1.72 0.6 0.8 = U V 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 = U V 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 va zne relacije Cvi = i ui, C ui = i vi ,

koje otkrivaju vezu ortonormiranih baza ui , . . . , um i v1 , . . . , vn s matricom C . Iz relacije Cx = U V x = U ((V x)), vidimo da se djelovanje matrice na vektor mo ze opisati kao niz od tri jednostavnije transformacije: rotacije, produljivanje/skra civanje komponenata vektora i opet jedne rotacije. Naime, unitarna matrica ne mijenja normu vektora, pa je njen geometrijski smisao rotacija. Polaze ci od denicije singularnih vrijednosti iz teorema 2.3.1, poka zimo da 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 m > n (n > m) onda CC (C C ) ima jo s dodatnih m n (n m) vlastitih

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 53

vrijednosti koje su jednake nuli. U tom smislu ka zemo da su singularne vrijednosti 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 na cin matricom C . Sljede ci teorem govori o tome koliko su U i V jedinstvene. U njemu oznaka ortogonalne sume matrica U1 U2 Uk U0 ozna cava 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 vi sekratnosti, vrijedi 1 > 2 > > k > 0 i respektivno. Neka je C = U V , = 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 = U V 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 V = V (V 1 V 2 V k V 0 ). Dokaz. Iz singularne dekompozicije C = U V 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 ,

U = U (U1 U2 Uk U0 )

gdje su Ij Cj j , 1 j k jedini cne matrice, a 0mr C(mr)(mr) i 0nr C(nr)(nr) nul-matrice. Pritom su S1 i S2 dijagonalne. Ako su U Cmm i V Cnn unitarne matrice za koje je C = U V , tada vrijedi CC = U S1 U , pa je US1 U = U S1 U . Odavde slijedi S1 (U U ) = (U U )S1 . Na sli can na cin, relacija C = U V povla ci C C = V S2 V ,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 54

odnosno V S2 V = V S2 V , pa je S2 (V V ) = (V V )S2 . Dakle U U i V V komutiraju s dijagonalnim matricama S1 i S2 , respektivno. To povla ci da su one unitarne blok dijagonalne s dimenzijama dijagonalnih blokova 1 , 2 , . . . , k , m r i 1 , 2 , . . . , k , n r , respektivno. Stoga vrijedi V = V [V1 V2 Vk V0 ], U = U [U1 U2 Uk U0 ],

gdje su U0 C(mr)(mr) , V0 C(nr)(nr) i Ui , Vi Ci i , 1 i k , unitarne. Sada iz relacije U V = U V slijedi Ui i Vi = i Ii , odnosno i Ui = i Vi 1 i k. Kako su i > 0, slijedi Ui = Vi , 1 i k .
T

Ako je polazna matrica realna, singularna dekompozicija se zapisuje kao C = U V , pri cemu je kao i dosad, a U Rmm i V Rnn su ortogonalne. Pa zljivo citaju ci dokaze prethodnih teorema, ta tvrdnja se lako doka ze. Na svim mjestima gdje se koristi znak kompleksnog transponiranja treba staviti znak transponiranja, a rije c unitarna zamijeniti s ortogonalna. Nadalje, treba koristiti prostore Rm , Rn , Rmn 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 = U V ,
U

| 1 | | 2 | | n | .

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 55

singularna dekompozicija matrice N . Zaklju cujemo da su singularne vrijednosti normalne matrice apsolutne vrijednosti njenih vlastitih vrijednosti. Sljede ci korolar pokazuje neke od pogodnosti koje pru za singularna dekompozicija matrice. Pritom cemo koristiti oznake: i (C ) je i-ta najve ca singularna vrijednost matrice C , max (C ) = 1 (C ) je najve ca, a min (C ) = min{m,n} (C ) najmanja singularna vrijednost matrice C . Ako znamo da se radi o matrici C , umjesto i (C ) koristit cemo kra cu oznaku i . To zna ci da pretpostavljamo nerastu ci uredaj singularnih vrijednosti, kako je to u teoremu 2.3.1 i denirano. Korolar 2.3.1 Neka je C = U V 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 },

(iii) R(C ) = span{u1 , u2, . . . , ur } (v) R(C ) = N (C )

(ii) N (C ) = span{ur+1 , . . . , um}

(iv) R(C ) = span{v1 , v2 , . . . , vr } (vi) N (C ) = R(C )


r i=1

(viii) C = (ix) C (x) C

(vii) R(C C ) = R(C ), R(CC ) = R(C )


i ui vi = Ur r Vr 2 F 2 2 2 2 = 1 + 2 + + min

= 1 .

Dokaz. Rang matrice se ne mijenja ako pomno zimo matricu slijeva ili zdesna nesingularnom matricom. Stoga je rang(C ) = rang(). Kako je rang broj linearno nezavisnih stupaca (ili redaka) matrice, o cito je rang() = r . (i) Po sto je Cvi = 0, r + 1 i n, zaklju cujemo da je 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 = U V vi = U ei = 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 ). i i > 0.

(iv) Dokaz ove tvrdnje koristi isti argument kao i dokaz tvrdnje (ii). (v) Kori stenjem tvrdnji (iv) i (i), imamo R(C ) = span{v1 , . . . , vr } = N (C ) . (vi) Kori stenjem tvrdnji (ii) i (iii), izlazi N (C ) = span{u1 , . . . , ur } = R(C ) . (vii) Zbog toga sto su 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 pomno zimo li odgovaraju ce matrice: C = [ Ur , Umr ]
r

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

= Ur r Vr =
i=1

(ix) Tvrdnja slijede iz cinjenice da je euklidska norma unitarno invarijantna


r

2 F

= U V

2 F

2 F

=
i=1

2 i .

(x) Sli cno kao u (ix), 2-norma je unitarno invarijantna, pa je C


2

= U V

= max (C ).

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 57

Dekompoziciju opisanu u tvrdnji (viii) korolara 2.3.1 zvat cemo skra cena singularna dekompozicija matrice C . Jedna od va znijih posljedica singularne dekompozicije matrice je i polarna dekompozicija. Ona se dobije izravno od singularne dekompozicije matrice. Teorem 2.3.3 Svaka kvadratna matrica C dopu sta prikaz 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 = U V = UV V V = (UV )(V V ) = QH1 = U V = U U UV = (U U )(UV ) = H2 Q.

2.3.3.

Aproksimacija matrice matricom manjeg ranga

Jedna od va znijih upotreba singularne dekompozicije matrice je odredivanje ranga matrice. Brojni teoremi u linearnoj algebri imaju oblik : ako je ta i ta matrica punog ranga, onda vrijedi to i to svojstvo. Zbog pogre saka zaokru zivanja i eventualnih pogre saka ulaznih podataka, odredivanje ranga postaje netrivijalan zadatak. Za singularnu dekompoziciju matrice postoje pouzdane i prili cno to cne metode. Stoga se, iako postoje br ze metode, rang matrice najsigurnije ra cuna iz singularne dekompozicije. Sljede ci teorem nam govori o aproksimaciji matrice pomo cu matrica manjeg ranga. Teorem 2.3.4 (Ekhard, Young, Mirsky) Neka je C = U V 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. Po sto je U Ck V = diag(1 , 2 , . . . , k , 0, . . . , 0),

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 58

lako se dobije Neka je K Cmn proizvoljna matrica ranga k . To zna ci da mo zemo na ci ortonormirane vektore x1 , . . . , xnk takve da je N (K ) = span{x1 , . . . , xnk }. Zbog mo zemo prona ci jedini cni vektor z koji pripada ovom presjeku. Po sto je Kz = 0 i
k +1

C Ck

= U (C C k )V

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

= k+1 .

span{x1 , . . . , xnk }

span{v1 , . . . , vk+1} = {0},


i (vi z )u i ,

Cz =
i=1

imamo C K
2 2

(C K )z

2 2

= Cz

2 2

k +1

=
i=1

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

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

= 1.

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

Iz singularne dekompozicije od C

1.8 2.4 2.4 3.2 , 2.4 1.8

6.4 0.0 K= 0.0 4.8 0.0 2.4


0.0 0.0 . 1.8 0.0 0.8 , 0.8

zaklju cujemo da je 1 (C ) = 8, 2 (C ) = 5, 3 (C ) = 3, pa je rang(C ) = 3. Uo cimo da je rang(K ) = 2. Spektralnu normu od C K dobijemo opet preko njene singularne dekompozicije

6.4 1.8 2.4 4.8 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

Dakle imamo C K

0.0 1.8 2.4 0.6 0.8 0.0 5 0.6 0.0 0 0.0 2.4 3.2 = 0.8 0.0 0.0 0.0 0.0 0.0 1.0
2

= 5 > 3 = 3 (C ).

0.0 0.6 0.0 0.8 0 1.0 0.0

0.8 0.6 . 0.0

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

Sli cno kao u prethodnom primjeru, singularnom dekompozicijom matrice C dobivamo 1 (C ) = 4, 2 (C ) = 3, 3 (C ) = 2, 4 (C ) = 1. Dakle, vrijedi rang(C ) = 4. O cito je rang(K ) = 3, a spektralna norma od C K je C K 0.0 0.0 = 0.0 0.0

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 dosti ze na matrici K .

2.3.4.

Wielandtova matrica

Sljede ci teorem je jedan od zna cajnijih rezultata vezanih uz singularnu dekompoziciju 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 = U V , = 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. Mo zemo pretpostaviti da je m n. U protivnom radimo s matricom C . 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 ] . Mno zenjem lijevih i desnih strana posljednje dvije jednakosti slijedi
2 2 V (C C )V = diag(1 , . . . , n ) Cn n ,

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

Ozna cimo matricu prvih n stupaca matrice U s U1 , a matricu preostalih m n 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 U1 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

Izra cunajmo jo s Q AQ = 1 2 1 2 1 2

Produkt V C U2 je nul-matrica jer je

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

V C U2 = V C UU U2 = [ , 0 ]
I

0 = 0. Imn

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 61

Zbog toga vrijedi U2 CV = (V C U2 ) = 0. Po sto su U1 CV = i V C U1 = 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 omogu cava da mnoge rezultate o vlastitim vrijednostima hermitske matrice formuliramo, uz prirodne modikacije, za singularne vrijednosti proizvoljne matrice.

2.3.5.

Neke nejednakosti sa singularnim vrijednostima

U ovom odjeljku prikazat cemo dva teorema. Rezultat prvog teorema je jedna od mnogobrojnih posljedica Fischerove karakterizacije vlastitih vrijednosti hermitskih matrica. Prvo cemo formulirati Weylov teorem, a njegov dokaz se mo ze prona ci 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 1 2 n . Tada vrijedi n i i i + 1 , i + n Dokaz. Vidi npr. [8, teorem 3.14 (str. 2526)]. Teorem 2.3.6 ima mnogo va znih posljedica. Ovdje cemo dokazati tek dvije. Teorem 2.3.7 Neka matrica C Cmn ima particiju C= Tada vrijedi i (C1 ) i (C ), j (C2 ) j (C ), 1 i min{n, k } 1 j min{n, m k }. C1 }k . C2 }m k i = 1, . . . , n.

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 C 1 (C 2 C2 ). Zamijetimo da je
C C = C1 C1 + C2 C2 . Matrica C2 C 2 (C 1 C1 ) je pozitivno semidenitna. Prema teoremu 2.3.6 slijedi da su vlastite vrijednosti od C C , uzete u nepadaju cem poretku, ve ce ili jednake od odgovaraju cih vlastitih vrijednosti matrice C1 C 1 (C 2 C2 ).

Zanimljivo je vidjeti koji je odnos izmedu singularnih vrijednosti produkta dviju matrica i singularnih vrijednosti samih matrica. O tome govori sljede ci teorem. 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 cemo usporedivanjem vlastitih vrijednosti matrica C C s 2 vlastitim vrijednostima od A 2 2 B B . Neka je A A = Q Q spektralna dekom pozicija od A A. Tada je 2 M = Q( A 2 2 I )Q hermitska pozitivno semidenitna matrica za koju je A A + M = A 2 2 I. Vrijedi
A 2 2 B B = B (A A + M )B = C C + B MB.

Uo cimo da je pa je B MB , takoder, pozitivno semidenitna. Na osnovu teorema 2.3.6 zaklju cujemo da su vlastite vrijednosti od A 2 B B = 1 (A)2 B B ve ce ili jednake od odgovaraju cih vlastitih vrijednosti od C C . x B MBx = (Bx) M (Bx) 0,

2.3.6.

Generalizirani inverz

Singularna dekompozicija ima direktnu primjenu u ra cunanju generaliziranog inverza op ce matrice. Generalizirani inverz koristan je alat u raznim podru cjima linearne algebre, npr. linearnom problemu najmanjih kvadrata. Na ovom mjestu uvest

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 63

cemo pojam generaliziranog inverza A matrice A i navesti neka njegova osnovna 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 ozna cava se s A1 . Prirodno je poku sati pro siriti pojam inverza i na matrice koje nisu regularne ili cak nisu niti kvadratne. To je mogu ce posti ci zahtijevaju ci da matrica X zadovoljava pone sto druga cije (oslabljene) uvjete nego sto je (2.3.3). Najpoznatiji generalizirani inverz je tzv. MoorePenroseov inverz koji je odreden sa sljede ca cetiri uvjeta (tzv. Penroseovi uvjeti [8]): 1. AXA = A, 2. XAX = X , 3. (AX ) = AX , 4. (XA) = XA. Pokazat cemo da prethodna cetiri uvjeta na jedinstven na cin odreduju matricu X koju onda ozna cavamo s A . U slijede cem teoremu odredujemo eksplicitnu formulu 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 cemu je A=U singularna dekompozicija matrice A. Dokaz. Za matricu X koja zadovoljava, npr. i-ti i j -ti Penroseov uvjet koristit cemo (i,j ) (1) oznaku A i zvati ga (i, j )-inverz. Tako ce, na primjer, (1)-inverz A zadovoljavati samo prvi Penroseov uvjet, a (1, 2, 4)-inverz, A(1,2,4) , zadovoljavat ce prvi, drugi i (1,2,3,4) cetvrti uvjet. Dakle A ce zadovoljavati sva cetiri uvjeta, pa ce ta matrica biti generalizirani inverz matrice A. Budu ci da je A(1) Cnm matricu A(1) mo zemo zapisati u obliku 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

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

1 Dakle je T = + , tj. svaki (1)-inverz ima oblik

A(1) = V

1 + L

K M

U ,

gdje su K , L i M proizvoljne. Izra cunajmo sada (1, 2)-inverz. On je i (1)-inverz pa 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 ,

pa zaklju cujemo da je M = L+ K , dok su K i L jo s uvijek proizvoljne matrice. Na isti na cin odredit cemo i (1, 2, 3)-inverz. Polazimo od A(1,2,3) = V
1 + L

K L+ K

U .

Tre ci Penroseov uvjet se zapisuje u obliku (AA(1,2,3) ) = U I K + 0 U = A(1,2,3) A = U 0 I + K 0 0 U ,

odakle zaklju cujemo da svaki (1, 2, 3)-inverz ima oblik A(1,2,3) = V Pritom je L proizvoljna podmatrica. Na isti na cin, iz cetvrtog Penroseovog uvjeta zaklju cujemo da svaki (1, 2, 4)inverz ima oblik 1 K + A(1,2,4) = V U , 0 0 gdje je K proizvoljna podmatrica. Kona cno, iz op ceg oblika (1, 2, 3)-inverza i (1, 2, 4)-inverza zaklju cujemo da je A = A(1,2,3,4) = V
1 + 0 1 + L

0 U . 0

0 U . 0

(2.3.4)

Dakle, ako A postoji nu zno ima oblik kao u relaciji (2.3.4). Iz dokaza medutim (1,2,3,4) slijedi da A zadovoljava sve sve Penroseove uvjete pa je A = A(1,2,3,4) . Kako u dokazu ni sta nije proizvoljno, slijedi da je A relacijom (2.3.4) na jedinstven na cin

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 mno zenje matrica U i V s desna s blokdijagonalnim unitarnim matricama. Medutim, kao sto A ne ovisi o toj slobodi u matricama U i V , tako ne ovisi ni A . Sada cemo navesti neka osnovna svojstva generaliziranog inverza koja se lako dokazuju ili direktno iz Penroseovih uvjeta ili iz relacije (2.3.4). Teorem 2.3.10 Za proizvoljnu matricu A vrijedi: 1. (A ) = A, ) = (A ), 2. (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 . 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 8. Ako matrica A Cmn ima rang m, tada je A = A (AA )1 i AA = Im . A = (G ) F .

2.4.
2.4.1.

Vektorske i matri cne norme


Vektorske norme

Vektorske i matri cne norme osnovno su sredstvo koje koristimo kod ocjene gre saka vezanih uz numeri cke metode, posebno u numeri ckoj linearnoj algebri. Denicija 2.4.1 (Vektorska norma) Vektorska norma je svaka funkcija Cn R koja zadovoljava sljede ca svojstva: 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 ve ci je od duljine tre ce stranice). 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 = (x1 , . . . , xn )T , ili, skra ceno x = [xi ]. U numeri ckoj linearnoj algebri naj ce s ce se koriste sljede ce tri norme: 1. 1-norma ili 1 norma, u engleskom govornom podru cju poznatija kao Manhattan ili taxi-cab norma
n

=
i=1

|xi |,

2. 2-norma ili 2 norma ili euklidska norma


n

x 3. -norma ili norma

= (x x)1/2 =
i=1

|xi |2 ,

= 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 cine posebno korisnom. Ona je invarijantna 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

Sve ove tri norme specijalni su slu caj H olderove p-norme (p norme) denirane s: n x
p

=
i=1

|xi |p

1/p

p 1.

Za H olderove p-normu vrijedi i poznata H olderova nejednakost |x y | x


p

y q,

1 1 + = 1. p q

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 67

Posebni slu caj H olderove nejednakosti za p = q = 2 je Cauchy-Schwarzova nejednakost |x y | x 2 y 2. Koliko se dvije p-norme medusobno razlikuju, pokazuje sljede ca nejednakost, koja se mo ze dosti ci. Neka su i dvije p norme takve da je . Tada vrijedi x

n(1/1/ ) x .

Ova se nejednakost cesto pro siruje i zapisuje tablicom x CM -ovi 1 2 \ 1 1 n n 2 1 1 n 1 1 1

CM x , gdje su

Primijetite da sve p-norme ovise samo o apsolutnoj vrijednosti komponenti xi , pa je p-norma rastu ca funkcija apsolutnih vrijednosti komponenti xi . Ozna cimo s |x| vektor apsolutnih vrijednosti komponenti vektora x, tj. |x| = [|xi |]. Za vektore apsolutnih vrijednosti (u Rn ) mo zemo uvesti parcijalni uredaj relacijom |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 sadr zi zahtjev da je vektorski prostor iz kojeg su vektori kona cno dimenzionalan. Na primjer, norme denirane na vektorskom prostoru neprekidnih funkcija na [a, b] (u oznaci C [a, b]) deniraju se sli cno normama na C n : 1. L1 norma f
1 b

=
a

|f (t)| dt,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 68

2. L2 norma f 3. L norma 4. Lp norma


b 2

=
a

|f (t)|2 dt

1/2

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


1/p

=
a

p 1.

2.4.2.

Matri cne norme

Zamijenimo li u deniciji 2.4.1 vektor x Cn matricom A Cmn , dobivamo matri cnu normu. Denicija 2.4.3 (Matri cna norma) Matri cna norma je svaka funkcija Cmn R koja zadovoljava sljede ca svojstva: 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 matri cnu normu cemo re ci da je konzistentna ako vrijedi 4. AB A B :

kad god je matri cni produkt AB deniran. Oprez, norme od A, B i AB ne moraju biti denirane na istom prostoru (dimenzije)! Neki autori smatraju da je i ovo posljednje svojstvo sastavni dio denicije matri cne norme (tada to svojstvo obi cno zovu submultiplikativnost). Ako su ispunjena samo prva tri svojstva, onda to zovu generalizirana matri cna norma. Matri cne norme mogu nastati na dva razli cita na cina. Ako matricu A promatramo kao vektor s m n elemenata, onda, direktna primjena vektorskih normi (uz oznaku aij matri cnog elementa u i-tom retku i j -tom stupcu) daje sljede ce denicije: 1. 1 norma | A |1 := A
S m n

=
i=1 j =1

|aij |,

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 69

2. 2 norma (euklidska, Frobeniusova, HilbertSchmidtova, Schurova)


m n

| A |2 := A 3. norma

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

|aij |2 ,

| A | := A

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

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

AB

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

|aik bkj |
n s

i=1 j =1 k =1 =1 S n k =1

|aik bj |
S, n

AB
2 F

i=1 k =1 m s

|aik |
n

=1 j =1 2

|bj | = A
m s

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

aik bkj |aik |2

i=1 j =1 s

|aik |2
2 F

=1

|bj |2

=
i=1 k =1

=1 j =1

|bj |2 = A

2 F.

Primijetite da se u dokazu da je Frobeniusova norma konzistentna koristila CauchySchwarzova nejednakost. Poka zimo na jednom primjeru da norma ne zadovoljava svojstvo konzistentnosti. Za matrice A=B= pa je AB Ipak i od
M M

1 1 1 1 = 2,

je AB =

2 2 , 2 2 = 1.

se mo ze napraviti konzistentna norma. Deniramo li | A |=m A


M,

vrijedi
n n

| AB | = m max

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

aik bkj m max A


M

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

|aik bkj |
M ) (n

m max

= (m A

M)

= | A | | B |.

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 70

S druge strane, matri cne norme mo zemo dobiti kao operatorske norme iz odgovaraju cih vektorskih kori stenjem denicije A = max
x=0

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

(2.4.1)

Kad se uvrste odgovaraju ce vektorske norme u (2.4.1), dobivamo 1. matri cna 1-norma, maksimalna stup cana norma
m

= max

j =1,...,n

i=1

|aij |,

2. matri cna 2-norma, spektralna norma A


2

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

3. matri cna -norma, maksimalna ret cana norma


n

= max

i=1,...,m

j =1

|aij |,

pri cemu je oznaka za spektralni radijus kvadratne matrice (maksimalna po apsolutnoj 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 sto je to singularna vrijednost, dobit cete u poglavlju koje ce se baviti dekompozicijom singularnih vrijednosti. Matri cna 2-norma se te sko ra cuna, (trebalo bi na ci po apsolutnoj vrijednosti najve cu svojstvenu vrijednost), pa je uobi cajeno da se ona procjenjuje kori stenjem ostalih normi. Tablica ovisnosti koja vrijedi medu matri cnim 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) F m 1 n 1 1 mn M m mn n mn 1 mn

CM A , S 1 1 1 1 1 1

m m 1 m 1 m

2. KRATKI UVOD U LINEARNU ALGEBRU

LINEARNA ALGEBRA 71

Posebno su va zne unitarno invrijantne norme, tj. one za koje vrijedi UAV = A , za sve unitarne matrice U i V . Dvije najpoznatije unitarno invarijantne norme su Frobeniusova i spektralna norma. Poka zimo to. Kvadrat Frobeniusove norme matrice A mo zemo promatrati 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 2 = a j U Uaj = aj aj = aj 2 .

Objedinimo li te relacije, dobivamo


n n

UA Kona cno, vrijedi 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 matri cna 2-norma unitarno ekvivalentna, potrebno je pokazati da transformacije sli cnosti cuvaju svojstvene vrijednosti matrice. Ako je S nesingularna (kvadratna) matrica, a B kvadratna, onda je matrica S 1 BS sli cna matrici B . Ako je spektralna faktorizacija matrice S 1 BS S 1 BSX = X , pri cemu je X matrica svojstvenih vektora, a svojstvenih vrijednosti. Mno zenjem 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 matri cnu 2-normu, onda vrijedi UAV
2

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

Budu ci da je V unitarna, A A i V A AV su unitarno ekvivalentne, pa je UAV


2

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

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 72

3. Gre ske u numeri ckom ra cunanju


Da bismo mogli ocjenjivati izra cunava li neki algoritam, implementiran na ra cunalu (kao program), tra zeno rje senje problema s dovoljnom to cno s cu, potrebno je upoznati pojmove apsolutne i relativne gre ske, gre ske unaprijed i unazad, stabilnosti algoritma, uvjetovanosti problema itd. Svi ti pojmovi nastajali su vremenski postupno, a uglavnom su vezani uz ra cunanje na ra cunalima.

3.1.

Tipovi gre saka

U prakti cnom ra cunanju postoje dvije osnovne vrste gre saka: gre ske zbog polaznih aproksimacija i gre ske zaokru zivanja.

3.1.1.

Gre ske zbog polaznih aproksimacija

Taj tip gre saka cesto se javlja kod rje savanja prakti cnih problema. Te gre ske mo zemo podijeliti u sljede ce klase: gre ske modela, gre ske metode i gre ske u polaznim podacima. Gre ske modela Naj ce s ce nastaju zamjenom slo zenih sustava (u skali veli cina, od svemirskih sustava do atomskih struktura, u skali slo zenosti, od reakcija u atomskim centralama do npr. kemijskih i biolo skih fenomena u stanicama raka, u svakida snjem zivotu: od sustava koji odreduje prognozu vremena do sustava koji daje kretanje cijena na burzama) jednostavnijima koje mo zemo opisati matemati ckim zapisom. Cesto su stvarni fenomeni takvi da ih ni pribli zno ne mo zemo opisati dana snjim matemati ckim teorijama, ili su previ se slo zeni za dana snji stupanj matematike. Stoga se vr se razna pojednostavljenja, s jedne strane da bismo uop ce opisali fenomene matemati ckim zapisom, a s druge strane da bismo i njih pojednostavili kako bismo

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 73

ih uop ce mogli rije siti. Npr. kod gibanja u zemaljskim uvjetima cesto se zanemaruje utjecaj otpora zraka. Cesto se dobri modeli zamjenjuju slabijim da bi se mogle primijeniti numeri cke metode (na primjer, sustavi nelinearnih parcijalnih diferencijalnih jednad zbi se lineariziraju). Pogre ske u modelu mogu nastati i kod upotrebe modela u grani cnim slu cajevima. Na primjer, kod matemati ckog njihala se sin x aproksimira s x, sto vrijedi samo za male kuteve, a upotrebljava se, recimo i za ve ce kutove npr. za 15 . Pogre ske modela su neuklonjive, i na korisnicima je da procijene dobivaju li primjenom danog modela o cekivane rezultate. Primjer 3.1.1 Medu prvim primjenama trenutno jednog od najbr zih ra cunala na svijetu bilo je odredivanje trodimenzionalne strukture i elektronskog stanja ugljik-36 fulerena (engl. carbon-36 fullerene) jednog od najmanjih, ali i najstabilnijih clanova iz redova jedne vrste spojeva (engl. buckminsterfullerene). Primjena tog spoja mo ze biti vi sestruka, od supravodljivosti na visokim temperaturama do preciznog doziranja lijekova u stanice raka. Prija snja istra zivanja kvantnih kemi cara dala su dvije mogu ce strukture tog spoja. Eksperimentalna mjerenja pokazivala su da bi jedna struktura trebala biti stabilnija, a teoreti cari su tvrdili da bi to trebala biti druga struktura. Naravno, te dvije strukture imaju razli cita kemijska svojstva. Prija snja ra cunanja, zbog pojednostavljivanja i interpolacije, kao odgovor davala su prednost teoretskoj strukturi. Denitivan odgovor, koji je proveden ra cananjem bez pojednostavljivanja pokazao je da je eksperimentalna struktura stabilnija. Gre ske metode Te gre ske nastaju kad se beskona cni procesi zamjenjuju kona cnim. Takoder, nastaju kod ra cunanja veli cina koje su denirane limesom, poput derivacija i integrala ili su denirane limesima konvergentnih nizova ili produkata. Velik broj numeri ckih metoda za aproksimaciju funkcija i rje savanje jednad zbi upravo je tog oblika. Gre ske koja nastaju zamjenom beskona cnog ne cim kona cnim, obi cno dijelimo u dvije kategorije. Gre ske diskretizacije nastaju zamjenom kontinuuma kona cnim diskretnim skupom to caka, ili kad se beskona cno mala veli cina (naj ce s ce u oznaci h ili ) zamijeni nekim konkretnim malim brojem. Takoder, te gre ske nastaju kad se derivacija zamijeni podijeljenom razlikom, diferencijalna jednad zba diferencijskom jednad zbom, integral nekom kvadraturnom formulom. Jo s jednostavniji, tipi cni primjer gre ske diskretizacije je aproksimacija funkcije f na intervalu (segmentu) [a, b], vrijednostima te funkcije na kona cnom skupu to caka (tzv. mre zi) {x1 , . . . , xn } [a, b].

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 74

Gre ske odbacivanja nastaju zamjenom beskona cnog niza, reda, produkta kona cnim nizom, sumom, produktom (tada ka zemo da odbacujemo ostatak niza, reda, produkta). Grubo re ceno, diskretizacija je vezana za kontinuum (npr. skupovi R i C), a odbacivanje za diskretnu beskona cnost (N, Z). Objekti koji nedostaju pri tim zamjenama tvore tip gre saka koji se zovu gre ske metode. Gre ske u polaznim podacima Te gre ske imaju izvor u mjerenjima zi ckih veli cina, te smje stanju podataka u ra cunalo, a takoder i u prethodnim ra cunanjima. Naime, cesto su izlazne vrijednosti iz nekog prethodnog ra cunanja, ulazni podaci za novo ra cunanje. Gre ske mjerenja ili smje stanja u ra cunalo daleko je jednostavnije ocijeniti od gre saka koje nastaju uslijed brojnih zaokru zivanja u toku ra cunanja.

3.1.2.

Gre ske zaokru zivanja

Te gre ske nastaju u ra cunalima, jer ona koriste kona cnu aritmetiku ili preciznije binarnu aritmetiku s pomi cnom to ckom, kod koje je unaprijed rezerviran odreden broj binarnih mjesta za eksponent i za mantisu. Stoga se svaka ra cunska operacija u kojoj sudjeluju dva broja izra cunava s nekom malom gre skom, koja mo ze biti i nula. Ako je nula, tada je rezultat te operacije na danim operandima egzaktano izra cunat. Ako nije nula, tada je izra cunat s nekom malom gre skom koju mo zemo precizno ocijeniti i koju zovemo gre ska zaokru zivanja. Ako je algoritam slo zeniji, bit ce mnogo ra cunskih operacija. Kod gotovo svake ra cunske operacije postojat ce gre ska zaokru zivanja, pa se postavlja pitanje s kojom to cno s cu cemo dobiti tra zeno rje senje? Da bi se dobio odgovor na to pitanje potrebno je istra ziti i sam matemati cki problem i algoritam koji je odabran za ra cunanje rje senja. Pri analizi gre saka koje nastaju u toku ra cunanja koristimo se teorijom gre saka zaokru zivanja, a osjetljivo s cu rje senja matemati ckog problema koji rje savamo na pomake u polaznim podacima bavi se teorija perturbacije za cesto je mogu ce procijeniti to cnost dani problem. Njihovom uskladenom uporabom algoritma, koji je kori sten na ra cunalu. Ako mo zemo re ci da je to cnost izra cunatih podataka pribli zno jednaka to cnosti polaznih podataka (koje dolaze npr. od mjernih uredaja ili od smje stanja u ra cunalo), tada govorimo o stabilnom algoritmu. Kroz polustoljetni razvoj, teorija gre saka zaokru zivanja i teorija stabilnosti numeri ckih algoritama u sle su u zrelu fazu, pa je potrebno upoznati osnovne pojmove i rezultate u toj grani numeri cke matematike. Cilj ovog poglavlja je svladati tehniku ocjenjivanja gre saka zaokru zivanja, ukazati na opasnosti i ne zeljene efekte koji mogu nastupiti kod ra cunanja na ra cunalima i kalkulatorima, te pokazati kako se dokazuje

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 75

stabilnost algoritama. Gre ske zaokru zivanja su neizbje zne pri svakom zahtjevnijem ra cunanju, jer ra cunala koriste kona cnu aritmetiku. Ve c samo uskladi stavanje podataka u ra cunalo dovodi do gre saka jer se svaki broj mora reprezentirati kona cnim brojem binarnih znamenaka. Zna se da npr. 1/10 ima u binarnom sustavu prikaz s beskona cno nula i jedinica: (1/10)2 = 0.000110011001100110 . . . (vidi primjer 3.2.1). Dakle, ne samo iracionalni, ve c i mnogi racionalni brojevi, cak i oni umjerene veli cine i s malo dekadskih znamenaka, ne moraju biti to cno reprezentirani u ra cunalu. Kad se jednom polazni brojevi smjeste u ra cunalo, to uglavnom nisu njihove to cne, nego pribli zne binarne reprezentacije. Ako je x realni broj, njegova reprezentacija u ra cunalu se obi cno ozna cava sa f (x). Pretpostavimo sada da su x i y brojevi koji su smje steni u ra cunalo (to matemati cki zapisujemo x = f (x) i y = f (y )). Tada ce svaka aritmeti cka operacija u ra cunalu izmedu ta dva broja rezultirati brojem koji je naj ce s ce tek aproksimacija to cnog rezultata. Tipi cni slu caj je mno zenje koje u pravilu daje mantisu rezultata cija je duljina pribli zno zbroj duljina mantisa faktora. Ako smje staj u ra cunalu dopu sta p binarnih mjesta za mantisu, tada ce svaki od faktora imati mantisu duljine p, a umno zak ce imati mantisu duljine 2p ili 2p 1. Kako se rezultat opet sprema u memoriju, zadr zat ce se samo prvih p znamenaka, a ostale ce se odbaciti (s korektnim zaokru zivanjem na posljednjem zna cajnom mjestu). Kod zbrajanja i oduzimanja brojeva koji nisu istog reda veli cine, u procesu izvr savanja operacija, mantisa jednog od njih (onog s manjom apsolutnom vrijednosti) bit ce pomaknuta za jedno ili vi se mjesta, pa ce rezultat opet imati mantisu duljine koja je ve ca od p. Kona cno, kod dijeljenja kao najkompliciranije operacije, algoritam za dijeljenje u ra cunalu takoder daje rezultat koji nije to can. Detaljno prou cavanje (vidjeti npr. [9, 4]) pokazuje da je kod svake operacije u ra cunalu prisutna gre ska. Ako je gre ska nula rezultat je to can. Taj zaklju cak se zapisuje u obliku f (x y ) = (x y )(1 + ), || u {+, , , /} (3.1.1)

pri cemu su +, , , / operacije u ra cunalu, a u je tzv. preciznost ra cunanja ili strojni u. Pritom gre ska ovisi o operandima x, y i operaciji , dok u ovisi o ra cunalu (ili to cnije o IEEE standardu ako ga ra cunalo podr zava). Iz zadnje relacije vidi se da je u uniformna gornja ograda za sve gre ske na danom ra cunalu. Kasnije cemo obrazlo ziti da za ra cunala koja koriste binarnu aritmetiku sa p binarnih znamenaka u mantisi, vrijedi u = 2p+1 ili u = 2p ovisno o na cinu zaokru zivanja koje ra cunalo koristi. sto Glavna zada ca osobe koja se bavi numeri ckim ra cunanjima, je odredivanje bolje aproksimacije rje senja u sto kra cem vremenu. Da bi se to ostvarilo, treba imati pod kontrolom sve tipove gre saka koje smo nabrojali, a to zna ci da treba poznavati sve fenomene koji mogu nai ci prije ili u tijeku ra cunanja, a vezani su uz neto cnosti polaznih podataka, medurezultata te kona cnog rezultata.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 76

3.1.3.

Apsolutna i relativna gre ska, zna cajne znamenke

Neka je x neka aproksimacija realnog broja x. Najkorisnije mjere za to cnost broja x kao aproksimacije od x su apsolutna gre ska Gaps ( x) = |x x | i relativna gre ska Grel ( x) = |x x | , |x|

koja nije denirana za x = 0. Drugi na cin zapisivanja relativne gre ske je Grel ( x) = ||, x = x(1 + ). (3.1.2)

Ako je x poznat ili se zna da je reda veli cine jedan, apsolutna gre ska je dobra mjera za udaljenost aproksimacije od to cne vrijednosti. U znanosti medutim, x cesto varira izmedu vrlo malih (npr. veli cine vezane uz atomsku ili molekularnu strukturu) i velikih (npr. veli cine vezane uz svemir i njegove objekte) vrijednosti. Tada je relativna gre ska cesto primjerenija. Ona ima dodatno lijepo svojstvo da je nezavisna od skaliranja, |x x | |x x | = , |x| |x| R.

Neki autori izostavljaju u deniciji apsolutne gre ske znak apsolutne vrijednosti. Time se daje (ili zahtijeva) dodatna informacija o predznaku gre ske, no tada je pridjev apsolutna suvi san. Medutim, cesto to cna vrijednost x nije poznata, ve c se tek zna neka ograda za |x x | .

Relativna gre ska povezana je s brojem to cnih zna cajnih znamenaka. Zna cajne znamenke u broju su prve netrivijalne (tj. razli cite od nule) znamenke i one koje slijede iza njih u zapisu. Npr. u broju 6.9990 imamo pet zna cajnih znamenaka, dok ih u broju 0.0832 imamo tri. Sto zna ci broj to cnih ili korektnih zna cajnih 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 sla ze s odgovaraju cim x na tri zna cajne znamenke, a ipak je relativna gre ska za ta dva slu caja razli cita cak za faktor 44. Evo jedne mogu ce denicije: x kao aproksimacija od x ima p korektnih zna cajnih znamenaka ako se x i x zaokru zuju na isti broj od p zna cajnih znamenaka. Zaokru ziti broj na p zna cajnih znamenaka zna ci zamijeniti ga s najbli zim brojem koji ima p zna cajnih znamenaka. Medutim, prema toj deniciji, brojevi x = 0.9949

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 77

ix = 0.9951, se ne sla zu u dvije zna cajne znamenke, ali se sla zu u jednoj i u tri zna cajne znamenke. Dakle, denicija nije dobra. Poku sajmo zato s ovakvom denicijom: x kao aproksimacija od x ima p korektnih zna cajnih znamenaka ako je |x x | manja od jedne polovine jedinice u p-toj zna cajnoj znamenci od x. Ova denicija implicira da se 0.123 i 0.127 sla zu u dvije zna cajne znamenke, iako ce mnogi tvrditi da se sla zu u tri. Vidimo da je relativna gre ska preciznija mjera od slaganja u p zna cajnih znamenaka, pa bi je trebalo preferirati. Kad su u pitanju vektori, apsolutna gre ska vektora x kao aproksimacije vektora x, denira se pomo cu prikladne norme (npr. euklidske) Gaps ( x) = x x 2. Relativna gre ska je Grel ( x) = a relacija xx 1 < 10p x 2 implicira da komponente x i za koje vrijedi |xi | zna cajnih znamenaka. xx , x

x imaju pribli zno p to cnih

Ako zelimo sve komponente vektora x staviti u isti plan, tada koristimo relativne gre ske po komponentama, a veli cinu max
i

|xi x i | |xi |

zovemo (maksimalna) relativna gre ska po komponentama. Preciznost i to cnost Ove dvije rije ci se cesto zamijenjuju, pa kad ih ve c imamo, mo zemo na ciniti sljede cu distinkciju. To cnost se odnosi na apsolutnu ili relativnu gre sku kojom se aproksimira neka veli cina. Preciznost je to cnost kojom se izvr savaju osnovne ra cunske operacije. Kod ra cunanja u aritmetici pomi cne to cke, preciznost mjerimo pomo cu preciznosti ra cunanja u. Kako je preciznost odredena brojem bitova u reprezentaciji mantise, ista rije c ce se koristiti i za broj bitova u mantisi. Napomenimo da to cnost op cenito nije limitirana precizno s cu. Naime, pomo cu aritmetike dane preciznosti mo ze se simulirati ra cunanje u (proizvoljno) ve coj preciznosti. Medutim takve simulacije su skupe (u ra cunskom vremenu) pa nisu od prakti cne va znosti. Stoga pretpostavljamo da se dana kona cna aritmetika ne koristi za simulaciju aritmetike ve ce preciznosti.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 78

3.2.

Aritmetika s pomi cnom to ckom

Na kalkulatorima se cesto mo ze izabrati tzv. znanstvena notacija brojeva, koja npr. broj 27.77 prikazuje kao 2.777 101 pri cemu je predznak broja (ili mantise), . je decimalna to cka, 2.777 je mantisa, koja se jo s zove signikantni ili razlomljeni dio broja, 10 je baza, a 1 je eksponent. Zapis x = 27.77 = 2.777101 je kra ca oznaka za prikaz broja 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. Op cenito, svaki se realni broj mo ze na jednozna can na cin zapisati u obliku e m 10 gdje je 1 m < 10.

Ra cunala za spremanje realnih brojeva koriste sli cnu reprezentaciju broja koja se zove pomi cna to cka, ali se ne uzima baza 10 ve c baza 2 (s iznimkom baze 16 kod ra cunala IBM 370 i baze 10 kod ve cine kalkulatora). Tako je npr. 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 pomi c1 nom to ckom (1.11011)2 2 . Lako se izra cuna da y ima decimalnu reprezentaciju (3.625)10 , sto se uobi cajeno ka ze da je y broj 3.625.

3.2.1.

Pretvaranje decimalne u binarnu reprezentaciju

Ne samo iracionalni, ve c i mnogi racionalni brojevi imaju beskona cno mnogo znamenaka u decimalnom brojnom sustavu. Npr. 1/3 ima prikaz 0.3, dok 5/17 ima pri prikaz 0.294117647058823 5, cemu se znamenke koje su ozna cene izmedu to caka periodi cki ponavljaju. Uo cimo da se i svaki kona cni decimalni prikaz broja mo ze napisati s beskona cno znamenaka, npr. x = 32.75 = 32.749. Sli cna je situacija i s brojevima zapisanim u binarnom sustavu. Medutim, zanimljivo je da mnogi racionalni brojevi imaju u dekadskom sustavu kona cni prikaz, dok u binarnom sustavu imaju beskona cni prikaz. Vrijedi li i obrat? 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 kona cni binarni prikaz. Tada x mo zemo prikazati kao sumu njegovog 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 znamenke ak , . . . , a0 , koriste ci nama razumljivu decimalnu aritmetiku? Iz relacije (3.2.1) vidimo da cjelobrojno dijeljenje broja xc s 2 daje novi cijeli broj i ostatak a0 . Ako postupak ponovimo na broju xc , dobivamo sljede cu znamenku, a1 . Ponavljanjem tog postupka (u na sem slu caju k puta) dobivamo sve binarne znameke broja xc u redosljedu od a0 do ak . S obzirom da je xc cijeli broj, on ce i u binarnom sustavu imati kona cni prikaz. Pritom ce binarni prikaz imati [log2 (xc )] + 1 binarnih znamenaka (bitova). Oznaka [z ] za realni broj z ozna cava najve ci cijeli broj koji nije ve ci od z . Ako xc ima p decimalnih znamenaka (decimala), tada vrijedi 10p1 xc < 10p . Primjenom funkcije log2 i kori stenjem 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 vi se nego decimalna reprezentacija. Neka je sada xr kao u relaciji (3.2.2). Tada mno zenjem broja xr s dva i uzimanjem cijelog dijela rezultata dobivamo b1 . Ponavljaju ci isti postupak s ostatkom 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, odmah zaklju cujemo da postupak vrijedi i u slu caju kad xr nema kona cni binarni prikaz, ali tada imamo beskona cno koraka. U sljede cem algoritmu za pretvaranje decimalne reprezentacije brojeva u binarnu, pretpostavljamo kori stenje decimalne aritmetike. xc = ak 2k1 + ak1 2k2 + + a1 20

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 80

Algoritam 3.2.1 Neka je zadan racionalan broj x = xc + xr pri cemu je xc cijeli dio broja x, a xr razlomljeni dio takav da je 0 xr < 1. Algoritam ra cuna binarnu reprezentaciju decimalnih brojeva xc i xr . Algoritam koristi operaciju div za cjelobrojno dijeljenje, mod za dobivanje ostatka kod cjelobrojnog dijeljenja i int za zaokru zivanje realnog broja do cijelog broja u smjeru nule. Dakle, int je funkcija koja odgovara matemati ckoj funkciji x [x] koju smo ve c spomenuli. 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 ozna cava najve ci dopu steni broj binarnih znamenaka u binarnoj mantisi (sjetimo se da 1/10 ima beskona cno nula i jedinica). Primjer 3.2.1 Kori stenjem algoritma 3.2.1 pretvorit cemo decimalni broj 111.1 u binarni. Kad radimo ru cno zgodno je nacrtati tablicu, tako da kod pretvaranja broja 111 za svaki korak pi semo s desne strane rezultat cijelobrojnog dijeljenja, a ispod djeljenika ostatak pri dijeljenju. To cka na kraju ozna cava kraj. 111 1 sto daje 111 = (110111)2. Sli cno, kod pretvaranja decimalnog dijela broja, 0.1 u binarni broj, s desne strane pi semo rezultat mno zenja s dva, a s ispod crte rezultat zaokru zivanja do cijelog broja u smjeru nule. Ako je rezultat dijeljenja ve ci ili jednak jedan, u sljede cem mno zenju, prije samog mno zenja automatski oduzimamo jedinicu. Binarna to cka prethodi ra cunanju i pi semo je ispod polaznog decimalnog broja 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 1) 2, 0.1 = (0.0001100110011001100 . . .)2 = (0.0001 odnosno 1) 2. (111.1)10 = (1101111.0001100110011001100 . . .)2 = (1101111.0001

3.2.2.

Reprezentacija brojeva u ra cunalu

U programskim jezicima postoji nekoliko vrsta aritmetika koje koriste posve odredene tipove podataka. Cjelobrojna aritmetika koristi cjelobrojni tip podataka koji cine kona cni interval u skupu cijelih brojeva, realna aritmetika koristi takozvani realni tip podataka kojem pripada tek kona cni podskup racionalnih brojeva. Ne sto ve ci skup racionalnih brojeva cini tip brojeva u dvostrukoj preciznosti kojima su mantise vi se od dvostruko dulje od mantisa realnog tipa. I pripadna aritmetika je druk cija od realne aritmetike (jer je vi se nego dvostruko preciznija). Kona cno, kona cni podskup skupa kompleksnih brojeva reprezentiran je tipom kompleksnih brojeva (koji nije prisutan kod svih programskih jezika) nad kojim je denirana pripadna kompleksna aritmetika. Svaki od tih glavnih tipova obi cno ima svoje podtipove (ili ekstenzije) koje obi cno odreduje broj bajtova. Jedan bajt (engl. byte) cini 8 bitova, koji su dostatni za reprezentaciju jednog znaka. Dana snja ra cunala imaju celije od 32 bita pa su tome prilagodeni grada procesora, implementacije aritmetika kao i cijeli operacioni sustav. Danas su dostupna i ra cunala bazirana na 64 bitnim celijama. Reprezentacija cijelih brojeva u ra cunalu Pozitivni cijeli brojevi reprezentiraju se u 32 bitnoj celiji kao desno pozicionirani binarni brojevi. Npr. broj 111 bit ce smje sten ovako 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 na cin mo zemo smjestiti sve brojeve od 0 (koja je reprezentirana s 32 nule) 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 odgovaraju ca za njih. Medutim, ako unutar 32 bita moramo spremati i pozitivne i negativne brojeve, prvo moramo vidjeti kako spremiti negativne cijele brojeve. Najo citija mogu canost 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 s 31 bit,

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 82

raspon tako reprezentiranih brojeva je od od 231 + 1 do 231 1. Medutim, gotovo sva dana snja ra cunala koriste pametniji na cin reprezentacije negativnih brojeva koji 1 se zove drugi komplement i pi se 2. komplement. U sustavu koji koristi drugi komplement, nenegativni cijeli broj x, 0 x 2 1 smje sta se kao binarna reprezentacija tog broja, dok se x, 1 x 231 1 smje sta kao binarna reprezentacija broja 232 x. 1. komplement broja dobiva se jednostavnim komplementiranjem znamenki, pa je za 111 1. komplement
31

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, cime je reprezentiran broj 111. Primjer 3.2.2 Zbrojimo u binarnoj aritmetici brojeve 111 i 111 kori stenjem 32bitne 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 vode ca jedinica u rezultatu tzv. prekobrojni bit, jer je na 33. mjestu, nema 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 sto je reprezentacija broja nula. Zadatak 3.2.1 Koliko se razli citih cijelih brojeva mo ze reprezentirati ako se koristi sustav (a ) predznak i modul, (b ) 2. komplement? Koristite potencije od 2. Za koji od ovih sustava je reprezentacija nule jedinstvena? Promotrite slu cajeve kad za reprezentaciju cijelih brojeva imate na raspolaganju (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 s se koristi naziv dvojni komplement. Ime dolazi odatle sto se je izmedu 1960. i 1980. na nekim superra cunalima koristio tzv. 1. komplement kod kojeg se negativni broj x smjestio kao binarna reprezentacija od 232 x 1.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 83

Zadatak 3.2.2 Poka zite da je u sustavu reprezentacije cijelih brojeva pomo cu 2. 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 pomo cu 2. komplementa s 32 bita, od ve c uskladi stenog broja x dobili x treba poduzeti dva koraka. Prvi je promijeniti svaku 0 u 1 i svaki 1 u 0. Koji je drugi korak? Sva ra cunala imaju ugradene (hardverske) instrukcije za zbrajanje cijelih brojeva. Ako se zbroje dva pozitivna cijela broja ili dva negativna cijela broja, (stvarni) rezultat mo ze biti broj koji je ve ci od maksimalnog prikazivog broja. Zanimljivo je da tada ra cunalo ne ce javiti nikakvu gre sku, jer je matemati cki gledano, aritmetika cijelih brojeva u ra cunalu modularna aritmetika u prstenu ostataka modulo 232 , samo je sistem ostataka simetri can oko 0, tj. 231 , . . . , 1, 0, 1, . . . , 231 1. Brojeve izvan tog raspona uop ce ne mo zemo spremiti u ra cunalo. Primjer 3.2.3 U cjelobrojnoj aritmetici izra cunajmo n! za sve n 34.

Napi simo jednostavni program koji ra cuna n!, s tim da su sve varijable u programu prvo cijeli brojevi, a zatim, kontrole radi stavimo varijablu f act da pripada relnim brojevima (u barem dvostrukoj to cnosti). f act := 1; for i := 1 to 34 do; begin f act := f act i; (ispis i! = f act;) end; Rezultati programa bit ce (lijevo rezultati u cjelobrojnoj aritmetici, u zagradi 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 po cinju kod 13!, kad u cjelobrojnoj aritmetici dobijemo da je 13! < 12!. Nadalje, primijetite da n! u cjelobrojnoj aritmetici mo ze biti negativan broj ili 0. Zadatak 3.2.4 Poka zite, da bez obzira kolika je duljina celija u koju spremamo 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 cemo zapisati kao 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 ce jedinica (na poziciji potencije 232 ) i ona ce se odbaciti, pa ce ostati to can rezultat x y . Ako je x < y , rezultat 232 (y x) stane unutar 32-bitne reprezentacije i reprezentira broj (y x). Ovo razmatranje pokazuje jedno va zno svojstvo sustava reprezentacije s 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, poka zite detalje kako nastaju cjelobrojne sume: 50 + (200), 200 + (50) i 200 200. Pored zbrajanja, postoje jo s dvije standardne (hardverske) operacije za cjelobrojne operande: cjelobrojno mno zenje i cjelobrojno dijeljenje. Reprezentacija realnih brojeva u ra cunalu U ra cunalu se realni brojevi reprezentiraju pomo cu binarne reprezentacije u znanstvenoj notaciji, x = m 2e , Stoga je Na primjer, broj 111.5 = (1101111.1)2 se mo ze napisati kao (1.1011111)2 26 . Vidimo da je u znanstvenom prikazu binarna to cka pomaknuta za 6 mjesta ulijevo, a pritom se eksponent pove cao za 6. Kako se zahtijeva da je b0 = 1, mo zemo pisati m = (1.b1 b2 b3 . . . bp1 )2 . U tom prikazu, binarne znamenke desno od binarne to cke cine razlomljeni dio mantise, 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 ra cunalo, podijelimo memorijsku rije c (sadr zaj jedne celije) u tri dijela koja zovemo polja. Kod 32-bitnih ra cunala, rije c uobi cajeno ima 32 bita pa se obi cno dijeli na sljede ci na cin (tip single): 1 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 mo ze reprezentirati ekponent e koji je izmedu granica 128 i 127 (npr. pomo cu reprezentacije s drugim komplementom). Preostala 23 bita za smje staj mantise koriste se za smje staj razlomljenog dijela mantise, jer je uvijek b0 = 1, pa ga ne treba spremati. Zato se b0 obi cno naziva skriveni bit. Realni broj x nazivamo egzaktno reprezentabilnim u ra cunalu ili brojem s pomi cnom to ckom ako se na opisani na cin mo ze bez gre ske smjestiti u ra cunalo. Ako broj nije egzaktno reprezentabilan u ra cunalu, on se mora prije smje stanja u ra cunalu zaokru ziti. m = (b0 .b1 b2 b3 . . . bp1 )2 pri cemu je b0 = 1. (3.2.4) 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 1) 2, (111.1)10 = (1101111.0001 pa x = 111.1 nije egzaktno reprezentabilan u ra cunalu. Normalizirajmo taj broj 1) 2 26 . x = (1.1011110001 O cito je da se u ra cunalo mo ze pohraniti samo kona can broj znamenki iza binarne to cke. U slu caju mantise duljine 23 bita, broj se zaokru zuje na 23 znamenke iza decimalne to cke i sprema u prostor za mantisu. U polje eksponenta sprema se broj 6 u binarnom zapisu (110)2, sto cemo kra ce ozna cavati 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, ce imati egzaktnu reprezentaciju 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 najve ci i najmanji pozitivni brojevi koji se mogu reprezentirati kao realni brojevi u ra cunalu (brojevi zapisani s pomi cnom to ckom, gdje je 1. bit za predznak, 8 bitova za eksponent i 23 bita za mantisu)? Ne zaboravite na skriveni bit i na ograni cen interval [128, 127] za eksponent. Koji je najmanji cijeli 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 cemu je b1 = 1. Pretpostavimo da se u polje za mantisu smje staju binarne znamenke b2 b3 . . . b24 i da je, kao i prije, raspon za eksponent 128 e 127. Koji je najve ci i najmanji pozitivni broj u tom formatu? Koji je najmanji pozitivni broj koji nije egzaktno reprezentabilan? Primijetite da u realnom formatu postoje brojevi koji su preveliki da bi se mogli smjestiti u odgovaraju ci format. Na primjer, mno zenjem dva velika broja rezultat mo ze biti takav da se ne mo ze spremiti. U tom slu caju dolazi do tzv. ra preljeva ili prekora cenja (engl. overow). Sto cunalo u takvom slu caju na cini ovisi o prevodiocu (engl. compiler) za odgovaraju ci programski jezik. Naj ce s ce se prekida ra cunanje uz adekvatnu poruku.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 87

Strojni epsilon, ulp i preciznost Preciznost p mo zemo u danom brojevnom sustavu denirati brojem bitova u mantisi pri cemu se ra cuna i skriveni bit. U opisanom brojevnom sustavu je p = 24. U brojevnom sustavu s precizno s cu p, normalizirani broj s pomi cnom to ckom ima oblik x = (1.b1 b2 . . . bp2 bp1 ) 2e . (3.2.5) Najmanji takav x koji je ve ci od 1 je (1.00 . . . 01)2 = 1 + 2(p1) . Razmak izmedu ta dva broja se zove strojni epsilon (engl. machine epsilon) i zapisuje M = 2(p1) . Op cenitije, za x kao u relaciji (3.2.5) denira se ulp(x) = (0.00 . . . 01)2 2e = 2(p1) 2e = M 2e . (3.2.6)

Ulp je kratica engleskih rije ci unit in the last place. Ako je x > 0 (x < 0), ulp(x) je razmak izmedu x i sljede ceg ve ceg (manjeg) reprezentabilnog broja. Zadatak 3.2.8 Neka je p = 24, tako da je M = 223 . Odredite ulp(x) redom za x = 0.5, 0.125, 3, 8, 10, 100, 125. Nadalje, postavlja se pitanje kako spremiti nulu u ra cunalo? To se posti ze kori stenjem specijalnog niza bitova u polju za eksponent. Tomu cemo posvetiti vi se pa znje kod opisa IEEE standarda. BSP ili brojevni sustav za prikazivanje Da bismo shvatili koje to cke na brojevnom pravcu odgovaraju reprezentabilnim brojevima, denirat cemo pojednostavljeni brojevni sustav za prikazivanje ili kra ce BSP, koji se sastoji od brojeva oblika (b0 .b1 b2 )2 2e , b0 , b1 , b2 {0, 1}, e {1, 0, 1}.

Preciznost je p = 3, najve ci prikazivi broj je (1.11)2 21 = (3.5)10 , a najmanji 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 cemo da su to brojevi 1, 1.25, (1.00)2 21 = (0.5)10 .

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 mno zenjem s dva onih brojeva za koje je e = 0, pa su to brojevi 2, 2.5, 3, 3.5 i za njih je ulp(x) = 2M . Sli cno, brojevi iz BSP-a za koje je e = 1 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 Uo cimo da je razmak izmedu nule i 0.5 mnogo ve ci od razmaka brojeva izmedu 0.5 i 1. Uskoro cemo vidjeti da se razmak izmedu nule i 0.5 mo ze ispuniti tzv. subnormalnim brojevima.

3.3.

IEEE Aritmetika

U kasnim 70-tim i ranim 80-tim godinama, do slo je do izuzetne suradnje eksperata iz industrije i sa sveu cili sta. Predvodeni W. Kahanom sa kalifornijskog sveu cili sta u Berkeleyu, stru cnjaci iz ra cunarstva i dizajneri mikro cipova uspjeli su se dogovoriti oko standarda smje stanja brojeva u ra cunalo i standarda aritmetike. To je bilo vrijeme naglog razvoja osobnih ra cunala s Intelom i Motorolom kao glavnim proizvoda cima procesora. IEEE standard za binarnu aritmetiku je publiciran 1985. i spominje se kao IEEE 754. Razvoj kalkulatora i malih, tzv. handheld ra cunala koja 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 pomi cnom to ckom na svim ra cunalima koja prihva caju standard, (ii) korektno zaokru zene ra cunske operacije u svim na cinima rada i (iii) konzistentno tretiranje izvanrednih situacija kao sto je npr. dijeljenje s nulom. U tom standardu je vode ca jedinica normalizirarog broja skrivena, pa je zato potrebna specijalna reprezentacija broja nula. Uvodi se i specijalna reprezentacija brojeva , brojeva 0 (to je za razliku od matemati cki gledano razli citih + i , isti

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 89

broj), te specijalnih izmi sljenih brojeva NaN (Not a number, koji je oznaka za, 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 celiju koja ima tri polja: polje 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 cemo ih na sljede ci na cin: a1 a2 . . . a8 b1 b2 . . . b23 . Ovaj format opisan je tablicom 3.3.1. Pritom znak u nizu bitova zna ci 0 ako je 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 numeri cka vrijednost (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 ako su svi bi = 0, ina ce NaN (1.b1 b2 . . . b23 )2 2127

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 c kao 127 + e. Broj 127 + e zvat cemo karakteristika. Npr. broj 1 reprezentira se kao 0 01111111 00000000000000000000000 ,

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 90

dok se broj

1) 2 2 4 , 0.1 = (1.1001 0 01111011 10011001100110011001100 ,

ako se vi sak znamenki odbacuje, reprezentira kao

a ako se vi sak znamenki korektno zaokru zuje (tako to rade sva moderna ra cunala), jer su prve dvije odba cene znamenke 11, 0 01111011 10011001100110011001101 . Najmanji i najve ci eksponent od 2 u tom formatu su emin = 126 i emax = 127. Najmanji normalizirani broj Nmin = (1.000 . . . 0)2 2126 = 2126 1.1755 1038 reprezentira se s 0 00000001 00000000000000000000000 , dok se najve ci broj Nmax = (1.111 . . . 1)2 2127 = (2 223 ) 2127 2128 3.4028 1038 reprezentira s 0 11111110 11111111111111111111111 . 1 < Nmax , Nmin pa inverz najmanjeg normaliziranog broja ne dovodi do prekora cenja gornje granice (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. Kona cno, pogledajmo jo s jednom prvi redak tablice 3.3.1. U njemu je eksponencijalni dio uvijek 0000000, dok razlomljeni dio mo ze imati bilo koji izbor jedinica i nula. Ako su svi bi nula, imat cemo +0, ili 0 ovisno o prvom bitu. Ako nisu svi bi nula, dobit cemo tzv. subnormalne ili denormalizirane brojeve koji ekvidistantno 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 . Odmah vidimo da je

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 91

i on je za 2149 manji od Nmin . Sve reprezentabilne brojeve u brojevnom sustavu za prikazivanje, uklju cuju ci i subnormalne brojeve sada mo zemo prikazati slikom 3.3.1.

To je najmanji broj koji se mo ze reprezentirati pomo cu jednostrukog formata. Najve ci subnormalni broj je (0.111 . . . 11)2 2126

Slika 3.3.1 BSP brojevni sustav sa subnormalnim brojevima Subnormalni brojevi su manje to cni od normaliziranih. Npr. 0) 2 2139 (1/10) 2136 = (0.110 ima reprezentaciju 0 00000000 00000000000001100110011 . Zadatak 3.3.1 U jednostrukom IEEE formatu odredite reprezentacije sljede cih brojeva s pomi cnom to ckom: 3, 2000, 11.5, 11.5 2100 i 0.1 2142 . Zadatak 3.3.2 Napi site algoritam koji odreduje koji je od dva broja x, y zapisanih u jednostrukom IEEE formatu ve ci od drugoga. Treba usporedivati bitove slijeva nadesno i donijeti zaklju cak na prvom mjestu na kojem se razlikuju. Cinjenica da se to mo ze u ciniti tako jednostavno utjecala je na to da se eksponent smjesti u polje pomo cu karakteristike.

3.3.2.

Dvostruki format

Kod zahtjevnijih ra cunanja, jednostruki format nije adekvatan, kako zbog neizbje znih gre saka zaokru zivanja, tako zbog premalog raspona brojeva u tom formatu. 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 ve ca: 11 bitova za eksponent i 52 bita za razlomljeni 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 numeri cka vrijednost (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, ina ce NaN Tablica 3.3.2 IEEE dvostruki format i Nmax = (2 252 ) 21023 1.797693 10308 . IEEE standard zahtijeva da ra cunalo omogu cava jednostruki format. Dvostruki format se zahtijeva tek kao mogu cnost, iako ga gotovo sva ra cunala koja podr zavaju standard imaju. Podr ska na zahtjeve standarda mo ze biti programska (softverska) ili elektroni cka (hardverska), iako zbog brzine rada ra cunala, ci ra cunala naj ce s ce daju hardversku podr sku standardu. proizvoda U sljede coj tablici prikazani su karakteristi cni podaci za jednostruki i dvostruki format. format jednostruki dvostruki emin 1022 126 emax 127 1023 2
126

Nmin 21022 2.2 10308 1.2 10


38

Nmax 21024 1.8 10308 2


128

3.4 1038

Tablica 3.3.3 Raspon brojeva s pomi cnom to ckom u IEEE formatima Standard takoder sna zno preporu ca i podr sku za tzv. pro sireni (engl. extended) 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 pro sirenim formatom u hardware-u, kori stenjem 80-bitnih regisatra, od cega se 15 bitova koristi za eksponent, a 64 bita za mantisu, pri cemu, za razliku od jednostrukog i dvostrukog formata, vode ci bit (jedinica) nije skriven. Drugi strojevi (npr. Sun i Sparc) implementiraju pro sireni format sa 128 bitova, ali softverski, pa je aritmetika ovdje sporija. Kod Intelovog pro sirenog formata, prvi desni susjed od 1 bio bi 1 + 264 , ali kako se on ne mo ze reprezentirati jer nema skrivenog bita, prvi desni susjed 63 je 1 + 2 . S obzirom da je log10 (223 ) 6.9236, log10 (224 ) 7.2247, preciznost p = 24 odgovara pribli zno 7 zna cajnih decimalnih znamenki. Sli cno, preciznost p = 53 odgovara pribli zno 16, a p = 64 odgovara pribli zno 19 zna cajnih decimalnih znamenki. format jednostruki dvostruki pro sireni (Intel) preciznost (p) 24 53 64 strojni epsilon (M ) 252 2.2 1016 223 1.2 107

263 1.1 1019

Tablica 3.3.4 Preciznost kod IEEE formata Moderna ra cunala adresiraju memoriju po byte-ovima, pa 32-bitnu rije c adresiraju sa 4 byte-a, nazovimo ih B1 , . . . , B4 , pri cemu je B4 = B1 +3. U jednostrukom formatu, najva zniji je byte u kojem su smje steni , a1 , . . . , a7 ( je predznak). Ako 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 zna ci da kod transfera podataka s jednog ra cunala na drugo traba biti oprezan.

3.3.3.

BSPT i zaokru zivanje u BSPT

Brojevni sustav s pomi cnom to ckom kra ce cemo ozna cavati s BSPT, a skup brojeva s pomi cnom to ckom s BPT. Te oznake se odnose na razmatrani sustav/skup brojeva za koji cemo smatrati, ako druga cije ne nazna cimo, da zadovoljavaju IEEE standard. Za realni broj x re ci cemo da le zi u intervalu normaliziranih brojeva sustava s pomi cnom to ckom, ako vrijedi 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 pomi cnom to ckom. Tada je barem jedna od sljede cih tvrdnji istinita: x le zi izvan intervala normaliziranih brojeva (npr. x = 2129 u jednostrukom formatu), binarna reprezentacija od x zahtijeva vi se od p bitova za egzaktnu reprezentaciju (npr. x = 0.1). U oba slu caja porebno je X zamijeniti brojem iz sustava brojeva s pomi cnom to ckom. Neka je x x x+ , pri cemu su brojevi s pomi cnom to ckom x i x+ najbli zi broju x (vidi sliku ).
x x+ 3 2 1 0 1 2 3

Slika 3.3.2 Zaokru zivanje u BSPT brojevnom sustavu 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 ishodi ste). IEEE standard denira korektno zaokru zenu vrijednost od x, koja se ozna cava s round(x) na sljede ci na cin. Ako je x broj s pomi cnom to ckom, tada je round(x) = x. Ako nije, onda vrijednost od round(x) ovisi o na cinu (modu) zaokru zivanja koji je aktivan. Postoje cetiri na cina: zaokru zivanje prema dolje (jo s se ka ze prema ): round(x) = x ,

zaokru zivanje prema nuli:

zaokru zivanje prema gore (jo s se ka ze prema ): round(x) = x+ , x x+ ako je x > 0, ako je x < 0,

round(x) =

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 95

zaokru zivanje prema najbli zem: round(x) = x x+ ako je |x x | < |x x+ |, ako je |x x | > |x x+ |.

Ako je |x x | = |x x+ | uzima se x ili x+ , ve c prema tome je li u x ili u x+ najmanje zna cajni bit bp1 nula. Ako je x > Nmax uzima se round(x) = +, a ako je x < Nmin uzima se round(x) = . U praksi se gotovo uvijek koristi zadnji na cin zaokru zivanja, prema najbli zem susjedu u sustavu brojeva s pomi cnom to ckom i njega cemo jo s malo pojasniti. Neka je x opet kao u (3.3.1). Ako je prvi bit koji se ne mo ze reprezentirati, bp jednak 0, tada je round(x) = x . Ako je bp = 1 i jo s barem jedan od sljede cih bitova nije 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 zna cajan bit 0. Uo cimo da se x i x+ razlikuju samo u zadnjem bitu, pa ce jedan sigurno biti izabran. IEEE standard zahtijeva da se kao prvi (uobi cajen, default) na cin uzima zaokru zivanje prema najbli zem, pa ce se nadalje, ako se ne spomene druga cije, round(x) koristiti u tom smislu. Ako je x > Nmax i na cin zaokru zivanja je prema najbli zem, tada je round(x) = iako je x naravno bli ze Nmax nego . Zadatak 3.3.3 Napi site u jednostrukom IEEE formatu reprezentacije zaokru zenih vrijednosti (u na cinu do najbli zeg) brojeva: 1/10, 2 224 i 2131 . 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 ,

je x ? Uzmi kao primjere pri cemu je bar jedan od brojeva bp bp+1 . . . jednak 1. Sto 130 150 brojeve 2 i2 . (Pretpostavka je jednostruki format i emin = 126). Ako broj x, nije reprezentabilan jasno je da je x x x+ , bez obzira na na cin zaokru zivanja. Stoga je | round(x) x| < 2(p1) 2e , pa ka zemo da je apsolutna gre ska kod zaokru zivanja manja od jednog ulp-a. Pritom se misli na ulp(x ) ako je x > 0 i ulp(x+ ) ako je x < 0. Kad je prisutno zaokru zivanje do najbli zeg, onda vrijedi ja ca ocjena | round(x) x| 2p 2e , pa ka zemo da je apsolutna gre ska zaokru zivanja pola ulp-a. x = (1.b1 . . . bp1 bp bp+1 . . .)2 2e

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 96

Zadatak 3.3.6 Odredite apsolutnu gre sku prikaza 1/10 u jednostrukom IEEE formatu. Koristite svaki od cetiri na cina zaokru zivanja. Zadatak 3.3.7 Vrijede li gornje ocjene za apsolutnu gre sku zaokru zivanja ako je |x| < Nmin ? Objasnite. Zadatak 3.3.8 Kolika je apsolutna gre ska za svaki od na cina zaokru zivanja ako je |x| < Nmin . Pazite na deniciju round(x). S obzirom da apsolutna gre ska kod zaokru zivanja raste kad |x| raste, promotrimo relativnu gre sku od round(x) kao aproksimaciju od x. Iz relacije (3.3.1) znamo da je |x| 2e . Stoga za sve na cine zaokru zivanja vrijedi | round(x) x| 2(p1) 2e < = 2(p1) u. e |x| 2 Kod zaokru zivanja do najbli zeg vrijedi malo bolja ocjena | round(x) x| 2 p 2 e = 2p u. e |x| 2 Kori stenjem oznaka iz relacija (3.1.2) i (3.1.1) mo zemo za realne brojeve koji le ze u normaliziranom intervalu napisati round(x) = x(1 + ), | | u, (3.3.2)

gdje je u = 2p ako se koristi zaokru zivanje do najbli zeg i u = 2p+1 ako se koriste ostali na cini zaokru zivanja. Pritom je p preciznost ra cunala. Uo cimo da = (x) ovisi o x i na cinu zaokru zivanja. S obzirom da ra cunala u normalnom radu koriste zaokru zivanje do najbli zeg, ako ne ce biti druga cije nazna ceno, u = 2p , pri cemu je p = 24 za jednostruki, p = 53 za dvostruki i p = 64 za pro sireni format. Zadatak 3.3.9 Nadite x u normaliziranom intervalu BPT za koji je = 2p ako se koristi uobi cajeni na cin zaokru zivanja do najbli zeg. Zadatak 3.3.10 Vrijedi li ocjena (3.3.2) za |x| < Nmin? S obzirom da je log2 ( (x)) > p (odnosno p 1 ako nije uobi cajeni na cin zaokru zivanja), vidimo da mjera log2 ( (x)) daje broj binarnih znamenaka do kojeg se x i round(x) podudaraju. Sli cno ce log10 ( (x)) > log10 (u) mjeriti broj decimalnih mjesta u kojima se x i round(x) podudaraju. S obzirom da je 2p+1 2e | round(x) x| < = 2p+1 u, e | round(x)| 2

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 97

odnosno,

ako je prisutno zaokru zivanje do najbli zeg, mo zemo pored relacije (3.3.2) koristiti i relaciju x round(x) = , | | u. (3.3.3) 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 gre saka zaokru zivanja koju cemo upoznati kasnije.

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

3.3.4.

Korektno zaokru zene osnovne ra cunske operacije

Jedna od najzna cajnijih zna cajki IEEE standarda je da zahtijeva vrlo po zeljnu preciznost osnovnih ra cunskih operacija: rezultat mora biti takav kao da je izra cunat to cno i tek onda zaokru zen. Ozna cimo sa , , i operacije +, , , i / kako su stvarno implementirane u ra cunalu. Ako s i ozna cimo odgovaraju ce operacije u algebri i u ra cunalu, 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 cetiri osnovne ra cunske operacije, standard zahtijeva da (3.3.4) vrijedi i za unarnu operaciju drugog korijena. Kona cna aritmetika koja zadovoljava (3.3.4) katkad se naziva aritmetika s korektim zaokru zivanjem. 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 va zno svojstvo: ako su x i y brojevi u skupu BPT i vrijedi x y = 0, tada je x = y . Kori stenjem izvoda i same relacije (3.3.3), odmah vidimo da vrijedi i ocjena x y = f (x y ) = xy , 1+ | | u, (3.3.5)

pri cemu zadnji nije op cenito jednak iz relacije (3.3.4). Napomena 3.3.1 U numeri ckoj matematici uvrije zila se notacija f (x + y ), f (x y ), f (x y ), f (x/y ) za operacije x y , x y , x y i x y . Takoder, f (izraz) ozna cava izra cunatu vrijednost izraza pomo cu operacija , , i . Sli cno, f (f (x)) ozna cava izra cunatu vrijednost funkcije f u to cki x.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 98

Zadatak 3.3.11 Koji je najve ci broj x iz skupa BPT za koji je 1 x = 1. Pretpostavke su: IEEE jednostruki format i zaokru zivanje do najbli zeg. Uz iste uvjete, 5 10 15 koliko je 1 round(10 ), 1 round(10 ), 1 round(10 )? Iz same denicije operacija , i slijedi x y = y x, x y = (y x) i x y = y x. Medutim, ve c za malo slo zenije izraze, ono sto vrijedi u aritmetici, ne vrijedi u kona cnoj algebri s IEEE standardom. 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 mo ze egzaktno reprezemtirati u IEEE jednostrukom formatu, pa ce uz zaokru zivanje prema najbli zem biti x y = 1. Stoga ce vrijediti (x y ) z = 1 z = 0 . (x + y ) z = 225 reprezentabilan u sustavu brojeva BPT, pa vrijedi 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 ra cunske operacije. Sli cno, asocijativnost zbrajanja i distributivnost mno zenja prema zbrajanju, ne ce u IEEE aritmetici uvijek vrijediti. Zadatak 3.3.12 Neka su x = 1, y = 225 , z = 1.1 225 . Uz pretpostavku IEEE jednostrukog formata i zaokru zivanja do najbli zeg, izra cunajte a (x y ) z, b x (y z ). Poka zite da a i b nisu jednaki! Rje senje x y = 1, (x y ) z = 1 z = 1 , y z = 2.1 225 , x (y z ) = 1 2.1 225 = 1 + 223 . round((x + y ) z ) = 225 .

S druge strane, egzaktni je rezultat

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 99

3.3.5.

Implementacija operacija na ra cunalu


x y = x + (y ).

Po cnimo od zbrajanja i oduzimanja, koje ne cemo posebno razlikovati, jer je Ako operandi nemaju isti eksponent, onda se (po modulu) manji operand napi se u obliku nenormaliziranog broja s eksponentom ve ceg. To zna ci da mu se mantisa pomakne udesno za onoliko binarnih mjesta kolika je na po cetku bila razlika u eksponentima operanada. Zatim se rezultat svede na normalizirani oblik, pri cemu se prvo mantisa pomakne ulijevo ili udesno ako je potrebno, zaokru zi i, ako je nakon zaokru zivanja potrebno, opet se pomakne. Svako pomicanje mantise rezultira istovremenim pomakom eksponenta. Sigurnosni i zalijepljeni bitovi Da bi se implementirala IEEE aritmetika potrebni su i tzv. sigurnosni (dodatni, za stitni, rezervni) bitovi. To zna ci da aritmetika u ra cunalu koristi registre koji sadr ze rije c s vi se bitova nego sto zahtijeva standard za reprezentaciju brojeva. Promotrimo ra cunanje razlike x y u jednostrukom formatu, pri cemu je Izjedna cavanjem eksponenata, dobije se x = (1.0)2 20 i y = (1.111 . . . 1)2 21 .

normalizacija:

(1.00000000000000000000000| )2 20 (0.11111111111111111111111|1)2 20 = (0.00000000000000000000000|1)2 20 = (1.00000000000000000000000|0)2 224 .

Ovdje smo koristili jedan dodatni bit (iza okomite crte | koja prikazuje granicu). Ovo je primjer kra cenja, jer se skoro svi bitovi rezultata pokrate. Sljede ci primjer pokazuje da katkad nije dovoljan jedan bit. Promotrimo ra cunanje x y u jednostrukom formatu uz zaokru zivanje do najbli zeg, pri cemu su brojevi iz BSPT. x = (1.0)2 20 i y = (1.000 . . . 01)2 224

Kori stenjem ( cak!) 25 dodatnih bitova, dobivamo )2 2 0 (1.00000000000000000000000| (0.00000000000000000000000|0100000000000000000000001)2 20 = (0.11111111111111111111111|1011111111111111111111111)2 21 normalizacija:

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 100

= (1.11111111111111111111111|0111111111111111111111110)2 224 zaokru zivanje: = (1.11111111111111111111111| )2 224 . Da smo koristili samo dva dodatna bita, rezultat bi (nakon dodatne renormalizacije) bio (1.00000000000000000000000)2 20 . Isti (pogre san) rezultat dobivamo kori stenjem 3, 4, . . . , 24 dodatna bita. Na sre cu, umjesto 25 (ili u sli cnim namje stenim slu cajevima po volji veliki broj) dodatnih bitova, dovoljno je koristiti tek tri dodatna bita, to cnije, dva za stitna i jedan zalijepljeni bit. Zovemo ga zalijepljeni jer kad ga aktiviramo, on se vi se ne mijenja. On se aktivira onda kad je potrebno pomaknuti mantisu za vi se od dva bita i ta jedinica se stavlja iza drugog za stitnog bita. Dakle, u zadnjem primjeru, prije oduzimanja treba dodati zalijepljenu jedinicu iza drugog za stitnog bita: (1.00000000000000000000000| )2 20 (0.00000000000000000000000|011)2 20 = (0.11111111111111111111111|101)2 21 = (1.11111111111111111111111|01 )2 224 = (1.11111111111111111111111| Mno zenje i dijeljenje Mno zenje i dijeljenje u BSPT ne zahtijeva poravnavanje eksponenata. Ako je x = mx 2ex tada je pa pri implementaciji mno zenja u BSPT postoje tri koraka: mno zenje mantisa, z = x y = (mx my ) 2ex +ey , i y = my 2ey , )2 224 .

normalizacija: zaokru zivanje:

zbrajanje eksponenata,

ako je potrebno normalizacija produkta mantisa i pravilno zaokru zivanje rezultata. Kod dijeljenja isto cemo tako ra cunati kvocijent mantisa,

razliku eksponenata,

i normalizaciju sa zaokru zivanjem.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 101

Dana snji dizajneri cipova uspjeli su, uz dovoljnu rezervu memorije, toliko ubrzati mno zenje da je gotovo jednako brzo kao i zbrajanje, odnosno oduzimanje. Jedino treba voditi ra cuna da je dijeljenje jo s uvijek nekoliko puta sporije od mno zenja. Dijeljenje s nulom razmotrit cemo kasnije. Uo cimo da nejednakosti 1 mx < 2 i 1 my < 2 povla ce 1 mz = mx my < 4. Dakle, lijevo od binarne to cke u binarnoj reprezentaciji od mz mogu biti samo kombinacije bitova 11, 10 ili 01 tj 1. Stoga se mogu ci izbor pomaka mantise svodi najvi se za jedno mjesto ulijevo uz istodobno pove canje eksponenta za 1. Kod dijeljenja ce vrijediti 1 mx < < 2, 2 my pa ce pomicanje kod normalizacije biti najvi se jedan bit ulijevo ili udesno. Zadatak 3.3.13 Odgovorite na sljede ca pitanja u slu caju: brojevnog sustava za prikazivanje (p = 3, M = 0.25, 1 e 1) i

BSPT u jednostrukom IEEE formatu.

(iii) Moraju li postojati dva razli cita broja s pomi cnom to ckom izmedu 1 i 2 za koje su izra cunate recipro cne vrijednosti 1 x1 i 1 x2 jednake (zaokru zene u istom 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 na cin zaokru zivanja? (iv) Postoje li brojevi s pomi cnom to ckom za koje (1 x) x nije jednako 1? Vrijedi li to za svaki na cin zaokru zivanja? Postoje li brojevi s pomi cnom to ckom za koje 1 (1 x) nije jednako x?

(ii) Koliko brojeva y s pomi cnom to ckom zadovoljava 1/2 < y 1? Koliko od njih aproksimativno zadovoljava 1/2 < x 2/3, a koliko 2/3 < x 1?

(i) Koliko brojeva x s pomi cnom to ckom zadovoljava 1 x < 2? Koliko od njih zadovoljava 1 x < 3/2, a koliko 3/2 x < 2?

3.3.6.

Drugi korijen, ostatak pri dijeljenju i konverzija formata

Pored zahtjeva da su osnovne aritmeti cke operacije korektno zaokru zene, IEEE standard zahtijeva da su korektno zaokru zene i operacija drugog korijena i ostatak pri dijeljenju. Drugi korijen je unarna operacija (jer je funkcija) denirana za

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 102

nenegativni operand pri cemu u implementaciji (koja je naj ce s ce hardverska) vrijedi 0 = 0. Ostatak pri dijeljenju realnih brojeva x i y je realni broj x y n, gdje je n cijeli broj najbli zi kvocijentu x/y . Brojevi ulaze u ra cunalo na nekoliko na cina. Kod ra cunanja na ra cunalu naj ce s ce se koriste vi si programski jezici koji procesiraju naredbe kao prevoditelji ili interpreteri. Ako npr. broj 0.4 sudjeluje u ra cunu, njega mo zemo u programu uvesti kao konstantu ili pridru ziti tu vrijednost nekoj varijabli. Pridru zivanje varijabli mo ze biti u naredbi oblika x = 0.4, a x mo ze dobiti vrijednost i u citavanjem broja 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, to cka i mo zda slova kao e, E, d, D koje ozna cavaju po cetak eksponencijalnog dijela broja) u binarni format i pretvore ga kao korektno zaokru zeni broj u varijablu memorije ili registra. Isto tako, mogu ce je 0.4 unijeti kao razlomak 4/10, dakle unijeti (cijele ili realne) brojeve 4 i 10, a zatim unutar programa koristiti operaciju dijeljenja da bismo izra cunali 0.4. Ako se 4 i 10 unose kao cijeli (realni) brojevi, prevodilac ili interpreter ce generirati strojne instrukcije koje ce nizove znakova 4 i 10 pretvoriti u njihove cjelobrojne (ili realne IEEE) binarne reprezentacije. U svakom slu caju, prije nego sto ce se pozvati operacija dijeljenja, operandi moraju biti u binarnoj reprezentaciji pomi cne to cke jer ce rezultat biti u tom formatu. Kod izlaza podataka iz ra cunala, npr. kod ispisa ili spremanja rezultata u tekst datoteku, prevodilac ili interpreter (kra ce ka zemo ra cunalo) generira instrukcije za konverziju binarnih formata u decimalne brojeve, koje smo navikli prepoznavati. IEEE standard zahtijeva podr sku za korektno prevodenje izmedu raznih formata. Tu spadaju sljede ce pretvorbe ili konverzije. Konverzije izmedu formata brojeva s pomi cnom to ckom. Konverzija iz kra ceg u dulji format (npr. iz jednostrukog u dvostruki) mora biti egzaktna. Konverzije iz du zeg u kra ci zahtijeva zaokru zivanje. Konverzija iz BSPT u cjelobrojni format zahtijeva zaokru zivanje do najbli zeg cijelog broja uz trenutno aktivni na cin zaokru zivanja. Ako je broj u BSPT cijeli broj, konverzija mora dati isti cijeli broj, osim ako se taj cijeli broj ne mo ze reprezentirati u danom cjelobrojnom formatu. Obrnuta konverzija, iz cjelobrojnog formata u format s pomi cnom to ckom mo zda ce zahtijevati zaokru zivanje. Takoder, zahtijeva se zaokru zivanje broja iz skupa BSPT u cijeli broj reprezentiran istim formatom. Konverzija iz decimalnog u binarni sustav i obrnuto. Pritom se koristi na cin zaokru zivanja koji je aktivan. Nakon 1985. kad je uveden IEEE 754 standard, pronadeni su novi i/ili ekasniji algoritmi za korektnu konverziju izmedu svih tipova formata i oni cesto imaju bolja svojstva nego sto to standard zahtijeva.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 103

3.3.7.

Izuzeci

U matematici su realni ili cijeli brojevi uvijek kona cni. Oznake ili tek slu ze za nazna cavanje da vrijednost neke veli cine (npr. op ci clan niza brojeva) te zi prema sve ve cim ili manjim brojevima. U ovom dijelu teksta, misle ci na brojeve s kojima ra cunalo radi, spominjemo i kao brojeve. Isto tako +0 i 0, jer imaju razli citu reprezentaciju, spominjemo kao dva razli cita broja, iako imaju istu vrijednost 0. Najjednostavniji primjer jedne izuzetne situacije je dijeljenje s nulom. Prije IEEE standarda neki su proizvoda ci ra cunala rezultat dijeljenja pozitivnog broja s nulom denirali najve cim prikazivim brojem. Obrazlagali su to tvrdnjom da kada korisnik primijeti vrlo velike brojeve, znat ce da je ne sto krenulo lo se. Tada bi rezultat operacije kao sto je 1/0 1/0 bio 0, pa to korisnik vjerojatno ne bi primijetio, pogotovo ako se takva stvar dogodila usred slo zenijeg ra cunanja. Stoga su nakon 1960. proizvoda ci ra cunala usvojili pravilo da se izvr savanje programa prekida ako se broj dijeli s nulom, uz poruku oblika: fatalna gre ska dijeljenje s nulom. Na taj na cin je bilo ote zano programiranje, jer se smatralo da je odgovornost programera da ne dode do djeljenja s nulom. Kako je to razrije sio IEEE standard? Matemati cki je jasno da vrijedi: a 0 = 0 za svaki kona cni broj a, a/0 = za svaki pozitivni broj a, a = za svaki pozitivni a. S druge strane izrazi poput 0 , 0/0, / nemaju smisla, pa je najbolje da ra cunalo to tretira kao nepravilnu operaciju. Stoga IEEE standard zahtijeva da se svakoj takvoj operaciji pridru zi vrijednost NaN (Not a Number - nije broj). Ako se NaN pojavi u nekom izrazu, tada cijeli izraz dobiva vrijednost NaN. Na kraju ce, mo zda sve, varijable s izlaznim vrijednostima imati sadr zaj NaN. Na taj na cin do ci ce poruka programeru da je ne sto krenulo lo se. Zbrajanja u kojima se pojavljuje uglavnom imaju smisla: a + = , a = za svaki kona cni broj a, pa je i + = , + () = . To se lako poka ze pomo cu konvergiraju cih (prema a) i divergiraju cih (prema ) nizova. Medutim, nema smisla pa je = NaN. Sli cno, /0 = , 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 sto i 0 pa koristimo 0 i 0; + je isto sto i pa koristimo i . Pogledajmo kako ih iskoristiti. Ako je a pozitivni kona cni broj, stavljamo a/0 = , a/0 = , a/0 = , a/0 = kao i a/ = 0, a/ = 0, a/ = 0, a/ = 0. Predikat 0 = 0 je istinit, dok je predikat = la zan. Na taj na cin smo do sli do toga da implikacija 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 ce biti NaN. Takoder, zgodno je polazne vrijednosti varijabli koje nemaju polazne vrijednosti denirati s NaN, jer ce nam to otkriti gre sku njihova preranog kori stenja (prije no sto dobiju neku vrijednost) u programu. NaN nije u uredaju ni s jednim brojem, a rezultat operacije a NaN je NaN za svaki reprezentabilni broj i svaku aritmeti cku operaciju . Zadatak 3.3.14 Ima li jo s slu cajeva kad implikacija a=b = 1 1 = a b

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

3.3.8.

Prekora cenje, potkora cenje i postupno potkora cenje

O prekora cenju (engl. overow) govori se kad je egzaktni rezultat neke operacije kona can broj, ali po modulu je ve ci od najve ceg prikazivog broja u BSPT kojeg ozna cavamo s Nmax . Uo cimo da Nmax ovisi o binarnom formatu. Prema IEEE standardu, takav broj treba zaokru ziti prema na cinu zaokru zivanja koji se koristi. Ako je broj koji prekora cuje pozitivan, tada ce zaokru zivanje prema gore zaokru ziti broj na , dok ce zaokru zivanje prema dolje i prema nuli broj zaokru ziti na Nmax . Zaokru zivanje prema najbli zem, odudara od ove matemati cke logike jer ce broj zaokru ziti na . Razlog je prakti cne naravi, radi se o osnovnom modu zaokru zivanja koji se gotovo uvijek koristi, a kad bi se broj zaokru zio na (matemati cki najbli zi BPT) Nmax , ra cunanje bi moglo dati rezultat koji zavarava izgleda kao da je sve u redu, a nije. Potkora cenje (engl. underow) nastaje kada je egzaktni rezultat neke operacije broj razli cit od nule koji je po modulu manji od najmanjeg pozitivnog broja prikazivog u BSPT, kojeg ozna cavamo s Nmin . Prije IEEE standarda tipi cni odgovor ra cunala je bio stavljanje brojarezultata na nulu. U IEEE aritmetici, standardni odgovor je pravilno zaokru zeni broj (prema aktivnom na cinu u BSPT) koji je mo zda subnormalni broj. Taj dogadaj se naziva postupno potkora cenje (engl. gradual underow) i on je i danas najkontraverzniji dio IEEE standarda. Naime, postupno potkora cenje daje rezultate koji imaju manju (to manju sto je potkora cenje ve ce) relativnu to cnost. Medutim, i to je u ve cini slu cajeva bolje nego denirati rezultat nulom i tako potpuno izgubiti relativnu to cnost. Osim toga postupno potkora cenje osigurava da za brojeve u BSPT vrijedi implikacija xy = 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 x. daje (1.10011001100110011001101)2 2127 (1.10010000000000000000000)2 2127 = (0.00001001100110011001101)2 2127 = (1.10011001100110011010000)2 2132 .

Uo cimo da je 25 = (11001)2. Ra cunaje broja z u jednostrukom IEEE formatu

normalizacija:

Pritom je zadnja jedinica u binarnom prikazu broja x nastala zbog zaokru zivanja. Vidimo da je rezultat subnormalni broj, koji je, sto se relativne preciznosti ti ce, izgubio zadnja cetiri bita sto odgovara pribli zno jednoj decimalnoj znamenki. Bez postupnog potkora cenja, rezultat bi bio nula. Zadatak 3.3.15 Promotrimo operaciju (y x) x, pri cemu rezultat prve operacije potkora cuje. Koji je rezultat, ako postoji, ili ako ne postoji postupno potkora cenje? Koristite prethodni primjer. Zadatak 3.3.16 Neka su x i y brojevi u BSP T za koje vrijedi x 1 2. 2 y Poka zite da je tada x y broj u BSPT, tj. da je tada oduzimanje egzaktno. IEEE standard ukupno denira pet vrsta izuzetnih situacija koje su ukratko opisane u sljede coj tablici. pogre sna operacija dijeljenje s nulom prekora cenje potkora cenje neegzaktni rezultat rezutat je NaN rezultat je ili Nmax rezultat je

rezultat je 0 ili Nmin ili subnormalni broj rezultat je korektno zaokru zeni broj

Tablica 3.3.5 IEEE odgovor na izuzetne situacije IEEE standard specicira da se svaki izuzetni dogadaj mora signalizirati pomo cu tzv. statusnog signala (engl. status ag) kojeg bi programer mogao dohvatiti tj. iskoristiti za pravljenje programa (vidi sljede ci primjer) ili pustiti ra cunalo da daje standardne ispise kao u zadnjoj tablici, za vrijeme izvr savanja programa.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 106

Primjer 3.3.3 Ra cunanje izraza x2 + y 2 daje jednostavan primjer kako se kori stenjem IEEE standarda za izuzetne situacije mogu na ciniti brzi i pouzdani programi. Pravilo je: poku saj prvo na jednostavan i brz na cin, a ako dode do izuzetne situacije, ra cunaj ponovo na siguran, ali sporiji na cin. U ovom primjeru, ako je |x| ili |y | ve ci od Nmax , do ci ce do prekora cenja. Tada se z = x2 + y 2 ra cuna pomo cu 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 mno zenja, jedno zbrajanje i savanje nekoliko funkcija: | |, max jedan korijen, medutim dodatno zahtijeva izvr i min i jedno dijeljenje, pa je nekoliko puta sporiji i ne sto neto cniji (vidi primjer 3.5.1). S IEEE aritmetikom, prvo se izra cuna z = x2 + y 2 direktno. Ako se pojavi izuzetna situacija s prekora cenjem ( sto je vrlo rijedak slu caj), tek tada treba uklju citi sosticiraniji algoritam. Poka z ite da je sporiji algoritam prikladan i za slu c aj |x| < Nmin i y < Nmin .

3.4.

Stabilnost numeri ckog ra cunanja

U ovom dijelu bavit cemo se stabilno s cu numeri ckih algoritama, pojmom usko vezanim uz pozdanost dobivenih rje senja. Susrest cemo niz pojmova koji odreduju ili opisuju to cnost kojom algoritam ra cuna izlazne podatke, u prisustvu gre saka zaokru zivanja koje su neizbje zne kad se koristi kona cna aritmetika. Kroz primjere upoznat cemo neke neugodne fenomene koji se mogu pojaviti kod kori stenja kona cne odnosno aritmetike ra cunala. Ve cina primjera je uzeta iz knjige [5].

3.4.1.

Gre ske unazad i unaprijed

Neka je f realna funkcija realne varijable. Pretpostavimo da se u aritmetici preciznosti u vrijednost y = f (x) izra cuna kao y . Kako mo zemo mjeriti kvalitetu y kao aproksimacije od y ? U ve cini slu cajeva bit cemo sretni ako postignemo malu relativnu gre sku u rezultatu, tj. Erel , ali to se ne ce mo ci uvijek posti ci. Umjesto toga mo zemo se zapitati za koji skup podataka smo zapravo rije sili problem? Dakle, za koji x

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 107

imamo y = f (x + x)? Op cenito, bit ce vi se takvih x pa ce nas zanimati najve ci. Vrijednost |x| (ili max |x|) mo zda podijeljena sa |x| zove se gre ska unazad (engl. backward error) ili povratna gre ska. Apsolutna i relativna gre ska od y zovu se gre ske unaprijed ili kra ce gre ske. Proces omedivanja (tj. tra zenja ograda za) povratne gre ske izra cunatog rje senja zove se analiza povratne gre ske ili povratna analiza gre ske (engl. backward error analysis), a motivacija za taj postupak je dvostruka. Prvo, ona interpretira gre ske zaokru zivanja kao gre ske u podacima. Podaci cesto kriju neto cnosti nastale zbog prethodnih izra cunavanja, zbog spremanja u ra cunalo ili kao rezultat mjerenja. Ako povratna gre ska nije ve ca od tih polaznih neto cnosti, tada se izra cunato rje senje ne mo ze mnogo kritizirati jer je to rje senje koje tra zimo do na ulaznu neto cnost. Druga privla cnost povratne analize gre saka ske unaprijed na primjenu teorije perturje sto ona reducira problem omedivanja gre bacije za dani problem. Teorija perturbacije je dobro poznata za ve cinu problema i va zno je da ona ovisi o problemu, a ne o pojedinoj metodi za dani problem. Kada dobijemo ocjenu za povratnu gre sku rje senja kod primjene odredene metode, tada dodatnom primjenom op ce teorije perturbacije za dani problem lako dolazimo do ocjene za gre sku unaprijed.
f x gre ska unazad x + x f y = f (x + x) gre ska unaprijed y = f (x)

Slika 3.4.1 Gre ske unaprijed i unazad Metoda za ra cunanje vrijednosti y = f (x) je povratno stabilna ili stabilna unazad (engl. backward stable), ako ona za svako x producira izra cunati y s malom povratnom gre skom, tj. vrijedi y = f (x + x) za malo x. Oznaka mala ovisi o kontekstu. U na celu, za dani problem mo ze postojati vi se metoda od kojih ce neke biti povratno stabilne, a neke ne ce. Npr. sve osnovne ra cunske operacije u ra cunalu zadovoljavaju relaciju (3.1.1) pa daju rezultat koji je to can za malo pomaknute polazne podatke: x x(1 + ) i y y (1 + ) uz | | u. Dakle, sve su osnovne operacije u ra cunalu povratno stabilne. cina metoda za ra cunanje funkcije cos(x) ne zadovoljava relaciju Medutim, ve y = cos(x + x) za malo x, ve c samo slabiji rezultat: y + y = cos(x + x)

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 108

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

naziva se mije sana naprijed-nazad gre ska. Ako su i u (3.4.1) mali, mo ze se re ci: izra cunato rje senje y se jedva razlikuje od vrijednosti y + y koje se dobije egzaktnim ra cunom na ulaznoj vrijednosti x + x koja se jedva razlikuje od stvarnog ulaznog podatka x. Algoritam je numeri cki stabilan ako je stabilan u smislu relacije (3.4.1) s malim i . Ova denicija uglavnom se odnosi na izra cunavanja u kojima su gre ske zaokru zivanja (osnovnih aritmeti ckih operacija) dominantni oblici gre saka. Ina ce, pojam stabilnosti ima razli cita zna cenja u drugim podru cjima numeri cke matematike.

3.4.2.

Uvjetovanost

Odnos izmedu gre ske unaprijed i gre ske unazad za dani problem u velikoj mjeri odreden je uvjetovano s cu problema, tj. osjetljivo s cu rje senja problema na ulazne podatke. Pretpostavimo da je dano pribli zno rje senje y problema y = f (x) koje zadovoljava 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 mo zemo mu ocijeniti desnu stranu. Zbog y y f (x) f (x + x) = x + (x)2 , y f (x) 2f (x) imamo y y xf (x) x = + O((x)2 ), y f (x) x c(x) = xf (x) f (x) f (x + x) (x)2 , 2! (0, 1)

pa veli cina

mjeri relativnu promjenu y za malu relativnu promjenu x. Zato c(x) mo zemo zvati (relativni) broj uvjetovanosti od f , ili kra ce uvjetovanost od f . Ako su f ili x vektori, tada se broj uvjetovanosti denira na sli can na cin kori stenjem norme. Uvjetovanost slu zi za mjerenje najve ce relativne promjene koja se dosti ze za neku 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 zna ci da mala relativna promjena u x uvijek 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 gre ske unaprijed, unazad, te uvjetovanost za dani problem deniraju na konzistentan na cin, vrijedi jednostavno pravilo: gre ska unaprijed uvjetovanost gre ska unazad. Dakle, izra cunato rje senje lo se uvjetovanog problema mo ze imati veliku gre sku un aprijed. Cak i kad izra cunato rje senje ima malu gre sku unazad, prijelazom na gre sku unaprijed, ona se mo ze pove cati za faktor velik kao broj uvjetovanosti. Zato se uvodi sljede ca denicija. Denicija 3.4.1 Ako metoda daje rje senja s gre skama unaprijed, koja su sli cnog reda veli cine kao ona koja se dobiju primjenom povratno stabilne metode, tada se za metodu ka ze da je stabilna unaprijed. 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 gre saka zaokru zivanja

Dosta je rasprostranjeno mi sljenje da velike brzine modernih ra cunala koje omogu cavaju u svakoj sekundi izvr savanje nekoliko milijardi ra cunskih operacija imaju pri zahtjevnim prora cunima za posljedicu potencijalno zastra suju ce velike gre ske u rezultatu. Na sre cu, ta tvrdnja uglavnom nije istinita, a u rijetkim slu cajevima kada dolazi do ve cih gre saka u rezultatu, kriva je jedna, ili tek nekoliko, podmuklih gre saka zaokru zivanja. Primjer 3.4.1 (Slu caj slo zenih kamata.) Ako se a nov canih jedinica investira na godinu dana po godi snjoj kamatnoj stopi x (npr. x = 0.05), uz n ukama civanja (npr. za kvartalno ukama civanje je n = 4), tada je budu ca vrijednost ulo zenog novca nakon jedne godine, dana formulom Cn (x, a) = aCn (x), gdje je Cn (x) = 1 + x n
n

To je tzv. formula slo zenog ukama civanja. Poznato je da kad broj ukama civanja tijekom godine n raste, Cn (x) monotono raste prema vrijednosti ex . U grani cnom

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 110

slu caju, kad n , govorimo o neprekidnom ukama civanju. Taj slu caj se u praksi manje susre ce u bankarstvu, a vi se u biolo skim i medicinskim podru cjima. Tada se govori o prirastu sume, razmno zavanju kuni ca u nekoj populaciji ili sirenju zaraze u medicini. Nas ce ovdje zanimati ulaganje novca pa cemo pretpostaviti da je n kona can. Prou cit cemo stabilnost nekoliko algoritama za ra cunanje Cn (x). No, prvo cemo odrediti uvjetovanost za Cn (x). Imamo (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 sljede ce algoritme za ra cunanje Cn (x). 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 mo ze biti velik, pametno je iskoristiti operaciju (ili funkciju) potenciranja, ako postoji. U FORTRANU se xn pi se xn, dok se u jeziku C poziva funkcija pow(x, n). U Matlabu je oblika xn. Prednost je u tome sto algoritam koji stoji iza operacije ili funkcije potenciranja zahtijeva oko log2 (n) mno zenja, umjesto n 17 2 2 2 2 mno zenja kao u prvom algoritmu (npr. x se ra cuna kao x (((x ) ) ) , pa koristi je manje mno 5 mno zenja). Sto zenja, bit ce i manje gre saka zaokru zivanja. Sljede ca je mogu cnost iskoristiti identitet z n = en ln(z ) . Pritom mo zemo koristiti sljede ca dva algoritma 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 cetiri algoritma za x = 0.05. Programi su napisani u jeziku FORTRAN 77 i kori sten je Digital Visual Fortran 6.0 prevodilac za PC ra cunala. Kori sten je jednostruki realni format (REAL), a da bismo dobili referentne (gotovo to cne) podatke kori sten je i potprogram za ra cunanje slo zenih kamata u dvostrukom realnom formatu (DOUBLE PRECISION). U sljede coj tablici

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 111

dani su izlazni rezultati. 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 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 3.4.4 1.050945 1.051162 1.051268 1.051270 1.051271 1.051271 1.051271

Usporedbom s rezultatima izra cunatim u dvostrukoj preciznosti, zaklju cili smo da zadnji stupac daje to cne rezultate u danom jednostrukom formatu. To je zato jer zadnji algoritam koristi naredbu C := exp(n log(1.0 + x/n)) koja se zapravo izvr sava u registrima aritmeti cke jedinice. Kako su na Intel-ovim cipovima registri duljine 80 bitova, rezultat je izra cunat u pro sirenoj to cnosti, a zaokru zen je tek kod spremanja u varijablu C . Do neto cnosti u ostalim algoritmima dolazi u prvom redu zbog gre ske u varijabli z . Iako je gre ska tek u zadnjoj decimali, potenciranjem na visoku potenciju, prisutna gre ska se mo ze bitno pove cati. Npr. za n = 100000, = 224 imamo (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 sto se vidi iz zadnjeg retka tablice. Dakle, do gre ske dolazi jer funkcija n pot : z z nije dobro uvjetovana za veliko n. Provjerimo njezinu uvjetovanost: (pot) = |z nz n1 | = n. |z n |

Jo s je jedan fenomen zanimljiv. U prvom stupcu je rezultat za n = 10000 to cniji nego u drugom stupcu, dok je za n = 100000 manje to can. To dolazi od toga sto su gre ske zaokru zivanja i pozitivne i negativne, pa u rezultatu mo ze biti stvarna gre ska mnogo manja od o cekivane. Primjer 3.4.2 Izra cunajmo aproksimaciju broja e kori stenjem relacije e = nlim 1+ 1 n
n

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 112

tako da se za n uzmu potencije broja 10. Sljede ca tablica izra cunata je kori stenjem jezika FORTRAN 77 u jednostrukoj preciznosti (u = 224 ): n 101 102 103 104 105 106 107 pri cemu je 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 gre ske? Uo cimo da svaka negativna potencija od 10 ima gre sku jer njen binarni prikaz ima beskona cno mnogo znamenki. Kad se formira 1+1/n za ve ce n (npr. za n = 106 ili 107 ), samo nekoliko zna cajnih binarnih znamenaka od 1/n ostaje u kona cnom prikazu od 1 + 1/n. Nadalje, potenciranje broja 1 + 1/n, makar izra cunato posve to cno, mora bitno pove cati polaznu gre sku. Lako se provjerava da ra cunanje potencija od 1 + 1/n u dvostrukoj preciznosti (u = 253 ), nakon sto je broj 1 + 1/n prvo smje sten u jednostruki format, a zatim pretvoren iz jednostrukog u dvostruki format, daje iste brojeve u tablici. Zaklju cujemo da za neto can rezultat nije kriv veliki broj ra cunskih operacija ve c jedna podmukla gre ska. en = 1 + Ovaj problem, kao i prethodni, mo ze se rije siti mnogo to cnije kori stenjem formule 1 n 1 = exp n ln 1 + n n pri cemu se ln(1 + 1/n) ra cuna tako da se za 1+ x= 1 n ,

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


x,

y = 1, y = 1.

Detaljna analiza gre saka zaokru zivanja pokazuje da ce f (f (x)) biti vrlo to cna aproksimacija za ln(1 + 1/n).

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 113

Primjer 3.4.3 Za x 0 sljede ci algoritam ne bi smio promijeniti x: za i = 1 do 60 ra cunaj x := x; za i = 1 do 60 ra cunaj 2 x := x ;

ze izmedu 1 i x, Ovaj algoritam ne uklju cuje oduzimanje i svi medurezultati le pa mo zemo o cekivati da je na kraju ra cunanja, izra cunati x dobra aproksimacija od x. Na kalkulatoru HP48G, polaze ci od x = 100, algoritam daje x = 1.0. Zapravo, za svaki x, kalkulator izra cuna umjesto f (x) = x, funkciju (x) = f 0, 0 x < 1, 1, x 1.

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

za

x 1,
15

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

ln(10)

< e10

= 1 + 1015 +

1 30 10 + 2

pa se u kalkulatoru koji radi na 12 decimala r (x) zaokru zi na 1. U drugoj petlji 60 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 zaokru zuje na broj 0.999999999999. I nakon 60 vadenja drugog korijena u kalkulatoru ce biti broj koji nije ve ci od 0.999999999999. Promotrimo 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). Zaklju cak je jasan: ni sta nije lo se u kalkulatoru. Ovo na prvi pogled nedu zno ra cunanje iscrpljuje preciznost i rang brojeva u ra cunalu (12 zna cajnih dekadskih znamenki i eksponent s tri dekadske znamenke). Primjer 3.4.4 Poznato je da vrijedi 1+
1 1 2 1 1 + + + = = 1.644934066848. 2 4 9 16 6 k =1 k

Pretpostavimo da ne znamo taj indentitet i da zelimo numeri cki izra cunati tu sumu. Najjednostavnija strategija je izra cunati parcijalne sume 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 sla ze sa 2 /6 tek u prve 4 zna cajne znamenke. Obja snjenje tako neto cnog rezultata le zi u cinjenici da se zbrajanje vr si od ve cih prema manjim clanovima reda. Za n = 4096 cini se sljede ci doprinos parcijalnoj sumi: sn = sn 1 + 1 = sn1 + 224 , 2 n

pri cemu je sn1 1.6. U jednostrukoj preciznosti ra cunalo radi s mantisama od 24 bita pa clan koji se dodaje ne daje nikakav doprinos, isto kao i svi sljede ci clanovi. Najjednostavniji na cin za popravku te neto cnosti je zbrajanje u obrnutom redoslijedu. Na zalost, taj pristup zahtijeva znanje koliko clanova zbrojiti. Kori stenjem 9 10 clanova dobije se suma 1.66493406 koja je korektna na 8 zna cajnih znamenaka. Detaljnija analiza o tome kako sto to cnije ra cunati sumu brojeva mo ze se na ci u [5, 4. pogl.].

3.4.4.

Kra cenje

Kra cenje nastaje kad se oduzimaju dva pribli zno jednaka broja. To naj ce s ce, iako ne uvijek, ima kao posljedicu neto can rezultat. Promotrimo npr. funkciju f (x) = 1 cos(x) . x2

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 115

Za x = 1.2 105 , vrijednost cos(x), zaokru zena na 10 zna cajnih znamenki iznosi c = 0.9999999999, tako da je Dakle, aproksimacija za funkciju f u x = 1.2 105 je 1c 1010 = 0.6944, x2 1.44 1010 sto je o cito lo se, jer je 0 f (x) 1/2 za sve x = 0. Dakle, desetoroznamenkasta aproksimacija za cos(x) nije dovoljno to cna da bi izra cunata vrijednost funkcije imala barem jednu to cnu znamenku. Problem je u tome sto 1 c ima samo jednu zna cajnu znamenku. Oduzimanje 1 c je egzaktno, ali to oduzimanje proizvodi rezulat koji je veli cine kao i gre ska u c. Drugim rije cima oduzimanje podi ze zna caj prethodne gre ske. U ovom primjeru f (x) se mo ze napisati tako da se izbjegne kra cenje, jer uvr stavanjem cos(x) = 1 2 sin2 dobivamo f (x) = 1 sin(x/2) 2 x/2 x , 2
2

1 c = 0.0000000001.

Izra cunavanje f (1.2 105 ) pomo cu ove formule, kori stenjem desetoroznamenkaste aproksimacije za sin(x/2), daje vrijednost 0.5, koja je to can rezultat na deset zna cajnih znamenki. Da bismo dobili dodatni uvid u fenomen kra cenja promotrimo oduzimanje (u egzaktoj aritmetici) x =a b, gdje su a = a(1 + a ), b = b(1 + b ).

Clanovi a i b su relativne gre ske ili neto cnosti u podacima, koje, recimo, dolaze od prethodnih ra cunanja. Izraz za relativnu gre sku daje xx aa + bb |a| + |b| = max{|a |, |b|} . x ab |a b| Ograda za relativnu gre sku od x je velika ako je |a b| |a| + |b|,

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 116

a to je istina ako postoji bitno kra cenje u oduzimanju. Ova analiza pokazuje da se zbog kra cenja (u oduzimanju), postoje ce gre ske ili neto cnosti u a i b pove caju. Drugim rije cima, kra cenje dovodi prethodne gre ske na vidjelo. Va zno je znati da kra cenje nije uvijek lo sa stvar. Ima nekoliko razloga. Prvo, brojevi koji se oduzimaju mogu biti bez prethodnih gre saka, dakle to cni ulazni podaci. Npr. ra cunanje podijeljenih razlika uklju cuje mnogo oduzimanja, ali pola tih oduzimanja uklju cuje polazne podatke, pa su bezopasna za pogodni uredaj to caka. Drugi je razlog sto kra cenje mo ze biti simptom lo se uvjetovanosti problema pa zato mora biti prisutno. Tre ce, efekt kra cenja ovisi o ulozi koji taj rezultat (zapravo medurezultat) igra u preostalom ra cunanju. Npr. ako je x y z > 0, tada je kra cenje u izrazu x + (y z ) bezopasno. Promotrimo jedan va zan primjer kra cenja koji je karakteristi can za podru cje numeri ckog rje savanja diferencijalnih jednad zbi.

Primjer 3.4.5 Kako odrediti pribli znu vrijednost derivacije neke realne funkcije realnog argumenta. Ako funkciju ozna cimo s f , tada je f (x + h) f (x) . h0 h U xy koordinatnom sustavu, derivacija je koecijent smjera tangente na graf funkcije f u to cki (x, f (x)) tj. tangens kuta kojeg taj pravac zatvara s apscisom. U ovoj deniciji h mo ze biti i pozitivan i negativan (osim ako se promatra tzv. derivacija slijeva ili zdesna za rubne vrijednosti od x). je h po modulu manji to Sto ce kvocijent (f (x + h) f (x))/h biti to cnija aproksimacija f (x). Za funkcije koje nisu zadane analiti cki (svojom formulom), nego nekim mo zda kompliciranim algoritmom ili tabli cnim vrijednostima, kvocijent f (x) = lim f (x + h) f (x) h koji se jo s zove podijeljena razlika ili podijeljena diferencija mo ci ce se izra cunati barem za neke male vrijednosti h, pa cemo imati neku informaciju o derivaciji. je korak ili pomak h manji, dobit Sto cemo to cniju aproksimaciju za f (x). Pretpostavimo sada da je f dva puta diferencijabilna. Kori stenjem Taylorovog razvoja funkcije f oko to cke x, dobivamo 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) +

f (x + h) f (x) h f (x) = f ( x), (3.4.2) h 2 pa mo zemo o cekivati da je aproksimacija to bolja sto je |h| manje. Gre ska (3.4.2) se zove gre ska diskretizacije.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 117

se medutim dogada ako koristimo kona Sto cnu aritmetiku? Primjer 3.4.6 Odaberimo funkciju koja je eksplicitno zadana i kojoj zelimo numeri cki izra cunati derivaciju. Neka je to npr. ex + ex ch(x) = . 2 ex ex . 2 Promotrimo aproksimacije derivacije u to cki x = 1. Ra cunat cemo na ra cunalu, koriste ci dvostruki IEEE format. Kako je sh(x) = ch(1) = i e2 + 1 1.5431 2e e2 1 1.1752, 2e Derivacija te funkcija je

ch (1) = sh(1) =

znamo vrijednosti funkcije i derivacije u to cki 1. Za h cemo uzeti padaju ci niz vrijednosti 0.1, 0.01, 0.001, . . . , 1020 . Za ra cunaje izraza (f (x + h) f (x))/h koristit cemo sljede ci niz naredbi jezika FORTRAN 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 kori stenjem prevodioca

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 118

DV Fortran 6.0, dane su u sljede coj tablici: 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 je pribli zno jednaka M . Apsolutna i relativna gre ska smanjuju se za faktor 10 sto 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 kra cenja. Npr. za h = 1010 imamo pa je izgubljeno 10 decimalnih znamenka, sto zna ci da relativna gre ska aproksimacije 6 ne mo ze biti bitno bolja od 10 . Svakim smanjivanjem koraka 10 puta, poja cava se kra cenje za jednu decimalnu znamenku, sto rezultira relativnom gre skom koja je pribli zno 10 puta ve ca. Apsolutna gre ska je istog reda veli cine jer se dobije iz relativne gre ske mno zenjem s |f (x)| 1.1752. Dokle god je f dovoljno glatka, postoji mogu cnost dobivanja bolje aproksimacije za f (x) no sto je to kori stenjem obi cne podijeljene razlike. Jedno takvo pobolj sanje je simetri cna ili centralna podijeljena razlika f (x + h) f (x h) . 2h Razvojem u Taylorov red f (x + h) i f (x h) oko to cke x, poka zite da vrijedi f (x + h) f (x h) h2 f (x) = (f ( x1 ) + f ( x2 )), 2h 12 (3.4.3) f (x + h) f (x) 1.543080634932764 1.543080634815244 = 1.1752 1010 ,

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 119

gdje su x 1 i x 2 u intervalima [x, x + h] i [x h, x]. Dakle, diskretizacijska gre ska pada s faktorom h2 . Uo cite da to vrijedi samo za ekvidistantne mre ze cvorova, tj. kad je h isti za cijeli promatrani interval. Zadatak 3.4.1 Na cinite program sli can prethodnom, koji ispisuje apsolutnu i relativnu gre sku za simetri cnu podijeljenu razliku kao aproksimaciju derivacije za f (x) = ch(x) u to cki x = 1. 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 gre ske padaju s faktorom 100, a ne s 10 kako je to bilo prije. Nakon vrijednosti h = 0.10e 05 gre ske rastu, kao i prije, s faktorom oko 10. Za to vrijedi isti argument kao u prethodnm primjeru. Kako obja snjavate cinjenicu da je minimalna gre ska manja nego u prethodnom slu caju?

3.4.5.

Kra cenje gre saka zaokru zivanja

Nije neobi cno da se u stabilnim algoritmima gre ske zaokru zivanja krate na taj na cin da kona cni rezultat bude mnogo to cniji od medurezultata (tj. veli cina

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 120

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

Uo cimo da f (x) 1 kad x 0, sto se vidi i iz redova na desnoj strani. Pogledajmo sljede ca dva algoritma koji ra cunaju tu funkciju. 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

Lo sa strana prvog algoritma je sto dolazi do jakog kra cenja za male vrijednosti |x|. Drugi algoritam, izgleda cudno jer izra cunava dvije funkcije exp i ln (funkcija alog) umjesto samo jedne exp, kao sto to cini prvi algoritam. 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 to cne rezultate dok Algoritam 1 daje za rastu ce k sve neto cnije podatke. Da bismo dobili uvid sto se to dogada s Algoritmom 3.4.6, promotrimo ra cu8 24 8 nanje za x = 9 10 uz u = 2 6 10 . To can rezultat je (do na broj prikazanih znamenki) 1.000000005. Algoritam 3.4.5 daje posve neto can rezultat, kao sto se i o cekuje ex 1 1.19209290 107 f f = 1.32454766. x 9.0000000 108 Algoritam 3.4.6 daje rezultat koji je to can u svim osim u zadnjoj znamenci ( sto se i o cekuje jer se radi o 9-toj zna cajnoj znamenki, a aritmetika radi s nepunih 8 znamenki) ex 1 1.19209290 107 f f = 1.00000006. ln(ex ) 1.19209282 107 Evo sada veli cina koje bismo dobili Algoritmom 3.4.6 u egzaktnoj aritmetici (korektno 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 izra cunava vrlo neto cno vrijednosti ex 1 i ln(ex ), ali je kvocijent tih vrijednosti vrlo to can rezultat. Zaklju cak: dijeljenjem u Algoritmu 3.4.6 gre ske se pokrate (dokinu). Koriste ci analizu gre saka zaokru zivanja mo ze se objasniti to za cuduju ce kra cenje gre saka (vidjeti [5]).

3.4.6.

Rje savanje kvadratne jednad zbe

Rje savanje kvadratne jednad zbe ax2 + bx + c = 0 je matemati cki trivijalan problem (ako je jednad zba zaista kvadratna, tj. ako je a = 0): postoje dva rje senja b b2 4ac x = . (3.4.4) 2a Ako je a = 0, postoji samo jedno rje senje x = c/b jer je jednad zba linearna.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 122

Numeri cki, problem je izazovniji, jer niti izra cunavanje izraza (3.4.4), niti to cnost izra cunatog rje senja nije garantirana. Najjednostavniji aspekt rje savanja kvadratne jednad zbe je izbor formule za 2 2 ra cunanje rje senja. Ako je b |4ac| tada je b 4ac |b|, pa se za jedan izbor predznaka u formuli cenje. To je opasno kra cenje jer je jedan od (3.4.4) dogada kra argumenata, f ( b2 4 ac ) neto c an zbog kori s tenja kona c ne aritmetike, pa kra cenje 2 poja cava gre sku u f ( b 4ac) (takoder i u f (b) ako i on nosi gre sku u odnosu na b). Kako izbje ci gre sku je dobro poznato: treba prvo izra cunati ve ce (po modulu) rje senje, nazovimo ga s x1 , pomo cu formule (b + sign(b) b2 4ac) x1 = . (3.4.5) 2a Drugo rje senje dobije iz Vi` eteove formule c x1 x2 = , a uz prethodno izra cunato rje senje x1 x2 = c 2c = , a x1 b + sign(b) b2 4ac (3.4.6)

pri cemu se obje formule u (3.4.6) mogu koristiti. Formula c/(a x1 ) je vrlo to cna, tj. ako se x1 izra cuna s relativnom gre skom x1 , tada se x2 izra cuna s relativnom gre skom ne ve com od x1 + 2u. Druga formula za x2 u (3.4.6) je direktnija jer koristi samo koecijente kvadratne jednad zbe, ali zato ima ne sto vi se operacija od prve. Ocjena gre ske za x2 po toj formuli bit ce jednaka ocjeni gre ske za x1 po formuli (3.4.5). Stoga se mo zemo posvetiti prou cavanju to cnosti formule (3.4.5) za x1 . Na zalost, postoji mnogo opasniji izvor kra cenja, onaj u izrazu b2 4ac. To cnost 2 se gubi ako je b 4ac (slu caj bliskih korijena) i nikakva algebarska transformacija ne ce izbje ci kra cenje. Jedini na cin da se garantira to cno izra cunata diskriminanta je kori stenje pove cane preciznosti (ili trikova u postoje coj aritmetici koji su ekvivalentni u rezultatu, kori stenju dvostruke preciznosti) u izra cunavanju izraza b2 4ac.

Zbog va znosti koju kvadratna jednad zba ima u numeri ckom ra cunanju, cjelovitu analizu gre saka koje nastaju kod tra zenja korijena na cinit cemo kad se upoznamo s osnovama analize gre saka zaokru zivanja.

Umjesto zaklju cka, poku sat cemo ukratko dati upute kako dizajnirati stabilne (tj. to cne u okru zenju aritmetike ra cunala) algoritme, te poku sati svratiti pa znju na cesto prisutna kriva uvjerenja vezana uz ra cunanje na ra cunalima. Neke od tvrdnji koje cemo sada susresti obrazlo zit cemo u sljede cim poglavljima jer se ti cu specijalnih podru cja numeri cke matematike.

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 numeri cka stabilnost va znija od drugih karakteristika algoritma, kao sto su npr. broj ra cunskih operacija, te dobra vektorizacija ili paralelizacija (prilagodljivost algoritma vektorskim ili vi seprocesorskim ra cunalima). Evo nekih op cih uputa u redosljedu kako se spominju u [5]: 1. Poku sajte izbje ci oduzmanje veli cina bliskih vrijednosti koje nose gre ske, iako je to katkad nemogu ce. 2. Minimizirajte veli cinu medurezultata u odnosu na kona cni rezultat. To je va zno da kona cni rezultat ne bi bio dobiven opasnim oduzimanjem velikih vrijednosti koje nose u sebi gre ske. 3. Potra zite druga cije formulacije istog problema ili druge formule za isti ra cun. 4. Koristite prednosti jednostavnih formula za a zuriranje tipa nova vrijednost = stara vrijednost + mala korekcija, ako se mala korekcija mo ze izra cunati na dovoljan broj zna cajnih znamenki (Eulerova metoda, Newtonova metoda, . . . ). 5. Koristite samo dobro uvjetovane transformacije za dobivanje rje senja. Kod matrica to zna ci koristiti ortogonalne matrice kad god je to mogu ce, jer neortogonalne matrice mogu biti lo se uvjetovane. 6. Poduzmite mjere opreza da biste sprije cili mogu ca prekora cenja granice kona cne aritmetike (overow i underow). 7. Kod nekih ra cunala centralna aritmeti cka jedinica koristi precizniju aritmetiku za operande u registrima, a zaokru zivanje nastupa tek kod spremanja podatka u memoriju. To zna ci da nije povoljno cijepati slo zenije formule u vi se programskih linija kori stenjem pomo cnih varijabla. cenje nekih, po stabilnost U tijeku ra cunanja uvijek je dobro imati odredeno pra va znih, veli cina. Ako se u tijeku ra cunanja pamti i a zurira najve ci po modulu broj on mo ze biti indikacija sto se dogada s algoritmom. S vremenom se nakupilo podosta krivih uvjerenja u vezi ra cunanja na ra cunalima. Nabrojimo neka. 1. Kra cenje pri oduzimanju je uvijek lo sa stvar. 2. Gre ske zaokru zivanja mogu nadvladati rezultat samo ako ih ima veliki broj. 3. Kratki ra cun bez kra cenja i bez prekora cenja granica (underow i overow) uvijek mora dati to can rezultat (vidjeti [5]).

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 124

4. Pove canje preciznosti aritmetike koja se koristi uvijek pove cava to cnost rezultata (vidjeti [5]). 5. Izlazni rezultat kod nekog algoritma ne mo ze biti to cniji od bilo kojeg medurezultata, tj. gre ske se ne mogu pokratiti. 6. Gre ske zaokru zivanja mogu samo pogor sati, ali ne i pomo ci u uspjehu ra cunanja. Ovdje je tipi cni primjer metoda inverznih iteracija za ra cunanje vlastitih vektora matrice (vidjeti [9, 5]).

3.5.

Osnove analize gre saka zaokru zivanja

U ovom dijelu, pozabavit cemo se osnovnim alatom za analiziranje stabilnosti numeri ckih algoritama. Analiza gre saka zaokru zivanja je zajedno sa perturbacijskom analizom problema koji se rje sava, mo can alat za analiziranje pa zato i dizajniranje numeri ckih algoritama. Ozna cimpo sa P skup negativnih potencija broja 2 koje ulaze u deniciju preciznosti aritmetike ra cunala po IEEE standardu: 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 kona cnoj sumi, ili broja faktora u kona cnom produktu i sl., tada cemo pretpostaviti da vrijedi uP = nu 26 . (3.5.2)

To zna ci, ako radimo u jednostrukoj preciznosti i koristimo bilo koji na cin zaokru zivanja, maksimalna vrijednost od n ce biti 217 = 131072. Ako koristimo standardni na cin zaokru zivanja do najbli zeg, dozvoljavamo n 262144. Ako zelimo raditi s jo s ve cim dimenzijama, pretpostavka je da cemo koristiti dvostruku preciznost (IEEE dvostruki format). U tom slu caju, za n dozvoljavamo gornju granicu 246 7.037 1013 , a ako jo s koristimo standardni na cin zaokru zivanja, n 14 najvi se mo ze biti 1.40737488355328 10 . Ako zelimo jo s ve ci n, moramo osigurati kori stenje ra cunanja u pro sirenoj to cnosti. Kona cno, ako u razmatranje zelimo uklju citi i kalkulatore, tada u skup P mo zemo ubaciti i neke negativne potencije od 12 10 (npr. 10 ), jer kalkulatori koriste decimalnu aritmetiku. Sljede ca tehni cka lema cesto ce se koristiti u ocjenjivanju gre saka zaokru zivanja.

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 (ii) (1 + )3 = 1 + 3 , |3| 3.00000036u, (i) (1 + )2 = 1 + 2 , |2| 2.00000012u,

(iii) (1 + )1 = 1 + 1 , |1| 1.00000012u, (v) (1 + )n = 1 + n , |n | 1.008nu,


1

(iv) (1 + )2 = 1 + 2 , |2| 2.00000036u, (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) Sli cno, (1 + )3 = 1 + (3 + 3 + 2 ), pa je |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) Kori stenjem Taylorovog razvoja (1 + t)2 = 1 + 2t + 3t2 + ktk1 + , odmah slijedi Jo s treba iskoristiti da je (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 + n1 (n 1)(n 2) 2 1 + + + n2 + n1 2 23 n 6 2 3 2 n2 n2 n2 nu 1 + 1+ u+ u + u + 2 3 3 3 2 7 2 7 385 nu 1 + nu 1 + = nu 1.008nu. (n2)u 26 382 1 3 1 3

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 + n 1 (n 1)(n 2) 2 1 n1 n2 + + + + 2 23 n 2 n2 n2 2 6 1+ u + u + nu 1 + 2 3 3 7 2 nu 1 + , u 1 (n2) 3 2 7 6 1 2 3

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

0.500000015| | 0.500000015u. Time je dokaz lemme 3.5.1 zavr sen.

1 | | + 1

Za prvi dojam o korisnosti leme 3.5.1, rije simo sljede ci problem. Primjer 3.5.1 Neka su x i y reprezentabilni u ra cunalu, tako da vrijedi x = f (x) i y = f (y ). S kolikom relativnom gre skom ce ra cunalo koje koristi IEEE standard 2 2 izra cunati z = x + y ? Da bismo rije sili problem, pretpostavimo prvo da je f (x2 ) + f (y 2 ) < Nmax i min{|x|, |y |} Nmin .

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 127

Tada, mo zemo pisati x2 = x x = f (x2 ) = x2 (1 + 1 ), |1 | u y2 = y y = f (y 2 ) = y 2(1 + 2 ), |2| u. Umjesto kra ce pi semo f (x2 + y 2). Sada imamo f (f (x2 ) + f (y 2)) = f (x2 ) f (y 2),

z2 = f (x2 + y2 ) = (x2 + y2 )(1 + 3 ), |3 | u z = f ( z2 ) = z2 (1 + 4 ), |4| u. Pove zimo sve te jednad zbe: 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 cemu je 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 x2 + y 2 x2 + y 2 x2 + y 2 5 je konveksna suma1 brojeva 1 i 2 , pa se nalazi u zatvorenom intervalu [1 , 2 ] (ili [2 , 1] ako je 2 < 1 ). To opet zna ci 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.
i 1

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

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

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 128

Kod kori stenja IEEE aritmetike, slu caj prekora cenja ce biti dojavljen2. Kod najnovijih prevodioca (npr. za programski jezik FORTRAN 90), postoji mogu cnost da programer ugradi u k od programa grananje koje u slu caju prekora cenja nastavlja s ra cunanjem po formuli (vidi primjer 3.3.3) = 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 slu caju je prekora cenje mogu ce tek ako je Nmax < 1 +
2

2.

Pretpostavimo da to nije slu caj kao i da ne ce do ci do potkora cenja medurezultata (o tome cemo kasnije). Na cinimo uz te pretpostavke analizu gre saka zaokru zivanja za taj drugi algoritam. Da bi analiza bila jasnija uvest cemo niz pomo cnih varijabli zi cije vrijednosti 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 mo zemo nastaviti kao i prije po cev si od kraja: z5 = ( z4 )(1 + 5 ) = Poku sajte zavr siti taj postupak. Da bismo pokazali druge mogu cnosti, ocijenimo, krenuv si od po cetka, relativne gre ske koje sadr ze svi medurezultati. Zamislimo da se koristila egzaktna (jo s ka zemo i beskona cna) aritmetika. Tada bismo umjesto vrijednosti zi dobili neke druge vrijednosti, nazovimo ih sa wi , 1 i 5. Ako pi semo zi = wi (1 + i ), 1 i 5, tada trebamo ocijeniti 5 . Do ocjene za |5 | mo zemo do ci ocjenjuju ci gre ske 1 , 2 , 3 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 ) =

Naj ce s ce tako da se program prekida nakon javljanja gre ske.

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 )| 2 2 2 3 u + 2u + u + u(2u + u ) = 3u + 3u + u = (3 + 3u + u2 )u 3.00000036u.

Sljede ca jednad zba z3 = (1 + z2 )(1 + 3 ) = [1 + w2 (1 + 2 )](1 + 3 ) = (1 + w2 ) 1 + zbog w2 0, daje |3 | = Pi su ci z4 = z3 (1 + 4 ) = w3 (1 + 3 )(1 + 4 ) = w4 1 + 3 (1 + 4 ), 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

i koriste ci relaciju (3.5.3), dobivamo 1 + 4 = pa je |4 | | 1 + 3 (1 + 4 ) 1| 4.00000072u 1+ (1 + u) 1 3.000000837u. 1 + 1 4.00000072 223 Kona cno, 1 + 5 = (1 + 4 )(1 + 5 ), pa je |5 | |4 | + |5 | + |4 5 | 4.0000012u. Kori stenjem sosticiranije formule, koja zahtijeva vi se instrukcija, dobivamo i rezultat koji je generalno ne sto neto cniji (iako se jo s uvijek radi o gre sci u zadnjoj sigurnoj decimali kad se egzaktni rezultat smjesti u ra cunalo). Medutim, dobitak je u pro zuje sirenju domene funkcije koja paru reprezentabilnih brojeva (x, y ) pridru f ( x2 + y 2). To je dosta va zno kako bi se izbjeglo prekora cenje i prekid rada ra cunala ili mogu ca relativna neto cnost ako je rezultat mali broj.
2 2 Ostalo je jo s promotriti sto se dogada 2 ako2 su x ili y takvi da ili x ili y potkora cuje, ako z postaje nula, ili ako x + y padne u podru cje subnormalnih brojeva. Ako samo x2 (y 2 ) potkora cuje u nulu ili subnormalni broj, rezultat ce imati

1 + 3 (1 4 ),

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 130

malu relativnu gre sku, ne ve cu od nekoliko u. Ako izra cunati f (x2 + y 2 ) padne u 2 2 podru cje subnormalnih brojeva, tada ce f (x + y ) mo zda nositi veliku relativnu gre sku. Vadenje korijena ce tu gre sku pribli zno prepoloviti, ali ce ona i dalje ostati velika. Potkora cenje obaju brojeva u nulu ce dati maksimalnu relativnu gre sku 1. Dakle, kad prijeti potkora cenje ili postupno potkora cenje, direktna formula ne ce dati to can rezultat. Sto ce dati druga kompliciranija formula? Ako je || Nmin , tada ce se f ( 1 + (/)2 ) izra cunati s malom relativnom gre skom (kako je gore izra cunato) bez obzira na to je li subnormalan broj ili ne. Ako je pak subnormalan broj, tada su oba polazna broja, takoder, subnormalna i kod smje stanja brojeva u ra cunalo do slo je do gubljenja relativne to cnosti. Tada ce i egzaktni kvocijent / i izra cunati kvocijent f (/) imati ve cu (ili veliku) relativnu gre sku pa ce isto vrijediti i za z . Jedini lijek je da se ulazni podaci x i y , prije u citavanja, skaliraju potencijom od 2 tako da ne bude subnormalni broj. Nakon ra cunanja, z treba skalirati inverznom (negativnom) potencijom broja 2. U zaklju cku mo zemo re ci da kompliciraniju formulu treba koristiti ako u programskom jeziku nije implementirano signaliziranje da je do slo do izuzetne situacije. Ako je signaliziranje implementirano, tada je najbolje koristiti jednostavniji algoritam, uz skretnicu koja u slu caju izuzetne situacije vodi kontrolu na kompliciraniji algoritam.

3.5.1.

Propagiranje gre saka zaokru zivanja

Promotrimo prvo kako jedna ra cunska operacija na ra cunalu pove cava postoje ce gre ske u podacima. Pretpostavit cemo da su x = x(1 + x ) i y = y (1 + y ) podaci spremljeni u ra cunalo. Oni aproksimiraju to cne podatke x i y s relativnim gre skama x i y , respektivno. Za operaciju mno zenja vrijedi f ( xy ) = ( xy )(1 + ) = xy (1 + x )(1 + y )(1 + ) = 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 clan mo zemo zanemariti. Zaklju cujemo da se relativna gre ska kod mno zenja propagira tako da se zbroju relativnih gre saka faktora

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 131

pridoda gre ska nastala mno zenjem. Tek ako su x i y pribli zno istih modula i suprotnih predznaka, mo ze x y utjecati na ukupnu gre sku. 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. Veli cinu = x y x y + (1 + x ) 2 x 2 y y / + 1 + y 1 + y

cemo zanemariti, smatraju ci da je manja od osnovne gre ske zaokru zivanja u. Vidimo 2 y , pri cemu, ako x i y da je relativna gre ska dominirana clanom x y x y + 1 + y 2 y . Kao i kod nisu skoro jednaki, mo zemo zanemariti clanove vi seg reda x y i 1 + y mno zenja, nova gre ska / ima utjecaj tek na zadnju decimalu binarnog (pogotovo decimalnog) prikaza kvocijenta. Kod aditivnih operacija imamo f ( xy ) = ( xy )(1 + ) = (x(1 + x ) y (1 + y ))(1 + ) = x y + xx yy + x y + xx yy x y = (x y ) 1 + ( x + + x ) ( y + + y ) . xy xy Ako pi semo f (x y ) = (x y )(1 + s ), tada je s relativna gre ska u f (x y ) kao aproksimaciji za x y . Neka su x i y takvi da je x y = sign(x)(|x| + |y |). To ce vrijediti ako je =+ i = i sign(x) = sign(y ), sign(x) = sign(y ).

ili ako je

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 gre sku rezultata utje cu obje donesene gre ske x i y . Finije razmatranje koristit ce relaciju (3.5.4) koja pokazuje da se x mno zi s |x|/(|x| + |y |) dok se y mno zi s |y |/(|x| + |y |). Ako je npr. |x| |y | i |x | |y |, tada ce |s | biti blizu manje gre ske |x |. Kod svih dosada snjih slu cajeva relativna gre ska u rezultatu nije bitno ve ca od relativnih gre saka u polaznim podacima. Ako polazimo od to cnih polaznih podataka, potreban je ogroman broj operacija tih vrsta da bi gre ska u zadnjem medurezultatu bitnije narasla. Medutim jo s nismo razmatrali preostali slu caj, x y = sign(x)(|x| |y |), koji ce vrijediti ako je =+ i = i Umjesto relacije (3.5.4), imat cemo s = Ako je gre ske x + + x i y + + y mno zit ce se s potencijalno vrlo velikim brojevima |x| |y | b1 = odnosno b2 = . |x| |y | |x| |y | |x| |y | |x| |y | ( x + + x ) ( y + + y ). |x| |y | |x| |y | (3.5.6) sign(x) = sign(y ), sign(x) = sign(y ).

ili ako je

Taj fenomen smo ve c upoznali kao opasno/katastrofalno kra cenje. Ako su b1 i b2 brojevi reda veli cine jedan, onda ne ce do ci do opasnog kra cenja.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 133

U zaklju cku mo zemo re ci da su operacije mno zenja i dijeljenja, te zbrajanja sumanada istog predznaka dobre operacije koje ne ce bitnije pogor sati relativnu pogre sku operanada, dok za operaciju oduzimanja brojeva istog predznaka to vrijedi tek ako nije do slo do kra cenja. Ako je do slo do kra cenja, tada vrijedi pravilo: sto ja ce kra cenje u operandima, to je ve ca relativna gre ska u rezultatu. Koji puta je kra cenje neizbje zno zbog naravi problema (lo se uvjetovani problemi), pa mo zemo tek birati izmedu algoriatma koji ce dati katastrofalno kra cenje u jednoj ili nekoliko operacija, ili algoritama koji ce postupno, jedva primjetno, kratiti medurezultate kroz mnogo aditivnih operacija. Promotrimo sada akumulaciju gre saka kod ra cunanja produkta i sume n brojeva, kao i kod osnovnih vektorskih i matri cnih operacija.

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. Dokaz. Ako deniramo pomo cne varijable zi , sljede ci iteracije algoritma za mno zenje brojeva x1 x2 xn u redoslijedu kako je napisano, kori stenjem relacije (3.3.4), imat cemo 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 ). Mno ze ci lijeve i desne strane svih jednakosti, dobit cemo, nakon kra cenja pomo cnih 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) 1 i n.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 134

Kako je 1 (1 |2|)(1 |3|) (1 |n |) (1 + |2 |)(1 + |3|) (1 + |n |) 1, zaklju cujemo da je || (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 mno zi faktore) ako svi parcijalni produkti ne prekora cuju (tj. za pomo cne varijable vrijedi zk Nmax ).

Ovaj rezultat pokazuje da mno zenje vi se faktora sporo akumulira relativnu gre sku u rezultatu. Ako se koristi na cin zaokru zivanja prema najbli zem, gre ske i iz dokaza ce biti i pozitivne i negativne, pa ce ukupna gre ska (1 + 2 )(1 + 3 ) (1 + n ) 1 2 + 3 + + n

biti jo s manja. Npr. umno zak milijun brojeva ra cunan u dvostrukoj to cnosti, imat ce barem 10 to cnih zna cajnih znamenaka, a uz zaokru zivanje prema najbli zem mo ze se o cekivati barem 13 to cnih zna cajnih znamenaka (to ce biti jasnije nakon odjeljka o sumiranju). Formalno, lema 3.5.2 pokazuje da je svaki algoritam koji uzastopce mno zi brojeve stabilan unaprijed. Iz dokaza leme vidimo da rezultat mo zemo zapisati u 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 mno zenja n brojeva savr seno stabilan unazad. Izra cunati produkt je jednako to can kao kad polazne brojeve koji nisu BPZ u citamo u ra cunalo, a zatim ih egzaktno pomno zimo! 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 s zapisuje u obliku f (x1 xn ) = (x1 xn )(1 + ), || (n 1)u + O(u2 ). (3.5.8)
2i<k n 2

i k + + 2 3 n

Prednost takvog zapisa je u tome sto daje najmanju mogu cu konstantu uz linearni clan u. Medutim, ako se taj rezultat koristi kao dio analize nekog slo zenijeg izraza ili

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 135

algoritma, postoje dvije neugodnosti. Prvo, ako u nejednakosti postoji clan oblika O(u2 ), vi se nemamo cistu ocjenu ve c tek ocjenu do na veli cinu reda u2 . Drugo, ako se u kasnijoj analizi clan O(u2 ) mno zi s potencijalno velikim brojevima, vi se nismo sigurni je li postao O(u) ili mo zda cak O(1), pa je svrha analize naru sena. Stoga se oblik (3.5.8) uglavnom koristi kod jednostavnijih izraza u svrhu dobivanja sto povoljnije konstante uz u. Jedan koristan pomo cni rezultat U formuli (3.5.7) javlja se produkt faktora koji su oblika 1+ k . Za ocjenjivanje izraza koji sadr ze samo mno zenja i dijeljenja mo zemo koristiti sljede cu lemu. 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 , nu . 1 nu

(3.5.9)

i=1

uz ocjenu |n | n :=

(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 | = cime je lema dokazana za n = 1. Pretpostavimo da tvrdnja leme vrijedi za neko n 1. To zna ci da je nu < 1, 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). Poka zimo da tvrdnja leme vrijedi za n + 1. Iz pretpostavke (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 mo zemo koristiti 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 . n+1 = n + n+1 + n n+1 ,

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

Za pn+1 = 1 dobivamo

nu nu2 (n + 1)u (n + 1)u +u+ = < . 1 nu 1 nu 1 nu 1 (n + 1)u n n+1 1 + n 1= , 1 + n+1 1 + n+1 |n | + |n+1 | . 1 + n+1

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 = < . 2 1u 1 (n + 1)u + nu 1 (n + 1)u Time je dokaz indukcijom zavr sen. Brojevi n , n 1 imaju vrlo prakti cno svojstvo, Zadatak 3.5.1 m + n + m n m+n . (3.5.11)

(i) Doka zite nejednakost (3.5.11). (ii) Primijenite lemu 3.5.3 na relaciju (3.5.7). Je li dobivena konstanta uz u ve ca ili manja od 1.008? Nakon analize stabilnosti produkta brojeva, prou cimo stabilnost sume brojeva.

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 137

3.5.3.

Stabilnost sume
sn = x1 + x2 + + xn ,

Neka je pri cemu za brojeve xi vrijedi, kao i prije, xi = f (xi ), 1 i n. Suma sn mo ze se ra cunati na razne na cine. Promotrimo prvo najjednostavniji rekurzivni algoritam: s1 := x1 ; for i := 2 to n do si := si1 + xi ; Ozna cimo s s i izra cunatu vrijednost si . Tada, prema relaciji (3.3.4), vrijedi s 2 = f (x1 + x2 ) = (x1 + x2 )(1 + 1 ) = x1 (1 + 1 ) + x2 (1 + 1 ), Sli cno, s 3 = f ( s2 + x3 ) = ( s2 + x3 )(1 + 2 ) = x1 (1 + 1 )(1 + 2 ) + x2 (1 + 1 )(1 + 2 ) + x3 (1 + 2 ). Nastavljaju ci na taj na cin, dobivamo s n = f ( sn1 + xn ) = ( sn1 + xn )(1 + n1 ) = 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 mo zemo pojednostaviti uvodenjem novih varijabli 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 mo zemo zapisati u obliku s n = x1 (1 + 1 ) + x2 (1 + 2 ) + + xn (1 + n ), (3.5.12) |1 | u.

pri cemu i mo zemo ocijeniti pomo cu leme 3.5.3 ili jo s o strije pomo cu leme 3.5.1(v), |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 gre sku svakog perturbiranog polaznog podatka xi (1 + i ) su manje od nu. Je li algoritam, takoder, stabilan unaprijed? Da bismo odgovorili na to pitanje oduzmimo od s n egzaktnu sumu sn , s n sn = x1 1 + x2 2 + + xn n i ocjenjujemo apsolutnu vrijednost razlike |s n sn | |x1 | |1| + |x2 | |2| + + |xn | |n | max{|i|}(|x1 | + |x2 | + + |xn |)
i

(3.5.14)

(|x1 | + |x2 | + + |xn |) 1.008(n 1)u. Stoga je relativna gre ska od s n kao aproksimacije za sn , ocijenjena s |s n sn | cond(sn )1.008(n 1)u, | sn | gdje je cond(sn ) = (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 o stru ocjenu jer se jednakost dosti ze npr. za pozitivne xi i 1 = 2 = = n . Nejednakost (3.5.15) pokazuje kako se pona sa relativna gre ska funkcije sn pri relativnim gre skama njenih argumenata xi . Stoga je cond(sn ) broj uvjetovanosti za sn i on, kao sto znamo iz odjeljka o uvjetovanosti, povezuje gre sku unaprijed s gre skom unazad. Kako cond(sn ) mo ze biti proizvoljno velik (uzmimo npr. brojeve 1, 1 i t, pa pustite da t 0), algoritam nije op cenito stabilan unaprijed. Ipak, ako svi xi imaju isti predznak, onda je cond(sn ) = 1, pa je i gre ska unaprijed mala, a to zna ci da je algoritam stabilan unaprijed. Isti zaklju cak vrijedi kadgod cond(sn ) nije veliki broj. Umjesto da sumiranje vr simo redom od x1 do xn , mo zemo koristiti bilo koji (sekvencijalni) redoslijed sumiranja. Ocjene ce nakon odgovaraju ce analize gre saka zaokru zivanja biti posve analogne. Pritom ce vrijediti relacija (3.5.12) s tim da umjesto x1 i x2 stoje oni sumandi koji se prvi zbrajaju, umjesto x3 onaj sumand koi se sljede ci dodaje sumi itd. Katkad su svi clanovi sume istog predznaka i pritom jo s uredeni u monotoni niz. Tada se postavlja pitanje u kojem redoslijedu treba sumirati da bi relativna gre ska u s n bila sto manja? Prvo uo cimo da je tra zenje najmanje relativne gre ske za taj problem ekvivalentno tra zenju najmanje apsolutne gre ske (jer nju dijelimo sa sn , a sn ne ovisi o redoslijedu sumiranja). Dakle, tra zimo redoslijed indeksa j1 , j2 , . . . , jn za koji je |xj1 1 + xj2 2 + + xjn n |

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 139

Ako je niz |x1 |, |x2 |, . . . , |xn | monoton, sumiramo u smjeru od apsolutno najmanjeg do apsolutno najve ceg clana. Kaskadno sumiranje

najmanje. Problem je te zak jer gre ske k koje deniraju svaki i mogu biti i pozitivne i negativne, pa |1 | mo ze biti manji od bilo kojeg j , 3 j n. Stoga moramo zahtjev malo oslabiti pitanjem koji redoslijed indeksa j1 , j2 , . . . , jn daje najbolju ocjenu za |xj1 1 + + xjn n |? Tako dolazimo do jednostavnog pravila.

Osim danog jednostavnog algoritma za sumiranje, spomenimo jo s jedan koji daje najmanju ocjenu gre ske, ali na ra cunalu tra zi cijelo polje dodatnih lokacija u memoriji. Zovemo ga sumiranje po parovima ili kaskadno sumiranje. Algoritam ima pribli zno log2 (n) glavnih koraka, a pribli zno tolika ce biti i 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 .

Nastavljaju ci na taj na cin, nakon k 1 glavnih koraka imamo 2(k(k1)) = 2 clana, pa se u k -tom koraku oni zbroje daju ci sn . Zadatak 3.5.2 Ako je n = 2k , doka zite da svaki xi sudjeluje u to cno k zbrajanja, pa je u relaciji (3.5.12) svaki |i | omeden sa 1.008ku. Poku sajte napisati algoritam za op ci slu caj kad n nije potencija od 2. Koliko prolaza ima glavna petlja kad je n jednako 8, 16, 9, 10, 11, 12, 13, 14, 15? Generalizirajte zalju cak za n izmedu 2k i 2k+1 . Koliko zbrajanja prolazi svaki xi ? Koliki je ukupni broj ra cunskih operacija? Koliko dodatne memorije (dodatnih celija za pomo cne varijable) bi koristili za realizaciju algoritma, ako zelite sa cuvati vrijednosti polaznog niza u polaznom polju? Jedna generalnija analiza sumacijskih metoda i pripadnih gre saka zaokru zivanja (vidi [5]) daje sljede cu generalnu uputu. Kod odabiranja sumacijske metode s ciljem dobivanja sto to cnije sume sn , treba izabrati onu koja daje sto manje apsolutne vrijednosti medurezultata. Zadatak 3.5.3 Prije primjene zadnjeg algoritma mo zemo sortirati elemente niza (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 kra cem trajanju na ra cunalu. Ne radi se o ve cem broju zbrajanja, nego o na cinu dohva canje elemenata polja u ra cunalo kod izvodenja aritmeti ckih operacija s elementima polja. Prije zbrajanja operanada moderna ra cunala zahvate cijeli blok podataka (onih u uzastopnim celijama) oko teku cih operanada u brzu cache memoriju. Ako je elemenata xi previ se da bi svi stali u brzu memoriju, dohva caju se po blokovima. Ako se binarni algoritam ne programira vrlo precizno, uz jasno poznavanje kako koristi brzu memoriju, mogao bi zahtijevati daleko ve ci broj dohva canja clanova niza xi nego standardni algoritam. Isplati li se investirati dodatnu memoriju i ra cunsko vrijeme da bismo imali osigurane bitno manje ograde za svaki i , nego kod standardnog algoritma? Kod ve cine aplikacija ne. Usprkos mnogo ve cim ogradama stvarne gre ske i kod standardnog algoritma su bitno manje. Malo vi se svjetla na tu zagonetku baca i statisti cka analiza osnovnih gre saka zaokru zivanja za sumu 1 + + n . Analiza koja pretpostavlja da su osnovne gre ske nezavisne slu cajne varijable s o cekivanjem nula i kona cnom standardnom devijacijom, pokazuje da je o cekivana vrijednost za njihovu sumu omedena s nu sto je cekivana vrijednost za 1 je daleko povoljnije od teoretske granice nu (npr. o oko n 1u, sto je mnogo povoljnije od (n 1)u).

3.5.4.

Kompenzirano sumiranje

Kompenzirano sumiranje je posebno atraktivno ako ve c koristimo najprecizniju aritmetiku u ra cunalu (npr. dvostruku preciznost podataka i aritmetike). Radi se o rekurzivnom algoritmu s korektivnim sumandom koji je tako odreden da gotovo poni sti gre ske zaokru zivanja. Neka su a = f (a) i b = f (b) takvi da je |a| |b|. Neka je s = f (a + b). Promotrimo sljede cu ilustraciju, koja koristi izdu zene pravokutnike za prikaz mantise. Pri zbrajanju u akumulatoru (aritmeti ckoj jedinici procesora) mantisa manjeg po modulu broja se prvo pomakne u desno za broj bitova koji odgovara razlici eksponenata brojeva a i b. Zatim se mantise zbroje, zaokru ze na t bitova (koliko mantisa dopu sta), a ako je pritom do slo do prekora cenja vrijednosti, mantisa se normalizira, 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 Izvla cenje gre ske zaokru zivanja Iz slike 3.5.1 mo zemo zaklju citi da je gre ska e, e = [((a + b) a) b] = (a s ) + b, ako se izra cuna na ra cunalu u redoslijedu nazna cenom zagradama e = (((a b) a) b), dobra aproksimacija gre ske (a + b) s . Zapravo, za standardni na cin zaokru zivanja u IEEE aritmetici mo ze se pokazati da je a+b =s + e , pa e reprezentira pravu gre sku. Sljede ci Kahanov algoritam koristi korekciju e u svakom koraku standardnog rekurzivnog sumacijskog algoritma. Nakon sto je izra cunata parcijalna suma si1 , odmah se ra cuna njena korekcija, koja se u sljede cem koraku dodaje clanu xi prije njegova dodavanja parcijalnoj sumi si1 . Gotovo uvijek je parcijalna suma po modulu ve ca od elementa koji joj se dodaje, pa korekcija e, koja je mala, mo ze mijenjati element xi , ali ne mo ze mijenjati si1 koja je ve c 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

{va zan je redoslijed izvr savanja}

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 142

Ova metoda ipak ima dva manja nedostatka. Prvo, e nije nu zno to cna korekcija, jer uvjet |si1 | |xi | (u algoritmu: |temp | |y |) ne ce uvijek biti zadovoljen. Drugo, u ra cunalu se ra cuna z := xi e a ne z := xi + e. Ipak, mo ze se pokazati da i iz formule (3.5.12) za kompenziranu sumaciju zadovoljava sto je gotovo nedosti zan rezultat. |i | 2u + O(nu2 ),

3.5.5.

Stabilnost skalarnog produkta i osnovnih matri cnih operacija

Neka su x, y Rn , x = [x1 , . . . , xn ]T , y = [y1 , . . . , yn ]T . Da bismo analizirali skalarni produkt vektora x i y , ozna cimo te za svako i parcijalne sume s = sn = xT y = x1 y1 + x2 y2 + + xn yn , si = x1 y1 + + xi yi.

Kao i kod sumacije, mo zemo denirati vi se algoritama za skalarni produkt, ali cemo zbog jednostavnosti analizirati samo iterativni algoritam s1 := x1 y1 ; for i := 2 to n do si := si1 + xi yi ;

Zbog sli cnosti s prija snjim algoritmom za sumiranje n brojeva, mo zemo preuzeti neke dijelove izvoda ocjena gre saka zaokru zivanja. Kao i prije, sa s i ozna cimo izra cunate vrijednosti. Tada imamo, s 1 = f (x1 y1 ) = x1 y1 (1 + 1 ) s 2 = f ( s1 + x2 y2 ) = [ s1 + x2 y2 (1 + 2 )](1 + 1 ) = x1 y1 (1 + 1 )(1 + 1 ) + x2 y2 (1 + 2 )(1 + 1 ) s 3 = x1 y1 (1 + 1 )(1 + 1 )(1 + 2 ) + x2 y2 (1 + 2 )(1 + 1 )(1 + 2 ) + x3 y3 (1 + 3 )(1 + 2 ) . . . s n = f ( sn1 + xn yn ) = [ sn1 + xn yn (1 + n )](1 + n1) = 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 s n = x1 y1 (1 + 1 ) + x2 y2 (1 + 2 ) + + xn yn (1 + n ), nu, i = 1, (n i + 2)u, 2 i n. (3.5.17) pri cemu i mo zemo ocijeniti pomo cu leme 3.5.3, ili jo s o strije pomo cu leme 3.5.1(v) |i | 1.008 (3.5.18)

Relacija (3.5.17) je rezultat analize povratne gre ske koji se mo ze ovako interpretirati. Izra cunati skalarni produkt f (xT y ) je egzaktan skalarni produkt malo perturbiranih vektora x i y . Algoritam je povratno stabilan. Kao perturbirane vektore mo zemo uzeti npr. 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 gre sku unaprijed, koristimo analogne ocjene kao u relaciji (3.5.14), |s n sn | |x1 y1 | + |x2 y2 | + + |xn yn | 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 mo ze biti po volji velik. T T To se dogada kad je |x y | |x| |y |. Zaklju cak je isti kao i kod sumiranja: gre ska unaprijed mo ze biti velika, pa algoritam nije stabilan unaprijed. Ipak on je stabilan unaprijed kad su svi produkti xi yi istog predznaka (tada je cond(sn ) = 1). Ra cunanje 2-norme, x = zaslu zuje razmatranje. S obzirom da je za taj slu caj broj uvjetovanosti 1, vrijedi
2 2 2 f (x2 1 + + xn ) = (x1 + + xn )(1 + ), 2 x2 1 + + xn

|| 1.008nu,

pa se jednostavno dobije f ( x ) = x (1 + ), | | 1 + 1.008nu(1 + u) 1 (1 + 0.504n)u

sto je manje od 0.504(n + 1)u za n 2. Dakle, ra cunanje norme je stabilno (unaprijed i unazad).

3. GRESKE U NUMERICKOM RACUNANJU

GRESKE 144

Zadatak 3.5.4 Je li ra cunanje ostalih normi, npr. x 1 , x

x p , stabilno?

Za razliku od skalarnog (unutra snjeg) produkta, vanjski produkt vektora A = xy T nije povratno stabilan. Ovdje cak x i y ne trebaju biti iste dimenzije. Ako elemente matrice A ozna cimo s aij , onda vrijedi aij = xi xj , pa je a ij = f (aij ) = aij (1 + ij ), za sve i, j . Stoga je = f (xy T ) = A + E, A pa vrijedi |E | u|xy T | = u|A|, odnosno, A| u|A|, |A E = [ ij ] , |ij | u

pa je ra cunanje vanjskog produkta operacija stabilna unaprijed. Razlika izmedu tipova stabilnosti unutra snjeg i vanjskog produkta izra zava op ci princip: numeri cki proces ce prije biti stabilan unazad (unaprijed) ako ima vi se (manje) ulaznih nego izlaznih podataka.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 145

4. Sustavi linearnih jednad zbi


Jedan od osnovnih problema numeri cke matematike je rje savanje linearnih sustava jednad zbi. U ovom poglavlju istra zivat cemo metode za rje savanje kvadratnih n n sustava, tj. sustava s n jednad zbi i n nepoznanica, 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

Kako znamo iz linearne algebre, za teorijsku matematiku je rje savanje sustava Ax = b gotovo trivijalan problem, posebno u slu caju kada je matrica sustava kvadratna i regularna. Rje senje x je dano formulom x = A1 b u kojoj je A1 in1 verzna matrica od A (AA = A1 A = I ). Pri tome postoje eksplicitne formule i za elemente matrice A1 i za samo rje senje x. Osim toga, svima dobro poznata Gaussova metoda eliminacija dolazi do rje senja u O (n3 ) elementarnih operacija3 . Dakle, situacija je potpuno jasna: rje senje x = A1 b postoji, i to samo jedno, i znamo jednostavan algoritam koji to rje senje eksplicitno ra cuna koriste ci samo jednostavne aritmeti cke operacije. U primijenjenoj matematici, posebno u numeri ckoj linearnoj algebri (grana numeri cke matematike koja se bavi problemima linearne algebre) je situacija puno kompliciranija. Za sto? U numeri ckoj matematici danas rije siti problem zna ci biti u stanju u konkretnoj situaciji sa konkretnim podacima, koriste ci ra cunalo, brzo do ci do dovoljno to cne numeri cke aproksimacije rje senja. Na primjer, ako su n n matrica A i vektor b zapisani u nekim datotekama na disku, ili su dane
3

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 n vektor nepoznanica x = [ xi ]n i=1 R tako da vrijedi Ax = b.

Ovdje elementarna operacija ozna cava zbrajanje, oduzimanje, mno zenje ili dijeljenje.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 146

procedure (potprogrami) koji generiraju A i b, onda je zadatak izra cunati numeri cke vrijednosti xi , i = 1, . . . , n. Ono po cemu su ra cunala poznata je brzina dobro jednoprocesorsko ra cunalo 9 mo ze napraviti npr. 10 operacija u sekundi. Medutim, ono sto je osnovna zna cajka moderne numeri cke matematike je da joj u primjenama dolaze problemi sve ve cih dimenzija. Kako je broj operacija u Gaussovim eliminacijama O (n3 ), to zna ci da je npr. za n = 105 broj operacija reda veli cine 1015 pa brzinom od 109 operacija u 4 sekundi dobivamo vrijeme izvr savanja oko 106 sekundi, sto je vi se od deset dana. U ozbiljnim primjenama treba u procesu projektiranja puno puta rje savati takve sustave. Tada je brzina ra cunala samo jedan faktor u razumno (ili dovoljno) brzom rje savanju linearnog sustava. Dakle, problem koji je matemati cki posve jednostavan u praksi mo ze biti puno izazovniji i netrivijalniji. U divljenju brzini kojom ra cunalo zbraja, oduzima ili mno zi brojeve cesto zaboravljamo da su rezultati tih operacija uglavnom neto cni. Sjetimo se, ra cunalo reprezentira brojeve i izvr sava ra cunske operacije koriste ci ksni broj znamenki to zna ci da se rezultati operacija zaokru zuju. Dakle, mogu ce je da je svaka od O (n3 ) operacija u Gaussovom algoritmu izvr sena s gre skom zaokru zivanja. Koliko onda mo zemo vjerovati izra cunatom rje senju?

4.1.

Vodi c kroz ovo poglavlje

Materijal u ovom poglavlju je prije svega namijenjen naprednom studiranju numeri cke matematike i usvajanju nekih osnovnih principa. Ipak, organiziran je u vi se nivoa tako da ga mogu citati i po cetnici i napredniji citatelji. Sljede ci pregled bi trebao pomo ci citatelju pri planiranju prou cavanja ponudenog materijala. 1. nivo : Prou citi i shvatiti barem jedan primjer iz odjeljka 4.2. o primjeni linearnih sustava jednad zbi. Materijal iz odjeljka 4.3. citati do iskaza teorema. Pa zljivo, uz papir i olovku, obraditi primjere i opis Gaussovih eliminacija na primje ru male dimenzije. Citatelj na ovom nivou treba nau citi kako funkcioniraju Gaussove eliminacije, uo citi vezu izmedu procesa eliminacija i faktorizacije matrice koecijenata sustava, svladati algoritme za rje savanje trokutastih sustava, te biti u stanju na ruke rije siti sustave manje dimenzije. 2. nivo : Materijal iz odjeljka 4.3. svladati u potpunosti. 3. nivo : Sekcije 4.3. i 4.4. svladati u potpunosti. Po potrebi se slu ziti materijalom iz dodataka ili druge literature. Analizirati i shvatiti sve primjere. Shvatiti va znost pivotiranja za numeri cku stabilnost Gaussovih eliminacija.
4 Ovdje namjerno pojednostavljujemo ocjenu vremena izvr savanja. Za precizniju procjenu je potrebno ura cunati i vrijeme pristupa memoriji i dohva canje podataka, veli cinu tzv. cache memorije, itd. U ovom trenutku va zno je dobiti osje caj za red veli cine.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 147

4. nivo : Na ovom nivou citatelj bez pote sko ca cita sav materijal i slu zi se programima za rje savanje sustava na ra cunalu.

4.2.

Primjeri: Kako nastaje linearni sustav jednad zbi

U ovom odjeljku dajemo niz primjera problema iz primijenjene matematike cije rje savanje je bazirano na sustavima linearnih jednad zbi. Primjer 4.2.1 Zadani su parovi to caka (xi , yi ), i = 0, . . . , n, gdje su yi = f (xi ) izmjerene (ili na neki drugi na cin dobivene) vrijednosti funkcije f (x) koju zelimo aproksimirati polinomom p(x) stupnja n. Pretpostavljamo i da je xi = xj za i = j . Kriterij za odabir polinoma p(x) je da u to ckama xi ima vrijednost p(xi ) = yi = f (xi ). (Govorimo o interpolacijskom polinomu.) Ako p(x) prika zemo u kanonskom obliku
n

p(x) = a0 + a1 x + a2 x2 + + an xn =

aj xj
j =0

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

= y0 = y1 . . . = yi = yn .

Vidimo da svaki uvjet interpolacije daje jednu jednad zbu u kojoj se nepoznati koecijenti pojavljuju linearno. Sve jednad zbe cine sustav linearnih jednad zbi kojeg mo zemo matri cno zapisati u obliku V a = y , tj.

1 1
1

x0 x1 xi

1 xn

x2 x3 0 0 3 x2 x 1 1 x2 x3 i i x2 x3 n n V

n1 x0 n1 x1 n1 xi n1 xn

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

(4.2.1)

Matrica V zove se Vandermondeova matrica. Zahvaljuju ci njenom specijalnom obliku, mogu ce je ekasno odrediti a = V 1 y .

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 148

Primjer 4.2.2 Promotrimo sljede ci rubni problem: d2 2 u(x) = f (x), 0 < x < 1, dx u(0) = u(1) = 0. (4.2.2) (4.2.3)

Rje senje u problema (4.2.2, 4.2.3) aproksimirat cemo na skupu od kona cno mnogo to caka iz segmenta [0, 1]. Odaberimo prirodan broj n i denirajmo 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 (xi ) 3 u(4) (xi + i ) 4 h + h + h , (4.2.5) u(xi + h) = u(xi ) + u (xi )h + 2 6 24 u (xi ) 2 u (xi ) 3 u(4) (xi + i ) 4 h h + h , (4.2.6) u(xi h) = u(xi ) u (xi )h + 2 6 24

gdje su i (xi , xi + h), i (xi h, xi ). Zbrajanjem jednad zbi (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 )) Matri cno to mo zemo zapisati kao

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

Tn

2 1 1 2 1

u1 u2 u3 . . . u n2 1 u n1

un u

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

f1 f2 f3 . . .

e1 e2 e3 . . .

(4.2.9)

fn f

en e

U jednad zbi Tn u = h2 f + h2 e clan e ne znamo, pa ga zanemarujemo, tj. poku sat 2 cemo rije siti Tn u = h f . Primijetimo da pod odredenim uvjetima mo zemo o cekivati 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 to cno rje senje u(x) = sin 4x. Uzet cemo n = 10 i n = 50 i vidjeti koliko su dobre dobivene aproksimacije. Rezultati su dani na sljede coj slici.
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 rje senje i numeri cka rje senja dobivena s n = 10 i n = 50 cvorova.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 150

Za iskusnije citatelje odmah cemo malo prodiskutirati dobiveno rje senje. (Ostali mogu presko citi sljede cu diskusiju.) Lako se poka ze da je matrica Tn regularna. 1 Neka je u = h2 Tn f . Imamo
1 2 1 1 uu = Tn (h f + h2 e) h2 Tn f = h2 Tn e,

(4.2.10)

pa je uu u 2
2

1 Tn e 1 Tn f

2 2

Tn

1 Tn

e f

2 2

(4.2.11)

Pri tome smo koristili sljede ce nejednakosti:


1 Tn e 1 Tn f 2 1 Tn 2

1 (jer je Tn

= max
x=0

1 Tn x x 2

), ).
2

f Tn

2 2

(jer je Tn

= max
x=0

Tn x 2 y 2 = max 1 y =0 x 2 Tn y

Vidimo da nejednakost u relaciji (4.2.11) mo ze za neke izbore vektora e i f prije ci u jednakost, sto zna ci da je relacija (4.2.11) realisti cna ocjena gre ske diskretizacije e na aproksimaciju rje senja polaznog rubnog problema (4.2.2)(4.2.3). Mi ne mo zemo to cno odrediti niti u jer ra cunamo u aritmetici s kona cnom preciznosti. Neka je u izra cunata aproksimacija vektora u . Pitanje je koliku to cnost aproksimacije treba imati u . Iz relacije (4.2.11) slijedi da je zadovoljavaju ca to cnost postignuta ako je u u 2/ u 2 najvi se reda veli cine 2 (Tn ) e 2 / f 2 (sjetimo se da mi zapravo zelimo aproksimirati u).

4.3.

Gaussove eliminacije i trokutaste faktorizacije

Metoda Gaussovih eliminacija je svakako najstariji, najjednostavniji i najpoznatiji algoritam za rje savanje sustava linearnih jednad zbi Ax = b. Ideja je jednostavna. Da bismo rije sili sustav 2x1 x2 = 1 x1 + 2x2 = 1 1 dovoljno je primijetiti da zbog prve jednad zbe vrijedi x1 = (1 + x2 ), pa je druga 2 jednad zba 3 3 1 (1 + x2 ) +2x2 = 1, tj. x2 = , tj. x2 = 1, 2 2 2 x1 odakle je x1 = 1. Ka zemo da smo x1 eliminirali iz druge jednad zbe.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 151

Ovu ideju mo zemo lako generalizirati na dimenziju n > 1, gdje sustavno eliminiramo neke nepoznanice iz nekih jednad zbi. Pokazuje se da takav algoritam ima dosta zanimljivu strukturu i da ga se mo ze ekvivalentno zapisati u terminima matri cnih operacija. Kvalitativno novi moment u analizi metode eliminacija nastaje kada sam proces eliminacija interpretiramo kao faktorizaciju matrice sustava A na produkt trokutastih matrica.1

4.3.1.

Matri cni zapis metode eliminacija


Primjer 4.3.1 Rije simo sljede ci sustav jednad zbi: 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 x3 32 (4.3.1)

A = [ aij ]3 i,j =1

b = [ bi ]3 i=1

Koristimo metodu supstitucija, odnosno eliminacija. Prvo iz prve jednad zbe izrazimo x1 pomo cu x2 i x3 , te to uvrstimo u zadnje dvije jednad zbe, koje postaju dvije jednad zbe s dvije nepoznanice (x2 i x3 ). Dobivamo 1 x1 = (19 x2 4x3 ), 5 pa druga jednad zba sada glasi 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 mno zenja prve jednad zbe s 10 a21 = = 2 a11 5 i zatim njenim dodavanjem (pribrajanjem) drugoj jednad zbi. Druga jednad zba sada glasi 2x2 x3 = 1. Ako ovu transformaciju sustava zapi semo matri cno, imamo

5 10 15
1

1 4 4 7 5 9

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) = a(1) ij

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

Takav koncept je prvi uveo Alan Turing.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 152

Nepoznanicu x1 eliminiramo iz zadnje jednad zbe ako prvu pomno zimo s


a31

(1)

(1) a11

15 = 3 5

i onda je pribrojimo zadnjoj. To zna ci sljede cu promjenu matrice koecijenata: 5 1 0 2 15 5 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 A(1)

A(1)

L(3,1)

A(2) = a(2) ij

4 1 . 3
3 i,j =1

Vektor desne strane je u ove dvije transformacije promijenjen u

1 0 19 39 2 1 0 0 32 b

L(2,1)

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

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

u kojem su druga i tre ca jednad zba sustav od dvije jednad zbe s dvije nepoznanice. T O cito je da rje senje x = (x1 , x2 , x3 ) sustava (4.3.1) zadovoljava i sustav (4.3.2). Obratno, ako trojka x1 , x2 , x3 zadovoljava (4.3.2), onda mno zenjem prve jednad zbe u (4.3.2) s 2 i zatim pribrajanjem drugoj jednad zbi, dobijemo drugu jednad zbu sustava (4.3.1). Na sli can na cin iz prve i tre ce jednad zbe sustava (4.3.2) rekonstruiramo tre cu jednad zbu polaznog sustava (4.3.1). U tom smislu ka zemo da sustavi (4.3.1) i (4.3.2) ekvivalentni: imaju isto rje senje. Nadalje, primijetimo da smo proces eliminacija (tj. izra zavanja nepoznanice x1 pomo cu x2 i x3 i eliminiranjem x1 iz zadnje dvije jednad zbe) jednostavno opisali matri cnim operacijama. Eliminaciju nepoznanice x1 smo prikazali kao rezultat mno zenja matrice koecijenata i vektora desne strane s lijeva jednostavnim matricama 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 tre ce jednad zbe eliminiramo x2 tako sto drugu jednad zbu pomno zimo s (2) a32 (2) = 4 a22 i pribrojimo je tre coj. Tako tre ca jednad zba postaje 7x3 = 21, a cijeli sustav ima oblik 5x1 + x2 + 4x3 = 19 2x2 x3 = 1 (4.3.3) 7x3 = 21. Transformaciju eliminacije x2 iz tre ce jednad zbe mo zemo matri cno zapisati kao transformaciju matrice koecijenata

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

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)

4 5 1 1 = 0 2 3 0 0

A(3)

4 1 7

(4.3.4)

19 1 25 b(2)

1 0 0

0 1 4 L(3,2)

0 19 19 0 1 = 1 . 1 25 21 b(2)

(4.3.5)
(3)

b(3) = (bi )3 i=1

Sustav (4.3.3), koji je ekvivalentan polaznom, lako rije simo. 21 = 3. 7 1 2. Iz druge jednad zbe je x2 = (1 + x3 ) = 2. 2 1 3. Iz prve jednad zbe je x1 = (19 x2 4x3 ) = 1. 5 1. Iz tre ce jednad zbe je x3 = Jednostavna provjera potvrduje da su x1 , x2 , x3 rje senja polaznog sustava (4.3.1). Analizirajmo postupak rje savanja u prethodnom primjeru. Pa zljivo pogledajmo 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 mno zenjem slijeva donjetrokutastom matricom na cinili gornjetrokutastom. To mo zemo pro citati i ovako: 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 4 1 3 0 1 0 4 1 (L(2,1) )1 (L(3,1) )1 (L(3,2) )1 Dakle, matricu A smo napisali kao produkt donjetrokutaste i gornjetrokutaste matrice, A = LA(3) . Gornjetrokutastu matricu u ovom kontekstu obi cno ozna cavamo s U = A(3) , pa je A rastavljena na produkt A = LU . Govorimo o LU faktorizaciji matrice A (neki tu faktorizaciju zovu i LR faktorizacija matrice). Uo cimo da je ra cunanje produkta koji denira matricu L jednostavno. Inverze matrica L(2,1) , (3,1) L i L(3,2) dobijemo samo promjenom predznaka netrivijalnih elemenata u donjem trokutu, a cijeli produkt jednostavno je stavljanje tih elemenata na odgovaraju ce pozicije u matrici L. Sada jo s primijetimo da je relacija (4.3.3) zapravo linearni sustav Ux = b(3) , gdje je b(3) = 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 rije sen je metodom koja se sastoji od tri glavna koraka. 1. Matricu sustava A treba faktorizirati u obliku A = LU , gdje je L donjetrokutasta, a U gornjetrokutasta matrica. 2. Rje savanjem donjetrokutastog sustava Ly = b treba odrediti vektor y = L1 b. 3. Rje savanjem gornjetrokutastog sustava Ux = y treba odrediti vektor x = 1 U 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 izra zavanja neke nepoznanice pomo cu ostalih. Umjesto x1 izrazimo pomo cu x2 , x3 , . . . i sl., operacije izra zavamo operacijama s matricama i vektorima. To omogu cuje jednostavnu i sustavnu primjenu opisane metode na sustav s proizvoljnim brojem nepoznanica. Sam linearni sustav je u ra cunalu pohranjen kao matrica koecijenata A i vektor desne strane b. Dakle, ovakav zapis metode eliminacija je prirodan. Ponekad u primjenama rje savamo nekoliko linearnih sustava s istom matricom A, ali s nizom razli citih desnih strana b. Vidimo da je u tom slu caju transformacije na matrici A dovoljno napraviti jednom (prvi korak u gornjem zapisu metode), a zatim za razli cite desne strane provesti samo zadnja dva koraka.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 155

4.3.2.

Trokutasti sustavi: rje savanje supstitucijama unaprijed i unazad

Trokutasti sustavi jednad zbi lako se rje savaju. Pogledajmo, na primjer, donjetrokutasti sustav Lx = b dimenzije n = 4:

11 21 31 41

0 22 32 42

0 0 33 43

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

Neka je matrica L regularna. To zna ci da su ii = 0 za i = 1, 2, 3, 4. O cito je b1 11 1 (b2 21 x1 ) x2 = 22 1 x3 = (b3 31 x1 32 x2 ) 33 1 (b4 41 x1 42 x2 43 x3 ). x4 = 44 x1 = Vidimo da x1 mo zemo odmah izra cunati, a za i > 1 formula za xi je funkcija od bi , i-tog retka matrice L i nepoznanica x1 , . . . , xi1 koje su prethodno ve c izra cunate. Dakle, prvo izra cunamo x1 , pa tu vrijednost uvrstimo u izraz koji daje x2 ; zatim x1 i x2 uvrstimo u izraz za x3 , itd. Ovakav postupak zovemo supstitucija unaprijed. Algoritam 4.3.1 Rje savanje linearnog sustava jednad zbi Lx = b s regularnom donn njetrokutastom matricom L R . / 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 ; mno zenja: 1 + 2 + + (n 1) = 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 slo zenost je O (n2 ). Gornjetrokutaste sustave rje savamo na sli can na cin. Ako je sustav Ux = b oblika b1 u11 u12 u13 u14 x1 4 0 u22 u23 u24 x2 b2 = , uii = 0, 0 0 u33 u34 x3 b3 i=1 0 0 0 u44 x4 b4 x4 = b4 u44 1 (b3 u34 x4 ) x3 = u33 1 x2 = (b2 u23 x3 u24 x4 ) u22 1 x1 = (b1 u12 x2 u13 x3 u14 x4 ). u11

onda, polaze ci od zadnje jednad zbe unazad, imamo

Ovakav postupak zovemo supstitucija unazad. Algoritam 4.3.2 Rje savanje linearnog sustava jednad zbi Ux = b s regularnom gornjetrokutastom matricom U Rnn . / Supstitucija unazad za Ux = b / bn xn = ; unn za i = n 1, . . . , 1 {
n

xi = bi

uij xj
j =i+1

uii; }

Kao i kod supstitucija naprijed, slo zenost ovog algoritma je O (n2 ).

4.3.3.

LU faktorizacija

Sada kad smo uo cili da se rje savanje linearnog sustava Ax = b faktoriziranjem matrice A svodi na trokutaste sustave, ostaje nam posebno prou citi faktorizaciju matrice A Rnn na produkt donje i gornjetrokutaste matrice. Zanima nas proizvoljna dimenzija n, ali cemo zbog jednostavnosti razmatranja na po cetku sve

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 poni stavanjem koecijenata na pozicijama (2, 1), (3, 1), . . . , (n, 1). To mo zemo napraviti u jednom potezu2 . Ako deniramo matricu 1 0 0 0 0 a 21 1 0 0 0 a11 a31 0 1 0 0 (1) , L = a11 a41 0 0 1 0 a 11 a51 0 0 0 1 a11 onda je x1 eliminiran iz svih jednad zbi osim prve, tj.

a11 0 0 0 0

a12 a22 a32


(1) (1)

a13 a23 a33


(1) (1)

a14 a24 a34


(1) (1)

a15

A(1) L(1) A =

(1) a42

(1) a43

(1) a44

(1) a45

(1) a35 . (1)

(1) a25

a52

(1)

a53

(1)

a54

(1)

a55

Objasnimo oznake koje koristimo za elemente matrice A(1) . Op cenito, elementi A(1) (1) ozna ceni su s aij , 1 i, j n. Medutim, elementi prvog retka u A(1) jednaki su (1) prvom retku u A, a1j = a1j , 1 j n, pa smo to eksplicitno nazna cili u zapisu (1) matrice A . Primijetimo da je transformaciju A A(1) mogu ce izvesti samo ako je a11 = 0.
2

(4.3.6)

U primjeru 4.3.1 smo zbog jednostavnosti poni stavali koecijente jedan po jedan.

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

(L(1) )1

1 0 0 0 0 1 0 0 0 1

0 0 0 1

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

0 , 0

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

1 a12 = a21 a22 a11

0 1

a11 0

a12 a22
(1)

a11 a21

a12 (1) = a11 a22 . a22


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

1 0 L
(2)

Vrijedi

0 0

0 1 a32
(1) (1)

a22

1 0 0 1

0 0 0 0 0 0
0 0

1 0 i njen inverz (L )
(2) 1

(1) a42 (1) a22

a52 a22

(1) (1)

0 0 1

0 0

0 1 a32 a22
(1) (1)

(1) a42 (1) a22

1 0 0 0 1

0 0 0 0 0 0

a52 a22 a15

(1) (1)

0 0 1

. 0

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

a11 0 0 0 0

a12
(1) a22

a13
(1) a23 (2) (2) (2)

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

(1) a25

0 0 0

a33

a34

a43

a44

a53

a54

(2) a35 . (2) a45

(4.3.7)

a55

(2)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 159

Uo cimo da oznake u relaciji (4.3.7) nagla savaju da je u matrici A(2) = a(2) ij i,j =1 prvi redak jednak prvom retku matrice A, a drugi redak jednak drugom retku matrice A(1) . Ako sada u relaciji A = (L(1) )1 (L(2) )1 A(2) izra cunamo produkt (L(1) )1 (L(2) )1 dobivamo

1 a 21 a11 A= a31 a11 a41 a11 a51 a11

0 1 a32 a22
(1) (1)

0 0 0

1 0 0 1

0 0 0

(1) a42 (1) a22

a52 a22

(1) (1)

0 0 1

a11 0 0 0 0 0 0

a12
(1) a22

a13
(1) a23 (2) (2) (2)

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

(1) a25

0 0 0

a33

a34

a43

a44

a53

a54

(2) a35 , (2) a45

a15

(4.3.8)

a55

(2)

odakle zaklju cujemo da vrijedi

a21

a11

a31

a12 a22 a32

a33

1 a21 a13 a = a11


23

0 1 a32
(1)

a31 a11

(1) a22

0 a11 0 0

a12 a22 0
(1)

a13
(2) a33

(1) a23 .

Dakle, ako je a11 = 0 i 2 = 0, onda smo dobili trokutastu faktorizaciju vode ce 3 3 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

(3)

1 0 0 1 0 0
0

0 0 1 a43
(2) (2) a33

0 0 0 0 0 0

0 0

a53 a33

(2) (2)

0 1

, 0

(L )

(3) 1

1 0 0 1 0 0
0

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

a33 a53 a33

0 0 0 0 0 0

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
(1) (2)

a14 a24
(1) (2)

a15

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

a33 0 0

a34

(3) a44

(1) a25 (3) a45

(2) a35 .

a54

(3)

a55

(3)

Ako izra cunamo produkt (L(1) )1 (L(2) )1 (L(3) )1 , onda vidimo da vrijedi

1 a 21 a11 A= a31 a11 a41 a11 a51 a11

0 1 a32 a22 a42 a52 a22


(1) (1) (1)

0 0 1 a43 a53
(2)

0 0

0 1

0 0

(1) a22 (1) (1)

(2) a33 (2) (2)

a33

0 1

a11 0 0 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23
(1) (2)

a14 a24
(1) (2)

a15

a33 0 0

a34

(3) a44

(1) a25 (3) a45

(2) a35 ,

a54

(3)

a55

(3)

te da je 1 a 21 a11 0 1 a32 a22 a42 a22


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

0 0 1 a43 a33
(2) (2)

a 21 a31

a11

a41

a12 a22 a32 a42

a13 a23 a33 a43

a14 a24 a31 = a34 a 11 a44 a41 a11

0 a11 0 0 0

a12 a22 0 0
(1)

a13 a23
(1) (2)

a33 0

a24 a44
(3)

. (2) a34
(1)

a14

Ponovo zaklju cujemo na isti na cin: deniramo 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)

a44 Lako provjerimo da vrijedi

0 0 0

0 0 0 , 0

(L(4) )1

1 0 0 = 0

0 1 0 0

0 0 1 0

0 0 0 1 a54
(3) (3)

0 0 0

a44

0 0 0 . 0

(4.3.9)

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

te da je, nakon ra cunanja produkta (L(1) )1 (L(2) )1 (L(3) )1 (L(4) )1 ,


a11 0 0 0 0

a12
(1) a22

a13
(1) a23 (2)

a14
(1) a24 (2) (3)

(1) a25

0 0 0

a33 0 0

a34

a44 0

a55

(2) a35 . (3) a45


(4)

a15

1 a 21 a11 A= a31 a11 a41 a11 a51 a11

0 1 a32 a22
(1)

0 0 1
(2) a43 (2) a33

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

(1)

(1) a42 (1) a22

a52 a22

(1)

a53

(2) (2)

(1)

a33

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. Takoder, uo cili smo da su ti uvjeti osigurani ako su u matrici A determinante glavnih podmatrica dimenzija 1, 2, . . . , n 1 razli cite od nule. To je u na sem primjeru zna cilo 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, mo zemo zaklju citi sljede ce:
(1) (2) (3)

a11 0 0 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23
(1) (2)

a14 a24
(1) (2) (3)

a15

a33 0 0 U

a34

(1) a25

a44 0

(2) a35 .

a55

(3) a45
(4)

(4.3.10)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 162

Ako je prvih n 1 minora matrice A razli cito od nule, onda su i svi pivotni elementi razli citi od nule i Gaussove eliminacije daju LU faktorizaciju matrice A. U tom slu caju sljede ci algoritam ra cuna faktorizaciju A = LU . Algoritam 4.3.3 Ra cunanje LU faktorizacije matrice A. L = I; za k = 1, . . . , n 1 { za j = k + 1, . . . , n { jk =
(k )

ajk

(k 1)

akk

(k 1)

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


(k ) (k 1) (n1) U = A(n1) = aij .

ik akj

(k 1)

;}}}

Sljede ci teorem i formalno dokazuje egzistenciju i jedinstvenost LU faktorizacije. Teorem 4.3.1 Neka je A Rnn i neka su determinante glavnih podmatrica A(1 : k, 1 : k ) razli cite od nule za k = 1, 2, . . . , n 1. Tada postoji donjetrokutasta matrica L s jedinicama na dijagonali i gornjetrokutasta matrica U , tako da vrijedi A = LU . Ako faktorizacija A = LU postoji i ako je jo s matrica A regularna, onda je faktorizacija jedinstvena: postoji to cno jedna matrica L i to cno jedna matrica U s ovim svojstvima. Tada je i
n

det(A) =
i=1

uii .

Dokaz. Doka zimo prvo jedinstvenost LU faktorizacije. Neka postoje dvije takve 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 cinjenice da se na dijagonali produkta donjetrokutastih matrica nalaze produkti dijagonalnih elemenata matrica koje se

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 163

mno ze, na dijagonali produkta L1 L su jedinice. Dakle, L1 L = I , tj. L = L . Tada je i U = U . Doka zimo sada egzistenciju LU faktorizacije. Induktivni dokaz je zapravo ve c skiciran u opisu ra cunanja faktorizacije 5 5 matrice. Pogledajmo kako uvjeti teorema omogu cuju prijelaz s A(k) na A(k+1) , gdje je

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

a12
(1) a22

a13
(1) a23

.. 0

a1k . . . . . . . . . akk
(k 1)

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

..

a33 ..

(2)

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


(k ) (k ) (k 1)

(2)

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

0 . . . 0

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


(1) a2n k) a( nn

a1n

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

= 0.

Odavde je i ak+1,k+1 = 0 pa mo zemo denirati matricu L(k+1) koja ce poni stiti (k +1) (k +1) (k ) elemente ispod dijagonale u (k + 1)-om stupcu i dati A =L A . Jasno je da nakon kona cnog broja koraka dobijemo matricu A(n1) koja je gornjetrokutasta. Napomena 4.3.1 Primijetimo, ako je A regularna i ako ima LU faktorizaciju, onda su nu zno i sve glavne podmatrice A(1 : k, 1 : k ) regularne. To slijedi iz cinjenice da je
k

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

uii,

k = 1, . . . , n.

4.3.4.

LU faktorizacija s pivotiranjem

Jedan, o cit problem, s LU faktorizacijom koju smo opisali u prethodnom odjeljku je da za njeno ra cunanje, prema opisanom algoritmu, matrica A mora imati specijalnu strukturu: sve njene glavne podmatrice do uklju civo reda n 1 moraju biti regularne. Sljede ci primjer ilustrira taj problem.

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 rje senje, ali A o cito nema LU faktorizaciju, jer 0 1 1 = 1 1 21 povla ci da je 1 u11 1 u12 21 u11 21 u12 + u22 =0 =1 =1 = 1. 0 1 u11 0 u12 u22

Iz prve jednad zbe odmah vidimo da mora biti u11 = 0, a iz tre ce slijedi da 21 0 = 1, sto je nemogu ce. S druge strane, matrica A reprezentira linearni sustav 0x1 + x2 = b1 x1 + x2 = b2 koji uvijek ima rje senje x1 = b2 b1 , x2 = b1 , i kojeg mo zemo ekvivalentno zapisati 3 kao x1 + x2 = b2 0x1 + x2 = b1 . Matrica ovog sustava je A = 1 1 1 0 = 0 1 0 1 1 1 , 0 1

i o cito ima jednostavnu LU faktorizaciju s L = I , U = A . Vezu izmedu A i A zapisujemo matri cno: 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 jednad zbi ne mijenja rje senje sustava.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 165

Da bismo ilustrirali kako zamjenama redaka uvijek mo zemo dobiti LU faktorizaciju, vratimo se na sem 5 5 primjeru i pogledajmo npr. relacije (4.3.7), (4.3.8):

a11 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23
(1) (2)

a14 a24
(1) (2)

a15

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

a33

a34

(2) a43

(2) a44

(1) a25 (2) a45

(2) a35 ,

a53

(2)

a54

(2)

a55

(2)

1 a21 a11 A= a31 a11 a41 a11 a51 a11

0 1 a32 a22 a42 a22


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

1 0 0 1

0 0 0 0 0 0

(1) a52 (1) a22

0 0 1

Neka je a33 = 0. Dakle, vi se ne mo zemo kao ranije denirati L(3) . Pogledajmo (2) (2) elemente a43 i a53 . Ako su oba jednaka nuli, onda mo zemo staviti L(3) = I i (2) (2) nastaviti dalje, jer je cilj transformacije L(3) poni stiti a43 i a53 . Ako su oni ve c jednaki nuli onda u ovom koraku ne treba ni sta raditi pa je transformacija jednaka (2) jedini cnoj matrici. Neka je sada npr. a53 = 0. Ako deniramo matricu 1 0 = 0 0 0

(2)

a11 0 0 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23
(1) (2)

a14 a24
(1) (2)

a15

a33

a34

(2) a43

(2) a44

(1) a25 (2) a45

(2) a35 .

a53

(2)

a54

(2)

a55

(2)

P (3)

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
(1) (2)

a14 a24
(1) (2)

a15

a53

a54

(2) a43

(2) a44

(1) a25 (2) a45

(2) a55 .

a33

(2)

a34

(2)

a35

(2)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 166

Sada mo zemo denirati matrice

(3)

1 0 0 1 0 0
0

0 0 1 a43 a53 a33 a53


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

0 0 0 0 0 0

0 0

0 1

, 0

(L )

(3) 1

1 0 0 1 0 0
0

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

a53 a33 a53

0 0 0 0 0 0
0

0 0

0 1

i posti ci

a11 0 0 0 0

a12
(1) a22

a13
(1) a23 (2)

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

(1) a25

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

0 0 0

a53 0 0

a54

a44

a54

(2) a55 . (3) a45

a15

a55

(3)

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

P (4)

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
(1) (2)

a14 a24
(1) (2)

a15

a53 0 0

a54

(3) a54

(1) a25 (3) a55

(2) a55 .

a44

(3)

a45

(3)

Kako je po pretpostavci a44 = 0, mo zemo 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 mno zenje inverza trokutastih matrica L(k) jednostavno. Medutim, mi sada imamo permutacijske matrice izmedu, pa ostaje istra ziti kako

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 167

one djeluju na strukturu produkta. Primijetimo, 1 0 0 0 0 0 0 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 a33 a53


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

0 0 0 0 0 0
0

1 0 0 1 0 0
0

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

a53 a43 a53

0 0 0 0 0 0
1

0 1

0 0

1 0

1 0 0 1 0 0
0

0 0 1 a33 a53 a43 a53


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

0 0

L(3)

0 0 0 0 1 0 0 0 0 1 0 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

Dakle, P (4) mo zemo prebaciti s lijeve na desnu stranu od L(3) , ako u L(3) permutiramo elemente ispod dijagonale u tre cem stupcu. Tako dobivena matrica L(3) ima istu strukturu kao i L(3) . Na isti na cin je P (3) L(2) L(1) = L(2) L(1) P (3) i P (4) L(2) L(1) = L(2) L(1) P (4) 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 odgovaraju cih elemenata. Nadalje matrica 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 00 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 op cenito. Na kraju eliminacija bi 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 (jedini cnim matricama). Ilustrirajmo opisanu proceduru jednim numeri ckim primjerom. Primjer 4.3.3 Neka je 1 1 4 1 2 1 1 6 A= . 5 1 1 0 1 4 1 3 Najve ci element u prvom stupcu od A je na poziciji (3, 1) to zna ci da prvi pivot maksimiziramo ako zamijenimo prvi i tre ci redak od A. Tu zamjenu realizira permutacija P (1) , gdje je P (1) Sada deniramo

(4.3.11)

0 0 = 1 0

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

1 0 0 0 5 2 0 5 1 0 0 (1) (1) (1) (1) L = , pa je A = L P A = 1 0 0 1 0 5 1 0 0 1 0 5 Sljede ci pivot je maksimiziran permutacijom P (2) , gdje je
0 0

1 3 5 19 5 4 5

6 . 1

P (2) =

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

3 . 1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 169

Sljede ci korak eliminacija glasi

L(2) =

0 0

0 1 4 19 3 0 19

0 0 0 0

0 1

0 ,

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

0 0

1 19 5 0 0

1 4 5 69 19 9 19

0 3 7 19 105 19

Sljede ca permutacija je identiteta, P (3) = I , pa u zadnjem koraku imamo 1 0 = 0


L(3)

0 1 0

0 0 1 9 0 69

0 0 , 0

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

0 0

1 19 5 0 0

1 4 5 69 19 0

. 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

0 1 0 0

0 0 0 1

0 1

0 (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

0 0 0 1 0 1 0 0

1 0 0 0

1 1 5 =1 5 2 5

0 1

0 0

0 1 12 05 0 1
1 0 0 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 U 0

0 1

0 0 1 0 0 0 0 1 0 0 1 0 0 1
0

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

0 0 0 0

1 19 5 0 0

1 4 5 69 19 0

0 3 7 19 7182 1311

Dakle, mo zemo zaklju citi sljede ce: 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 mo zemo odabrati tako da su svi elementi matrice L po apsolutnoj vrijednosti najvi se jednaki jedinici. Preciznije, vrijedi sljede ci teorem. 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 Ako su matrice P (k) odabrane tako da vrijedi

uii.
i=1

|(P (k) A(k1) )kk | = max |(P (k) A(k1) )jk |


k j n

onda je
1k n 1i,j n

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


1i,j n

U tom slu caju faktorizaciju P A = LU zovemo LU faktorizacijom s (standardnim) pivotiranjem redaka. Dokaz. Na po cetku, primijetimo da za matricu L(k) = i permutaciju Sn oblika = Ik 0 0 nk , Ik 0 v 0 In k , ,k k+1 . v= . . nk
(k )

(k )

Snk

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 171

vrijedi L(k) = Ik 0 nk v Im 0 0 = nk 0 nm Ik 0 nk v 0 = L(k) . In k

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

pa je mno zenje analogno slu caju m = k . Kratko ka zemo da prolazi kroz L(k) . Nadalje, jasno je da u svakom koraku mo zemo odrediti permutaciju P (k) tako da postoji donjetrokutasta transformacija L(k) 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), mo zemo posti ci da je U = A(n1) gornjetrokutasta 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 ,

sto zna ci da P (n1) prolazi kroz L(n2) , produkt P (n1) P (n2) prolazi kroz L(n3) , 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 najvi se jednaki jedinici.

4.4.

Numeri cka svojstva Gaussovih eliminacija

U prethodnim odjeljcima Gaussovim smo se eliminacijama bavili u okvirima linearne algebre. Preciznije, nismo razmatrali prakti cne detalje realizacije izvedenih algoritama na ra cunalu. Zapravo, termin prakti cni detalji bi trebalo citati kao problemi. Za sto?

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 172

Ra cunalo je ograni cen, kona can stroj. Imamo ograni cenu koli cinu memorijskog prostora u kojem mo zemo dr zati polazne podatke, medurezultate i rezultate ra cunanja1 . Umjesto skupa realnih brojeva R imamo njegovu aproksimaciju pomo cu kona cno mnogo prikazivih brojeva (realni brojevi koje ra cunalo koristi su zapravo kona can skup razlomaka) sto zna ci da ra cunske operacije ne mo zemo izvr savati niti to cno niti rezultat mo zemo po volji dobro aproksimirati. Za one citatelje koji nisu svladali osnove numeri ckih operacija linearne algebre na ra cunalu, kao i za one koji taj materijal zele ponoviti, osnovne cinjenice su dane u dodatku u odjeljku 4.4.4.. Preporu camo da citatelj svakako baci pogled na taj odjeljak prije nastavka citanja ovog materijala. Prakti cno je odvojeno analizirati LU faktorizaciju i rje senje trokutastog sustava. Po cinjemo s LU faktorizacijom, gdje nas o cekuje niz zanimljivih zaklju caka.

4.4.1.

Analiza LU faktorizacije. Va znost pivotiranja.

Prije nego prijedemo na numeri cku analizu algoritma, pogledajmo kako ga mo zemo implementirati na ra cunalu s minimalnim kori stenjem dodatnog memorijskog prostora. Prisjetimo se na seg 5 5 primjera i relacije (4.3.10):

1 a 21 a11 A= a31 a11 a41 a11 a51 a11

0 1 a32 a42
(1) (1)

0 0 1 a43
(2)

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

a22

(1)

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

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

a11 0 0 0 0 0 0

a12 a22 0 0 0
(1)

a13 a23
(1) (2)

a14 a24
(1) (2)

a15

a33 0 0 U

a34

(3) a44

(1) a25 (3) a45 (4)

(2) a35 .

a55

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 pa zljivo pogledamo proces ra cunanja LU faktorizacije, uo cavamo da ga mo zemo 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
Svaka operacija zahtijeva izvjesno vrijeme izvr savanja pa je ukupno trajanje algoritma takoder va zan faktor. U ovom odjeljku prvenstveno cemo analizirati problem to cnosti.
1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 173

ne treba nigdje posebno zapisivati. Na taj na cin se elementi polazne matrice gube, a ra cunanje mo zemo shvatiti kao promjenu sadr zaja polja A koje sadr zi matricu A:

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 a22
(1)

a13 a23
(1)

a14 a24
(1)

a15

a31 a11 a41 a11

(1) a32 (1) a22

a33 a43 a53 a33

(2)

a34 a44 a54 a44

(2)

a42 a52

(1)

(2) (3)

(1) a22 (1) (1)

(2) a33 (2)

a51 a11

(3) (3)

a22

(2)

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

(1) a25

a55

Sve matrice A(k) , k = 1, 2, . . . , n 1 su pohranjene u istom n n polju koje na po cetku sadr zi matricu A A(0) . Na ovaj na cin zapis algoritma 4.3.3 postaje jo s jednostavniji i elegantniji. Algoritam 4.4.1 Ra cunanje LU faktorizacije matrice A bez dodatne memorije. 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 uobi cajene u programskim jezicima element matrice (dvodimenzionalnog polja) ozna cili smo s A(i, j ). Isto tako, vidimo da konkretna realizacija algoritma na ra cunalu uklju cuje dodatne trikove i modikacije kako bi se sto racionalnije koristili resursi ra cunala (npr. memorija). Dodatnu pa znju zahtijeva izvodenje aritmeti ckih operacija pri cemu ne mo zemo izbje ci gre ske zaokru zivanja. Analiza gre saka zaokru zivanja je, ponekad, tehni cki komplicirana. Va zno je uo citi da cilj takve analize nije jednostavno tehni cko prebrojavanje svih gre saka zaokru zivanja nego izvodenje slo zenijih i dubljih zaklju caka o numeri ckoj stabilnosti algoritma i o pouzdanosti kori stenja dobivenih rezultata.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 174

Da bismo dobili ideju o kvaliteti izra cunate faktorizacije, analizirat cemo primjer faktorizacije 4 4 matrice a11 a A = 21 a31 a41

a12 a22 a32 a42

a13 a23 a33 a43

a14 a24 . a34 a44

ij ] i Izra cunate aproksimacije matrica L = [ ij ] i U = [ uij ] ozna citi cemo s L = [ U = [u ij ]. Kao u opisu algoritam za ra cunanje LU faktorizacije u odjeljku 4.3.3., koristit cemo matrice L(i) i transformacije oblika A(i) = L(i) A(i1) , i = 1, . . . , n 1. Izra cunate aproksimacije ozna cavamo s L(i) i A(i) . Primijetimo da je prvi redak matrice U jednak prvom retku polazne matrice A, u 11 0 U = 0 0

u 12 u 22 0 0

u 13 u 23 u 33 0

u 14 a11 u 24 0 = u 34 0 u 44 0 0 1 0 0 0 0 1 0 0 0 0 1

a12 u 22 0 0

a13 u 23 u 33 0

a14 u 24 , u 34 u 44

u 1j = a1j ,

j = 1, . . . , 4 .

Sada umjesto matrica L(1) i A(1) = L(1) A imamo izra cunate matrice 1 = 21 31 41 a11 0 = 0 0

L(1)

A(1)

a12 21 u a22 12 a32 31 u 12 41 u a42 12 u 12 u 22 u 13 u 23

u 11 0 = 0 0

u 14 u 24 ,

a13 21 u a23 13 a33 31 u 13 41 u a43 13

a14 21 u a24 14 31 u a34 14 41 u a44 14 j = 2, 3 , 4 .

21 u u 2j = a2j 1j ,

Ovdje smo sa ozna cili one elemente koje cemo mijenjati u sljede cem koraku. Pri(1) mijetimo da su u prva dva retka matrice A ve c izra cunata prva dva retka matrice U . U sljede cem koraku ra cunamo 1 0 0 1 = 32 0 42 0

L(2)

0 0 1 0

0 0 0 1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 175

A(2)

u 11 0 = 0 0

a11 0 = 0 0

a12 u 22 0 0 u 12 u 22 0 0

a13 u 23 31 u 32 u (a33 13 ) 23 (a43 41 u 14 ) 42 u 23 u 13 u 23 u 33 u 14 u 24 , u 34

a14 u 24 31 u 32 u (a34 14 ) 24 41 u 42 u (a44 14 ) 24 j = 3, 4 .

31 u 32 u u 3j = (a3j 1j ) 2j ,

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

L(3)

0 0 1 0 0 1 43 0

0 0 , 0 1

koja primjenom na A(2) , daje i preostali element matrice U , 41 u 42 u 43 u u 44 = ((a44 14 ) 24 ) 34 . Uo cavamo da se elementi uij ra cunaju prema formuli uij = aij
i1 m=1

im umj ,

2 i n,

i j n,

pri cemu je u1j = a1j , 1 j n. Ovu formulu je lako provjeriti raspisivanjem produkta A = LU po elementima. U na sem algoritmu, zbog gre saka zaokru zivanja, vrijedi i1 u i2 u i,i1 u u ij = ( ((aij 1j ) 2j ) ) i1,j . Formula (4.4.1) je samo specijalan slu caj ra cunanja op cenitog izraza oblika s = v1 w1 v2 w2 v3 w3 vp wp , pri cemu se koristi algoritam u ij = aij ; za m = 1, . . . , i 1 { im u u ij = u ij mj ; } (4.4.1)

Kori stenjem propozicije 4.4.3, zaklju cujemo da postoje ij , ijm takvi da je u (4.4.1) u ij = aij (1 + ij )
i1 m=1

im u mj (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) mo zemo pro citati i kao
i

n . 1 n
i

aij =
m=1

im u mj + aij ,

aij =
m=1

im u mj ijm ij aij ,

(4.4.3)

ii u ii = 1 i iji = 0. gdje smo u ij napisali kao ij (1 + iji), uz Time smo dokazali sljede ci teorem. Teorem 4.4.1 Neka je algoritam 4.4.1 primijenjen na matricu A Rnn i neka su uspje sno izvr sene sve njegove operacije. Ako su L i U izra cunati trokutasti faktori, 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 zaslu zuje poseban komentar. Na sa analiza nije dala odgovor na pitanje koliko su L i U daleko od to cnih matrica L i U . Umjesto toga, dobili smo zaklju cak da L i U cine egzaktnu LU faktorizaciju matrice A + A. Drugim rije cima, ako bismo A promijenili u A + A i zatim uzeli egzaktnu faktorizaciju, dobili bismo upravo L i U . Ovu situaciju mo zemo ilustrirati komutativnim dijagramom na slici 4.4.1. Dobiveni rezultat je u praksi od izuzetne va znosti, jer cesto je u primjenama nemogu ce raditi s egzaktnim podacima matrica A mo ze biti rezultat mjerenja ili nekih prethodnih prora cuna, dakle neto cna. Ako je egzaktna (nepoznata) matrica A i A = A + A, onda je LU = A + A + A i LU = A + A. Ako su A i A usporedivi po veli cini, onda mo zemo u mnogim primjenama L i U smatrati jednako dobrim kao i L i U . izra cunato E

A perturbacija podataka

 egzaktna

L, U

faktorizacija

A + A Slika 4.4.1 Komutativni dijagram LU faktorizacije u aritmetici kona cne preciznosti. Izra cunati rezultat je ekvivalentan egzaktnom ra cunu s promijenjenim polaznim 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 zalost nije osigurano u LU faktorizaciji. Sljede ci primjer pokazuje numeri cku nestabilnost algoritma. Primjer 4.4.1 Neka je mali parametar, || 1, i neka je matrica A denirana s A= U egzaktnom ra cunanju imamo L(2,1) 1 = 1

1 . 1

0 1

L(2,1) A = 0 1 L

1 1

1 ,

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

1 1 U

1 .

Pretpostavimo sada da ovaj ra cun provodimo na ra cunalu u aritmetici s 8 decimalnih znamenki, tj. to cnosti 108 . Neka je || < , npr. neka je = 1010 . Kako je problem jednostavan, vrijedi 21 = 21 (1 + 1 ), u 11 = u11 , u 12 = u12 , |1 | ,

1 u 22 = 1 1 = 1 = (1 + 1 ). Primijetimo da je u 22 u22 2 . u22 1

Dakle svi elementi matrica L i U izra cunati su s malom relativnom pogre skom. Sjetimo se da je ovaj primjer najavljen kao primjer numeri cke nestabilnosti procesa eliminacija, odnosno LU faktorizacije. Gdje je tu nestabilnost ako su svi izra cunati elementi matrica L i U gotovo jednaki to cnim vrijednostima? Odstupanje (relativna gre ska) je najvi se reda veli cine dvije gre ske zaokru zivanja gdje je onda problem? Izra cunajmo (egzaktno) LU : LU = 1 1 0 1 0 1 = 1 1 1 = 0 1 A 1 0 + 1 0 0 . 1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 178

Primijetimo da A ne mo zemo smatrati malom perturbacijom polazne matrice A jedan od najve cih elemenata u matrici A, a22 = 1, je promijenjen u nulu. Ako bismo koriste ci L i U poku sali rije siti linearni sustav Ax = b, zapravo bismo radili na sustavu (A + A)x = b. Tek da dobijemo osje caj kako katastrofalno lo s rezultat mo zemo dobiti, pogledajmo linearne sustave 1 Njihova rje senja su x1 x2 1 1 1 = , 2 1 1 1

1 1

x1 1 = , x2 2

1 0

x 1 1 = . 2 x 2

x 1 2 = . x 2 1 2

Vidimo da se x1 i x 1 potpuno razlikuju. Zaklju cujemo da Gaussove eliminacije mogu biti numeri cki nestabilne dovoljna je jedna gre ska zaokru zivanja u krivo vrijeme na krivom mjestu pa da dobiveni rezultat bude potpuno neto can. Napomena 4.4.2 I ovaj primjer zaslu zuje komentar. Vidimo da katastrofalno velika gre ska nije uzrokovana akumuliranjem velikog broja gre saka zaokru zivanja. Cijeli problem je u samo jednoj aritmeti ckoj operaciji (pri ra cunanju u 22 ) koja je zapravo izvedena jako to cno, s malom gre skom zaokru zivanja. Cilj numeri cke analize algoritma je da otkrije mogu ce uzroke nestabilnosti, objasni fenomene vezane za numeri cku nestabilnost i ponudi rje senja za njihovo uklanjanje. Nestabilnost ilustrirana primjerom u skladu je s teoremom 4.4.1. Naime, ako izra cunamo |L| |U | dobijemo |L| |U | = | | 1+ 1 , 2| 1 |

gdje je 1 + = (1 ), || . Kako je na poziciji (2, 2) u matrici |L| |U | element koji je reda veli cine 1/|| > 1/, vidimo da nam teorem ne mo ze garantirati mali A. Jasno nam je da je, zbog nenegativnosti matrica |L| i |U |, mali produkt |L| |U | mogu c samo ako su elementi od L i U mali po apsolutnoj vrijednosti. Pogledajmo 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 = P A = = . 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 1 1 , 0 1 0 , |A | |A|.

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

po elementima istog reda veli cine kao i |A |. Dakle, u ovom primjeru je bilo dovoljno zamijeniti poredak redaka u A (redoslijed jednad zbi) pa da imamo garantirano dobru 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 najvi se 2 jednaki jedinici , doprinosi numeri ckoj stabilnosti. Naime, lako se vidi da su tada i svi elementi matrice |L| manji ili jednaki od jedan. U tom slu caju veli cina produkta |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 a ij =
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 gre saka zaokru zivanja pivotiranje ne predstavlja dodatnu tehni cku pote sko cu, pa odmah mo zemo iskazati sljede ci teorem. Teorem 4.4.2 Neka je LU faktorizacija n n matrice A izra cunata s pivotiranjem redaka u aritmetici s relativnom to cnosti i neka su L i U dobivene aproksimacije za L i U . Ako je pri tome kori stena permutacija P , onda je 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 citanja dokaza teorema 4.3.2 bi trebalo biti jasno da permutacije prolaze kroz elementarne transformacije L(i) neovisno o to cnosti ra cunanja (egzaktno ili do na gre ske zaokru zivanja). Dakle, mo zemo zaklju citi da cak i ra cunanje faktorizacije s pivotiranjem na ra cunalu odgovara ra cunu bez pivotiranja ali 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
F

2n 1 2n

n(n + 1) 2

n(n + 1) A 2

F.

Razlika u numeri ckoj stabilnosti koju donosi pivotiranje redaka je bolje pona sanje parmetra , tj. pivotiranjem mo zemo osigurati umjeren rast elemenata u toku LU faktorizacije. U primjeru 4.4.1 smo vidjeli da u LU faktorizaciji bez pivotiranja rast elemenata tokom faktorizacije mo ze biti po volji velik. Sljede ca propozicija pokazuje da u slu caju pivotiranja redaka faktor ima gornju ogradu koja je funkcija samo dimenzije problema. Propozicija 4.4.1 Ako LU faktorizaciju ra cunamo s pivotiranjem redaka u aritmetici s maksimalnom gre skom zaokru zivanja , onda je 2n1 (1 + )2(n1) . Specijalno, u slu caju egzaktnog ra cunanja je 2n1 . Dokaz. Dokaz ostavljamo citatelju za vje zbu. Primijetimo da je gornja ograda za reda veli cine 2n , sto brzo raste kao funkcija od n. Postoje primjeri na kojima se ta gornja ograda i dosti ze. Ipak, iskustvo iz prakse govori da su takvi primjeri rijetki i da je LU faktorizacija s pivotiranjem redaka dobar algoritam za rje savanje sustava linearnih jednad zbi. Mo zemo zaklju citi i preporu citi sljede ce: Gaussove eliminacije, odnosno LU faktorizaciju, valja u praksi uvijek raditi s pivotiranjem redaka.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 181

4.4.2.

Analiza numeri ckog rje senja trokutastog sustava

Kako smo vidjeli u odjeljku 4.3.2., trokutaste sustave rje savamo jednostavnim i elegantnim supstitucijama unaprijed ili unazad. Ta jednostavnost se odra zava i na dobra numeri cka svojstva supstitucija, kada ih provedemo na ra cunalu. Sljede ca propozicija opisuje kvalitetu numeri cki izra cunatog rje senja trokutastog sustava jednad zbi. Propozicija 4.4.2 Neka je T donjetrokutasta (gornjetrokutasta) matrica reda n i neka je sustav T v = d rije sen supstitucijama unaprijed (unazad) kako je opisano u odjeljku 4.3.2.. Ako je v rje senje dobiveno primjenom aritmetike ra cunala preciznosti , onda postoji donjetrokutasta (gornjetrokutasta) matrica T takva da vrijedi n (T + T ) v = d, |T | |T |, 0 . 1 n Dokaz. Dokaz zbog jednostavnosti provodimo samo za donjetrokutastu matricu T . Pretpostavljamo da se i-ta komponenta rje senja za i > 1 ra cuna na sljede ci na cin: v i = Ti1 v 1 ; za j = 2, . . . , i 1 { v i = v i Tij v j ; } v i = (di v i ) Tii .

Primjenom pravila aritmetike ra cunala dobijemo3 v 1 = d1 (1 + 1 ), T11 |1 | ,

te za i = 2, . . . , n di
i1 j =1

Tij (1 + j ) vj , |j |

v i =

Tii (1 + 1,i )(1 + 2,i )

(i 1) , 1 (i 1)

|1,i | ,

|2,i | .

Napomena 4.4.3 Koliko god da je prethodni rezultat tehni cki jednostavan, valja naglasiti da je zaklju cak o to cnosti rje senja trokutastog sustava va zan: izra cunato rje senje zadovoljava trokutasti sustav sa matricom koecijenata koja se po elementima malo razlikuje od zadane. Pojednostavljeno govore ci, ako radimo s 108 i ako je n = 1000, onda izra cunati vektor v zadovoljava T v = d, gdje se elementi od T 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.

To cnost izra cunatog rje senja sustava

Sada nam ostaje napraviti kompoziciju dobivenih rezultata i ocijeniti koliko to cno mo zemo na ra cunalu rije siti linearni sustav Ax = b u kojem smo izra cuali LU faktorizaciju P A = LU i supstitucijama naprijed i unazad izra cunali x = U 1 (L1 (P b)). Kako smo vidjeli u prethodnim odjeljcima, permutacija P se mo ze (za potrebe analize) odmah primjeniti na polazne podatke i numeri cku analizu mo zemo provesti bez pivotiranja. Kako to pojednostavljuje oznake, mi cemo pretpostaviti da su na polazne podatke A i b ve c primijenjene zamjene redaka, tako da su formule jednostavno A = LU i x = U 1 (L1 b)). Neka su L i U izra cunate trokutaste matrice, gdje je LU = A + A, kao u teoremu 4.4.1. Izra cunato rje senje y sustava Ly = b zadovoljava (prema propoziciji 4.4.2) n (L + L) y = b, | L| |L|. 1 n Na isti na cin rje senje x sustava U x = y zadovoljava (U + U ) x=y , Dakle, (L + L)(U + U ) x = b, tj. (A + A + E ) x = b, E = L U + LU + L U , |E | |L| | U | + | L| |U | + | L| | U |. Time smo dokazali sljede ci teorem. Teorem 4.4.3 Neka je x rje senje regularnog n n sustava jednad zbi Ax = b, dobiveno Gaussovim eliminacijama s pivotiranjem redaka. Tada postoji perturbacija A za koju vrijedi (A + A) x = b, |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, poka zimo kako cijeli algoritam na ra cunalu mo zemo implementirati bez dodatne memorije. Kako smo prije vidjeli, LU faktorizaciju mo zemo napraviti tako da L i U smjestimo u matricu A. Sada jo s primijetimo da sustave Ly = b i Ux = y mo zemo rije siti tako da y i x u memoriju zapisujemo na mjesto vektora b. Tako dobijemo sljede cu implementaciju Gaussovih eliminacija:

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 183

Algoritam 4.4.2 Rje savanje trokutastog sustava jednad zbi Ax = b Gaussovim eliminacijama 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 ); } } } / Rje savanje sustava Ly = b, y napisan na mjesto b. / za i = 2, . . . , n { za j = 1, . . . , i 1 { b(i) = b(i) A(i, j )b(j ); } } / Rje savanje sustava Ux = y , x napisan na mjesto b. / 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 matri cnog ra cuna na ra cunalu

Na ra cunalu op cenito ne mo zemo egzaktno izvr savati aritmeti cke operacije. Rezultat zbrajanja, oduzimanja, mno zenja ili dijeljenja dva broja x i y prikaziva u ra cunalu je po deniciji broj u ra cunalu koji je najbli zi egzaktnom zbroju, razlici, umno sku, odnosno kvocijentu x i y . Pri tome je relativna gre ska tako izvedenih operacija manja ili jednaka polovini najve ceg relativnog razmaka dva susjedna broja u ra cunalu. Na primjer, u standardnoj jednostrukoj preciznosti (32-bitna reprezentacija) je relativni razmak susjednih brojeva omeden s 223 pa je relativna gre ska aritmeti ckih operacija najvi se 108 . Navedena pravila za izvr savanje elementarnih aritmeti ckih operacija lako za-

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 184

pi semo na sljede ci na cin: zbrajanje: x y = (x + y )(1 + 1 ), |1 | oduzimanje: x y = (x y )(1 + 2 ), |2 | mno zenje: x y = xy (1 + 3 ), |3 | 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 najve ci normalizirani strojni broj. (U dvostrukoj preciznosti (64-bitna reprezentacija brojeva) je 10308 , M 10308 .) Analiza za rezultate izvan intervala (, M ) je ne sto slo zenija pa je ne cemo raditi. Kako na ra cunalu izgledaju osnovne operacije linearne algebre? Lako se uvjerimo da je ve cina operacija (skalarni produkt, norma, linearne kombinacije, matri cne operacije) bazirana na ra cunanju
m

s=
i=1

xi yi,

gdje su xi , yi skalari (realni ili kompleksni brojevi ili njihove aproksimacije na ra cunalu). Ako s ra cunamo na standardan na cin, u ra cunalu dobijemo, npr. s 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 1 + 2 + x3 y3 (1 + 3 )(1 + 3 )(1 + 4 ) +x4 y4 (1 + 4 )(1 + 4 ) 1 + 3
m=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 mo zemo ocijeniti s 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 ra cunalu, m 1. Ako vrijednost


m

s=
i=1

xi yi

ra cunamo kao s = x1 y1 ; za i = 2, . . . , m { s =s xi yi ; }
m

onda postoje brojevi i , i = 1, . . . , m, takvi da vrijedi s =


i=1

xi yi (1 + i ),

|i |

m , 1 m

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

Dokaz. Dokaz smo ve c skicirali na primjeru m = 4. O cito je formalni dokaz najlak se izvesti matemati ckom indukcijom po m. Dovoljno je primijetiti da je u koraku indukcije s xm+1 ym+1 = ( s + xm+1 ym+1 (1 + 1 ))(1 + 2 ) =s (1 + 2 ) + xm+1 ym+1 (1 + 1 )(1 + 2 ), te da je 1 (m + 1) (1 )(1 m) i 1+ (m + 1) 1+ . 1 m 1 (m + 1) |1 | , |2 | ,

4.5.

Numeri cko rje savanje simetri cnog sustava jednad zbi

U mnogim va znim primjenama, posebno u in zenjerskim znanostima, linearni sustav jednad zbi je simetri can. To zna ci da je u sustavu Ax = b matrica A = T simetri c na, A = A , tj. za sve i , j je aij = aji . [ aij ]n i,j =1 Naravno, ako pametno iskoristimo simetriju, A = AT , onda Gaussove eliminacije mo zemo provesti puno ekasnije. Pokazuje se da u slu caju simetri cne matrice LU faktorizacija ima op ceniti oblik A = RT JR, gdje je R gornjetrokutasta matrica, a J = diag(1). Da bismo dobili ideju za sto je to tako, pogledajmo LU faktorizaciju A = LU simetri cne regularne matrice A. Iz

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 186

A = LU slijedi da je U AU 1 = U L istovremeno simetri cna i gornjetrokutasta 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 sa cuvati simetriju, kod simetri cne matrice cemo istovremeno permutirati retke i stupce, tj. radit cemo s P AP T , gdje je P matrica permutacije. J = diag(sign(di )) i R = |D |1/2 U.

4.5.1.

Pozitivno denitni sustavi. Faktorizacija Choleskog

Ka zemo da je simetri cna n n matrica A pozitivno denitna ako za sve n x R , x = 0, vrijedi xT Ax > 0. Ako npr. uzmemo x = ei , i-ti stupac jedini cne matrice, onda je aii = eT i Aei > 0, tj. 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 zaklju cujemo da je i S T AS pozitivno denitna matrica. 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 a A


T

aT a11 a11 = 0 I
n1

aaT , A a11

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 187

pri cemu je dobivena matrica takoder pozitivno denitna. Sada se lako provjeri da aaT je i matrica A pozitivno denitna, dakle, njen prvi dijagonalni element je a11 strogo ve ci od nule pa se postupak eliminacija mo ze nastaviti. Time je pokazana egzistencija faktorizacije A = RT R u kojoj je R gornjetrokutasta matrica. Faktorizaciju A = RT R zovemo faktorizacija Choleskog ili trokutasta faktorizacija simetri cne pozitivno denitne matrice. Elemente matrice R mo zemo izra cunati jednostavnim nizom formula. Raspisivanjem relacije r11 r 12 . . A = RT R = . . . . r1n

0 r22 . . . . . . r2n

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

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

r12 r22 0 . . . 0

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

rn1,n

r1n r2n . . .

rnn

po komponentama, za i j , dobijemo aij =


k =1

rkirkj

odakle direktno slijedi sljede ci algoritam za ra cunanje matrice R. Algoritam 4.5.1 Ra cunanje faktorizacije Choleskog simetri cne pozitivno denitne matrice A Rnn . za i = 1, . . . , n { rii = aii
i1 2 rki ;

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


i1

k =1

rki rkj

k =1

rii ; } }

Promotrimo sada linearni sustav jednad zbi u kojem je A Rnn simetri cna, pozitivno denitna matrica. Ako je A = RT R trokutasta faktorizacija, onda rje senje x = A1 b = R1 R b mo zemo dobiti tako da prvo nademo rje senje y sustava RT y = b, a zatim rije simo sustav Rx = y . Kako je R gornjetrokutasta matrica, cijeli postupak je vrlo jednostavan i mo zemo ga zapisati na sljede ci na cin:

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 188

Algoritam 4.5.2 Rje savanje linearnog sustava jednad zbi Ax = b s pozitivno denitnom matricom A Rnn . / Trokutasta faktorizacija A = RT R / za i = 1, . . . , n { rii = / za i = 1, rii = aii / za j = i + 1, . . . , n { rij = aij
i1

aii

i1

2 rki ;

k =1

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 {


n

xi = yi

rij xj
j =i+1

rii ; }

Na s je cilj ispitati numeri cka svojstva algoritma 4.5.1, ako njegove operacije izvedemo na ra cunalu u aritmetici kona cne preciznosti . Propozicija 4.5.1 Neka je za zadanu n n pozitivno denitnu matricu A algoritam 4.5.1 uspje sno izvr sio sve operacije u kona cnoj aritmetici s gre skom zaokru zivanja . Ako je R izra cunata aproksimacija matrice R, onda je RT R = A + A, gdje je A = [ aij ] simetri cna 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 r ii = (1 + 2 ) (1 + 1 ) aii


i1 k =1 2 r ki (1 + k ) ,

(4.5.2)

1 Ovdje koristimo pretpostavku da je algoritam uspje sno zavr sio sve operacije, tj. da je uspje sno izra cunao r ii > 0 za sve i.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 189

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


i 2 r ki = aii + k =1 i1 2 2 r ii r ki k = aii + aii . 1+ k =1

(4.5.3)

Ovu relaciju mo zemo zapisati i u obliku r ii = Za i = 1 o cito je r 11 = Denirajmo | | , max |k | . 1 + 1ki1 Uz prethodnu deniciju, lako provjerimo da u relaciji (4.5.4) vrijedi i = max
i

aii + aii

i1 k =1

2 r ki .

(4.5.4)

(1 + 2 )2 a11 =

a11 + a11 .

|aii | i

k =1

2 r ki

i aii , 1 i

c(n) . 1 c(n)

Na isti na cin analiziramo ra cunanje vrijednosti r ij , j > i. Imamo aij


i1 k =1 r kj r ki (1 + k )

r ij = (1 + 1 )(1 + 2 )

r ii

|k |

(i 1) , 1 (i 1)

pa stavljanjem 1 + = (1 + 1 )(1 + 2 ) lako dolazimo do relacije


i

r kj r ki = aij +
k =1

i1 r ij r ii r kj r ki k = aij + aij = aji + aji. 1+ k =1

(4.5.5)

Ovu relaciju mo zemo pro citati i na drugi na cin kao aij + aij r ii
i1 k =1

r kj r ki . (4.5.6)

r ij = Ako sada deniramo

i = max mo zemo pisati da je


i

| | , max | | , 1 + 1ki1 k
i i 2 r kj k =1 k =1 2 r ki

|aij | i

k =1

|r kj | |r ki| i i

(1 i )(1 j )

aii ajj ,

c(n) . 1 c(n)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 190

Kona cno, primijetimo da relacije (4.5.3) i (4.5.5) pokazuju da je RT R = A + A, gdje je A = [ aij ]n i,j =1 . Time je tvrdnja propozicije dokazana. Sad nas zanimaju numeri cka svojstva algoritma 4.5.2. Ako je x izra cunata 1 aproksimacija to cnog rje senja x = A b, sto mo zemo re ci o x ? Iz propozicije 4.5.1 znamo da izra cunata matrica R zadovoljava RT R = A + A, |aij | max C . i,j aii ajj

U sljede cem koraku rje savamo dva trokutasta sustava, RT y = b i Rx = y . Neka su y y ix x, redom izra cunati vektori rje senja. Prema propoziciji 4.4.2, postoje gornjetrokutaste matrice 1 R i 2 R tako da vrijedi (R + 1 R)T y = b, (R + 2 R) x=y .

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

Nadalje, slijedi da izra cunati x zadovoljava (R + 1 R)T (R + 2 R) x = b, Deniramo li

tj. (RT R + RT 2 R + (1 R)T R + (1 R)T 2 R) x = b.

E = RT 2 R + (1 R)T R + (1 R)T 2 R dobivamo da je pa zaklju cujemo da x zadovoljava sustav (RT R + E ) x = b, u kojem je E po elemenT tima mala perturbacija matrice sustava A = R R. Primijetimo i da je 2 2 |Eij | (2 + ) a ii a jj (2 + )(1 + C ) aii ajj , 1 i, j n.
2 |E | (2 + )|R|T |R|,

cunatog rje senja Kako je A = A + A, dobivamo vezu izmedu polaznog sustava i izra x : (A + F ) x = b, gdje je F = A + E. Pri tome su i E i A ocijenjeni po elementima, na isti na cin i s pribli zno istom gornjom ogradom. Mo zemo re ci da smo rije sili sustav s matricom A + F koja je blizu zadane matrice A u smislu da je |Fij | max , i,j aii ajj
2 = C + (2 + )(1 + C ).

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

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 191

Ipak, nismo sasvim zadovoljni zaklju ckom. Za sto? Pa zljivi citatelj je sigurno ve c uo cio da op cenito E nije simetri cna, sto povla ci da F nije simetri cna, pa niti A + F nije simetri cna. Mi jesmo rije sili sustav blizak zadanom, ali smo izgubili va znu strukturu polaznog sustava simetriju. Simetrija matrice A sustava je posljedica strukture problema kojeg opisujemo sustavom Ax = b, pa nam je va zno znati da x odgovara rje senju bliskog problema, s istom strukturom, tj. simetrijom. To nas vodi do sljede ceg problema: Ako je (A + F ) x = b, postoji li simetri cna perturbacija A tako da je (A + A) x = b i tako da za veli cinu od A postoje ocjene analogne onima za F ? Sljede ca propozicija daje potvrdan odgovor na to pitanje. Propozicija 4.5.2 Neka je (A + F ) x = b, gdje je A simetri cna i pozitivno denitna i neka vrijedi |Fij | max . i,j aii ajj Tada postoji simetri cna perturbacija A takva da je (A + A) x = b. Pri tome je |aij | , max i=j aii ajj max
i

|aii | (2n 1). aii

Dokaz. Primijetimo da A mora zadovoljavati jednad zbu Ax = Fx , koja daje n 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 x = D 1 b, tj. (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 1 | |z 2 | |z n |. Gornji sustav zapisat cemo u ekvivalentnom obliku P T (As + Fs )P z = P T D 1 b, tj. (As,p + Fs,p ) z = P T D 1 b,

gdje je As,p = P T As P , Fs,p = P T Fs P . Konstruirat cemo simetri cnu 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 z i +


j =i

mij z j = (Fs,p )ii z i +


j =i

(Fs,p )ij z j .

Iskoristimo li deniciju izvandijagonalnih elemenata matrice M , dobivamo relaciju mii z i = (Fs,p )ii z i +
i1

j =1

((Fs,p )ij (Fs,p )ji ) zj .

Ako je z i = 0, stavimo mii = 0. Ina ce, deniramo m11 = (Fs,p )11 , mii = (Fs,p )ii +
i1

j =1

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

z j , z i

i = 2, . . . , n.

vrijedi

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


i=j

(As,p + M ) z = P T D 1 b ili, ekvivalentno, Pri tome je

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

(4.5.7)

max |(P MP T )ij |


i=j

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


i

Skaliranjem sustava (4.5.7) dobijemo (A + A) x = b, cime je dokaz zavr sen. Napomena 4.5.1 Rezultat ovog odjeljka mo zemo sa zeti u jednostavan zaklju cak. Pozitivno denitne sustave na ra cunalu mo zemo rije siti s pogre skom koja je ekvivalentna 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 mo zemo izra cunati egzaktno rje senje sustava Ax = b, jer, i formiranje samog sustava (ra cunanje koecijenata sustava i desne strane) i njegovo rje savanje na ra cunalu, uzrokuju gre ske. Analizom tih gre saka dolazimo do zaklju cka da izra cunata aproksimacija rje senja 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 veli cinu gre ske x = x x, ako je poznata informacija o veli cini gre saka A i b. U primjeru 4.4.1 vidjeli smo da cak i mala perturbacija A mo ze potpuno promijeniti rje senje x. Kako mi u realnoj primjeni ne znamo to cno rje senje, cilj je otkriti kako mo zemo iz matrice A i vektora b dobiti ne samo ( sto je mogu ce bolju) aproksimaciju x , nego i procjenu koliko je ta aproksimacija dobra. Na po cetku teorijske analize, promotrimo jednostavniji slu caj u kojem je b = 0. Dakle, jedina perturbacija je ona koja A promijeni u A + A. Zbog jednostavnosti promatrat cemo samo (ina ce, va zan) slu caj u kojem je matrica koecijenata A + A i dalje regularna, pa je x + x jedinstveno odreden. Iz jednakosti A + A = A(I + A1 A) vidimo da je regularnost matrice A + A osigurana ako je I + A1 A regularna. Uvjet pod kojim mo zemo garantirati 1 regularnost matrice I + A A daje sljede ca propozicija. Propozicija 4.6.1 Neka je X n n matrica i Ako je X < 1 onda je I X regularna matrica i proizvoljna matri cna norma.
k =0

(I X ) 1 = I + X + X 2 + =

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 . Ako ozna cimo Sm = I + X + + X m , onda mo zemo pisati (I X )Sm = Sm (I X ) = I X m+1 , tj. Kako je, zbog X < 1, Sm = (I X )1 (I X )1 X m+1 . X
m+1

(I X )1 X m+1 (I X )1

0,

kada m ,

Kori stenjem ove propozicije, regularnost matrice A + A obi cno osiguravamo 1 tako da zahtijevamo da je A A < 1. Izbor matri cne norme ovisi o konkretnoj situaciji, npr. o tipu informacije o A ili o teorijskim rezultatima koje koristimo u analizi. Neka je izabrana matri cna norma jednaka Frobeniusovoj normi, = F ,
n

zaklju cujemo da je za dovoljno veliki indeks m matrica Sm po volji blizu matrici (I X ) 1 .

=
i,j =1

|Xij |2 =

tr(X T X ),

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 194

pri cemu je tr oznaka za trag matrice. Informacija o perturbaciji A je va zan faktor u razvoju analize. Neka je, na primjer, zadano (poznato) da je A F 1 A F

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 ,

pa x = (A + A)1 b mo zemo pisati kao x = (I + A1 A)1 A1 b = (I + A1 A)1 x, Zna ci, x x = A1 Ax , pa je xx Kako je A1 A


F 2 F,

tj. (I + A1 A) x = x.

A1 A dobivamo A
F

x 2.

xx x 2

A1
2

A1

A F = A1 A F

F.

(4.6.1)

Relacija (4.6.1) pokazuje da relativna gre ska u izra cunatom rje senju x mo ze biti 1 uve cana najvi se s faktorom F (A) = A F A F u odnosu na relativnu promjenu = A F / A F u polaznoj matrici A.

4.6.1.

Perturbacije male po normi

Sljede ci teorem daje potpuni opis gre ske ako je perturbacija dana po normi. Op cenito cemo promatrati i A i b, a mjerenja perturbacija ce biti u proizvoljnoj vektorskoj normi i pripadnoj matri cnoj normi . Teorem 4.6.1 Neka je Ax = b, (A + A)(x + x) = b + b, gdje je A 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

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, rje savanjem nejednakosti po x slijedi tvrdnja. 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 . Poku sajmo odrediti perturbacije A, b tako da vrijedi A1 b A1 Ax = A1 A1 b = A1 b , b + A1 A x .

Dakle, A i b treba odabrati tako da je A A , b b , A1 Ax = A1 A x , te da je norma razlike A1 b A1 Ax jednaka sumi normi vektora. Ovaj zadnji uvjet zna ci da A1 b i A1 Ax moraju biti kolinearni.

Ako je u jedini cni vektor za kojeg je A1 u = A1 , onda b = b u zadovoljava b = b i A1 b = A1 b . Sada stavimo A = A uv T , gdje je v Rn vektor kojeg cemo odrediti da postignemo zeljene relacije: (i ) A = A max
z =0

uv T z |v T z | = A max treba postati A = A ; z =0 z z A1 |v T x| treba postati A1 Ax = A A1 x .

(ii ) A1 Ax = A

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 ,

cime je dokaz druge tvrdnje teorema zavr sen. Vidimo da teorem 4.6.1 iz zadane informacije o veli cini perturbacija po normi 1 ( A A , b b ) izvodi optimalnu ocjenu iz koje se jasno vidi da je broj (A) = A1 A (4.6.3) odlu cuju ci faktor u dono senju suda o numeri ckoj kvaliteti izra cunate aproksimacije x = x + x sustava Ax = b. Pravilo je jednostavno:
1 Ovdje pod optimalnosti podrazumijevamo cinjenicu da je gornju ogradu za x / x nemogu ce bitno pobolj sati.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 196

Ako je relativna gre ska (po normi) u podacima najvi se , onda se relativna gre ska u rje senju pona sa kao (A).

4.6.2.

Rezidualni vektor i stabilnost

Postoji jo s jedan jednostavan i koristan na cin kako prosuditi kvalitetu aproksimacije x rje senja sustava Ax = b. Radi se o rezidualnom vektoru r = b Ax . (4.6.4)

Kako je b Ax = 0, jasno je da bi za dobru aproksimaciju x pripadni rezidual trebao biti mali po normi. Ako relaciju (4.6.4) pro citamo kako Ax = b r, tj. kao Ax = b + b, gdje je b = r,

onda vidimo da je x egzaktno rje senje sustava koji je dobiven iz originalnog sustava promjenom desne strane u b + b. Ako je r b

dovoljno mali broj, onda mo zemo x prihvatiti kao zadovoljavaju cu aproksimaciju. Za sto? Recimo da su na sa polazna matrica A i vektor b rezultati mjerenja ili nekih prethodnih prora cuna. Teorem 4.6.2 Neka je x aproksimacija rje senja sustava Ax = b i neka je ( x) = min{ : (A + A) x = b + b, Tada je ( x) = b Ax . A x + b A A , b b }.

Dokaz. Neka je r = b Ax rezidualni vektor. Ako je 0 takav da postoje A, b takvi da je A A , b b , (A + A) x = b + b, onda vrijedi r = Ax b, Stavimo sada b = A pa je r ( A x + b ), tj. b Ax . A x + b

b r. x + b

O cito je b = b . Odredimo A tako da je A = A i (A + A) x= b A b r, x + b tj. Ax = A x r. A x + b

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 197

Slika 4.6.1 Interpretacija izra cunatog rje senja x kao egzaktnog rje senja promijenjenog sustava jednad zbi. 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 tra zena svojstva.

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 jednad zbi. Ako n je A = [ aij ]n i A + A = [ a + a ] , onda je takva ocjena dana relacijama ij ij i,j =1 i,j =1 |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 shva camo po elementima. Na isti na cin pi semo |b| |b|. Primijetimo da ovakve perturbacije (|A| |A|, |b| |b|) cuvaju strukturu u smislu da nule u matrici A i vektoru b ostaju nepromijenjene. Nadalje, ove perturbacije su neizbje zne pri pohranjivanju podataka u ra cunalo.

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 matri cnu normu, takoder ozna cenu s . Neka je |A1 ||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 rje senje x + x = (A + A)1 (b + b) vrijedi 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 Neka je m {1, 2, . . . , n} odabran tako da je Denirajmo dijagonalne matrice D1 = diag(sign((A1 )mi ))n i=1 ,
n n

(4.6.7)

x ( |A1| |A| |x| + |A1 | |b| ) + |A1| |A|

x .
.

(|A1 | |A| |x| + |A1 | |b|)m = |A1| |A| |x| + |A1 | |b|

D2 = diag(sign(xi ))n i=1 ,


n

i perturbacije A = D1 |A|D2 , b = D1 |b|. Sada lako ra cunamo (A1 Ax A1 b)m =


j =1 i=1 1

(A1 )mj (A)ji xi


1

(A1 )mj bj
j =1

= (|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|

+ |A1| |A|

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 199

Korolar 4.6.1 Relativni faktor osjetljivosti je dan relacijom x x lim sup : (A + A)(x + x) = b + b, 0

|A| |A|,

|A1 | |A| |x| + |A1 | |b| x

|b| |b|

Primijetimo da je |A1 | |A| |x|

|A1| |A| |x| + |A1 | |b| |A1 | |A| |x| x

2 |A1| |A| |x|

Zato kao koecijent osjetljivosti mo zemo koristiti veli cinu (A, x) =

Teorem 4.6.4 Neka je x izra cunata aproksimacija rje senja sustava Ax = b i neka je r = b Ax izra cunati rezidual. Vrijedi min{ 0 : (A + A) x = b + b, |A| |A|, |b| |b|} = max
i

| ri | . (|A| |x | + |b|)i

Optimalna perturbacija polaznih podataka koja reproducira izra cunato rje senje dana je s A = D1 |A|D2 , b = D1 |b|, gdje je | ri | D1 = diag (|A| |x | + |b|)i
n

,
i=1

D2 = diag(sign( xi ))n i=1 .

Primjer 4.6.1 U ovom primjeru istra zujemo stabilnost Gaussovih eliminacija po elementima matrice. Neka su = 0 i = 0 zadani i neka je A= , 0 b= 1 , 0 0 x = A1 b = 1 . 0 .

Trokutasta LU faktorizacija matrice A je A 1 = 0 1 L 0 1

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 200

Vektor y = L1 b =

1 je izra cunat bez gre ske. Ako pogledamo proces supstitucija 1 unazad, egzaktne formule x2 = 1/ , x1 = 0, prelaze u x 2 = 1 (1 + 1 ), 1 1 x 1 = (1 x 2 (1 + 2 ))(1 + 3 )(1 + 4 ) = (1 2 1 2 )(1 + 3 )(1 + 4 ),

gdje su 1 , 2 , 3 , 4 male gre ske reda veli cine to cnosti ra cunala. Primijetimo da op cenito ne mo zemo garantirati x 1 = 0. Ako je broj u ra cunalu takav da je (1 ) = 1, bit ce x 1 = 0. Na primjer, u IEEE aritmetici je takav broj, npr. = 4.057062130620955e001, pri cemu je (1 ) = 9.999999999999999e001. (Citatelju za vje zbu ostavljamo da poku sa na ci jo s takvih brojeva.) Poku sajmo sada izra cunato rje senje x 1 , x 2 interpretirati kao egzaktno rje senje sustava (A + A) x = b + b, gdje su elementi matrice A oblika aij (1+ ij ), a elementi od b su bi (1 + i ). Drugim rije cima, treba odrediti ij , i , i, j = 1, . . . , n, tako da vrijedi (1 + 11 ) (1 + 12 ) x 1 1 + 1 = . (4.6.8) (1 + 21 ) 0 x 2 0 Ako je x 1 = 0, jasno je da je za zadovoljavanje druge jednad zbe u gornjem sustavu nu zno uzeti 21 = 1, sto zna ci da element a21 treba promijeniti u nulu. Zna ci da imamo veliku promjenu elementa, a21 = a21 , tj. (A)22 = , pa je i A F | | 1 > . A F 2 3| | Iz prethodnog primjera zaklju cujemo da bez obzira na to cnost koju koristimo u ra cunanju na ra cunalu, op cenito ne mo zemo garantirati da ce izra cunato rje senje x biti to cno rje senje sustava Ax = b u kojem su A i b nastali malim relativnim perturbacijama koecijenata u A i b.

4.6.4.

Dodatak: Udaljenost matrice do skupa singularnih matrica

Neka je A n n regularna matrica. Poku sajmo joj na ci najbli zu singularnu matricu, pri cemu mjerimo u nekoj matri cnoj normi . Neka je A +A singularna. Iz A + A = A(I + A1 A) slijedi da je I + A1 A singularna. (I vi se, A + A

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 201

i I + A1 A su istog ranga.) Tada je nu zno A1 A 1. Naime, A1 A < 1 povla ci (zbog propozicije 4.6.1) da je I + A1 A regularna. Dakle, 1 A1 A A1 A , pa je 1 A . A1 Time smo dokazali: Propozicija 4.6.2 Neka je A regularna matrica i proizvoljna matri cna norma. Tada je 1 inf AX . det(X )=0 A1 Ako odaberemo
n

A, A =
i=1

T mo ze pokazati da je nejednakost u gornjoj propoziciji zapravo i ui vi n1 i=1 T i ui vi .

2,

onda se kori stenjem SVD dekompozicije matrice

jednakost koja se posti ze za X =

4.7.

Iterativne metode

U prethodnim odjeljcima vidjeli smo da rje senje linearnog sustava Ax = b op cenito ne mo zemo izra cunati apsolutno to cno. Takoder, u nekim primjenama niti to cno rje senje x = A1 b nije puno bolje od neke dovoljno dobre aproksimacije x , gdje obi cno x zadovoljava sustav (A + A) x = b, blizak polaznom. Dakle, Gaussove eliminacije, koje su jednostavno kona can niz formula koje vode rje senju sustava, ne garantiraju idealnu to cnost. Nadalje, u praksi moramo biti svjesni da je ra cunalo omeden ne samo u pitanju numeri cke to cnosti nego i u jo s dva va zna aspekta: raspolo zivom memorijskom prostoru i vremenu izvr savanja. Moderne primjene matematike zahtijevaju rje senja sustava velikih dimenzija, npr. n > 105 . Lako se uvjeriti da je u takvim primjerima proces Gaussovih eliminacija cesto prakti cno neupotrebljiv. Jer, ma5 2 10 trica dimenzije n = 10 zahtijeva n = 10 lokacija u memoriji, svaka barem 4 bajta (veli cina reprezentacije realnog broja u jednostrukoj preciznosti). Dakle, mogu ce je da samo spremanje matrice koecijenata u memoriju ra cunala predstavalja pote sko cu ponekad matricu dr zimo na vanjskoj, sporoj memoriji (datoteka na disku) i onda mo zemo dijelove matrice u citavati dio po dio u radnu memoriju. Kako u takvim uvjetima implementirati Gaussove eliminacije? U puno va znih primjena matrica sustava A je velike dimenzije, ali je rijetko popunjena. To zna ci da je velika ve cina elemenata od A jednaka nuli, a elementi koji nisu nula obi cno su pravilno rasporedni po matrici ili cak imaju i pravilno rasporedene numeri cke 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 zna ci da za takvu matricu A ra cunanje produkta Av , gdje je v Rn , zahtijeva 3n mno zenja i 2n zbrajanja ukupno 5n operacija. (Ako A nema strukturu, onda op cenito 2 ra cunanje Av zahtijeva 2n n operacija.) Jo s jedan primjer rijetko popunjene matrice je dan na slici 4.7.1. Ponovo uo cavamo da je u svakom retku broj elemenata 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 zna ci da je ra cunanje produkta 2 Av slo zenosti puno manje od 2n n.

Slika 4.7.1 Rijetko popunjena matrica. To ckice pokazuju pozicije elemenata u matrici koji su razli citi od nule. Ponekad je matrica A velike dimenzije i gusto popunjena (svi ili velika ve cina elemenata je razli cita od nule), tako da jednostavno ne mo ze stati u memoriju ra cunala. Najbolje sto mo zemo je u citavanje dijelova matrice iz vanjske u radnu memoriju. Ponekad je poznat na cin kako su generirani elementi matrice (npr. poznato da je aij = fij ( ), gdje su fij ( ) poznate funkcije nekih parametara) pa uvijek mo zemo generirati dijelove matrice. Mogu ce je i da je u konkretnoj aplikaciji jedino zadano kako A djeluje kao linearni operator postoji potprogram koji za zadani v ra cuna Av . Ako je to jedini na cin kako do ci do matrice A, kako onda rije siti Ax = b?

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 203

Prethodna diskusija nas motivira da potra zimo i druga cije pristupe za rje savanje linearnog sustava Ax = b. Primijetimo da ne moramo nu zno te ziti pronala zenju egzaktnog rje senja umjesto toga zelimo dovoljno dobru aproksimaciju x . Zato (0) (1) (k ) n ima smisla poku sati konstruirati niz x , x , . . . , x , . . . vektora iz R sa sljede cim svojstvima: (i ) za svaki k formula za ra cunanje x(k) je jednostavna; (ii ) x(k) te zi prema x = A1 b i za neki k (obi cno k n) je x(k) prihvatljiva aproksimacija za x. Nabrojana svojstva su za sada namjerno dana u nepreciznoj, ali lako razumljivoj formi. Detalji, koji ovise o konkretnom problemu i o konkretnom na cinu konstruiranja niza (x(k) ), bit ce dani malo kasnije.

4.7.1.

Jacobijeva i GaussSeidelova metoda

Jacobijeva i GaussSeidelova metoda pripadaju klasi cnim i najjednostavnijim iterativnim metodama za rje savanje linearnih sustava. Ideju Jacobijeve metode ilustrirat cemo na primjeru 2 2 sustava a11 x1 + a12 x2 = b1 , a21 x1 + a22 x2 = b2 a11 = 0, a22 = 0.

Uo cimo da rje senje x = [ x1 , x2 ]T zadovoljava x1 = 1 (b1 a12 x2 ) a11 1 (b2 a21 x1 ). x2 = a22
T

(0) Te relacije motiviraju da neku pribli znu vrijednost rje senja x(0) = x(0) 1 , x2 rigiramo pomo cu formula

ko-

x1 =
(1) x2

(1)

1 (0) (b1 a12 x2 ) a11 1 (0) = (b2 a21 x1 ). a22


T

(4.7.1)

(1) Nadamo se da je x(1) = x(1) bolja aproksimacija nego sto je to x(0) . Na isti 1 , x2 na cin mo zemo iskoristiti x(1) da dobijemo sljede cu aproksimaciju, x(2) , zatim x(3) , itd. Pitanje je, naravno, pod kojim uvjetima te iteracije te ze prema rje senju x.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 204

Prije same analize, zgodno je uo citi strukturu ra cunanja vektora x(k+1) pomo cu x . Primijetimo da vrijedi 1 0 (k +1) (k ) a b1 0 a12 x1 x1 11 + . (k +1) = (k ) 1 b2 a21 0 x2 x2 0 a22 Dakle, ako stavimo
(k )

A = D N,

D=

a11 0

0 , a22

N=

onda mo zemo jednostavno pisati

0 a21

a12 , 0

(4.7.2)

x(k+1) = D 1 (b + Nx(k) ) = D 1 Nx(k) + D 1 b. Relacijom (4.7.3) denirana je Jacobijeva iterativna metoda.

(4.7.3)

Poku sajmo ovaj proces ilustrirati na jednom primjeru. Zbog jednostavnosti primjer je dimenzije 2 2 tako da svatko mo ze lako slijediti ra cun. Primjer 4.7.1 Neka je A= 2 0.1 0.1 , 2 b= 19.9 , 3 x = A1 b = 10 . 1

Matricu A napi simo kao u relaciji (4.7.2). Za po cetnu iteraciju uzmimo vektor 1 0 19.9 9.949999999999999 = . x(0) = D 1 b = 2 1 3 1.5 0 2 Primijetimo da u po cetnoj iteraciji poku savamo pogoditi rje senje. Ponekad je dovoljno uzeti slu cajno odabran vektor. Ipak, po zeljno je da je polazna iteracija sto je mogu ce bli ze cilju. Na s izbor je bio rezultat jednostavne ideje: matricu A aproksimiramo s D (jer su dijagonalni elementi ve ci od izvandijagonalnih), pa A1 b aproksimiramo s D 1 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 izra cunamo relativne gre ske k = x x(k) 0 1 2 3 4 5

onda je

= 5.000000000000000e001 = 2.499999999999858e002 = 1.249999999999973e003 = 6.250000000029843e005 = 3.125000000103739e006 = 1.562499996055067e007.

Kori stenjem (4.7.3) i relacije b = Ax = (D N )x, lako izra cunamo pona sanje pogre ske e(k) = x(k) x. Vrijedi 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


n

A = D N, Sada iz (4.7.4) slijedi

D = diag(a11 , . . . , ann ),
i=1

aii = 0.

e(k) = D 1 Ne(k1) = (D 1 N )2 e(k2) = (D 1 N )k e(0) ,

(4.7.5)

gdje je e(0) = x(0) x pogre ska prve iteracije x(0) . Uzimanjem proizvoljne vektorske norme i odgovaraju ce matri cne norme, dobivamo e(k) (D 1 N )k e(0) D 1 N
k

e(0) .

(4.7.6)

Iz relacije (4.7.6) zaklju cujemo da ce e(k) te ziti nuli za svaki po cetni x(0) ako matrice 1 k 1 (D N ) te ze nuli za k . Na primjer, ako je D N < 1, onda svakako 1 k D N 0 za k . Vidimo i da je nakon k -tog koraka gre ska e(k) barem D 1 N k puta manja od polazne e(0) . Zapi simo ove zaklju cke u obliku propozicije. Propozicija 4.7.1 Ako je u rastavu A = D N u nekoj matri cnoj normi ispunjeno D 1 N < 1 , onda za svaku po cetnu iteraciju x(0) niz x(k+1) = D 1 (b + Nx(k) ), konvergira rje senju x sustava Ax = b. 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


n

|aii | >

j =1

|aij |,

i = 1, . . . , n,

j =i

onda niz generiran Jacobijevom metodom s proizvoljnim x(0) konvergira prema rje senju sustava Ax = b. Dokaz. Lako je pokazati da je D 1 N

< 1.
(1) (1)

Primijetimo da smo u relacijama (4.7.1) x1 i x2 ra cunali neovisno, pomo cu (0) (0) x1 i x2 . Ako pa zljivije promotrimo formule (4.7.1), vidimo da bi imalo smisla u (1) (0) formuli za x2 umjesto x1 koristiti novu, upravo izra cunatu (i vjerojatno bolju) (1) (k +1) vrijednost x1 . Op cenito, formulu za x modiciramo tako da u svakoj komponenti koristimo najsvje zije izra cunate vrijednosti. Na primjer, u slu caju n = 4 imali bismo 1 (k ) (k ) (k ) (k +1) (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 ) (b3 a31 x1 a32 x2 a34 x4 ), x3 = a33 1 (k +1) (k +1) (k +1) (k +1) (b4 a41 x1 a42 x2 a43 x3 ). x4 = a44 Jasno je da je u op cenitom slu caju
(k +1) xi 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. Uo cimo da je u relaciji (4.7.8) 0 a12 0 0 0 0 0 0

a13 a23 0 0

te da je vektor x(k+1) zapravo rje senje donjetrokutastog sustava a11 a 21 a31 a41 0 a22 a32 a42 0 0 a33 a43

(k +1)

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

(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

(4.7.10)

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 207

Stavimo a11 a 21 L= a31 a41

0 a22 a32 a42

0 0 a33 a43

Vrijedi A = L U i, uz uvjet regularnosti matrice L, GaussSeidelovu metodu mo zemo zapisati kao x(k+1) = L1 (b + Ux(k) ), k = 1, 2 , . . . (4.7.12)

0 0 , 0 a44

0 a12 0 0 U = 0 0 0 0

a13 a23 0 0

a14 a24 . a34 0

(4.7.11)

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 simetri cna i pozitivno denitna matrica, onda niz generiran GaussSeidelovom metodom s proizvoljnim po cetnim x(0) konvergira prema rje senju sustava Ax = b. 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 rije siti sustav Mx(k+1) = b + Sx(k) . U Jacobijevoj metodi je M = D dijagonalna, a u GaussSeidelovoj M = L je donjetrokutasta matrica. Konvergencija prema rje senju sustava Ax = b je osigurana 1 ako je M N < 1 za neku matri cnu normu .

4.8.

Matemati cki software za problem Ax = b

U ovom poglavlju opisujemo BLAS i LAPACK, dvije trenutno najpopularnije biblioteke programa za rje savanje problema numeri cke linearne algebre. Biblioteka BLAS (Basic Linear Algebra Subroutines, osnovni potprogrami za linearnu algebru) sadr zi potprograme za elementarne operacije s vektorima i matricama, dok je LAPACK opse zna biblioteka sa gotovim rje sava cima za probleme kao sto su linearni sustavi jednad zbi, problemi najmanjih kvadrata, problemi svojstvenih i singularnih vrijednosti za matrice i matri cne parove. U LAPACK-u su sve elementarne operacije nad matricama i vektorima izvedene pomo cu poziva biblioteke BLAS. Obje biblioteke dostupne preko Interneta. Na adresi http://www.netlib.org mogu se na ci implementacije u programskim jezicima FORTRAN i C.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 208

Cilj ovog odjeljka nije detaljan opis tih biblioteka. Umjesto toga zelimo citatelju dati osnovnu informaciju i uputiti ga na izvore informacija. Za potrebe ove knjige smo skupili neke bilbioteke programa, tako da ih citatelj mo ze lako kopirati na svoje ra cunalo i koristiti.

4.8.1.

Pregled biblioteke BLAS

Biblioteka BLAS je nastala iz potrebe da se elementarne operacije u linearnoj algebri na neki na cin standardiziraju. Korist od takvog standardiziranja je vi sestruka. Kao prvo, programiranje kompliciranih algoritama je pojednostavljeno: pri prora cunu konstrukcije tankera ne treba tro siti vrijeme oko detalja kao sto je npr. duljina vektora ili produkt dvije matrice. Nadalje, i najslo zeniji prora cuni su sastavljeni od takvih elementarnih operacija, pa je po zeljno da su elementarne operacije implementirane na najekasniji mogu ci na cin. Optimalna implementacija algoritma kao sto je na primjer mno zenje dvije matrice nije uvijek jednostavan posao. Za optimalni rezultat je potrebno poznavati cunala. Sve to zahtijeva dodatne napore detalje grade i funkcioniranja pojedinog ra sto onda poskupljuje izradu programa. Osim toga, prelaskom na drugo ra cunalo se mijenjaju parametri optimalne implementacije i postupak treba ponoviti. Time je i odr zavanje dobrog, ekasnog programa skupo. Cinilo se razumnim odabrati jedan, ne preveliki, skup operacija koji je pak dovoljno velik da se iz njega mo ze izvesti ve cina ostalih operacija. Za odabrane 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 ra cunalo. Kako je BLAS povijesno vezan za programski jezik FORTRAN, ti tipovi su REAL, DOUBLE PRECISION, COMPLEX i DOUBLE COMPLEX. U nekim operacijama, kao, na primjer, pri tra zenju komponente vektora s najve com apsolutnom vrijedno s cu, rezultat je cjelobrojan (INTEGER). Zbog preglednosti, uzeto je da je prvo slovo imena procedure oznaka tipa. Tako imena koja po cinju sa I ozna cavaju cjelobrojni tip (INTEGER), S ozna cava jednostruku preciznost (SINGLE), D ozna cava dvostruku preciznost (DOUBLE), C ozna cava kompleksni tip (COMPLEX), a Z ozna cava kompleksni tip u dvostrukoj preciznosti. (Implementacija BLAS-a u jeziku C ima sli cnu strukturu, gdje je hijerarhija tipova ona iz C-a.) Na ovaj na cin je pojednostavljeno programiranje, a optimizacija implementacije je svedena na mali skup standardiziranih procedura. Implementacija odabranih

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 209

procedura se onda mo ze prepustiti stru cnjacima za software. Tr zi sna utakmica izmedu proizvoda ca ra cunala je dovela do toga da proizvoda ci nude tvorni cki op1 timirane verzije BLAS biblioteke za svoja ra cunala . Takve implementacije imaju vrijeme izvr savanja znatno kra ce od naivne implementacije. Operacije s vektorima: BLAS 1 Zbog jednostavnosti, u ovoj to cki je s (n, X, kx) zadan vektor x tipa REAL. To zna ci da su elementi vektora x na pozicijama X (1 + (i 1)kx), i = 1, . . . , n. Parametar kx je korak (engleski termin je stride ) i njegovo kori stenje je vezano za na cin spremanja vektora u memoriji ra cunala. Sli cno je s (n, DX, kx) zadan vektor tipa DOUBLE PRECISION, s (n, CX, kx) vektor tipa COMPLEX i s (n, ZX, kx) vektor tipa DOUBLE COMPLEX. Dat cemo kratak pregled osnovnih operacija u paketu BLAS 1. Kako su i izvorni kod i dokumentacija dostupni preko Interneta, ne cemo ulaziti u sve detalje, niti cemo dati pregled cijelog paketa. U skupini operacija sa vektorima izdvajamo:
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 sad zaj vektora x i y . 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 ra cuna najmanji indeks i za koji je |xi | = max |xj |. Deklarirana je s INTEGER FUNCTION Varijante su: INTEGER FUNCTION INTEGER FUNCTION INTEGER FUNCTION
1j n

ISAMAX (n, X, kx). IDAMAX (n, DX, kx), ICAMAX (n, CX, kx), IZAMAX (n, ZX, kx).

1 Naravno, ne besplatno. Obi cno se takve biblioteke kupuju zajedno sa ostalom programskom podr skom.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 210

SNRM2 ra cuna euklidsku duljinu x 2 vektora x = (n, X, kx) tipa REAL. 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 ra cuna 1 normu x 1 = |x1 | + + |xn |. 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 ra cuna a x, gdje je a skalar istog tipa kao i vektor x. Rezultat je u vektoru x. 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 ra cuna skalarni produkt (x, y ) = y x vektora x i y . 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 ) (ra cuna
i

COMPLEX FUNCTION CDOTU (n, CX, kx, CY, ky ) (ra cuna


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 ra cuna Givensovu ravninsku rotaciju. Deklarirana je sa SUBROUTINE SROTG (A, B, C, S ). Izlazni parametri C i S su izra cunati tako da je C S A A2 + B 2 = . S C B 0 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 ra cuna modiciranu Givensovu rotaciju. 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 cemo ovdje spomenuti samo tri procedure. Slovo x na po cetku imena procedure stoji za S, D, C, ili Z. xGEMV ra cuna izraz oblika y := Ax + y, ili y := AT x + y, gdje su i skalari, A je m n matrica, a x i y su vektori odgovaraju cih dimenzija. xTRMV ra cuna produkt y = Ax ili y = AT x, gdje je A n n gornje ili donjetrokutasta matrica s op cenitom ili jedini cnom dijagonalom. xTRSV rje sava linearne sustave Ax = b, ili AT x = b,

gdje je A gornje ili donjetrokutasta matrica s op cenitom ili jedini cnom dijagonalom, a b je vektor odgovaraju ce dimenzije. i iz ovakvo kratkog prikaza mo Cak ze se vidjeti s koliko pa znje je dizajnirana funkcionalnost procedura. Odabir pojedine varijante je omogu cen pode savanjem ulaznih parametara. Posebno su napisane procedure za matrice sa specijalnom strukturom kao npr. simetri cne i vrp caste matrice. Za sve detalje citatelja upu cujemo na izvor http://www.netlib.org/blas.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 212

Operacije s matricama: BLAS 3 Tre ci nivo elementarnih operacija biblioteke BLAS implementira matri cne operacije. Tek za ilustraciju funkcionalnosti procedura tre ceg nivoa, opi simo tri najosnovnije. xGEMM ra cuna izraz oblika C := f (A)g (B ) + C, gdje su i skalari, A, B , C matrice, f (A) {A, AT }, g (B ) {B, B T }, pri cemu su dimenzije matrica takve da je izraz dobro deniran. xTRMM ra cuna B := f (A)B, ili B := Bf (A), gdje je skalar, A i B su matrice, pri cemu je A gornje ili donjetrokutasta s op cenitom ili jedini cnom dijagonalom, te f (A) {A, AT }. f (A)X = B, ili Xf (A) = B,

xTRSM rje sava po X jednad zbe

gdje je A gornje ili donjetrokutasta regularna matrica sa op cenitom ili jeT dini cnom dijagonalom, f (A) {A, A }, B i X su matrice odgovaraju cih dimenzija. Ostale procedure i kompletna dokumentacija mogu se na ci na Internetu, na adresi http://www.netlib.org.

4.8.2.

Pregled biblioteke LAPACK

LAPACK je kratica za Linear Algebra PACKage, paket (programa) za linearnu algebru. Osnovne zna cajke LAPACKa su: 1. Opse znost. LAPACK sadr zi preko 1000 potprograma s algoritmima za rje savanje problema linearne algebre. Spomenimo da su na listi algoritmi za rje savanje linearnih sustava (s pripadnim algoritmima za ra cunanje LU faktorizacije, faktorizacije Choleskog, simetri cne indenitne faktorizacije), rje savanje problema najmanjih kvadrata (s pripadnim algoritmima za ra cunanje QR faktorizacije, generalizirane QR faktorizacije), rje savanje problema svojstvenih vrijednosti (simetri cni problem, nesimetri cni problem, generalizirani problemi za matri cne parove), ra cunanje obi cne i generalizirane dekompozicije singularnih vrijednosti, rje savanje matri cnih jednad zbi (npr. Sylvesterove jednad zbe). Sve procedure su implementirane i za realne i za kompleksne tipove podataka. Posebni algoritmi su ponudjeni za specijalne tipove matrica kao sto su npr. vrp caste matrice.

4. SUSTAVI LINEARNIH JEDNADZBI

LINEARNI SUSTAVI 213

2. Numeri cka pouzdanost. U LAPACK-u se posebna pa znja posve cuje numeri ckoj stabilnosti. Uz dosta algoritama ponudjene su procedure za ocjenu gre ske u izra cunatim rezultatima. Dani su teorijski okviri u kojima je ocjenjena stabilnost algoritama, tako da korisnik mo ze dobiti dodatne informacije i o rezultatima ali i o svom matemati ckom modelu. (Numeri cka nestabilnost mo ze biti znak gre ske u modelu.) 3. Prenosivost i ekasnost na raznim ra cunalima. Ekasnost biblioteke LAPACK je postignuta oslanjanjem na biblioteku BLAS. Drugim rije cima, ako imamo BLAS optimiran za konkretno ra cunalo, onda ce LAPACK dobro iskoristiti resurse tog ra cunala. Prenosivost je osigurana strogim pridr zavanjem standarda konkretnog programskog jezika (FORTRAN ili C). 4. Dobra dokumentiranost i jednostavno kori stenje. Sve su procedure detaljno dokumentirane na jednoobrazan i unaprijed deniran na cin. Matemati cki detalji, kao i detalji implementacije su detaljno opisani u seriji tehni ckih izvje staja (LAPACK Working Notes) koji su dostupni preko Interneta. Objavljen je i priru cnik [1]. 5. Neprestano usavr savanje. Istra ziva ci koji sudjeluju u projektu LAPACK dolaze iz cijelog svijeta i neprestano rade na pronala zenju novih, boljih algoritama koji nakon strogih provjera postaju dijelovi LAPACK-a, bilo kao nove procedure, bilo kao zamjena za ve c postoje ce. U vrijeme pisanja ovih redaka, u uporabi je LAPACK, verzija 3.0. 6. Kompletan izvorni kod je dostupan preko Interneta, zajedno s MAKE datotekama koje same izvr savaju proces instaliranja. Za neka ra cunala postoji gotova biblioteka koju samo treba kopirati koriste ci FTP.

4.8.3.

Rje savanje linearnih sustava pomo cu LAPACK-a

Kako smo vidjeli u prethodnim odjeljcima, rje savanje linearnog sustava jednad zbi ima tri faze: LU faktorizacija, rje savanje donjetrokutastog i rje savanje gornjetrokutastog sustava jednad zbi. Pogledajmo kako je to napravljeno u LAPACK-u. Zbog jednostavnosti, opisujemo procedure u jednostrukoj preciznosti. Dat cemo i dijelove izvornog koda, kao ilustraciju dobre prakse programiranja kako strukture programa tako i dokumentiranosti. Naravno, cijeli kod je dostupan online . Trokutastu faktorizaciju ra cunamo procedurom SGETRF. Pogledajmo opis 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! Rje savanje trokutastih sustava s matricama L i U izvr sava procedure SGETRS u kojoj se poziva procedura za rje savanje trokutastih sustava i to sa jednom ili vi se desnih strana. Evo kako izgleda po cetak procedure SGETRS.
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 kona cno, prethodne dvije procedure su integrirane u rje sava c sustava Ax = b, odnosno AX = B ako imamo vi se desnih strana (matrica B umjesto vektora b).
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 (simetri cne, pozitivno denitne, tridijagonalne, vrp caste itd.). Vi se detalja mo ze se na ci na adresi http://www.netlib.org/lapack.

5. RACUNANJE VLASTITIH VRIJEDNOSTI I VLASTITIH VEKTORA

EIGEN 220

5. Ra cunanje vlastitih vrijednosti i vlastitih vektora


Ovaj bi tekst trebao napisati Ivan Slapni car.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 221

6. Izvrednjavanje funkcija
Jedan od osnovnih zadataka koji se javlja u numeri ckoj matematici je izra cunavanje vrijednosti funkcije u nekoj to cki ili na nekom skupu to caka (tzv. izvrednjavanje funkcije). Za sto ba s to? Ekasno mo zemo ra cunati samo one funkcije za koje imamo dobar algoritam za izvrednjavanje. Pri tome moramo voditi ra cuna o tome da aritmetika ra cunala stvarno podr zava samo cetiri osnovne aritmeti cke operacije, pa samo njih mo zemo koristiti u algoritmima. Kori stenje ostalih funkcija (recimo trigonometrijskih, logaritamskih ili eksponencijalnih) ovisi o kvaliteti aproksimacije upotrijebljene u odgovaraju cem programskom jeziku, ili odgovaraju cem sklopu u ra cunalu. Osim toga, i kada upotrebljavamo samo cetiri osnovne operacije, ra cunanje nije egzaktno, ve cu svakoj operaciji imamo gre ske zaokru zivanja. Zbog toga, pri konstrukciji algoritama imamo dva cilja uvjeta: ekasnost ili brzina, tj. algoritam mora imati sto manji broj aritmeti ckih operacija; to cnost, tj. algoritam mora biti stabilan (unaprijed ili unazad) na gre ske zaokru zivanja. Oba zahtjeva su posebno bitna kod izvrednjavanja, jer se ono obi cno puno puta koristi, pa i mala lokalna ubrzanja daju velike ukupne u stede u vremenu, a isto vrijedi i za ukupni efekt gre saka zaokru zivanja. Op cenito, o cekujemo da br zi algoritam ima i manju gre sku, jer imamo manje operacija koje doprinose ukupnoj pogre sci. Medutim, ovo ne mora biti istina! U mnogim slu cajevima mo zemo drasti cno popraviti stabilnost algoritma tako zrtvovanjem dijela ekasnosti, a katkad je dovoljno na ci pametnu reformulaciju algoritma. U ovom poglavlju vi se pa znje cemo posvetiti ekasnosti, a manje stabilnosti, 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 obrzlo zit cemo na primjerima. Neka je zadana funkcija f : D R, gdje je D R njena domena. Zadatak je izra cunati vrijednost te funkcije f u zadanoj to cki x0 D . Preciznije, moramo na ci algoritam koji ra cuna f (x0 ). Naravno, to cka x0 mo ze biti bilo koja i na s algoritam

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 222

Trenutno zanemarimo pitanje kako se zadaje funkcija f . Naime, ako je f ulaz u algoritam, onda f mora biti zadana s najvi se kona cano mnogo podataka (o f ) i ti podaci moraju jednozna cno odrediti f . To je fundamentalno ograni cenje i bitno smanjuje klasu funkcija kojima vrijednosti uop ce mo zemo algoritamski izra cunati. Odgovore na takva pitanja daje tzv. teorija izra cunljivosti u okviru matemati cke logike i osnova matematike. U praksi se odmah name cu i bitno ja ca ograni cenja. Naime, ako imamo na raspolaganju samo 4 osnovne aritmeti cke operacije, onda su racionalne funkcije jedine funkcije f kojima mo zemo izra cunati vrijednost u bilo kojoj to cki x0 D . Takve funkcije mo zemo jednozna cno zadati kona cnim brojem parametara na primjer, pona sanjem ondosno vrijednostima u kona cnom broju to caka (vidjeti poglavlje o interpolaciji) ili koecijentima u nekom prikazu funkcije. Dakle, sigurno trebamo ekasne algoritme za ra cunanje vrijednosti racionalnih funkcija. Ako se sjetimo da racionalnu funkciju mo zemo zapisati kao kvocijent dva polinoma, onda je zgodno imati i algoritme za izvrednjavanje polinoma. Osim toga, polinomi su jo s jednostavnije funkcije, pri njihovom izvrednjavanju nema dijeljenja, a denirane su na su za sve realne (ili kompleksne) brojeve (nema problema s nulto ckama nazivnika), a imaju veliku teoretsku i prakti cnu primjenu. Strogo govore ci, sve ostale funkcije moramo aproksimirati, polinomima ili racionalnim funkcijama. U praksi mo zemo pretpostaviti da za neke osnovne matemati cke funkcije f ve c imamo dobre aproksimacije za pribli zno ra cunanje vrijednosti f (x0 ) u zadanoj to cki x0 : procesor ra cunala (hardware) ima ugradene aproksimacije i odgovaraju ce instrukcije za njihov poziv (izvr savanje), ili koristimo neki gotovi (pot)program (software) koji to radi. Za osnovne matemati cke funkcije kao sto su: x (katkad i op ce potencije x ), trigonometrijske, eksponencijalne, hiperboli cke i njima inverzne funkcije razvijeni su dobri algoritmi za njihove aproksimacije. O tome kako se nalaze takve aproksimacije bit ce op sirnije govora u poglavlju o aproksimacijama. Bez obzira na realizaciju, u oba slu caja je bitno samo to da ih mo zemo direktno koristiti u na sim algoritmima i da znamo da izra cunata vrijednost tra zene funkcije f u zadanoj to cki x0 ima malu relativnu gre sku u odnosu na preciznost kona cne aritmetike (tzv. to cnost ra cunanja). Drugim rije cima, mo zemo pretpostaviti da za f (f (x0 )) vrijede iste ili sli cne ocjene kao i za osnovne aritmeti cke operacije (vidi odjeljke 3.3.6.) i 3.4.1.). Reklo bi se da je ovdje sve rije seno. Medutim, nije ba s tako. Ra cunanje f (x0 ), u principu, traje dulje, a katkad i puno dulje, nego sto je trajanje jedne osnovne

mora raditi za sve ulaze x0 D .

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 223

aritmeti cke operacije ( cak i ako sve cetiri operacije nemaju isto ili podjednako trajanje). Za osnovne funkcije, trajanje mo ze biti 10 pa i vi se puta dulje od trajanja jedna aritmeti cke operacije. Zbog toga ponekad izbjegavamo puno poziva takvih funkcija, pogotovo ako se to mo ze razumno izbje ci, tj. ekasno i bez ve ceg gubitka to cnosti. U mnogim slu cajevima to se mo ze napraviti i u ovom poglavlju cemo pokazati neke op ce algoritme tog tipa. Ideja je kori stenje rekurzivnih relacija koje zadovoljavaju takve i sli cne, a za aproksimaciju va zne funkcije. Na primjer, u teoriji aproksimacije obi cno se koriste ortogonalni sustavi funkcija za aproksimaciju, a funkcije takvog sustava zadovoljavaju tro clanu rekurziju.

6.1.

Hornerova shema

Polinomi su najjednostavnije algebarske funkcije. Mo zemo ih denirati nad 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 simboli cka varijabla. Polinomi, kao simboli cki objekti, imaju algebarsku strukturu prstena. Medutim, polinome mo zemo interpretirati i kao funkcije, koje mo zemo izvrednjavati u svim to ckama x0 prstena R, uvr stavanjem x0 umjesto simboli cke varijable x. Dobiveni rezultat p(x0 ) je opet u R. Zanimaju nas ekasni algoritmi za ra cunanje te vrijednosti. Slo zenost o cito ovisi o broju clanova u sumi. Da broj clanova ne bi bio umjetno prevelik, standardno uzimamo da je p = 0 i da je vode ci koecijent an = 0, tako da je n stupanj tog polinoma p. Kada zelimo naglasiti stupanj, polinom ozna cavamo s pn . Algoritmi koje cemo napraviti u principu rade nad bilo kojim prstenom R, ali neki rezultati o njihovoj slo zenosti vrijede samo za beskona cna neprebrojiva polja, poput R i C, sto su ionako najva zniji primjeri u praksi. Zbog toga, u nastavku pretpostavljamo da radimo isklju civo s polinomima nad R ili C. Lako je pokazati da za svako n, skup svih polinoma nad R ili C stupnja ne ve ceg od n cine vektorski prostor nad R ili C koji je potprostor vektorskog prostora svih polinoma nad odgovaraju cim poljem R ili C. Polinom se obi cno zadaje stupnjem n i koecijentima a0 , . . . , an u nekoj bazi vektorskog prostora polinoma stupnja ne ve ceg od n. Na po cetku razmatranja 2 n koristimo standardnu bazu 1, x, x , . . . , x , a kasnije cemo algoritme modicirati i za neke druge baze.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 224

Slo zenost mjerimo brojem osnovnih aritmeti ckih operacija. Kad radimo s polinomima nad R, broj operacija je korektna mjera, jer aritmetika ra cunala modelira upravo te operacije. No, kad radimo s polinomima nad C, treba voditi ra cuna o tome da se kompleksne aritmeti cke operacije realiziraju putem realnih, sto zna ci da tek broj realnih operacija daje pravu mjeru slo zenosti. Ba s zbog toga, u nekim kompleksnim algoritmima pa zljivim promatranjem realnih operacija mo zemo ostvariti zna cajne u stede.

6.1.1.

Ra cunanje vrijednosti polinoma u to cki

Zadan je polinom stupnja n


n

pn (x) =
i=0

ai xi ,

an = 0

kojemu treba izra cunati vrijednost u to cki x0 . To se mo ze napraviti na vi se na cina. Prvo, napravimo to direktno po zapisu, potenciraju ci. Krenemo li od nulte potencije x0 = 1, svaka sljede ca potencija dobiva se rekurzivno xk = x xk1 . Imamo li zapam cen xk1 , lako je izra cunati xk kori stenjem samo jednog mno zenja. Algoritam 6.1.1 (Vrijednost polinoma s pam cenjem potencija) 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 mno zenja koja se javljaju u tom algoritmu. U unutarnjoj petlji javljaju se 2 mno zenja i 1 zbrajanje. Budu ci da se petlja izvr sava n puta, ukupno imamo 2n mno zenja + n zbrajanja. Naravno, kad je polinom kompleksan, ove operacije su kompleksne. Izvrednjavanje polinoma u to cki mo ze se izvesti i s manje mno zenja. Ako polinom zapi semo u obliku 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. Predlo zio ga je W. G. Horner, 1819. godine, ali sli can zapis je koristio i Isaac Newton, jo s 1669. godine. 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 o cito da smo kori stenjem ovog algoritma broj mno zenja prepolovili, tj. da je njegova slo zenost n mno zenja + n zbrajanja.

6.1.2.

Hornerova shema je optimalan algoritam

Bitno je napomenuti da je Hornerova shema ekasan algoritam za izvrednjavaje polinoma kojima je ve cina koecijenata razli cita od nule. Na primjer, polinom p100 (x) = x100 + 1 besmisleno je izvrednjavati Hormerovom shemom, jer bi to predugo trajalo (binarno potenciranje je br ze). Binarnim potenciranjem redom bismo potencirali bazom 2 za dani x x x2 x4 x8 x16 x32 x64 ,

i na kraju pomno zil x64 x32 x4 . Ukupno bismo imali 8 mno zenja i 1 zbrajanje. 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 mo ze se pokazati da je optimalan algoritam. Teorem 6.1.1 (Borodin, Munro) Za op ci polinom n-tog stupnja potrebno je barem n aktivnih mno zenja. Pod aktivnim mno zenjem podrazumjevamo mno zenje izmedu ai i x. Dakle, Hornerova shema ima optimalan broj mno zenja. Rezultat prethodnog teorema mo ze se pobolj sati samo ako jedan te isti polinom izvrednjavamo u mnogo

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 226

to caka. Tada se koecijenti polinoma prije samog izvrednjavanja adaptiraju ili prekondicioniraju, tako da bismo kasnije imali sto manje operacija po svakoj pojedinoj to cki. Zanimljivo je Hornerova shema optimalna za polinome stupnjeva n = 1, 2 i 3, cak i kad ra cunamo vrijednost polinoma u vi se to caka. Poka zimo jedan primjer adaptiranja koecijenata za polinom stupnja 4. Primjer 6.1.1 Uzmimo op ci polinom stupnja 4 p4 (x) = a4 x4 + a3 x3 + a2 x2 + a1 x + a0 i promatrajmo sljede cu shemu ra cuananja y = (x + c0 )x + c1 , p4 (x) = ((y + x + c2 )y + c3 )c4 . Primijetimo da ona koristi 3 mno zenja i 5 zbrajanja. Medutim, prvo treba odrediti ci u ovisnosti o ai . Zato napi simo p4 po potencijama od x
2 p4 (x) = c4 x4 + (2c0 c4 + c4 )x3 + (c2 0 + 2 c 1 + c 0 c 4 + c 2 c 4 )x + (2c0 c1 c4 + c1 c4 + c0 c2 c4 )x + (c2 1 c 4 + c 1 c 2 c 4 + c 3 c 4 ).

Uo cimo da veza izmedu ai i ci nije linearna. Rje savanjem po ai , dobivamo c4 = a4 c0 = (a3 /a4 1)/2 b = a2 /a4 c0 (c0 + 1) c1 = a1 /a4 c0 b c2 = b 2 c1 c3 = a0 /a4 c1 (c1 + c2 ).

Ove relacije zahtijevaju dosta ra cunanja, ali se to obavlja samo jednom. Nakon toga ce svako izvrednjavanje zahtijevati manje vremena od Hornerove sheme na polaznom polinomu, jer zbrajanje na ra cunalu tro si manje vremena od mno zenja. Dapa ce, V. Pan je pokazao da vrijedi sljede ci teorem. Teorem 6.1.2 (Pan) Za bilo koji polinom pn stupnja n 3 postoje realni brojevi c, di , ei , za 0 i n/2 1, takvi da se pn mo ze izra cunati kori stenjem (n/2 + 2) mno zenja + n zbrajanja po sljede coj shemi y =x+c w = y2 (an y + d0 )y + e0 , n paran, z := an y + e0 , n neparan, z := z (w di ) + ei , za i = 1, 2, . . . n/2 1.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 227

U prethodnom teoremu nije ni sta re ceno o tome koliko je operacija potrebno za ra cunanje c, di i ei . Medutim, sljede ci teorem pokazuje je red veli cine broja operacija u Hornerovoj shemi optimalan za gotovo sve polinome. Teorem 6.1.3 (Motzkin, Belaga) Slu cajno odabrani polinom stupnja n ima vjerojatnost 0 da ga se mo ze izra cunati za strogo manje od (n + 1)/2 mno zenja/dijeljenja ili za strogo manje od n zbrajanja/oduzimanja.

6.1.3.

Stabilnost Hornerove sheme

U pro slom smo odjeljku pokazali da je Hornerova shema optimalan algoritam u smislu ekasnosti. Pa zljivom analizom gre saka zaokru zivanja nije te sko pokazati da je Hornerova shema i stabilan algoritam.
y 1.0 1013 0.5 1013

0.95 0.5 1013 1.0 1013

1.05

Izvrednjavanje polinoma (x 1)10 razvijenog po potencijama od x: kori stenjem direktne sumacije u double precision aritmetici.
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: kori stenjem Hornerove sheme u double precision aritmetici.

6.1.4.

Dijeljenje polinoma linearnim faktorom oblika x x0

Kako se prakti cno zapisuje Hornerova shema kad se radi na ruke? Napravi se tablica na sljede ci na cin. U gornjem redu se popi su svi koecijenti polinoma pn redom od an do a0 . Donji red se izra cunava kori stenjem gornjeg reda i broja x0 . Ozna cimo elemente donjeg reda, gledaju ci slijeva nadesno, s x0 , cn1 , cn2 , . . . , c0 , r0 , tako da se cn1 nalazi ispod an . an x0 cn 1 an1 cn 2 a1 c0 a0 r0 .

Elementi donjeg reda se ra cunaju s lijeva na desno, kako slijedi cn1 = an , ci1 := ci x0 + ai1 , (6.1.1)

i = n, . . . , 1.

Dakle, vode ci koecijent an se prepi se, a svi ostali se ra cunaju tako da se posljednji izra cunati koecijent ci pomno zi s x0 , a zatim mu se doda koecijent ai1 koji se nalazi iznad. Na kraju, ispod koecijenta a0 se dobije r0 , tj. vrijednost polinoma u to cki x0 . Poka zimo kako to funkcionira na konkretnom primjeru. Primjer 6.1.2 Izra cunajmo vrijednost polinoma p5 (x) = 2x5 x3 + 4x2 + 1 u to cki x0 = 1. Formirajmo tablicu: 2 1 Dakle, p5 (1) = 4. Pogledajmo zna cenje koecijenata ci koji se javljaju u donjem redu tablice. 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

Uvr stavanje x = x0 u (6.1.2) pokazuje da za ostatak vrijedi r0 = pn (x0 ). Znamo da je qn1 polinom stupnja n 1, a njegove koecijente ozna cimo s bi , 1 i n ( sto je pomak indeksa za jedan u odnosu na dosad kori stenu notaciju), qn1 (x) = Dodatno, ozna cimo, b0 = r0 . Uvrstimo li (6.1.3) u (6.1.2) i sredimo koecijente uz odgovaraju ce potencije, dobivamo pn (x) = bn xn + (bn1 x0 bn )xn1 + + (b1 x0 b2 )x + b0 x0 b1 . Za vode ci koecijent bn , odmah zaklju cujemo bn = an , a za ai uz potenciju xi , i < n je ai = bi x0 bi+1 , i = n 1, . . . , 0. Zadnja relacija i veza bn = an pokazuju da bi mo zemo izra cunati iz bi+1 rekurzijom 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 , zaklju cujemo da vrijedi bi = ci1 , i = 1, . . . , n.
n1 i=1

bi+1 xi .

(6.1.3)

Dakle, koecijenti koje dobijemo u Hornerovoj shemi su ba s koecijenti polinomakvocijenta 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 citamo 2x5 x3 + 4x2 + 1 = (x + 1) (2x4 2x3 + x2 + 3x 3) + 4. Provjerite zadnju relaciju mno zenjem polinoma! 2 0 2 1 1 4 0 1 4 .

3 3

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 230

Kona cno, napi simo algoritam koji nalazi koecijente pri dijeljenju polinoma 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

se dogada ako postupak dijeljenja polinoma linearnim faktorom nastavimo, Sto tj. ponovimo vi se puta? 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 .

Dakle, polinom pn napisan je razvijeno po potencijama od (x x0 ). Koja su zna cenja ri ? Usporedimo dobiveni oblik s Taylorovim polinomom oko x0 pn (x) = pa zaklju cujemo da vrijedi ri =
i) p( n (x0 ) , i! i) p( n (x0 ) (x x0 )i , i ! i=0 n

0 i n.

Potpuna Hornerova shema ra cuna sve derivacije polinama u zadanoj to cki podijeljene pripadnim faktorijelima. Primjer 6.1.4 Nadimo sve derivacije polinoma p5 (x) = 2x5 x3 + 4x2 + 1 u to cki 1.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 231

Formirajmo potpunu Hornerovu tablicu. 2 1 1 1 1 1 1 Odatle lako citamo p5 (1) = 13 2! = 26,


(4) (2)

2 2 2 2 2 2

2 4 6 8

0 1

4 3 2

0 1 3

1 4

1 5

11 13 19

10

p5 (1) = 4,

p5 (1) = 1 1! = 1, p5 (1) = 19 3! = 114, p5 (1) = 2 5! = 240.


(5) (3)

(1)

p5 (1) = 10 4! = 240,

Algoritam koji nalazi koecijente ri , odnosno koecijente Taylorovog razvoja zadanog polinoma oko to cke x0 , mo ze se napisati koriste ci samo jedno polje. 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 sto cemo vidjeti, kod izvrednjavanja interpolacijskog polinoma u Newtonovoj formi, treba izra cunati izraz oblika pn (x) = an (x x0 ) (x x1 ) (x xn1 ) + an1 (x x0 ) (x x1 ) (x xn2 ) + + a1 (x x0 ) + a0 , pri cemu su to cke xi to cke interpolacije, a x to cka u kojoj zelimo izra cunati vrijednost polinoma. Algoritam kojim se vr si izvrednjavanje je vrlo sli can Hornerovoj shemi. Ako ozna cimo yi = x xi i postavimo zagrade kao u Hornerovoj shemi, imamo 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 mo zemo iskoristiti i za ovakav prikaz polinoma, koji niju razvijen u standardnoj bazi.

6.1.7.

Hornerova shema za realni polinom i kompleksni argument

Sve sto smo dosad izvodili, vrijedi op cenito, ako su koecijenti polinoma i to cka x0 iz istog polja, R ili C. Ako zelimo izra cunati vrijednost realnog polinoma (tj. polinoma s realnim stedu. koecijentima) u kompleksnoj to cki, to se mo ze napraviti uz odredenu u Neka je z0 = x0 + iy0 . Tvrdimo da postoji realan polinom s2 stupnja 2, s vode cim koecijentom 1, takav da je s2 (z0 ) = 0. Dokaz je jednostavan i mo ze se pokazati na vi se na cina. Jedan je posljedica osnovnog teorema algebre, jer ako je x0 + iy0 nulto cka polinoma s realnim koecijentima, onda je to i x0 iy0 , tj. kod realnog polinoma kompleksne nulto cke dolaze u konjugirano-kompleksnim parovima, s2 (x) = (x x0 iy0 ) (x x0 + iy0 ). Dokaz se mo ze provesti i direktno, kori stenjem svojstava konjugiranja z1 + z2 = z1 + z2 , z1 z2 = z1 z2 . Ozna cimo koecijente polinoma s2 sa 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 s2 mo zemo napisati kori stenjem 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 0 + y0 .

Po analogiji, podijelimo polazni realni polinom polinomom s2 . Ostatak pri dijeljenju vi se nije samo konstanta, nego mo ze biti i polinom r stupnja 1 pn (x) = s2 (x)qn2 (x) + r (x). Napi simo pro slu relaciju u pogodnoj formi, tj. napi simo na cudan na cin 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 qn2 (x) =
n2 i=0

bi+2 xi .

(6.1.5)

Uvr stavanjem (6.1.5) u (6.1.4) i usporedivanjem koecijenata uz odgovaraju ce potencije, dobivamo:


n

ai xi =
i=0

n2 i=0 n

bi+2 xi+2 + p bi xi + p bi xi + p
n1 i=1 n1 i=0

n2 i=0

bi+2 xi+1 + q
n2 i=0 n2 i=0

n2 i=0

bi+2 xi + b1 (x + p) + b0

=
i=2 n

bi+1 xi + q bi+1 xi + q

bi+2 xi + (b1 x + b0 ) + pb1 bi+2 xi .

=
i=0

Deniramo li dodatno bn+1 = bn+2 = 0, onda prethodnu relaciju mo zemo pisati kao
n n

ai x =
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 rije cima, koecijente bi ra cunamo iz dva koja odgovaraju susjednim vi sim potencijama, bi = ai pbi+1 qbi+2 , i = n, . . . , 0, (6.1.6)

ponovno, uz bn+1 = bn+2 = 0. je rezultat? Ako tra Sto zimo rezultat dijeljenja kvadratnim polinomom, onda moramo izra cunati sve koecijente bi , s tim da ce indeksi i = 2, . . . , n dati koecijente

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 234

polinoma qn2 , a b1 i b0 bit ce ostaci pri dijeljenju napisani u formi (6.1.4). Ako zelimo ostatak napisan u standardnoj bazi, onda cemo r napisati kao r (x) = b1 x + (b0 + b1 p), tj. na kraju ra cuna, kad izra cunamo sve koecijente bi , postavit cemo b0 := b0 + b1 p Sljede ci algoritam ra cuna kvocijent polinoma pn i kvadratnog polinoma s2 u standardnoj bazi. Koecijenti p i q su tada ulazni podaci, bez ikakvih ograni cenja, tj. q 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 ; Kona cno, vratimo se zadatku od kojeg smo krenuli. Ako zelimo izra cunati vrijednost polinoma pn u to cki x0 + iy0 , onda nam ne trebaju svi bi -ovi. Promotrimo relaciju (6.1.4). Uo cimo da je s2 (x0 + iy0) = 0 (tako je deniran), pa se (6.1.4) svede na pn (x0 + iy0 ) = b1 (x0 + iy0 + p) + b0 . (6.1.7) To zna ci da nam trebaju samo koecijenti b1 i b0 da bismo znali izra cunati vrijednost u to cki z0 . Relaciju (6.1.7) mo zemo i ljep se napisati jer znamo da je p + x0 = 2x0 + x0 = x0 . Odmah se dobije pn (x0 + iy0 ) = b1 ( x0 + iy0 ) + b0 = (b0 x0 b1 ) + iy0 b1 , pa vidimo da za ra cunanje vrijednosti realnog polinoma u kompleksnoj to cki, ne moramo pamtiti citavo polje koecijenata bi , nego samo trenutna tri koji su nam potrebni u rekurziji (6.1.6) Algoritam 6.1.7 (Vrijednost realnog polinoma u kompleksnoj to cki) p := 2 x0 ; 2 q := x2 0 + y0 ; 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) mno zenja + (2n + 3) zbrajanja. S obzirom da jedno kompleksno zbrajanje zahtijeva 2 realna zbrajanja, a kompleksno mno zenje realiziramo na standardan na cin 4 realna mno zenja i 2 realna zbrajanja, obi cna Hornerova shema za kompleksni polinom u kompleksnoj to cki ima 4n mno zenja + 4n zbrajanja. U ne tako davnoj pro slosti duljina trajanja mno zenja u ra cunalu bila je dosta dulja nego duljina trajanja zbrajanja, pa su se ljudi cesto dovijali alkemiji pretvaranja mno zenja u zbrajanja. Kod mno zenja kompleksnih brojeva to je lako, jer vrijedi (a + bi) (c + di) = (ac bd) + (ad + bc)i = (ac bd)[(a + b) (c + d) (ac + bd)]i. Uo cite da ova posljednja forma ima samo 3 mno zenja i 5 zbrajanja (produkti ac i bd se cuvaju kad se izra cunaju). Kona cno, sto ako zelimo izra cunati vrijednost polinoma pn u to cki z 0 = x0 iy0 ? Moramo li ponovno provoditi postupak? Odgovor je ne. Naime, z 0 je, takoder nulto cka od s2 , pa je u terminima izlaznih podataka iz algoritma 6.1.7, 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 s jedna dodatna operacija da istovremeno izra cunamo vrijednost polinoma u z0 i z 0 . Ako zelimo na ruke izra cunati vrijednost realnog polinoma u kompleksnoj to cki, onda koristimo tablicu vrlo sli cnu obi cnoj Hornerovoj shemi. an q p + bn pbn bn1 an1 an2 a2 a1 pb2 b1 qb3 a0 pb1 b0 qb2 .

pbn1 bn2

qbn

qb4 b2

pb3

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 236

Primjer 6.1.5 Nadimo vrijednost polinoma p3 (x) = x3 + 8x2 + 1 u to ckama 2 i.

Uzmimo to cku 2 + i, pa je x0 = 2, y0 = 1, a p = 4, q = 5. Formirajmo tablicu. 1 8 0 1 5 4 4 1 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.

Ra cunanje parcijalnih derivacija kompleksnog polinoma

Kompleksni polinom u varijabli z , mo ze se zapisati pomo cu dva polinoma u i 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 mo zemo interpretirati i kao realne funkcije kompleksnog argumenta u(z ) = Re (pn (z )), v (z ) = Im (pn (z )),

pa, prema pro slom odjeljku, imamo algoritam za nala zenje njihovih vrijednosti. Da bismo opona sali dijeljenje polinoma linearnim polinomom oblika x x0 , uzmimo da nam i kvadratni polinom ima oblik x2 px q (pa svugdje gdje u pro slom odjeljku pi se p treba pisati p, a gdje pi se q treba pisati q ). Dakle, rastav u produkt kvadratnog polinoma i polinoma stupnja n 2 u ovakvoj notaciji glasi: pn (x) = s2 (x)qn2 (x) + r (x), gdje je Algoritam za nala zenje koecijenata u ovoj formulaciji je: start bn+2 = bn+1 = 0, a rekurzija je bi = ai + pbi+1 + qbi+2 , i = n, . . . , 0. (6.1.8) r (x) = b1 (x p) + b0 .

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 odgovaraju coj to cki (x, y ), onda su realni i imaginarni dio te funkcije u(x, y ) = b0 xb1 , v (x, y ) = yb1 .

Parcijalne derivacije funkcija u i v mo zemo dobiti kori stenjem deriviranja slo zenih funkcija. Polinomi su analiti cke funkcije, pa za njihove parcijalne derivacije vrijede CauchyRiemannovi uvjeti u v (x, y ) = (x, y ), x y u v (x, y ) = (x, y ). y x

Zbog toga je dovoljno prona ci samo ili parcijalne derivacije jedne od funkcija ili parcijalne derivacije po jednoj varijabli. Iskoristimo li da vrijedi p q = + , y p y q y dobivamo (izostavljaju ci pisanje to cke u kojoj deriviramo) u b0 b1 b0 b1 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 izra cunali vrijednosti parcijalnih derivacija u nekoj to cki, 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 mo zemo raditi samo s jednom, uz paralelno ra cunanje bi . 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 v u 2 2 (x0 , y0 ) = (x0 , y0 ) = b1 2y0 d1 = b1 2y0 c2 . y x Motivacija za ovaj algoritam potje ce iz modikacije Newtonove metode za tra zenje realnih nulto caka polinoma. Ako zelimo na ci kompleksne nulto cke realnog polinoma, prvo treba izlu citi kvadratni polinom s konjugirano kompleksnim parom nulto caka. Ta generalizacija Newtonove metode zove se metoda NewtonBairstow.

6.2.

Generalizirana Hornerova shema

U pro slom odjeljku napravili smo nekoliko algoritama za izvrednjavanje polinoma i njegovih derivacija u zadanoj to cki. Te algoritme, koji su egzaktni u egzaktnoj aritmetici, mo zemo koristiti i kao pribli zne algoritme za izvrednjavanje redova potencija, tj. analiti ckih funkcija. Pretpostavimo da se funkcija f u okolini neke to cke x0 (u R ili C) mo ze razviti

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 mo zemo brzo i to cno izra cunati. Naravno, ovu beskona cnu sumu ne mo zemo efektivno algoritamski izra cunati, jer zahtijeva beskona can broj aritmeti ckih operacija. Medutim, kona cne komade ovog razvoja mo zemo iskoristiti za aproksimaciju funkcije f na toj okolini. Iz konvergencije razvoja po to ckama odmah slijedi da, za bilo koju unaprijed zadanu to cnost > 0, postoji N N takav da je
N

fN (x) =
n=0

an (x x0 )n ,

(6.2.2)

aproksimacija za f (x) s gre skom manjom od . Nije bitno da li gre sku mjerimo u apsolutnom ili relativnom smislu, osim ako je f (x) = 0. Sasvim op cenito, potrebna duljina razvoja N ovisi i o i o x. No, ako se sjetimo da redovi potencija konvergiraju uniformno na kompaktima, mo zemo posti ci i uniformnu aproksimaciju s to cno s cu na takvim kompaktima, pa N onda ovisi samo o . Kad uzmemo u obzir da ionako pribli zno ra cunamo u aritmetici ra cunala, ovim pristupom mo zemo bitno pove cati klasu funkcija s kojima mo zemo ra cunati. Ako je gre ska dovoljno mala, recimo reda veli cine osnovne gre ske zaokru zivanja u, onda je pripadna aproksimacija fN (x) gotovo jednako dobra kao i f (x). Algoritam za ra cunanje fN (x) u zadanoj to cki x bitno ovisi u tome da li N znamo unaprijed ili ne. Ako ga ne znamo, onda se obi cno koristi sumacija unaprijed, sve dok se izra cunata suma ne stabilizira na zadanu to cnost. Koliko to mo ze biti opasno, ve c smo vidjeli u primjeru za sin x. Zbog toga se sumacija unaprijed koristi samo kao zadnje uto ci ste. Vrlo cesto se N mo ze unaprijed odrediti iz analiti ckih svojstava funkcije f , tako da dobijemo uniformnu aproksimaciju s to cno s cu na nekom kompaktu. Obi cno se za taj kompakt uzima neki segment u R, odnosno neki krug u C. Cak nije jako bitno da N bude savr sen, tj. najmanji mogu ci, ako je takav N te sko izra cunati. Katkad je sasvim dobra i pribli zna vrijednost za N . Tada je fN polinom poznatog stupnja N i mo zemo koristiti Hornerovu shemu i njene varijacije za ra cunanje fN (x). Trenutno ne ulazimo u to kako se nalaze takve aproksimacije. Tome cemo posvetiti punu pa znju u poglavlju o aproksimacijama. Zasad recimo samo to da se izbjegava direktno kori stenje redova potencija (6.2.1) i pripadnih polinomnih aproksimacija u obliku (6.2.2), zbog lo se uvjetovanosti sustava funkcija {1, (x x0 ), (x x0 )2 , . . . , (x x0 )n , . . .} i nejednolikog rasporeda pogre ske e(x) = f (x) fN (x) na domeni aproksimacije.

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 sevljevi polinomi, zbog skoro jednolikog rasporeda gre cesto se koriste tzv. Cebi ske na domeni. Kasnije cemo pokazati i algoritam za nala zenje takve kvaziuniformne sevljeva ekonomizacija). aproksimacije iz poznatog reda potencija (tzv. Cebi Razvoj funkcije f u red oblika (6.2.3) je o cita generalizacija reda potencija. Njega, takoder, po istom principu, mo zemo iskoristiti za aproksimaciju funkcije f , 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)

sto je o cita generalizacija polinoma iz (6.2.2). Naravno, da bismo izra cunali fN (x) moramo znati sve koecijente an i sve funkcije pn . Medutim, u ve cini primjena nemamo direktnu formulu za ra cunanje vrijednosti pn (x) u zadanoj to cki x, za 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 mo zemo rekurzivno ra cunati! Pristup ra cunanju vrijednosti fN (x) je isti kao i ranije. Ako unaprijed ne znamo N , onda se sumacija vr si unaprijed, a pn (x) ra cuna redom iz rekurzije. S druge strane, iz teorije aproksimacija, vrlo cesto je mogu ce unaprijed na ci koliko clanova N treba uzeti za (uniformnu) zadanu to cnost. Tada bi bilo zgodno koristiti 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

Budu ci da ortogonalni polinomi zadovoljavaju tro clane, homogene rekurzije, a vrlo se cesto koriste, posebnu pa znju posvetit cemo ba s takvim rekurzijama. Osim toga, tro clane rekurzije istog op ceg oblika vrijede i za mnoge specijalne funkcije 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 po cetne funkcije p0 i p1 , i sve funkcije n , n , za n N, koje su obi cno jednostavnog oblika.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 241

Primijetite da potencije pn (x) = xn zadovoljavaju dvo clanu homogenu rekurziju uz p0 (x) = 1, pa je (6.2.5) zaista generalizacija polinomnog slu caja. Sli can algoritam za brzo izvrednjavanje fN mo ze se napraviti i kad pn zadovoljavaju cetvero clane ili vi se clane rekurzije, ali se takve rekurzije rijetko pojavljuju u praksi. Algoritam je vrlo sli can izvrednjavanju realnog polinoma u kompleksnoj to cki. Deniramo rekurziju za koecijente BN +2 = BN +1 = 0, Bn = an n (x)Bn+1 n+1 (x)Bn+2 , Uvr stavanjem u formulu (6.2.4) za fN (x), dobivamo
N N

pn (x) xpn1 = 0,

n N,

n = N, . . . , 0.

(6.2.6)

fN (x) = = =

an pn (x) =
n=0 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 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 sljede ci oblik. 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));
Ako trebamo izra cunati i derivaciju fN (x), do pripadnog algoritma mo zemo do ci deriviranjem relacije (6.2.4) 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 . Poku sajte to napraviti sami. Medutim, postoji i jednostavniji put, deriviranjem rekurzije (6.2.6), sli cno kao u algoritmu Bairstowa. Ovdje je to jo s bitno jednostavnije, jer imamo samo jednu varijablu. Koecijente Bn shvatimo kao funkcije od x, sto oni zaista i jesu. Zatim deriviramo (6.2.6), s tim da Bn ozna cava derivaciju od Bn po x, u to cki 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 ( x ) B n = N, . . . , 0. n+2 n+1 (x)Bn+2 , +1
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 o cito bN = 0, rekurziju za Bn mo zemo napisati u obliku Bn = bn n (x)Bn +1 n+1 (x)Bn+2 ,

n = N, . . . , 0,

sto ima skoro isti oblik kao i rekurzija za Bn , osim zamjene an u bn . Kona cni rezultat, takoder, dobivamo deriviranjem ranijeg kona cnog rezultata 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)). Dakle, da bismo izra cunali fN (x), dovoljno je znati samo derivacije po cetnih funkcija p0 i p1 , koje su obi cno jednostavne. Naravno, treba znati i derivacije n , n funkcija iz polazne tro clane rekurzije, ali i one su obi cno jednostavne. Rekurzija za derivacije pn nas uop ce ne zanima, iako ju nije te sko napisati. Vidimo da nam za ra cunanje fN (x) treba i rekurzija za ra cunanje fN (x), pa se te dvije vrijednosti obi cno zajedno ra cunaju, a ne svaka posebno. Tada rekurzije za Bn i Bn provodimo u istoj petlji. Kona cni rezultati izgledaju komplicirano, ali kad u njih uvrstimo konkretne objekte, vrlo rijetko ostanu svi clanovi. Obi cno se te 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 mo zemo izvesti i rekurzije za ra cunanje vi sih derivacija fN (x), za k 2. Zanimljivo je da u praksi to gotovo nikada nije potrebno. Razlog le zi u cinjenici da gotovo sve korisne familije funkcija pn , n N, zadovoljavaju neke diferencijalne jednad zbe drugog reda, s parametrom n. Jasno je da tada treba koristiti odgovaraju cu diferencijalnu jednad zbu za ra cunanje fN (x), ali i to je vrlo rijetko potrebno. Cak i algoritam za derivacije se rijetko koristi. Naime, ako znamo na ci, tj. izra cunati koecijente an u prikazu f (x) =
n=0 (k )

an pn (x),

s dovoljnom to cno s cu, za n N , tako da je pripadni fN (x) dovoljno dobra aproksimacija, onda se ne isplati koristiti
N fN (x) = n=0

an pn (x)

kao aproksimaciju za f (x), jer ona obi cno ima manju to cnost od aproksimacije za f . Puno je bolje izra cunati koecijente an (to nisu derivacije) u pravom razvoju 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 zeljenu to cnost. Slo zenost ovih algoritama klju cno ovisi o slo zenosti ra cunanja svih potrebnih funkcija p0 , p1 , n , n , i njihovih derivacija, pa je besmisleno brojati pojedina cne aritmeti cke operacije na nivou op ceg algoritma. U prakti cnim aproksimacijama se naj ce s ce koriste tzv. ortogonalne familije funkcija pn , koje cine ortogonalnu bazu u nekom prostoru funkcija, obzirom na neki skalarni produkt na tom prostoru. Vrlo cesto je pn polinom stupnja n, za svaki n N0 . Neke primjere klasi cnih ortogonalnih polinoma i pripadnih rekurzija dajemo ne sto kasnije. c smo rekli da funkcije pn ne moraju biti polinomi i prvi primjer Medutim, ve je ba s tog tipa.

6.2.2.

Izvrednjavanje Fourierovih redova

Za aproksimaciju periodi ckih funkcija standardno koristimo Fourierove redove. Pretpostavimo, radi jednostavnosti, da je f periodi cka funkcija na segmentu [, ]. Tada, uz relativno blage pretpostavke, funkciju f mo zemo razviti u Fourierov red oblika an cos(nx) + bn sin(nx).
n=0 n=1

Umjesto a0 , standardno se pi se a0 /2, ali to nije bitna razlika. Zanemarimo trenutno pitanje konvergencije ovog reda i zna cenja njegove sume. Uo cimo samo da ove trigonometrijske funkcije tvore ortogonalan sustav funkcija, obzirom na skalarni produkt deniran integralom. Pretpostavimo da su nam koecijenti an i bn poznati. Na s zadatak je izra cunati aproksimaciju oblika
N N

fN (x) =
n=0

an cos(nx) +
n=1

bn sin(nx),

gdje je N unaprijed zadan. Ovakav izraz se cesto zove i trigonometrijski polinom. Vidimo da se on sastoji iz dva dijela, kosinusnog i sinusnog, pa cemo tako i sastaviti 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 izra cunati aproksimaciju oblika
N

fN (x) =
n=0

an cos(nx).

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 245

U direktnoj sumaciji trebamo N ra cunanja funkcije cos, za cos(nx), uz n 1. Iako to danas vi se ne traje pretjerano dugo, mo zemo na ci i bolji algoritam, koji treba samo jedno jedino ra cunanje funkcije cos. Da bismo dobili polazni oblik aproksimacije (6.2.4) iz generalizirane Hornerove sheme, o cito treba denirati pn (x) = cos(nx). Fali nam jo s samo tro clana homogena rekurzija za ove funkcije. Medutim, i to ide 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 tra zena rekurzija ima oblik pn+1 (x) 2 cos x pn (x) + pn1 (x) = 0, odakle slijedi da u op coj rekurziji (6.2.5) treba uzeti n (x) = 2 cos x, 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. 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 c je konstanta.

Po cetne funkcije su p0 (x) = 1 i p1 (x) = cos x, pa je kona cni rezultat 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 tro si jedan jedini kosinus, pod cijenu jednog mno zenja s 0.5. Sto se stabilnosti ti ce, on je podjednako stabilan kao i direktna sumacija. Male vrijednosti cos(nx) ionako ne dobivamo s malom relativnom, ve c malom apsolutnom gre skom.
Ako trebamo izra cunati i derivaciju fN (x), za pripadni algoritam trebamo n (x) = 2 sin x, n (x) = 0,

n N.

Onda je bn = 2 sin x Bn+1 , i


Bn = bn + 2 cos x Bn +1 Bn+2 ,

n = N, . . . , 0, 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 s samo jedan sinus. I tog bismo mogli izbaciti, tako da sinus izrazimo preko kosinusa, sin x = 1 cos2 x, ali to se ve c ne isplati, jer moramo paziti na znak, a oduzimanje mo ze dovesti do nepotrebnog gubitka to cnosti u sinusu. Pretpostavimo sad da je f neparna funkcija. Trebamo izra cunati aproksimaciju oblika
N

fN (x) =
n=1

bn sin(nx).

Suma ovdje ide od 1, pa treba biti malo oprezan. Zgodniji je zapis fN (x) =
N 1 n=0

bn+1 sin((n + 1)x).

Nije ba s lijepo ostaviti indeks N u fN , ali sad je o cito da treba denirati pn (x) = sin((n + 1)x).

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 247

Zatim koristimo formulu sin a + sin b = 2 sin ab a+b 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 tra zena rekurzija ima oblik pn+1 (x) 2 cos x pn (x) + pn1 (x) = 0, n N,

sto je potpuno isti oblik kao i za parne funkcije, odnosno za pn (x) = cos(nx). Dakle, 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.

Po cetne funkcije su p0 (x) = sin x i p1 (x) = sin(2x) = 2 sin x cos x, pa je kona cni 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 mo zete i sami napisati. Za op ci Fourierov red koji ima i parni i neparni dio, treba spojiti prethodne algoritme. Jedina je neugoda sto je neparni za 1 kra ci, jer starta s N 1. Ako nas to ba s jako smeta, onda mo zemo i malo druga cije postupiti u neparnom dijelu. Umjetno deniramo da je b0 = 0 i pi semo
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.

Po cetne funkcije su p0 (x) = 0 i p1 (x) = sin x, pa je kona cni rezultat 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 uop ce ne treba ra cunati, ali ba s to i o cekujemo, kad smo rekurziju pomakli za jedan indeks navi se! Spomenimo na kraju da obje funkcije cos(nx) i sin(nx) zadovoljavaju istu diferencijalnu jednad zbu drugog reda y + n2 y = 0.

6.2.3.

Klasi cni ortogonalni polinomi

U aproksimacijama i rje savanju diferencijalnih jednad zbi naj ce s ce se susre cemo s pet tipova klasi cnih ortogonalnih polinoma. Za polinome {p0 , p1 , p2 , . . . , pn , . . .}, pri cemu indeks polinoma ozna cava njegov stupanj, re ci cemo da su ortogonalni obzirom na te zinsku funkciju w , w (x) 0 na intervalu [a, b], ako vrijedi
b

w (x) pm (x) pn (x) dx = 0,


a

za m = n.

Te zinska funkcija odreduje sistem polinoma do na konstantni faktor u svakom od polinoma. Izbor takvog faktora zove se jo s i standardizacija ili normalizacija. Cebi sevljevi polinomi prve vrste sevljevi polinomi prve vrste obi Cebi cno se ozna cavaju s Tn . Oni su ortogonalni na intervalu [1, 1] obzirom na te zinsku funkciju w (x) = Vrijedi
1

1 . 1 x2

Oni zadovoljavaju rekurzivnu relaciju

za m = n, Tm (x) Tn (x) , za m = n = 0, dx = 1 x2 /2, za m = n = 0. Tn+1 (x) 2xTn (x) + Tn1 (x) = 0,

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). sevljev polinom prve vrste Tn zadovoljava diferencijalnu jedOsim toga, n-ti Cebi nad zbu (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 x T1 (x) T2 (x) T3 (x) T4 (x)

0.25 0.5

0.75 1

sevljevi polinomi prve vrste transformirani na interval Katkad se koriste i Cebi [0, 1], u oznaci Tn . Kori stenjem linearne (preciznije, ane) transformacije [0, 1] x := 2x 1 [1, 1] dolazimo do svih svojstava tih polinoma. Na primjer, relacija ortogonalnosti tada postaje 1 za m = n, 0, Tm (x) Tn (x) , za m = n = 0, dx = 2 x x /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

Cebi sevljevi polinomi druge vrste sevljevi polinomi druge vrste obi Cebi cno se ozna cavaju s Un . Oni su ortogonalni na intervalu [1, 1] obzirom na te zinsku funkciju w (x) = 1 x2 . Vrijedi
1

1 x2 Um (x) Un (x) dx =

0, za m = n, /2, za m = n.

sevljevi polinomi prve vrste Oni zadovoljavaju istu rekurzivnu relaciju kao Cebi Un+1 (x) 2xUn (x) + Un1 (x) = 0, samo uz malo druga ciji start U0 (x) = 1, Za njih postoji i eksplicitna formula Un (x) = sin((n + 1) arccos x) . sin(arccos x) U1 (x) = 2x.

sevljev polinom druge vrste Un zadovoljava diferencijalnu jedOsim toga, n-ti Cebi nad zbu (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 obi cno se ozna cavaju s Pn . Oni su ortogonalni na intervalu [1, 1] obzirom na te zinsku funkciju 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 jednad zbu (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 x P1 (x) P2 (x) P3 (x) P4 (x)

0.25 0.5

0.75 1

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 252

Laguerreovi polinomi Laguerreovi polinomi obi cno se ozna cavaju s Ln . Oni su ortogonalni na intervalu [0, ) obzirom na te zinsku funkciju w (x) = ex . Vrijedi
0

ex Lm (x) Ln (x) dx =

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 jednad zbu 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 cesto nailazi na jo s jednu rekurziju za Laguerreove polinome 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 druga cijoj normalizaciji ortogonalnih polinoma. Lako je pokazati da vrijedi 0, za m = n, ex Lm (x) Ln (x) dx = 2 (n!) , za m = n.
0

Hermiteovi polinomi Hermiteovi polinomi obi cno se ozna cavaju s Hn . Oni su ortogonalni na intervalu (, ) obzirom na te zinsku funkciju w (x) = ex . Vrijedi

2

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 jednad zbu 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 to cnost kojom je izra cunat pN (x) mo ze odrediti i to cnost fN . Dakle, generaliziranu Hornerovu shemu mo zemo koristiti i kao silazni algoritam za izvrednjavanje funkcija pN . Postavlja se pitanje je li to bolje od direktnog ra cunanja pN unaprijed, po osnovnoj rekurziji 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 obi cno relativno brzu te ze prema nuli. Takvi mali

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 255

koecijenti an , za ve ce n, bitno prigu suju gre ske gre ske u ra cunanju pn (x). Isti efekt, 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 analiti cke funkcije) po potencijama od varijable ili po nekom sustavu polinoma je kona can pa je uvjet smanjivanja koecijenata an nepotreban. Iako to nije sasvim precizan argument, o cito je klju cno analizirati ba s polinomni slu caj. Zbog toga, a i radi jednostavnosti, u nastavku gledamo samo polinomni slu caj fN = pN . Op cenito mo zemo odmah zaklju citi da opasnost nastupa kad niz vrijednosti p0 (x), p1 (x), . . . , pN (x) naglo pada po apsolutnoj vrijednosti. Tada o cekujemo jako kra cenja u osnovnoj rekurziji, sto rezultira i gubitkom to cnosti sto dalje odmi cemo u rekurziji. Dva su pitanja na koja bi bilo zgodno odgovoriti. Kako se tada pona sa silazni algoritam za ra cunanje fN ?

Mo ze li se nekim trikom, poput okretanja rekurzije, popraviti stabilnost? Umjesto op ceg odgovora, koji bi koji zahtijeva dublju analizu, ilustrirajmo situaciju na jednom klasi cnom primjeru. 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 mo zemo sastaviti razne rekurzije. Dvo clana ima oblik pn+1 (x) ex pn (x) = 0, n N0 ,

dok je tro clana homogenu rekurzija sli cna onimza za trigonometrijske funkcije, pn+1 (x) 2 ch x pn (x) + pn1 (x) = 0, pri cemu je ch x = (ex + ex )/2 kosinus hiperbolni od x. O cito je da pn (x) monotono raste za x > 0 i monotono pada za x < 0. Testirajmo stabilnost ove rekurzije i pripadne generalizirane Hornerove sheme za ra cunanje nx pn (x) = e u to ckama x = 1 i x = 1. n N,

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 256

6.4.

Besselove funkcije i Millerov algoritam

Op cenito nije potrebno znati funkcije p0 i p1 da bi se mogla koristiti silazna varijanta za ra cunanje pN . Dovoljno je znati neku vezu medu funkcijama pn koja se lako ra cuna, a takve su cesto poznate. Na primjer, to su funkcije izvodnice oblika F (x) =
n=0

qn pn (x),

gdje se F (x) ra cuna nekom analiti ckom formulom bez upotrebe pn (x), tj. F (x) mo zemo na ci neovisno o funkcijama pn . Millerov algoritam (po J. C. P. Milleru, 1954. godine) primjenjuje se kada vrijednosti funkcija pn vrlo brzo padaju kad n raste (za sve x ili u nekom podru cju vrijednosti za argumente), a gre ska zaostaje. Pretpostavimo da funkcije pn zadovoljavaju neku homogenu rekurziju, na primjer tro clanu, koja je naj ce s ca u praksi pn+1 (x) + n (x)pn (x) + n (x)pn1 (x) = 0, n = 1, 2 , . . .

Poznavanje bilo kojeg pn ( cak ni p0 niti p1 ) nije potrebno. Treba znati samo koecijente n i n .

6.4.1.

Op ca forma Millerovog algoritma

Prije no sto ga primijenimo na eksponencijalnom polinomu, poka zimo kako funkcionira Millerov algoritam. Odaberimo startnu vrijednost indeksa M od koje cemo po ceti, ovisno o vrijednosti N indeksa funkcije koju tra zimo. Ako tra zimo pN (x) (ili pN (x), . . . , p0 (x), ili samo neke od njih), M se obi cno odabere tako da je M > N i vrijedi pM (x) to cnost ra cunanja. pN (x) To obi cno garantira i da je
M

FM (x) :=
n=0

qn pn (x),

barem jednako to cna aproksimacija za F (x), sto cemo kasnije iskoristiti. Stavimo p M +1 = 0, p M = 1 i ra cunamo brojeve p n , za n = M 1, . . . , 0, unatrag po rekurziji za pn (x): p n = (n+1 (x) pn+1 + p n+2 ) , n+1 (x) n = M 1, . . . , 0.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 257

Zbog homogenosti rekurzije, dobiveni niz vrijednosti p M , . . . , p 0 je vrlo pribli zno proporcionalan stvarnim vrijednostima pM (x), . . . , p0 (x), barem u podru cju od pN (x) do p0 (x), tj. vrijedi pn (x) p n c, za n N . Treba jo s na ci normalizacioni faktor c. Sada iskoristimo cinjenicu da znamo koecijente qn u razvoju funkcije izvodnice F po funkcijama pn F (x) =

qn pn (x).

n=0

Umjesto nepoznatih vrijednosti pn (x) uvrstimo p n i numeri ckim zbrajanjem izra cuM namo aproksimaciju F
M

FM :=
n=0

qn p n .

Gornji indeks sumacije mo ze biti i bitno manji od M , ako znamo da pn (x) vrlo brzo padaju kad n raste. U prethodnoj sumi dovoljno je uzeti toliko clanova da se izra cunata vrijednost FM stabilizira na to cnost ra cunala ili tra zenu to cnost. Zatim direktno analiti cki izra cunamo F (x) po poznatoj formuli i stavimo c := F (x) , FM

sto je tra zeni normalizacioni faktor, uz pretpostavku da je FM (x) dovoljno dobra aproksimacija za F (x). Na kraju izra cunamo pn (x) = p n c za sve one n izmedu 0 i N koji nas zanimaju, jer u tom podru cju vrijedi vrlo dobra proporcionalnost pn (x) p n .

Vrlo cesto se startna vrijednost M odreduje iz nekih poznatih relacija za familiju funkcija pn (x) ili eksperimentalno, pove cavanjem n sve dok se ne postigne zeljena to cnost za pN (x). Naravno, ovim se algoritmom mo ze ra cunati i p0 (x).

6.4.2.

Izvrednjavanje Besselovih funkcija

Besselove funkcije prvi puta je uveo Bessel, 1824. godine, promatraju ci jedan problem iz tzv. dinami cke astronomije, vezan uz zgodan na cin zapisa polo zaja planeta koji se kre ce po elipsi oko Sunca. Da bi dobio formulu prikladnu za prakti cno

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 258

ra cunanje, Bessel je tra zenu veli cinu prikazao kao red funkcija poznatih podataka. U tom redu se su se kao koecijenti javile funkcije oblika 1 Jn (x) =

cos(x sin n) d,

n N,

(6.4.1)

koje zovemo Besselovim funkcijama prve vrste. O cito se ova denicija mo ze pro siriti na n Z i tada je Jn (x) = (1)n Jn (x). Na zalost, ni za jednu od ovih funkcija ne postoji neka jednostavna formula ili oblik za ra cunanje. Relaciju (6.4.1) mo zemo iskoristiti i za numeri cko ra cunanje vrijednosti Jn (x), za zadane n N0 i x R, tako da upotrijebimo neku od metoda numeri cke integracije. Medutim, postoje i mnogo br zi algoritmi za postizanje iste tra zene to cnosti izra cunate vrijednosti Jn (x). U klasi cnom pristupu preko funkcije izvodnice, Besselove funkcije mo zemo denirati kao koecijente uz tn u razvoju
t 1/t exp x = Jn (x) tn . 2 n=

(6.4.2)

Nije te sko dokazati da je ova denicija ekvivalentna integralnoj reprezentaciji (6.4.1). Iz (6.4.2) mogu se izvesti mnoge va zne relacije za Besselove funkcije. Na primjer, Besselove funkcije zadovoljavaju tro clanu rekurziju 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 izra cunati J0 (x) i J1 (x) (ili J0 (x)), onda bismo iz (6.4.3) mogli izra cunati i Jn (x). Osim toga, generaliziranom Hornerovom shemom mogli bismo onda ra cunati i razne razvoje po Besselovim funkcijama. Na zalost, to je tako samo u teoriji. Rekurzija (6.4.3) je izrazito nestabilna unaprijed. Da bismo to pokazali, promotrimo pona sanje vrijednosti Besselovih funkcija Jn (x) u ovisnosti o n i x.

Iz (6.4.2) mo ze se pokazati da Besselove funkcije Jn zadovoljavaju diferencijalnu jednad zbu x2 y + xy + (x2 n2 )y = 0. Ovu jednad zbu mo zemo promatrati na cijeloj kompleksnoj ravnini i u slu caju kad n nije cijeli broj. Tada se, umjesto n, obi cno koristi oznaka za parametar jednad zbe. Jedno od rje senja ove jednad zbe su Besselove funkcije prve vrste J , koje imaju bitno svojstvo da su ograni cene u 0 kad je Re 0. Analiti cki im je oblik 1 J (x) = x 2

(x2 /4)k , k ! ( + k + 1) k =0

(6.4.4)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 259

gdje su i x, op cenito, kompleksni brojevi. U nastavku gledamo pona sanje ovih 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 o cito konvergiraju za x 0, a donji cak na cijelom skupu C. Na prvi pogled izgleda kao da smo time rije sili i problem ra cunanja vrijednosti J0 (x) i J1 (x). Zaista, ovaj red vrlo brzo konvergira za relativno male x, pa se mo ze koristiti za ra cunanje. Medutim, za malo ve ce x, kad je x n (ili ) i dalje, dobivamo sli cno pona sanje kao i kod aproksimacije trigonometrijskih funkcija Taylorovim redom, tj. dolazi do sve ve ceg kra cenja zbrajanjem uzastopnih clanova reda (6.4.4). Gra cki, prve tri Besselove funkcije izgledaju ovako
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

sljede ce tri ovako


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

1 0.75 0.5 0.25 0 0.25 0.5 2 4 6 8 10 12 14 16 eksponencijalno pona sanje

J10 (x) trigonometrijsko pona sanje

18

20

Uo cite da se podru cje eksponencijalnog pona sanja mijenja u trigonometrijsko podru cje pribli zno za x = , kao sto smo i o cekivali iz Taylorovog reda. 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 pona sanje za J (k ), k = 1, 2, 3,


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 sljede coj slici:


J (10)

1 0.75 0.5 0.25 0 0.25 0.5 2 4 6 8 10 12 14 16 trigonometrijsko pona sanje

J (10) eksponencijalno pona sanje

18

20

Primijetite da i po postoji podru cje trigonometrijskog pona sanja koje za x prelazi u eksponencijalni pad prema nuli. Vidimo da kad n raste, u rekurziji (6.4.3) dobivamo sve manje i manje brojeve, sto zna ci da mora do ci do kra cenja. To pokazuje da je rekurzija nestabilna u rastu cem smjeru po n, cim udemo u ekponencijalno podru cje. Za ilustraciju nestabilnosti mo zemo uzeti x = 1 i ra cunati vrijednosti Jn (x) koriste ci rekurziju (6.4.3) uzlazno po n, u extended preciznosti. Dobiveni rezultati

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 263

na 18 decimala (apsolutno) dani su u sljede coj tablici. n 0 1 2 3 4 5 6 7 8 9 izra cunati Jn (1) to cni Jn (1) 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 Kra cenje, a time i gubitak relativne to cnosti po cinje odmah za n = 2, ulaskom u eksponencijalno podru cje. Medutim, to se ne vidi u ovoj tablici, jer su rezultati prikazani apsolutno, a ne relativno. No, za n = 11 nemamo vi se niti jednu to cnu znamenku, a za n = 12 gubimo i monotoni pad po n. Vidimo da se dogada ne sto sli cno kao kod ra cunanja enx , sto upu cuje na okretanje rekurzije i primjenu Millerovog algoritma. Kori stenjem Millerovog algoritma dobivamo izuzetno dobre rezultate (drugi stupac tablice, koji je to can). Funkcija izvodnica koja se pritom koristi za normalizaciju 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 prakti cnu primjenu Millerovog algoritma po zeljno je znati precizno pona sanje rekurzije (6.4.3). Uo cimo da je x ksan, a zanima nas pona sanje Jn (x) za velike n. Mo ze se pokazati da u eksponencijalnom podru cju vrijedi tzv. asimptotska relacija ex 1 J (x) , (6.4.5) 2 2 za ksni x i velike , tj. za . To pokazuje da se Jn (x), gledano po n, za velike n pona sa kao cn , nn+0.5

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 264

gdje je cn = (ex/2)n / 2, a to vrlo brzo trne kad n raste. Uz malo pa znje, odavde se mo ze izra cunati po cetni indeks M za Millerov algoritam, tako da osiguramo potrebnu to cnost. Na sli can na cin mo ze se opisati i pona sanje Besselovih funkcija J kada je ksan, a gledamo male ili velike argumente x. Za ksni , kad x 0 iz prvog clana Taylorovog reda dobivamo i asimptotsku relaciju J (x) 1 x 2

1 , ( + 1)

koja je, o cito, dobra aproksimacija za x u dijelu domene gdje se J (x) pona sa kao eksponencijalna funkcija. S druge strane, za x n, Jn (x) se pona sa poput kosinusa, tj. oscilira. U tom trigonometrijskom podru cju vrijedi J (x) 2 cos x , x 4 2 (6.4.6)

za ksni , kad x . To cno zna cenje relacija (6.4.5) i (6.4.6) bit ce obja snjeno u sljede cem odjeljku o asimptotskim razvojima. Uobi cajeno se koristi oznaka , a ne , za takve asimpotske relacije. Napomena 6.4.1 Napomenimo jo s da su sve potrebne vrijednosti J (x) za crtanje prethodnih 6 slika izra cunate sumacijom Taylorovog reda (6.4.4) unaprijed, sve dok zadnji dodani clan ne padne ispod zadane to cnosti. U prikazanom rasponu po i po x, kra cenje je minimalno (23 dekadske zna cajne znamenke). Jedini zanimljivi dio tog algoritma je ra cunanje vrijednosti funkcije, o cemu ce uskoro biti vi se rije ci. Naravno, za crtanje grafova nam i ne treba neka velika to cnost funkcijskih vrijednosti. U principu, savr seno dovoljno je imati 3 zna cajne znamenke u izra cunatoj 3 vrijednosti funkcije, tj. relativnu to cnost reda veli cine 10 . Za vrijednosti blizu nule, ne trebamo ni toliko. Dovoljna je relativna to cnost istog reda veli cine, ali obzirom na cijelu skalu, tj. raspon vrijednosti funkcije na cijelom grafu. Gre sku od jedne tisu cinke skale nitko ne ce ni primijetiti. Naime, ako je cijeli graf visok 10 cm, onda je ta gre ska na slici manja od desetinke milimetra! Drugo je pitanje u koliko to caka treba izra cunati vrijednost funkcije da bi se dobro nacrtao graf. Odgovor na to pitanje slijedi iz ocjena gre ske raznih vrsta aproksimacija, a posebno interpolacije, sto cemo napraviti u poglavlju o aproksimacijama. Zasad recimo samo to da je svaki od ovih grafova nacrtan kori stenjem 101 to cke, uz jednak razmak po x osi, a i to je bitno previ se. Tridesetak to caka je sasvim dovoljno za vizuelno to can graf na ovim slikama. Besselove funkcije imaju vrlo velike primjene u zici, u mnogim modelima, po cev od difrakcije svjetlosti do energetskih nivoa u kvantnoj mehanici. Kori stenjem

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 265

Millerovog algoritma, zajedno s Newtonovom metodom za nala zenje nulto caka funkcija, dobro se mogu izra cunati i nulto cke Besselovih funkcija, koje se, takoder, vrlo cesto koriste. Za razliku od crtanja grafova Besselovih funkcija, za numeri cko ra cunanje njihovih nulto caka trebamo maksimalnu mogu cu to cnost funkcijskih vrijednosti (barem u apsolutnom smislu), a to se posti ze upravo Millerovim algoritmom.

6.5.

Asimptotski razvoj

Sve aproksimacije koje smo do sada promatrali dobivene su rezanjem konvergentnih razvoja po nekom sustavu funkcija, tj. zamjenom konvergentnih redova kona cnom sumom. U relaciji (6.2.3) zamijenili smo razvoj funkcije f oblika f (x) = kona cnom parcijalnom sumom (6.2.4)
N n=0

an pn (x),

fN (x) =
n=0

an pn (x),

podrazumijevaju ci da je rije c o konvergentnom redu u to cki x. Tada za ksni x, ostatak reda te zi prema nuli po N , lim (f (x) fN (x)) = lim
n=N +1

an pn (x) = 0.

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 dobrodo sla, ali nije bitna za ideju ove aproksimacije. U ovom odjeljku cemo pokazati da zamjenom uloge N i x u iskazu o u konvergenciji razvoja dobivamo novi pojam asimptotskog razvoja, kojeg vrlo ekasno mo zemo iskoristiti i za prakti cno ra cunanje. Ovaj pristup se naj ce s ce koristi za ra cunanje vrijednosti integrala, pa ga je zgodno uvesti ba s na takvim primjerima. 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. Poku sajmo ovaj intergal izra cunati tako da cos t razvijemo u red potencija po t, a zatim dobiveni red integriramo clan po clan. Dobivamo redom f (x) = =
0 0

ext 1 e
xt

t2 t4 + dt 2! 4!
0

dt

xt

t2 dt + 2!

ext

t4 dt . 4!

Za integraciju clan po clan, treba izra cunati integrale oblika I2n (x) = za n N0 . Za n = 0 odmah dobivamo I0 (x) =
0 0

ext

t2n dt, (2n)!

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

1 t2n = ext x (2n)! 1 = I2n1 (x). x Odavde indukcijom slijedi

1 + x t=0

ext

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) = x . x2 + 1 1 1 1 3 + 5 . x x x

Na kraju, ako je x > 1, onda red na desnoj strani konvergira i vrijedi f (x) = (6.5.2)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 267

Ovaj rezultat mo zemo dobiti i direktno iz (6.5.1) dvostrukom parcijalnom integracijom, f (x) =

xt

cos t dt =

ext d(sin t) ext sin t dt.

0 xt

=e

1 sin t + x t=0

Prvi clan je nula na obje granice, pa ostaje 1 f (x) = x


0

ext d( cos t)
0

1 1 = ext cos t 2 x x t=0

ext cos t dt

1 1 = 2 f (x). x x Mno zenjem s x2 , za x > 0, dobivamo x2 f (x) = x f (x), pa zaklju cujemo da vrijedi (6.5.2), samo uz bla zu pretpostavku x > 0. Primjer 6.5.2 Poku sajmo primijeniti istu ideju na funkciju g deniranu integralom g (x) =
0

ext dt, 1+t

x > 0.

(6.5.3)

O cekujemo jo s bolje rezultate, jer podintegralna funkcija jo s br ze trne nego u prethodnom kad t . Ovdje vrijedi 1/(1 + t) 0 kad t , dok je cos t u funkciji f samo ograni cen izmedu 1 i 1. Supstitucijom razvoja 1 = 1 t + t2 1+t

dobivamo redom g (x) = =


0 0

ext (1 t + t2 ) dt e
xt

dt

xt

t dt +

ext t2 dt .

Za integraciju clan po clan, treba izra cunati integrale oblika 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! 2! 3! 1 2 + 3 4 + . x x x x (6.5.4)

Medutim, ovaj red divergira za sve kona cne vrijednosti x i relacija (6.5.4) je besmislena. Dakle, funkciju g iz (6.5.3) ne mo zemo izra cunati na ovaj na cin. Za sto je isti postupak bio uspje san u prvom primjeru, a ostao bez rezultata u drugom? Odgovor je jednostavan. Razvoj funkcije cos t konvergira za sve vrijednosti t, tj. na cijeloj domeni integracije, cak i ja ce, on konvergira uniformno na svakom kona cnom intervalu za t. Zbog toga smijemo iskoristiti integraciju clan po clan na svakom kona cnom intervalu, a zatim pustiti gornju granicu integracija na limes t .

U drugom slu caju, razvoj funkcije 1/(1 + t) konvergira samo za t < 1, a divergira za t 1. Rezultat iz (6.5.4) treba shvatiti kao posljedicu integracije reda clan po clan, ali na intervalu na kojem taj red ne konvergira uniformno.

Sve dosad re ceno su standardne cinjenice o redovima i integraciji iz matemati cke analize. Medutim, ako cijelu stvar gledamo malo manje teorijski, a vi se prakti cno, onda nam nitko ne brani da poku smo sumirati prvih nekoliko clanova reda na desnoj strani u (6.5.4), za neku ksnu vrijednost x. Pogledajmo sto ce se dogoditi, iako je to u potpunoj suprotnosti s poznatom teorijom! Primjer 6.5.3 Ozna cimo s gn (x) parcijalne sume prvih n clanova reda iz (6.5.4) gn (x) = 1 1! 2! 3! (n 1)! 2 + 3 4 + + (1)n1 . x x x x xn (6.5.5)

Uzmimo neki malo ve ci x, recimo x = 10, tako da nazivnici relativno brzo padaju i izra cunajmo prvih nekoliko vrijednosti gn (10). Za usporedbu, trebamo jo s i to cnu vrijednost g (10). Numeri ckom integracijom mo ze se izra cunati da je g (10) = 0.0915633339397880819 .

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 269

Sljede ca tablica pokazuje izra cunate vrijednosti gn (10) i pripadne pogre ske. n 0 1 2 3 4 5 6 7 8 9 izra cunati gn (10) 0.090000000000000000 0.091400000000000000 0.091520000000000000 0.091541600000000000 0.091545632000000000 gre ska g (10) gn (10)

0.100000000000000000 0.008436666060211918 0.092000000000000000 0.000436666060211918 0.091640000000000000 0.000076666060211918 0.091592000000000000 0.000028666060211918 0.091581920000000000 0.000018586060211918

0.001563333939788082 0.000163333939788082 0.000043333939788082 0.000021733939788082 0.000017701939788082 0.000021330739788082

11 0.091542003200000000

10 0.091581920000000000 0.000018586060211918 12 0.091589903360000000 0.000026569420211918

Sve u svemu, rezultat uop ce nije lo s, kad uzmemo da je nastao sumiranjem clanova divergentnog reda. Ndimo jo s i obja snjenje za ovaj prili cno neo cekivani uspjeh. Jasno je da treba promatrati gre sku n-te parcijalne sume iz (6.5.5) u ksnoj to cki x. Neka je en (x) := g (x) gn (x). Ako jo s i razvoj funkcije 1/(1 + t) napi semo u istom obliku kao zbroj prvih n clanova plus ostatak, 1 (1)n tn = 1 t + t2 + (1)n1 tn1 + , 1+t 1+t i to uvrstimo u deniciju (6.5.3) za g , dobivamo da je gre ska en (x) upravo integral ostatka iz prethodne relacije pomno zenog s ext , en (x) = (1)
n xt n 0

Dobivene vrijednosti su sasvim dobre aproksimacije! Vidimo da je g9 (10) najbolja aproksimacija, koja daje skoro 5 to cnih decimala i skoro 4 to cne vode ce znamenke. Naravno, za n 10 pogre ske sve vi se rastu i rezultati postaju beskorisni.

e t dt. 1+t

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 270

Uo cimo da smo ovdje imali kona cnu sumu, pa smo smjeli integrirati clan po clan. Ovu gre sku nije te sko ocijeniti. O cito je 1 1, 1+t pa je |en (x)| =
xt n 0

t 0,
0

e t dt 1+t

ext tn dt =

n! . xn+1

(6.5.6)

To pokazuje da je pogre ska n-te parcijalne sume manja od apsolutne vrijednosti prvog odba cenog clana. Osim toga, zato sto clanovi alterniraju po predznaku, pogre ska ima isti predznak kao i prvi odba ceni clan. Dakle, clanove reda mo zemo iskoristiti za ocjenu pogre ske i zbrajanje clanova treba zaustaviti to cno ispred apsolutno najmanjeg clana. Iz ocjene (6.5.6) za pogre sku n-te parcijalne sume odmah slijede dva zaklju cka. Ako gledamo konvergenciju u ksnoj to cki x > 0, onda je |en (x)| za n , pa nema govora o konvergenciji parcijalnih suma gn (x) prema g (x). To odgovara ranijem zaklju cku da pripadni red divergira u svakoj to cki x > 0. S druge strane, ako uzmemo da je n ksan, onda vrijedi |en (x)| 0 za x , (6.5.7)

sto odgovara konvergenciji, ali sa zamijenjenim ulogama n i x. Takvu vrstu konvergencije zovemo asimptotska konvergencija, u ovom slu caju, u okolini to cke + .

Parcijalne sume gn iz (6.5.5) generiraju red na desnoj strani (6.5.4), za kojeg ka zemo da je asimptotski razvoj funkcije g u okolini to cke +, a relaciju (6.5.4) pi semo u obliku g (x) 1 1! 2! 3! (n 1)! 2 + 3 4 + + (1)n1 + x x x x xn (x + ). (6.5.8)

Pritom ozna cava asimptotsku konvergenciju reda na desnoj strani ove relacije, u smislu (6.5.7). Prije precizne denicije pojma asimptotske konvergencije, objasnimo jo s vrijednost prethodnog zaklju cka. Relacija (6.5.7) vrijedi za svaki n N, sto zna ci da svaku od funkcija gn mo zemo koristiti za aproksimaciju funkcije g , samo to moramo napraviti za dovoljno velike vrijednosti x, tj. u odgovaraju coj okolini to cke +. Takvom aproksimacijom ne mo zemo posti ci proizvoljno veliku to cnost, odnosno

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 271

proizvoljno malu gre sku, kao kod obi cne konvergencije. Ovisno o x, postoji minimalna gre ska koju mo zemo dobiti (gledano po n) i bolje ne ide. Medutim, i to se uspje sno mo ze iskoristiti za prakti cno ra cunanje. Osim toga, rezultat (6.5.7) ima i teorijsku vrijednost. Uzmimo da je n = 1 u (6.5.7). To zna ci da se, u prvoj aproksimaciji, funkcija g pona sa kao g1 u okolini to cke +, tj. da g (x) pada kao 1/x, kad x +. Iz relacije (6.5.6) dobivamo i ocjenu gre ske za takvu aproksimaciju, 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 sljede ce dvije relacije asimptotskog pona sanja. Prva je g (x) g1 (x) = O (1/x2) (x +) i ona slu zi kao osnova za deniciju asimptotskog razvoja. Druga je g (x) g1 (x) = o(g1 (x)) (x +), ili, ekvivalentno (jer je g1 (x) = 0 za x > 0) g (x) = 1. x+ g1 (x) lim Posljednju relaciju obi cno pi semo u obliku g (x) g1 (x) (x +) (6.5.9)

Napomenimo da ista oznaka ima razli cita zna cenja u relacijama (6.5.8) i (6.5.9). U (6.5.9) je relacija asimptotskog pona sanja i ta relacija je simetri cna, cak relacija ekvivalencije. Za razliku od toga, u (6.5.8) ozna cava asimptotski razvoj i ta relacija nije simetri cna. Lijevo je funkcija, a desno je red potencija (red funkcija). Uo cimo da iz (6.5.8) slijede (6.5.9) i sli cni zaklju cci za aproksimacije gn s vi se clanova reda, ova oznaka se tradicionalno koristi u oba zna cenja. Naime, relaciju (6.5.9) mo zemo interpretirati i kao skra ceni zapis nekog asimptotskog razvoja, s tim da je naveden samo prvi clan razvoja. Ali oprezno, tada zapis g (x) g1 (x), po deniciji, zna ci samo g (x) = 1, lim x+ g1 (x)

i citamo g (x) je asimptotski jednako g1 (x) kad x +, sto zna ci da relativna gre ska od g1 (x) kao aproksimacije od g (x) te zi prema nuli kad x +. znamo vi Sve to slijedi samo iz prvog clana asimptotskog razvoja. Sto se clanova, dobivamo sve preciznije informacije o pona sanju fukcije g u okolini +.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 272

i nema govora o nekoj asimptotskoj konvergenciji koja se iskazuje relacijom (6.5.7), jer ne postoje ostali clanovi razvoja (nema parametra n). Upravo tako treba interpretirati i asimptotske relacije za Besselove funkcije iz prethodnog odjeljka. Precizna denicija asimptotskog razvoja u okolini neke to cke bazirana je na deniciji asimptotskog niza u okolini te to cke. Denicija 6.5.1 (Asimptotski niz) Neka je D R neki skup i c Cl D neka to cka iz zatvara ca skupa D , s tim da c mo ze biti i + ili . Nadalje, neka je n : D R, n N0 , niz funkcija za kojeg vrijedi n (x) = o(n1 (x)) (x c u D ),

za svaki n N. Tada ka zemo da je (n ) asimptotski niz kad x c u skupu D . Podsjetimo, oznaka oznaka n (x) = o(n1 (x)) (x c u D ) zna ci da svaka funkcija n raste bitno sporije od prethodne funkcije n1 u okolini to cke c, u smislu da vrijedi n (x) lim = 0, x c n1 (x) xD sto uklju cuje i pretpostavku da je n1 (x) = 0 u nekoj okolini to cke c gledano u skupu D , osim eventualno u samoj to cki c. Zato, ako funkcije n cine asimptotski niz, tada svaka funkcija n raste bitno sporije od prethodne funkcije n1 u okolini to cke c. Ili, ako neka funkcija iz tog niza te zi prema nuli kad x c u skupu D , tada svaka sljede ca funkcija te zi prema nuli bitno br ze od nje. Ista denicija vrijedi i za kompleksne domene D C, a to cka c mo ze biti i . Denicija 6.5.2 (Asimptotski razvoj) Neka je (n , n N0 ), asimptotski niz kad x c u skupu D . Formalni red funkcija
n=0

an n

je asimptotski razvoj funkcije f kad x c u skupu D , u oznaci f (x)


n=0

an n (x)

(x c u D ) ,

(6.5.10)

ako za svaki N N vrijedi relacija asimptotskog pona sanja f (x) =


N 1 n=0

an n (x) + O (N (x))

(x c u D ),

tj. apsolutna gre ska izmedu f i (N 1)-e parcijalne sume reda raste najvi se jednako brzo kao i N -ti clan asimptotskog niza, u okolini to cke c.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 273

Navedeni red funkcija treba interpretirati samo kao oznaku, tj. u cisto formalnom smislu, jer on mo ze biti divergentan u svakoj to cki domene. Uo cimo da iz prethodne dvije denicije odmah slijedi i f (x) =
N 1 n=0

an n (x) + o(N 1 (x)) (x c u D ),

za svaki N N. To zna ci da apsolutna gre ska izmedu f i bilo koje parcijalne sume reda raste bitno sporije od zadnjeg clana u parcijalnoj sumi, u okolini to cke c. Tipi cni primjeri asimptotskih nizova su obi cne i logaritamske potencije n (x) = (x c)n

ili

n (x) = (log(x c))n ,

za n N0 , u okolini to cke c R (ili C). Pripadni asimptotski razvoji su obi cni redovi potencija f (x) ili logaritamskih potencija f (x)
n=0 n=0

an (x c)n

(x c u D ),

an (log(x c))n

(x c u D ).

U praksi se naj ce s ce se koriste asimptotski nizovi u okolini to cke oblika n (x) = xn ili n (x) = (log x)n , za n N0 , koji nastaju supstitucijom x 1/x iz nizova u okolini to cke c = 0. Za potencije s negativnim eksponentima, asimptotski razvoj (6.5.10) ima ve c poznati oblik an f (x) (x u D ), n n=0 x sto, po deniciji, zna ci da vrijedi f (x) =
N 1 n=0

an + O (xN ) (x u D ). n x

Tada nema smisla govoriti o rastu, ve c o padu funkcija u okolini to cke . Apsolutna gre ska izmedu f i (N 1)-e parcijalne sume reda pada barem jednako brzo kao i xN , odnosno bitno br ze od zadnjeg clana u sumi, koji je proporcionalan s x(N 1) . Povijesno gledano, H. Poincar e je 1886. godine denirao asimptotski razvoj ba su ovom obliku. Napomenimo jo s da asimptotsko pona sanje mo ze bitno ovisiti o domeni D , ne samo zbog podru cja denicije funkcija, ve c zbog mogu ce restrikcije to caka po kojima se gledaju limesi kad x te zi prema c.

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 274

Ako je domena D = R ili D = C, onda se koristi skra cena oznaka (x c), bez navodenja domene D . Ako je jo s i c = , onda se, tradicionalno, oznaka (x ) mo ze i ispustiti, tj. podrazumijeva se razvoj u okolini to cke . Mo ze se dogoditi da funkcija f nema asimptotski razvoj na zadanoj domeni D 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 , cesto koristi i oznaka f (x) g (x)
n=0

an n (x) (x c u D ).

Ako je a0 = 0, onda prvi clan ovog razvoja daje i asimptotsko pona sanje funkcije f , tj. vrijedi f (x) a0 g (x), kad x c u D . U protivnom, ako je prvih k koecijenata razvoja jednako nuli, tj. a0 = . . . = ak1 = 0 i ak = 0, onda vrijedi sli cna relacija (poka zite koja). Analogno, ako f g ima asimptotski razvoj, gdje je g poznata funkcija, obi cno pi semo f (x) g (x) +
n=0

an n (x) (x c u D ).

6.6.

Veri zni razlomci i racionalne aproksimacije

Na po cetku ovog poglavlja zaklju cili smo da ekasno mo zemo ra cunati samo racionalne aproksimacije funkcija. Sve dosada snje aproksimacije imale su oblik linearne 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 u ciniti da uop ce nema potrebe za drugim vrstama aproksimacija. S druge strane, prirodno je o cekivati da dodavanjem operacije dijeljenja u oblik aproksimacijske funkcije, mo zemo posti ci znatno bolje aproksimacije za razne klase funkcija, kori stenjem pribli zno jednakog broja aritmeti ckih operacija. Pravu usporedbu polinomnih i racionalnih aproksimacija ostavljamo za poglavlje o aproksimacijama. Medutim, za prakti cnu primjenu racionalnih aproksimacija 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 .

O cito je da izvrednjavanje prethodne funkcije mo zemo izvr siti kori stenjem dviju Hornerovih shema (po jedna za polinom u brojniku i nazivniku) i jednim dijeljenjem na kraju. Broj potrebnih operacija je n + m mno zenja, n + m zbrajanja i jedno dijeljenje. Ipak, takvo izvrednjavanje racionalne funkcije nije idealno iz vi se razloga. Prvo, jer postoje algoritmi koji zahtijevaju manje operacija. Nadalje, mo ze se dogoditi da je vrijednost funkcije R(x0 ) neki broj razumnog reda veli cine, ali je dobiven dijeljenjem dva vrlo velika broja (koja nisu prikaziva u ra cunalu) ili dva vrlo mala broja (dobivena kra cenjem polinoma u brojniku ili nazivniku). Na neki na cin, tada bi trebalo vr siti neku normalizaciju u Hornerovoj shemi, cim nam kvocijent prijede neku zadanu veli cinu, a tada algoritam postaje stra sno kompliciran. Na primjer, ako aproksimiramo vrijednost funkcije th x (sli cno je i za bilo koju drugu funkciju f koja ne te zi u beskona cnost kada x ) u to cki x0 , pri cemu je x0 1, racionalna aproksimacija bit ce omjer dva polinoma.

Ako zelimo racionalnu aproksimaciju koja ima stupanj polinoma bar jedan u brojniku i nazivniku, onda ce racionalna aproksimacija biti omjer vrijednosti polinoma brojnika i nazivnika u dalekoj to cki, a sama ce vrijednost funkcije biti broj nekog razumnog reda veli cine (u slu caju th x cak manji od 1).

U teoriji nepolinomnih aproksimacija mogu ce je pokazati da su, uz neke uvjete, najbolje racionalne aproksimacije one kojima je stupanj polinoma u brojniku jednak onom u nazivniku ili se eventualno razlikuje za jedan. U tom slu caju racionalnu aproksimaciju mo zemo napisati kao veri zni razlomak, pa ce i brzina ra cunanja i problem preljeva (overow) biti rije seni na cinom izvrednjavanja takvog veri znog razlomka. No prije no sto upoznamo tzv. funkcijske veri zne razlomke, upoznajmo se s brojevnim veri znim razlomcima.

6.6.1.

Brojevni veri zni razlomci


R = b0 + b1 + b2 + b3 + a1 a2 a3 a4 b4 +

Izraz oblika

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 276

zovemo (brojevni) veri zni razlomak. Ovakav zapis je nespretan, pa su smi sljeni alternativni zapisi. U razli citoj literaturi nailazimo na tri oblika zapisa veri znih razlomaka R = b0 ; a1 a2 a3 , , ,... , b1 b2 b3 R = b0 + a1 | a2 | a3 | + + + , | b1 | b2 | b3

i mo zda najzgodniji zapis R = b0 + a1 a2 a3 . b1 + b2 + b3 + (6.6.1)

Ako u beskona cnom veri znom razlomku uzmemo samo kona cno mnogo clanoa1 a2 a3 an , (6.6.2) + + + b1 b2 b3 bn onda se takav izraz zove n-ta konvergencija veri znog razlomka R. Ako postoji vrijednost veri znog razlomka (6.6.1), onda se ona denira kao Rn = b0 + R = lim Rn ,
n

va,

gdje je Rn n-ta konvergencija denirana izrazom (6.6.2). Drugim rije cima, va zno je znati kako ekasno izra cunati Rn .

6.6.2.

Uzlazni algoritam za izvrednjavanje brojevnih veri znih razlomaka

Promatrajmo n-tu konvergenciju veri znog razlomka, koju mo zemo prikazati kao racionalni broj, kvocijent Pn i Qn Rn = a1 a2 a3 an Pn = b0 + + + + . Qn b1 b2 b3 bn

Za nultu konvergenciju je R0 = P0 = b0 , Q0

pa mo zemo izabrati da je P0 = b0 , Q0 = 1 (mogli smo i druga cije birati, jedini je uvjet da je P0 /Q0 = b0 ). Za sljede cu konvergenciju vrijedi R1 = P1 a1 b0 b1 + a1 b1 P0 + a1 = b0 + = = . Q1 b1 b1 b1 Q0

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 277

Ako jo s deniramo P1 = 1, Q1 = 0, onda prethodna relacija glasi R1 = P1 b1 P0 + a1 P1 = , Q1 b1 Q0 + a1 Q1

tj. ponovno mo zemo zatra ziti da se brojnik odreduje kori stenjem prethodnih brojnika, a nazivnik kori stenjem prethodnih nazivnika, 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 . Uo cimo da Rn+1 nastaje iz Rn ako bn zamijenimo s bn + an+1 /bn+1 . No, u postupku ra cunanja Pk i Qk bn se pojavljuje samo u ra cunanju Pn i Qn , a ne kod prethodnih k < n. Stoga, za Rn+1 vrijedi P +1 Rn+1 = n , Qn+1 gdje je
Pn +1 = bn +

Qn+1

an+1 Pn1 + an Pn2 bn+1 an+1 an+1 Pn1 = Pn + Pn1 , = (bn Pn1 + an Pn2 ) + 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 ,

Deniramo li

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 rije cima, deniramo li P1 = 1, Q1 = 0, P0 = b0 , Q0 = 1, (6.6.3)

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 278

onda, dobivamo tzv. uzlazni algoritam izvrednjavanja veri znog razlomka 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 veri znom razlomku. Iz (6.6.4) lako se cita da su Pk i Qk dva rje senja diferencijske jednad zbe yk bk yk1 ak yk2 = 0. Uo cite da bi nam u algoritmu (6.6.4) odgovaralo da su ili ak ili bk jednaki 1, tako da ne moramo mno ziti tim koecijentima. To se mo ze posti ci kori stenjem tzv. ekvivalentne transformacije. Neka su wk , za k 1, proizvoljni brojevi razli citi od 0 i w1 = w0 = 1. Tvrdimo da izvrednjavanjem veri znog razlomka w0 w1 a1 w1 w2 a2 w2 w3 a3 . (6.6.5) R = b0 + w1 b1 + w2 b2 + w3 b3 + dobijemo isti R kao u (6.6.1). Ozna cimo sa Sn i Tn brojnik i nazivnik n-te konvergencije prethodnog veri znog razlomka
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 napi simo rekurzije za Sk i Tk , jednostavno umetanjem novih, pro sirenih ak i bk Sk = wk bk Sk1 + wk1wk ak Sk2 , Tk = wk bk Tk1 + wk1 wk ak Tk2 , S 1 = 1 ,
k

k = 1, 2, . . . , n, T0 = 1.

uz

T1 = 0,

S0 = b0 ,

Tvrdimo da postoji veza izmedu Pk i Sk , te Qk i Tk ,


k

Sk = P k

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


k

Sk = P k za neke k , k 1. Tada vrijedi

wi ,
i=1

Sk 1 = P k 1

k 1 i=1

wi

Sk+1 = wk+1bk+1 Sk + wk wk+1ak+1 Sk1


k

= wk+1bk+1 Pk

i=1

wi + wk wk+1 ak+1 Pk1


k +1

k 1

wi

i=1 k +1

= (bk+1 Pk + ak+1 Pk1)

i=1

wi = Pk+1

wi
i=1

sto je i trebalo pokazati. Na sli can se na cin dokazuje i relacija za Tk i Qk . Dakle, vrijedi
n+1 Rn

Sn = = Tn

Pn Qn

wi
i=1 n+1

= wi

Pn = Rn . Qn

i=1

Sada mo zemo pojednostavniti veri zni razlomak R, tj. svesti ga na alternativnu formu, tako da u rekurziji (6.6.4) ili ak ili bk budu jednaki 1. Pretpostavimo da su ak = 0 za sve k 1. Budu ci da je izbor skalara wk , wk = 0, k 1 proizvoljan wk mo zemo izabrati tako da vrijedi w1 a1 = 1, Odatle odmah slijedi w1 = odnosno op cenito 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.

sto se dokazuje indukcijom. Time smo dobili tzv. II tip veri znog razlomka u kojem 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, mo zemo posti ci i da su nazivnici jednaki 1. Pretpostavimo da su bk = 0 za sve k 1. Budu ci da je izbor wk , wk = 0, k 1 proizvoljan, izaberemo tako da vrijedi w1 b1 = 1, w2 b2 = 1, . . . , wn bn = 1, tj. stavljanjem 1 bk dobivamo tzv. I tip veri znog razlomka u kojem su nazivnici jednaki 1, wk = R = b0 + Koecijenti ak su jednaki a1 = odnosno op cenito 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 veri znih razlomaka i neki teoremi 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 veri zni razlomak svede na tzv. Eulerovu formu R = b0 + 1 2 3 . + + 1 (1 2 ) (1 3 )+

Da bismo uspostavili vezu po cetnog veri znog razlomka i dobivenog veri znog razlomka u Eulerovoj formi, napi simo rekurzije za veri zni razlomak u Eulerovoj formi kori stenjem veli cina Sk i Tk . Promatrajmo drugu rekurziju iz (6.6.4) za Qk odnosno

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 281

Tk , (jer nas zanima ta rekurzija za veri zni razlomak u Eulerovoj formi). Uz T1 = 0, T0 = 1, dobivamo T1 = T0 + 1 T1 , Tk = (1 k )Tk1 + k Tk2 , k 2.

Uo cite da je T1 = T0 = 1, pa vrijedi Tk = 1, k 0.

Time se od dvije rekurzije za ra cunanje n-te konvergencije veri znog razlomka koristi 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 veri zni razlomci mogu svesti na Eulerov oblik. Veri zni razlomak mo ze svesti na Eulerovu formu ako i samo ako su svi Qk = 0 (u rekurziji za po cetni veri zni razlomak). Nadimo vezu izmedu originalnog i Eulerovog veri znog razlomka. Dokaz te tvrdenje ponovno koristi indukciju. Prvo poka zimo da za sve wk vrijedi wk = Qk1 , Qk k 1. (6.6.6)

Iz w1 b1 = 1, uz pretpostavku da je b1 = 0 slijedi w1 = 1 Q0 = , b1 Q1

sto je baza indukcije. Pretpostavimo da za za neki wn vrijedi wn = Qn1 . Qn

Iz denicijske relacije za Eulerov veri zni razlomak slijedi da je wn wn+1 an+1 + wn+1 bn+1 = 1, pa primjenom pretpostavke indukcije dobivamo wn+1 = 1 wn an+1 + bn+1 = 1 Qn Qn = = , Qn1 Qn1 an+1 + Qn bn+1 Qn+1 an+1 + bn+1 Qn

cime je dokazan korak indukcije. 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 veri znog razlomka, uglavnom cemo koristiti pri dokazivanju tvrdnji. Da bismo dokazali konvergenciju veri znog razlomka, potraban nam je jednostavan izraz za Rk , po mogu cnosti neki red. Prvo, iz rekurzija za Pk i Qk nadimo koliko je Rk Rk1 , a zatim i Rk Rk2 . Za k 1 vrijedi Rk Rk1 = Pk Pk 1 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 sli can se na cin dokazuje da je (6.6.9)

Kori stenjem relacije (6.6.6) mo zemo (6.6.8) zapisati u terminima k (ponovno uz pretpostavku da su svi Qi razli citi od 0). Vrijedi ak ak1 a1 Rk Rk1 = (1)k+1 = (1)k+1 k k1 1 . (6.6.10) Qk Qk1 Rekurzivnom primjenom (6.6.10) dobivamo da je
k

Rk = (1)k+1 k k1 1 + Rk1 = = b0 + Ako veri zni razlomak konvergira, onda je R = lim Rk = b0 +


k i=1

i=1

(1)i+1 i i1 1 .

(1)i+1 i i1 1 ,

(6.6.11)

pa je |Rk R| =

i=k +1

(1)i+1 i i1 1 .

Sada mo zemo izre ci i dokazati neke rezultate o konvergenciji veri znih razlomaka.

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 veri zni razlomak (6.6.1) konvergentan. Dokaz. Budu ci da su ak , bk > 0, onda su to i Qk , pa iz (6.6.7) izlazi 1 2 i = a1 a2 ai > 0, Qi Qi1

pa je red u (6.6.11) alterniraju ci. Po Leibnitzovom kriteriju dovoljno je pokazati da n-ti clan tog reda te zi u 0 i da mu clanovi opadaju po apsolutnoj vrijednosti. 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 , sto slijedi iz uvjeta bk > 0 i rekurzije za Qi . Lako se dokazuje da je Qi Qi1 , pa odatle slijedi da je Qi2 1 i < = < 1. (1 + )Qi2 1+ Takoder, red je alterniraju ci, pa po Leibnitzovom kriteriju, gre ska koju smo napravili ako R aproksimiramo s Rk manja je ili jednaka prvom odba cenom clanu 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 veri znih razlomaka

Vratimo se jo s jednom na izvrednjavanje veri znih razlomaka. Prethodni je teorem dao neke ocjene o tome koliko dobro Rn aproksimira R. Zbog toga, mo zemo pretpostaviti da nam je unaprijed poznato koliko konvergencija trebamo da bismo dobro aproksimirali neki veri zni razlomak. Krenemo li od silazno od bn , onda ce sljede ca rekurzija izvrednjavati Rn . Deniramo Fn = bn (ili Fn+1 = ) i ra cunamo Fk = bk + na kraju cemo dobiti Rn = F0 . Primijetite da silazna rekurzija u svakom koraku ima to cno jedno zbrajanje i jedno dijeljenje, za razliku od uzlazne, koja u svakom koraku (u op cem slu caju) ima 4 mno zenja i 2 zbrajanja. Ova dva tipa rekurzija analogon su izvrednjavanja polinoma: silazna rekurzija analogon je Hornerove sheme, a uzlazna je analogon potenciranja i zbrajanja. Dapa ce, mo ze se pokazati da je silazna rekurzija za izvrednjavanje veri znih razlomaka optimalna sto se ti ce broja operacija, cak i ako su dozvoljene transformacije koecijenata veri znog razlomka prije po cetka izvrednjavanja. ak+1 , Fk+1 k = (n), n 1, . . . , 0,

6.6.5.

Funkcijski veri zni razlomci

Funkcijski veri zni razlomci mogu se dobiti na vi se na cina, i mogu imati vi se oblika. Veri zne razlomke koji imaju varijablu u brojniku zovemo veri zni razlomci tipa I i oni imaju op ci oblik f (x) = 0 + x x1 x x2 x x3 . 1 + 2 + 3 + (6.6.12)

Funkcijski veri zni razlomci mogu imati varijablu u nazivniku, i takve veri zne razlomke zovemo veri zni razlomci tipa II. Op cenito, oni imaju oblik f (x) = b0 + a1 a2 a3 . (x + b1 )+ (x + b2 )+ (x + b3 )+ (6.6.13)

Izvrednjavanje veri znih razlomaka oba tipa vrlo je sli cno izvrednjavanju brojevnih veri znih razlomaka. Za izvrednjavanje n-te konvergencije fn (x) veri znih

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 285

razlomaka prvog tipa, mo zemo koristiti silazni algoritam. Stavimo Fn = n (ili Fn+1 = ), a zatim ra cunamo Fk = k + i na kraju je fn (x) = F0 . Za izvrednjavanje n-te konvergencije veri znih razlomaka drugog tipa mo zemo koristiti, takoder, silazni algoritam. Stavimo Fn = bn (ili Fn+1 = ), a zatim ra cunamo ak+1 Fk = bk + , k = (n), n 1, . . . , 0, x + Fk+1 i na kraju je fn (x) = F0 . Kako dolazimo do veri znih razlomaka? Obi cno je ne sto lak se do ci do veri znih razlomaka tipa I, a zatim ih mo zemo pretvoriti u tip II. Ako imamo zadanu funkciju f , uobi cajeno se veri zni razlomak nalazi nestandardiziranim postupkom kad se funkcija zapisuje pomo cu same sebe. Da bismo to bolje objasnili, pogledajmo to na primjeru jedne funkcije. Primjer 6.6.1 Razvijmo u veri zni razlomak prvog tipa funkciju f (x) = 1 + x. Prvo, potrebno funkciju malo druga cije zapisati. Lako se provjerava da je 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 veri zni razlomak 1+x=1+ x x x . 2+ 2+ 2+

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 286

Navedimo neke od poznatih veri znih razlomaka, bez njihova izvoda: 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 = x th x = x Arth 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

Svi ovi veri zni razlomci su prvog tipa. Ima li koristi znati kako bi izgledao njihov drugi tip? Na primjer sesta konvergencija veri znog razlomka za 1 + x bi izgledala ovako, redom, prvi tip, racionalna funkcija, drugi tip: 1+x =1+ =7+ x x x x x x 7x3 + 56x2 + 112x + 64 = 2+ 2+ 2+ 2+ 2+ 2 x3 + 24x2 + 80x + 64 112 24/7 8/63 . + + (x + 20) (x + 8/3) (x + 4/3)

vidimo? Iako drugi tip ima kompliciranije koecijente, ima upola manje karika Sto za izvrednjavanje, pa ce to dva puta ubrzati postupak izvrednjavanja. Stoga se javlja potreba za pretvaranje veri znog razlomka prvog tipa u veri zni razlomak drugog tipa. Postupak se obavlja u dva koraka. U prvom koraku od veri znog razlomka prvog tipa dobivamo racionalnu funkciju. Pogledajmo silazni algoritam za izvrednjavanje veri znog razlomka prvog tipa. Fk zelimo napisati kao kvocijent dva polinoma, pa mo zemo denirati uk Fk = . vk Tada silazna rekurzija glasi uk (x xk+1 )vk+1 = k + . vk uk+1

6. IZVREDNJAVANJE FUNKCIJA

IZVREDNJAVANJE FUNKCIJA 287

Kao sto smo to i prije radili, izjedna cimo brojnike i nazivnike funkcija s obje strane. Dobivamo uk = k uk+1 + (x xk+1 )vk+1 , vk = uk+1. Naravno vk mo zemo eliminirati uvr stavanjem iz druge jednad zbe 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. Kona cno, n-ta je konvergencija jednaka fn (x) = F0 = u0 u0 = . v0 u1

Da bismo iz racionalne funkcije dobili drugi tip veri znog razlomka, potrebno je koristiti silaznu rekurziju za drugi tip i usporedivati s u0 /u1 . Iz silazne rekurzije za drugi tip izlazi u0 a1 = b0 + , u1 x + F1 pa mo zemo pisati u0 = u1 b0 + a1 R1 . Zatim ponovimo postupak i dobivamo u1 = R1 b1 + a2 R2 . Ova rekurzija se prekida kad je stupanj polinoma 0. Algoritam za pretvaranje racionalne funkcije u drugi tip veri znog razlomka je sljede ci. Denira se R1 = u0 i R0 = u1 . Zatim se vrti petlja Rk1 = Rk bk + ak+1 Rk+1 za k = 0, 1, 2, . . .

sve dok ne bude ispunjen uvjet Rx = 1. Pritom je bk = b0 , k = 0, bk + x, k = 0.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 288

7. Aproksimacija i interpolacija
7.1. Op ci problem aproksimacije

je problem aproksimacije? Ako su poznate neke informacije o funkciji f , Sto deniranoj na nekom skupu X R, na osnovu tih informacija zelimo f zamijeniti nekom drugom funkcijom na skupu X , tako da su f i bliske u nekom smislu. Skup X je naj ce s ce interval oblika [a, b] (mo ze i neograni cen), ili diskretni skup to caka. Problem aproksimacije javlja se u dvije bitno razli cite formulacije. (a) Poznata je funkcija f (npr. analiti cki), ali je njena forma prekomplicirana za ra cunanje. U tom slu caju odabiremo neke informacije o f i po nekom kriteriju odredimo aproksimacijsku funkciju . U tom slu caju mo zemo birati informacije o f koje cemo koristiti. Jednako tako, mo zemo ocijeniti gre sku 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 to caka. Zamjenska funkcija odreduje se iz raspolo zivih informacija, koje, osim samih podataka, uklju cuju i o cekivani oblik pona sanja podataka, tj. funkcije . U ovom se slu caju ne mo ze napraviti ocjena pogre ske bez dodatnih informacija o nepoznatoj funkciji f . Varijanta (b) je puno ce s ca u praksi. Naj ce s ce se javlja kod mjerenja raznih veli cina, jer, osim izmjerenih podataka, poku savamo aproksimirati i podatke koji se nalaze izmedu izmjerenih to caka. Primijetimo da se kod mjerenja javljaju i pogre ske mjerenja, pa postoje posebne tehnike za ubla zavanje tako nastalih gre saka. Funkcija bira se prema prirodi modela, ali tako da bude relativno jednostavna za ra cunanje. Ona obi cno ovisi o parametrima ak , k = 0, . . . , m, koje treba odrediti po nekom kriteriju, (x) = (x; a0 , a1 , . . . , am ). Kad smo funkciju zapisali u ovom obliku, kao funkciju koja ovisi o parametrima ak , onda ka zemo da smo odabrali op ci oblik aproksimacijske funkcije. Oblike aproksimacijskih funkcija mo zemo (grubo) podijeliti na:

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

Op ci oblik linearne aproksimacijske funkcije je (x) = a0 0 (x) + a1 1 (x) + + am m (x), gdje su 0 , . . . , m poznate funkcije koje znamo ra cunati. Primijetite da se linearnost ne odnosi na oblik funkcije , ve c na njenu ovisnost o parametrima ak koje treba odrediti. Prednost ovog oblika aproksimacijske funkcije je da odredivanje parametara ak obi cno vodi na sustave linearnih jednad zbi. Navedimo naj ce s ce kori stene oblike linearnih aproksimacijskih funkcija. 1. Algebarski polinomi, k (x) = xk , k = 0, . . . , m, tj. (x) = a0 + a1 x + + am xm . Funkciju (x) ne moramo nu zno zapisati u standardnoj bazi obi cnih potencija {1, x, . . . , xm }. Vrlo cesto je neka druga baza bitno pogodnija, na primjer, tzv. ortogonalnih polinoma ili baza {1, (x x0 ), (x x0 ) (x x1 ), . . . }, gdje su x0 , x1 , . . . zadane to cke. 2. Trigonometrijski polinomi, pogodni za aproksimaciju periodi ckih funkcija, recimo, 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 slu zi za kontrolu perioda, a ponekad se biraju samo parne ili samo neparne funkcije iz ovog skupa. 3. Po dijelovima polinomi, tzv. splajn funkcije. Ako su zadane to cke x0 , . . . , xn , 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 naj ce s ce stupnjeva 1, 2, 3 ili 5. U to ckama xi obi cno se zahtijeva da funkcija zadovoljava jo s i tzv. uvjete ljepljenja vrijednosti funkcije i nekih njenih derivacija ili nekih aproksimacija tih derivacija. Splajnovi se danas cesto koriste zbog dobrih svojstava obzirom na gre sku aproksimacije i kontrolu oblika aproksimacijske funkcije.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 290

7.1.2.

Nelinearne aproksimacijske funkcije

Navedimo naj ce s ce kori stene oblike nelinearnih aproksimacijskih funkcija. 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 pi se. Naime, razlomci se mogu pro sirivati (ili skalirati), pa ako su bi , ci parametri, onda su to i tbi , tci , za t = 0. Zbog toga se uvijek ksira jedan od koecijenata bi ili ci , a koji je to obi cno slijedi iz prirode modela. 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. Naj ce s ci su zahtjevi da graf aproksimacijske funkcije prolazi ckama tj. da interpolira funkciju u tim to ckama ili da je odstupanje odredenim to aproksimacijske od polazne funkcije u nekom smislu minimalno, tj. tada se minimizira pogre ska. Interpolacija Interpolacija je zahtjev da se vrijednosti funkcija f i podudaraju na nekom kona cnom skupu argumenata (ili kra ce to caka). Te to cke obi cno nazivamo cvorovima interpolacije. Ovom zahtjevu se mo ze, ali i ne mora dodati zahtjev da se u cvorovima, osim funkcijskih vrijednosti, poklapaju i vrijednosti nekih derivacija. Drugim rije cima, u najjednostavnijem obliku interpolacije, kad tra zimo samo podudaranje funkcijskih vrijednosti, od podataka o funkciji f koristi se samo informacija o njenoj vrijednosti na skupu od (n + 1) to caka, tj. podaci oblika (xk , fk ), gdje je fk = f (xk ), za k = 0, . . . , n.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 291

Parametri a0 , . . . , an (kojih mora biti to cno onoliko koliko i podataka!) odreduju se iz uvjeta (xk ; a0 , a1 , . . . , an ) = fk , k = 0, . . . , n, sto je, op cenito, nelinearni sustav jednad zbi. Ako je aproksimacijska funkcija linearna, onda za parametre ak dobivamo sustav linearnih jednad zbi koji ima to cno n + 1 jednad zbi i n + 1 nepoznanica. Matrica tog sustava je kvadratna, sto bitno olak sava analizu egzistencije i jedinstvenosti rje senja za parametre interpolacije. Minimizacija pogre ske Minimizacija pogre ske je drugi kriterij odredivanja parametara aproksimacije. Funkcija bira se tako da se minimizira neka odabrana norma pogre ske e(x) = f (x) (x) u nekom odabranom vektorskom prostoru funkcija deniranih na nekoj domeni X . Ove aproksimacije, cesto zvane i najbolje aproksimacije po normi, dijele se na diskretne i kontinuirane, ovisno o tome minimizira li se norma pogre ske e na diskretnom ili kontinuiranom skupu podataka X . Standardno se kao norme pogre ske koriste 2-norma i -norma. Za 2-normu pripadna se aproksimacija zove srednjekvadratna, a metoda za njeno nala zenje zove se metoda najmanjih kvadrata. Funkcija , odnosno njeni parametri, se tra ze tako da bude e 2 minimalna na X . U diskretnom slu caju je X = {x0 , . . . , xn }, pa je zathjev minimalnosti
n k =0

(f (xk ) (xk ))2 min,

dok je u kontinuiranom slu caju


b

(f (x) (x))2 dx min .

Preciznije, minimizira se samo ono pod korijenom. Tako se dobiva jednako rje senje kao da se minimizira korijen tog izraza, jer je drugi korijen rastu ca funkcija. Za sto se ba s minimiziraju kvadrati gre saka? To ima veze sa statistikom, jer se izmjereni podaci obi cno pona saju kao normalna slu cajna varijabla, s o cekivanjem koje je to cna vrijednost podatka. Odgovaraju ci kvadrati su varijanca i nju treba minimizirati.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 292

U slu caju -norme pripadna se aproksimacija zove minimaks aproksimacija, a parametri se biraju tako da e bude minimalna. U diskretnom slu caju problem 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 po zeljniji od srednjekvadratnih, jer se tra zi da maksimalna gre ska bude minimalna, tj. najmanja mogu ca, ali ih je op cenito mnogo te ze izra cunati (na primjer, dobivamo problem minimizacije nederivabilne funkcije). Napomenimo jo s da smo u prethodnim primjerima koristili uobi cajene (diskretne i kontinuirane) norme na odgovaraju cim prostorima funkcija, ovisno o domeni X . Naravno, normirani prostor u kojem tra zimo aproksimacijsku funkciju ovisi o problemu kojeg rje savamo. Nerijetko u praksi, norme, pored funkcije uklju cuju i 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 s koja je uloga parametrizacije aproksimacijskih funkcija. O cito, rije c je o izboru prikaza ili baze u prostoru aproksimacijskih funkcija ili na cinu zadavanja tog prostora. Dok prva dva problema uglavnom ne ovise o parametrizaciji, kao sto cemo vidjeti, dobar izbor baze je klju can korak u konstrukciji to cnih i ekasnih algoritama. Problem interpolacije mo zemo smatrati specijalnim, ali posebno va znim slu cajem aproksimacije po normi na diskretnom skupu X cvorova interpolacije uz neku od standardnih normi na kona cnodimenzionalnim prostorima. Posebnost se ogleda u cinjenici sto se mo ze posti ci da je minimum norme pogre ske jednak nuli, a to je ekvivalentno odgovaraju cim uvjetima interpolacije. Na primjer, uzmimo da je X = {x0 , . . . , xn } i tra zimo aproksimacijsku funkciju u prostoru Pn svih polinoma stupnja najvi se n. Kao kriterij aproksimacije uzmimo bilo koju p-normu (1 p ) vektora e pogre ske funkcijskih vrijednosti na skupu X , tj.
n

= f

=
k =0

|f (xk ) (xk )|p

1/p

min,

1 p < ,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 293

odnosno e O cito je e
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 mo ze posti ci, tj. da li postoji takva aproksimacijska funkcija Pn za koju je minimum gre ske jednak nuli, tako da je i interpolacijska funkcija. U odjeljaku 7.2. pokazat cemo da je odgovor za ovaj primjer potvrdan. Osnovni matemati cki problemi u teoriji aproksimacije Pri kraju ovog uvoda u op ci problem aproksimacije funkcija postaje jasno koji su klju cni matemati cki problemi koje treba rije siti: egzistencija i jedinstvenost rje senja problema aproksimacije, sto ovisi o tome koje funkcije f aproksimiramo kojim funkcijama (dva prostora) i kako mjerimo gre sku, analiza kvalitete dobivene aproksimacije vrijednost najmanje pogre ske i pona senje funkcije gre ske e (jer norma je ipak samo broj), konstrukcija algoritama za ra cunanje najbolje aproksimacije, dokaz ekasnosti i to cnosti algoritma, a ako je proces beskona can njegovu globalnu i asimptotsku konvergenciju.

7.2.

Interpolacija polinomima

Pretpostavimo da imamo funkciju f zadanu na diskretnom skupu razli citih to caka xk , k = 0, . . . , n, tj. xi = xj za i = j . Poznate funkcijske vrijednosti u tim to ckama skra ceno ozna cavamo s fk = f (xk ). Primijetite da pretpostavka o razli citosti to caka nije bitno ograni cenje. Naime, 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 mo zemo ispustiti. Ako je [a, b] segment na kojem koristimo interpolaciju (i promatramo gre sku), u praksi su to cke obi cno numerirane tako da vrijedi a x0 < x1 < < xn b.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 294

7.2.1.

Egzistencija i jedinstvenost interpolacijskog polinoma

Za polinomnu interpolaciju vrijedi sljede ci teorem, ciji dokaz koristi cinjenicu da linearni sustav s regularnom matricom ima jedinstveno rje senje. U iskazu teorema koristi se oznaka N0 za skup cijelih nenegativnih brojeva. Teorem 7.2.1 Neka je n N0 . Za zadane to cke (xk , fk ), k = 0, . . . , n, gdje je xi = xj za i = j , postoji jedinstveni (interpolacijski) polinom stupnja najvi se n (x) := pn (x) = a0 + a1 x + + an xn za koji vrijedi pn (xk ) = fk , k = 0, . . . , n. Dokaz. Neka je pn = a0 + a1 x + + an xn polinom stupnja najvi se n. Uvjete interpolacije mo zemo napisati u obliku pn (x0 ) = a0 + a1 x0 + + an xn 0 = f0 pn (x1 ) = a0 + a1 x1 + + an xn 1 = f1 pn (xn ) = a0 + a1 xn + + an xn n = fn . Drugim rije cima, treba provjeriti ima li ovaj sustav od (n + 1)-e linearne jednad zbe s (n + 1)-om nepoznanicom a0 , . . . , an jedinstveno rje senje. Za to je dovoljno provjeriti je li kvadratna matrica tog linearnog sustava regularna. To mo zemo napraviti ra cunanjem vrijednosti determinante te matrice. Ta determinanta je tzv. Vandermondeova 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 nali ci na Dn , samo umjesto potencija od xn , posljednji redak ima potencije od x: 1 x0 1 x1 . . Vn (x) = . . . . 1 xn1 1 x x2 0 x2 1 . . . 2 xn1 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 najvi se n u varijabli x, s n vode cim koecijentom Dn1 uz x . S druge strane, ako za x redom uvr stavamo x0 , . . . , xn1 , determinanta Vn (x) ce imati dva jednaka retka pa ce biti Vn (x0 ) = Vn (x1 ) = = Vn (xn1 ) = 0, Dakle, to cke x0 , . . . , xn1 su nulto cke polinoma Vn (x) stupnja n. Da bismo to cno odredili polinom stupnja n, ako su poznate njegove nulto cke, potrebno je samo znati njegov vode ci koecijent. U ovom slu caju, pokazali smo da je to Dn1 . Odatle odmah slijedi Vn (x) = Dn1 (x x0 ) (x x1 ) (x xn1 ). Kad uvrstimo x = xn , dobivamo rekurzivnu relaciju za Dn Ako znamo da je D0 = 1, sto je trivijalno, dobivamo da je Dn =
0j<in

Dn = Dn1 (xn x0 ) (xn x1 ) (xn xn1 ). (xi xj ).

Budu ci da je xi = xj za i = j , onda je Dn = 0, tj. matrica linearnog sustava je regularna, pa postoji jedinstveno rje senje a0 , . . . , an za koecijente polinoma pn , odnosno jedinstven interpolacijski polinom. Ovaj teorem u potpunosti rje sava prvo klju cno pitanje egzistencije i jedinstvenosti rje senja problema polinomne interpolacije u njegovom najjednostavnijem obliku kad su zadane funkcijske vrijednosti u medusobno razli citim to ckama. Takav oblik interpolacije, kad tra zena funkcija (u ovom slu caju polinom) mora interpolirati samo funkcijske vrijednosti zadane funkcije, obi cno zovemo Lagrangeova interpolacija. U op cenitijem slu caju, mo zemo zahtijevati interpolaciju zadanih vrijednosti funkcije i njezinih uzastopnih derivacija. Takvu interpolaciju zovemo Hermiteova interpolacija. Ne sto kasnije cemo pokazati da problem Hermiteove interpolacije mo zemo rije siti kao grani cni slu caj Lagrangeove, kad dozvolimo vi sestruko ponavljanje istih cvorova, tj. otpustimo ograni cenje na medusobnu razli citost cvorova. Za po cetak, moramo rije siti preostala dva problema vezana uz polinomnu Lagrangeovu interpolaciju, a to su: konstrukcija algoritama i analiza gre ske.

7.2.2.

Kako na ci prave algoritme?

Kakve algoritme trebamo? Odgovor ovisi o tome sto zelimo posti ci interpolacijom. Kao i kod svih aproksimacija, o cita primjena je zamjena funkcijskih vrijednosti f (x) vrijednostima interpolacijskog polinoma pn (x), i to u to ckama x koje u

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 296

principu nisu cvorovi interpolacije. To je posebno bitno ako vrijednosti funkcije f ne znamo u ostalim to ckama, ili se one te sko ra cunaju (recimo algoritam zahtijeva vrlo mnogo operacija ili je nestabilan, pa treba primijeniti posebne tehnike ra cunanja). U tom smo slu caju jedva izra cunali i ove vrijednosti od f koje smo iskoristili za interpolaciju. Dakle, sigurno trebamo algoritam za ra cunanje vrijednosti interpolacijskog polinoma u nekoj zadanoj to cki x koja nije cvor, jer u cvorovima ionako vrijedi f (x) = pn (x). To caka x u kojima zelimo izra cunati pn (x) mo ze biti vrlo mnogo, a gotovo nikad nije samo jedna. Zbog toga se problem ra cunanja vrijednosti pn (x) uvijek rje sava u dvije faze: 1. prvo nademo polinom pn , jer on ne ovisi o to cki x, ve c samo o zadanim podacima (xk , fk ), k = 0, . . . , n, 2. zatim, za svaku zadanu to cku x izra cunamo pn (x). Prvu fazu je dovoljno napraviti samo jednom i zato svaku od ovih faza treba realizirati posebnim algoritmom. Dodatno, zelimo sto br zi algoritam, posebno u drugoj fazi, jer se on tamo puno puta izvr sava. Medutim, ne cemo zahtijevati brzinu na u strb stabilnosti, ako se to mo ze izbje ci, bez ve ceg gubitka brzine. zna Pogledajmo detaljnije prvu fazu. Sto ci na ci polinom pn ? Broj podataka 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 prikaz, kao linearna kombinacija polinoma bi iz te baze. Dakle, da bismo na sli pn , treba (i dovoljno je) na ci koecijente ai u prikazu
n

pn (x) =
i=0

ai bi (x).

Njih mo zemo na ci tako da u ovu relaciju uvrstimo sve uvjete interpolacije


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 razli cita polinoma stupnja n ne mogu imati jednake vrijednosti u svih n +1 to caka xk . Elementi matrice B imaju oblik Bi+1,k+1 = bi (xk ), za i, k = 0, . . . , n. U pripadnom algoritmu, prvo treba izra cunati sve elemente matrice linearnog sustava, a zatim ga rije siti. Ako pretpostavimo da znamo prikaze svih polinoma bi

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 297

u standardnoj bazi i koristimo Hornerovu shemu za izvrednjavanje u svim to ckama, onda svako izvrednjavanje bi (xk ) zahtijeva najvi se 2n operacija (n mno zenja i n zbrajanja, vidi odjeljak 6.1.). Takvih izvrednjavanja ima najvi se (n + 1)2 , pa sve elemente matrice sustava mo zemo izra cunati s najvi se 2n(n + 1)2 operacija, tj. s O (n3 ) operazija. Za posebne izbore baza i cvorova, ovaj broj operacija mo ze biti i bitno manji. Gaussovim eliminacijama (ili LR faktorizacijom) mo zemo rije siti dobiveni linearni sustav za najvi se O (n3 ) operacija. Dakle, ukupan broj operacija u algoritamu za prvu fazu je najvi se reda veli cine O (n3 ). To, samo po sebi i nije tako lo se, jer se izvr sava samo jednom. Medutim, u nastavku cemo pokazati da pa zljivim izborom baze to ra cunanje mo zemo napraviti i bitno br ze. Algoritam za izvrednjavanje pn (x) u drugoj fazi, takoder, fundamentalno ovisi o izboru baze u Pn . Naravno, iz prve faze treba zapamtiti izra cunati vektor koecijenata ai . Tada se ra cunanje pn (x) u zadanoj to cki x svodi na ra cunanje sume
n

pn (x) =
i=0

ai bi (x).

U najop cenitijem obliku, po ovoj relaciji imamo (n + 1)-no ra cunanje vrijednosti bi (x) (npr. Hornerovom shemom) i jo s jedan skalarni produkt vektora (a0 , . . . , an ) i (b0 (x), . . . , bn (x)). Ukupno trajanje je O (n2 ), sto je dosta u usporedbi s obi cnom Hornerovom shemom. Uo cite da ova dva op ca algoritma za interpolaciju mo zemo sa zeto prikazati u obliku: 1. izaberi bazu u Pn i nadi koecijente od pn u toj bazi,

2. u zadanoj to cki x izra cunaj linearnu kombinaciju polinoma baze s poznatim koecijentima u linearnoj kombinaciji. Iz prethodne analize slijedi da bi bilo vrlo po zeljno odabrati bazu tako da druga faza zahtijeva najvi se O (n) operacija, tj. da traje linearno, a ne kvadratno, u funkciji od n. Kad u ovom kontekstu pogledamo tvrdnju i dokaz teorema 7.2.1, odmah mo zemo zaklju citi da to odgovara izboru standardne baze bi (x) = xi , i = 0, . . . , n, u prostoru Pn . U prvoj fazi za nala zenje koecijenata interpolacijskog polinoma u standardnoj bazi ne moramo koristiti samo ve c spomenute numeri cke metode. Osim njih, uz malo pa znje, mo zemo koristiti cak i Cramerovo pravilo. Determinanta Dn 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 ja linearno trajanje. Cak ce od toga, sto se brzine ti ce, ovim izborom baze dobivamo optimalan najbr zi mogu ci algoritam za izvrednjavanje u drugoj fazi. Na zalost, u pogledu stabilnosti, situacija je prili cno nepovoljna, posebno u prvoj fazi. Matrica sustava mo ze imati skoro linearno zavisne retke, a da cvorovi uop ce nisu patolo ski rasporedeni. Dovoljno je samo da su razumno bliski i relativno daleko od nule ( sto je centar baze). Na primjer xk = k + 10p , k = 0, . . . , n,

gdje je p iole ve ci pozitivni eksponent, recimo p = 5 i matrica sustava ce biti skoro singularna. Zbog toga se ovaj izbor baze ne koristi u praksi, ve c samo za dokazivanje u teoriji, jer baza ne ovisi o cvorovima. Problemu izbora baze za prikaz interpolacijskog polinoma mo zemo, sasvim op cenito, pristupiti na 3 na cina. 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 ra cunaju (na primjer, jednaki su zadanim funkcijskim vrijednostima fk ). Tada je prva faza brza, ali zato baza komplicirano ovisi o cvorovima, pa je druga faza spora, jer u svakoj to cki x izvrednjavamo sve funkcije baze. 3. Kompromis izmedu baze i koecijenata. Pustimo da baza jednostavno ovisi o cvorovima, a koecijenti mogu ovisiti o svim zadanim podacima, ali tako da dobijemo jednostavne algoritme u obje faze. Ove pristupe je najlak se ilustrirati preko slo zenosti rje savanja linearnog sustava za koecijente. Prvim pristupom dobivamo puni linearni sustav za cije rje savanje treba O (n3 ) operacija. Ako baza ne ovisi o cvorovima, taj sustav mo ze biti vrlo nestabilan, kao u ranijem primjeru standardne baze. Drugi pristup vodi na dijagonalni linearni sustav u kojem se rje senje cita ili traje najvi se O (n) operacija. No, tada je izvrednjavanje u svakoj to cki sporo, jer svi 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 nala zenje koecijenata tada trebamo samo O (n2 ) operacija. Tako dobivamo 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 mo zemo vrlo lijepo ilustrirati na jednostavnom primjeru linearne interpolacije, tj. kad je n = 1. Problem linearne interpolacije se svodi na nala zenje jednad zbe pravca p koji prolazi kroz dvije zadane to cke (x0 , f0 ) i (x1 , f1 ). Standardni oblik jednad zbe pravca je p(x) = a0 + a1 x. Iz uvjeta interpolacije 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 a1 = f1 f0 , x1 x0

f0 x1 f1 x0 f1 f0 + x. x1 x0 x1 x0 Vidimo da su koecijenti komplicirani, ali kad se jednom izra cunaju, samo izvrednjavanje p(x) je brzo (jedno mno zenje i jedno zbrajanje). p(x) =

Pravac p mo zemo napisati i kao te zinsku sredinu zadanih funkcijskih vrijednosti f0 i f1 , u obliku p(x) = f0 b0 (x) + f1 b1 (x), gdje su b0 (x) i b1 (x) funkcije koje treba na ci. Iz uvjeta interpolacije sada dobivamo jednad zbe p(x0 ) = f0 b0 (x0 ) + f1 b1 (x0 ) = f0 p(x1 ) = f0 b0 (x1 ) + f1 b1 (x1 ) = f1 . Bez dodatnih pretpostavki, iz ovih jednad zbi ne mo zemo odrediti b0 (x) i b1 (x), 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 rje senja specijalnih problema interpolacije bi (xk ) = ik , i, k = 0, 1,

tj. bi mora biti nula u svim cvorovima osim i-tog, a u i-tom mora imati vrijednost 1. To zna ci da znamo sve nulto cke od bi , a vrijednost vode ceg koecijenta izlazi iz bi (xi ) = 1. Odmah mo zemo 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 x0 x x1 + f1 x0 x1 x1 x0 sto odgovara jednad zbi pravca kroz dvije to cke. Ovo je Lagrangeov oblik interpolacijskog polinoma. Vidimo da funkcije baze b0 i b1 ovise o oba cvora interpolacije. p(x) = f0 Jednad zbu pravca mo zemo napisati i tako da pravac prolazi kroz jednu to cku (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 sto je poznata formula za koecijent smjera pravca kroz dvije to cke. Dobiveni oblik za p f1 f0 (x x0 ) p(x) = f0 + x1 x0 je Newtonov oblik interpolacijskog polinoma. Njega mo zemo interpretirati na jo s nekoliko na cina. Prvo, to je i Taylorov oblik za p napisan oko to cke x0 , s tim da je podijeljena razlika k ba s derivacija od p u to cki x0 (i, naravno, svakoj drugoj to cki). k= Nadalje, prvi clan ovog oblika za p, u ovom slu caju konstanta f0 , je interpolacijski polinom stupnja 0 za zadanu prvu to cku (x0 , f0 ). Dakle, ovaj oblik za p odgovara korekciji interpolacijskog polinoma kroz prethodne to cke, kad dodamo jo s jednu novu to cku (x1 , f1 ). To isto vrijedi i u op cem slu caju. Na kraju, ovaj oblik pravca mo zemo dobiti tako da u prostoru P1 izaberemo 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 jednad zbe p(x0 ) = c0 b0 (x0 ) + c1 b1 (x0 ) = f0 p(x1 ) = c0 b0 (x1 ) + c1 b1 (x1 ) = f1 . Kako cemo dobiti donjetrokutasti linearni sustav? Postavljamo redom uvjete na polinome baze, gledaju ci u matrici sustava stupac po stupac, i jo s imamo na umu prethodnu interpretaciju dopunjavanja ranijeg interpolacijskog polinoma. se lako izra cuna k

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 cvoru, a to je b0 (x) = 1. Iz prve jednad zbe supstitucijom unaprijed odmah dobivamo i c0 = f0 . Za polinom b1 u drugom stupcu dobivamo to cno jedan uvjet b1 (x0 ) = 0. Opet uzmemo najjednostavniji oblik polinoma koji zadovoljava taj uvjet, a to je b1 (x) = (x x0 ). To, usput, odgovara i pove canju stupnja interpolacije kod dodavanja novog cvora. Supstitucijom unaprijed izlazi i koecijent c1 c1 = f1 f0 . x1 x0

Kao sto cemo vidjeti, ovaj postupak se mo ze nastaviti. Op cenito, iz uvjeta da stupac s polinomom bi ima donjetrokutasti oblik dobivamo da bi mora imati nulto cke u svim prethodnim cvorovima x0 , . . . , xi1 , pa mo zemo uzeti bi (x) = (x x0 ) (x xi1 ), sto opet odgovara dizanju stupnja. Kako op cenito izgledaju koecijenti ci , opisat cemo malo kasnije.

7.2.3.

Lagrangeov oblik interpolacijskog polinoma

Da bismo na sli koecijente interpolacijskog polinoma, nije nu zno rje savati linearni sustav za koecijente. Interpolacijski polinom pn mo zemo odmah napisati kori stenjem tzv. Lagrangeove baze {k , k = 0, . . . , n} prostora polinoma Pn
n

pn (x) =
k =0

fk k (x),

(7.2.1)

pri cemu je 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 k su stupnja n, pa je pn polinom stupnja najvi se n. Osim toga, vrijedi 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 clan za i = k , tj. da vrijedi pn (xk ) = fk . Oblik (7.2.1)(7.2.2) zove se Lagrangeov oblik interpolacijskog polinoma. Taj polinom mo zemo napisati u jo s jednom, zgodnijem obliku. Deniramo
n

(x) = pa je k (x) =

k =0

(x xk ),

(7.2.3)

Uvr stavanjem u (7.2.1) dobivamo da je pn (x) = (x) Uo cimo da je

(x) . (x xk ) k (xk ) fk . (x xk ) k (xk ) k =0


n

(7.2.4)

k (xk ) = (xk ), pa (7.2.4) mo zemo pisati kao pn (x) = (x) fk . k =0 (x xk ) (xk )


n

(7.2.5)

Ova se forma mo ze koristiti za ra cunanje vrijednosti polinoma u to cki x = xk , k = 0, . . . , n. Prednost je sto se za svaki novi x ra cuna samo (x) i (x xk ), dok se k (xk ) = (xk ) izra cuna samo jednom za svaki k i cuva u tablici, jer ne ovisi o x. Ukupan broj operacija je proporcionalan s n2 , a za ra cunanje u svakoj novoj to cki x, trebamo jo s reda veli cine n operacija. Ipak, u praksi se ne koristi ovaj oblik interpolacijskog polinoma, ve c ne sto bolji Newtonov oblik. Lagrangeov oblik interpolacijskog polinoma uglavnom se koristi u teoretske svrhe (za dokaze).

7.2.4.

Ocjena gre ske interpolacijskog polinoma

Ako znamo jo s neke informacije o funkciji f , mo zemo napraviti i ocjenu gre ske interpolacijskog polinoma. Teorem 7.2.2 Pretpostavimo da funkcija f ima (n + 1)-u derivaciju na segmentu citi cvorovi [a, b] za neki n N0 . Neka su xk [a, b], k = 0, . . . , n, medusobno razli interpolacije, tj. xi = xj za i = j , i neka je pn interpolacijski polinom za funkciju f u tim cvorovima. Za bilo koju to cku x [a, b] postoji to cka iz otvorenog intervala xmin := min{x0 , . . . , xn , x} < < max{x0 , . . . , xn , x} =: xmax

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 303

takva da za gre sku interpolacijskog polinoma vrijedi e(x) := f (x) pn (x) = (x) f (n+1) ( ), (n + 1)! (7.2.6)

pri cemu je (x) denirana relacijom (7.2.3). 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 o cito vrijedi ( mo ze biti bilo koji). Pretpostavimo stoga da x nije cvor interpolacije. Tada je (x) = 0 i gre sku interpolacije mo zemo prikazati u obliku e(x) = f (x) pn (x) = (x)s(x), gdje je s(x) dobro denirano ako x nije cvor. Uzmimo sad da je x ksan i denirajmo funkciju e(x) g (t) = e(t) (t)s(x) = e(t) (t) , t [a, b]. (7.2.7) (x) Funkcija pogre ske e ima to cno onoliko derivacija (po t) koliko i f , i one su neprekidne kad su to i odgovaraju ce derivacije od f . Budu ci da x nije cvor, to isto vrijedi i za funkciju g , tj. g (n+1) postoji kao funkcija na [a, b]. Nadimo koliko nulto caka ima funkcija g . Ako za t uvrstimo xk , dobivamo g (xk ) = e(xk ) (xk ) Jednako tako je i i ja Drugim rije cima, g ima barem n + 2 nulto cke na [a, b]. Cak ce, sve te nulto cke su na segmentu [xmin , xmax ]. Budu ci da je g derivabilna na tom segmentu, po Rolleovom teoremu slijedi da g ima barem n + 1 nulto cku na otvorenom intervalu (xmin , xmax ). Induktivnom primjenom Rolleovog teorema zaklju cujemo da g (j ) ima bar n + 2 j nulto caka na (xmin , xmax ), za j = 0, . . . , n + 1. Dakle, za j = n + 1 dobivamo da (n+1) g ima bar jednu nulto cku (xmin , xmax ). Iskoristimo jo s da je pn polinom stupnja najvi se n, a polinom stupnja n + 1, pa je e(n+1) (t) = f (n+1) (t), (n+1) (t) = (n + 1)!. Deriviranjem lijeve i desne strane jednad zbe (7.2.7) n + 1 puta, dobivamo g (n+1) (t) = e(n+1) (t) (n+1) (t) e(x) e(x) = f (n+1) (t) (n + 1)! . (x) (x) g (x) = e(x) e(x) = 0. e(x) = 0, (x) k = 0, . . . , n.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 304

Kona cno, ako uva zimo da je g (n+1) ( ) = 0, onda je 0 = g (n+1) ( ) = f (n+1) ( ) (n + 1)! odnosno e(x) = sto je upravo (7.2.6). Ako je f (n+1) ograni cena na [a, b] ili, ja ce, ako je f C n+1 [a, b], onda se iz prethodnog teorema mo ze dobiti sljede ca ocjena gre ske interpolacijskog polinoma za funkciju f u to cki x [a, b] |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 mo zemo izra cunati ili odozgo ocijeniti Mn+1 .

7.2.5.

Newtonov oblik interpolacijskog polinoma

Lagrangeov oblik interpolacijskog polinoma nije pogodan kad zelimo pove cati stupanj interpolacijskog polinoma da bismo eventualno pobolj sali aproksimaciju i smanjili gre sku, zbog toga sto interpolacijski polinom moramo ra cunati od po cetka. Postoji forma interpolacijskog polinoma kod koje je mnogo lak se dodavati to cke interpolacije, tj. pove cavati stupanj interpolacijskog polinoma. Neka je pn1 interpolacijski polinom koji interpolira funkciju f u to ckama xk , k = 0, . . . , n 1. Neka je pn interpolacijski polinom koji interpolira funkciju f jo s i u to cki xn . Polinom pn tada mo zemo 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 nulto cke od c, pa ga mo zemo napisati u obliku 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 izra cunavamo vode ci koecijent an polinoma c an = f (xn ) pn1 (xn ) f (xn ) pn1 (xn ) = . (xn x0 ) (xn xn1 ) (xn )

Kori stenjem relacije (7.2.8), sada imamo sve elemente za ra cunanje pn (x) u bilo kojoj to cki x. Koecijent an , o cito je funkcija cvorova x0 , . . . , xn i zvat cemo ga n-ta podijeljena razlika. Formalno cemo to ozna citi s an = f [x0 , x1 , . . . , xn ], (7.2.9)

pa ce odmah slijediti rekurzivna formula za dobivanje interpolacijskog polinoma za stupanj ve ceg od prethodnog 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 polinoma. Primijetimo da je an koecijent uz vode cu 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 cvorova nije bitan, tj. podijeljena razlika neosjetljiva je na poredak cvorova. Druga korisna formula je formula za rekurzivno ra cunanje podijeljenih razlika f [x0 , . . . , xn ] = Izvedimo tu formulu. Vrijedi f [x1 , . . . , xn ] = = f (xk ) k =1 (xk x1 ) (xk xk 1 ) (xk xk +1 ) (xk xn )
n1 n

f [x1 , . . . , xn ] f [x0 , . . . , xn1 ] . xn x0

f [x0 , . . . , xn1 ] = =

n1

n1

f (xk ) (xk x0 ) (xk xk1 ) (xk xk+1 ) (xk xn1 ) k =0 f (xk )(xk xn ) k =1 (xk x0 ) (xk xk 1 ) (xk xk +1 ) (xk xn ) f (x0 )(xn x0 ) . (x0 x1 ) (x0 xn )

f (xk )(xk x0 ) k =1 (xk x0 ) (xk xk 1 ) (xk xk +1 ) (xk xn ) f (xn )(xn x0 ) + (xn x0 ) (xn xn1 )

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 306

Oduzimanjem dobivamo f [x1 , . . . , xn ] f [x0 , . . . , xn1 ] =


n1

f (xk )(xn x0 ) k =1 (xk x0 ) (xk xk 1 ) (xk xk +1 ) (xk xn ) f (x0 )(xn x0 ) f (xn )(xn x0 ) + + (xn x0 ) (xn xn1 ) (x0 x1 ) (x0 xn ) n f (xk ) = (xn x0 ) = (xn x0 ) f [x0 , . . . , xn ], k =0 (xk )

cime je dokazana tra zena formula. Neki autori ba s tu rekurzivnu formulu koriste kao deniciju podijeljenih razlika. Ostaje jo s vidjeti sto je po cetak rekurzije za podijeljenje razlike. Ako znamo da je konstanta koja prolazi to ckom (x0 , f (x0 )), interpolacijski polinom stupnja 0, 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 [xn ] f [x1 , x2 ] . . . f [xn2 , xn1 ] f [xn1 , xn ] f [x0 , x1 , x2 ] . . . f [xn2 , xn1 , xn ] .. . f [x0 , . . . , xn ] f [xk , xk+1 ] f [xk , xk+1 , xk+2 ] f [x0 , . . . , xn ]

. ..

Dakle, kad uva zimo rekurziju i oblik polinoma c u (7.2.10), dobivamo da je 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 cemo se u ra cunanju podijeljenih razlika mo ci slu ziti jednodimenzionalnim poljem. Pretpostavimo da je na po cetku algoritma u i-tom elementu polja f spremljena funkcijska vrijednost f (xi ). Na kraju algoritma u polju f ostavit cemo redom f [x0 ], f [x0 , x1 ], . . . , f [x0 , . . . , xn ].

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 307

Algoritam 7.2.1 (Algoritam za ra cunanje podijeljenih razlika) 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 gre sku interpolacijskog polinoma (koja je jednaka onoj kod Lagrangeovog), mo zemo napisati kori stenjem podijeljenih razlika. Neka je xn+1 (a, b) realan broj koji nije cvor. Konstruirajmo interpolacijski polinom koji prolazi to ckama x0 , . . . , xn 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 ]. Budu ci da je 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 gre ske iz Teorema 7.2.2 (napisanu u to cki xn+1 , a ne x) (xn+1 ) (n+1) f (xn+1 ) pn (xn+1 ) = f ( ), (n + 1)! odmah se cita da je f (n+1) ( ) f [x0 , x1 , . . . , xn , xn+1 ] = (n + 1)! za neki I . Prethodna se formula uobi cajeno pi se u ovisnosti o varijabli x, tj. 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)

(7.2.12)

Zajedno s (7.2.12), Newtonov interpolacijski polinom tada poprima oblik Taylorovog polinoma (s gre skom nastalom zanemarivanjem vi sih clanova), samo razvijenog oko to caka x0 , . . . , xn . To nas motivira da interpolacijski polinom u to cki x izvrednjavamo na sli can na cin kao sto se Hornerovom shemom izvrednjava vrijednost polinoma. Pretpostavimo da sukladno algoritmu 7.2.1, u polju f na mjestu i pi se 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 obi cno koriste interpolacijski polinomi niskih stupnjeva, naj ce s ce do 5. Za sto? Kod nekih funkcija za neki izbor to caka interpolacije, pove cavanje stupnja interpolacijskog polinoma mo ze dovesti do pove canja gre saka. Zbog toga se umjesto visokog stupnja interpolacijskog polinoma u praksi koristi po dijelovima polinomna interpolacija. Njema cki matemati car Runge prvi je uo cio probleme koji nastupaju kod interpolacije na ekvidistantnoj mre zi cvorova. On je konstruirao funkciju (poznatu kao Rungeova funkcija), koja ima svojstvo da niz Newtonovih interpolacijskih polinoma na ekvidistantnoj mre zi ne konvergira (po to ckama) prema toj funkciji kad se broj cvorova pove cava. Primjer 7.2.1 (Runge, 1901.) Promotrimo (Rungeovu) funkciju f (x) = 1 , 1 + x2 x [5, 5].

Odaberimo n i izaberimo ekvidistantne cvorove interpolacije xk , k = 0, . . . , n xk = 5 + kh, h= 10 , n k = 0, . . . , n.

Zanima nas pona sanje gre saka koje nastaju pove cavanjem stupnja n interpolacijskog polinoma. Po Teoremu 7.2.2, uva zavanjem relacije (7.2.13), dobivamo en (x) = f (x) pn (x) = (x) f [x0 , x1 , . . . , xn , x]. Tvrdimo da vrijedi f [x0 , x1 , . . . , xn , x] = f (x)
r

(1)r+1 (1 + x2 k)

1, x,

ako je n = 2r + 1, ako je n = 2r .

(7.2.14)

k =0

Prvo poka zimo tvrdnju za n = 2r + 1, kori stenjem indukcije po r . U tom slu caju imamo paran broj interpolacijskih to caka, koje su simetri cne obzirom na ishodi ste, 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 ). Izra cunajmo podijeljenu razliku f [x0 , x1 , x] = f [x0 , x0 , x] = f [x0 , x] f [x0 , x0 ] x x0 1 1 2 f (x) f (x0 ) 1+x 1 + x2 0 = = x2 x2 x2 x2 0 0 1 1 1 = = f ( x ) . 2 a + x2 1 + x0 1 + x2 0

Time je pokazana baza indukcije. Provedimo korak indukcije, tj. prijelaz s r u r + 1, ( sto zna ci da u n ska cemo za 2). Neka vrijedi (7.2.14) za n = 2r + 1 i bilo koji skup od r parova simetri cnih to caka (xk = xnk , k = 1, . . . , r ). Neka je 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 =
r

(1)r+1 (1 + x2 k)

k =1

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

sto zaklju cuje korak indukcije. Za paran n, dokaz je vrlo sli can. Budu ci da je (x xk ) (x xnk ) = (x xk ) (x + xk ) = x2 x2 k, onda je za n = 2r + 1
n k =0 r

(x xk ) =

k =0

(x2 x2 k ).

U parnom je slu caju n = 2r , xr = 0, pa izdvajanjem srednje to cke dobivamo


n k =0

(x xk ) = x

r 1

k =0

(x2 x2 k) =

1 r 2 (x x2 k ), x k=0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 310

ili zajedno
n r

(x) =

k =0

(x xk ) =

k =0

(x2 x2 k)

1, 1/x,

ako je n = 2r + 1, ako je n = 2r .

Time smo pokazali zeljeni oblik formule za podijeljene razlike. Ako tu formulu uvrstimo u gre sku, dobivamo en (x) = f (x) pn (x) = (x) f (x) = (1) gdje je gn (x) =
r +1 r

(1)r+1 (1 + x2 k)

1, x,

ako je n = 2r + 1, ako je n = 2r .

k =0

f (x) gn (x), x2 x2 k . 2 1 + x k k =0
r

(7.2.15)

Funkcija f pada od 0 do 5, pa se zbog simetrije, njena najve ca vrijednost nalazi u 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 mo zemo sve gledati na intervalu [0, 5]. I apsolutnu vrijednost funkcije gn mo zemo napisati na malo neobi can na cin |gn (x)| = eh ln |gn (x)|
r 1/h

Prema (7.2.15), za eksponent eksponencijalne funkcije imamo h ln |gn (x)| = h Tvrdimo da je ln


k =0

x2 x2 k . 1 + x2 k

x2 x2 k lim h ln |gn (x)| = lim h ln 2 n r 1 + xk k =0


0

=
5

ln

x2 2 d =: q (x). 1 + 2

Ostavimo li zasad jednakost posljednje sume i integrala po strani (treba na ci malo slo zeniji limes), primijetimo da se integral mo ze izra cunati analiti cki
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 nulto cku u intervalu [0, 5], prili zno jednaku 3.63 (mo zemo ju i to cnije odrediti). Preciznije, zbog parnosti funkcije q , na [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 to caka interpolacije u primjeru Runge uzmemo neekvidistantne, to cnije tzv. Cebi sevljeve to cke na intervalu [a, b], xk = 1 2k + 1 a + b + (a b) cos , 2 2n + 2 k = 0, . . . , n.

onda ce porastom stupnja niz interpolacijskih polinoma konvergirati prema funkciji f. Zadatak 7.2.1 Doka zite da vrijedi
0 n

lim h ln |gn (x)| =

ln
5

x2 2 d. 1 + 2

Uputa: O cito je ln i lako se vidi da je


r r 0

x2 x2 k = ln |x + xk | + ln |x xk | ln |1 + x2 k| 2 1 + xk

lim

k =0 r

h ln |1 +

x2 k|

=
5 0

ln |1 + 2 | d ln |x | d,

lim

k =0

h ln |x xk | =

zbog neprekidnosti podintegralnih funkcija i denicije Riemannovog integrala, budu ci je rije c o specijalnim Darbouxovim sumama. Za dokaz da je
r r 0

lim

k =0

h ln |x + xk | =

ln |x + | d,

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 ja ce teoreme iz teorije mjere). Primjer 7.2.2 Promotrimo grafove interpolacijskih polinoma stupnjeva 16 koji interpoliraju funkciju f (x) = log(x) za x [0.1, 10] sevljevoj mre na ekvidistantnoj i Cebi zi. Primijetit cete da je gre ska interpolacije najve ca na prvom podintervalu bez obzira na stupanj interpolacijskog polinoma. Razlog le zi u cinjenici da funkcija log(x) ima singularitet u 0, a po cetna to cka interpolacije je blizu. Prva grupa slika su redom funkcija (crno) i interpolacijski polinom (crveno) sevljevu mre za ekvidistantnu mre zu, te pripadna gre ska, a zatim to isto za Cebi zu.
y

10

Ekvidistantna mre za, interpolacijski polinom stupnja 1.

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 mre za, gre ska interpolacijskog polinoma stupnja 1.

10

Ekvidistantna mre za, interpolacijski polinom stupnja 2.

y 1 0.5 1 0.5 2 3 4 5 6 7 8 9 10 x

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 2.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 314

10

Ekvidistantna mre za, interpolacijski polinom stupnja 3.

y 0.5 0.25 1 0.25 0.5 2 3 4 5 6 7 8 9 10 x

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 3.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 315

10

Ekvidistantna mre za, interpolacijski polinom stupnja 4.

y 0.5 0.25 1 0.25 0.5 2 3 4 5 6 7 8 9 10 x

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 4.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 316

10

Ekvidistantna mre za, interpolacijski polinom stupnja 5.

y 0.25

1 0.25

10

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 5.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 317

10

Ekvidistantna mre za, interpolacijski polinom stupnja 6.

y 0.25

1 0.25

10

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 6.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 318

10

sevljeva mre Cebi za, interpolacijski polinom stupnja 1.

y 0.25 1 0.5 1 2 3 4 5 6 7 8 9 10 x

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 1.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 319

10

sevljeva mre Cebi za, interpolacijski polinom stupnja 2.

y 0.25 1 0.5 1 2 3 4 5 6 7 8 9 10 x

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 2.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 320

10

sevljeva mre Cebi za, interpolacijski polinom stupnja 3.

y 0.125 1 0.25 0.5 2 3 4 5 6 7 8 9 10 x

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 3.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 321

10

sevljeva mre Cebi za, interpolacijski polinom stupnja 4.

y 0.125 1 0.25 0.5 2 3 4 5 6 7 8 9 10 x

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 4.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 322

10

sevljeva mre Cebi za, interpolacijski polinom stupnja 5.

y 0.1 1 2 3 4 5 6 7 8 9 10 x

0.25

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 5.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 323

10

sevljeva mre Cebi za, interpolacijski polinom stupnja 6.

y 0.1 1 2 3 4 5 6 7 8 9 10 x

0.25

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 6. Primjer 7.2.3 Ve c smo pokazali da na primjeru Runge interpolacijski polinomi koji interpoliraju funkciju 1 f (x) = za x [5, 5] 1 + x2 na ekvidistantnoj mre zi ne konvergiraju. S druge strane, pogledajmo sto se dogada sevljevim to s polinomima koji interpoliraju tu funkciju u Cebi ckama. Interpolacijski polinomi su stupnjeva 16, 8, 10, 12, 14, 16 (parnost funkcije!).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 324

Ponovno, kao i u pro slom primjeru, grafovi su u parovima.


y

Ekvidistantna mre za, interpolacijski polinom stupnja 1.

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 1.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 325

Ekvidistantna mre za, interpolacijski polinom stupnja 2.

0.5

1 0.5

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 2.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 326

Ekvidistantna mre za, interpolacijski polinom stupnja 3.

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 3.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 327

Ekvidistantna mre za, interpolacijski polinom stupnja 4.

0.5

1 0.5

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 4.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 328

Ekvidistantna mre za, interpolacijski polinom stupnja 5.

0.5

1 0.5

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 5.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 329

Ekvidistantna mre za, interpolacijski polinom stupnja 6.

0.5

1 0.5

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 6.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 330

Ekvidistantna mre za, interpolacijski polinom stupnja 8.

y 1

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 8.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 331

1 1 2

Ekvidistantna mre za, interpolacijski polinom stupnja 10.

y 2

1 1 2

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 10.

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 mre za, interpolacijski polinom stupnja 12.

y 3 2 1 6 5 4 3 2 1 1 2 3 4 1 2 3 4 5 6 x

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 12.

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 mre za, interpolacijski polinom stupnja 14.

y 5 3 1 6 5 4 3 2 1 1 3 5 7 1 2 3 4 5 6 x

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 14.

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 mre za, interpolacijski polinom stupnja 16.

y 14 10 6 2 6 5 4 3 2 1 2 6 10 1 2 3 4 5 6 x

Ekvidistantna mre za, gre ska interpolacijskog polinoma stupnja 16.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 335

sevljeva mre Cebi za, interpolacijski polinom stupnja 1.

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 1.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 336

y 1

sevljeva mre Cebi za, interpolacijski polinom stupnja 2.

y 1

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 2.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 337

sevljeva mre Cebi za, interpolacijski polinom stupnja 3.

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 3.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 338

sevljeva mre Cebi za, interpolacijski polinom stupnja 4.

0.25 6 5 4 3 2 1 0.5 1 2 3 4 5 6 x

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 4.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 339

sevljeva mre Cebi za, interpolacijski polinom stupnja 5.

0.5

1 0.25

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 5.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 340

sevljeva mre Cebi za, interpolacijski polinom stupnja 6.

y 0.5

0.25

1 0.25

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 6.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 341

sevljeva mre Cebi za, interpolacijski polinom stupnja 8.

y 0.125

0.25

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 8.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 342

sevljeva mre Cebi za, interpolacijski polinom stupnja 10.

y 0.125

0.125

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 10.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 343

sevljeva mre Cebi za, interpolacijski polinom stupnja 12.

y 0.075

0.075

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 12.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 344

sevljeva mre Cebi za, interpolacijski polinom stupnja 14.

0.05

0.05

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 14.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 345

sevljeva mre Cebi za, interpolacijski polinom stupnja 16.

0.025

0.025

sevljeva mre Cebi za, gre ska interpolacijskog polinoma stupnja 16.

7.2.7.

Konvergencija interpolacijskih polinoma

Interpolacija polinomima vrlo je zna cajna zbog upotrebe u raznim postupcima u numeri ckoj analizi, kao sto su numeri cka integracija, deriviranje, rje savanje diferencijalnih jednad zbi i jo s mnogo toga.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 346

Medutim, sa stanovi sta teorije aproksimacije, interpolacija se ne pokazuje kao sredstvo kojim mo zemo do ci do dobrih aproksimacija funkcija. Istina, poznati 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 .

Na zalost, primjer funkcije Runge pokazuje da ovakav rezultat op cenito ne vrijedi za Lagrangeove interpolacijske polinome niz polinoma generiran ekvidistantnim mre zama ne konvergira prema toj funkciji ni po to ckama (za x dovoljno blizu ruba intervala), a kamo li uniformno. Postoje i jo s gori primjeri divergencije. Dovoljno je uzeti manje glatku funkciju od funkcije Runge. Primjer 7.2.4 (Bernstein, 1912.) Neka je f (x) = |x| i neka je pn (x) interpolacijski polinom u n + 1 ekvidistantnih to caka u [1, 1]. Tada |f (x) pn (x)| 0, kad n , samo u tri to cke: x = 1, 0, 1. Na prvi pogled se cini da to sto interpolacija ne mora biti dobra aproksimacija funkcije ovisi o izboru cvorova interpolacije. To je samo djelimi cno to cno, tj. izborom to caka interpolacije mo zemo pobolj sati aproksimativna svojstva interpolacijskih polinoma. Drugi bitni faktor kvalitete je glatko ca funkcije. 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 mre ze, s cvorovima koji su bli ze rubovima intervala, mo ze popraviti konvergenciju. Odgovor nije potpuno jednostavan. Iako se mogu kon sevljeve) na kojima se funkcija Runge bolje aproksimira struirati mre ze (poput Cebi interpolacijskim polinomima, to je nemogu ce napraviti za svaku neprekidnu funkciju. Sljede ci teorem je egzistencijalnog tipa, ali ukazuje na to da je nemogu ce na ci dobar izbor to caka interpolacije za svaku funkciju. Teorem 7.2.3 (Faber, 1914.) Za svaki mogu ci izbor to caka interpolacije postoji neprekidna funkcija f , za ciji interpolacijski polinom pn (x) stupnja n vrijedi f (x) pn (x)

0.

7.2.8.

Hermiteova i druge interpolacije polinomima

Do sada smo promatrali problem interpolacije polinomima u kojem su zadane samo funkcijske vrijednosti fi u cvorovima interpolacije xi . Takva interpolacija

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 347

funkcijskih vrijednosti se obi cno zove Lagrangeova interpolacija ( cak i kad ne koristimo samo polinome kao aproksimacijske ili interpolacijske funkcije). Lagrangeova interpolacija nikako ne iscrpljuje sve mogu ce slu cajeve interpolacije polinomima. Mogu ce su razne generalizacije ovog problema za funkcije f koje imaju dodatna svojstva, recimo, ve ci broj derivacija (globalno, ili barem, u okolini svakog cvora). Da bismo jednostavno do sli do tih generalizacija, ponovimo ukratko izvod i konstrukciju Lagrangeove interpolacije polinomom. Tra zeni polinom pn mora zadovoljavati interpolacijske jednad zbe 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

1 xn

. . . xn 0 . . . xn 1 = . . . . . . xn n

0i<j n

(xj xi ).

(7.2.17)

Iz pretpostavke o medusobnoj razli citosti cvorova xk slijedi regularnost sustava i egzistencija i jedinstvenost polinoma pn . Lagrangeov interpolacijski polinom pn mo ze se napisati i eksplicitno u tzv. Lagrangeovoj formi, koja se cesto zove i Lagrangeova interpolacijska formula. Ako deniramo n + 1 polinom {i (x)}n i=0 specijalnim interpolacijskim uvjetima i (xj ) := ij , (7.2.18)

gdje je ij Kroneckerov simbol, tada Lagrangeov interpolacijski polinom koji udovoljava uvjetima (7.2.16) mo zemo zapisati kao
n

pn (x) =
i=0

f (xi )i (x).

(7.2.19)

Tra zene polinome i stupnja n, koji su jednozna cno odredeni interpolacijskim uvjetima (7.2.18), mo zemo pogoditi
n

i (x) =
j =0 j =i

x xj , xi xj

i = 0, . . . , n.

(7.2.20)

Funkcije i zovu se funkcije Lagrangeove baze.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 348

Zadatak 7.2.2 Doka zite da su funkcije Lagrangeove baze linearno nezavisne i cine skup izvodnica za prostor polinoma stupnja n, sto opravdava naziv baza. Postoji jo s jedan slu caj koji se mo ze rije siti jednostavnom formulom, a posebno ga tretiramo zbog va znosti za teoriju numeri cke integracije (preciznije, Gaussovih integracijskih formula). U svakom cvoru xi , osim funkcijske vrijednosti fi = f (xi ), interpoliramo i vrijednost derivacije fi = f (xi ). Teorem 7.2.4 Postoji jedinstveni polinom h2n+1 stupnja najvi se 2n + 1, koji zadovoljava interpolacijske uvjete h2n+1 (xi ) = fi , h2n+1 (xi ) = fi , i = 0, . . . , n,

gdje su xi medusobno razli cite to cke i fi , fi zadani realni brojevi. Dokaz. Egzistenciju polinoma h2n+1 (x) mo zemo dokazati konstruktivnim metodama konstrukcijom eksplicitne baze, sli cno kao i za Lagrangeov polinom. Neka su hi,0 (x) = [1 2(x xi )i (xi )] 2 i (x) (7.2.21) 2 hi,1 (x) = (x xi ) i (x),

gdje su i funkcije Lagrangeove baze (7.2.20). Direktno mo zemo provjeriti da su hi,0 (x) i hi,1 (x) polinomi stupnja 2n + 1 koji zadovoljavaju sljede ce relacije 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 teorema. Tada je h2n+1 (x) q2n+1 (x) polinom stupnja ne ve ceg od 2n + 1, koji ima nulto cke multipliciteta barem 2 u svakom cvoru interpolacije xi , tj. barem 2n + 2 nulto cke, sto je mogu ce samo ako je identi cki jednak nuli. Polinomi hi,0 , hi,1 , zovu se funkcije Hermiteove baze, a polinom h2n+1 obi cno se zove Hermiteov interpolacijski polinom. Zadatak 7.2.3 Poka zite da za funkcije Lagrangeove, odnosno Hermiteove baze, vrijedi
n n

i (x) = 1,
i=0 i=0

hi,0 (x) = 1.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 349

Zadatak 7.2.4 Poka zite da za funkcije Lagrangeove, odnosno Hermiteove baze, vrijedi
n n

xi hi,0 (x) + hi,1 (x) = x,


i=0 i=0

(x xi ) 2 i (x) i (xi ) = 0.

Za ocjenu gre ske Hermiteove interpolacije vrijedi vrlo sli can rezultat kao i za obi cnu Lagrangeovu interpolaciju (teorem 7.2.2). Teorem 7.2.5 Gre ska kod interpolacije Hermiteovim polinomom h2n+1 (x) (v. teorem 7.2.4) funkcije f C (2n+2) [xmin , xmax ] u n + 1 cvorova 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 x = x0 , . . . , xn , pa o cekujemo 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 nulto cke multipliciteta 2 u x0 , . . . , xn , tj. F (xk ) = F (xk ) = 0 za k = 0, . . . , n. Izaberemo li neki xn+1 [xmin , xmax ] razli cit od postoje cih cvorova, mo zemo odrediti konstantu C tako da vrijedi F (xn+1 ) = 0. Kako F (x) sada ima (barem) n + 2 nule, F ima n + 1 nulu u nekim to ckama izmedu njih. Ona takoder 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, ozna cimo ju s . Deriviranjem izraza za F (x) dobijemo F (2n+2) ( ) = f (2n+2) ( ) C (2n + 2)! = 0, odakle izra cunamo C . Uvrstimo li taj rezultat u izraz za gre sku, dobijemo f (2n+2) ( ) 2 F (xn+1 ) h2n+1 (xn+1 ) = (xn+1 ). (2n + 2)! Ali kako je xn+1 proizvoljan, razli cit samo od cvorova x0 , . . . , xn , mo zemo ga zamijeniti s proizvoljnim x. Na kraju primijetimo da je gornji rezultat to can i za x {x0 , . . . , xn }, jer su obje strane nula, pa dokaz slijedi. Hermiteov interpolacijski polinom, naravno, osim u Lagrangeovom obliku, mo zemo zapisati i u Newtonovom obliku koriste ci podijeljene razlike, ali sada f (2n+2) ( ) 2 (x), (2n + 2)!

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 350

to zna i s dvostrukim cvorovima. Sto ci? Poku sajte ga sami izvesti! (Taj oblik cemo kasnije uvesti i iskoristiti za zapis po dijelovima polinomne interpolacije.) Ponekad se naziv Hermiteova interpolacija koristi i za op cenitiji slu caj pro sirene Hermiteove interpolacije koji uklju cuje i vi se derivacije od prvih. Bitno je samo da u odredenom cvoru xi interpoliramo redom funkcijsku vrijednost i prvih nekoliko (uzastopnih) derivacija. Pretpostavimo da u cvoru xi koristimo li > 0 podataka (funkcija i prvih li 1 derivacija). Tada je zgodno gledati xi kao cvor multipliciteta li 1 i uvesti posebne cite cvorove (uzmimo da ih je d + 1): oznake tj za medusobno razli x0 xn = t0 , . . . , t0 , . . . , td , . . . , td ,
l0 ld

uz ti = tj za i = j , s tim da je l0 + + ld = n + 1. Problem pro sirene Hermiteove senje. interpolacije, takoder, ima jedinstveno rje Zadatak 7.2.5 Neka su t0 , t1 , . . . , td zadani medusobno razli citi cvorovi i neka su d l0 , l1 , . . . , ld zadani prirodni brojevi koji zadovoljavaju i=0 li = n + 1. Poka zite da za svaki skup realnih brojeva {fij | j = 1, . . . , li , i = 0, . . . , d} postoji jedinstveni polinom hn , stupnja ne ve ceg od n, za koji vrijedi
(j 1) hn (ti ) = fij ,

j = 1, . . . , li ,

i = 0, . . . , d.

Uputa: Konstrukcija Hermiteove baze postaje vrlo komplicirana (poku sajte!). Zato zapi site hn kao linearnu kombinaciju potencija, formulirajte problem interpolacije matri cno i analizirajte determinantu dobivenog linearnog sustava. Ta determinanta je generalizacija Vandermondeove determinante iz (7.2.17), bez pretpostavke da su cavamo s V (x0 , . . . , xn ). Doka zite da vrijedi cvorovi razli citi, pa ju, takoder, ozna V (x0 , . . . , xn ) = (tj ti )li lj
d li 1 i=0 =1

! ,

0i<j d

odakle slijedi egzistenicija i jedinstvenost polinoma hn . Op ceniti slu caj interpolacije funkcije i derivacija, koji obuhva ca gornje interpolacije kao specijalni slu caj, mo ze se zapisati na sljede ci na cin. Neka je E matrica 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 to caka x0 < x1 < < xm . Tada problem nala zenja polinoma P (x) stupnja n koji zadovoljava Eij (P (j 1) (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 op cenitosti, kako je formuliran, problem mo ze i nemati rje senje. Identikacija matrica E koje vode na regularne sisteme jednad zbi ve c je dosta izu cena. I na kraju, spomenimo da i time problem nije do kraja iscrpljen. Mogu ce je umjesto derivacija zadavati razne linearne funkcionale u cvorovima. Jedan specijalni problem u kojem su ovi linearni funkcionali linearne kombinacije derivacija, donekle je prou cen. Taj se problem cesto naziva pro sirena HermiteBirkhoova interpolacija, a u vezi je s numeri ckim metodama za rje savanje diferencijalnih jednad zbi. Zadatak 7.2.6 Zapisom polinoma P u standardnoj bazi potencija formulirajte matri cno problem pro sirene HermiteBirkhoove interpolacije.

7.3.

Interpolacija po dijelovima polinomima

U pro slom smo poglavlju pokazali da polinomna interpolacija visokog stupnja mo ze imati vrlo lo sa svojstva, pa se u praksi ne smije koristiti. Umjesto toga, 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 cvorovi interpolacije medusobno razli citi, ovdje pretpostavljamo da su rubovi podintervala interpolacije uzlazno numerirani, tj. da vrijedi a = x0 < x1 < < xn = b. To jo s ne osigurava da je funkcija jer je mogu ca dvozna cnost u dodirnim to ckama podintervala, ali o tome cemo voditi ra cuna kod zadavanja uvjeta interpolacije. 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 , sto za svaki polinom daje po 2 uvjeta 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. Uo cimo da smo postavljenjem prethodnih uvjeta interpolacije osigurali neprekidnost funkcije , jer je pk1 (xk1 ) = pk (xk1 ), k = 2, . . . , n.

Primijetimo da uvjeta interpolacije ima 2n, a moramo na ci (m + 1) n koecijenata. Bez dodatnih uvjeta to je mogu ce napraviti samo za m = 1, tj. za po dijelovima linearnu interpolaciju. Za m > 1 moraju se dodati uvjeti na glatko cu interpolacijske funkcije u cvorovima interpolacije.

7.3.1.

Po dijelovima linearna interpolacija

Osnovna ideja po dijelovima linearne interpolacije je umjesto jednog polinoma visokog stupnja koristiti vi se polinoma, ali stupnja 1. Na svakom podintervalu [xk1 , xk ], polinom pk je jedinstveno odreden. Obi cno ga zapisujemo relativno obzirom na po cetnu to cku intervala (razlog je stabilnost) u obliku pk (x) = c0,k + c1,k (x xk1 ) za x [xk1 , xk ], k = 1, . . . , n.

Interpolacijski polinom pk mo zemo 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 zelimo aproksimirati vrijednost funkcije f u to cki x [a, b], prvo treba prona ci izmedu kojih se cvorova to cka x nalazi, tj za koji k vrijedi xk1 x xk . Tek tada mo zemo ra cunati koecijente pripadnog linearnog polinoma. Za tra zenje tog intervala koristimo algoritam binarnog pretra zivanja. Algoritam 7.3.1 (Binarno pretra zivanje) 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 gre ska takve interpolacije maksimalna pogre ska od n linearnih interpolacija. Na podintervalu [xk1 , xk ] ocjena gre ske linearne interpolacije je |f (x) pk (x)| pri cemu je (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. Kako je graf od (x) na [xk1 , xk ] parabola koja sije ce apscisu u xk1 i xk , maksimum od | (x)| je u polovi stu intervala xe = (xk1 + xk ) . 2

Ovo se mo ze provjeriti i tra zenjem lokalnog ekstrema fukncije (x) = (x xk1 )(x xk ). Deriviranjem izalazi (x) = 2x (xk1 + xk ), pa je kandidat za lokalni ekstrem to cka 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 xk1 xk (xk xk1 )2 = . 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 to cka lokalnog maksimuma za | | i (xk xk1 )2 , x [xk1 , xk ]. 4 Ako razmak izmedu susjednih cvorova ozna cimo s hk = xk xk1 , mo zemo denirati maksimalni razmak susjednih cvorova s | (x)| | (xe )| h = max {hk }.
1k n

pa na citavom [a, b], mo zemo pisati M2 h2 1 = M2 h2 . 2! 4 8 Drugim rije cima, ako ravnomjerno pove cavamo broj cvorova, tako da h 0, onda i maksimalna gre ska te zi u 0. |f (x) (x)| Na primjer, za ekvidistantne mre ze, tj. za mre ze za koje vrijedi xk = a + kh, h= ba n

je gre ska reda veli cine h2 , odnosno n2 i potrebno je dosta podintervala da se dobije sasvim umjerena to cnost aproksimacije. Na primjer, za h = 0.01, tj. za n = 100, gre ska aproksimacije je reda veli cine 104 . Druga je mana da aproksimacijska funkcija nije dovoljno glatka, tj. ona je samo neprekidna. Zbog ta dva razloga (dosta to caka za umjerenu to cnost i pomanjkanje glatko ce), obi cno se na svakom podintervalu koriste polinomi vi sih stupnjeva. Ako stavimo m = 2, tj. na svakom podintervalu postavimo kvadratni polinom (parabolu), moramo na ci 3n koecijenata, a imamo 2n uvjeta interpolacije. Ako zahtijevamo da aproksimacijska funkcija ima u unutarnjim cvorovima interpolacije x1 , . . . , xn1 neprekidnu derivaciju, onda smo dodali jo s n 1 uvjet. A treba nam jo s jedan! Ako i njega postavimo (a to ne mo zemo na simetri can na cin), onda bismo mogli na ci i takvu aproksimaciju. Ona se uobi cajeno ne koristi, jer kontrolu derivacije mo zemo napraviti samo na jednom rubu (to bi odgovaralo inicijalnim problemima). Po dijelovima paraboli cka interpolacija nema pravu zikalnu podlogu, pa se vrlo rijetko koristi (katkad kod ra cunarske grake). Za razliku od po dijelovima parabolne interpolacije, po dijelovima kubi cna interpolacija ima vrlo va znu zikalnu podlogu i vjerojatno je jedna od naj ce s ce kori stenih metoda interpolacije uop ce.

7.3.2.

Po dijelovima kubi cna interpolacija

Kod po dijelovima kubi cne interpolacije, restrikcija aproksimacijske funkcije na svaki interval je kubi cni polinom. Njega uobi cajeno zapisujemo relativno obzirom

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 355

na po cetnu to cku intervala [xk1 , xk ] u obliku 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)

Budu ci da ukupno imamo n kubi cnih polinoma, od kojih svakome treba odrediti 4 koecijenta, ukupno moramo odrediti 4n koecijenata. Uvjeta interpolacije je 2n, jer svaki kubi cni polinom pk mora interpolirati rubove svog podintervala [xk1 , xk ], tj. mora vrijediti pk (xk1 ) = fk1 k = 1, . . . , n. pk (xk ) = fk , Ovi uvjeti automatski osiguravaju neprekidnost funkcije . Obi cno zelimo da 1 interpolacijska funkcija bude glada barem klase C [a, b], tj. da je i derivacija funkcije neprekidna i u cvorovima. Dodavanjem tih uvjeta za svaki kubi cni polinom, dobivamo jo s 2n uvjeta pk (xk1 ) = sk1 pk (xk ) = sk , k = 1, . . . , n,

pri cemu su sk neki brojevi. Njihova uloga mo ze biti vi sezna cna, pa cemo je detaljno opisati kasnije. Zasad, mo zemo zami sljati da su brojevi sk neke aproksimacije derivacije u cvorovima. 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 cvorovima, jer su u xk1 i xk dani i funkcijska vrijednost i derivacija. Sto, zapravo, zna ci dvostruki cvor? Pretpostavimo li da se u podijeljenoj razlici dva cvora pribli zavaju jedan drugom, onda je podijeljena razlika na limesu lim f [xk , xk + hk ] = lim f (xk + hk ) f (xk ) = f (xk ), hk 0 hk

hk 0

uz uvjet da f ima derivaciju u to cki xk . Drugim rije cima, vrijedi f [xk , xk ] = f (xk ).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 356

U na sem slu caju, ako u to cki xk derivaciju f (xk ) zadajemo ili aproksimiramo s sk , onda je f [xk , xk ] = sk . Sada mo zemo napisati tablicu podijeljenih razlika za kubi cni interpolacijski polinom koji ima dva dvostruka cvora xk1 i xk . To si je najjednostavnije predo citi kao kubi cni interpolacijski polinom koji prolazi kroz cetiri to cke: xk1 , to ckom koja je jako blizu xk1 , to ckom koja je jako blizu xk i to ckom xk . Kad se te dvije to cke koje su jako blizu stope sa svojim parom, dobivamo dva dvostruka cvora, pa tablica podijeljenih razlika izgleda ovako: xk xk1 xk1 f [xk ] fk1 fk1 f [xk1 , xk ] xk xk fk sk fk sk f [xk1 , xk ] hk f [xk , xk+1 ] f [xk , xk+1 , xk+2 ] f [xk , xk+1 , xk+2 , xk+3 ]

sk 1

f [xk1 , xk ] sk1 hk

sk + sk1 2f [xk1, xk ] h2 k

Forma Newtonovog interpolacijskog polinoma ostat ce po obliku jednaka kao u slu caju da su sve cetiri to cke razli cite, pa imamo 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 ) 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)

uz uva zavanje da je

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 357

Uvr stavanjem xk1 i xk u polinom pk iz (7.3.4), te u njegovu derivaciju pk mo zemo provjeriti da je pk (xk1 ) = fk1 , pk (xk1 ) = sk1, pk (xk ) = fk , pk (xk ) = sk . Drugim rije cima, na sli smo tra zeni pk . Usporedimo li forme (7.3.3) i (7.3.4), dobit cemo koecijente ci,k . Relaciju (7.3.4) mo zemo malo druga cije zapisati, tako da polinom bude napisan po potencijama od (x xk1 ). Ako posljednji clan tog polinoma mo zemo napi semo kao (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 . Usporedivanjem koecijenata uz odgovaraju ce 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 ) c2,k = k = f [xk1 , xk1 , xk ] hk f [xk1 , xk1 , xk , xk ], 2 p (xk1 ) c3,k = k = f [xk1 , xk1 , xk , xk ]. 6 Promotrimo li bolje posljednje dvije relacije, otkrivamo da se isplati prvo izra cunati koecijent c3,k , a zatim ga upotrijebiti za ra cunanje c2,k . Dobivamo c3,k = c2,k sk + sk1 2f [xk1, xk ] , h2 k f [xk1 , xk ] sk1 hk c3,k . = hk

Drugim rije cima, ako znamo skalare sk , onda nije problem na ci koecijente po dijelovima kubi cne interpolacije. Ostaje nam samo pokazati kako bismo mogli birati sk -ove. Ponovno, postoje dva bitno razli cita na cina.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 358

7.3.3.

Po dijelovima kubi cna Hermiteova interpolacija

Ako su poznate vrijednosti derivacija funkcije f u cvorovima xk , skalare sk mo zemo izabrati tako da vrijedi sk = f (xk ), k = 0, . . . , n.

U tom slu caju je kubi cni polinom odreden lokalno, tj. ne ovisi o drugim kubi cnim polinomima. Naime, ako su kubi cnom polinomu na rubovima intervala zadane i funkcijske vrijednost i vrijednosti derivacija, potpuno su odredena njegova cetiri koecijenta. Interpolacija koja interpolira funkcijske vrijednosti i vrijednosti derivacija u svim zadanim cvorovima zove se po dijelovima kubi cna Hermiteova interpolacija. Nadimo gre sku takve interpolacije, uz pretpostavku da je funkcija f C 4 [a, b]. Prvo, pronadimo gre sku na intervalu [xk1 , xk ]. Interpolacijski polinom s dvostrukim cvorovima na rubu pona sa se kao polinom koji ima cetiri razli cita cvora, takva da se parovi cvorova u rubu stope. Zbog toga, mo zemo promatrati gre sku interpolacijskog polinoma reda 3 koji interpolira funkciju f u to ckama xk1 , xk i jo s dvijema to ckama koje su blizu xk1 i xk . Gre sku takvog interpolacijskog polinoma mo zemo ocijeniti s Mk |f (x) pk (x)| 4 | (x)|, 4! pri cemu je, nakon stapanja to caka, (x) = (x xk1 )2 (x xk )2 ,
k M4 = x[xk1 ,xk ]

max

|f (4) (x)|.

Ostaje samo jo s prona ci u kojoj je to cki intervala [xk1 , xk ] maksimum funkcije | |. Dovoljno je na ci sve lokalne ekstreme funkcije i u njima provjeriti vrijednost. Derivirajmo (x) = 2(x xk1 )(x xk )2 + 2(x xk1 )2 (x xk ) = 2(x xk1 )(x xk )(2x xk1 xk ). Budu ci da maksimum gre ske ne mo ze biti u rubovima intervala, jer su tamo to cke interpolacije (tj. minimumi i gre ske i | |), onda je jedino jo s mogu ce da se ekstrem dosti ze u nulto cki xe od , pri cemu je xe = (xk1 + xk ) . 2

Lako se provjerava da je to lokalni maksimum. Vrijednost u xe je kvadrat vrijednosti gre ske za po dijelovima linearnu interpolaciju na istoj mre zi cvorova (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 to cka lokalnog maksimuma za | | i | (x)| | (xe )| (xk xk1 )4 , 16 x [xk1 , xk ].

Deniramo li, ponovno, maksimalni razmak cvorova h = max {hk = xk xk1 },


1k n

na citavom [a, b] mo zemo pisati |f (x) (x)| M4 h4 1 = M4 h4 . 4! 16 384

Drugim rije cima, ako ravnomjerno pove cavamo broj cvorova, tako da h 0, onda i maksimalna gre ska te zi u 0. Ipak, u cijelom ovom pristupu ima jedan problem. Vrlo cesto derivacije funkcije u to ckama interpolacije nisu poznate, na primjer ako su to cke dobivene mjerenjem. No, tada mo zemo aproksimirati prave vrijednosti derivacije kori stenjem vrijednosti funkcije u susjednim to ckama. Ostaje jo s samo pokazati kako.

7.3.4.

Numeri cko deriviranje

Problem koji trebamo rije siti je kako aproksimirati derivaciju diferencijabilne funkcije f u nekoj to cki, recimo x0 i susjednim to ckama x1 , . . . , xn , kori stenjem samo vrijednosti funkcije f u zadanim to ckama. Taj problem mo zemo rije siti kori stenjem interpolacijskog polinoma. Tada, uz pretpostavku da je f klase C n+1 [a, b], funkciju f mo zemo napisati (vidjeti relaciju (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 ], a en (x) gre ska interpolacijskog polinoma en (x) = (x) f (n+1) ( ). (n + 1)!

Deriviranjem interpolacijskog polinoma, a zatim uvr stavanjem x = x0 dobivamo 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 s jednu neprekidnu derivaciju, tj. da je f klase C n+2 [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 to cki x0 i vrijedi f (x0 ) = pn (x0 ) + en (x0 ). Ako ozna cimo s H = max |x0 xk |,
k

onda je, za H 0, gre ska

en (x0 )

reda veli cine en (x0 ) O (H n ).

To nam pokazuje da aproksimacijska formula za derivaciju mo ze biti proizvoljno visokog reda n, ali takve formule s velikim n imaju ograni cenu prakti cnu vrijednost. Poka zimo kako se ta formula pona sa za male n. Za n = 1 imamo p1 (x0 ) = f [x0 , x1 ] = pri cemu smo napravili gre sku e1 (x0 ) f1 f0 f1 f0 = , x1 x0 h

Puno sugestivnija notacija to caka u tom slu caju je da s x1 ozna cimo x2 , jer onda to cke pi semo u prirodnom redosljedu: x1 , x0 , x1 . U tom slu caju je p2 (x0 ) = f [x0 , x1 ] + (x0 x1 )f [x0 , x1 , x1 ]. Izra cunajmo potrebne podijeljene razlike. xk x1 x0 f [xk ] f1 f0 f1 f0 h f [xk , xk+1 ] f0 f1 h f [xk , xk+1 , xk+2 ]

Za n = 2, uzmimo to cke x1 i x2 koje se nalaze simetri cno oko x0 (to je poseban slu caj!), tj. x1 = x0 + h, x2 = x0 h.

f (2) ( ) h, = 2 uz pretpostavku da je f C 3 [x0 , x1 ]. Gre ska je reda veli cine O (h) za h 0.

f1 2f0 + f1 2h2

x1

f1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 361

Uvr stavanjem dobivamo p2 (x0 ) = f1 f0 f1 2f0 + f1 f1 f1 h = . h 2h2 2h

Ovu posljednju formulu cesto zovemo simetri cna (centralna) razlika, jer su to cke x1 i x1 simetri cne obzirom na x0 . Takva aproksimacija derivacije ima bolju ocjenu gre ske nego obi cne podijeljene razlike, tj. vrijedi e2 (x0 ) = f (3) ( ) f (3) ( ) (x0 x1 ) (x0 x1 ) = h2 . 6 6

Poka zimo sto bi se zbivalo kad to cke x1 i x1 (odnosno x2 ) ne bismo simetri cno rasporedili oko x0 . Na primjer, uzmimo x1 = x0 + h, x2 = x0 + 2h.

Iako su i u ovom slu caju to cke ekvidistantne, deriviramo u najljevijoj, a ne u srednjoj to cki. Pripadna tablica podijeljenih razlika je 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

Kona cno, aproksimacija derivacije u x0 je p2 (x0 ) = f [x0 , x1 ] + (x0 x1 )f [x0 , x1 , x1 ] = = f2 + 4f1 3f0 , 2h f1 f0 f2 2f1 + f0 h h 2h2

dok je gre ska jednaka e2 (x0 )


(3) f (3) ( ) ( ) 2 f = (x0 x1 ) (x0 x2 ) = h , 6 3

tj. gre ska je istog reda veli cine O (h2 ), medutim konstanta je dvostruko ve ca nego u prethodnom (simetri cnom) slu caju. Primijetite da formula za derivaciju postaje sve to cnija sto su bli ze to cke iz kojih se derivacija aproksimira, tj. sto je h manji, naravno, uz pretpostavku

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 pogre sku, u najmanju ruku zbog gre saka zaokru zivanja. Kao sto ste vidjeli u prethodnim primjerima, osnovu numeri ckog deriviranja cine podijeljene razlike, pa ako su to cke bliske, dolazi do kra cenja. To nije slu cajno. Do kra cenja mora do ci, zbog neprekidnosti funkcije f . Problem je to izrazitiji, sto su to cke bli ze, tj. sto je h manji. Dakle, za numeri cko deriviranje imamo dva opre cna zahtjeva na veli cinu h. Manji h daje bolju ocjenu gre ske, ali ve cu gre sku zaokru zivanja. Ilustrirajmo to analizom simetri cne razlike, f1 f1 f (x0 ) = + e2 (x0 ), 2h

e2 (x0 )

f (3) ( ) = h . 6
2

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 clan s desne strane je ono sto smo mi zaista izra cunali kao aproksimaciju derivacije, a ostalo je gre ska. Da bismo analizu napravili jednostavnijom, pretpostavimo da je h prikaziv u ra cunalu i da je gre ska pri ra cunanju kvocijenta u podijeljenoj razlici zanemariva. U tom je slu caju napravljena ukupna gre ska err 2 = f (x0 ) f1 f1 1 1 = + e2 (x0 ). 2h 2h

Ogradimo err 2 po apsolutnoj vrijednosti. Gre ska u prvom clanu je najve ca ako su 1 i 1 suprotnih predznaka, maksimalne apsolutne vrijednosti . Za drugi clan 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 mogu ca, tj. da se mo ze dosti ci. Ozna cimo tu ocjenu s e(h) M3 2 e(h) := + h. h 6 Pona sanje ove ocjene i njezina dva clana u ovisnosti od h mo zemo prikazati sljede cim grafom. Plavom bojom ozna cen je prvi clan /h oblika hiperbole, koji dolazi od gre ske u podacima, a crvenom bojom drugi clan oblika parabole, koji predstavlja

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 363

maksimalnu gre sku odbacivanja kod aproksimacije derivacije podijeljenom razlikom. Zelena boja ozna cava njihov zbroj e(h).

h0

Odmah vidimo da e(h) ima minimum po h. Taj minimum se lako ra cuna, jer M3 + h=0 2 h 3 izlazi da se lokalni, a onda (zbog e (h) > 0 za h > 0) i globalni minimum posti ze 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 cak i u najboljem slu caju, kad je ukupna gre ska najmanja, dobivamo 2/3 da je ona reda veli cine O ( ), a ne O (), kao sto bismo zeljeli. To predstavlja zna cajni gubitak to cnosti. Posebno, daljnje smanjivanje koraka h samo pove cava gre sku! Isti problem se javlja, i to u jo s ozbiljnijem obliku, u formulama vi seg reda za aproksimaciju derivacija. Primjer 7.3.1 Nadite po dijelovima kubi cnu Hermiteovu interpolaciju za podatke xk fk fk 0 1 0 1 2 1 2 0 . 1

O cito, treba povu ci dva kubi cna polinoma p1 i p2 . Polinom p1 je dio funkcije na intervalu [0, 1], a p2 na [1, 2].Prije ra cunanja ovih polinoma, uvedimo jo s

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 364

skra cenu oznaku za podijeljene razlike reda j , po ugledu na oznaku za derivacije vi seg reda, f [j ] [xk ] := f [xk , . . . , xk+j ], j 0, tako da tablice u prvom redu imaju kra ce oznake za stupce. Za prvi polinom imamo sljede cu tablicu podijeljenih razlika xk 0 0 1 1 Iz nje dobivamo p1 (x) = 1 + (1 + 1)(x 0)2 1(x 0)3 = 1 + 2x2 x3 . Na sli can na cin, za p2 dobivamo tablicu podijeljenih razlika 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 kubi cna kvazihermiteova interpolacija

Sad se mo zemo vratiti problemu kako napraviti po dijelovima kubi cnu Hermiteovu interpolaciju, ako nemamo zadane derivacije. U tom slu caju derivacije mo zemo aproksimirati na razli cite na cine, a samu interpolaciju cemo zvati kvazihermiteova po dijelovima kubi cna interpolacija. Primijetimo da u slu caju aproksimacije derivacije, gre ska po dijelovima kubi cne interpolacije ovisi o tome koliko je dobra aproksimacija derivacije. Najjednostavnije je uzeti podijeljene razlike kao aproksimacije derivacija u cvorovima. One mogu biti unaprijed (do na posljednju) ili unazad (do na prvu).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 365

Ako koristimo podijeljene razlike unaprijed, onda je


sk =

fk+1 fk , xk+1 xk

za k = 0, . . . , n 1,

fn fn1 , za k = n, xn xn1

a ako koristimo podijeljene razlike unazad, onda je f1 f0 , za k = 0, x1 x0 sk = fk fk1 , za k = 1, . . . , n. xk xk1

Medutim, prema prethodnom odjeljku, gre ska koju smo napravili takvom aproksimacijom derivacije je reda veli cine O (h) u derivaciji, odnosno O (h2 ) u funkcijskoj vrijednosti, sto je dosta lo se. Prethodnu aproksimaciju mo zemo pone sto popraviti ako su to cke xk ekvidistantne, a koristimo simetri cnu razliku (osim na lijevom i desnom rubu gdje to nije mogu ce). Uz oznaku h = xk xk1 , u tom slu caju mo zemo staviti f1 f0 , za k = 0, h fk+1 fk1 sk = , za k = 1, . . . , n 1, 2h f fn1 n , za k = n. h U ovom ce se slu caju gre ska obzirom na obi cne podijeljene razlike popraviti tamo gdje se koristi simetri cna razlika. Na zalost, najve ce gre ske ostat ce u prvom i posljednjem podintervalu, gdje nije mogu ce koristiti simetri cnu razliku. Kao sto smo vidjeli, postoje i bolje aproksimacije derivacija, a pripadni kvazihermiteovi kubi cni polinomi obi cno dobivaju ime po na cinu aproksimacije derivacija. Ako derivaciju u to cki xk aproksimiramo tako da povu cemo kvadratni interpolacijski polinom kroz xk1 , xk i xk+1 , a zatim ga deriviramo, pripadna kvazihermiteova interpolacija zove se Besselova po dijelovima kubi cna interpolacija. Naravno, u prvom i posljednjem cvoru ne mo zemo postupiti na jednak na cin (jer nema lijeve, odnosno desne to cke). Zbog toga derivaciju u x0 aproksimiramo tako da povu cemo kvadratni interpolacijski polinom kroz x0 , x1 i x2 , i njega deriviramo u x0 . Sli cno, derivaciju u xn aproksimiramo tako da povu cemo kvadratni interpolacijski polinom kroz xn2 , xn1 i xn , i njega deriviramo u xn . U unutra snjim cvorovima xk , za k = 1, . . . , n 1, dobivamo p2,k (x) = fk1 + f [xk1 , xk ](x xk1 ) + f [xk1 , xk , xk+1 ](x xk1 ) (x xk ),

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 366

a zatim, deriviranjem i uvr stavanjem xk sk = p2,k (xk ) = f [xk1 , xk ] + f [xk1 , xk , xk+1 ](xk xk1 ). Uz oznaku hk = xk xk1 , prethodna se formula mo ze napisati i kao sk = f [xk1 , xk ] + hk hk+1 f [xk1 , xk ] + hk f [xk , xk+1 ] f [xk , xk+1 ] f [xk1 , xk ] = , hk + hk+1 hk + hk+1 k = 1, . . . , n,

tj. sk je te zinska 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 uvr stavanjem x0 dobivamo 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 uvr stavanjem xn dobivamo 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 kubi cnu interpolaciju stavljamo (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

Gre ska u derivaciji (vidjeti prethodni odjeljak) je reda veli cine O (h2 ), sto zna ci 3 da je gre ska u funkciji reda veli cine O (h ).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 367

Postoji jo s jedna varijanta aproksimacije derivacija s imenom. Akima je 1970. godine dao sljede cu aproksimaciju koja usrednjava podijeljene razlike, s ciljem da se sprije ce oscilacije interpolacijske funkcije : 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, kra cenjem svih te zina wk u formuli za k = 0 dobivamo da je 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 s denirati sto je f [x1 , x0 ]. Podijeljenu razliku f [x0 , x1 ] mo zemo interpretirati kao sredinu dvije susjedne podijeljene razlike, tj. mo zemo staviti 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 prakti cna formula za s0 . Na sli can na cin, mo zemo dobiti i relaciju za sn 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 numeri ckim paketima, poput IMSL-a, iako je to cnost ovih formula za aproksimaciju derivacije relativno slaba. Op cenito, za neekvidistantne to cke, gre ska u derivaciji 2 je reda veli cine samo O (h), a to zna ci samo O (h ) za funkcijske vrijednosti. Ako su to cke ekvidistantne, onda je gre ska reda veli cine O (h2) za derivaciju, a O (h3 ) za funkciju, tj. kao i kod Besselove po dijelovima kvazihermitske interpolacije. cnost je potpuno u skladu s osnovnim ciljem Akimine Medutim, ova slabija to aproksimacije derivacija. U mnogim primjenama, aproksimacijom zelimo dobiti geometrijski ili vizuelno po zeljan, graf aproksimacijske funkcije , pa makar i na u strb to cnosti. Tipi can primjer je (pribli zno) crtanje grafova funkcija, gdje se iz nekog relativno malog broja zadanih podataka (to caka) treba, u kratkom vremenu, dobiti veliki broj to caka za crtanje vizuelno glatkog grafa. Iako nije nu zno da nacrtani graf

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 368

ba s interpolira zadane podatke (jer male, za oko nevidljive gre ske sigurno mo zemo tolerirati), interpolacija obi cno daje najbr zi algoritam. Ostaje jo s pitanje kako posti ci vizuelnu glatko cu? O cita heuristika je izbjegavanje naglih promjena u derivaciji. Drugim rije cima, zelimo izgladiti dobivene podatke za derivaciju, t. izra cunate podijeljene razlike. Problem izgladivanja podataka je klasi cni problem numeri cke analize. Jedan od najjednostavnijih i najbr zih pristupa je zamjena podatka srednjom vrijedno s cu podataka preko nekoliko susjednih to caka. Ova ideja je vrlo bliska numeri ckoj integraciji, jer integracija izgladuje funkciju, pa cemo tamo dati precizniji opis i opravdanje numeri ckog izgladivanja podataka. Ako bolje pogledamo Akimine formule za aproksimaciju derivacije, one se svode na te zinsko usrednjavanje podijeljenih razlika preko nekoliko susjednih to caka s ciljem izgladivanja derivacije (pa onda i funkcije). Vidimo da na sk utje cu to cke xk2 , . . . , xk+2 , tj. usrednjavanje ide preko 5 susjednih to caka, osim na rubovima. Sli cno mo zemo interpretirati i Besselove formule. Tamo usrednjavanje ide preko 3 susjedne to cke. Aproksimacija derivacije mogla bi se napraviti jo s i bolje, ako povu cemo interpolacijski polinom stupnja 3 koji prolazi to ckama xk , xk1 , xk+1 i jednom od to caka xk2 ili xk+2 (opet se javlja nesimetri cnost, jer za kubi cni polinom trebamo 4 to cke, pa s jedne strane od xk uzimamo dvije, a s druge samo jednu to cku) i njega deriviramo u xk (uz pa zljivo deriviranje na rubovima). Takvim postupkom mo zemo dobiti gre sku u funkcijskoj vrijednosti O (h4). Primijetite da bolja aproksimacija derivacija nije potrebna, jer je gre ska kod po dijelovima Hermiteove kubi cne cine O (h4 ). interpolacije takoder reda veli Kvazihermiteova po dijelovima kubi cna interpolacija je takoder lokalna, tj. promjenom jedne to cke promijenit ce se samo nekoliko susjednih kubi cnih polinoma. To cno koliko, ovisi o tome koju smo aproksimaciju derivacije izabrali.

7.3.6.

Kubi cna splajn interpolacija

Brojeve s0 , . . . , sn mo zemo odrediti na jo s jedan na cin. Umjesto da su skalari sk neke aproksimacije derivacije funkcije f u cvorovima, mo zemo zahtijevati da se sk biraju tako da funkcija bude jo s glada da joj je i druga derivacija neprekidna, 2 tj. da je klase C [a, b]. Nagibe s1 , . . . , sn1 odredujemo iz uvjeta neprekidnosti druge derivacije u unutarnjim cvorovima x1 , . . . xn1 . Takva se interpolacija zove (kubi cna) splajn interpolacija. Mo zemo li iz tih uvjeta jednozna cno izra cunati splajn? Prisjetimo se, imamo 4n koecijenata kubi cnih polinoma. Uvjeta interpolacije (svaki polinom mora inter-

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 369

polirati rubne to cke svog podintervala) ima 2n. Uvjeta ljepljenja prve derivacije u unutarnjim to ckama ima n 1 jer je toliko unutarnjih to caka, a jednako je toliko i 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 po cetak, prva derivacija se lijepi u unutarnjim to ckama cim postavimo zahtjev da je (xk ) = sk u tim to ckama, bez obzira na to koliki je sk i ima li on zna cenje aproksimacije derivacije (vidjeti po cetak odjeljka o po dijelovima kubi cnoj interpolaciji). To nam omogu cava da sk -ove odredimo i na neki drugi na cin. Zbog toga, ostaje nam samo postaviti uvjete ljepljenja druge derivacije u unutarnjim cvorovima. Zahtjev je
p k (xk ) = pk +1 (xk ),

k = 1, . . . , n 1 .

Ako polinome pk pi semo u formi (7.3.3), relativno obzirom na po cetnu to cku podintervala, tj. ako je pk (x) = c0,k + c1,k (x xk1 ) + c2,k (x xk1 )2 + c3,k (x xk1 )3 , onda je p k (x) = 2c2,k + 6c3,k (x xk 1 ) pk+1 (x) = 2c2,k+1 + 6c3,k+1 (x xk ), p k (xk ) = 2c2,k + 6c3,k (xk xk 1 ) pk+1 (xk ) = 2c2,k+1 .

pa je

Drugim rije cima, podijelimo li prethodne jednad zbe s 2, uvjet ljepljenja glasi 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

Uvr stavanjem u (7.3.5), dobivamo f [xk1 , xk ] sk1 sk + sk1 2f [xk1 , xk ] +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 Pomno zimo li prethodnu relaciju s hk hk+1 i prebacimo li sve sk na lijevu stranu, a clanove koji nemaju sk na desnu stranu, za k = 1, . . . , n 1, dobivamo 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 jednad zbom. Ako na neki na cin zadamo rubne nagibe s0 i sn , onda ostaje to cno n 1 nepoznanica. 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 (Ger sgorin). Prema tome ovaj linearni sustav sigurno ima jedinstveno rje senje s1 , . . . , sn1. Za rje savanje mo zemo koristiti Gaussove eliminacije ili LR faktorizaciju bez pivotiranja (vidjeti poglavlje o line arnim sustavima). Primijetite, sada sk nisu nezavisni, nego ovise jedan o drugom. To zna ci da aproksimacija vi se nije lokalna, jer se promjenom jedne funkcijeske vrijednosti mijenjaju svi polinomi. Preciznije, promjena jedne vrijednosti fk0 mijenja desne strane u 3 jednad zbe (za k0 1, k0 i k0 + 1), ali se zbog toga promijeni cijeli vektor rje senja sustava, tj. svi skalari sk . Ipak, mo ze se pokazati da su promjene lokalizirane najvi se se promijene sk -ovi za k blizu k0 , a promjene padaju prema rubovima. Posljednje otvoreno pitanje je kako mo zemo izabrati s0 i sn . Oni se ne moraju direktno zadati, ve c se uobi cajeno zadaju rubni uvjeti na funkciju iz kojih se odreduju s0 i sn ili se dodaju jo s dvije jednad zbe linearnog sustava (prva i zadnja). Postoji nekoliko tradicionalnih na cina zadavanja rubnih uvjeta, odnosno jednad zbi koje nedostaju.

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 slu caj kod rje savanja rubnih problema za obi cnu diferencijalnu jednad zbu, onda je prirodno zadati s0 = f (x0 ), sn = f (xn ). Takav oblik splajna se katkad zove potpuni ili kompletni splajn. Gre ska aproksimacije u funkcijskoj vrijednosti je O (h4 ). (b) Zadana druga derivacija u rubovima Ako je poznata druga derivacija funkcije f u rubovima, onda treba staviti f (x0 ) = (x0 ) = p 1 (x0 ), f (xn ) = (xn ) = p n (xn ).

Ostaje jo s samo izraziti p cu s0 , s1 te p cu sn1 i sn . Znamo 1 (x0 ) pomo n (xn ) pomo da je p (x0 ) f (x0 ) = , c2,1 = 1 2 2 pa iz izraza za c2,1 izlazi 3f [x0 , x1 ] 2s0 s1 f (x0 ) = . h1 2 zbu Nakon sredivanja dobivamo jednad 2s0 + s1 = 3f [x0 , x1 ] h1 f (x0 ), 2

koju treba dodati kao prvu jednad zbu linearnog sustava. Sli cno, kori stenjem relacije p n (xn ) = 2c2,n + 6c3,n hn , te uvr stavanjem izraza za c2,n i c3,n izlazi sn1 + 2sn = 3f [xn1 , xn ] + hn f (xn ). 2

Tu jednad zbu dodajemo kao zadnju u linearni sustav. Dobiveni linearni sustav ima (n +1)-u jednad zbu i isto toliko nepoznanica, a mo ze se pokazati da ima i jedinstveno rje senje. Ponovno, gre ska aproksimacije u funkcijskoj vrijednosti je O (h4). (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 na cin kao u slu caju (b), dobivamo dvije dodatne jednad zbe 2s0 + s1 = 3f [x0 , x1 ], sn1 + 2sn = 3f [xn1 , xn ].

Ako aproksimirana funkcija f nema na rubu druge derivacije jednake 0, onda je gre ska aproksimacije u funkcijskoj vrijednosti O (h2 ), a ako ih ima, onda je (kao u slu caju (b)) gre ska reda O (h4 ). (d) Numeri cka aproksimacija derivacija na rubu Ako ni sta ne znamo o pona sanju derivacije funkcije f na rubovima, bolje je ne zadavati njeno pona sanje. Preostala dva parametra mogu se odrediti tako da numeri cki aproksimiramo ili ili u rubovima. Prvo napi semo kubi cni interpolacijski polinom koji prolazi to ckama x0 , . . . , x3 , odnosno xn3 , . . . , xn , a zatim analiti cki nademo zeljenu derivaciju, koju koristimo aproksimaciju za odgovaraju cu derivaciju funkcije. Bilo koja od ovih varijanti daje pogre sku reda O (h4 ). (e) Not-a-knot splajn Mogu c je i druga ciji pristup. Umjesto neke aproksimacije derivacije, koristimo tzv. not-a-knot (prevedeno nije cvor) uvjet. Parametre s0 i sn biramo tako da su prva dva i posljednja dva kubi cna polinoma jednaka, tj. da je p1 = p2 , pn 1 = pn .

Dakle, na dvostrukom intervalu [x0 , x2 ] povla cimo samo jedan kubi cni polinom p1 koji interpolira funkcijske vrijednosti u x0 , x1 i x2 (u x2 se lijepe jo s i prva i druga derivacija na sljede ci polinom). Sli cno vrijedi i za interval [xn2 , xn ]. Cinjenicu da su prva dva, odnosno zadnja dva polinoma jednaka mo zemo izraziti i kori stenjem tre ce derivacije, jer ako dva kubi cna polinoma u nekoj to cki imaju istu funkcijsku vrijednost, vrijednost prve, druge i tre ce derivacije, oni su jednaki. Dakle, cvoru x1 zalijepi (osim prve i druge) i tre ca derivacija polinoma p1 i p2 , odnosno da se u cvoru xn1 zalijepi se tre ca derivacija polinoma pn1 i pn . Te zahtjeve mo zemo pisati kao
p 1 (x1 ) = p2 (x1 ), p n1 (xn1 ) = pn (xn1 ).

Zahtjev p ci da su vode ci koecijenti polinoma p1 i p2 jednaki, tj. 1 (x1 ) = p2 (x1 ) zna

c3,1 = c3,2 . Pridru zimo li taj zahtjev zahtjevu ljepljenja druge derivacije, 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 ] f [x1 , x2 ] s1 s1 + s0 2f [x0 , x1 ] +2 = h2 . h1 h1 h2 h2 1 Sredivanjem, izlazi h2 s0 + (h1 + h2 )s1 = (h1 + 2(h1 + h2 ))h2 f [x0 , x1 ] + h2 1 f [x1 , x2 ] . h1 + h2

Na sli can na cin dobivamo i zadnju jednad zbu (hn1 + hn )sn1 + hn1 sn = (hn + 2(hn1 + hn ))hn1 f [xn1 , xn ] + h2 n f [xn2 , xn1 ] . hn1 + hn2

Kao i dosad, gre ska aproksimacije za funkcijske vrijednosti je O (h4 ). Objasnimo jo s porijeklo naziva not-a-knot za ovaj tip odredivanja dodatnih jednad zbi. Standardno, kubi cni splajn je klase C 2 [a, b], tj. funkcija ima neprekidne druge derivacije u unutarnjim cvorovima x1 , . . . , xn1 . Tre ca derivacija funkcije op cenito puca u tim cvorovima, jer se tre ce derivacije polinoma pk i pk+1 ne moraju zalijepiti u xk , za k = 1, . . . , n 1. Kad uzmemo u obzir da su svi polinomi pk kubi cni, onda je njihova tre ca derivacija ujedno i zadnja netrivijalna derivacija (sve vi se derivacije su nula). Dakle, zadnja netrivijalna derivacija splajna puca u unutarnjim cvorovima. Ova cinjenica, u terminologiji teorije splajn funkcija, odgovara tome da svi unutarnji cvorovi splajna imaju multiplicitet 1, jer je multiplicitet cvora jednak broju zadnjih derivacija koje pucaju ili mogu pucati u tom cvoru (derivacije se broje unatrag, po cev od zadnje netrivijalne, koja odgovara stupnju polinoma). U tom smislu, pove canje glatko ce splajna u (unutarnjem) cvoru smanjuje multiplicitet tog cvora. Prethodni zahtjev da se i zadnje netrivijalne derivacije splajna zalijepe u cvorovima x1 i xn1 odgovara tome da njihov multiplicitet vi se nije 1, nego 0. Cvorovi multipliciteta 0, naravno, nisu pravi cvorovi splajna, jer u njima nema pucanja derivacija (jednako kao i u svim ostalim to ckama iz [a, b] koje nisu cvorovi). Medutim, to ne zna ci da cvorove x1 i xn1 mo zemo izbaciti, jer u njima i dalje moraju biti zadovoljeni uvjeti interpolacije (x1 ) = f1 i (xn1 ) = fn1 . Dakle, te to cke ostaju cvorovi interpolacije, iako nisu cvorovi splajna u smislu pucanja derivacija. (f) Ostali rubni uvjeti Svi dosad opisani na cini zadavanja rubnih uvjeta cuvaju trodijagonalnu strukturu linearnog sustava za parametre sk , jer eventualne dodatne jednad zbe prirodno dodajemo sustavu kao prvu i zadnju.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 374

Za aproksimaciju periodi ckih funkcija na intervalu koji odgovara periodu, ovakvi oblici zadavanja rubnih uvjeta nisu pogodni. Da bismo o cuvali periodi cnost, prirodno je postaviti tzv. periodi cke rubne uvjete. U praksi se naj ce s ce koristi zahtjev periodi cnosti prve i druge derivacije na rubovima (x0 ) = (xn ), sto vodi na jednad zbe p1 (x0 ) = pn (xn ),
p 1 (x0 ) = pn (xn ).

(x0 ) = (xn ),

Dobiveni linearni sustav vi se nije trodijagonalan. Za njegovo rje savanje postoje ekasni algoritmi (slo zenost ostaje linearna u n). Zadatak 7.3.1 Poku sajte na ci jedan takav algoritam. U slu caju potrebe, dozvoljeno je i kombinirati razne oblike rubnih uvjeta u jednom i drugom rubu. Primjer 7.3.2 Neka je f (x) = sin(x). Nadite prirodni splajn koji aproksimira funkciju f na [0, 1] s cvorovima interpolacije xk = 0.2k , za k = 0, . . . , 5. Izra cunajte vrijednost tog splajna u to cki 0.55. Budu ci da su to cke ekvidistantne s razmakom h = 0.2, jednad zbe linearnog sustava za splajn su hsk1 + 4hsk + hsk+1 = 3(hf [xk1 , xk ] + hf [xk , xk+1 ]), Dodatne jednad zbe (prva i zadnja) za prirodni splajn su 2s0 + s1 = 3f [x0 , x1 ] s4 + 2s5 = 3f [x4 , x5 ]. Za desnu stranu sustava trebamo izra cunati prve podijeljene razlike 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

1.7633557569 0.4 0.2 s0 0.2 0.8 0.2 2.8531695489 s1 s2 0.2 0.8 0.2 = 1.0898137920 0.2 0.8 0.2 s3 1.0898137920 0.2 0.8 0.2 s4 2.8531695489 s5 1.7633557569 0.2 0.4 Rje senje tog linearnog sustava za nagibe sk je s0 = s5 = 3.1387417029, s1 = s4 = 2.5392953786, s2 = s3 = 0.9699245271. Budu ci da se to cka x = 0.55 nalazi u intervalu [x2 , x3 ] = [0.4, 0.6], restrikcija 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 kubi cni polinom jednak p3 (x) = 0.9510565163 + 0.9699245271(x 0.4) 4.8496226357(x 0.4)2 , tj. p3 je zapravo kvadratni polinom. Pogledajmo jo s aproksimacije za funkciju, prvu i drugu derivaciju u to cki 0.55. funkcija j=0 f (j ) (0.55) (j ) (0.55) gre ska 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 to cne, iako je h relativno velik. To je zato sto funkcija f (x) = sin(x) zadovoljava prirodne rubne uvjete f (0) = f (1) = 0, kao i prirodni splajn. Gre ska aproksimacije funkcije je reda veli cine O (h4 ), prve derivacije O (h3 ), a druge derivacije O (h2 ).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 376

7.4.

Interpolacija polinomnim splajnovima za matemati care

Iskustvo s polinomnom interpolacijom ukazuje da polinomi imaju dobra lokalna svojstva aproksimacije, ali da globalna uniformna pogre ska mo ze biti vrlo velika. Niti posebnim izborom cvorova interpolacije ne mo zemo ukloniti taj fenomen. Name ce se prirodna ideja da izbjegavamo visoke stupnjeve polinoma, ali da konstruiramo polinome niskog stupnja na nekoj subdiviziji segmenta od interesa, tj. da razmotrimo po dijelovima polinomnu interpolaciju. Ako je funkcija koju zelimo interpolirati glatka, zelimo sa cuvati sto je mogu ce ve cu glatko cu takvog interpolanta. To nas vodi na zahtijev da za po dijelovima linearne aproksimacije zahtijevamo globalnu neprekidnost, za po dijelovima paraboli cne aproksimacije globalnu diferencijabilnost, itd. Po dijelovima polinomne funkcije koje zadovoljavaju zadane uvjete glatko ce zovemo polinomne splajn funkcije. Koecijente u nekoj reprezentaciji polinomnog splajna odredit cemo iz uvjeta interpolacije, kao i u slu caju polinomne interpolacije. Takav specijalni izbor splajna zove se interpolacijski polinomni splajn. U sljede ca dva odjeljka istra zit cemo konstrukciju i svojstva aproksimacije linearnog i kubi cnog splajna. Dok je za linearni splajn o cito mogu ce zahtijevati najvi se neprekidnost na cijelom segmentu od interesa (zahtijev za lijepljenjem prve derivacije vodi na funkciju koja je globalno linearna), za kubi cne je splajnove mogu ce zahtijevati pripadnost prostorima C 1 ili C 2 , tj. mogu ce je na ci dva kubi cna splajna. Splajnovi parnog stupnja mogu biti problemati cni, kao sto pokazuje sljede ca intuitivna diskusija. Zamislimo da je segment od interesa za interpolaciju [a, b], i neka je neka njegova subdivizija (podjela na podintervale) zadana mre zom cvorova Paraboli cki splajn S2 mora biti polinom stupnja najvi se 2 (parabola) na svakom intervalu subdivizije, tj. imamo po 3 nepoznata parametra (koecijenti polinoma stupnja 2) na svakom intervalu. Ukupno dakle treba na ci 3N slobodnih parametara. Zahtijev da vrijedi S2 C 1 [a, b] vezuje 2(N 1) od tih parametara (neprekid nost S2 i S2 u N 1 unutra snjih cvorova x1 , . . . , xN 1 ). Ostaju dakle N +2 slobodna 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 s jednog cvora interpolacije, ili nekim dodatnim uvjetom na rubu cijelog intervala recimo, zadavanjem derivacije. Medutim, jasno je da se taj parametar ne mo ze odrediti simetri cno iz podataka. To je problem i s ostalim splajn interpolantima parnog stupnja. a = x0 < x1 < x2 < < xN 1 < xN = b. (7.4.1)

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 377

Zadatak 7.4.1 Nadite sto je u gornjoj diskusiji neformalno, i sto je potrebno za precizan matemati cki dokaz. Ako je prostor polinomnih splajnova S (n) stupnja n deniran zahtjevima: (1) s S (n) = s|[xi,xi+1 ] Pn (Pn je prostor polinoma stupnja n);

(2) s C n1 [x0 , xN ],

poka zite da je S (n) vektorski prostor, i doka zite da je dim S (n) = n + N .

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 mre zi cvorova subdiviziji segmenta [a, b] zadanoj s (7.4.1). O cito imamo S1 (x) = fi x xi x xi xi+1 x + fi+1 = fi + (fi+1 fi ), hi hi hi x [xi , xi+1 ],

gdje je hi = xi+1 xi , za i = 0, . . . , N 1. Algoritam za ra cunanje je trivijalan, pa mo zemo odmah ispitati pogre sku, odnosno, razmotriti svojstva interpolacijskog linearnog splajna obzirom na glatko cu funkcije koja se interpolira, u raznim normama koje se koriste za aproksimaciju. U dokazima cemo koristiti jednu sporednu lemu. 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 o cigledna, jer mo zemo uzeti = a ili = b. 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 (o cito) najve ca oscilacija po svim podintervalima mre ze.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 378

Uo cite da glatko ca funkcije f nije potrebna u deniciji ovih veli cina, pa ih koristimo za ocjenu gre ske u slu caju da je f samo neprekidna, ali ne i derivabilna funkcija. Isto vrijedi i za zadnju (najvi su) neprekidnu derivaciju funkcije. Takoder, kod ocjene gre saka, zgodno je uvesti skra cenu oznaku D za operator deriviranja funkcije f jedne varijable, kad je iz konteksta o cito po kojoj varijabli se derivira. Onda n-tu derivaciju funkcije f u to cki x mo zemo pisati u bilo kojem od sljede ca tri oblika dn D n f (x) = n f (x) = f (n) (x). dx Pokazuje se da je prvi oblik najpregledniji u zapisu nekih duga ckih formula. Da bismo olak sali razumijevanje teorema o ocjenama gre ske splajn interpolacije koji slijede, objasnimo odmah osnovnu ideju za uvodenje oznake (f ) i njezinu ulogu u ocjeni gre ske. Jednostavno re ceno, (f ) slu zi tome da napravimo nu cenosti i neprekidnosti funkcije f na nekom intervalu. Za dobirazliku izmedu ograni vanje korisnih ocjena, obi cno, uz ograni cenost, pretpostavljamo jo s i integrabilnost funkcije. Neprekidnost je, o cito, ja ce svojstvo. Za ilustraciju, uzmimo da je f derivabilna funkcija na [a, b]. Onda je prva derivacija Df i ograni cena funkcija na [a, b], cim postoji derivacija u svakoj to cki segmenta, s tim da uzimamo jednostrane derivacije (limese) u rubovima. Drugim rije cima, postoji njezina norma Df

= sup |Df (x)|.


x[a,b]

Ako je prva derivacija i integrabilna, to ozna cavamo s f L1 [a, b]. Gornji indeks 1 ozna cava da je rije c o prvoj derivaciji funkcije f , a donji indeks ozna cava ograni cenost (preciznija denicija prostora L1 [ a, b ] zahtijeva teoriju mjere i inte 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 zelimo dobiti ocjenom gre ske je uniformna konvergencija splajn interpolacije kad pove cavamo broj cvorova, tj. pronjujemo mre zu (barem uz neke blage uvjete). Za uniformnu konvergenciju, o cito, treba promatrati maksimalnu gre sku na cijelom intervalu, tj. zanimaju nas tzv. uniformne ocjene u normi. Iz iskustva polinomne interpolacije, jasno je da moramo iskoristiti lokalno pona sanje funkcije i splajn interpolacije na podintervalima mre ze. Kako cemo lokalnost dobro ugraditi u ocjenu gre ske? S jedne strane, kvaliteta ocjene mora ovisiti o svojstvima (glatko ci) funkcije koju aproksimiramo (interpoliramo). Dakle, trebamo dobru globalnu mjeru lokalnog pona sanja funkcije. Za ograni cene (integrabilne) funkcije koristimo normu na [a, b], koja, o cito, postoji. Na zalost, lokalnost tu ne poma ze, jer maksimum normi po podintervalima daje upravo normu na cijelom intervalu. Neprekidna funkcija je, naravno, i ograni cena i

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 379

integrabilna. Medutim, za neprekidne funkcije, (f ) daje bitno precizniju uniformnu ocjenu gre ske od globalne norme, jer uklju cuje lokalno pona sanje po podintervalima najve ca lokalna oscilacija mo ze biti mnogo manja od globalne oscilacije na cijelom intervalu! S druge strane, ocjena gre ske mora uklju cvati ovisnost o nekoj veli cini koja mjeri gusto cu mre ze, odnosno razmak cvorova. Ako pronjavanjem mre ze zelimo dobiti konvergenciju, odmah je jasno da to pronjavanje mora biti ravnomjerno u cijelom [a, b], tj. maksimalni razmak susjednih cvorova := max hi h
0iN 1

mora te ziti prema nuli. Da bismo izbjegli ovisnost o svim hi , standardno se ocje , koja se jo ne gre ske izra zavaju upravo u terminima veli cine h s zove i dijametar mre ze. Teorem 7.4.1 (Uniformna ocjena pogre ske linearnog splajna) Neka je S1 (x) linearni interpolacijski splajn za funkciju f . Obzirom na svojstva glatko ce funkcije f vrijedi: (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)

2 h D2f 8

Dokaz. Neka je t := (x xi )/hi . Prema (7.4.1) gre ska je E (x) := S1 (x) f (x) = (1 t)fi + tfi+1 f (x), x [xi , xi+1 ]. (7.4.2)

Uo cimo da je x [xi , xi+1 ] ekvivalentno s t [0, 1], pa (1 t) i t imaju isti (pozitivni) 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 ograni cena i integrabilna, vrijedi
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) i |E (x)| (1 t) Slijedi


x

Df (v ) dv + t
xi x

Df (v ) dv

xi+1

xi

|Df (v )| dv + t

|Df (v )| dv.

xi+1

|E (x)| (1 t)

dv + t
xi 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 mre ze (eventualni prekidi prve derivacije mogu biti samo u cvorovima mre ze). Prema Taylorovoj 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 ograni cenu i integrabilnu drugu derivaciju, tada vrijedi Taylorova formula s integralnim oblikom ostatka
xi

fi = f (x) t hi Df (x) +

(xi v ) D 2f (v ) dv
xi+1

fi+1 = f (x) + (1 t) hi Df (x) + pa iz formule (7.4.2) slijedi


xi

(xi+1 v ) D 2f (v ) dv,

xi+1 2

E (x) = (1 t) Odavde lako slijedi

(xi v ) D f (v ) dv + t

(xi+1 v ) D 2f (v ) dv.

|E (x)|

1 2 h t(1 t) D 2 f 2 i

1 2 h D2f 8

Zadatak 7.4.2 Doka zite da se u slu cajevima (3) i (4) teorema 7.4.1 mo ze ocijeniti i gre ska u derivaciji, to cnije, da vrijedi: (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 ne cemo slijediti ovaj pristup do krajnjih detalja, primijetimo da se prirodno pojavljuju dva va zna pitanja. (1) Da li su navedene ocjene najbolje mogu ce, tj. da li smo zbog tehnike dokazivanja napravili na nekom mjestu pregrubu ocjenu, iskoristili nedovoljno nu nejednakost, pa zapravo mo zemo dobiti bolji red konvergencije? Da li su i konstante u ocjeni gre ske najbolje mogu ce? (2) Ako dalje pove cavamo glatko cu funkcije koja se interpolira, mo zemo li dobiti sve bolje i bolje ocjene za gre sku, na primjer, u slu caju linearnog splajna, 2 3 ocjene s h , h , i tako redom? Teoremi koji se bave problematikom kao u (2) zovu se inverzni teoremi teorije aproksimacija. U ve cini slu cajeva to su iskazi tipa red aproksimacije naveden u direktnom teoremu je najbolji mogu ci. Doista, da nije tako, trebalo bi dopuniti ili popraviti direktni teorem! Ocjena optimalnosti konstanti je neugodan problem, koji

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 382

za op ci stupanj splajna nije rije sen treba konstruirati primjer funkcije na kojoj se dosti ze konstanta iz direktnog teorema. Sli cni su i tzv. teoremi zasi cenja teorije aproksimacija, koji poku savaju odgovoriti na drugo pitanje: mo ze li se bolje aproksimirati funkcija ako su pretpostavke na glatko cu ja ce? I ovi teoremi su u principu negativnog karaktera na primjer, za linearni splajn mo zemo staviti da je f C [a, b], ali red aproksimacije ce ostati h2 . Sam prostor u kojem se aproksimira jednostavno ne mo ze to cnije reproducirati funkciju koja se aproksimira, nedostaje mu snage aproksimacije. Iako se u daljnjem ne cemo baviti op cim teoremima aproksimacije, svi direktni teoremi koji slijede optimalni su u smislu postojanja odgovaraju cih inverznih teorema i teorema zasi cenja. Zadatak 7.4.3 Poka zite da u slu caju (4) teorema 7.4.1 funkcija f (x) = x2 igra ulogu ekstremale, tj. da vrijedi = umjesto , pa je ocjena ujedno i najbolja mogu ca. 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 mo zemo zaklju citi da red aproksimacije derivacije u specijalno izabranim to ckama mo ze biti i vi si od optimalnog; to je efekt superkonvergencije.

7.4.2.

Hermiteov kubi cni splajn

Kao i u slu caju Hermiteove interpolacije polinomima, mo zemo razmatrati i Hermiteovu interpolaciju splajn funkcijama. Ako presko cimo paraboli cke splajnove (v. raniju diskusiju), prvi je netrivijalni slu caj po dijelovima kubi cnih splajnova s globalno neprekidnom derivacijom. Denicija 7.4.1 Neka su u cvorovima a = x0 < x1 < < xN = b zadane vrijednosti fi , fi , za i = 0, . . . , N . Hermiteov interpolacijski kubi cni 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 . Koriste ci Hermiteovu bazu iz teorema 7.2.4 na svakom podintervalu mre ze [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

Napomenimo jo s samo da kod ra cunanja treba prvo izra cunati koecijente Ai i Bi formulama fi+1 fi + (fi + fi+1 ), hi fi+1 fi Bi = Ai + fi , hi Ai = 2

1 (t) = (1 t)2 (1 + 2t), 3 (t) = t(1 t2 ),

2 (t) = t2 (3 2t), 4 (t) = t2 (1 t).

za i = 0, . . . , N 1,

(7.4.4)

i zapamtiti ih. Za zadanu to cku x [xi , xi+1 ], Hermiteov splajn ra cunamo formulom H (x) = fi + (thi ) [fi + t(Bi + tAi )]. (7.4.5)

Obzirom na cinjenicu da su nam derivacije fi naj ce s ce nepoznate, preostaje nam samo da ih aproksimiramo iz zadanih vrijednosti funkcije. To je problem pribli zne Hermiteove interpolacije, i tada ne mo zemo vi se o cekivati isti red se teorijska nego konvergencije. Vrijednost Hermiteove interpolacije je, medutim, vi prakti cna, kao sto cemo vidjeti kasnije. U tom smislu koristit cemo sljede ci direktni teorem. Teorem 7.4.2 Za Hermiteov kubi cni splajn, ovisno o glatko ci funkcije f , vrijede sljede ce uniformne ocjene pogre ske: (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 slu cajevima treba analizirati gre sku 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 to cke x = xi + thi s 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 , , . . . ozna cavaju to cke u [xi , xi+1 ]. Prema Lemi 7.4.1 mo zemo grupirati clanove istog znaka (prvi i tre ci, drugi i cetvrti), pa dobijemo ) Df ( E (x) = hi t(1 t)(1 + 2t 2t2 ) [Df ( )], odakle slijedi ocjena gre ske po to ckama |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 ograni cenu i integrabilnu, razvijemo opet fi , fi , fi+1 , fi+1 oko to cke x, ali koriste ci Taylorovu formulu s integralnim oblikom ostatka. Nakon kra ceg ra cuna dobijemo integralnu reprezentaciju gre ske
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


2 E (x) = h2 i 1 (t, ) D f (xi + hi ) d + 0

gdje je

2 (t, ) D 2 f (xi + hi ) d ,

(7.4.6)

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 mo zemo upotrijebiti teorem o srednjoj vrijednosti za integrale, jer 1 (t, ) mijenja znak; to cnije 1 (t, ) = 0 za = t/(1 + 2t). Medutim, [0, t] = [0, ) [ , t], a na svakom od podintervala 1 je konstantnog znaka, pa teorem srednje vrijednosti za integrale mo zemo upotrijebiti po dijelovima.
t t

1 (t, ) D f (xi + hi ) d = D f ( )
0 2 0

1 (t, ) d + D f ( )

1 (t, ) d

= Analogno
t

t (1 t)2 {4t2 D 2 f ( ) D 2 f ( )}. 2(1 + 2t)

2 (t, ) D 2 f (xi + hi ) d =
0

(1 t)2 t2 ) D 2 f ( {4(1 t2 ) D 2f ( )} . 2(3 2t)

Iz (7.4.6) dobivamo E (x) =


2 2 h2 i t (1 t) {4t2 (3 2t) D 2 f ( ) (3 2t) D 2f ( ) 2[3 + 4t(1 t)] ) (1 + 2t) D 2f ( + 4(1 t2 )(1 + 2t) D 2 f ( )} .

Primijenimo li lemu 7.4.1 na neprekidne funkcije istog znaka, dobivamo ocjenu |E (x)|
2 2 2h2 i t (1 t) i (D 2 f ). 3 + 4t(1 t)

Maksimalna vrijednost desne strane posti ze se za t = 1/2, odakle slijedi |E (x)| 1 2 h i (D 2 f ), 32 i

sto dokazuje ocjenu (3). Ocjena (2) proizlazi lagano iz iste ocjene gre ske po to ckama. Ako je f po dijelovima klase C 3 , sli cno dobivamo E (x) = h3 i gdje su sada

t 1

1 (t, ) D 3 f (xi + hi ) d +
0 t

2 (t, ) D 3 f (xi + hi ) d

1 (t, ) = (1 t)2 t

(1 + 2t) , 2 (3 2t)(1 ) 2 (t, ) = t2 (1 ) (1 t) + . 2

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 hi i (D 3 f ). 2 3 (3 2t)
.

Odavde slijedi ocjena gre ske za E (x) t = 1/2. Sli cno slijedi i ocjena (4).

Maksimalna gre ska je u xi + hi /2, tj. za

Na kraju, ako f ima ograni cenu i integrabilnu cetvrtu derivaciju na svakom podintervalu, tada je 1 E (x) = h4 6 i

0 t 1

1 (t, ) D 4 f (xi + hi ) d +
t

gdje su

2 (t, ) D 4 f (xi + hi ) d ,

pa zaklju cujemo da vrijedi

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 4!


.

|E (x)|

t [0, 1].

(7.4.7)

Odavde se lagano dobije ocjena za E (x)

N 1 4 Zadatak 7.4.5 Poka zite da za f C 1 [a, b] i caj (6) iz prethod=0 L [xi , xi+1 ] (slu nog teorema) vrijede sljede ce ocjene za derivacije: 3 3 DH (x) Df (x) h D4f , 216 1 2 D 2 H (x) D 2 f (x) h D4f , 12 1 D 3 H (x) D 3 f (x) h D4f . 2

Uputa: Treba derivirati integralnu reprezentaciju za E (x), tj. na ci integralnu reprek zentaciju za D E (x), k = 1, 2, 3. Zadatak 7.4.6 Poku sajte za prvih pet slu cajeva (klasa glatko ce funkcije f ) iz teorema 7.4.2 izvesti sli cne ocjene za one derivacije koje imaju smisla obzirom na pretpostavljenu glatko cu. Prema pro slom zadatku, ocjene treba tra ziti u obliku D r H (x) D r f (x)

ef r Mf , Cr h

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 pro citati iz teorema (r = 0). Uvjerite se da ocjene imaju smisla samo za r ef , a dokazuju se sli cnom tehnikom.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 387

Zadatak 7.4.7 (Superkonvergencija) Uz pretpostavke dodatne glatko ce funkcije f , u posebno izbaranim to ckama mo ze se dobiti i vi si red aproksimacije pojedinih derivacija funkcije f . (a ) U to ckama x ze se aproksimirati s O (h4 i := xi + hi /2 prva derivacija mo i ), a 2 tre ca s O (hi ). To cnije, vrijedi 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 ze se aproksimirati s (b ) U to ckama x i := xi + (3 3)hi /6 druga derivacija mo 3 O (hi ). To cnije, vrijedi 3 3 hi 5 2 2 D H ( x) = D f ( x) D f ( x) + O (h4 i ). 540 DH (x ) = Df (x ) Nadite uz koje pretpostavke dodatne glatko ce funkcije f vrijede ove tvrdnje i ocjene, i doka zte ih.

7.4.3.

Potpuni kubi cni splajn

Zahtijevamo li neprekidnost druge derivacije od po dijelovima kubi cnih funkcija, dolazimo prirodno na deniciju potpunog kubi cnog splajna, koji se cesto jo s zove i samo kubi cni splajn. Cilj nam je razmotriti algoritme za konstrukciju kubi cnih splajnova koji interpoliraju zadane podatke vrijednosti funkcije, ali ne i njezine derivacije, jer tra zimo ve cu glatko cu. Takav splajn zovemo kubi cni interpolacijski splajn. Od svih splajn funkcija, kubi cni interpolacijski splajn je vjerojatno najvi se kori sten i najbolje izu cen u smislu aproksimacije i brojnih primjena, od aproksimacije u raznim normama, do rje savanja rubnih problema za obi cne diferencijalne jednad zbe. Ime splajn (eng. spline) ozna cava elasti cnu letvicu koja se mogla u cvrstiti na rebra brodova kako bi se modelirao oblik oplate; to cna etimologija rije ci pomalo je zaboravljena. U matemati ckom smislu pojavljuje se prvi put u radovima Eulera, oko 1700. godine, i slijedi mehani cku deniciju elasti cnog stapa. Sredi snja linija s takvog stapa (ona koja se ne deformira kod transverzalnog optere cenja) u linearnoj teoriji elasti cnosti ima jednad zbu D 2 (EI D2 s(x)) = f (x), gdje je E Youngov modul elasti cnosti stapa, a I moment inercije presjeka stapa oko njegove osi. Pretpostavimo li da je stap izraden od homogenog materijala, i da ne

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 388

mijenja popre cni presjek (E i I su konstante), dolazimo na jednad zbu D 4 s = f, gdje je f vanjska sila po jedinici duljine. U odsustvu vanjske sile (f = 0), sredi snja linija s elasti cne letvice je dakle kubi cni polinom. Ako je letvica u cvr s cena u osloncima s koordinatama xi , i = 0, . . . , N , tre ca derivacija u tim to ckama ima diskontinuitet (ova cinjenica je posljedica zakona odr zanja momenta, i trebalo bi ju posebno izvesti). Izmedu oslonaca, na podintervalima [xi , xi+1 ], sredi snja linija je i dalje kubi cni polinom, ali u to ckama xi imamo prekid tre ce derivacije. Dakle, s je po dijelovima kubi cni polinom, a druga derivacija s je globalno neprekidna. Denicija 7.4.2 Neka su u cvorovima a = x0 < x1 < < xN = b zadane vrijednosti fi , za i = 0, . . . , N . Potpuni interpolacijski kubi cni splajn je funkcija 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 glatko ce (funkcija, prva i druga derivacija u unutra snjim cvorovima) ve zu 3(N 1) koecijenata, a uvjeti interpolacije N + 1 koecijenata. Preostaje dakle odrediti 4N 3(N 1) (N + 1) = 2 dodatna koecijenta. Dodatni uvjeti obi cno se zadaju u rubovima intervala, stoga naziv rubni uvjeti. U praksi se naj ce s ce koriste sljede ci rubni uvjeti: (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); D 2 S3 (b) = 0, (prirodni rubni uvjeti); 2 2 D S3 (b) = D f (b); D 2 S3 (a) = D 2 S3 (b), (periodi cki rubni uvjeti).

(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 mo zemo smatrati specijalnim slu cajem rubnih uvjeta (R3) interpolacije druge derivacije u rubovima, naravno, uz uvjet da sama funkcija zadovoljava prirodne rubne uvjete. Na kraju, splajn odreden periodi ckim rubnim uvjetima (R4) zove se periodi cki splajn, a koristi se za interpolaciju periodi ckih funkcija f s periodom [a, b] (tada je f0 = fN i f zadovoljava periodi cke rubne uvjete).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 389

Algoritam za konstrukciju interpolacijskog kubi cnog splajna mo zemo izvesti na dva na cina. U prvom, za nepoznate parametre koje treba odrediti uzimamo vrijednosti prve derivacije splajna u cvorovima. Tradicionalna oznaka za te parametre je mi := DS3 (xi ), za i = 0, . . . , N . U drugom, za nepoznate parametre uzimamo vrijednosti druge derivacije splajna u cvorovima, koriste ci globalnu neprekidnost 2 2 D S3 , uz tradicionalnu oznaku Mi := D S3 (xi ), za i = 0, . . . , N . Napomenimo odmah da se ta dva algoritma dosta ravnopravno koriste u praksi, a za ocjenu gre ske trebamo i jednog i drugog, pa cemo napraviti oba izvoda. Prvi algoritam dobivamo primijenom Hermiteove interpolacije, ali ne zadajemo derivacije, ve c nepoznate derivacije mi ostavljamo kao parametre, koje treba odrediti tako da se postigne globalna pripadnost splajna klasi C 2 [a, b]. Drugim rije cima, tra zimo da S3 zadovoljava uvjete interpolacije S3 (xi ) = fi , 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 mo zemo na svakom podintervalu 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 da je druga derivacija D 2 S3 neprekidna u unutra snjim cvorovima. Budu ci 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 ,

uvjete neprekidnosti D 2 S3 u xi , za i = 1, . . . , N 1, mo zemo napisati u obliku i mi1 + 2mi + i mi+1 = ci , i = 1, . . . , N 1 . Dobili smo N 1 jednad zbi za N + 1 nepoznanica mi , pa nam fale jo s dvije jednad zbe. Naravno, uvjetima (7.4.10) treba dodati jo s neke rubne uvjete. Za rubne uvjete (R1), (R2) i (R3) dobivamo linearni sustav oblika
2m0 + 0 m1 = c0 , i mi1 + 2mi + i mi+1 = ci , N mN 1 + 2mN = cN .

i = 1, . . . , N 1 ,

(7.4.11)

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 390

Koecijenti 0 , c0 , N i cN odreduju se ovisno o rubnim uvjetima. Za rubne uvjete (R1) imamo c c 0 = N = 0, 0 = 2Df (a), N = 2Df (b),

a za rubne uvjete (R3)


0 = N = 1,

c 0 = 3

f1 f0 h0 2 D f (a), h0 2

c N = 3

fN fN 1 hN 1 2 + D f (b). hN 1 2

Prirodni rubni uvjeti (R2) su specijalni slu caj (R3), uz D 2 f (a) = D 2 f (b) = 0. Ako je f periodi cka funkcija, onda je f0 = fN i m0 = mN (periodi cki rubni uvjet na prvu derivaciju). Da bismo zapisali uvjet periodi cnosti druge derivacije, mo zemo na periodi cki na cin produljiti mre zu, tako da dodamo jo s jedan cvor xN +1 , ali tako da je xN +1 xN = x1 = x0 , tj. hN = h0 . Zbog pretpostavke periodi cnosti, moramo staviti fN +1 = f1 i mN +1 = m1 . Na taj na cin, uvjet periodi cnosti druge derivacije postaje ekvivalentan uvjetu neprekidnosti druge derivacije u to cki xN , tj. jednad zbi oblika (7.4.10) za i = N . Kad iskoristimo sve pretpostavke f0 = fN , fN +1 = f1 , m0 = mN , mN +1 = m1 , hN = h0 ,

dobivamo sustav od samo N jednad zbi 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)

Uo cite da smo jednad zbu m0 = mN ve c iskoristili za eliminaciju nepoznanice m0 . Ostaje odgovoriti na o cito pitanje: da li dobiveni linearni sustavi imaju jedinstveno rje senje. Teorem 7.4.3 Postoji jedinstveni interpolacijski kubi cni splajn koji zadovoljava jedan od rubnih uvjeta (R1)(R4). Dokaz. U svim navedenim slu cajevima lako se vidi da je matrica linearnog sustava strogo dijagonalno dominantna, sto povla ci regularnost. Naime, svi dijagonalni elementi su jednaki 2, a zbroj izvandijagonalnih elemenata je najvi se i + i = 1, (uz dogovor = i = ). N 0 N 0 Algoritam 7.4.1 (Interpolacijski kubi cni splajn) (1) Rije si linearni sustav (7.4.11) ili (7.4.12); (2) Binarnim pretra zivanjem nadi indeks i tako da vijedi x [xi , xi+1 ); (3) Hornerovom shemom (7.4.5) izra cunaj S3 (x).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 391

Primijetimo da je za rje savanje sustava potrebno samo O (N ) operacija, obzirom na specijalnu vrp castu strukturu matrice. Takoder, matrica ne ovisi o vrijednostima funkcije koja se interpolira, pa se korak (1) u Algoritmu 7.4.1 sastoji od LR faktorizacije matrice, koju treba izra cunati samo jednom. Za ra cunanje vrijednosti S3 (x) obi cno se koriste formule (7.4.4)(7.4.5). Ako je potrebno ra cunati splajn u mnogo to caka (recimo, u svrhu brze reprodukcije grafa splajna), mo zemo napisati algoritam konverzije, tj. na ci vezu izmedu denicionog oblika splajna (v. deniciju 7.4.2) i oblika danog formulama (7.4.4)(7.4.5). Deniciona reprezentacija splajna kao kubi cne funkcije na svakom podintervalu subdivizije zove se ponekad i po dijelovima polinomna reprezentacija, ili skra ceno PPreprezentacija. Zadatak 7.4.8 Kolika je to cno u steda u broju aritmeti ckih operacija potrebnih za ra cunanje S3 (x) pri prijelazu na PPreprezentaciju? Jo s br zi oblik reprezentacije 2 3 je standardni kubni polinom S3 (x) = bi0 + bi1 x + bi2 x + bi3 x , za svaki x [xi , xi+1 ]. Njega ne treba koristiti. Za sto? Kao sto smo ve c rekli, u nekim slu cajevima ugodnija je druga reprezentacija interpolacijskog kubi cnog splajna, u kojoj se, umjesto mi , kao nepoznanice javljaju 2 Mi := D S (xi ), za i = 0, . . . , N . Zbog popularnosti i ceste implementacije izvedimo ukratko i ovu reprezentaciju. Na svakom podintervalu [xi , xi+1 ] kubi cni splajn S3 je kubi cni 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 jednad zbi ima jedinstveno rje senje (doka zite to), odakle onda mo zemo izra cunati koecijente kubnog polinoma. Medutim, tra zenu reprezentaciju mo zemo jednostavno i pogoditi, ako S3 (x) na [xi , xi+1 ] napi semo kao linearnu interpolaciju funkcijskih vrijednosti plus neka korekcija. Odmah se vidi da tra zena korekcija ima oblik linearne interpolacije druge derivacije puta neki kvadratni faktor koji se poni stava u rubovima. Dobivamo oblik 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 cvorovima ne garantira da je i prva derivacija neprekidna. To treba dodatno zahtijevati. Kako je fi+1 fi hi (2Mi + Mi+1 ), hi 6 fi fi1 hi1 DS3 (xi 0) = + (Mi1 + 2Mi ), hi1 6 DS3 (xi + 0) = iz uvjeta neprekidnosti prve derivacije u unutra snjim cvorovima dobivamo N 1 jednad zbi tra zenog linearnog sustava 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 Napi site nedostaju ce jednad zbe za rubne uvjete, i poka zite da je matrica sustava strogo dijagonalno dominantna. Na kraju, primijetimo da je algoritam za ra cunanje vrijednosti S3 (x) vrlo sli can ranijem, s tim sto treba primijeniti malo druga ciju Hornerovu shemu (ekvivalent 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 gre ske za potpuni kubi cni splajn je te zi problem nego za Hermiteov kubi cni splajn, budu ci da su koecijenti zadani implicitno kao rje senje jednog linearnog sustava. Teorem 7.4.4 Neka je S3 interpolacijski kubi cni splajn za funkciju f koji zadovoljava jedan od rubnih uvjeta (R1)(R4) u (7.4.8). Tada vrijedi D r S3 (x) D r f (x)

ef r Mf , Cr h

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 sljede com tablicom: Klasa funkcije C 1 [a, b] L2 [a, b] C 2 [a, b] L3 [a, b] C 2 [a, b] C 2 [a, b] s tim da je
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 2 f ) D f C 3 [xi , xi+1 ] L4 [xi , xi+1 ]


3

4 1 4 3 + 2 9 1 2 3 + 2 9 3 8

(D 3 f ) D4f

4 3 1+ 9 1 1 + 2

maxi hi mini hi mjera neuniformnosti mre ze (u zadnjem stupcu tablice). := Mjesta u tablici koja nisu popunjena zna ce da ne postoje odgovaraju ce ocjene. Napomenimo, takoder, da rijetko kori stene ocjene koje odgovaraju jo s ni zoj glatko ci funkcije f , na primjer, f C [a, b] ili f L1 [ a, b ] nisu navedene, iako se mogu izvesti (dokaz nije trivijalan). Osim toga, nije poznato da li su sve konstante optimalne, iako se to mo ze pokazati u nekim va znim slu cajevima (na primjer, u zadnjem redu tablice, koji podrazumijeva najve cu glatko cu, sve su konstante najbolje mogu ce). Dokaz. Doka zimo neke od ocjena u teoremu 7.4.4 (preostale poka sajte dokazati sami). Neka je H Hermitski interpolacijski kubi cni splajn i S := S3 interpolacijski kubi cni splajn. Tada gre sku mo zemo napisati kao E (x) := S (x) f (x) = [H (x) f (x)] + [S (x) H (x)]. Oba interpolacijska splajna S (x) i H (x) mo zemo reprezentirati preko Hermiteove 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 ))].

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 sli can na cin (v. zadatke 7.4.5 i 7.4.6). Ostaje dakle ocijeniti drugi clan na desnoj strani u (7.4.14) i (7.4.15). Za drugu derivaciju znamo da je D 2 S (x) = Mi (1 t) + Mi+1 t, pa zaklju cujemo da je 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). Ali, kako je (1 t)D 2 f (xi )+ tD2 f (xi+1 ) D 2 f (x) pogre ska kod interpolacije funkcije D 2 f linearnim splajnom S1 (teorem 7.4.1), mo zemo 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)

Sli cno je i za tre cu derivaciju |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 sljede com tablicom za 6 karakteristi cnih klasa funkcija: 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 2 f ) 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 doka zemo ovu tablicu, pretpostavimo rubne uvjete (R1) na derivaciju. Uvedemo li u linearnom sustavu (7.4.11) nove nepoznanice qi := mi Df (xi ), dobijemo sustav q0 = 0, i qi1 + 2qi + i qi+1 = c i , i = 1, . . . , N 1 , qN = 0, gdje su desne strane c i = 3i fi+1 fi fi fi1 + 3i hi hi1 i Df (xi1 ) 2Df (xi ) i Df (xi+1 ). (7.4.18)

Da bismo ocijenili |qi |, zapi simo ovaj sustav u matri cnom obliku Aq = c , ili q = A1 c . Vidimo odmah da je A = 2I +B , gdje je B matrica koja sadr zi samo izvandijagonalne elemente i i i . Zbog i + i 1 (jednakost vrijedi u svim jednad zbama, osim 1 prve i zadnje), slijedi B 1. Sada nije te sko ocijeniti A A=2 I+ 1 B 2 = A1

1 1 1 B 2 2

1.

Na kraju, iz q = A1 c slijedi |qi | q

A1

i|. = max |c
i

Drugim rije cima, da bismo dokazali ocjene iz tablice za qf , dovoljno je ocijeniti |c i |.

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 clana u izrazu (7.4.18) za c i . Tada je i + i = 1, pa je c i = 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 |c i | 3(i + i ) (Df ) = 3 (Df ), cime smo dokazali prvu ocjenu u tablici za qf . Ako je f C 2 [a, b] i L4 i mo zemo razviti fi1 , [xi , xi+1 ], u izrazu (7.4.18) za c Df (xi1 ), fi+1 , Df (xi+1 ) u Taylorov red oko xi , koriste ci integralni oblik ostatka. Napomenimo da nam nije potrebna neprekidnost tre ce derivacije. U tom slu caju imamo dakle c i = 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

(xi+1 v )3 D 4 f (v ) dv

h2 hi1 2 D f (xi ) + i1 D 3 f (xi 0) 2 6 1 6hi1


xi1

xi

(xi1 v )3 D 4 f (v ) dv

i Df (xi ) + hi D 2 f (xi ) +

h2 i D 3 f (xi + 0) 2 1 + 2
xi+1

xi

(xi+1 v )2 D 4 f (v ) dv

2Df (xi ) i Df (xi ) hi1 D 2 f (xi ) + h2 i1 D 3 f (xi 0) 2 1 + 2


xi1

xi

(xi1 v )2 D 4 f (v ) dv .

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 c i = 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 c i = 2
1

(1 )2 D 4 f (xi + hi ) d
1

i h3 i1 + 2 Odavde lagano ocijenimo 1 |c i | D4f 2 = 1 D4f 24

2 (1 ) D 4 f (xi1 + hi1 ) d.

ih3 i
0

(1 ) d +

i h3 i1

2 (1 ) d

3 (i h3 i + i hi1 ).

Uvr stavanjem i , i (v. 7.4.10) dobivamo |c i | Na kraju, kako je


2 hi hi1 h2 i + hi1 D4f 24 hi + hi1 .

2 h2 i + hi1 max{hi , hi1 }, hi + hi1 dolazimo do zadnje ocjene u tablici za qf

|c i |

1 3 h D4f 24

Upotrebom Taylorove formule, teorema o srednjoj vrijednosti i leme 7.4.1, na ve c poznati na cin, dokazuju se i ostale ocjene u tablici. Napomenimo jo s, da je sli cnu analizu potrebno napraviti i za druge tipove rubnih uvjeta. Pokazuje se da 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 tre ce derivacije, moramo na ci ocjene oblika max |Mi D 2 f (xi )| Qf .
i

I u ovom slu caju imamo tablicu s 4 ocjene, u ovisnosti o klasi funkcije: Klasa funkcije C 2 [a, b] L3 [a, b] C 2 [a, b] C 2 [a, b]
i

Qf 3 (D 2 f ) 4 3 h D3f 9 2 3 h (D 3 f ) 9 1 2 h D4f 4

C 3 [xi , xi+1 ] L4 [xi , xi+1 ]

Tehnika dokaza ove tablice je dosta sli cna onoj za prethodnu tablicu, s time da se oslanja na linearni sustav (7.4.13), pa ocjene ostavljamo kao zadatak. Da bismo na kraju dokazali ovaj teorem, ograni cimo se na najglatkiju klasu funkcija C 2 [a, b] i L4 [ x , x ]; tehnika dokaza potpuno je ista i za sve druge klase. i+1 i Klju cna je ocjena (7.4.14): |S (x) f (x)| |H (x) f (x)| + hi t(1 t) max |mi Df (xi )|.
i

Prvi dio cini gre ska kod interpolacije Hermiteovim splajnom, za koju, prema (7.4.7), znamo da vrijedi |H (x) f (x)| t2 (1 t)2 4 hi D 4 f 4!
,

t=

x xi [0, 1], hi

1 5 4 4 t(1 t) [1 + t(1 t)] max h4 h D4f . i D f i 24 384 Zanimljivo je da ova ocjena samo 5 puta ve ca od ocjene za Hermiteov interpolacijski splajn, koji zahtijeva poznate derivacije funkcije f u svim cvorovima interpolacije, a ovdje ih koristimo samo na rubu (uz rubne uvjete (R1)). |S (x) f (x)|

a drugi dio pro citamo u tablici za maxi |mi Df (xi )|. Ukupno je dakle

7.5.

Diskretna metoda najmanjih kvadrata

Neka je funkcija f zadana na diskretnom skupu to caka x0 , . . . , xn kojih je mnogo vi se nego nepoznatih parametara aproksimacijske funkcije (x, a0 , . . . , am ).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 399

Funkcija odreduje se iz uvjeta da euklidska norma (norma 2) vektora pogre saka u cvorovima aproksimacije bude najmanja mogu ca, tj. tako da minimiziramo S ,
n

S=

k =0

(f (xk ) (xk ))2 min .

Ovu funkciju S (kvadrat euklidske norme vektora gre ske) interpretiramo kao funkciju nepoznatih parametara S = S (a0 , . . . , am ). O cito je uvijek S 0, bez obzira kakvi su parametri. Dakle, zadatak je minimizirati funkciju S kao funkciju vi se varijabli a0 , . . . , am . Ako je S dovoljno glatka funkcija, a na sa je (jer je funkcija u parametrima ak ), nu zni uvjet ekstrema je S = 0, ak k = 0, . . . , m.

Takav pristup vodi na tzv. sustav normalnih jednad zbi.

7.5.1.

Linearni problemi i linearizacija

Ilustrirajmo to na najjednostavnijem primjeru, kad je aproksimacijska funkcija pravac. Primjer 7.5.1 Zadane su to cke (x0 , f0 ), . . . , (xn , fn ), koje po diskretnoj metodi najmanjih kvadrata aproksimiramo pravcem (x) = a0 + a1 x. Gre ska aproksimacije u cvorovima koju minimiziramo je
n n

S = S (a0 , a1 ) =

k =0

(fk (xk ))2 =

k =0

(fk a0 a1 xk )2 min .

Nadimo parcijalne derivacije po parametrima a0 i a1 :


n S 0= = 2 (fk a0 a1 xk ), a0 k =0

0=

n S = 2 (fk a0 a1 xk )xk . 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 skra cene oznake


n n

s =
k =0

x k,

t =
k =0

fk x k,

0,

linearni sustav mo zemo pisati kao s0 a0 + s1 a1 = t0 s1 a0 + s2 a1 = t1 . (7.5.1)

Nije te sko pokazati da je matrica sustava regularna, jer je njena determinanta razli cita od nule. Determinanta matrice sustava jednaka je s0 s2 s2 1 . Cauchy Schwarzova nejednakost primijenjena na vektore e = [1, 1, . . . , 1]T i x = [x0 , x1 , . . . , xn ]T ,

daje s0 s2 s2 cemu jednakost vrijedi samo ako su vektori e i x linearno zavisni. 1 , pri Kako pretpostavljamo da imamo barem dvije razli cite apscise polaznih to caka xk (prirodan uvjet za pravac koji nije paralelan s ordinatom), nejednakost mora biti stroga, tj. vrijedi s0 s2 > s2 senje sustava. Samo 1 . Dakle, postoji jedinstveno rje rje senje dobiva se rje savanjem linearnog sustava (7.5.1). Ostaje jo s pitanje da li smo dobili minimum, ali to nije te sko pokazati, kori stenjem drugih parcijalnih derivacija (dovoljan uvjet minimuma je pozitivna denitnost Hesseove matrice). Ipak, provjera da se radi o minimumu, mo ze i puno lak se. Budu ci da se radi o zbroju kvadrata, S predstavlja paraboloid s otvorom prema gore u varijablama a0 , a1 , pa je jasno da takvi paraboloidi imaju minimum. Zbog toga se nikad ni ne provjerava da li je dobiveno rje senje minimum za S . Za funkciju mogli bismo uzeti i polinom vi seg stupnja, (x) = a0 + a1 x + + am xm , ali postoji opasnost da je za malo ve ce m (m 10) dobiveni sustav vrlo lo se uvjetovan (matrica sustava vrlo blizu singularne matrice), pa dobiveni rezultati mogu biti jako pogre sni. Zbog toga se za nikad ne koristi prikaz polinoma u bazi potencija. Ako se uop ce koriste aproksimacije polinomima vi sih stupnjeva, onda se to radi kori stenjem ortogonalnih polinoma. Linearni model diskretnih najmanjih kvadrata je potpuno primjenjiv na op cu linearnu funkciju (x) = a0 0 (x) + + am m (x), gdje su 0 , . . . , m poznate (zadane) funkcije. Ilustrirajmo to ponovno na op coj linearnoj funkciji s 2 parametra.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 401

Primjer 7.5.2 Zadane su to cke (x0 , f0 ), . . . , (xn , fn ), koje po diskretnoj metodi najmanjih kvadrata aproksimiramo funkcijom oblika (x) = a0 0 (x) + a1 1 (x). Postupak je potpuno isti kao u pro slom primjeru. Opet minimiziramo kvadrat euklidske norme vektora pogre saka aproksimacije u cvorovima
n n

S = S (a0 , a1 ) =

k =0

(fk (xk )) =

k =0

(fk a0 0 (xk ) a1 0 (xk ))2 min .

Sredivanjem parcijalnih derivacija


n S = 2 (fk a0 0 (xk ) a1 1 (xk )) 0 (xk ), 0= a0 k =0

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 0 (xk ), fk 0 (xk ),
k =0

s1 =
k =0 n

0 (xk )1 (xk ), fk 1 (xk ),


k =0

s2 =
k =0

2 1 (xk ),

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. Poka zite to! ako nelinearno ovisi o parametrima? Dobili bismo nelinearni sustav Sto jednad zbi, koji se relativno te sko rje sava. Uglavnom, problem postaje ozbiljan optimizacijski problem, koji se, recimo, mo ze rje savati metodama pretra zivanja ili nekim savanje nelidrugim optimizacijskim metodama, posebno prilagodenim upravo za rje nearnog problema najmanjih kvadrata (na primjer, LevenbergMarquardt metoda). Postoji i drugi pristup. Katkad se jednostavnim transformacijama problem mo ze transformirati u linearni problem najmanjih kvadrata. Na zalost, rje senja lineariziranog problema najmanjih kvadrata i rje senja originalnog nelinearnog problema, u principu, nisu jednaka. Problem je u razli citim mjerama za udaljenost to caka, odnosno mjerama za gre sku. Ilustrirajmo, ponovno, nelinearni problem najmanjih kvadrata na jednom jednostavnom primjeru.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 402

Primjer 7.5.3 Zadane su to cke (x0 , f0 ), . . . , (xn , fn ), koje po diskretnoj metodi najmanjih kvadrata aproksimiramo funkcijom oblika (x) = a0 ea1 x . Gre ska aproksimacije u cvorovima (koju minimiziramo) je
n

S = S (a0 , a1 ) =

k =0

(fk (xk ))2 =

k =0

(fk a0 ea1 xk )2 min .

Parcijalnim deriviranjem po varijablama a0 i a1 dobivamo 0= 0=


n S = 2 (fk a0 ea1 xk ) ea1 xk , a0 k =0 n S = 2 (fk a0 ea1 xk )a0 xk ea1 xk , a1 k =0

sto je nelinearan sustav jednad zbi. S druge strane, ako logaritmiramo relaciju (x) = a0 ea1 x , dobivamo ln (x) = ln(a0 ) + a1 x. Moramo logaritmirati jo s i vrijednosti funkcije f u to ckama xk , pa uz supstitucije 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 n

hk = h(xk ) = ln fk ,

k = 0, . . . , n,

S = S (b0 , b1 ) =

k =0

(hk (xk ))2 =

k =0

(hk b0 b1 xk )2 min .

Na kraju, iz rje senja b0 i b1 ovog problema, lako o citamo a0 i a1 a0 = eb0 , a1 = b1 .

Uo cite da ovako dobiveno rje senje uvijek daje pozitivan a0 , tj. linearizacijom dobivena funkcija (x) ce uvijek biti ve ca od 0. Jasno da to nije pravo rje senje za

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 403

sve po cetne podatke (xk , fk ). No, mo zemo li na ovako opisani na cin linearizirati sve po cetne podatke? O cito je ne, jer mora biti fk > 0 da bismo mogli logaritmirati. Ipak, i kad su neki fk 0, nije te sko, kori stenjem translacije svih podataka dobiti fk + translacija > 0, pa onda nastaviti postupak linearizacije. Poku sajte korektno formulirati linearizaciju. Na kreju odjeljka dajemo i nekoliko funkcija koje su cesto u upotrebi i njihovih 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 rije cima, dobili smo linearni problem najmanjih kvadrata


n

S = S (b0 , b1 ) = gdje je

k =0

(hk b0 b1 log(xk ))2 min, b1 = a1 .

b0 = log(a0 ),

U ovom slu caju, da bismo mogli provesti linearizaciju, moraju biti i xk > 0 i fk > 0. (b) Funkcija (x) = linearizira se na sljede ci na cin (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 ) =

k =0

(hk a0 a1 xk )2 min .

(c) Funkciju

x a0 + a1 x mo zemo linearizirati na vi se na cina. Prvo, mo zemo staviti (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 ) = Mo ze se koristiti i sljede ci na cin (x) =

k =0

(hk a0

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

k =0

(hk a0 a1 xk )2 min .

(d) Funkcija (x) = linearizira se stavljanjem (x) =

1 a0 + a1 ex 1 , fk

1 = a0 + a1 ex , (x)

hk =

k = 0, . . . , n.

Pripadni linearni problem najmanjih kvadrata je


n

S = S (a0 , a1 ) =

k =0

(hk a0 a1 exk )2 min .

7.5.2.

Matri cna formulacija linearnog problema najmanjih kvadrata

Da bismo formirali matri cni zapis linearnog problema najmanjih kvadrata, moramo preimenovati nepoznanice, naprosto zato da bismo matricu, vektor desne strane i nepoznanice u linearnom sustavu pisali u uobi cajenoj formi (standardno su nepoznanice x1 , x2 , . . . ,, a ne a0 , a1 , . . . ,). Pretpostavimo da imamo skup mjerenih podataka (tk , yk ), k = 1, . . . , n, i zelimo taj model aproksimirati funkcijom oblika (t). Ako je (t) linearna, tj. ako je (t) = x1 1 (t) + + xm m (t), onda bismo zeljeli prona ci parametre xj tako da mjereni podaci (tk , yk ) zadovoljavaju
m

yk =
j =1

xj j (tk ),

k = 1, . . . , n.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 405

Ako ozna cimo akj = j (xk ), bk = yk , onda prethodne jednad zbe mo zemo u matri cnom obliku pisati kao Ax = b. Ako je mjerenih podataka vi se nego parametara, tj. ako je n > m, onda ovaj sustav jednad zbi ima vi se jednad zbi nego nepoznanica, pa je preodreden. Kao sto smo ve c u uvodu rekli, postoji mnogo na cina da se odredi najbolje rje senje, ali zbog statisti ckih razloga to je cesto metoda najmanjih kvadrata, tj. odredujemo x tako da minimizira gre sku r = Ax b (r se cesto zove rezidual) min r
x 2

= min Ax b 2 ,
x

A Rn m ,

b Rn ,

x Rm .

(7.5.2)

Ako je rang(A) < m, onda rje senje x ovog problema o cito nije jedinstveno, jer mu mo zemo dodati bilo koji vektor iz nul-potprostora od A, a da se rezidual ne promijeni. S druge strane, medu svim rje senjima x problema najmanjih kvadrata uvijek postoji jedinstveno rje senje x najmanje norme, tj. koje jo s minimizira i x 2 .

7.5.3.

Karakterizacija rje senja

Prvo, karakterizirajmo skup svih rje senja problema najmanjih kvadrata. Teorem 7.5.1 Skup svih rje senja problema najmanjih kvadrata (7.5.2) ozna cimo s S = {x Rm | Ax b
2

= min}.

Tada je x S ako i samo ako vrijedi sljede ca relacija ortogonalnosti AT (b Ax) = 0. Dokaz. Pretpostavimo da x zadovoljava AT r = 0, Tada za bilo koji x Rm imamo r = b Ax = r + Ax Ax = r A(x x ). Ako ozna cimo e=xx , onda je r
2 2

(7.5.3)

r = b Ax .

= r T r = ( r Ae)T ( r Ae) = r T r + Ae

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. Poka zimo obratnu implikaciju. Pretpostavimo da je AT r =z =0 i uzmimo x=x + z. Tada je i r
2 2

jednaka r 2 , pa

r=r Az = rT r = r T r 2z T z + 2 (Az )T (Az ) < r T r

za dovoljno mali , pa x nije rje senje u smislu najmanjih kvadrata, sto zna ci da nije u S. Relacija (7.5.3) cesto se zove sustav normalnih jednad zbi i uobi cajeno se pi se u obliku AT Ax = AT b. Matrica AT A je simetri cna i pozitivno semidenitna, a sustav normalnih jednad zbi je uvijek konzistentan, jer je AT b R(AT ) = R(AT A). Stovi se, vrijedi i sljede ca propozicija. 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 cemu su xj komponente od x. Za takav x je 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 T xT 0 A Ax0 = 0. Ako je x takav da je Ax = 0, onda je xT AT Ax 0, pa je AT A pozitivno semidenitna. Drugim rije cima, AT A je op cenito pozitivno semidenitna, a pozitivnu denitnost garantira tek puni stup cani rang od A.
2 2

> 0,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 407

Iz prethodne propozicije slijedi da uvjet rang(A) = m, osigurava postojanje jedinstvenog rje senja problema najmanjih kvadrata. U tom slu caju rje senje i pripadni 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 pa je I PS projektor na ortogonalni komplement od S . (I P S )2 = I P S , (I P S )P S = 0 ,

Tvrdimo da postoji jedinstveni ortogonalni projektor na S . Pretpostavimo da postoje dva ortogonalna projektora P1 i P2 . Za sve z Rn , onda vrijedi (P 1 P 2 )z
2 2 T T T T = z T (P 1 P 2 )T (P 1 P 2 )z = z T (P 1 P1 P2 P1 P1 P2 + P2 P 2 )z

= z T (P 1 P 2 P 1 P 1 P 2 + P 2 )z

= z T P 1 (I P 2 )z + z T P 2 (I P 1 )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 i u slu caju punog ranga matrice A vrijedi r = (I PR(A) )b

PR(A) = A(AT A)1 AT . Ako je rang(A) < m, onda A ima netrivijalni nul-potprostor i rje senje problema najmanjih kvadrata nije jedinstveno. Istaknimo jedno od rje senja x . Skup svih rje senja S onda mo zemo opisati kao S = {x = x + z | z N (A)}.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 408

Ako je x N (A), onda je

2 2

= x

2 2

+ z 2 2,

pa je x jedinstveno rje senje problema najmanjih kvadrata koje ima minimalnu 2normu.

7.5.4.

Numeri cko rje savanje problema najmanjih kvadrata

Postoji nekoliko na cina rje savanja problema najmanjih kvadrata u praksi. Obi cno se koristi jedna od sljede cih metoda: 1. sustav normalnih jednad zbi, 2. QR faktorizacija, 3. dekompozicija singularnih vrijednosti, 4. transformacija u linearni sustav. Sustav normalnih jednad zbi Prva od navedenih metoda je najbr za, ali je najmanje to cna. Koristi se kad je A A pozitivno denitna i kad je njena uvjetovanost mala. Matrica AT A rastavi se faktorizacijom Choleskog, a zatim se rije si linearni sustav
T

AT Ax = AT b. Ukupan broj aritmeti ckih operacija za ra cunanje AT A, AT b, te zatim faktorizaciju 1 3 2 2 Choleskog je nm + 3 m + O (m ). Budu ci da je n m, onda je prvi clan dominantan T u ovom izrazu, a potje ce od formiranja A A. Kori stenje QR faktorizacije u problemu najmanjih kvadrata Ponovno, pretpostavimo da je AT A pozitivno denitna. Polazimo od rje senja problema najmanjih kvadrata dobivenog iz sustava normalnih jednad zbi x = (AT A)1 AT b. Zatim napi semo QR faktorizaciju matrice A A = QR = Q0 R0 , gdje je Q0 ortogonalna matrica tipa (n, m), a R0 trokutasta tipa (m, m) i uvrstimo u rje senje. Dobivamo
T T T T x = (AT A)1 AT b = (R0 Q0 Q0 R0 )1 R0 Q0 b T T T 1 T T T 1 T = (R0 R0 )1 R0 Q0 b = R0 R0 R0 Q0 b = R0 Q0 b,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 409

tj. x se dobiva primjenom invertirane skra cene QR faktorizacije od A na b (po analogiji s rje savanjem linearnih sustava, samo sto A ne mora imati inverz). Preciznije, da bismo na sli x, rje savamo trokutasti linearni sustav R0 x = QT 0 b. Na ovakav se na cin naj ce s ce rje savaju problemi najmanjih kvadrata. Nije te sko 2 3 2 pokazati da je cijena ra cunanja 2nm 3 m , sto je dvostruko vi se nego za sustav normalnih jednad zbi kad je n m, a pribli zno jednako za m = n.

gdje je R11 nesingularna reda r , a R12 neka r (m r ) matrica. Zbog gre saka zaokru zivanja, umjesto pravog R, izra cunamo R11 R12 R = 0 R22 . 0 0

QR faktorizacija mo ze se koristiti i za problem najmanjih kvadrata kad matrica A nema puni stup cani rang, ali tada se koristi QR faktorizacija sa stup canim pivotiranjem (na prvo mjesto dovodi se stupac ciji radni dio ima najve cu normu). Za sto ba s tako? Ako matrica A ima rang r < m, onda njena QR faktorizacija ima oblik R11 R12 A = QR = Q 0 0 , 0 0

Naravno, zeljeli bismo da je R22 2 vrlo mala, reda veli cine A 2 , pa da je mo zemo zaboraviti, tj. staviti R22 = 0 i tako odrediti rang od A. Na zalost, to nije uvijek tako. Na primjer, bidijagonalna matrica

1 2

A=

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. Zbog toga koristimo pivotiranje, koje R11 poku sava dr zati sto bolje uvjetovanim, a R22 po normi sto manjim. Dekompozicija singularnih vrijednosti i problem najmanjih kvadrata Vjerojatno jedna od najkorisnijih dekompozicija i s teoretske strane (za dokazivanje cinjenica) i s prakti cne strane je dekompozicija singularnih vrijednosti (engl. singular value decomposition) ili, skra ceno, SVD.

1 .. .. . . .. . 1
1 2

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 410

Teorem 7.5.2 Ako A ima puni rang, onda je rje senje problema najmanjih kvadrata min Ax b x jednako x = V 1 U T b, tj. dobiva se primjenom invertiranog skra cenog SVD-a od A na b. Dokaz. Vrijedi Budu ci da je A punog ranga, to je i . Zbog unitarne ekvivalencije 2-norme, vrijedi U V x b
T 2 2 2

Ax b

2 2

= U V T x b 2 2. UT T U0

= U (U V x b) = V x U b T U0 b
T T

2 2 2 2

(U V x b)
2 2

= V T x U T b

T + U0 b 2 2.

Prethodni izraz se minimizira ako je prvi clan jednak 0, tj. ako je x = V 1 U T b. Usput dobivamo i vrijednost minimuma min Ax b x
2 T = U0 b 2.

Uo cite da u prethodnom teoremu rje senje problema najmanjih kvadrata kad je matrica A punog ranga. Uobi cajeno se SVD primjenjuje u metodi najmanjih kvadrata i kad matrica A nema puni stup cani rang. Rje senja su istog oblika (sjetite se, vi se ih je), samo sto moramo znati izra cunati inverz matrice kad ona nije regularna, tj. kad ima neke nule na dijagonali. Takav inverz zove se generalizirani inverz i ozna cava sa + ili . U slu caju da je = pri cemu je 1 regularna, onda je + =
1 0 1 . 0 0

1 0 , 0 0

Jo s preciznije, za problem najmanjih kvadrata tada vrijedi sljede ca propozicija. Propozicija 7.5.2 Neka matrica A ima rang r < m. Rje senje x koje minimizira Ax b 2 mo ze se karakterizirati na sljede ci na cin. Neka je A = U V T SVD od A i neka je 1 0 [V1 , V2 ]T = U1 1 V1T , A = U V T = [U1 , U2 ] 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 rje senja problema najmanjih kvadrata mogu napisati u formi
1 T x = V1 1 U1 b + V2 z,

gdje je z proizvoljni vektor. Rje senje x koje ima minimalnu 2-normu je ono za koje je z = 0, tj. 1 T x = V1 1 U1 b, i vrijedi ocjena x
2

b 2 .

Dokaz. Nadopunimo matricu [U1 , U2 ] stupcima matrice U3 do ortogonalne matrice reda n, i ozna cimo je s U . Kori stenjem unitarne invarijantnosti 2-norme, dobivamo Ax b
2 2

= U T (Ax b) =

2 2

1 V1T x

T U2 b T U3 b

T U1 b

T U1 T = U2 (U1 1 V1T x b) T U3

2 T + U2 b 2 2 T + U3 b 2 2.

T = 1 V1T x U1 b 2

2 2

O cito, izraz je minimiziran kad je prva od tri norme u posljednjem redu jednaka 0, tj. ako je T 1 V1T x = U1 b, ili
1 T x = V1 1 U1 b.

Stupci matrica V1 i V2 su medusobno ortogonalni, pa je V1T V2 z = 0 za sve vektore z . Odavde vidimo da x ostaje rje senje problema najmanjih kvadrata i kad mu dodamo V2 z , za bilo koji z , tj. ako je
1 T x = V1 1 U1 b + V2 z.

To su ujedno i sva rje senja, jer stupci matrice V2 razapinju nul-potprostor N (A). Osim toga, zbog spomenute ortogonalnosti vrijedi i x
2 2 1 T = V1 1 U1 b 2 2

+ V2 z 2 2,

a to je minimalno za z = 0. Na kraju, za to minimalno rje senje vrijedi ocjena x


2 1 T = V1 1 U1 b 2 1 T = 1 U1 b 2

T U1 b

b 2 .

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 412

Primjerom se lako pokazuje da je ova ocjena dosti zna. Rje senje problema najmanjih kvadrata kori stenjem SVD-a je najstabilnije, a mo ze se pokazati da je, za n m, njegovo trajanje pribli zno jednako kao i trajanje m3 + O (m2 ). rje senja kori stenjem QR-a. Za manje n, trajanje je pribli zno 4nm2 4 3 Transformiranje problema najmanjih kvadrata na linearni sustav Ako matrica A ima puni rang po stupcima, onda problem najmanjih kvadrata mo zemo transformirati i na linearni sustav razli cit od sustava normalnih jednad zbi. Simetri cni linearni sustav I A r b = , T A 0 x 0 ekvivalentan je sustavu normalnih jednad zbi. Ako napi semo prvu i drugu blokkomponentu r + Ax = b, AT r = 0, onda uvr stavanjem r -a iz prve blok-jednad zbe u drugu dobivamo sustav AT (b Ax) = 0. Prvi sustav ima bitno manji raspon elemenata od sustava normalnih jednad zbi. Osim toga, ako je matrica A lo se uvjetovana, kod tog sustava mo zemo lak se koristiti iterativno pronjavanje rje senja.

7.6.

Op ci oblik metode najmanjih kvadrata

Nakon sto smo napravili osnovni oblik diskretne metode najmanjih kvadrata, na sli can na cin mo zemo rije siti i op ci problem aproksimacije po metodi najmanjih kvadrata, tj. u 2-normi. Dovoljno je uo citi da je diskretna 2-norma generirana obi cnim euklidskim skalarnim produktom na kona cno dimenzionalnim prostorima. Po istom principu, u op cem slu caju, radimo na nekom unitarnom prostoru s nekim skalarnim produktom, a pripadna norma je generirana tim skalarnim produktom. Na po cetku zgodno je uvesti oznake koje nam omogu cavaju da diskretni i neprekidni slu caj analiziramo odjednom, u istom op cem okru zenju unitarnih prostora.

7.6.1.

Te zinski skalarni produkti

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 re ci cemo da su ortogonalne, ako je njihov skalarni produkt jednak 0. Na primjer, za neprekidnu ili diskretnu mjeru d, te funkcije u i v koje imaju kona cnu normu mo zemo denirati skalarni produkt kao 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 s i niz dodatnih dobrih svojstava, zbog kojih se mogu konstruktivno primijeniti u raznim granama numeri cke matematike. Sljede ci niz teorema sadr zi samo neka osnovna svojstva koja cemo kasnije iskoristiti 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. Pa zljivije citanje ce samo potvrditi da bitne razlike nema. Standardno cemo promatrati neprekidni skalarni produkt
b

u, v =
a

w (x)u(x)v (x) dx

generiran te zinskom funkcijom w 0 na [a, b]. Ako svi polinomi pripadaju odgovaraju cem prostoru kvadratno integrabilnih funkcija, onda postoji pripadna familija ortogonalnih polinoma koju ozna cavamo s {pn (x) | n 0}. Dogovorno smatramo da je stupanj polinoma pn ba s jednak n, za svaki n 0. Paralelno cemo promatrati i diskretni skalarni produkt
n

u, v =
i=0

wi u(xi )v (xi )

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 414

generiran medusobno razli citim cvorovima x0 , . . . , xn i pripadnim pozitivnim te zinama w0 , . . . , wn . Pripadni unitarni prostor funkcija na zadanoj mre zi cvorova (izomorfno) sadr zi sve polinome stupnja manjeg ili jednakog n, pa sigurno postoji pripadna baza ortogonalnih polinoma koju ozna cavamo s {pk (x) | 0 k n}. Opet uzimamo je stupanj polinoma pk ba s jednak k , za svaki k {0, . . . , n}. Teorem 7.8.1 Neka je {pn (x) | n 0} familija ortogonalnih polinoma na intervalu [a, b] s te zinskom funkcijom w (x) 0. Ako je f polinom stupnja m, tada vrijedi
m

f=
n=0

f, pn pn . pn , pn

Dokaz. Prvo, poka zimo da se svaki polinom mo ze napisati kao kombinacija ortogonalnih polinoma stupnja manjeg ili jednakog njegovom. Dokaz ide kori stenjem GramSchmidtove ortogonalizacije. Poka zimo, redom, 2 da se monomi {1, x, x , . . . } mogu prikazati pomo cu ortogonalnih polinoma.

Ako je stupanj ortogonalnog polinoma 0, on je nu zno konstanta razli cita od nule, tj. vrijedi p0 (x) = c0,0 , c0,0 = 0, 1 c0,0

pa se prvi monom 1 mo ze napisati kao 1= 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 c1,1 = 0,

[p1 (x) c1,0 p0 (x)].

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

Kori stenjem indukcije u GramSchmidtovom procesu na {1, x, x2 , . . . , xn }, dobivamo pn (x) = cn,n xn + cn,n1 pn1 (x) + + cn,0p0 (x), cn,n = 0,

Neka je f bilo koji polinom stupnja (manjeg ili jednakog) m, za neki m N0 . Tada se f mo ze napisati kao linearna kombinacija monoma {1, x, . . . , xm }, prikazom

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 415

u standardnoj bazi. Budu ci da se svaki monom mo ze napisati kao linearna kombinacija ortogonalnih polinoma stupnja manjeg ili jednakog od stupnja tog monoma, odmah slijedi da se i f mo ze napisati kao neka linearna kombinacija ortogonalnih polinoma stupnjeva manjih ili jednakih m, tj. da vrijedi
m

f=
j =0

bj pj .

Ostaje samo odrediti koecijente bj . Mno zenjem prethodne relacije te zinskom funkcijom w , pa polinomom pn , a zatim integriranjem na [a, b], tj. skalarnim mno zenjem s pn , dobivamo
m

f, pn =
j =0

bj pj , pn = bn pn , pn ,

koriste ci ortogonalnost pj i pn , za j = n. Odatle odmah slijedi da je bn = jer je pn


2

f, pn , pn , pn

= pn , pn > 0.

Razvoj polinoma f stupnja m iz prethodnog teorema mo zemo napisati i tako da suma ide do , a ne do m, samo su svi dodatni koecijenti bn = 0, za n > m. To je posljedica sljede ce tvrdnje. 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 mo ze razviti po ortogonalnim polinomima stupnja manjeg ili jednakog m 1 f (x) =
m1 n=0

bn pn (x).

Mno zenjem s w (x)pm (x), te integriranjem, dobivamo da je f, pm =


m1 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 [a, b] s te zinskom funkcijom w (x) 0. Tada svaki polinom pn ima to cno n razli citih (jednostrukih) realnih nulto caka na otvorenom intervalu (a, b).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 416

Dokaz. Neka su x1 , x2 , . . . , xm sve nulto cke polinoma pn za koje vrijedi: a < xi < b,

pn (x) mijenja predznak u xi . Budu ci da je pn stupnja n, po osnovnom teoremu algebre, polinom pn ima ukupno n nulto caka, pa onih koje zadovoljavaju prethodna dva svojstva ima manje ili jednako n. Pretpostavimo da je nulto caka koje zadovoljavaju tra zena dva svojstva striktno manje od n, tj. m < n. Poka zimo da je to nemogu ce. Deniramo polinom B (x) = (x x1 ) (x xm ). Po deniciji to caka x1 , . . . , xm , polinom pn (x)B (x) = (x x1 ) (x xm )pn (x) ne mijenja znak prolaskom kroz to cke x1 , . . . , xm , tj. citav polinom ne mijenja znak na (a, b). Preciznije, to implicira oblik funkcije pn pn (x) = h(x)(x x1 )r1 (x xm )rm , pri cemu moraju biti svi ri neparni, a h(x) ne smije promijeniti predznak na (a, b). Mno zenjem s B (x), dobivamo 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

budu ci da je to integral nenegativne funkcije. S druge je strane taj integral skalarni 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, o cito kontradikcija, pa je pretpostavka o stupnju polinoma B bila pogre sna, tj. mora biti m = n. Budu ci da pn ima to cno n nulto caka x1 , . . . , xn u kojima 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 mo zmo napisati i kao pn (x) = An (x xn,1 )(x xn,2 ) (x xn,n ). Deniramo takoder i an = An+1 , An n = pn , pn > 0 .

pri cemu su

Teorem 7.8.3 (tro clana rekurzija) Neka je {pn (x) | n 0} familija ortogonalnih polinoma na intervalu [a, b] s te zinskom funkcijom w (x) 0. Tada za n 1 vrijedi rekurzija pn+1 (x) = (an x + bn )pn (x) cn pn1 (x), 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

O cito, polinom G je stupnja manjeg ili jednakog n, pa ga mo zemo napisati kao linearnu kombinaciju ortogonalnih polinoma stupnja manjeg ili jednakog n, tj. G(x) = dn pn (x) + + d0 p0 (x) za neki skup konstanti di . Ra cunanjem di izlazi di = G, pi 1 = ( pn+1 , pi an xpn , pi ). pi , pi i

Budu ci da je pn+1 , pi = 0 za i n i da za i n 2 vrijedi


b

xpn , pi =
a

w (x)pn (x)xpi (x) dx = 0,

zaklju cujemo da je stupanj polinoma xpi (x) manji ili jednak n 1. Kombiniranjem 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 s samo pokazati koliki su koecijenti dn1 i dn . Iz prve od dvije prethodne relacija, usporedivanjem vode cih koecijenata funkcije G i vode cih koecijenata funcije 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 te zinskom funkcijom w (x) 0. Za njih vrijedi sljede ci identitet pn+1 (x)pn (y ) pn (x)pn+1 (y ) pk (x)pk (y ) = . k an n (x y ) k =0 Dokaz. Manipulacijom tro clane rekurzije.
n

7.9.

Trigonometrijske funkcije

Trigonometrijske funkcije {1, cos x, cos 2x, cos 3x, . . . , sin x, sin 2x, sin 3x, . . . } cine ortogonalnu familiju funkcija na intervalu [0, 2 ] uz mjeru d = dx na [0, 2 ], 0 ina ce.

Poka zimo da je to zaista istina. Neka su k, N0 . Tada vrijedi


2

1 sin kx sin x dx = 2

(cos(k + )x cos(k )x) dx.

U slu caju da je k = , onda je prethodni integral jednak 1 sin(k + )x x 2 k+ Ako je k = , onda je jednak 1 sin(k + )x sin(k )x 2 k+ k Drugim rije cima, vrijedi
2 2 2

= .
0

= 0.
0

sin kx sin x dx =

0 , k = , , k = ,

k, = 1, 2, . . . ,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 419

Na sli can na cin, pretvaranjem produkta trigonometrijskih funkcija u zbroj, mo zemo pokazati da je
2

te, takoder, da je

k = , cos kx cos x dx = 2, k = = 0, , k = > 0,


2

0,

k, = 0, 1, . . . ,

sin kx cos x dx = 0,

k = 1, 2 , . . . ,

= 0, 1 , . . . ,

Ako periodi cku funkciju f osnovnog perioda duljine 2 zelimo aproksimirati redom oblika a0 f (t) = (ak cos kx + bk sin kx), + 2 k =1 onda, mno zenjem odgovaraju cim trigonometrijskim funkcijama i integriranjem, za 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 odsije cemo za k = m i dobijemo trigonometrijski 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)| dt

7.9.1.

Diskretna ortogonalnost trigonometrijskih funkcija

Umjesto neprekidne, za pripadnu mjeru mo zemo uzeti i diskretnu mjeru, pa umjesto integrala, dobivamo sume. Da bismo dobili zeljeni razvoj moramo poznavati relacije diskretne relacije ortogonalnosti. Teorem 7.9.1 Za trigonometrijske funkcije, na mre zi od to caka 0, 1, . . . , N , uz oznaku 2 2 xk = kx, x = x, N +1 N +1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 420

vrijede sljede ce relacije ortogonalnosti


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

cos xk cos x =
x=0

0,

uz uvjet da je k + N .

k = , (N + 1)/2, k = = 0, N + 1, k = = 0,

Dokaz. Doka zimo samo prvu relaciju. Iskoristimo formulu za pretvaranje produkta dva sinusa u zbroj trigonometrijskih funkcija. Vrijedi sin xk sin x = sin 2 2 kx sin x N +1 N +1 1 2 2 = cos (k )x cos (k + )x 2 N +1 N +1

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

cos
x=0

N 2 (k )x = cos 0 = N + 1, N +1 x=0

k = .

2 (k ) N +1 podsje caju na argumente (N + 1)-og korijena iz 1 (vi sak je (k )). Ozna cimo s j , j = 0, . . . , N sve (N + 1)-ve korijene iz 1, Za slu caj k = koristimo znanje iz kompleksne analize. Clanovi j = cos Nadalje, ozna cimo s 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, kori stenjem De Moivreove formule (za potenciranje kompleksnih brojeva) napisati kao = cos j = j .

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 421

O cito svi j zadovoljavaju jednad zbu xN +1 1 = 0. Iskoristimo li da su j svi korijeni te jednad zbe, nju mo zemo napisati u faktoriziranom obliku kao xN +1 1 = (x 0 )(x 1 ) (x N ). Usporedivanjem clanova uz N -tu potenciju slijeva i zdesna, dobivamo
N

0= Iskoristimo li (7.9.1) dobivamo

j .

j =0

N 2j 2j 0= = cos +i sin . N +1 N +1 j =0 j =0 j =0 j

Budu ci da je kompleksan broj jednak 0, nuli moraju biti jednaki i njegov realni i njegov imaginarni dio. Drugim rije cima, vrijedi
N

cos
j =0

2j = 0, N +1

sin
j =0

2j = 0. N +1

Vratimo se na po cetak. Trebali smo dokazati da je


N

cos
j =0

2j (k ) = 0 . N +1

Primijetimo da su argumenti kosinusa u prethodnoj formuli argumenti (N + 1)-og korijena iz 1, pomno zeni s (k ), sto zna ci da su to argumenti od ( j )(k) = ( (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 j =0

=
j =0

j ,

pa je dokazano da je
N

cos
j =0

2j (k ) = 0. N +1

Na sli can se na cin pokazuje da je


N

cos
j =0

2j (k + ) = 0, N +1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 422

za j + k = 0, cime je pokazana relacija ortogonalnosti za sinuse. Ovo zna ci da restrikcije funkcija cos 2 kx, N +1 sin 2 kx N +1 (7.9.2)

pri cemu su dozvoljeni k N0 za kosinuse i k N za sinuse, na mre zi {0, . . . , N } mo zemo koristiti kao ortogonalnu familiju. Linearne kombinacije funkcija (7.9.2) zvat cemo trigonometrijski polinom. Na zalost baze takvih trigonometrijskih polinoma ovise o parnosti N . Neparan broj to caka Neka je zadan neparan broj to caka M = {0, 1, . . . , N = 2L}. Za bazu se tada uzima prvih L + 1 kosinusa (prvi je konstanta) i prvih L sinusa, a pripadna trigonometrijska aproksimacija ima oblik TN (x) = pri cemu je xk =
L a0 + (ak cos xk + bk sin xk ), 2 k =1

(7.9.3)

2 2 kx := kx. N +1 2L + 1

Koecijenti trigonometrijskog polinom odreduju se iz relacija ortogonalnosti na uobi cajeni na cin, mno zenjem lijeve i desne strane u (7.9.3) izabranom funkcijom baze uz koju je odgovaraju ci koecijent. Ako trigonometrijski polinom interpolira TN interpolira funkciju f u x M, tj. ako je Tn (x) = f (x) onda mno zemjem (7.9.3) 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 2L L 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 zaklju cujemo da je (pi su ci k umjesto ) ak = 2 2L + 1


2L

f (x) cos xk ,
x=0

k = 0, . . . , L.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 423

Na sli can na cin, mno zenjem sa sin x , > 0 i zbrajanjem po svim x dobivamo
2L x=0

f (x) sin x =

L 2L L 2L a0 2L cos 0 sin x + ak cos xk sin x + bk sin xk sin x 2 x=0 x=0 x=0 k =1 k =1 2L + 1 = b . 2

Sli cno kao kod ak , imamo bk = 2 2L + 1


2L

f (x) sin xk ,
x=0

k = 1, . . . , L.

Dakle, u slu caju neparnog broja to caka koecijenti u (7.9.3) su 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 Poka zite da za bilo koju to cku x , ne nu zno iz M vrijedi 1 TN (x ) = 2L + 1


2L 2L

f (x)
x=0 k =0

cos

2 k (x x ) 2L + 1

Paran broj to caka Neka je zadan paran broj to caka M = {0, 1, . . . , N = 2L 1}. Za bazu se tada uzima prvih L + 1 kosinusa (prvi je konstanta) i prvih L 1 sinusa, a pripadna trigonometrijska aproksimacija ima oblik a0 L1 1 TN (x) = + (ak cos xk + bk sin xk ) + aL cos xL , 2 2 k =1 pri cemu je xk = 2 kx := kx. N +1 L (7.9.4)

Na sli can na cin kao kod neparnog broja to caka, koecijenti u (7.9.4) su ak = bk = 1 L
2L1

f (x) cos xk , f (x) sin xk ,

k = 0, . . . , L, k = 1, . . . , L 1 .

1 2L

x=0 2L1 x=0

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 424

Zadatak 7.9.2 Poka zite da i u slu caju neparnog i u slu caju parnog broja to caka, TN ima period N + 1. Zbog toga se jednostavno koristi za interpolaciju trigonometrijskih funkcija, a dovoljno je zadati samo to cke x iz jednog perioda. Primjer 7.9.1 Funkcija f ima period 3 i zadana je tabli cno s xk fk 0 0 1 1 2 1

Nadimo trigonometrijski polinom koji interpolira f u svim to ckama iz Z, a zatim izra cunajmo TN (1/2) i TN (3/2). Budu ci da je N = 2, broj to caka je neparan, pa je 1 2 2 T2 (x) = a0 + a1 cos x + b1 sin x. 2 3 3 Prema formulama za koecijente, dobivamo 4 2 (0 cos 0 + 1 cos 0 + 1 cos 0) = 3 3 2 2 4 2 a1 = 0 cos 0 + 1 cos = + 1 cos 3 3 3 3 2 2 4 b1 = 0 sin 0 + 1 sin + 1 sin = 0. 3 3 3 a0 = Prma tome, trigonometrijski polinom koji interpolira zadane to cke je 2 2 2 cos x. 3 3 3 Odatle se odmah mo ze izra cunati da je T2 (x) = T2 (1/2) = 2 2 1 cos = 3 3 3 3 2 2 4 T2 (3/2) = cos = . 3 3 3

Metoda majnanjih kvadrata za trigonometrijske funkcije I za metodu najmanjih kvadrata mo zemo koristiti trigonometrijske polinome, jer je dovoljno uzeti podskup baze prostora. Sli cno kao kod interpolacije biramo po cetni dio baze (7.9.2). Takoder moramo paziti na parnost/neparnost broja to caka N i na parnost/neparnost stupnja trigonometrijskog polinoma M , M N . Ilustrirajmo to na slu caju N = 2L paran (broj to caka neparan) i M = 2m paran (neparna dimenzija potprostora). Trigonometrijski polinom odgovaraju ceg stupnja je m 1 TM (x) = A0 = (Ak cos xk + Bk sin xk ), (7.9.5) 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 gre ske


2L

S=

x=0

(f (x) TM (x))2 min .

Tvrdimo da je rje senje problema mininizacije trigonometrijski interpolacijski polinom kojemu je Ak = ak , k = 0, . . . , m Bk = bk , k = 1, . . . , m, a koecijenti ak i bk se ra cunaju po formulama za interpolaciju. Primijetite da u to ckama interpolacije x, x = 0, . . . , 2L interpolacijski polinom ima istu vrijednost kao funkcija f , pa je dovoljno (u to ckama interpolacije) usporedivati interpolacijski trigonometrijski polinom TN , N = 2L i trigonometrijski polinom TM , M = 2m dobiven metodom najmanjih kvadrata. Vrijedi
m 1 ((ak Ak ) cos xk + (bk Bk ) sin xk ) TN (x) TM (x) = (a0 A0 ) + 2 k =1 L

+
k =m+1

(ak cos xk + bk sin xk ).

Dakle, u to ckama interpolacije x vrijedi f (x) TM (x) = TN (x) TM (x). Gre ska S koju minimiziramo dobiva se upotrebom relacija ortogonalnosti. Izlazi
2L

S := =

2L m 1 (a0 A0 )2 + ((ak Ak ) cos xk + (bk Bk ) sin xk )2 x=0 4 x=0 k =1 2L L

x=0 2L

(TN (x) TM (x))2

+
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

2L

+ 2(ak Ak )(bk Bk ) cos xk sin xk + (bk Bk )2 sin2 xk


L 2 2 2 (a2 k cos xk + 2ak bk cos xk sin xk + bk sin xk )

+
x=0 k =m+1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 426

2L + 1 m 1 = (a0 A0 )2 (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 gre ska S minimalna ako je 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 gre ske nije prakti can, jer uobi cajeno ne znamo ak , bk za k > m. Zadatak 7.9.3 Doka zite da vrijedi
2L

Smin =

x=0

(f (x))2

2L + 1 2 2L + 1 m 2 a0 (a + b2 k) 4 2 k=1 k

kori stenjem relacija ortogonalnosti. Prethodni oblik gre ske cesto se koristi za detekciju stupnja trigonometrijskog polinoma, jer nagli pad gre ske pri dizanju stupnja trigonometrijskog polinoma zna ci da smo otkrili stupanj polinoma. Gre ska pritom ne mora biti 0, jer je pojava mogla imati slu cajne gre ske koje smo ionako zeljeli maknuti. Zadatak 7.9.4 Izvedite metodu najmanjih kvadrata za tri preostala slu caja: 1. broj to caka paran N = 2L 1, dimenzija prostora neparna M = 2m,

2. broj to caka neparan N = 2L, dimenzija prostora parna M = 2m 1,

3. broj to caka paran N = 2L 1, dimenzija prostora parna M = 2m 1.

Zadatak 7.9.5 Neka je funkcija f zadana na mre zi to caka M = {0, 1, . . . , P 1}, P neparan (tj. to caka je paran broj) i neka je P period funkcije f , tj. f (x + P ) = f (x). Poka zite da su tada 2 ak = P bk = 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), poka zite da je ak = 0, bk = 4 P k = 0, . . . , L


L1 x=1

f (x) sin

2 kx, P

k = 1, . . . L 1 .

Ako je f parna funkcija f (x) = f (x), poka zite da je ak = 2 4 (f (0) + f (L) cos k ) + P P k = 1, . . . L 1 .
L1 x=1

f (x) cos

2 kx, P

k = 0, . . . , L

bk = 0,

Zadatak 7.9.6 Rije site prethodni zadatak uz uvjet da je P = 2L + 1, tj. da funkcija ima neparan period.

7.10.

Minimaks aproksimacija

Neka je f neprekidna funkcija na [a, b]. Ako usporedujemo polinomne aproksimacije funkcije f dobivene razli citim metodama, pitamo se koja je od njih najbolja, tj. koja daje najmanju maksimalnu gre sku. Ozna cimo s n (f ) maksimalnu gre sku aproksimacije n (f ) = inf f p .
deg(p)n

To zna ci de ne postoji polinom stupnja manjeg ili jedmakog n koji bi bolje od p aproksimirao funkciju f na danom intervalu. Nas, naravno interesira za koji se polinom dosti ze ta gre ska n (f ) = f p n . Ako je polinom pn jedinstven, zanima nas kako ga mo zemo konstruirati. Polinom p zovemo minimaks aproksimacija funkcije f na intervalu [a, b]. n Poka zimo kako se najbolja aproksimacija pona sa na jednom jednostavnom primjeru. Primjer 7.10.1 Nadimo polinom prvog stupnja p 1 (x) = a0 + a1 x koji je minimaks x aproksimacija funkcije f (x) = e na intervalu [1, 1], tj. da vrijedi
x[1,1]

max |ex a0 a1 x| min .

Da bismo rije sili problem, potrebno je malo geometrijskog zora. Nacrtajmo x graf funkcije e i promatrajmo gre sku svih polinomnih aproksimacija 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 sje ci graf funkcije ex na zadanom intervalu u to cno dvije to cke, nazovimo ih x1 , x2 takve da je 1 < x1 < x2 < 1. U protivnom, ako polinom ne sije ce graf niti u jednoj to cki, ili ako ga sije ce u to cno jednoj to cki, mo ze se pokazati da postoji bolja aproksimacija. Poka zite to! zbu pravca kroz to cke Iz crte za odmah naslu cujemo i rje senje. Nadimo jednad 1 (1, e ) i (1, e). Zatim, nadimo koecijent a0 takav da je taj pravac tangenta funkcije ex u nekoj to cki x3 . Rje senje zadatka je pravac paralelan s prethodna dva, jednako udaljen od oba. Odmah je jasno da ce postojati to cno tri to cke u kojima ce se dostizati maksimalne pogre ske: rubovi intervala i x3 . Poka zimo sad precizno da su na sa zaklju civanja ispravna. Ozna cimo 1 = max | err(x)|.
x[1,1]

Ve c smo zaklju cili da pogre ska mora imati tri ekstrema, tj. mora vrijediti err(1) = 1 , err(1) = 1 , err(x3 ) = 1 .

Budu ci da je err(x) derivabilna, onda mo zemo uvjet maksimuma pogre ske u x3 napisati i kori stenjem derivacije, tj. err (x3 ) = 0. Sad mo zemo skupiti sve cetiri jednad zbe koje trebamo zadovoljiti e1 a0 + a1 = 1 e a0 a1 = 1 Rje senje te cetiri jednad zbe je 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 pogre ske ima karakteristi can osciliraju ci izgled.


y 0.2788 x3 1 0.2788 1 x

Kori stenjem tzv. Remesovog algoritma mo zemo konstruirati i kubi cni polinom koji najbolje aproksimira istu funkciju. Taj polinom je
2 3 p 3 (x) = 0.994579 + 0.995668x + 0.542973x + 0.179533x .

Ako nacrtamo graf tog polinoma, on se na slici ne ce razlikovati od funkcije,


y

jer ce gre ska biti iznimno mala, reda veli cine 0.0055 i opet karakteristi cno osciliraju ca.
y 0.0055

0.0055

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 430

Za dobru uniformnu aproksimaciju zadane funkcije f , realno je o cekivati da je gre ska jednako tako uniformno distribuirana na intervalu aproksimacije i da varira po predznaku. Iznijet cemo dva vrlo va zna teorema, od kojih prvi daje egzistenciju minimaks aproksimacije i va zno svojstvo o oscilaciji gre saka. Drugi ocjenjuje pogre sku minimaks aproksimacije n polinoma stupnja n, bez da se sam polinom izra cuna. Teorem 7.10.1 (Cebi sevljev teorem o oscilacijama gre saka) Za danu funkciju f , f C [a, b] i za dani n 0 postoji jedinstven polinom p n stupnja manjeg ili jednakog n za koji je n (f ) = f p n . Taj polinom je karakteriziran sljede cim svojstvom: postoje barem n + 2 to cke a x0 < x1 < < xn < xn+1 b za koje je
j f (xj ) p n (xj ) = (1) n (f ),

j = 0, . . . , n + 1,

pri cemu je = 1 i ovisi samo o f i n. Dokaz prethodnog teorema je tehni cki, vrlo duga cak i provodi se obratom po 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

a ej su razli citi od 0 i istog predznaka, za xj vrijedi a x0 < x1 < < xn < xn+1 b. Tada je
0j n+1

min |ej | n (f ) = f p n (x)

f P

Dokaz. Posljednja nejednakost (gornja ograda) u prethodnoj formuli posljedica je denicije minimaks aproksimacije, tj. da polinom p ske manji n ima maksimum pogre ili jednak od svih ostalih polinoma P . Donja ograda za n (f ) dokazuje se pretostavljanjem suprotnog. Pretpostavimo da je n (f ) <
0j n+1

min |ej |.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 431

Budu ci da je n (f ) inmum (zaboravimo na cas da smo dokazali i minimum), onda 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

<

0j n+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 su svi ej > 0 (isti argument radit ce i ako su svi manji od 0). Izra cunajmo vrijednosti polinoma R u to ckama xj . Po cnimo s x0 i promotrimo predznak rezultata R(x0 ) = P (x0 ) Q(x0 ) = (f (x0 ) Q(x0 )) (f (x0 ) P (x0 )) = (f (x0 ) Q(x0 )) e0 . Budu ci da je onda je Nadalje je |f (x0 ) Q(x0 )| < min |ej | = min ej e0 , R(x0 ) = f (x0 ) Q(x0 )) e0 < 0.

R(x1 ) = P (x1 ) Q(x1 ) = (f (x1 ) Q(x1 )) (f (x1 ) P (x1 )) = (f (x1 ) Q(x1 )) + e1 . Ponovno, zbog slijedi da je |f (x1 ) Q(x1 )| < min |ej | = min ej e1 , R(x1 ) = (f (x1 ) Q(x1 )) + e1 > 0. j = 0, . . . , n + 1,

Induktivno, dobivamo da je

sign(R(xj )) = (1)j +1 ,

tj. R oscilira tako da ima bar n + 2 razli cita predznaka, tj. da predznak promijeni bar n + 1 puta. Ali R je polinom stupnja n, pa predznak mo ze mijenjati samo u nulto ckama. Po osnovnom teoremu algebre znamo da polinom R stupnja n 1 ima to cno n nulto caka, a ne bar (n + 1)-nu. Jedina mogu cnost koja ostaje je da je R ba s nul-polinom, tj. da je P = Q, sto je suprotno pretpostavci. Predod zbu o tome kako se pona sa najbolja aproksimacija s porastom stupnja n daje sljede ci teorem. Teorem 7.10.3 (Jackson) Neka funkcija f ima k neprekidnih derivacija za neki k 0. Cak stovi se pretpostavimo da f (k) zadovoljava
ax,y b

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. ka ze se da f zadovoljava H olderov uvjet s eksponentom . Tada postoji konstanta dk nezavisna o f i n za koju je n (f ) Mdk , nk+ n 1.

Ako u prethodnom teoremu zelimo izbje ci H olderov uvjet, dovoljno je pretpostaviti 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 H olderov uvjet svede na obi cni teorem srednje vrijednosti, a kao rezultat dobivamo d k 1 n (f ) k f (k) . n Nadalje, ako je f beskona cno puta derivabilna, tada p n konvergira prema f k uniformno na [a, b] br ze nego bilo koja potencija 1/n , k 1.

7.10.1.

Remesov algoritam

Tra zenje minimaks aproksimacije p ze se prona ci iterativnim algoritn za f mo mom poznatijim kao drugi Remesov algoritam. Ovdje treba napomenuti da se taj algoritam mo ze generalizirati i na racionalne funkcije i na slu caj kad funkcija f nije zadana na intervalu, nego na skupu to caka (tada se on zove diferencijalni algoritam korekcije). Remesov algoritam koristi svojstvo oscilacije gre ske koje mora imati minimaks aproksimacija. Iteracije imaju tri dijela. Prvi korak Zadane su n + 2 to cke a x0 < x1 < < x(0) n < xn+1 b. 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 cemu zahtjevamo da pogre ska E (koju jo s ne znamo) oscilira s jednakim amplitudama. 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

Rije simo linearni sustav, tj. odredimo redom a0 , . . . , a(0) n (koecijente polinoma p) i nadimo pirpadni E , zovimo ga E0 . Tre ci korak Tra zimo novih n + 2 to caka. Deniramo funkciju
n

(0)

h0 (x) = f (x)
(0)

ai xi .
i=0

(0)

Funkcija h0 ima u to ckama xi vrijednosti E0 (to su gre ske) koje alterniraju (0) po predznaku. Zbog toga, nije te sko pokazati da u okolini svake to cke xi postoji (1) to cka xi takva da u njoj h0 (x) ima ekstrem i to istog predznaka kao sto je predznak (0) (0) (0) (1) (1) f (xi ) p(xi ). Nakon toga zamjenjujemo xi s xi . Naravno, rubne to cke x0 i (1) xn+1 moraju ostati u [a, b]. Ove nove to cke xi lokalnih ekstrema funkcije h0 moraju sadr zavati i to cku u kojoj |h0 | dosti ze globalni maksimum na [a, b]. Naime, ako je x to cka u kojoj |h0 | poprima globalnu maksimalnu vrijednost na [a, b] h0
(1) (1)

= f p

= |f ( x) p( x)|,

i ona nije medu to cakama xi , onda treba onda treba zamijeniti jednu od to caka (1) xi to ckom x , tako da h0 i na tom novom skupu to caka alternira po znaku. Mo ze se pokazati da se to uvijek mo ze napraviti. 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 tre ci korak, samo na novim to ckama xi . Ovaj proces generirat ce niz polinomnih aproksimacija ce uniformno konvergirati prema minimaks polinomnoj aproksimaciji.
(1)

7.11.

Skoro minimaks aproksimacije

Vidjeli smo da minimaks aproksimaciju nije jako lako izra cunati. Zbog toga, bili bismo zadovoljni i pribli znom minimaks aproksimacijom. Ako se prisjetimo Cebi sevljevog teorema o oscilaciji gre ske, mo zemo do ci do metode koja daje dobru pribli znu minimaks aproksimaciju.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 434

sevljevi polinomi, koji zadoVidjet cemo da su u tu svrhu vrlo pogodni Cebi voljavaju sljede cu relaciju ortogonalnosti
1

sevljevim polinomima, potrebno je samo supAko zelimo funkciju f razviti po Cebi stituirati podatke u op ci algoritam. Zelimo odrediti koecijente ck u razvoju funkcije f po Cebi sevljevim polinomima. Ako je razvoj napi semo u obliku f (x) =
c0 T0 (x) + ci Ti (x), 2 i=1

za m = n, Tm (x) Tn (x) za m = n = 0, dx = , 1 x2 /2, za m = n = 0.

0,

(7.11.1)

onda cemo, formalno gledaju ci, koecijent cj dobiti ako pomno zimo prethodnu relaciju s Tj (x), zatim te zinskom funkcijom w i integriramo od 1 do 1. Dobivamo formulu 1 2 f (x)Tj (x) cj = dx. 2 1 x 1 Ozna cimo s fn po cetni komad razvoja, tj. neka je 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, mo zemo pokazati dosta jak rezultat n (f ) f fn

4+

4 ln n n (f ). 2

Kako se pona sa gre ska odbacivanja reda? Ako se prisjetimo da je Tn (x) = cos n, onda se mo ze pokazati da vrijedi 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

Nulto cke i ekstreme polinoma Tn+1 nije te sko izra cunati. Nulto cke pripadnog kosinusa su na odgovaraju cem intervalu su (n + 1)j = pa su nulto cke Tn+1 jednake xj = cos (2j + 1) , 2(n + 1) j = 0, . . . , n. (2j + 1) , 2 j = 0, . . . , n,

S druge strane, lokalni ekstremi se posti zu kad je (n + 1)k = k, pa su ekstremi Tn+1 jednaki xk = cos Drugim rije cima, vrijedi 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 to cno n + 2 i da alterniraju po znaku. Ako to iskoristimo za funkciju cn+1 Tn+1 , onda je jasno da ona ima n + 2 lokalna ekstrema sevljevom teoremu o oscilaciji gre jednakih amplituda. Po Cebi saka, odatle odmah izlazi da je fn skoro minimaks aproksimacija za f (ovo skoro minimaks potje ce od toga sto je gre ska odbacivanja clanova reda pribli zno jednaka cn+1 Tn+1 ). sevljevim polinomima. Postoji jo s jedan razlog za sto se koristi razvoj po Cebi Vrijedi sljede ci teorem. Teorem 7.11.1 Za ksni prirodni broj n, promatrajmo minimizacijski problem n =
deg(P )n1 1x1

inf

( max |xn + P (x)|),

gdje je P polinom. Minimum n se dosti ze samo za xn + P (x) = Pripadna pogre ska je n = 1 2 n1 1 2 n1 . Tn (x).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 436

Dokaz. Iz tro clane rekurzije, nije te sko induktivno dokazati da je vode ci koecijent Tn jednak Tn (x) = 2n1xn + clanovi ni zeg stupnja, n 1. Zbog toga vrijedi da je 1 2 n1 Budu ci da su to cke xk = cos lokalni ekstremi od Tn , u kojima je Tn (xk ) = (1)k , i 1 = xn < xn1 < < x1 < x0 = 1. Polinom ima vode ci koecijent 1 i vrijedi
1x1 2n1

Tn (x) = xn + clanovi ni zeg stupnja. k , n

j = 0, . . . , n,

k = 0, . . . , n

1 2 n1 1

Tn

max

Tn = 1 2 n1 1 2 n1

1 2 n1

Zbog toga je n

s jednak desnoj strani. Pretpostavimo suprotno, tj. da je Poka zimo da je n ba n < .

Pokazat cemo da to vodi na kontradikciju. Denicija n i prethodna pretpostavka 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 2 n1 . (7.11.2)

Deniramo R(x) =

1 2 n1

Tn (x) M (x).

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 437

Tvrdimo da ce se vode ci koecijenti funkcija s desne strane skratiti, pa je deg(R) 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 . Budu ci da ima bar n + 1 razli citi predznak, to mora postojati bar n nulto caka, sto je mogu ce damo ako je R = 0. Odatle odmah izlazi da je 1 M (x) = n1 Tn (x). 2

Sad bi jo s trebalo pokazati da je to jedini polinom s takvim svojstvom. Taj dio dokaza vrlo je sli can ovom sto je ve c dokazano.

7.12.

Interpolacija u Cebi sevljevim to ckama

Ako se prisjetimo problema interpolacije, onda znamo da je gre ska interpolacionog polinoma stupnja n jednaka f (x) pn (x) = (x x0 ) (x xn ) (n+1) f ( ). (n + 1)!

Vrijednost (n +1)-ve derivacije ovisi o to ckama interpolacije, ali nije jednostavno re ci kako. Ipak, ono sto mo zemo kontrolirati je izbor to caka interpolacije. Pretpostavimo da interpoliramo funkciju na intervalu [1, 1]. Ako na s interval nije [1, 1], nego [a, b], onda ga linearnom transformacijom y = cx + d mo zemo svesti na zadani interval. Dakle izaberimo to cke interpolacije xj [1, 1] tako da minimiziraju max |(x x0 ) (x xn )|. Polinom u prethodnoj relaciji je stupnja n +1 i ima vode ci koecijent 1. Po Teoremu 7.11.1, minimum cemo dobiti ako stavimo 1 (x x0 ) (x xn ) = n Tn+1 (x), 2 n a minimalna ce vrijednost biti 1/2 . Odatle odmah citamo da su cvorovi x0 , . . . xn c izra cunali da su jednake nulto cke polinoma Tn+1 , a njih smo ve xj = cos (2j + 1) , 2n + 2 j = 0, . . . , n.
1x1

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 438

7.13.

Cebi sevljeva ekonomizacija

sevljevi polinomi mogu se koristiti za smanjivanje stupnja interpolacionog Cebi polinoma, uz minimalni gubitak to cnosti. Takav postupak zove se ekonomizacija. Pretpostavimo da je zadan proizvoljni polinom stupnja n pn (x) = an xn + an1 xn1 + + a1 x + a0 . na intervalu [1, 1]. Taj polinom zelimo zamijeniti polinomom stupnja za jedan manjeg tako da je gre ska koja je pritom nastala minimalna mogu ca
x[1,1]

max |pn (x) pn1 (x)| min .

Rje senje problema se ne ce promijeniti ako normiramo vode ci koecijent na 1, tj. ako tra zimo 1 max (pn (x) pn1 (x)) min . 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 rije cima, izbor pn1 (x) je pn1 (x) = pn (x) an Tn (x), 2 n1 1 |an | (pn (x) pn1 (x)) = n1 . an 2

a s tim izborom je maksimalna gre ska jednaka


x[1,1]

max |pn (x) pn1 (x)| = |an | max

x[1,1]

Primjer 7.13.1 Funkciju f (x) = ex aproksimiramo na intervalu [1, 1] Taylorovim polinomom oko 0 stupnja cetiri p4 (x) = 1 + x + Gre ska odbacivanja tog polinoma je |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 gre ska odbacivanja |R4 (x)| e 5 e |x | 0.023, 120 120

za 1 x 1. Pretpostavimo da mo zemo tolerirati gre sku 0.05, pa poku sajmo spustiti stupanj polinoma. Nije te sko na ci T4 , recimo iz rekurzije T4 (x) = 8x4 8x2 + 1. Pokazali smo da mora biti p3 (x) = p4 (x) a4 x2 x3 x4 1 T ( x ) = 1 + x + + + (8x4 8x2 + 1) 4 4 1 2 2 6 24 8 24 13 2 1 3 191 +x+ x + x . = 192 24 6

Tim sni zavanjem stupnja, napravljena je gre ska |p4 (x) p3 (x)| 1 1 = 0.0053. 3 24 2 192

Pribrojimo li tu gre sku gre sci odbacivanja, onda je ukupna gre ska manja ili jednaka 0.023 + 0.0053 = 0.0283, sto je prema uvjetima zadatka dozvoljiva gre ska. Naravno, stupanj polinoma p3 mo zemo poku sati jo s smanjiti. Budu ci da je T3 (x) = 4x3 3x, dobivamo p2 (x) = p3 (x) a3 191 13 1 1 T3 (x) = + x + x2 + x3 (4x3 3x) 3 1 2 192 24 6 46 191 9 13 = + x + x2 . 192 8 24

Pritom je napravljena gre ska |p3 (x) p2 (x)| = 1 1 = 0.042. 64 24

Dodamo li tu gre sku na ve c akumuliranu gre sku 0.0283, onda je ukupna gre ska 0.0283 + 0.042 > 0.05, sto je bila dozvoljena tolerancija. Postoji jo s jedan na cin ekonomizacije. Znamo da se funkcije mogu razviti u red po Cebi sevljevim polinomima oblika
1 f (x) = c0 + ck Tk (x), 2 k =1

|x| 1,

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 440

sevljev polinom i a koecijenti u razvoju su integrali koji u sebi sadr ze f , Cebi sevljeve polinome. Koecijente ck u ovom razvoju mo te zinsku funkciju za Cebi zemo, i to relativno brzo, numeri cki izra cunati, koriste ci algoritme na bazi diskretne or togonalnosti Cebi sevljevih polinoma. Taj postupak opisujemo u sljede cem odjeljku. S druge strane, ako znamo (ili lako ra cunamo) koecijente am u redu potencija f (x) =
m=0

am xm ,

sevljevim polinomima, pa nakon toga onda potencije xm mo zemo razviti po Cebi primijeniti postupak ekonomizacije (odbacivanjem clanova) da dobijemo ravnomjernije pona sanje pogre ske. Mo ze se pokazati da vrijedi
[n/2]

(2x)n = 2
k =1

n Tn2k (x), k

pri cemu je 1/2 za k = n/2, 1 ina ce. Taj razvoj napisan posebno za parne, a posebno za neparne potencije je k = (2x)2m = (2x)2m+1 = 2
k =0 m 2m 2m +2 T2k (x) m k =1 m k m

2m + 1 T2k+1 (x). mk

Ako za polinomnu aproksimaciju uzmemo polinom stupnja n, uvr stavanjem sevljevim polinomima dobivamo razvoja po Cebi
n b0 fn (x) = am x = + bm Tm (x), 2 m=1 m=0 m n

gdje su koecijenti b2k = 2


2in i=k

2i a2i , i k 22i

b2k+1 = 2

2i+1n i=k

2i + 1 a2i+1 . i k 22i

Vrlo se cesto dogada da su jedan ili nekoliko posljednjih koecijenata bm maleni, pa odbacivanje posljednjih clanova bitno ne smanjuje to cnost aproksimacije. Drugim rije cima, smanjili smo stupanj aproksimacije. Takvo smanjivanje stupnja zove se i relaksacija stupnja aproksimacije.

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 441

7.14.

Diskretne ortogonalnosti polinoma Tn

sevljevi polinomi kosinusi, onda oni zadovoljavaju diskretne Budu ci da su Cebi relacije ortogonalnosti vrlo sli cne onima koje zadovoljavaju trigonometrijske funkcije. sevljevog polinoma Tn , tj. neka je Neka su x nulto cke Cebi Tn (x ) = cos(n ) = 0. Nije te sko izra cunati da je tada x = cos( ), = (2 + 1) , 2n
n1 =0

= 0, . . . , n 1 .

sevljeve polinome, u nulto Za Cebi ckama vrijede sljede ce relacije ortogonalnosti Uj,k = gdje je Uj,k
n1 =0

Tj (x )Tk (x ) =
0

cos j cos k ,

sevljevim polinomima koriste Sada mo zemo funkciju razviti po Cebi ci prethodnu relaciju diskretne ortogonalnosti. Mo ze se pokazati da vrijedi sljede ci teorem. Teorem 7.14.1 Neka je fn (x) aproksimacija za f (x), fn (cos ) = ili d 0 n1 fn (x) = + dk Tk (x). 2 k =1 Tada je dk = 2 n1 2 n1 f (cos ) cos k = f (x )Tk (x ). n =0 n =0 (7.14.1) d 0 n1 + dk cos k, 2 k =1

j, k < n, j = k , = n/2 j = k , 0 < j < n, n j = k = 0.

Pretpostavimo da je f neprekidna na [1, 1], osim najvi se u kona cno mnogo to caka, gdje ima ograni cene skokove. Tada se f mo ze razviti u konvergentan red oblika
c0 f (x) = + ck Tk (x), 2 k=1

(7.14.2)

gdje je 2 ck =
1

f (x)Tk (x) 2 dx = 1 x2

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 +

r =1 r =1

(1)r c2rn
r =1

(1)r c2rnk +

(1)r c2rn+k ,

k = 1, . . . , n 1 .

Sljede ci teorem govori o gre skama koje smo napravili aproksimacijom fn obzirom na f . Teorem 7.14.2 Neka je pri cemu su fn i f zadani s (7.14.1) i (7.14.2). Za gre sku n tada vrijedi n (cos ) = cos n cn + 2
2n1 r =1

n (x) = f (x) fn (x),

cn+r cos r + c3n cos 2n


2n1

sin 2n c3n sin n + 2

+ cos 3n c5n cos 2n + 2 odnosno, pribli zno

c3n+r r =1 2n1
r =1

sin(n + r ) + c5n sin 3n

c5n+r cos(2n + r ) + c7n cos 4n , 2cn+1 cos . cn

n (cos ) cn cos n 1 + Posebno, vrijedi

n (cos ) = 0. Iz prethodnih teorema uo cavamo da x le ze u unutra snjosti intervala. U mnogim je primjenama je korisno dozvoliti aproksimaciju i u rubnim to ckama 1 i to ckama koje le ze u sredini medu . Primijetite da su to ekstremi odgovaraju ceg Cebi sevljevog polinoma. Sada mo zemo napraviti sli can niz tvrdnji kao za diskretnu ortogonalnost u nulto ckama. sevljevog polinoma Tn , tj. neka je Neka su x ekstremi Cebi x = cos( ), = , n = 0, . . . , n.

sevljeve polinome, u ekstremima vrijede sljede Za Cebi ce relacije ortogonalnosti


n1 1 Vj,k = (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

sevljevim polinomima koriste Sada mo zemo funkciju razviti po Cebi ci prethodnu relaciju diskretne ortogonalnosti. Mo ze se pokazati da vrijedi sljede ci teorem. Teorem 7.14.3 Neka je fn (x) aproksimacija za f (x), fn (cos ) = ili fn (x) = Tada je 2 f (1) + (1)k f (1) n1 ek = + f (cos ) cos k n 2 =1 2 f (1) + (1)k f (1) n1 + f (x )Tk (x ) . = n 2 =1 Osim toga, postoji veza izmedu koecijenata u diskretnom i kontinuiranom razvoju: e0 = c0 + 2

j, k < n, j = k , Vj,k = n/2 j = k , 0 < j < n, n j = k = 0 ili j = k = n.

e0 n1 en + ek cos k + cos n, 2 2 k =1 en e0 n1 + ek Tk (x) + Tn (x). 2 2 k =1 (7.14.3)

c2rn c(2r+1)n
r =1

en = 2cn + 2 ek = ck +

r =1 r =1

r =1

c2rnk +

c2rn+k ,

k = 1, . . . , n 1 .

Sljede ci teorem govori o gre skama koje smo napravili aproksimacijom fn obzirom na f . Teorem 7.14.4 Neka je pri cemu su fn i f zadani s (7.14.3) i (7.14.2). Za gre sku n tada vrijedi n (cos ) = 2 sin n odnosno, pribli zno n (cos ) 2 sin n sin cn+1 1 + 2cn+2 cos . cn+1
r =1

n (x) = f (x) fn (x),

cn+r sin r

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 pribli znom integracijom ck (modiciranom trapeznom formulom, odnosno, tzv. midpoint pravilom).

7.15.

Thieleova racionalna interpolacija

Racionalne funkcije bolje aproksimiraju funkcije koje imaju singularitete, nego sto to mogu polinomi. Jasno je da polinomi ne mogu dobro aproksimirati funkciju u okolini to cke prekida, jer ih oni sami nemaju. Prvo, denirajmo recipro cne razlike, a zatim veri zni razlomak koji ce interpolirati funkciju f u to ckama x1 , . . . , xn (ovdje su indeksi od 1, a ne od 0). Recipro cne razlika nultog i prvog reda deniraju se redom kao 0 (x0 ) = f (x0 ), a one vi sih redova rekurzivno kao 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 ra cunanje recipro cnih razlika obi cno se koristi tablica vrlo sli cna onoj za podijeljene razlike. Kao sto cemo to pokazati kasnije, algoritam koji ce koristiti recipro cne razlike numerirat ce to cke indeksima od 1 do n (zbog toga u tablici nema x0 ). xk x1 x2 . . . xn1 xn f (xk ) f (x1 ) 1 (x1 , x2 ) f (x2 ) . . . f (xn1 ) f (xn ) 1 (x1 , x2 ) . . . 1 (xn2 , xn1 ) 1 (xn1 , xn ) 2 (x1 , x2 , x3 ) . . . 2 (xn2 , xn1 , xn ) .. . 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 recipro cne razlike, cesto se deniraju i inverzne razlike 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 )

Postoji i veza izmedu inverznih i recipro cnih razlika. Nije te sko 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 ). Poka zimo da vrijedi jedan va zan identitet iz kojeg cemo izvesti Thieleovu formulu. Prvo, u formuli za recipro cne razlike uzmemo x0 kao varijablu i ozna cimo je s x. Tvrdimo da je f (x) = f (x1 ) + x x1 x x2 x xn1 + + 1 (x1 , x2 ) 2 (x1 , x2 , x3 ) n1 (x1 , . . . , xn )+ x xn (7.15.1) . n (x, x1 , . . . , xn ) n2 (x1 , . . . , xn1 ) 1 (x, x1 ) = slijedi da je x x1 f (x) f (x1 ) x x1 . 1 (x, x1 ) (7.15.2)

Iz

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 ) (7.15.3)

Uvr stavanjem tog izraza u (7.15.2) dobivamo f (x) = f (x1 ) +

x x1 . x x2 1 (x1 , x2 ) + 2 (x, x1 , x2 ) 0 (x1 )

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 446

Kona cno, formulu (7.15.1) dobivamo indukcijom po n, uz kori stenje denicije inverznih razlika. Poka zimo jo s jednu zanimljivu cinjenicu vezanu uz formulu (7.15.1). Ako izbri semo zadnji clan, onda ce za racionalnu funkciju (veri zni razlomak) R(x) = f (x1 ) + vrijediti R(xi ) = f (xi ), i = 1, . . . , n. To se odmah vidi iz (7.15.1), ako krenemo od xn , jer je clan x xn n (x, x1 , . . . , xn ) n2 (x1 , . . . , xn1 ) (7.15.5) x x2 x xn1 x x1 + + 1 (x1 , x2 ) 2 (x1 , x2 , x3 ) n1 (x1 , . . . , xn ) (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 kra ci i to za onu verigu koja sadr zi clan razlike (7.15.5). U svakoj daljnjoj to cki xn2 , . . . , x1 , veri zni je razlomak kra ci za jednu verigu od prethodne. Formula (7.15.4) zove se Thielova interpolaciona formula. Poka zimo na nekoliko primjera koliko je dobra ta interpolacija. Primjer 7.15.1 Aproksimirajte tg 1.565 kori stenjem Thieleove interpolacione formule, ako znamo vrijednosti funkcije tg u to ckama xi = 1.53 + 0.01 i, i = 0, . . . , 4. Prvo izra cunajmo recipro cne razlike. 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.0308670 0.0207583 0.0106889 2.96838 3.56026 2.97955 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 . 0.001255851+ 24.5293+ 2.96713+ 3.59113 R(1.565) = 172.5208, dok je prava vrijednost tg(1.565) = 172.5211. I sumacija redova mo ze se znatno ubrzati kori stenjem racionalne ekstrapolacije. Pretpostavimo da treba izra cunati S=
n=0

Uvr stavanjem 1.565 dobivamo

an .

Ozna cimo s SN , N -tu parcijalnu sumu reda


N

SN =
n=0

an .

Ove vrijednosti SN mo zemo interpretirati kao vrijednosti neke funkcije f u to ckama N , ili u nekim drugim to ckama, na primjer, u to ckama 1/N , SN = f O cito je da vrijedi S = S = f (0). Ideja je f (0) izra cunati kao ekstrapoliranu vrijednost od f (1), f ili za neke vi se N , iz f 1 1 ,f ,..., N1 N2 N1 < N2 < 1 1 ,f ,..., 2 3 1 . N

Primjer 7.15.2 Treba izra cunati S= kori stenjem racionalne ekstrapolacije. 1 , 2 n=1 n

7. APROKSIMACIJA I INTERPOLACIJA

APROKSIMACIJA I INTERPOLACIJA 448

Uzet cemo N = 1, 2, 4, 8, 16 i izra cunati Sn = 1 . 2 n=1 n


N

Shvatimo li to kao funkciju od x = 1/N i ozna cimo S (x) = SN , onda mo zemo formirati tablicu recipro cnih razlika. x S (x) 1 2 3 4

1 1.584346533 16 1 8 1 4 1 2 1 1.527422052 1.423611111 1.25 1

1.097945891 1.204112002 1.44 2

0.238678243 0.166126405 0.089285214

4.826059143 0.016938420 9.947195880

Thielova interpolacija daje 1 1 1 1 x x x 16 8 4 2 . R(x) = 1.584346533 + 1.097945891+ 1.823024776+ 5.924005034+ 0.255616663 x Uvr stavanjem 0 dobivamo R(0) = 1.644927974, 2 = 1.644934067. 6 Zanimljivo je spomenuti sto se dobije ako samo zbrajamo clanove reda i ne ekstrapoliramo. Vidjet cemo da taj red vrlo sporo konvergira. Na primjer, dobivamo S = S3000 = 1.644601, S30000 = 1.644901, S10000 = 1.644834, S100000 = 1.644924. dok je prava vrijednost

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 449

8. Rje savanje nelinearnih jednad zbi


8.1. Op cenito o iterativnim metodama

Ra cunanje nulto caka nelinearnih funkcija jedan je od naj ce s cih zadataka primijenjene matematike. Op cenito, neka je zadana funkcija f : I R, gdje je I neki interval. Tra zimo sve one x I za koje je f (x) = 0. Takve to cke x zovu se rje senja, korijeni pripadne jednad zbe ili nulto cke funkcije f . U pravilu, pretpostavljamo da je f neprekidna na I i da su joj nulto cke izolirane. U protivnom postojao bi problem konvergencije.
y y

Tra zenje nulto cki na zadanu to cnost sastoji se od dvije faze.

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 450

1. Izolacije jedne ili vi se nulto cki, tj. nala zenje intervala I unutar kojeg se nalazi bar jedna nulto cka. Ovo je te zi dio posla i obavlja se na temelju analize toka funkcije. 2. Iterativno nala zenje nulto cke na tra zenu to cnost. Postoji mnogo metoda za nala zenje nulto caka nelinearnih funkcija na zadanu to cnost. One se bitno razlikuju po tome ho ce li uvijek konvergirati, tj. imamo li sigurnu konvergenciju ili ne i po brzini konvergencije. Uobi cajen je slu caj da brze metode nemaju sigurnu konvergenciju, dok je sporije metode imaju. Brzina konvergencije se denira pomo cu reda konvergencije metode. Denicija 8.1.1 Niz iteracija (xn , n N0 ) konvergira prema to cki s redom konvergencije p, p 1 ako vrijedi | xn | c | xn1 |p , nN (8.1.1)

za neki c > 0. Ako je p = 1, ka zemo da niz konvergira linearno prema . U tom slu caju je nu zno da je c < 1 i obi cno se c naziva faktor linearne konvergencije. Relacija (8.1.1) katkad nije zgodna za linearne iterativne algoritme. Ako za slu caj p = 1 i c < 1 u (8.1.1), upotrijebimo indukciju po n, onda dobivamo da je | xn | cn | x0 |, n N. (8.1.2)

Katkad ce biti mnogo lak se pokazati (8.1.2) nego (8.1.1). I u slu caju (8.1.2), re ci cemo da niz iteracija konvergira linearno s faktorom c.

8.2.

Metoda raspolavljanja (bisekcije)

Najjednostavnija metoda nala zenja nulto caka funkcije je metoda raspolavljanja. Ona funkcionira za neprekidne funkcije, ali zbog toga ima i najlo siju ocjenu pogre ske. 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 zna ci da funkcija f ima na intervalu [a, b] barem jednu nulto cku.
y y

a b x

a b x

S druge strane, ako je to ne mora zna citi da f nema unutar [a, b] nulto cku. Na primjer, moglo se dogoditi da smo lo se separirali nulto cke i da f ima unutar [a, b] paran broj (broje ci ih s vi sestrukostima) nulto caka, ili nulto cku parnog reda.
y y

f (a) f (b) > 0,

b x

b x

Dok je za prvi primjer s prethodne slike boljom separacijom nulto cki lako posti ci f (a) f (b) < 0, za drugi je primjer to nemogu ce! Dakle, nulto cke parnog reda nemogu ce je na ci metodom bisekcije. Ako vrijede polazne pretpostavke, metoda raspolavljanja (bez dodatnih uvjeta) konvergirat ce prema nekoj nulto cki iz intervala [a, b]. Algoritam raspolavljanja je vrlo jednostavan. Ozna cimo s pravu nulto cku funkcije, a zatim s a0 := a, b0 := b i x0 polovi ste [a0 , b0 ], tj. 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 nulto cka ostala unutar intervala [an , bn ]. x0 =

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 452

Konstrukcija intervala [an , bn ] sastoji se u raspolavljanju intervala [an1 , bn1 ] to ckom xn1 i to tako da je an = xn1 , bn = bn1 an = an1 , bn = xn1 Postupak zaustavljamo kad je | xn | . Kako cemo znati da je prethodna relacija ispunjena ako ne znamo ? Jednostavno, budu ci da je xn polovi ste intervala [an , bn ], a [an , bn ], onda je | xn | bn xn , pa je dovoljno postaviti zahtjev bn xn . Gra cki, metoda raspolavljanja izgleda ovako
y

ako je f (an1 ) f (xn1 ) > 0, ako je f (an1 ) f (xn1 ) < 0.

x0 x1 b x

Napi simo algoritam za metodu raspolavljanja. 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 pogre ska n-te aproksimacije nulto cke. 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 podsje ca na (8.1.2), ali zdesna se nigdje ne pojavljuje | x0 |. Ipak desna strana daje nam naslutiti da ce konvergencija biti dosta spora. Relacija (8.2.1) omogu cava da unaprijed odredimo koliko je koraka raspolavljanja potrebno da bismo postigli to cnost . Da bismo postigli da je | xn | , dovoljno je zahtijevati 1 (b a) . n 2 +1 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 n 1 , n N0 . log 2 Ako je funkcija f jo s i klase C 1 [a, b], tj. ako f ima i neprekidnu prvu derivaciju, mo ze se dobiti dinami cka ocjena za udaljenost aproksimacije nulto cke od prave nulto cke. Po Teoremu srednje vrijednosti za funkciju f imamo f (xn ) = f () + f ( )(xn ), pri cemu je izmedu xn i . Prvo iskoristimo da je nulto cka, tj. f () = 0, a zatim 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 mo zemo ocijeniti |f ( )| m1 , m1 = min |f (x)|.


x[a,b]

Ako je m1 > 0, uvr stavanjem prethodne ocjene u (8.2.2), izlazi |f (xn )| . m1 Drugim rije cima, ako zelimo da je | xn | , dovoljno je zahtijevati | xn | |f (xn )| , m1

odnosno |f (xn )| m1 .

8.3.

Regula falsi (metoda pogre snog polo zaja)

U prethodnom poglavlju opisali smo metodu raspolavljanja, koja ima sigurnu konvergenciju, ali je vrlo spora. Prirodan je poku saj ubrzavanja te metode je regula falsi . Konstruirat cemo metodu koja ce, ponovno biti konvergentna, cim se nulto cka 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 to ckama (a, f (a)), (b, f (b)). Njegova je jednad zba f (b) f (a) f (a) f (b) (x b), odnosno y f (a) = (x a). y f (b) = ab ba Nulto cku funkcije f mo zemo aproksimirati nulto ckom tog pravca, to ckom x0 . Nakon toga, pomaknemo ili to cku a ili to cku b u x0 , ali tako da nulto cka ostane unutar novodobivenog intervala. Postupak ponavljamo sve dok ne postignemo zeljenu to cnost.
y

x0

x1 b x

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 455

To cka x0 dobiva se jednostavno iz jednad zbe pravca, pa je x0 = b f (b) ili druga cije zapisano 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 nulto cke u odredeni interval sasvim dobra ideja. Izvedimo red konvergencije metode. Iskoristimo relaciju (8.3.1) za x0 , pomno zimo je s 1 i dodajmo na obje strane. Dobivamo 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 cemu je po deniciji f [a, b, ] druga podijeljena razlika (vidi primjer 1.1.4) f [a, b, ] = f [b, ] f [a, b] . a [a, b]. 1 f ( ), 2

Ako je f klase C 1 [a, b], onda po teoremu 1.1.2 srednje vrijednosti imamo f [a, b] = f ( ),

Na sli can na cin, ako je f klase C 2 [a, b], imamo f [a, b, ] =

gdje se nalazi izmedu minimima i maksimuma vrijednosti a, b, . Iskoristimo li te dvije relacije, za funkcije klase C 2 [a, b] dobivamo sljede cu ocjenu f ( ) x0 = ( b) ( a) . 2 f ( ) (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 slu caja: Slu caj f (x) > 0. U tom je slu caju f konveksna rastu ca funkcija, a spojnica to caka (a, f (a)) i (b, f (b)) se uvijek nalazi iznad funkcije f . Uvr stavanjem podataka o prvoj i drugoj derivaciji u (8.3.2), dobivamo da je desna strana (8.3.2) ve ca od 0, tj. > x0 , pa ce se u sljede cem koraku pomaknuti a. Isto ce se dogoditi u svim narednim koracima. Drugim rije cima, neprestano ostaje desno od aproksimacija xn . Promatramo li (8.3.2), to zna ci da je b ksan, pa za proizvoljnu iteraciju xn dobivamo xn = ( b) ( an ) f (n ) . 2 f ( n )

Uzimanjem apsolutnih vrijednosti zdesna i slijeva, slijedi da je u tom slu caju konvergencija regule falsi linearna. Pogled na sli cnu ocjenu za metodu bisekcije, odmah ka ze da ne bi trebalo biti prete sko konstruirati primjere kad je metoda bisekcije br za no regula falsi . Slu caj f (x) < 0. U ovom slu caju je aproksimacija nulto cke uvijek desno od , a uvijek se pomi ce b. Analiza ovog slu caja vrlo je sli cna prethodnoj.

8.4.

Metoda sekante

Ako graf funkcije f aproksimiramo sekantom, sli cno kao kod regule falsi , samo ne zahtijevamo da nulto cka funkcije f ostane zatvorena unutar posljednje dvije iteracije, dobili smo metodu sekante. Time smo izgubili svojstvo sigurne konvergencije, ali se nadamo da ce metoda, kad konvergira konvergirati br ze nego regula falsi . Po cinjemo s dvije po cetne to cke x0 i x1 i povla cimo sekantu kroz (x0 , f (x0 )), (x1 , f (x1 )). Ta sekanta sije ce os x u to cki x2 . Postupak nastavljamo povla cenjem sekante kroz posljednje dvije to cke (x1 , f (x1 )) i (x2 , f (x2 )). Formule za metodu sekante dobivaju se iteriranjem po cetne formule za regulu falsi , tako da dobivamo xn+1 = xn f (xn ) xn xn1 . f (xn ) f (xn1 ) (8.4.1)

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 457

Gra cki to izgleda ovako.


y

x1

x2 x0

x3 x

Primijetite da je tre ce iteracija iza sla izvan po cetnog intervala, pa metoda sekante ne mora konvergirati. Jednako tako, da smo prirodno numerirali prve dvije to cke, tako da je x0 < x1 , imali bismo konvergenciju prema rje senju. Iskoristimo li ocjenu (8.3.2) za svaki n, dobit cemo red konvergencije metode sekante, uz odgovaraju ce pretpostavke. Imamo xn+1 = ( xn ) ( xn1 ) f (n ) . 2 f ( n ) (8.4.2)

Teorem 8.4.1 Neka su f , f i f neprekidne za sve x u nekom intervalu koji sadr zi jednostruku nulto cku . Primijetite da jednostrukost nulto cke osigurava f () = 0. Ako su po cetne aproksimacije x0 i x1 izabrane dovoljno blizu , niz iteracija xn konvergirat ce prema s redom konvergencije p, gdje je 1+ 5 1.618. p= 2 Dokaz. Budu ci da je nulto cka jednostruka, postoji okolina I = [ , + ], > 0 nulto cke , takva da je u njoj f (x) = 0. Tada je dobro deniran broj M= max |f (x)|
xI xI

2 min |f (x)|

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

gre ska n-te iteracije (aproksimacije nulto cke). Mno zenjem prethodne nejednakosti s M dobivamo M |e2 | M |e1 | M |e0 |. Nadalje, pretpostavimo da su x0 i x1 izabrani toliko blizu nulto cke da vrijedi = 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 . Op cenito, ako je 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 po cetnim uvjetima q0 = q1 = 1. Prethodna rekurzija je rekurzija za Fibonaccijeve brojeve, pa se lako izra cunava njeno eksplicitno rje senje. Ono zadovoljava diferencijsku jednad zbu qn+1 qn qn1 = 0, uz zadane po cetne q0 = q1 = 1. Karakteristi cna jednad zba je k 2 k 1 = 0, pa su njena rje senja k1,2 Ozna cimo li 1 5 = . 2 1 5 r1 = , 2

1+ 5 r0 = , 2

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 459

onda je op ce rje senje te diferencijske jednad zbe


n n qn = c0 r0 + c1 r1 .

Konstante c0 i c1 odredujemo iz po cetnih uvjeta. Dobivamo 1 = q0 = c0 + c1 1 = q1 = c0 r0 + c1 r1 . Rje savanjem ovog para jednad zbi, dobivamo 1 c0 = r0 , 5 pa je 1 c1 = r1 , 5 n 0.

1 n+1 n+1 r1 ), qn = (r0 5 r0 1.618,

Budu ci da je
n+1 onda za velike n, r1 0, pa je

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.

Budu ci da < 0 i qn za n , dobivamo da xn .

Ovaj dokaz nije matemati cki korektan jer smo koristili samo gornje ograde. Ipak, on nam daje ideju o redu konvergencije, koji je zaista p = r0 , ali pravi dokaz je mnogo te zi.

Kod metode sekante postoji nekoliko problema. Prvi je da mo ze divergirati ako po cetne aproksimacije nisu dobro odabrane. Drugi problem se mo ze javiti zbog kra cenja u brojniku i (posebno) nazivniku kvocijenta xn xn1 , f (xn ) f (xn1 ) kad xn . Osim toga, budu ci da iteracije ne zatvaraju nulto cku s obje strane nije lako re ci kad treba zaustaviti iterativni proces. Kona cno, primijetimo da je za svaku iteraciju metode sekante potrebno samo jednom izvrednjavati funkciju f i to u to cki xn , jer f (xn1 ) cuvamo od prethodne 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. Sli cno kao i kod sekante, time smo izgubili svojstvo sigurne konvergencije, ali se nadamo da ce metoda brzo konvergirati. Pretpostavimo da je zadana po cetna to cka x0 . Ideja metode je povu ci tangentu u to cki (x0 , f (x0 )) i denirati novu aproksimaciju x0 u to cki gdje ona sije ce os x.
y

x1

x0

Geometrijski izvod je jednostavan. U to cki xn napi se se jednad zba tangente i pogleda se gdje sije ce os x. Jednad zba tangente je 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 mo ze se do ci i na druga ciji na cin. Pretpostavimo li da je funkcija f dva puta neprekidno derivabilna (na nekom podru cju oko ), onda je mo zemo razviti u Taylorov red oko xn do uklju civo prvog clana. Dobivamo f (x) = f (xn ) + f (xn )(x xn ) + f (n ) (x xn )2 , 2

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 461

pri cemu je n izmedu x i xn . Uvr stavanjem x = , dobivamo 0 = f () = f (xn ) + f (xn )( xn ) + Premje stanjem, uz pretpostavku f (xn ) = 0, izlazi
f (xn ) 2 f ( n ) = xn ( xn ) . f (xn ) 2f (xn )

f (n ) ( xn )2 . 2

Primijetite da prva dva clana zdesna daju xn+1 , pa dobivamo xn+1 = ( xn )2 f (n ) . 2f (xn ) (8.5.1)

Iz (8.5.1), odmah citamo da je Newtonova metoda, kad konvergira kvadrati cno konvergentna. Ipak, treba biti oprezan, jer takav zaklju cak vrijedi samo ako f (xn ) ne te zi k nuli tijeku cijelog procesa, tj. ako je f () = 0, dakle ako je nulto cka jednostruka. Sli cno, kao kod metode sekante, mo zemo dokazati sljede ci teorem o konvergenciji Newtonove metode. Teorem 8.5.1 Neka su f , f i f neprekidne za sve x u nekom intervalu koji sadr zi jednostruku nulto cku . Ako je po cetna aproksimacija x0 izabrana dovoljno blizu nulto cke , niz iteracija xn konvergirat ce prema s redom konvergencije p = 2. Cak stovi se, vrijedi f () xn+1 = . lim n ( xn )2 2 f ( ) Dokaz. Izaberimo interval I = [ , + ] oko nulto cke u kojem su funkcije f , f i f neprekidne i neka je max |f (x)| M = xI . 2 min |f (x)|
xI

Za sve x0 I , kori stenjem (8.5.1), dobivamo | x1 | M | x0 |2 , odnosno Izaberimo x0 tako da zadovoljava | x0 | i M | x0 | < 1. Tada je M | x1 | M | x0 |, sto pokazuje da je | x1 | | x0 | . M | x1 | (M | x0 |)2 .

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 . 1 n (M | x0 |)2 . M

Matemati ckom indukcijom lako pokazujemo M | xn | (M | x0 |)2 ,


n

odnosdno | xn |

Budu ci da u (8.5.1) n le zi izmedu xn i , onda mora biti n kad n . Zbog toga je xn+1 f (n ) f () lim = lim = . n ( x )2 n 2f (x ) 2 f ( ) n n Jednostavnim rije cima, prethodni teorem daje dovoljne uvjete za tzv. lokalnu konvergenciju Newtonove metode prema jednostrukoj nulto cki. Lokalnost se odnosi na to da po cetna aproksimacija mora biti dovoljno blizu nulto cke | x0 | . Veli cina odredena je uvjetom M | x0 | < 1 koji osigurava konvergenciju, kao i uvjetima neprekidnosti funkcije i njenih prvih dviju derivacija. Uo cimo da vrijedi | x0 | < 1 , M

Budu ci da je M | x0 | < 1, odmah dobivamo xn kad n .

pa nas privl ci ideja da treba uzeti = 1/M . To, na zalost, nije dovoljan uvjet da vrijedi teorem (M op cenito ovisi o ). Ipak, u nekim situacijama mo zemo iskoristiti sli can uvjet za osiguranje konvergencije Newtonove metode. Pretpostavimo da smo locirali nulto cku funkcije f u segmentu [a, b] i znamo 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 to cki segmenta. Ako je f monotono rastu ca (padaju ca), tada je f (x) > 0 (f (x) < 0) za sve x iz segmenta [a, b], pa je m1 > 0. Obratno, m1 > 0 povla ci monotonost funkcije f . Stoga, ako je m1 > 0, f ima

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 463

jedinstvenu jednostruku nulto cku u [a, b]. U tim uvjetima umjesto lokalnog M , mo zemo koristiti globalnu veli cinu M := M2 , 2m1

pri cemu u deniciju konstanti M2 i m1 ulazi cijeli interval [a, b]. Ako vrijedi ba 1 < , 2 M onda mo zemo uzeti = (b a)/2, a startna to cka je polovi ste intervala x0 := (a + b)/2. Zbog |x0 | < 1/M , imamo sigurnu konvergenciju iteracija prema nulto cki. Ako vrijedi i ja ci uvjet ba< 1 , M

Naravno, to mo zemo iskoristiti samo ako imamo dovoljno informacija o funkciji f tako da mo zemo izra cunati M , odnosno M2 i m1 . Umjesto M2 , mo zemo uzeti i neku gornju ogradu za M2 , a umjesto m1 , neku pozitivnu donju ogradu za m1 . Veli cine M2 i m1 daju i lokalne ocjene gre ske iteracija u Newtonovoj metodi, uz uvjet da su sve iteracije u segmentu [a, b]. Iz ranije relacije (8.5.1) xn = f (n1 ) ( xn1 )2 , 2f (xn1 ) M2 ( xn1 )2 . 2m1

onda bilo koja startna to cka x0 [a, b] daje sigurnu konvergenciju.

gdje je n1 izmedu i xn1 , odmah slijedi | xn |

Sli cnu ocjenu smo ve c imali u prethodnom teoremu, samo s M umjesto M . Ova ocjena nije naro cito korisna za praksu, jer ne znamo. Da bi izveli za praksu pogodniju ocjenu gre ske, iskoristit cemo Taylorov teorem. Za dvije susjedne iteracije u Newtonovoj metodi vrijedi f (xn ) = f (xn1 ) + f (xn1 )(xn xn1 ) + f (n1 ) (xn xn1 )2 , 2

pri cemu je n1 izmedu xn1 i xn . Po deniciji iteracija u Newtonovoj metodi vrijedi i f (xn1 ) + f (xn1 )(xn xn1 ) = 0,

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 464

f (n1) (xn xn1 )2 . 2 Koriste ci pretpostavku xn1 , xn [a, b], dobivamo f (xn ) = |f (xn )| M2 (xn xn1 )2 . 2

pa je

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

sto se mo ze iskoristiti u praksi. Ako je gornja ograda za apsolutnu gre sku (uobi cajeno se to ka ze samo tra zena to cnost), onda test M2 (xn xn1 )2 2m1 ili napisan u formi u kojoj se uobi cajeno koristi |xn xn1 | 2m1 M2

garantira da je | xn | . Jasno, s obzirom da ra cunamo na ra cunalu, zadnja nejednakost ce vrijediti do na gre ske zaokru zivanja. Uo cimo da mo zemo koristiti i raniji test |f (xn )| . m1 U prethodnim ocjenama gre ske koristili smo pretpostavku da je f strogo monotona na [a, b], ili ekvivalentno, da prva derivacija ima isti predznak na cijelom intervalu. Ako jo s i druga derivacija ima ksni predznak na tom intervalu, onda mo zemo 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 nulto cke 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) nulto cki funkcije f .

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 x0 mora vrijediti f (x0 ) > 0. U praksi mo zemo uzeti x0 = b, jer je to jedina to cka za koju sigurno znamo da vrijedi f (x0 ) > 0. Neka je (xn , n N0 ) niz iteracija generiran Newtonovom metodom iz startne to cke x0 za koju je f (x0 ) > 0. Dakle imamo xn+1 = xn f (xn ) . f (xn )

i znamo da je x0 > . Tvrdimo da je < xn x0 za svaki n N0 . Dokaz koristi matemati cku indukciju, pri cemu bazu ve c imamo. Pretpostavimo da je < xn x0 . Onda je f (xn ) > 0 i f (xn ) > 0, pa je xn+1 < xn x0 , sto pokazuje da niz (xn ) monotono pada. Da bi dokazali i drugu nejednakost za xn+1 , iskoristimo Taylorovu formulu 0 = f () = f (xn ) + f (xn )( xn ) + f (n ) ( xn )2 , 2

pri cemu je n (, xn ) [a, b]. Zbog f (n ) > 0 imamo f (xn ) + f (xn )( xn ) < 0, odakle slijedi xn+1 = xn f (xn ) > . f (xn )

Time je dokazan korak indukcije, pa je tvrdnja dokazana. Uo cimo da smo usput dokazali i monotonost niza (xn ). Kako je taj padaju ci niz omeden s odozdo, postoji limes := lim xn , za koji vrijedi x0 , tj. [a, b]. Prijelazom na limes u formuli za Newtonove iteracije dobivamo = f ( ) , f ( )
n

odakle, koriste ci f ( ) = 0, slijedi f ( ) = 0. Kako je jedina nulto cka od f u intervalu [a, b], mora vrijediti = . Preostala tri slu caja za predznake prve i druge derivacije se dokazuju potpuno analogno.

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 466

Uvjet f (x0 ) f (x0 ) > 0 na izbor startne to cke u prethodnom teoremu ima vrlo jednostavnu geometrijsku interpretaciju. Ako pogledamo graf funkcije f na [a, b], startnu to cku x0 treba odabrati na strmijoj strani funkcije. Primijetite da ra cunanje kori stenjem Newtonove metode mo ze trajati dulje nego ra cunanje upotrebom metode sekante (uz upotrebu istog kriterija zaustavljanja), iako Newtonova metoda ima ve ci red konvergencije nego metoda sekante. Obja snjenje le zi u cinjenici da se za svaki korak Newtonove metode mora izra cunati i vrijednost funkcije i vrijednost derivacije u to cki. Ako se derivacija komplicirano ra cuna, metoda sekante koja zahtijeva samo jedno izvrednjavanje funkcije, ce biti br za. Prethodni teoremi daju samo dovoljne uvjete konvergencije pojedinih iterativnih metoda. U prakti cnom ra cunanju cesto imamo samo interval [a, b] u kojem smo locirali nulto cku funkcije f , a nemamo dodatne informacije o funkciji f iz kojih bismo mogli izvu ci zaklju cak o konvergenciji br zih iterativnih metoda. Zbog toga se ove metode katkad kombiniraju s metodom bisekcije na sljede ci na cin. Prvo izra cunamo novu iteraciju po br zoj metodi i ako ona ostaje u trenutnom intervalu, onda ju prihva camo i s njom nastavljamo iteracije i skra cujemo interval. U protivnom, radimo korak bisekcije za smanjivanje intervala.

8.6.

Metoda jednostavne iteracije


x = g (x). (8.6.1)

Pretpostavimo da tra zimo , rje senje jednad zbe

Deniramo jednostavnu iteracionu funkciju (iteracionu funkciju koja pamti samo jednu prethodnu to cku) s xn+1 = g (xn ), n 0,

uz x0 kao po cetnu aproksimaciju za . Primijetite da Newtonova metoda pripada klasi jednostavnih iteracija, jer je g (x) = x f (x) . f (x)

Rje senja, tj. to cke za koje je x = g (x), zovu se ksne to cke od g . Uobi cajeno, mi smo zainteresirani f (x) = 0, pa taj problem treba reformulirati na problem (8.6.1). Postoji mnogo na cina za tu reformulaciju. Primjer 8.6.1 Reformulirajmo problem x2 a = 0, a>0

u oblik (8.6.1). Na primjer, to mo zemo napraviti na jedan od sljede cih na cina:

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 467

1. x = x2 + x a, ili op cenitije x = x + c(x2 a) za neki c = 0, 2. x = a/x, 3. x = 0.5 (x + a/x). Prirodno je pitanje kako se razli cite jednostavne iteracije pona saju. Odgovor cemo dobiti nizom sljede cih tvrdnji. 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 rje senje na [a, b]. Dokaz. Za neprekidnu funkciju g (x) x na intervalu [a, b] vrijedi g (a) a 0, g (b) b 0.

Drugim rije cima, funkcija g (x) x je promijenila predznak na intervalu [a, b], a to mo ze samo prolaskom kroz nulto cku (neprekidna je!). 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 rje senje unutar [a, b]. Takoder, niz iteracija xn = g (xn1 ), konvergira prema za proizvoljni x0 [a, b]. Dokaz. Prema prethodnoj lemi, postoji bar jedno rje senje [a, b]. Poka zimo da ne postoji vi se od jednog rje senja. Da bismo to pokazali, pretpostavimo suprotno, tj. postoje barem dva rje senja. Uzmimo bilo koja dva od tih rje senja i nazovimo ih i iz [a, b]. Budu ci da su to rje senja, vrijedi g () = i g ( ) = . Po pretpostavci, uva zavaju ci prethodne jednakosti, dobivamo | | = | g ( ) g ( )| | | , n1

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 468

ili drugim rije cima Budu ci da je 1 > 0, mora biti = . (1 ) | | 0.

Doka zimo jo s konvergenciju jednostavnih iteracija za proizvoljnu startnu to cku x0 [a, b]. Prvo, uo cimo da xn1 [a, b] povla ci da je xn = g (xn1 ) [a, b]. Nadalje, 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 . g (x) g (y ) = g ( )(x y ), za sve x, y [a, b]. Deniramo = max |g (x)|,
x[a,b]

Ako je g derivabilna na [a, b], onda je po Teoremu srednje vrijednosti izmedu x i y

(8.6.2)

onda mo zemo pisati |g (x) g (y )| = |x y |, Primijetite mo ze biti ve ci od 1! 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 to cno jedno rje senje na [a, b], lim xn = , (8.6.3) x [a, b].

2. za proizvoljni x0 [a, b], za jednostavnu iteraciju xn+1 = g (xn ), n 0 vrijedi


n

| xn | n | x0 | i
n

lim

xn+1 = g ( ). xn

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 ), xn+1 = lim g (n ) = g (). n xn n 0,

gdje je n neki broj izmedu i xn . Budu ci da xn , onda i n , pa vrijedi


n

lim

Poka zimo koliko je pretpostavka (8.6.3) zna cajna, tj. pretpostavimo da je |g ()| > 1. Tada, ako imamo niz xn+1 = g (xn ) i rje senje = g (), vrijedi

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 mogu ca. Prethodni teorem se mo ze malo i pojednostavniti, tako da se ne navodi eksplicitno interval [a, b]. Teorem 8.6.2 Neka je rje senje jednostavne iteracije x = g (x) i neka je g neprekidno 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| povla ci | g (x)| = |g () g (x)| = |g ( )|| x| | x| . Sada mo zemo primijeniti prethodni teorem za [a, b] = I . Primjer 8.6.2 U primjeru 8.6.1, denirali smo tri iteracijske funkcije. 1. Ako je g (x) = x2 + x a, onda je g (x) = 2x + 1 i u nulto cki = g ( a) = 2 a + 1 > 1, a je

pa ta iteracijska funkcija ne ce konvergirati. U op cenitijem je slu caju g (x) = 2 x + c(x 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 zavr sit cemo promatranjem jednostavnih iteracionih funkcija, ali vi seg reda konvergencije, kao sto je, na primjer Newtonova metoda. Teorem 8.6.3 Neka je rje senje od x = g (x) i neka je g p puta neprekidno diferencijabilna 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 ce red konvergencije p i
(p) xn+1 p 1 g ( ) = ( 1) . n ( xn )p p!

(8.6.4)

n0

lim

Dokaz. Razvijmo g (x) u okolini do uklju civo (p 1)-ve potencije i napi simo 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!

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

Kori stenjem prethodnog teorema mo zemo analizirati i Newtonovu metodu za 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 sli can na cin, dobivamo g () = f () , f ( ) f (x)f (x) (f (x))2 f (x)f (x) = , (f (x))2 (f (x))2

Sada mo zemo primijeniti prethodni Teorem, koji pokazuje da ce iteracijska funkcija konvergirati. Nadalje, to zna ci da xn , pa i n , sto daje tra zenu relaciju.

pa ako je f () = 0, mo zemo pokazati da je red konvergencije Newtonove metode jednak 2. Ako je f () = 0, f () = 0, onda ce red konvergencije biti barem 3.

8.7.

Newtonova metoda za vi sestruke nulto cke

Promotrimo sto ce se dogoditi s konvergencijom Newtonove metode, ako funkcija f ima neprekidnih prvih p + 1 derivacija i p-struku, p 2 nulto cku u . Tada vrijedi f () = f () = = f (p1) () = 0, f (p) () = 0. Samu funkciju f mo zemo napisati i u obliku f (x) = (x )p h(x), h() = 0. (8.7.1)

Ograni cimo se samo na cjelobrojne p i promatrajmo Newtonovu metodu kao jednostavnu 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 d h(x) h(x) (x ) , ph(x) + (x )h (x) dx ph(x) + (x )h (x) 1 = 0 za p > 1, p

sto pokazuje linearnu konvergenciju. Prema teoremu 8.6.1, faktor konvergencije bit ce g () = 1 1/p, sto je vrlo sporo. U prosjeku to je podjednako brzo kao bisekcija za p = 2 ili cak lo sije od bisekcije za p 3. Kako mo zemo popraviti (ubrzati) Newtonovu metodu za p-struke nulto cke, p 2. Prvo pretpostavimo da znamo p. Deniramo iteracionu funkciju g (x) = x p Tada je f (x) . f (x)

(f (x))2 f (x)f (x) f (x)f (x) g (x) = 1 p =1p+p . (f (x))2 (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
x

Odatle odmah slijedi lim g (x) = 0, sto pokazuje da ova modikacija osigurava barem kvadrati cno konvergentnu metodu. Sto cemo napraviti ako unaprijed ne znamo p? Primijetimo da funkcija u(x) = f (x) (x )p h(x) (x )h(x) = = p 1 f (x) (x ) [ph(x) + (x )h (x)] ph(x) + (x )h (x)

ima jednostruku nulto cku u . Drugim rije cima, obi cna Newtonova metoda, ali primijenjena na u(x) konvergirat ce kvadrati cno, xn+1 = xn u(xn ) , u (xn )

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 473

f (x) (f (x))2 f (x)f (x) = 1 u(x), (f (x))2 f (x) sto pokazuje da cemo dobiti kvadrati cnu konvergenciju, iako ne znamo red nulto cke, ali uz ra cunanje jo s jedne derivacije funkcije (f ). u (x) = Sli cno vrijedi i za metodu sekante, koju cemo ubrzati, kao da radimo s jednostrukim nulto ckama, ako primijenimo metodu sekante za funkciju u xn+1 = xn u(xn ) xn xn1 . u(xn ) u(xn1 )

gdje je

I u ovom slu caju postoji cijena, a to je ra cunanje f .

8.8.

Hibridna BrentDekkerova metoda

BrentDekkerova metoda smi sljena je kao metoda koja ce imati sigurnu konvergenciju, a nadamo se da ce konvergirati br ze nego metoda sekante, u najboljem slu caju kvadrati cno. Ona ne zahtijeva ra cunanje derivacija, pa ako joj je red konvergencije u prosjeku bolji od sekante, mo zemo o cekivati da ce metoda po brzini biti sli cna Newtonovoj, ali ce imati sigurnu konvergenciju. Metoda se sasoji od tri dijela, koje grubo mo zemo opisati kao inverznu kvadratnu interpolaciju, metodu sekante i metodu bisekcije. Algoritam po cinje metodom sekante koja generira tre cu to cku. Ako se prema nekim kriterijima ta to cka prihva ca kao dobra, mo zemo nastaviti raditi s kvadratnom interpolacijom kroz posljednje tri to cke, ali inverznom (uloga x i y zamijenjena) i time dobivamo cetvrtu to cku. Ako je tre ca to cka odba cena kao lo sa, radi se jedan korak metode bisekcije. Drugim rije cima, metoda se vrti izmedu svoja tri sastavna dijela, a mi se nadamo da ce rijetko koristiti bisekciju. To cni parametri kad se neka aproksimacija nulto cke prihva ca kao dobra, odnosno odbacuje kao lo sa su dosta slo zeni. Metoda je sastavni dio velikih numeri ckih biblioteka programa, kao sto je IMSL.

8.9.

Primjeri

Prije konkretnih primjera, zanimljivo je napomenuti da se u praksi mo ze sasvim dobro numeri cki procijeniti red konvergencije iterativne metode i taj podatak iskoristiti kao dodatna informacija o konvergenciji metode. Kako se to radi? Prisjetimo se denicijske relacije (8.1.1) za red konvergencije p niza iteracija (xn , n N0 ) koji konvergira prema nulto cki . Za ve cinu brzih

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 474

Prethodnu relaciju ne mo zemo direktno iskoristiti za ra cunanje p i c, jer ne znamo . Osim toga, i konstanta c obivcno ovisi o nekim vrijednostima derivacija funkcije f u to cki , pa ni c ne znamo. Medutim, u okolini nulto cke sigurno vrijedi | xn | c| xn1 |p , (8.9.1)

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 nulto cke. Ovako dobiveni p i c su teorijske vrijednosti ovih parametara, koje vrijede asimptotski na limesu n .

za dovoljno velike n, s tim da opet ne znamo . No, ako smo dovoljno blizu nulto cke, onda mo zemo uzeti da je xn+1 , pa vrijedi i |xn+1 xn | c|xn+1 xn1 |p , za dovoljno velike n, samo mo zda s ne sto ve com gre skom. Uzmimo sad da su c i p nepoznati. Da bismo ih izra cunali, trebamo dvije jednad zbe za te dvije nepoznanice. Prvu je lako dobiti, tako da umjesto stavimo = u prethodnoj relaciji. Naravno, tada vi se ne smijemo o cekivati da cemo dobiti prave vrijednosti za c i p, ve c neke pribli zne vrijednosti cn+1 i pn+1 . Dakle, pretpostavljamo da za njih vrijedi |xn+1 xn | = cn+1 |xn+1 xn1 |pn+1 . Nedostaje jo s jedna jednad zba. Iskoristimo li (8.9.1) za xn1 , dobivamo |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 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 izra cunamo p i c . Nadalje, relacija | xk | = c| xk1 |p , k1 |xn+1 xn | = c |xn+1 xn1 |p

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 475

uz stavljanje = xn+1 za dovoljno veliki n mo ze se iskoristiti i za tra zenje parametara c i p metodom najmanjih kvadrata. Deniramo li fk = |xn+1 xk |, zk = |xn+1 xk1 |, tra zimo aproksimaciju oblika (z ) = cz p koja najbolje aproksimira skup podataka (zk , fk ), k = 1, . . . , n. Primjer 8.9.1 Usporedimo brzinu metoda za izra cunavanje 3 1.5. Taj problem mo zemo interpretirati i kao tra zenje realne pozitivne nulto cke funkcije f (x) = x3 1.5. Zatra zimo li pogre sku manju od 108 , metodi bisekcije bit ce potrebno 27 raspolavljanja, a pribli zna nulto cka bit ce x27 = 1.144714239984751.

Za gre sku manju od 1015 Newtonova metoda trebat ce samo 7 iteracija i x7 = 1.144714242553332. cku funkcije Primjer 8.9.2 Nadite nulto f (x) = x3 5.56x2 + 9.1389x 4.68999 kori stenjem Newtonove metode, tako da gre ska bude manja od 1015 . Pou ceni prethodnim primjerom o cekujemo desetak iteracija. Umjesto toga, bilo nam je potrebno 30 iteracija za tra zenu to cnost, x30 = 1.230000000463810, sto je signaliziralo da smo ili lo se derivirali, ili funkcija ima vi sestruku nulto cku. Nije te sko pokazati da je 1.23 dvostruka nulto cka zadane funkcije, pa Newtonova metoda konvergira samo linearno. Modiciramo li Newtonovu metodu tako da korekciju pomno zimo s vi sestruko s cu nulto cke, za istu to cnost bilo nam je potrebno samo 7 iteracija, x7 = 1.229999999995655, a konvergencija je bila kvadrati cna. Zadatak 8.9.1 Za funkcije iz prethodna dva primjera napi site programe za nala zestenih nje nulto caka raznim metodama i numeri cki nadite brzinu konvergancije kori metoda. Primjer 8.9.3 Nulto cka funkcije f (x) = arctg(x) je x = 0, ali Newtonova metoda ne ce konvergirati iz svake startne to cke x0 . Na ci cemo to cku za koju vrijedi
|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 cemo na ci to cku cikliranja? Funkcija f (x) = arctg x je neparna, pa da bismo dobili cikliranje, dovoljno je da tangenta na funkciju u to cki presije ce os x u to cki . Jednad zba tangente na arctg u to cki je y arctg = pa ce tangenta sije ci os x u , ako je arctg = 2 , 1 + 2 1 (x ), 1 + 2

cime smo dobili nelinearnu jednad zbu po . O cito, postoje dva rje senja, suprotnih predznaka, i nije ih te sko izra cunati metodom bisekcije = 1.39174520027073489. Nacrtajmo grafove Newtonove metode za sve tri mogu cnosti za x0 , recimo za x0 = 1, x0 = i x0 = 1.5.
y

0.57

1.0

8. RJESAVANJE NELINEARNIH JEDNADZBI

NELINEARNE JEDNADZBE 477

1.69

1.5

2.32

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 478

9. Numeri cka integracija


9.1. Op cenito o integracijskim formulama

Zadana je funkcija f : I R, gdje je I obi cno interval (mo ze i beskona can). Zelimo izra cunati integral funkcije f na intervalu [a, b],
b

I (f ) =
a

f (x) dx.

(9.1.1)

Svi znamo da je deriviranje (barem analiti cki) jednostavan postupak, dok integriranje to nije, pa se integrali analiti cki u lijepoj formi mogu izra cunati samo za malen skup funkcija f . Zbog toga, u ve cini slu cajeva ne mo zemo iskoristiti osnovni teorem integralnog ra cuna, tj. NewtonLeibnitzovu formulu za ra cunanje I (f ) preko vrijednosti primitivne funkcije F od f u rubovima intervala
b

I (f ) =
a

f (x) dx = F (b) F (a).

Drugim rije cima, jedino sto nam preostaje je pribli zno, numeri cko ra cunanje I (f ). Osnovna ideja numeri cke integracije je izra cunavanje I (f ) kori stenjem vrijednosti funkcije f na nekom kona cnom skupu to caka. Recimo odmah da postoje i integracijske formule koje koriste i derivacije funkcije f , ali o tome kako se one dobivaju i cemu slu ze, bit ce vi se rije ci ne sto kasnije. Op ca integracijska formula ima oblik I (f ) = Im (f ) + Em (f ), pri cemu je m + 1 broj kori stenih to caka, Im (f ) pripadna aproksimacija integrala, a Em (f ) pritom napravljena gre ska. Ovakve formule za pribli znu integraciju funkcija jedne varijable (tj. na jednodimenzionalnoj domeni) cesto se zovu i kvadraturne formule, zbog interpretacije integrala kao povr sine ispod krivulje.

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 cvorovi

pri cemu je m neki unaprijed zadani prirodni broj. Koecijenti xk (m) integracije, a wk te zinski koecijenti.

U op cem slu caju, za ksni m, moramo nekako odrediti 2m + 2 nepoznatih koecijenata. Uobi cajen na cin njihovog odredivanja je zahtjev da su integracijska formule egzaktne na vektorskom prostoru polinoma sto vi seg stupnja. Za sto ba s tako? Ako postoji Taylorov red za funkciju f i ako on konvergira, onda bi to zna cilo da integracijska formula egzaktno integrira po cetni komad Taylorovog reda, tj. Taylorov polinom. Drugim rije cima, gre ska bi bila mala, tj. jednaka integralu gre ske koji nastaje kad iz Taylorovog reda napravimo Taylorov polinom. 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 najvi seg stupnja baze. Ako su cvorovi ksirani, recimo ekvidistantni, onda dobivano tzv. Newton Cotesove formule, za koje moramo odrediti m + 1 nepoznati koecijent (te zine). Uvjeti egzaktnosti na vektorskom prostoru polinoma tada vode na sustav linearnih jednad zbi. Kasnije cemo pokazati da se te formule mogu dobiti i kao integrali interpolacijskih polinoma stupnja m za funkciju f na zadanoj (ekvidistantnoj) mre zi cvorova. S druge strane, mo zemo ksirati samo neke cvorove, ili dozvoliti da su svi cvorovi slobodni. Ove posljednje formule zovu se formule Gaussovog tipa. U slu caju Gaussovih formula (ali mo ze se i kod te zinskih NewtonCotesovih formula) uobi cajeno je (9.1.1) zapisati u obliku
b

I (f ) =
a

w (x)f (x) dx,

(9.1.4)

pri cemu je funkcija w 0 tzv. te zinska funkcija. Ona ima istu ulogu gusto ce 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 uklju ceni u w . Gaussove se formule nikad ne ra cunaju direktno iz uvjeta egzaktnosti, jer to vodi na nelinearni sustav jednad zbi. Pokazat cemo da postoji veza Gaussovih formula, funkcije w i ortogonalnih polinoma obzirom na funkciju w na intervalu [a, b], koja omogu cava ekasno ra cunanje svih parametara za Gaussove formule. Na kraju ovog uvoda spomenimo jo s da postoje primjene u kojima je korisno tra ziti egzaktnost integracijskih formula na druga cijim sustavima funkcija, koji nisu prostori polinoma do odredenog stupnja.

9.2.

NewtonCotesove formule

NewtonCotesove formule zatvorenog tipa imaju ekvidistantne cvorove, s tim da je prvi cvor u to cki x0 := a, a posljednji u xm := b. Preciznije, za zatvorenu (to se cesto ispu sta) NewtonCotesovu formulu s (m + 1)-nom to ckom cvorovi su xk
(m)

= x0 + khm ,

k = 0, . . . , m,

hm =

ba . m

Drugim rije cima, osnovni je oblik NewtonCotesovih formula


b m

f (x) dx Im (f ) =

wk f (x0 + khm ).
k =0

(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 cemu je ba = b a, 1 pa je x0 = a i x1 = b. Da bismo olak sali pisanje, kad znamo da je m = 1, mo zemo (1) (1) izostaviti gornje indekse u wk , tj., radi jednostavnosti, pi semo wk := wk . Dakle, moramo prona ci te zine w0 i w1 , tako da integracijska formula egzaktno integrira polinome sto vi seg stupnja na intervalu [a, b], tj. da za polinome f sto vi seg stupnja 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 cemo izra cunati njegov integral. Zbog toga je zgodno odmah izra cunati integrale oblika
b

xk dx,
a

k 0,

a zatim rezultat koristiti za razne k . Vrijedi


b

xk+1 x dx = k+1
k

=
a

bk+1 ak+1 . k+1

(9.2.2)

Za f (x) = 1 = x0 dobivamo
b

ba=

x0 dx = w0 1 + w1 1.

Odmah je o cito da iz jedne jednad zbe ne mo zemo odrediti dva nepoznata parametra, 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.

Sada imamo dvije jednad zbe s dvije nepoznanice w0 + w1 = b a b2 a2 aw0 + bw1 = . 2 Pomno zimo li prvu jednad zbu s a i dodamo drugoj, dobivamo (b a)w1 = b2 a2 b2 2ab + a2 (b a)2 a(b a) = = . 2 2 2 1 h (b a) = . 2 2 h 1 (b a) = , 2 2

Budu ci da je a = b, dijeljenjem s b a, dobivamo w1 =

Drugu te zinu w0 lako izra cunamo iz prve jednad zbe linearnog sustava w0 = b a w1 =

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

h (f (a) + f (b)). 2

Ta formula zove se trapezna formula. Odakle joj ime? Napi semo li je na malo druga ciji na cin, kao b f (a) + f (b) f (x) dx (b a), 2 a odmah cemo vidjeti da je (f (a) + f (b))/2 srednjica, a b a visina trapeza sa slike.
y f (b)

f (a)

Drugim rije cima, povr sinu ispod krivulje zamijenili smo (tj. aproksimirali) povr sinom trapeza. Koliko je ta zamjena dobra? Ovisi o funkciji f . Sve dok pravac razumno aproksimira oblik funkciju f , gre ska je mala. Na primjer, za funkciju
y f (a)

f (b)

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 483

pravac nije dobra aproksimacija za oblik funkcije f . Da smo nacrtali funkciju f simetri cnije oko sjeci sta, moglo bi se dogoditi da je gre ska vrlo mala, jer bi se ono sto je previ se ura cunato u povr sinu s jedne strane skratilo s onim sto je premalo ura cunato s druge strane. S numeri ckog stanovi sta, takav pristup je opasan. Trapezna integracijska formula ne ce egzaktno integrirati sve polinome stupnja 2. To nije te sko pokazati, jer ve c za f (x) = x2 vrijedi b3 a3 = 3
b

x2 dx = I1 (x2 ) =
a

a2 + b2 (b a). 2

Slika nas upu cuje na jo s jednu cinjenicu. Povu cemo li kroz (a, f (a)), (b, f (b)) linearni interpolacijski polinom, a zatim ga egzaktno integriramo od a do b, dobivamo trapeznu formulu. Poka zimo da je to tako. Interpolacijski polinom stupnja 1 koji prolazi kroz zadane to cke je p1 (x) = f (a) + f [a, b] (x a). Njegov integral na [a, b] je
b

p1 (x) dx = f (a)x a f [a, b]x + f [a, b]


2

x2 2

b a

= (b a)f (a) +

(b a) f (a) + f (b) f [a, b] = (b a) . 2 2

Ovaj nam pristup omogu cava i ocjenu gre ske integracijska formule, preko ocjene gre ske interpolacijskog polinoma, uz uvjet da mo zemo ocijeniti gre sku interpolacijskog polinoma (tj. ako f ima dovoljan broj neprekidnih derivacija). Neka je funkcija f C 2 [a, b]. Gre ska interpolacijskog polinoma stupnja 1 koji funkciju f interpolira u to ckama (a, f (a)), (b, f (b)) na intervalu [a, b] jednaka je e1 (x) = f (x) p1 (x) = Drugim rije cima, vrijedi
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 izra cunati E1 (f ). Iskoristit cemo generalizaciju teorema srednje 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] b b

onda vrijedi
b

m
a

w (x) dx

w (x)g (x) dx M

w (x) dx.
a

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

w (x)g (x) dx M

w (x) dx.
a

(9.2.3)

Digresija za nematemati care. inf ( citati inmum) je minimum funkcije koji se ne mora dosti ci. Na primjer, funkcija g (x) = x na (0, 1) nema minimum, ali je
x(0,1)

(9.2.4)

inf x = 0.

Sli cno vrijedi i za sup ( citati supremum). Supremum je maksimum funkcije koji se ne mora dosti ci. Na primjer, funkcija iz relacije (9.2.4) nema ni maksimum, ali je sup x = 1.
x(0,1)

Kori stenjem relacije (9.2.3), lako dokazujemo integralni teorem srednje vrijednosti s te zinama. 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 mo zemo uzeti proizvoljan realan broj. Ako je


b

w (x) dx > 0,
a

onda dijeljenjem formule (9.2.3) s prethodnim integralom dobivamo


b

m pa za mo zemo uzeti

w (x)g (x) dx
b a

w (x) dx

M,

w (x)g (x) dx
b a

. w (x) dx

Posljednji zaklju cak teorema slijedi iz cinjenice da neprekidna funkcija na segmentu posti ze sve vrijednosti izmedu minimuma i maksimuma, pa mora posti ci i . Drugim rije cima, postoji takav da je = g ( ). Prisjetite se, ve c smo pokazali da je
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 mo zemo uzeti w (x) = (x a) (x b) , 2 g (x) = f ( ).

Po generaliziranom teoremu srednje vrijednosti, ako je f C 2 [a, b], ( sto zna ci da je f C 0 [a, b]), vrijedi da je
b

E1 (f ) = f ( )

(x a) (x b) dx. 2

Ovaj se integral jednostavno ra cuna. Integriranjem dobivamo


b

(b a)3 h3 (x a) (x b) dx = = , 2 12 12 h3 . 12

pa je E1 (f ) = f ( )

9.2.2.

Simpsonova formula

Izvedimo sljede cu (zatvorenu) NewtonCotesovu formulu za m = 2, poznatu 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 ), pri cemu je ba . 2 Ponovno, da bismo olak sali pisanje, kad znamo da je m = 2, mo zemo, radi jednos(2) tavnosti, izostaviti gornje indekse u wk := wk . Oprez, to nisu isti wk i h kao u trapeznoj formuli! Kad uvrstimo zna cenje h u aproksimacijsku formulu, dobivamo h := h2 = I2 (f ) = w0 f (a) + w1 f a+b + w2 f (b). 2
(2) (2) (2)

Stavimo uvjete na egzaktnost formule na vektorskom prostoru polinoma sto vi seg stupnja. Moramo postaviti najmanje tri jednad zbe, jer imamo tri nepoznata koecijenta. Za f (x) = 1 dobivamo
b

ba=

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+b + w2 b. 2

Kona cno, za f (x) = x2 dobivamo b3 a3 = 3


b

x2 dx = w0 a2 + w1

(a + b)2 + w2 b2 . 4

Sada imamo linearni sustav s tri jednad zbe i tri nepoznanice w0 + w1 + w2 = b a b2 a2 a+b w1 + bw2 = aw0 + 2 2 3 2 b a3 ( a + b ) w1 + b2 w2 = . a2 w0 + 4 3 Rje savanjem ovog sustava, dobivamo w0 = w2 = h ba = , 3 6 w1 = 4h 4(b a) = . 3 6

Drugim rije cima, integracijska formula I2 (f ) dobivena je iz egzaktnosti na svim polinomima stupnja manjeg ili jednakog 2, i glasi
b

f (x) dx

a+b h f (a) + 4f + f (b) . 3 2

Simpsonova formula ima jo s jednu prednost. Iako je dobivena iz uvjeta egzaktnosti 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 te sko pokazati da je i ova formula interpolacijska. Ako povu cemo b a+b kvadratni interpolacijski polinom kroz (a, f (a)), ( a+ , f ( )) i ( b, f ( b )), a zatim ga 2 2 egzaktno integriramo od a do b, dobivamo Simpsonovu formulu. Ako pogledamo kako ona funkcionira na funkcijama koje smo ve c integrirali trapeznom formulom, vidjet cemo da joj je gre ska bitno manja. Posebno, na prvom 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)

Gre sku Simpsonove formule ra cunamo sli cno kao kod trapezne, integracijom gre ske kvadratnog interpolacijskog polinoma e2 (x) = f (x) p2 (x) = f ( ) a+b (x a) x (x b). 6 2

Dakle, za gre sku Simpsonove formule vrijedi


b

E2 (f ) =
a

e2 (x) dx.

a+b (x b) 2 nije vi se ksnog znaka na [a, b], pa ne mo zemo direktno primijeniti generalizirani teorem srednje vrijednosti. Pretpostavimo da je f C 4 [a, b]. Ozna cimo (x a) x c := i deniramo w (x) =
a x

Na zalost, funkcija

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 simetri cna oko srednje to cke
f (t)

w (x) > 0,

x (a, b).

(9.2.5)

pa ce integral rasti od 0 do svog maksimuma (plava povr sina), a zatim padati (kad dode u crveno podru cje) do 0. Ostaje samo jo s napisati gre sku interpolacijskog polinoma kao podijeljenju razliku. To smo pokazali op cenito u poglavlju o Newtonovom interpolacijskom polinomu, a posebno za n = 3 vrijedi f [a, b, c, x] = f ( ) . 6

Uz oznaku (9.2.5), gre sku Simpsonove formule, onda mo zemo napisati kao
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]

w (x)
a

d f [a, b, c, x] dx. dx

Prvi clan je o cito jednak 0, jer je w (a) = w (b) = 0. Ostaje jo s srediti drugi clan. Kod splajnova smo obja snjavali da je podijeljena razlika s dvostrukim cvorom jednaka derivaciji funkcije. Na sli can je na cin derivacija tre ce podijeljene razlike

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 490

f [a, b, c, x] po x, cetvrta podijeljena razlika s dvostrukim cvorom x. Prema tome, dobivamo formulu gre ske u obliku
b

E2 (f ) =

w (x)f [a, b, c, x, x] dx.


a

Sad je funkcija w nenegativna i mo zemo primijeniti generalizirani teorem srednje vrijednosti. Izlazi
b

E2 (f ) = f [a, b, c, , ]

w (x) dx,
a

gdje je a b. Napi semo li f [a, b, c, , ] kao derivaciju, dobivamo f (4) ( ) E2 (f ) = 4!


b

w (x) dx.
a

Ostaje jo s samo integrirati funkciju w . Vrijedi


x

w (x) = = = Nadalje je
b b

a x c h

(t a) (t c) (t b) dt = zamjena varijable y = t c (y h)y (y + h) dy =


2 x c h x c h

(y 3 h2 y ) dy

y y h2 4 2

(x c)4 (x c)2 h4 h2 + . 4 2 4

w (x) dx =
a a h

(x c)4 (x c)2 h4 dx = zamjena varijable y = x c h2 + 4 2 4 y4 y 2 h4 y5 y 3 h4 y h2 + dy = h2 + 4 2 4 20 6 4 h5 h5 h5 + 20 6 4 = 4 5 h. 15


h h

=
h

=2

Kad to uklju cimo u formulu za gre sku, dobivamo f (4) ( ) 4 5 h5 (4) E2 (f ) = h = f ( ). 24 15 90 Primijetite, gre ska je za red veli cine bolja no sto bi po upotrijebljenom interpolacijskom polinomu trebala biti.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 491

9.2.3.

Produljene formule

Nije te sko pokazati da su sve NewtonCotesove formule integrali interpolacijskih polinoma na ekvidistantnoj mre zi. Ako ne valja dizanje stupnjeva interpolacijskih polinoma na ekvidistantnoj mre zi, onda ne ce biti dobri niti njihovi integrali. Poka zimo to na primjeru Runge. Prava vrijednost integrala je
5

dx = 2 arctg 5 2.74680153389003172. 1 + x2

Sljede ca tablica pokazuje aproksimacije integrala izra cunate NewtonCotesovim formulama raznih redova i pripadne gre ske. Red formule m Aproksimacija integrala Gre ska 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 O cito je da aproksimacije ne konvergiraju prema pravoj vrijednosti integrala. Potpunije opravdanje ovog pona sanja dajemo ne sto kasnije. I sto sad? Ne smijemo dizati red formula, jer to postaje opasno. Rje senje je vrlo sli cno onome sto smo primijenili kod interpolacije. Umjesto da di zemo red

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 492

formule, podijelimo interval [a, b] na vi se dijelova, recimo, jednake duljine, i na svakom od njih primijenimo odgovaraju cu integracijsku formulu niskog reda. Tako dobivene formule zovu se produljene formule. Na primjer, za funkciju koju smo ve c razmatrali, produljena trapezna formula s 2 podintervala izgledala bi ovako.
y

x0

x1

x2

Op cenito, produljenu trapeznu formulu dobivamo tako da cijeli interval [a, b] 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 obi cnu trapeznu formulu. Znamo da je tada
b n xk

f (x) dx =
a k =1xk1

f (x) dx,

pa na isti na cin zbrojimo i obi cne trapezne aproksimacije u produljenu trapeznu aproksimaciju. Najjednostavniji je slu caj kad su to cke xk ekvidistantne, tj. kad je svaki podinterval [xk1 , xk ] iste duljine h. To zna ci 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 cemu je En (f ) gre ska produljene formule. Nju mo zemo zapisati kao zbroj gre saka osnovnih trapeznih formula na podintervalima n T En (f ) = k =1

f (k )

h3 . 12

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 493

Gre ska ovako napisana nije naro cito lijepa i korisna, pa ju je potrebno napisati malo druga cije h3 n 1 n T En (f ) = f ( k ) . 12 n k=1 Izraz u zagradi je aritmeti cka sredina vrijednosti drugih derivacija u to ckama k . Taj se broj sigurno nalazi izmedu najmanje i najve ce vrijednosti druge derivacije funkcije f na intervalu [a, b]. Budu ci da je f neprekidna na [a, b], onda je broj u zagradi vrijednost druge derivacije u nekoj to cki [a, b], pa formulu za gre sku mo zemo pisati kao
T En (f )

h3 n (b a)h2 = f ( ) = f ( ). 12 12

Iz ove formule izvodimo va znu ocjenu za broj podintervala potrebnih da se postigne zadana to cnost za produljenu trapeznu metodu
T |En (f )|

(b a)h2 (b a)3 M2 = M2 , 12 12n2

M2 = max |f (x)|.
x[a,b]

T Zelimo li da je |En (f )| , onda je dovoljno tra ziti da bude

(b a)3 M2 , 12n2 odnosno da je n (b a)3 M2 , 12 n cijeli broj.

Na sli can se na cin izvodi i produljena Simpsonova formula. Primijetite, osnovna Simpsonova formula ima 3 to cke, tj. 2 podintervala, pa produljena formula mora imati, takoder, paran broj podintervala. Pretpostavimo stoga da je n paran broj. Ograni cimo se samo na ekvidistantni slu caj. Onda je ponovno 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,

tako da na svakom podintervalu [x2k2 , x2k ], duljine 2h, primijenimo obi cnu 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 cemu je En (f ) gre ska produljene formule. Nju mo zemo zapisati kao zbroj gre saka osnovnih Simpsonovih formula na podintervalima n/2 S En (f ) = k =1

f (4) (k )

h5 . 90

Opet je gre sku korisno napisati malo druga cije


S En (f ) =

h5 (n/2) 2 n/2 (4) f ( k ) . 90 n k=1

Sli cnim zaklju civanjem kao kod trapezne formule, izraz u zagradi mo zemo zamijeniti s f (4) ( ), [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 to cnost za Simpsonovu metodu
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 tra ziti da bude

(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 Izra cunajte vrijednost integrala


2

xex dx
1

kori stenjem (produljene) Simpsonove formule tako da gre ska bude manja ili jednaka 106 . Nadite pravu vrijednost integrala i pogre ske. Koliko je podintervala potrebno za istu to cnost kori stenjem (produljene) trapezne formule?

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 495

Prmo, moramo ocijeniti pogre sku za produljenu trapeznu i produljenu Simpsonovu formulu. Za to su nam potrebni maksimumi apsolutnih vrijednosti druge i cetvrte derivacije na zadanom intervalu. Derivacije su redom f (1) (x) = (1 x)ex , f (4) (x) = (x 4)ex , f (2) (x) = (x 2)ex , f (3) (x) = (3 x)ex ,

f (5) (x) = (5 x)ex .

Nadimo maksimume apsolutnih vrijednosti derivacija na zadanom intervalu. Prvo ocijenimo gre sku za produljenu trapeznu formulu. Na intervalu [1, 2] je f (3) (x) > 0, sto zna ci da f (2) raste. Uo cimo jo s da je na zadanom intervalu f (2) (x) 0, pa je maksimum apsolutne vrijednosti druge derivacije u lijevom rubu, tj. 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 gre sku za produljenu Simpsonovu formulu. Na intervalu [1, 2] je f (x) > 0, sto zna ci da f (4) raste. Takoder je i f (4) (x) < 0, sto zna ci 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 gre sku produljene Simpsonove formule imamo nS


4

(b a)5 M4 = 180

3 e1 8.85, 180 106

tj. treba najmanje nS = 10 podintervala. Sad mo zemo upotrijebiti produljenu Simpsonovu formulu s 10 podintervala (11

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 496

cvorova). Imamo 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 slu caju mo zemo bez puno napora izra cunati i egzaktnu vrijednost integrala. Jedina korist od toga je da vidimo koliko je zaista ocjena za Simpsonovu metodu bliska sa stvarnom gre skom. Parcijalna integracija daje
2

xe
1

dx =

u = x, du = dx x dv = e dx, v = ex
2 1

= xe

x 1

+
1

ex dx

= e1 2e2 ex = e1 2e2 e2 + e1 = 2e
1

3e

0.3297530326.

Drugim rije cima, prava pogre ska je I IS = 0.3297530326 0.3297526998 = 3.328 107 , tj. ocjena gre ske nije daleko od prave pogre ske.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 497

9.2.5.

Formula srednje to cke (midpoint formula)

Ako u NewtonCotesovim formulama ne interpoliramo (pa onda niti ne integriramo) jednu ili obje rubne to cke, dobili smo otvorene NewtonCotesove formule. Ako deniramo x1 := a, xm+1 := b i hm = ba , m+2

onda otvorene NewtonCotesove formule imaju oblik


b m

f (x) dx Im (f ) =

wk f (x0 + khm ).
k =0

(m)

(9.2.6)

Vjerojatno najkori stenija i najpoznatija otvorena NewtonCotesova formula je ona najjednostavnija za m = 0, poznata pod imenom midpoint formula (formula srednje to cke). Dakle za bismo odredili midpoint formulu, moramo na ci koecijent w0 := w0 takav da je b a+b f (x) dx = w0 f 2 a egzaktna na vektorskom prostoru polinoma sto vi seg stupnja. Za f (x) = 1, imamo
b (0)

ba= odakle odmah slijedi da je


b

1 dx = w0 ,
a

f (x) dx = (b a)f

a+b . 2

Gre ska te integracijske formule je integral gre ske interpolacijskog polinoma stupnja 0 (konstante), koji interpolira funkciju f u srednjoj to cki. Ako deniramo
x

w (x) =
a

(t c) dt,

c :=

a+b , 2

onda koriste ci istu tehniku kao kod izvoda gre ske za Simpsonovu formulu, izlazi da je gre ska midpoint formule
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 pri cemu je En (f ) ukupna gre ska koja je jednaka M En (f )

h3 n 1 n h3 n h2 (b a) h3 = f ( k ) = f ( k ) = f ( ) = f ( ). 24 24 n k=1 24 24 k =1

9.3.

Rombergov algoritam

Pri izvodu Rombergovog algoritma koristimo se sljede cim principima: udvostru cavanjem broja podintervala u produljenoj trapeznoj metodi,

eliminacijom clana gre ske iz dvije susjedne produljene formule. Ponovljena primjena ovog principa zove se Richardsonova ekstrapolacija.

Asimptotski razvoj ocjene pogre ske za trapeznu integraciju daje EulerMacLaurinova formula. Teorem 9.3.1 Neka je m 0, n 1, m, n cijeli brojevi. Deniramo ekvidistantnu mre zu s n podintervala na [a, b], tj. h= ba , n xk = a + kh, k = 0, . . . , n.

Pretpostavimo da je f C (2m+2) [a, b]. Za pogre sku produljene trapezne metode vrijedi b m d2i T En (f ) = f (x) dx In (f ) = + Fn,m , 2i n i =1 a gdje su koecijenti d2i = a ostatak je Fn,m (b a)2m+2 b a (2m+2) = B 2m+2 f (x) dx. 2 m +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 =

Bi (x) dx,
0

i 1,

a B i je periodi cko pro sirenje obi cnih Bernoullijevih polinoma B i (x) = Bi (x), B i (x 1), za 0 x 1, za x 1.

Ovo je jedan od klasi cnih teorema numeri cke analize i njegov se dokaz mo ze na ci u mnogim knjigama. Umjesto dokaza, nekoliko obja snjenja. Bernoullijevi polinomi zadani su implicitno funkcijom izvodnicom t(ext 1) = et 1 Prvih nekoliko Bernullijevih polinoma su: B0 (x) = 1 B3 (x) = x2 3x2 x + 2 2 B1 (x) = x B4 (x) = x2 (1 x)2 . B2 (x) = x2 x ti Bi (x) . i! i=1

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.

Iz prethodne se formule integracijom mogu dobiti Bi (x), jer je slobodni clan jednak 0. Bernoullijevi brojevi takoder su denirani implicitno t = t e 1
1 i=0

Bi

ti , i!

odakle se integracijom na [0, 1] po x u rekurziji za Bi (x) dobiva Bi = Bi (x) dx,


0

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 clan po clan iz reda za ocjenu gre ske na osnovu vrijednosti integrala s duljinom koraka h i h/2. Za podintegralne funkcije koje nisu dovoljno glatke, takoder, se mo ze (uz blage pretpostavke) asimptotski dobiti razvoj pogre ske. Posebno to vrijedi za funkcije s algebarskim (x ) i/ili logaritamskim (ln x) singularitetima.
(0) Izvedimo sad Rombergov algoritam. Ozna cimo s In trapeznu formulu s duljinom intervala h = (b a)/n. Iz EulerMacLaurinove formule, ako je n paran, za asimptotski razvoj gre ske imamo

(0) In (0)

I In/2

d d dm = 22 + 44 + + 2 + Fn,m n n n2m (0) (0) (0) 4d 2 16d4 22m d2m ++ + Fn/2,m . = 2 + n n4 n2m

(0)

(0)

(0)

Ako prvi razvoj pomno zimo s 4 i oduzmemo mu drugi razvoj, skratit ce se prva (0) gre ska s desne strane d2 , tj. dobit cemo 4(I
(0) In )

(I

(0) In/2 )

60d6 12d4 = + . 4 n n6

(0)

(0)

Izlu civanjem clanova koji imaju I na lijevu stranu, a zatim dijeljenjem, dobivamo I=
(0) 4In In/2 (0)

4d4 20d6 + . 4 n n6

(0)

(0)

Prvi clan zdesna mo zemo uzeti kao bolju, popravljenu aproksimaciju integrala, u oznaci (0) (0) 4In In/2 (1) In = , n paran, n 2. 3 (2) (4) (6) Niz In , In , In je novi integracijski niz. Njegova je gre ska
(1) I In =

d4 d6 + + , n4 n6 d6 = 20d6 .
(1) (0)

(1)

(1)

gdje je

d4 = 4d4 ,

(1)

(0)

(1) Nadimo eksplicitnu formulu za In . Zbog podjele na odgovaraju ci broj podin(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 sljede ce formule


(0) In =

(0)

In/2

(0)

h (f0 + 2f1 + 2fn1 + fn ) 2 h1 = (f0 + 2f2 + 2fn2 + fn ). 2

(1) Uvr stavanjem u In , dobivamo

1 2h 1 1 4h 1 f0 + 2f1 + 2fn1 + fn f0 + 2f1 + 2fn1 + fn 3 2 2 3 2 2 h = (f0 + 4f2 + 2f2 + 4fn2 + fn ), 3 sto je Simpsonova formula s n podintervala.
(1) In =

Sli can argument kao i prije mo zemo upotrijebiti i dalje. Vrijedi I In/2 = Tada je
(1) 16(I In ) (I In/2 ) = (1) (1)

16d4 64d6 + + . 4 n n6 48d6 + , n6


(1) (1)

(1)

(1)

odnosno

48d6 + . I= 15 15n6 Ponovno, prvi clan s desne strane proglasimo za novu aproksimaciju integrala
(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

(k 1) 4k In In/2

(k 1)

4k

pri cemu je gre ska jednaka


(k ) (k ) En

n 2k ,

=I

(k ) In

d k+2 = 2 + = k (b a)h2k+2 f (2k+2) ( ), n2k+2

a b.

Sada mo zemo denirati Rombergovu tablicu I1 I2


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

I2

I4 . . .

I4 . . .

I4 . . .

(2)

. .. .

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 502

Ako pogledamo omjere gre saka clanova u stupcu, uz pretpostavku dovoljne glatko ce, onda dobivamo (k ) En = 22k+2 , (k ) E2n tj. omjeri pogre saka u stupcu se moraju pona sati kao 1 4 4 4 . . . 1 16 16 . . . 1 64 . . . 1 . . . .. . .

Poka zimo na primjeru da prethodni omjeri pogre saka u stupcu vrijede samo ako je funkcija dovoljno glatka. Primjer 9.3.1 Rombergovim algoritmom s to cno s cu 1012 nadite vrijednosti integrala 1 1 1 x 3/2 e dx, x dx, x dx
0 0 0

i poka zite kako se pona saju omjeri pogre saka u stupcima. Pogledajmo redom funkcije. Eksponencijalna funkcija ima beskona cno mnogo neprekidnih derivacija, pa bi se ra cunanje integrala morala pona sati po predvidanju. 5 Kao vrijednost, nakon 2 podintervala u trapeznoj formuli, dobivamo umjesto prave vrijednosti integrala I , pribli znu vrijednost I5 = 1.71828182845904524 I = e 1 = 1.71828182845904524 I I5 = 0. Poka zimo omjere pogre saka u stupcima, 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 pogre saka (eksponenti od 2, koji bi ako je funkcija 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

je s drugom funkcijom? Funkciji f (x) = x3/2 puca druga derivacija u 0, pa Sto bi zanimljivo pona sanje moralo po ceti ve cu drugom stupcu (za trapez je funkcija dovoljno glatka za ocjenu pogre ske). Kao vrijednost, nakon 215 podintervala u trapeznoj formuli, dobivamo umjesto prave vrijednosti integrala I , pribli znu vrijednost I15 = 0.40000000000004512 I = 2/5 = 0.40000000000000000 I I15 = 0.00000000000004512. je s omjerima pogre Primijetite da je broj intervala poprili cno velik! Sto saka? 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

..

Primje cujemo da su se nakon prvog stupca omjeri pogre saka stabilizirali. Bit ce nam mnogo lak se provjeriti sto se dogada ako napi semo samo eksponente omjera pogre saka. 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 pogre saka od drugog stupca nadalje to cno za 1 ve ci od eksponenta same funkcije (integriramo!). Situacija s funkcijom f (x) = x mora biti jo s gora, jer njoj puca prva deriva15 cija u 0. Nakon 2 podintervala u trapeznoj formuli ( sto je ograni cenje zbog veli cine polja u programu), ne dobivamo zeljenu to cnost I15 = 0.66666665510837633 I = 2/3 = 0.66666666666666667 I I15 = 0.00000001155829033. Omjeri pogre saka u tablici su: 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, mo ze se Rombergovom algoritmu pomo ci tako da supstitucijom u integralu dobijemo glatku funkciju. U oba slu caja, 2 ako stavimo supstituciju x = t , podintegralna ce funkcija imati beskona cno mnogo neprekidnih derivacija, pa ce se algoritam pona sati po ocjeni pogre ske. U literaturi postoji i malo druga cija oznaka za aproksimacije integrala u Rombergovoj 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)

. .. .

Poka zimo sad nekoliko primjera kako treba, odnosno ne treba koristiti Rombergov algoritam. Primjer 9.3.2 Izra cunajte kori stenjem Rombergovog algoritma pribli znu vrijednost integrala
1

sin(17x) dx
0

Tako da gre ska bude manja ili jednaka 104 . Napi simo tablicu (samo prvih par decimala, ostale pamtimo u ra cunalu, ali nemamo prostora za ispis) 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

je razlog stabilizacije oko jedne, pa oko druge vrijednosti? Nedovoljan broj podSto intervala u trapezu, koji ne opisuju dobro pona sanje funkcije.
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.

Te zinske integracijske formule

Dosad smo detaljno analizirali samo nekoliko osnovnih NewtonCotesovih integracijskih formula s malim brojem to caka i pripadne produljene formule. U ovom odjeljku napravit cemo op cu konstrukciju i analizu to cnosti za neke klase integracijskih formula, uklju cuju ci op ce NewtonCotesove i Gaussove formule. Zelimo (pribli zno) izra cunati vrijednost integrala
b

Iw (f ) =
a

f (x)w (x) dx,

(9.4.1)

gdje je w pozitivna (ili barem nenegativna) te zinska funkcija za koju pretpostavljamo da je integrabilna na (a, b), s tim da dozvoljavamo da w nije denirana u rubovima a i b. Interval integracije mo ze biti kona can, ali i beskona can. Drugim rije cima, promatramo op ci problem jednodimenzionalne integracije zadane funkcije f po zadanoj neprekidnoj mjeri d generiranoj te zinskom funkcijom w na zadanoj domeni. Katkad koristimo i skra cenu oznaku I (f ), umjesto Iw (f ), za integral u (9.4.1), ako je w (x) = 1 na cijelom [a, b], ili kad je te zinska funkcija jasna iz konteksta, da skratimo pisanje. Kao i ranije, ovaj integral aproksimiramo te zinskom sumom funkcijskih vrijednosti funkcije f na kona cnom skupu to caka, Za razliku od ranijih oznaka, ovdje je zgodnije to cke numerirati od 1, a ne od 0. Dakle, op ca te zinska integracijska ili 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 cvorove i te zine cesto ne pi semo, ako su o citi iz konteksta, ali ne treba zaboraviti na ovisnost o n. Dakle, sasvim op cenito mo zemo pisati
b

Iw (f ) =
a

f (x)w (x) dx = In (f ) + En (f ),

(9.4.3)

gdje je En (f ) gre ska aproksimacije. Osnovnu podlogu za konstrukciju integracijskih formula i ocjenu gre ske En (f ) daje sljede ci rezultat. 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 dosti ze.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 508

Dokaz. Prvo uo cimo da w ne mora biti nenegativna, jer je rije c o Riemannovom integralu, ali zato treba pretpostaviti da je |w | integrabilna.

Ocjena izlazi direktno iz osnovnih svojstava Riemannovog integrala jer podintegralne funkcije moraju biti ograni cene. Dobivamo
b b

|Iw (f ) Iw (f )| = Iskoristimo ocjenu

a b

f (x)w (x) dx

f (x)w (x) dx
a

|w (x)| |f (x) f (x)| dx.

|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 tra zenu ocjenu. Ako za perturbiranu funkciju f uzmemo 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 klasi cni Riemannov integral, domena [a, b] integracije mora biti kona cna. Teorem onda ka ze da je apsolutni broj uvjetovanosti za Iw (f ) upravo jednak w 1 i ne ovisi o f , ve c samo o Iw . Ovaj rezultat mo ze se pro siriti i na neprave Riemannove integrale (beskona cna domena, singulariteti funkcija), i tada vi se ne vrijedi zaklju cak o broju uvjetovanosti. Medutim, trenutno nam to nije bitno, ve c je klju cna malo druga cija interpretacija ocjene (9.4.4).

Zamislimo da je f neka aproksimacija (a ne perturbacija) funkcije f , koju zelimo iskoristiti za pribli zno ra cunanje integrala. Onda (9.4.4) daje ocjenu (apsolutne) pogre ske u integralu, preko gre ske aproksimacije funkcije u uniformnoj (L ) normi na [a, b]. Ono sto stvarno zelimo dobiti je niz aproksimacija integrala koji konvergira prema Iw (f ). Jedan od puteva da to postignemo je izbor odgovaraju ceg niza aproksimacija fn , n N, za funkciju f . Prethodna ocjena upu cuje na to da, u ovisnosti

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 509

o n, za aproksimacijske funkcije fn treba uzimati takve funkcije za koje znamo da mo zemo posti ci po volji dobru uniformnu aproksimaciju funkcije f , jer tada f fn

0 = |Iw (f ) Iw (fn )| 0,

n .

Uo cimo da ove aproksimacije, naravno, ovise o konkretnoj funkciji f . Da ne bismo za svaki novi f posebno konstruirali odgovaraju ci niz aproksimacija, po zeljno je da bilo koju funkciju f , za koju postoji integral Iw (f ), mo zemo dovoljno dobro aproksimirati nekim prostorom funkcija. Tj. umjesto niza pojedina cnih aproksimacija, 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 kona cnom intervalu [a, b] sugerira da treba uzeti Vn kao prostor polinoma Pd stupnja manjeg ili jednakog d, gdje d ovisi o n (i raste s n). Kao sto cemo vidjeti, korisno je dozvoliti da bude d = n. Isti princip koristimo i za beskona cne domene, samo treba osigurati da su polinomi integrabilni s te zinom w . To posti zemo dodatnim zahtjevom na te zinsku funkciju w , tako da pretpostavimo da svi momenti te zinske funkcije
b

k :=
a

xk w (x) dx,

k N0 ,

(9.4.5)

postoje i da su kona cni. U nastavku pretpostavljamo da te zinska funkcija w zadovoljava ovu pretpostavku. Takve te zinske funkcije obi cno zovemo (polinomno) dopustivima. Napomenimo odmah da se ovaj pristup mo ze generalizirati i na bilo koji drugi sustav funkcija aproksimacijskih funkcija {fn | n N} koji je gust u prostoru C [a, b] neprekidnih funkcija na [a, b]. Pripadni prostori Vn generirani su po cetnim komadima ovog sustava funkcija (kao linearne ljuske). Za prakti cnu primjenu ovog pristupa moramo mo ci efektivno izra cunati integral Iw (fn ) aproksimacijske funkcije, i to za bilo koju funkciju f . To se najlak se posti ze tako da konstruiramo pripadnu integracijsku formulu In koja je egzaktna na 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 gre ske pripadne integracijske 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 sto smo ve c rekli, Gaussove formule imaju dvostruko vi se slobodnih parametara nego NewtonCotesove, pa bi zbog toga trebale egzaktno integrirati polinome pribli zno dvostruko ve ceg stupnja od NewtonCotesovih. Za razliku od NewtonC otesovih formula, Gaussove integracijske formule su oblika
b n a

f (x) dx

wif (xi ),
i=1

u kojima to cke integracije xi nisu unaprijed poznate, nego se izra cunaju tako da gre ska takve formule bude najmanja. Motivirani prakti cnim razlozima, promatrat cemo malo op cenitije integracijske formule oblika
b n

w (x) f (x) dx

wi f (xi ),
i=1

gdje je w te zinska funkcija, pozitivna na otvorenom intervalu (a, b). Koecijente wi zovemo te zinski koecijenti ili, skra ceno, te zine integracijske formule. Gornji specijalni slu caj u kojem je w 1 cine formule koje se zovu GaussLegendreove. Te zinska funkcija u op cem slu caju utje ce na te zine i to cke integracije, ali se ne pojavljuje eksplicitno u Gaussovoj formuli. Bitno je znati da se za neke te zinske funkcije na odredenim intervalima, cvorovi i te zine standardno tabeliraju u priru cnicima. To su te zinska funkcija w 1 1 1 x2 1 x2 ex ex
2

interval [1, 1] [1, 1] [1, 1] [0, ) (, )

formula Gauss Legendre sev Cebi sev 2. vrste Cebi Laguerre Hermite

Glavni rezultat je sljede ci: ako zahtijevamo da formula integrira egzaktno polinome sto je mogu ce ve ceg stupnja, onda su to cke integracije xi nulto cke polinoma koji su ortogonalni na intervalu (a, b) obzirom na te zinsku funkciju w , a te zine wi mogu se eksplicitno izra cunati po formuli
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 numeri cke integracije zgodnije cvorove numerirati od x1 do xn , (za razliku od numeracije x0 do xn u poglavlju o interpolaciji), pa je i i polinom stupnja n 1.

Kao sto se NewtonC otesove formule mogu dobiti integracijom Lagrangeovog 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 sto je mogu ce vi seg stupnja, tj. da vrijedi
b n

w (x) xj dx =
a i=1

wi xj i,

j = 0, 1 , . . . , 2 n 1 .

Mogli bismo iskoristiti ovu relaciju da napi semo 2n jednad zbi za 2n nepoznanica xi i wi , medutim nepoznanice xi ulaze u sistem nelinearno, pa je ovakav pristup te zi. Cak i dokaz da taj nelinearni sistem ima jedinstveno rje senje nije jednostavan. Napi simo jo s jednom formulu za Hermiteov interpolacijski polinom h2n1 , stupnja 2n 1, koji u cvorovima integracije xi interpolira vrijednosti fi = f (xi ) i fi = f (xi ), za i = 1, . . . , n. Iz relacija (7.2.21) i (7.2.22) dobivamo
n

h2n1 (x) = =

hi,0 (x) fi + hi,1 (x) fi


i=1 n i=1 2 [1 2(x xi )i (xi )] 2 i (x) fi + (x xi ) i (x) fi .

Integracijom dobijemo
b n

w (x) h2n1 (x) dx =


b

Ai fi + Bi fi ,
i=1

(9.5.1)

gdje su Ai =
a b

w (x) [1 2(x xi )i (xi )] 2 i (x) dx, w (x) (x xi ) 2 i (x) dx.

(9.5.2)

Bi =
a

Integracijska formula (9.5.1) sli ci na Gaussovu integracijsku formulu, osim sto ima dodatne clanove Bi fi , koji koriste i derivacije funkcije f u cvorovima integracije. Kad bi, kao u NewtonCotesovim formulama, cvorovi xi bili unaprijed zadani, iz uvjeta egzaktne integracije polinoma trebalo bi odrediti 2n parametara te zinskih koecijenata Ai , Bi . Zato o cekujemo 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 cvorovima, ve c i vrijednosti derivacije f (xi ) funkcije u tim cvorovima. Zato je ideja da probamo izbje ci kori stenje derivacija, tako da izborom cvorova xi poni stimo koecijente Bi uz derivacije fi . To cnost integracijske formule mora ostati ista (egzaktna integracija polinoma stupnja do 2n 1), ali tako dobivena formula koristila bi samo funkcijske vrijednosti u cvorovima, tj. postala bi Gaussova integracijska formula. Zaista, odgovaraju cim izborom cvorova xi mo ze se posti ci da te zinski koecijenti Bi uz derivacije budu jednaki nula. Da bismo to dokazali, uvodimo posebni polinom cvorova (engl. node polynomial) n , koji ima nulto cke u svim cvorovima integracije n := (x x1 )(x x2 ) (x xn ). Taj polinom smo ve c susreli u poglavlju o Lagrangeovoj interpolaciji. Sljede ci rezultat govori o tome kako treba izabrati cvorove. Lema 9.5.1 Ako je n (x) = (x x1 ) (x xn ) ortogonalna s te zinom w na sve polinome ni zeg stupnja, tj. ako vrijedi
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) . (x ) n i

(9.5.4)

w (x) n (x) i (x) dx.


a

Kako je i polinom stupnja n 1, i po pretpostavci je n ortogonalna s te zinom w na sve takve polinome, tvrdnja slijedi. Lako se vidi da vrijedi i obrat ove tvrdnje, tj. da su svi koecijenti Bi = 0 u (9.5.1), ako i samo ako je polinom cvorova n ortogonalan na sve polinome ni zeg stupnja (do n 1), s te zinskom funkcijom w . Razlog tome je sto su funkcije i , i = 1, . . . , n, Lagrangeove baze zaista baza prostora Pn1 (zadatak 7.2.2).

Iz ranijih rezultata o ortogonalnim polinomima znamo da ortogonalni polinom stupnja n obzirom na w postoji i jednozna cno je odreden do na (recimo) vode ci

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 513

koecijent. Da bismo dobili Gaussovu integracijsku formulu u (9.5.1), polinom cvorova n mora biti ortogonalni polinom s vode cim koecijentom 1, tj. n postoji i jedinstven je. Nadalje, uvjet ortogonalnosti (9.5.3) jednozna cno odreduje raspored cvorova za Gaussovu integraciju. Iz teorema 7.8.2 slijedi da n ima n jednostrukih nulto caka u otvorenom intervalu (a, b) ( sto nam ba s odgovara za integraciju). Njegove nulto cke x1 , . . . , xn mo zemo samo permutirati (druga cije indeksirati), a uz standardni dogovor x1 < < xn , one su jednozna cno odredene. Time smo dokazali da postoji jedinstvena Gaussova integracijska formula obb n

lika
a

w (x) f (x) dx

wi f (xi ),
i=1

Cvorovi integracije xi su nulto cke ortogonalnog polinoma stupnja n na [a, b] s te zinskom funkcijom w , a te zinske koecijente mo zemo izra cunati iz (9.5.2), budu ci da je tada wi = Ai , za i = 1, . . . , n. Iskoristimo li pretpostavku ortogonalnosti iz leme 9.5.1, mo zemo pojednostavniti i izraze za koecijente wi = Ai u (9.5.2). Sasvim op cenito, koriste ci relaciju za Bi , koecijent Ai mo zemo napisati u obliku
b b

Ai =
a

w (x) [1 2(x

xi )i (xi )] 2 i (x) dx

=
a

w (x) 2 i (x) dx 2i (xi )Bi .

Uz uvjet ortogonalnosti (Gaussova integracija) je Bi = 0 i Ai = wi, pa je


b

wi =
a

w (x) 2 i (x) dx.

Podintegralna funkcija je nenegativna i 2 i je polinom stupnja 2(n 1) koji nije nul-polinom, pa desna strana mora biti pozitivna. Dakle, slijedi da su svi te zinski koecijenti u Gaussovoj integraciji pozitivni, wi > 0, za i = 1, . . . , n, sto je vrlo bitno za numeri cku stabilnost i konvergenciju. Poka zimo jo s da vrijedi i
b b

wi =
a

w (x) 2 i (x) dx

=
a

w (x) i (x) dx.

O cito, to je isto kao i dokazati


b b b

w (x) 2 i (x) dx
a

w (x) i(x) dx =
a a

w (x) i (x) (i (x) 1) dx = 0.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 514

Ali polinom i (x) 1 se poni stava u to cki x = xi , po deniciji polinoma i , jer je i (xj ) = ij . Zna ci da i (x) 1 mora sadr zavati x xi kao faktor, tj. mo zemo 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) =
b

pa je zbog ortogonalnosti n na sve polinome ni zeg stupnja 1 w (x) i (x) (i (x) 1) dx = n (xi )
b

n (x) n (xi )(x

xi )

(i (x) 1) =

(x ) n i

n (x) q (x),

w (x) n (x) q (x) dx = 0.


a

Pokazali smo da Gaussovu integracijsku formulu mo zemo dobiti kao integral Hermiteovog interpolacijskog polinoma, uz odgovaraju ci izbor cvorova, a za te zinske 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 NewtonC otesovim formulama, sto je ovdje posljedica pretpostavke o ortogonalnosti. U oba slu caja do integracijskih formula dolazimo interpolacijom funkcije u cvorovima. Poka zimo i primjerom da ortogonalnost produkta korijenskih faktora, tj. funkcije n (x) na sve polinome ni zeg stupnja zapravo odreduje to cke integracije xi . Primjer 9.5.1 Neka je w (x) = 1 i n = 3. Odredimo to cke integracije iz uvjeta ortogonalnosti. Uobi cajeno je da za interval integracije uzmemo (1, 1), budu ci da integrale na drugim intervalima mo zemo lagano ra cunati, ako podintegralnu funkciju transformiramo linearnom supstitucijom. Problem se dakle svodi na to da odredimo nulto cke kubi cne funkcije 3 (x) = a + bx + cx2 + x3 za koju vrijedi
1

3 (x) xk dx = 0,
1

k = 0, 1 , 2 .

Nakon integracije dobivamo sustav jednad zbi za koecijente a, b, c 2 2 2 2 2 b + = 0, a + c = 0, 2 a + 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 to cke integracije xi = 3/5, 0,

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 515

Teorijski, ovaj pristup mo zemo iskoristiti za sve mogu ce intervale integracije i razne te zinske funkcije. Za ve ce n potrebno je odrediti nule polinoma visokog stupnja, sto je egzaktno nemogu ce, a numeri cki u najmanju ruku neugodno. Stoga je potrebno za specijalne te zine i intervale integracije do ci do dodatnih informacija o ortogonalnim polinomima. Na kraju, bilo bi dobro izra cunati formulom i te zinske faktore wi u Gaussovim formulama. Analiti cki je mogu ce do ci do ovakvih rezultata za mnoge specijalne te zine w (x) koje se pojavljuju u primjenama. Rije simo na po cetku va znu situaciju w 1, a = 1, b = 1. Pripadne formule nazvali smo GaussLegendreovima; u gornjem primjeru izra cunali smo to cke integracije za GaussLegendreovu formulu reda 3. Zadatak 9.5.1 Iz uvjeta egzaktnosti i poznatih to caka integracije za n = 3 izra cunajte te zinske koecijente wi . Primijetite da je sustav jednad zbi linearan, pa stoga ra cunanje ovih faktora ne predstavlja ve ce probleme.

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 n

f (x) dx

wi f (xi ).
i=1

Kao sto znamo, Legendreov polinom stupnja n deniran je Rodriguesovom formulom 1 dn 2 Pn (x) = n (x 1)n . 2 n! dxn Tako denirani polinomi cine ortogonalnu bazu u prostoru polinoma stupnja n, 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 jednad zbama, kod metode separacije varijabli za Laplaceovu jednad zbu u kugli. Za nas je bitno samo jedno specijalno svojstvo, iz kojeg slijede sva ostala: Lema 9.5.2 Legendreov polinom stupnja n ortogonalan je na sve potencije xk ni zeg 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

xn Pn (x) dx =
1

2n+1 (n!)2 . (2n + 1)!

Dokaz. Uvr stavanjem Rodriguesove formule, nakon k (k < n) parcijalnih integracija dobivamo
1 n1 dn 2 n k d x ( x 1) dx = x (x2 1)n dxn dxn1 k =0 1 1 1 1

kxk1
1

d n1 2 (x 1)n dx dxn1

= = (1) k !

d nk 2 (x 1)n dx = 0, n k dx

pa smo dokazali prvu formulu. Za k = n, na isti na cin imamo


1

dn 2 x (x 1)n dx = (1)n n! n dx
n

(x 1) dx = 2n!
/2

(1 x2 )n dx

= {x = sin t} = 2n! Za zadnji integral parcijalnom integracijom izlazi


/2

cos2n+1 t dt.
0

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

2n(2n 2) 2 dn 2 x (x 1)n dx = 2n! . n dx (2n + 1)(2n 1) 3


n

Pomno zimo li brojnik i nazivnik s 2n(2n 2) 2 = 2n n!, a zatim, zbog denicije Legendreovog polinoma Pn , sve podijelimo s 2n n!, slijedi
1

xn Pn (x) dx =
1

1 2n n! 2n n! 2n+1 (n!)2 2 n ! = . 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 ni zeg stupnja. Druga tvrdnja slijedi iz
1 1

[Pn (x)] dx =
1 1

1 2n n!

(2n)! n x + Pn (x) dx. n!

Potencije manje od xn ne doprinose integralu, pa druga tvrdnja leme 9.5.2 povla ci


1

[Pn (x)]2 dx =
1

(2n)! 2n+1 (n!)2 2 = . n 2 2 (n!) (2n + 1)! 2n + 1

Lema 9.5.4 Legendreovi polinomi Pn imaju n nulto caka, koje su sve realne i razli cite, i nalaze se u otvorenom intervalu (1, 1). 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 vi sestruke (n-terostruke) nulto cke u rubovima intervala 1. Prema Rolleovom teoremu, prva derivacija ima jednu nulto cku u intervalu (1, 1). Medutim, prva derivacija je, takoder, nula u 1, pa ukupno mora imati tri nulto cke u zatvorenom intervalu [1, 1]. Druga derivacija stoga ima dvije unutarnje nule po Rolleovom teoremu, i dvije u 1, pa ima ukupno cetiri nule u [1, 1]. I tako redom, vidimo da n 1-a derivacija ima n 1 unutarnju nulto cku i jo s dvije u 1. Na kraju zaklju cimo da n-ta derivacija, koja je do na multiplikativni faktor jednaka Pn , ima n unutarnjih nulto caka. Na taj na cin smo zapravo na sli to cke integracije u GaussLegendreovoj formuli i bez eksplicitnog rje savanja nelinearnog sistema jednad zbi za wi i xi , iz uvjeta egzaktne integracije potencija najve ceg mogu ceg stupnja. Taj rezultat rezimiran je u sljede cem teoremu.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 518

Teorem 9.5.1 Cvorovi integracije u GaussLegendreovoj formuli reda n su nulto cke Legendreovog polinoma Pn , za svaki n. Dokaz. Znamo da su to cke integracije xi nulto cke polinoma n po konstrukciji. Zbog uvjeta ortogonalnosti (9.5.3) polinom n , s vode cim koecijentom 1, proporcionalan je Legendreovom polinomu Pn . Vode ci koecijent u Pn lako izra cunamo iz Rodriguesove formule, odakle je n (x) = 2n (n!)2 Pn (x), (2n)!

pa vidimo da su sve nulto cke polinoma n zapravo nulto cke od Pn (lema 9.5.4). Primjer 9.5.2 Iz Rodriguesove formule mo zemo izra cunati nekoliko prvih Legendreovih polinoma. P0 (x) = 1, 1 d 2 P1 (x) = (x 1) = x, 2 dx 1 d2 2 1 (x 1)2 = (3x2 1), P2 (x) = 2 8 dx 2 3 1 d 1 (x2 1)3 = (5x3 3x), P3 (x) = 3 48 dx 2 4 1 d 1 P4 (x) = (x2 1)4 = (35x4 30x2 + 3), 4 16 24 dx 8 1 P5 (x) = (63x5 70x3 + 15x), 8 1 P6 (x) = (231x6 315x4 + 105x2 5), 16 1 (429x7 693x5 + 315x3 35x), P7 (x) = 16 1 P8 (x) = (6435x8 12012x6 + 6930x4 1260x2 + 35). 128 Vidimo, na primjer, da su nulto cke od P3 identi cne s to ckama integracije koje smo dobili u primjeru 9.5.1, direktno iz uvjeta ortogonalnosti. Ra cunanje nulto caka Legendreovih polinoma (na ma sinsku to cnost!) nije jednostavan problem, budu ci da egzaktne formule postoje samo za male stupnjeve. Napomenimo za sad samo toliko, da postoje specijalni algoritmi, te da je dovoljno tabelirati te nulto cke jednom, pa brzina algoritma nije va zna, nego samo preciznost. Tabelirane nulto cke (kao i te zine wi ) mogu ce je na ci u gotovo svim standardnim knjigama i tablicama iz podru cja numeri cke analize.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 519

Postoji lak si na cin za ra cunanje Pn (x), zasnovan na cinjenici da Legendreovi polinomi zadovoljavaju tro clanu rekurziju, ciji se koecijenti mogu eksplicitno izra cunati. Ova rekurzivna formula igra va znu ulogu i u konstrukciji spomenutog specijalnog algoritma za tra zenje nulto caka. Lema 9.5.5 Legendreovi polinomi zadovoljavaju rekurzivnu formulu (n + 1)Pn+1 (x) = (2n + 1)xPn (x) nPn1 (x), s po cetnim vrijednostima P0 (x) = 1, P1 (x) = x.
+1 Dokaz. Kako je xPn (x) polinom stupnja n + 1 i {Pi }n i=0 baza za prostor polinoma stupnja do n + 1, postoje koecijenti ci tako da vrijedi n+1

n 1,

xPn (x) =
i=0

ci Pi (x).

Pomno zimo li obje strane s Pk (x) i integriramo od 1 do 1, zbog ortogonalnosti (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 clana xPn (x) = cn+1 Pn+1 (x) + cn Pn (x) + cn1 Pn1 (x). Treba jo s izra cunati koecijente cn+1 , cn i cn1 . Kako je Pn (x) = (2n)! (2n)! n n (x) = n x + ni ze potencije od x, n 2 2 (n!) 2 (n!)2 (9.5.8)

usporedimo li koecijente uz xn+1 u (9.5.8), dobivamo da je (2n)! (2n + 2)! = c , n +1 2n (n!)2 2n+1[(n + 1)!]2 n+1 . 2n + 1 Lagano se vidi (iz Rodriguesove formule) da se u Legendreovim polinomima pojavljuju samo alterniraju ce potencije, tj. P2n je linearna kombinacija parnih poten2k cija x , k = 0, . . . , n, a P2n+1 je linearna kombinacija neparnih potencija x2k+1 , cn+1 = odakle slijedi da je

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 520

k = 0, . . . , n. Iz rekurzije (9.5.8) na osnovu toga zaklju cimo da je cn = 0, pa preostaje samo izra cunati cn1 . Za k = n 1, iz (9.5.7) imamo da je
1 1

xPn1 (x) Pn (x) dx = cn1

2 Pn 1 (x) dx.

Zbog xPn1 (x) =

2n1 [(n
1

i ortogonalnosti Pn na sve ni ze potencije od x, dobivamo (2n 2)! n 2 1 [(n 1)!]2


1

(2(n 1))! xn + ni ze potencije od x 2 1)!]

x Pn (x) dx = cn1

2 Pn 1 (x) dx.

Ovi integrali su poznati (lema 9.5.2 i lema 9.5.3), pa slijedi cn 1 = n . 2n + 1

Tako smo na sli sve nepoznate koecijente u linearnoj kombinaciji (9.5.8), odakle odmah slijedi tro clana rekurzija. Primijetimo da smo usput dokazali i formulu
1

xPn1 (x) Pn (x) dx =

n 2 2n = 2 . 2n + 1 2n 1 4n 1

(9.5.9)

Zadatak 9.5.2 Budu ci da Legendreovi polinomi zadovoljavaju tro clanu rekurziju, mogu ce je napisati algoritam za brzu sumaciju parcijalnih suma redova oblika
n=0

an Pn (x),

poznat pod nazivom generalizirana Hornerova shema. Koriste ci rekurziju iz leme 9.5.5, napi site eksplicitno taj algoritam. Razvoji po Legendreovim polinomima pojavljuju se cesto kod rje savanja Laplaceove jednad zbe u sfernim koordinatama. Sljede ce dvije leme korisne su za dobivanje ekplicitnih formula za te zine u GaussLegendreovim formulama. Lema 9.5.6 (ChristoelDarbouxov identitet) Za Legendreove polinome Pn vrijedi
n

(t x)

k =0

(2k + 1)Pk (x)Pk (t) = (n + 1) [Pn+1(t)Pn (x) Pn (t)Pn+1 (x)].

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 521

Dokaz. Pomno zimo li rekurziju iz leme 9.5.5 (uz zamjenu n k ) s Pk (t), dobijemo (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 clanovi u sumi na desnoj strani se krate, pa ostaju samo prvi i zadnji
n

(t x)

k =1

(2k + 1)Pk (x)Pk (t) = (n + 1) [Pn+1(t)Pn (x) Pn (t)Pn+1 (x)] (t x).

Zadnji clan mo zemo prebaciti na lijevu stranu kao nulti clan u sumi, a to je ba s ChristoelDarbouxov identitet. Lema 9.5.7 Derivacija Legendreovih polinoma mo ze se rekurzivno izraziti pomo cu samih Legendreovih polinoma, formulom
(1 x2 )Pn (x) + nxPn (x) = nPn1 (x),

n 1.

Dokaz. Polinom (1 x2 )Pn + nxPn je o cito stupnja manjeg ili jednakog od n + 1. Napi simo Pn kao linearnu kombinaciju potencija od x (pojavljuje se samo svaka 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 2 )P n (x) n1 i=0

(1 x

+ nxPn (x) =

ci Pi (x).

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 522

Pomno zimo ovu relaciju s Pk (x) i integriramo od 1 do 1. Zbog ortogonalnosti, na desnoj strani ostaje samo jedan clan 2 ck = 2k + 1
1 1

(1 x

) Pn (x) Pk (x) dx

+n
1

xPn (x) Pk (x) dx.

Prvi integral integriramo parcijalno, pa kako se faktor (1 x2 ) poni stava 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 najvi se n 1), pa su svi ovi integrali jednaki nula (lema 9.5.2), tj. ck = 0 za k < n 1. Za k = n 1 treba izra cunati dva integrala u prethodnoj relaciji. Drugi je jednostavan
1

n
1

xPn (x) Pn1 (x) dx = (9.5.9) =


1

2n2 . 4n2 1

U prvom integralu Pn (x) d [(1 x2 )Pn1 (x)] dx, dx

zbog prve tvrdnje u lemi 9.5.2 (ortgonalnost), doprinos daje samo vode ci clan u (1 x2 )Pn1 (x), pa je taj integral jednak
1

Pn (x)
1

d (2n 2)! x2 n1 xn1 dx, dx 2 [(n 1)!]2

a zbog druge tvrdnje u lemi, integral se svodi na (2n 2)! 2n+1 (n!)2 2n(n + 1) ( n + 1) = . n 1 2 2 [(n 1)!] (2n + 1)! (2n + 1)(2n 1) cn 1 = 2n 1 2n(n + 1) 2n2 + = n, 2 (2n + 1)(2n 1) (2n + 1)(2n 1)

Na kraju je

sto smo i htjeli dokazati. Lema 9.5.8 Te zinski faktori u GaussLegendreovim formulama mogu se eksplicitno izra cunati formulama 2(1 x2 i) wi = 2 , n [Pn1 (xi )]2 gdje su xi , i = 0, . . . , n, nulto cke Legendreovog polinoma Pn .

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 523

Dokaz. Neka je xi nulto cka polinoma Pn . Stavimo li t = xi u ChristoelDarbouxov 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 polinom ortogonalan na konstantu Pk (xi ), na desnoj strani preostane samo clan za k=0 1 Pn (x) 2 dx = . (x xi ) (n + 1)Pn+1 (xi )
1

Tro clana rekurzija iz leme 9.5.5 u nulto cki xi Legendreovog polinoma Pn ima oblik (n + 1)Pn+1 (xi ) = nPn1 (xi ), pa je stoga
1

Pn (x) 2 dx = . (x xi ) nPn1 (xi )

Za te zinske koecijente wi vrijede relacije (9.5.5) i (9.5.4)


1 1

wi =
1

i (x) dx =
1

n (x) dx = n (xi )(x xi ) 2

Pn (x) Pn (xi )(x 1 .

xi )

dx,

pa je dakle wi =

(x ) P nPn i n1 (xi )

(9.5.10)

Primijetimo da je ChristoelDarbouxov identitet potreban jedino zato da se izra cuna neugodan integral 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 slu caju kada je x = xi . Dobivamo da vrijedi
(1 x2 i )Pn (xi ) = nPn1 (xi ).

Uvrstimo li taj rezultat u (9.5.10), tvrdnja slijedi. U dokazu prethodne leme 9.5.8 pokazali smo (usput) da u nulto cki xi Legendreovog polinoma Pn vrijedi
(1 x2 i )Pn (xi ) = nPn1 (xi ) = (n + 1)Pn+1 (xi ).

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 524

Ovu relaciju mo zemo iskoristiti na razli cite na cine u (9.5.10), sto daje pet raznih formula za te zinske koecijente u GaussLegendreovim formulama 2(1 x2 2(1 x2 i) i) wi = = 2 [nPn1 (xi )] [(n + 1)Pn+1 (xi )]2 2 2 = = nPn (xi ) Pn1 (xi ) (n + 1)Pn (xi ) Pn+1 (xi ) 2 = . 2 (1 x2 i ) [Pn (xi )]

(9.5.11)

Sljede ci teorem rezimira prethodne rezultate, i ujedno daje ocjenu gre ske za 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 nulto cke Legendreovog polinoma Pn i koecijenti wi dani u (9.5.11). Za gre sku En (f ) vrijedi En (f ) = 22n+1 (n!)4 f (2n) ( ), (2n + 1) [(2n)!]3 (1, 1).

Dokaz. Treba samo dokazati formulu za ocjenu gre ske. Kako je GaussLegendreova formula zapravo integral Hermiteovog interpolacijskog polinoma, treba integrirati gre sku kod Hermiteove interpolacije, koju smo procijenili u teoremu 7.2.5, i uvrstiti odgovaraju ci n . Integracijom i primjenom teorema srednje vrijednosti za integrale, dobivamo 1 f (2n) ( ) 2 En (f ) = n (x) dx, (2n)!
1

za neki (1, 1). Kako je 2n (n!)2 n (x) = Pn (x), (2n)! zbog poznatog kvadrata norme Legendreovog polinoma (lema 9.5.3), imamo En (f ) = f (2n) ( ) 2n (n!)2 (2n)! (2n)!
2

2 22n+1 (n!)4 = f (2n) ( ). 3 2n + 1 (2n + 1) [(2n)!]

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 525

Navedeni izraz za gre sku nije lagano primijeniti, budu ci da je potrebno na ci neku ogradu za vrlo visoku derivaciju funkcije f (red derivacije je dva puta ve ci nego kod NewtonC otesovih formula). Clan uz f (2n) ( ) vrlo brzo pada s porastom n. Na primjer, za n = 6, gre ska je oblika 1.6 1012 f (12) ( ). Da ocjena gre ske za Gaussove formule mo ze biti previ se pesimisti cna, pokazuje sljede ci primjer. 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) dx. log 1 + 4 4

U ovom slu caju mo zemo lagano izra cunati bilo koju derivaciju podintegralne funkcije, koja raste s faktorijelima. Zapravo, sve ocjene gre ske formula za numeri cku integraciju pokazuju sli cno pona sanje (usporedite, na primjer, trapeznu i Simpsonovu formulu), ali Gaussove formule naro cito, budu ci da uklju cuju visoke derivacije. Tako je, na primjer, osma derivacija, koja je potrebna za Gaussovu formulu s cetiri to cke jednaka 7! 9 , 4 (1 + t)8 pa je gre ska 7! puta ve ca nego da smo, recimo, integrirali trigonometrijsku funkciju sin ili cos, koje imaju ograni cene derivacije. Ipak, lagano vidimo da ve c sa sest to caka dobivamo 6 znamenaka to cno, iako ocjena gre ske uklju cuje faktor od 11!. Simpsonovoj formuli treba 64 to cke za istu to cnost. Mo zemo slutiti, da je za analiti cke funkcije mogu ca bolja ocjena gre ske. Korolar 9.5.1 (Uvjeti egzaktnosti) GaussLegendreova formula egzaktno integrira polinome stupnja 2n 1. Dokaz. O cito, budu ci da se gre ska, koja uklju cuje 2n-tu derivaciju, poni stava na takvim polinomima. Svojstvo iz gornjeg korolara mo ze se upotrijebiti za alternativni dokaz teorema 9.5.2, kao sto smo napomenuli na po cetku. Hermiteova interpolacija poslu zila je kao trik, da izbjegnemo rje savanje nelinearnog sistema koji proizilazi iz uvjeta egzaktnosti.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 526

Rekurziju za derivacije Legendreovih polinoma iz leme 9.5.7 mo zemo koristiti i za ra cunanje vrijednosti Pn (x)
(1 x2 )Pn (x) = n(Pn1 (x) xPn (x)),

n 1.

Na zalost, ova formulu ne mo zemo upotrijebiti u rubnim to cakama x = 1, zbog dijeljenja s nulom. Medutim, Legendreovi polinomi zadovoljavaju i mnoge druge rekurzivne relacije. Neke od njih dane su u sljede cem zadatku. Zadatak 9.5.3 Doka zite da za Legendreove polinoma vrijedi Pn (1) = 1, za n 0, sto opravdava izbor normalizacije. Takoder, doka zite da za n 1 vrijede rekurzivne relacije Pn (x) xPn 1 (x) = nPn1 (x), xPn (x) Pn 1 (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 mo zemo shvatiti i kao rje senje optimizacijskog problema: na ci to cke integracije tako da egzaktno integriramo polinom sto ve ceg stupnja sa sto manje cvorova. Rezultat su formule visoke to cnosti, koje se lagano implementiraju, i imaju vrlo mali broj izvrednjavanja podintegralne funkcije. Cijenu smo platili time sto ocjena gre ske zahtijeva vrlo glatku funkciju, sto upotreba takvih formula na nijoj mre zi zahtijeva ponovno ali takoder i time ra cunanje funkcije u drugim cvorovima, koji s cvorovima formule ni zeg reda nemaju ni sta zajedni cko. Kod pronjavanja mre ze cvorova za formule NewtonC otesovog tipa (na primjer, raspolavljanjem h), naprotiv, jedan dio cvorova ostaje zajedni cki, pa ve c izra cunate funkcijske vrijednosti mo zemo iskoristiti (kao u Rombergovom algoritmu).

9.5.2.

Druge Gaussove integracijske formule

U praksi se cesto javljaju specijalni integrali koji uklju cuju te zinske funkcije x x 2 poput e , e i mnoge druge, na specijalnim intervalima, cesto neograni cenim. Jednostavnom linearnom supstitucijom nije mogu ce takve intervale i/ili te zinske funkcije prebaciti na interval (1, 1) i jedini cnu te zinsku funkciju situaciju u kojoj mo zemo primijeniti GaussLegendreove formule. Alternativa je iskoristiti odgovaraju ce Gaussove formule s prirodnom te zinskom funkcijom. Iz prethodnog odjeljka znamo da za cvorove integracije treba uzeti nulto cke funkcije n (x) = (x x1 ) (x xn ), s tim da vrijede relacije ortogonalnosti (9.5.3). Te zine wi onda mo zemo odrediti rje savanjem linearnog sistema, a

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 527

mo zda u specijalnim slu cajevima mo zemo do ci i do eksplicitnih formula, kao sto smo to u cinili u slu caju GaussLegendreovih formula. Postavlja se pitanje da li mo zemo do ci do formula za polinome koji su ortogonalni (obzirom na te zinsku funkciju w ) na polinome ni zeg stupnja, uklju civo i ostale formule na koje smo se oslanjali, poput tro clane rekurzije i sli cno (v. lema 9.5.2). U mnogim va znim slu cajevima, ali ne i uvijek, mogu ce je analiti cki do ci do formula sli cnim onima u slu caju GaussLegendreove integracije. U drugim slu cajevima, koji nisu pokriveni egzaktnim formulama, u principu je mogu ce generirati ortogo sevljev algoritam) nalne polinome i numeri cki. Poznati postupci (Stieltjesov i Cebi ne pokrivaju, medutim, sve mogu ce situacije, tj. nisu uvijek numeri cki stabilni, sto ostavlja postora za daljnja istra zivanja. Slu cajevi tzv. klasi cnih ortogonalnih polinoma uglavnom se mogu karakterizirati na osnovu sljede ca dva teorema, od kojih je prvi egzistencijalni, i vezan uz teoriju rubnih problema za obi cne diferencijalne jednad zbe. Teorem 9.5.3 (Generalizirana Rodriguesova formula) Na otvorenom intervalu (a, b) postoji, do na multiplikativnu konstantu, jedinstvena funkcija Un (x) koja zadovoljava diferencijalnu jednad zbu 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 o cito po kojoj varijabli se derivira, jer ta oznaka znatno skra cuje zapis nekih dugih formula. Onda n-tu derivaciju funkcije f u to cki x mo zemo pisati u bilo kojem od sljede ca tri oblika D n f (x) = dn f (x) = f (n) (x). dxn

Budu ci da nas interesiraju rje senja koja se mogu eksplicitno konstruirati, ne cemo dokazivati ovaj teorem. U svakom konkretnom slu caju, za zadane a, b i w (x), konstruirat cemo funkciju Un formulom. Napomenimo jo s da teorem 9.5.3 vrijedi i na neograni cenim i poluograni cenim intervalima, tj. u slu cajevima a = i/ili b = . Funkcije Un iz prethodnog teorema generiraju familiju ortogonalnih polinoma na (a, b) s te zinskom funkcijom w .

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 ni zeg stupnja na intervalu (a, b) obzirom na te zinsku funkciju w (x), tj. vrijedi
b

w (x) pn (x) xk dx = 0,
a

za

k = 0, 1 , . . . , n 1 .

Dokaz. Funkcija pn je o cito polinom stupnja n, jer je D n+1 pn (x) = 0. Da doka zemo 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 n 1, 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)

xk1 D n1 Un (x) dx
a b b

=0

= k

k 1

n2 =0

Un (x)

(k 1)

xk2 D n2 Un (x) dx
a b b

= = (1)

k 1

k (k 1) 2 x D

nk

Un (x)
b

D nk Un (x) dx
a

=0

= (1)k k (k 1) 2 1 D nk1 Un (x)


=0

= 0,
a

jer je n k 1 0. Primijetimo da smo za dokaz ortogonalnosti iskoristili sve rubne uvjete na funkciju Un . Ovaj teorem u mnogim slu cajevima omogu cava efektivnu konstrukciju ortogonalnih 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 rje savanje diferencijalne jednad zbe 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 poni stava u krajevima mora, zbog simetrije, biti oblika 2 n Un (x) = Cn (x 1) , gdje je Cn proizvoljna multiplikativna konstanta (razli cita od 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 D n (x2 1)n , n 2 n!

tj. dobivamo, o cekivano, Legendreove polinome. Zadatak 9.5.4 Poka zite da je multiplikativna konstanta Cn odabrana tako da vrijedi Pn (1) = 1, za svako n. Takoder, poka zite da vrijedi |Pn (x)| 1, za svaki x [1, 1] i svaki n 0. To zna ci da Pn dosti ze ekstreme u rubovima intervala, sto je dodatno opravdanje za izbor normalizacije, jer je Pn = 1 na [1, 1]. 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 rije siti diferencijalnu jednad zbu 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. O cito je rje senje oblika Un (x) = ex (c0 + c1 x + + cn xn ) + d0 + d1 x + + dn1 xn1 . Rubni uvjet u to cki povla ci d0 = = dn1 = 0, a rubni uvjet u to cki 0 povla ci 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 op cem slu caju, za = 1, uz Cn = 1, lagano vidimo da je pn (x) = Ln (x). Tada vrijede relacije ortogonalnosti
0

ex Lm (x) Ln (x) dx = 0,

m = n.

Napomenimo jo s da oznaku Ln koristimo za ortonormirane Laguerreove polinome. 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. Nadimo pripadne ortogonalne polinome. Prema teoremu 9.5.3, trebamo prvo rije siti diferencijalnu jednad zbu 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,

U op cem slu caju, za 2 = 1, uz Cn = ()n , lagano vidimo da su polinomi koje tra zimo oblika 2 2 2 2 pn (x) = Hn (x) = ()n e x D n (e x ). Pripadne relacije ortogonalnosti su

Odaberemo li 2 = 1 i multiplikativnu konstantu Cn = (1)n , dolazimo do klasi cnih polinoma, koji nose ime Hermiteovi polinomi, u oznaci Hn , s Rodriguesovom formulom 2 2 Hn (x) = (1)n ex D n (ex ).

2 x2

Hm (x) Hn (x) dx = 0,

m = n.

U literaturi se ponekad mo ze na ci jo s jedna denicija za klasi cne Hermiteove poli2 n nome, koja odgovara izboru = 1/2, uz Cn = (1) . Svi ortogonalni polinomi zadovoljavaju tro clane rekuzije (v. izvod Stieltjesovog algoritma uz metodu najmanjih kvadrata). Za Laguerreove i Hermiteove polinome mogu se analiti cki izra cunati koecijenti u rekurziji, postupkom koji je vrlo sli can onom kojeg smo u detalje proveli u slu caju Legendreovih polinoma. Primijetimo, sevljevi polinomi prve vrste zadovoljavaju relacije ortogonalnosti takoder, da i Cebi i tro clanu rekurziju, i da smo taj slu caj do kraja prou cili. Kako su cvorovi Gaussove

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 531

formule integracije reda n nulto cke odgovaraju ceg ortogonalnog polinoma pn , preostaje jo s samo izra cunati te zine wi po formuli (9.5.5). Sasvim op cenito, mo ze se 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 na ci egzaktno. Formule za te zine mogu se dobiti za cijeli niz klasi cnih ortogonalnih polinoma, ali njihovo ra cunanje ovisi o specijalnim svojstvima, posebnim rekurzijama i identitetima oblika ChristoelDarbouxovog. Obzirom na duljinu ovih izvoda, zadovoljimo se s kratkim opisom nekoliko najpoznatijih Gaussovih formula. GaussLaguerreove formule Formule oblika
0 n

f (x) dx

wi f (xi )
i=1

zovu se GaussLaguerreove formule. Cvorovi integracije su nulto cke polinoma Ln deniranih Rodriguesovom formulom Ln (x) = ex a te zine u Gaussovoj formuli su wi = [(n 1)!]2 xi (n!)2 xi = [nLn1 (xi )]2 [Ln+1 (xi )]2 d n n x (x e ), dxn

= =

(n!)2 . xi [Ln (xi )]2

[(n 1)!]2 (n!)2 = Ln (xi ) Ln1 (xi ) Ln (xi ) Ln+1 (xi )

Gre ska kod numeri cke integracije dana je formulom En (f ) = GaussHermiteove formule Formule oblika
n

(n!)2 (2n) f ( ), (2n)!

(0, ).

ex f (x) dx

wi f (xi )
i=1

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 532

zovu se GaussHermiteove formule. Cvorovi integracije su nulto cke polinoma Hn deniranih Rodriguesovom formulom Hn (x) = (1)n ex a te zine u Gaussovoj formuli su 2n+1 n! 2n1 (n 1)! wi = = n[Hn1 (xi )]2 [Hn+1 (xi )]2 2n (n 1)! 2n+1 n! = = Hn (xi ) Hn1(xi ) Hn (xi ) Hn+1(xi ) 2n+1 n! . = (x )]2 [Hn i Gre ska kod numeri cke integracije dana je formulom n! (2n) f ( ), (, ). En (f ) = n 2 (2n)! GaussCebi sevljeve formule Formule oblika
1 n
2

d n x 2 (e ), dxn

1 f (x) dx 1 x2

wi f (xi )
i=1

sev zovu se GaussCebi sevljeve formule. Cvorovi integracije su nulto cke Cebi ljevih polinoma Tn (x) = cos(n arccos(x)). Izuzetno, te se nulto cke mogu eksplicitno izra cunati (2i 1) xi = cos . 2n Sve te zine wi su jednake wi = . n Gre ska kod numeri cke integracije dana je formulom En (f ) = 22n1 (2n)! f (2n) ( ), (1, 1).

Zadatak 9.5.5 Neka je te zinska funkcija w (x) = (x a) (b x) na intervalu (a, b), gdje su > 1 i > 1. Nadite funkciju Ur i napi site Rodriguesovu formulu! Pridru zeni ortogonalni polinomi zovu se Jacobijevi polinomi. Legendreovi i Cebi sevljevi polinomi specijalni su slu caj.

9. NUMERICKA INTEGRACIJA

NUMERICKA INTEGRACIJA 533

Pomo cu Gaussovih formula mo zemo jednostavno ra cunati neke odredene integrale analiti cki, kao sto se vidi iz sljede cih primjera. Primjer 9.5.7 Ako GaussLaguerreovom formulom reda n = 1 ra cunamo integral
0

ex dx,

imamo pribli znu formulu

ex f (x) dx f (1),

budu ci da je L1 (x) = 1 x, pa je x1 = 1 i w1 = 1/[L (1)]2 = 1. Kako formula egzaktno integrira konstante, za f (x) = 1 imamo
0

ex dx = f (1) = 1.

Sli cno, za f (x) = ax + b, budu ci da formula egzaktno integrira i linearne funkcije,


0

ex (ax + b) dx = f (1) = a + b.

sevljevom formulom ra Primjer 9.5.8 Ako GaussCebi cunamo


1

x4 dx 1 x2

seva reda 3, koja zahtijeva nulto zgodno je upotrijebiti formulu GaussCebi cke poli 3 noma T3 (x) = 4x 3x, a to su x1 = 0, x2,3 = 3/2. Formula vodi na egzaktan rezultat 1 x4 9 9 3 dx = 0+ + = . 2 3 16 16 8 1x
1

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 534

10. Obi cne diferencijalne jednad zbe


10.1. Uvod

Rje savanje diferencijalnih jednad zbi je problem koji se cesto javlja u raznim primjenama. Dok je nekim jednad zbama rje senje mogu ce eksplicitno izraziti pomo cu poznatih funkcija, daleko su brojnije one jednad zbe za koje ne mo zemo napisati egzaktno rje senje. Stoga takve jednad zbe rje savamo numeri cki. Ponekad je cak br ze i jednostavnije izra cunati rje senje numeri ckim putem umjesto dugotrajnim analiti ckim postupkom. Opisat cemo nekoliko naj ce s cih numeri ckih metoda za rje savanje obi cnih diferencijalnih jednad zbi (skra ceno ODJ) oblika y (x) = f (x, y (x)), y (a, b), (10.1.1)

uz zadani po cetni uvjet y (a) = y0 ili uz zadani rubni uvjet r (y (a), y (b)) = 0, gdje je r neka zadana funkcija. Sustav obi cnih diferencijalnih jednad zbi je op cenitiji problem:
y1 = f1 (x, y1 , . . . , yn ), y2 = f2 (x, y1 , . . . , yn ), . . . yn = fn (x, y1 , . . . , yn ).

Medutim, koriste ci vektorsku notaciju y = [y1 , . . . , yn ]T i f = [f1 , . . . , fn ]T

sustav pi semo u obliku analognom jednad zbi (10.1.1): y (x) = f (x, y(x)),

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 535

te primijenjujemo iste numeri cke metode kao za rje savanje diferencijalne jednad zbe (10.1.1) vode ci ra cuna o tome da se umjesto skalarnih funkcija y i f javljaju vektorske funkcije y i f . Diferencijalne jednad zbe vi seg reda y (n) = f (x, y, y , y , . . . , y (n1)) supstitucijama y1 = y, y2 = y , ..., yn = y (n1) svodimo na sustav jednad zbi prvog reda:
y1 = y = y2 , y2 = y = y3 , . . . (n1) yn = yn , 1 = y

yn = y (n) = f (x, y, y , y , . . . , y (n1) ) = f (x, y1 , y2, y3 , . . . , yn ),

te i u ovom slu caju mo zemo koristiti metode razvijene za diferencijalnu jednad zbu (10.1.1). I za sustav diferencijalnih jednad zbi i za jednad zbu vi seg reda razlikujemo inicijalni (po cetni ili Cauchyjev) problem i rubni problem. U ovom poglavlju prikazat cemo sljede ce metode za rje savanje inicijalnog problema: RungeKuttine metode,

linearne vi sekora cne metode.

10.2.

Inicijalni problem za obi cnu diferencijalnu jednad zbu. Eulerova metoda

Eulerova metoda je zasigurno najjednostavnija metoda za rje savanje inicijalnog problema za ODJ oblika y = f (x, y ), y (a) = y0 . Metoda se zasniva na ideji da se y u gornjoj jednad zbi zamijeni s podijeljenom razlikom y (x + h) y (x) y (x) = + O(h), h pa rje senje diferencijalne jednad zbe zadovoljava 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 clana u gornjem razvoju dobivamo aproksimaciju y (x + h) y (x) + hf (x, y (x)). Ova formula je to cnija sto je h manji, tako da aproksimacija y (b) y (a) + (b a)hf (a, y (a)) = y0 + hf (a, y0 ) mo ze biti jako neprecizna. Stoga interval [a, b] podijelimo na n jednakih dijelova te stavimo ba h= , xi = a + ih, i = 0, . . . , n. n Kori stenjem (10.2.1), prvo aproksimiramo rje senje u to cki x1 = a + h y (x1) y1 = y0 + hf (x0 , y0 ). Dobivenu aproksimaciju y1 iskoristimo za ra cunanje aproksimacije rje senja u to cki 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 mo zemo ga kra ce zapisati rekurzijom yi+1 = yi + hf (xi , yi ), i = 1, . . . , n, gdje je po cetni uvjet y0 zadan kao inicijalni uvjet diferencijalne jednad zbe. Dobivene vrijednosti yi su aproksimacije rje senja diferencijalne jednad zbe u to ckama xi . (10.2.1)

10.3.

RungeKuttine metode
y = f (x, y ),

Koriste ci sli cnu ideju kao u Eulerovoj metodi, diferencijalnu jednad zbu y (a) = y0 (10.3.1)

na intervalu [a, b], mo zemo rje savati tako da podijelimo interval [a, b] na n jednakih podintervala, ozna civ si h= ba , n xi = a + ih, i = 0, . . . , n.

Sada yi+1 , aproksimaciju rje senja u to cki xi+1 , ra cunamo iz yi kori stenjem 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 razli cit izbor te funkcije denira razli cite metode. Uo cimo da je funkcija f iz diferencijalne jednad zbe (10.3.1) parametar od (tj. zavisi o f ). Tako je npr. u Eulerovoj metodi (x, y, h; f ) = f (x, y ). Metode oblika (10.3.3) zovemo jednokora cne metode (jer za aproksimaciju yi+1 koristimo samo vrijednost yi u prethodnoj to cki xi , tj. u jednom koraku dobijemo yi+1 iz yi ). Da bismo pojednostavili zapis, ubudu ce cemo f izostaviti kao argument funkcije . O odabiru funkcije ovisi i to cnost metode. Za o cekivati je da ako izaberemo tako da aproksimacija to cnog rje senja y (x + h) dana s (10.3.2) bude sto to cnija, da ce to cnija biti i aproksimacija yi za y (xi ) dana rekurzijom (10.3.3). Pogre sku aproksimacije (10.3.2): (x; h) = (x; h) (x, y (x), h), gdje je y (x) to cno rje senje diferencijalne jednad zbe (10.3.1) i (x; h) = y (x + h) y (x) , h (10.3.4)

nazivamo lokalna pogre ska diskretizacije. Red metode odgovara njezinoj to cnosti. Op cenito, za jednokora cne metode ka zemo da su reda p ako je (x; h) = O(hp ). je ve Sto ci p metoda je to cnija, a to posti zemo odabirom funkcije . Pod to cno s cu metode podrazumijevamo pona sanje pogre ske y (xi ) yi. Da bismo pojednostavnili argumentaciju, promatrat cemo pogre sku u ksiranoj to cki b. Ako je jednokora cna metoda reda p, tada je y (b) yn = O(hp ). Uo cimo da je h = (b a)/n te da je yn uvijek (za svaki n) aproksimacija za y (b). Najpoznatije jednokora cne metode su svakako RungeKuttine metode. Kod 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 ozna cava koliko puta moramo ra cunati funkciju f u svakom koraku. Razli cit izbor koecijenata j , cj i ajl denira razli cite metode. Ovi koecijenti se naj ce s ce biraju tako da red metode bude sto je mogu ce ve ci. Iz izraza (10.3.5) vidimo da se kj nalazi na lijevoj i na desnoj strani jednad zbe, tj. zadan je implicitno te govorimo o implicitnoj RungeKuttinoj metodi. U praksi se najvi se koriste metode gdje je ajl = 0 za l j . Tada kj mo zemo izra cunati preko k1 , . . . , kj 1 , tj. funkcije kj su zadane eksplicitno. Takve RK metode nazivamo eksplicitnima. Nadalje, obi cno se dodaje uvjet
r

ajl = cj .
l=1

Ovaj izvor koecijenata cj je detaljnije obja snjen u poglavlju 10.3.1.. Primjer odabira koecijenata prikazat cemo na RK metodi s dva stadija: (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 odgovaraju ce druge parcijalne derivacje. Razvoj rje senja diferencijalne jednad zbe y (x) ima oblik 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 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 pogre ska diskretizacije jednaka 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 1 2 a2 2 2 + fy (fx + fy f ) + h (fxx + 2fxy f + fyy f ) 6 2 6 + O(h3 ).

Ovdje smo iskoristili da je y (x) rje senja diferencijalne jednad zbe:

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 539

Da bi metoda bila reda 1 koecijente treba odabrati tako da se poni sti prvi clan u gornjem razvoju: 1 1 2 = 0. 1 2 a = 0 2 metoda ce biti reda 2. Uvodenjem slobodnog koecijenta t rje senje ove dvije jednad zbe mo zemo napisati u obliku: 2 = t = 0, 1 = 1 t, a= 1 . 2t Ukoliko je zadovoljeno i

Uo cimo da t ne mo zemo odabrati tako da poni stimo i clan uz h2 tako da metoda 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 (k 1 + k 2 ), 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 Najra sirenije su metode sa cetiri stadija. Odgovaraju ce jednad zbe koje moraju zadovoljavati koecijenti RK-4 metoda su: 1 + 2 + 3 + 4 = 1, 1 2 c2 + 3 c3 + 4 c4 = , 2 1 2 2 2 c2 2 + 3 c3 + 4 c4 = , 3 1 3 c2 a32 + 4 (c2 a42 + c3 a43 = , 6 1 3 3 2 c3 2 + 3 c3 + 4 c4 = , 4 1 2 2 3 c2 , 2 a32 + 4 (c2 a42 + c3 a43 ) = 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 jednad zbi ukoliko je metoda reda 4. Za metodu s tri stadija uvr stavanjem c4 = a41 = a42 = a43 = 4 = 0 dobivamo 9 koecijenata i 7 jednad zbi. Metoda s cetiri stadija mo ze posti ci najvi se red cetiri, tj. ne mo zemo dva stupnja slobode iz sustava jednad zbi iskoristiti da red metode podignemo na pet. Op cenito, za metode s jednim, dva, tri i cetiri stadija najve ci mogu ci red metode odgovara broju stadija. Za metode s 5, 6 i 7 stadija najve ci mogu ci red je 4, 5 i 6, dok je za metode s 8 i vi se stadija najve ci mogu ci red barem za dva manji od broja stadija. To je razlog za sto su metode s cetiri stadija najpopularnije. Red je 4, a da bismo postigli red 5 trebamo pove cati broj stadija barem za dva, sto pove cava slo zenost metode. Evo nekoliko primjera RK-4 metoda. Najpopularnija je klasi cna Runge Kutta metoda, koja se u literaturi naj ce s ce naziva RungeKutta ili RK-4 metoda (iako je to samo jedna u nizu RungeKutta metoda): 1 = (k 1 + 2 k 2 + 2 k 3 + k 4 ), 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 s i 3/8-sku metodu: 1 = (k 1 + 3 k 2 + 3 k 3 + k 4 ), 8 k1 = f (x, y ), h h k2 = f x + , y + k1 , 3 3 2 h 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 h 21 2 2 = f x + ,y + h k1 + h k2 , 2 2 2 2 2+ 2 = f x + h, y h k2 + h k3 . 2 2

10.3.1.

Jo s o koecijentima za RungeKuttine metode

U prija snjem smo poglavlju pokazali da za RK-2 i RK-4 metode treba vrijediti j = 1
j

da bi ove bile konzistentne s redom ve cim od 1. To vrijedi i op cenito za sve RK metode, sto cemo pokazati u sljede cem teoremu. Teorem 10.3.1 RungeKuttina metoda sa s stadija ima red konzistencije ve ci ili 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 pogre ska diskretizacije (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)].

Budu ci da je y rje senje diferencijalne jednad zbe y = f (x, y ), vrijedi (x; h) = f (x, y )
j

j f (x, y ) + O(h) = f (x, y ) 1

j + O(h),

odakle lagano slijedi tvrdnja teorema.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 542

Slijede ca zanimljivost vezana je uz odredivanje koecijenata cj . U deniciji metode smo spomenuli da je uobi cajeni izbor cj =
l

ajl .

Medutim, ostaje pitanje da li mo zemo pove cati red konzistencije druga cijim izborom koecijenata cj . Odgovor je ne, i to nam pokazuje sljede ci teorem. Teorem 10.3.2 Neka je RK metoda zadana s
s

yi+1 = yi + h
j =1

j , k

j = f x + c k j , y + h

s l=1

l ajl k

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 rje senje diferencijalne jednad zbe y = f (x, y ). Tada je y= rje senje jednad zbe y = y 1 = f (x, y ) = f (y ). 1 y x (10.3.14)

i aproksimacija za y(xi ) dobivena metodom (10.3.2). S y Neka je y i i x i ozna cit cemo i: komponente vektora y y i = i . y x i Budu ci da je red metode p , vrijedi
i y(xi ) = O(hp y ).

Uo cimo da je j = f y + k
l

l ajl k

k = j 1
l

f x + cj h, y + h 1

l ajl k

f x+h
l

ajl , y + h
l

l ajl k

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 543

l ozna l . Uo j = kj , a kj je deniran gdje k cava prvu komponentu vektora k cimo da je k metodom (10.3.2), te vrijedi j = j k
j

i+1 = y i + h y

y i +h x i

j
j

kj 1

yi + h
j

j kj j
j

x i + h

Iz
j

j = 1 izlazi da je x i+1 = x i + h, a upotrebom matemati cke indukcije za

klju cimo da je x i = xi = x0 + ih. Sada je y i+1 xi+1 = y i + h


j

j kj

xi+1

Ukoliko s yi ozna cimo aproksimaciju rje senja jednad zbe y = f (x, y ) dobivenog metodom (10.3.2), zbog istih po cetnih uvjeta slijedi da je yi = y i . Ova cinjenica povla ci da je i y y (xi ) y y (xi ) i y(xi ) = i y = i x i xi 0 te za bilo koju od uobi cajenih normi
1, 2

ili

vrijedi

i Y (xi ) = O(hp yi y (xi) = Y ),

pa je metoda (10.3.2) reda barem p , tj. vrijedi p p .

10.3.2.

Konvergencija jednokora cnih metoda

U ovom odjeljku promatramo pona sanje konvergencije pribli znog rje senja yi dobivenog jednokora cnom metodom. Na po cetku, denirajmo prostor Fn (a, b) kao prostor funkcija s trake (a, b) Rd1 u R za koje su sve parcijalne derivacije do uklju civo n-tog reda neprekidne i ograni cene. U daljnjem tekstu pretpostaviti cemo da je f F1 (a, b), a s y cemo ozna citi egzaktno rje senje inicijalnog problema y = f (x, y ), y (x0 ) = y0 , x0 [a, b], y 0 R.

Uo cimo da pretpostavka f F1 (a, b) povla ci egzistenciju i jedinstvenost rje senja y na intervalu [a, b]. Neka (x, y ; h) denira jednokora cnu metodu yi+1 = yi + h(xi , yi ; h), i = 0, 1 , 2 , . . .

gdje je xi+1 = xi + h. Zanima nas pona sanje pogre ske ei = yi y (xi ).

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 544

Za ksirani x [a, b] deniramo korak hn = i globalnu pogre sku diskretizacije e(x; hn ) = yn y (x). Sada za svaki n N vrijedi xn = x, te mo zemo promatrati globalnu pogre sku diskretizacije kada n . Denicija 10.3.1 Jednokora cna metoda je konvergentna ako
n

x x0 n

lim e(x; hn ) = 0

za sve x [a, b] i sve f F1 (a, b). Pokazat cemo da su metode reda p > 0 konvergentne, i stovi se, da vrijedi e(x; hn ) = O(hp n ). Red globalne pogre ske diskretizacije je dakle jednak redu lokalne pogre ske diskretizacije. Prvo cemo dokazati sljede cu lemu. 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 n e 1 , en |0| + B jer je 0 < 1 + < e za > 1. > 0, B 0, i = 0, 1 , 2 , . . .

en 1 B.

Pomo cu ove leme dokazujemo sljede ci, glavni, teorem.

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 rje senje y (x). Neka je funkcija neprekidna na 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 , 0 < h h0 , takav da globalna pogre za sve x [a, b], h h0 . Tada postoji h ska diskretizacije zadovoljava |e(x; hn )| |hn |p N eM |xx0 | 1 M

. Ako je = , tada za sve x [a, b] i hn = (x x0 )/n, n = 1, 2, . . ., uz |hn | h je h = h0 . Dokaz. Funkcija za (x, y, h) G, (x, y ; h) = (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)
(x, y ; h),

= {(x, y, h) | x [a, b], y R, |h| h0 } i zadovoljava je o cito neprekidna na G uvjet |(x, y1 ; h) (x, y2 ; h)| M |y1 y2 | (10.3.15) , i = 1, 2. Zbog (x, y (x); h) = (x, y (x); h) takoder vrijedi za sve (x, yi , h) G |(x; h) (x, y (x); h)| N |h|p , za x [a, b], |h| h0 . (10.3.16)

Neka jednokora cna metoda generirana s denira aproksimacije y i za y (xi ), xi = x0 + ih: y i+1 = y i + h(xi , y i; h). Zbog y (xi+1 ) = y (xi ) + h(xi ; h), za pogre sku e i = y i y (xi ), oduzimanjem, dobivamo rekurzivnu formulu e i+1 = e i + h[(xi , y i; 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 , y i ; h) (xi , y (xi ); h) M |y i y (xi )| = M |e i |, |(xi , y (xi); h) (xi ; h)| N |h|p , te dobivamo rekurzivnu ocjenu |e i+1 | (1 + |h|M )|e i | + N |h|p+1 . Kori stenjem e 0 = y 0 y (x0 ) = 0, iz leme slijedi |e k | N |h|p 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 ) = e n slijedi |e ( x; hn )| N |h|p eM |xx0 | 1 M

za sve x [a, b] i hn za koje je |hn | h0 . Budu ci da je |x x0 | |b a| i > 0, , 0 < h h0 takav da je |e , tj. za postoji h (x; hn )| za sve x [a, b], |hn | h jednokora cnu metodu generiranu s : yi+1 = yi + h(xi , yi ; h) , zbog denicije za , imamo za |h| h y i = yi , e i = ei i (xi , y i; h) = (xi , yi ; h).

Iz prethodnog teorema posebno slijedi da je metoda reda p > 0, koja u okolini rje senja zadovoljava Lipschitzov uvjet, konvergentna. Uo cimo da je ovaj uvjet ispun jen ako (x, y ; h) postoji i neprekidna je u domeni G danoj u teoremu. Teorem, y takoder, daje i gornju ogradu za globalnu pogre sku diskretizacije, koja u principu mo ze biti izra cunata ako znamo M i N . To je u praksi neprakti cno. Tako je za Eulerovu metodu N i 1 |fx (x, y (x)) + fy (x, y (x))f (x, y (x))| 2 M

Tvrdnja teorema dakle slijedi za sve x [a, b] i sve hn = (x x0 )/n, n = 1, 2, . . ., . uz |hn | h

| = |fy (x, y (x))|, y dok za RK-4 metode treba ocijeniti cetvrte derivacije funkcije f .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 547

10.3.3.

RungeKuttaFehlbergove metode. koraka integracije.

Odredivanje

Iako smo u pro slom potpoglavlju pretpostavili da je korak integracije h konstantan tijekom cijelog postupka rje savanja diferencijalne jednad zbe, o cito je da se h mo ze mijenjati u svakom koraku integracije, pa jednokora cnu metodu mo zemo pisati u obliku: yi+1 = yi + hi (xi , yi, hi ). Prvo cemo pokazati kako se odreduje duljina koraka hi tako da bude postignuta neka unaprijed zadana to cnost . zadane dvije metode reda p i p + 1. Tada ra Neka su s i cunamo aproksimacije yi+1 = yi + hi (xi , yi, hi ), xi , yi, hi ). y i+1 = yi + hi ( Iz (10.3.4) slijedi da je:
+1 +2 y (xi + hi ) = y (xi ) + hi (xi , y (xi), hi ) + C (xi )hp + O(hp ), i i p +2 xi , y (xi), hi ) + O(hi ). y (xi + hi ) = y (xi ) + hi (

Cilj je da pogre ska u i-tom koraku bude manja od . Stoga cemo pretpostaviti da je aproksimacija yi za y (xi ) to cna, tj. yi = y (xi ). Sada oduzimanjem gornje dvije jednad zbe slijedi
+1 +2 xi , yi, hi )] = C (xi )hp hi [(xi , yi, hi ) ( + O(hp ). i i

(10.3.17)

Iz prve dvije jednakosti oduzimanjem slijedi xi , yi , hi )] = y hi [(xi , yi , hi ) ( i+1 yi+1 , te uvr stavanjem u (10.3.17) dobivamo
+1 +2 yi+1 y i+1 = C (xi )hp + O(hp ). i i

Zanemarivanjem vi sih clanova u razvoju pogre ske, dobivamo


+1 yi+1 y i+1 C (xi )hp i

Uz pretpostavku da se clan C (x) u pogre sci ne mijenja brzo, tj. C (xi ) C (xi1 ), uvjet da pogre ska u i-tom koraku bude manja od sada glasi:
+1 +1 |y (xi+1) yi+1 | |C (xi )hp | |C (xi1 )hp | i i

+1 yi y i C (xi1 )hp i1 .

y i yi p+1 , +1 hi hp i1

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 548

odnosno

+1 +1 hp hp i i1

Iz ovoga slijedi da za novi korak trebamo izabrati hi = hi1


p+1

. |y i yi | . |y i yi |

Ukoliko je prethodni korak bio uspje san, tada je zadovoljeno |y i yi | , te je stoga hi hi+1 . Ako gornja nejednakost ne vrijedi, (i 1)-vi korak treba ponoviti uz manji hi1 . To se obi cno radi samo ako je nejednakost zna cajnije naru sena, npr. ako je |y i yi | > 2. Izbor koraka mo zemo modicirati, tako da zahtijevamo da je pogre ska u svakom koraku proporcionalna koraku integracije, tj. da je manja od hi . Uvr stavanjem ovog zahtjeva dobivamo izbor: hi = hi1
p

hi1 . |y i yi |

Sljede ca modikacija koristi korigiraju ci faktor : hi = hi1


p

hi1 , |y i yi |

koji slu zi da ispravi pogre sku nastalu odbacivanjem vi sih clanova u ocjeni pogre ske. Obi cno je = 0.9. Prikazani izbor koraka vrijedi za bilo koji par jednokora cnih metoda reda p i p+ 1. Primjena RungeKutta metoda zahtijevala bi jednu metodu sa s stadija i jednu sa s +1 stadija, sto op cenito zna ci da bismo u svakom koraku funkciju f iz diferencijalne jednad zbe trebali ra cunati 2s + 1 puta. Postupak se mo ze pojednostavniti ako prvih iskoristimo za s stadija k1 , . . . , ks , ks+1 kori stenih za ra cunanje funkcije prirasta ra cunanje funkcije :
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 ra cunamo samo s + 1 puta.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 549

Ovu ideju cemo ilustrirati na paru RungeKutta metoda reda 2 i 3. Promatramo 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

bila reda 3 trebaju biti zadovoljeni uvjeti (10.3.6) Da bi metoda denirana s (10.3.9), sto je ukupno 4 jednad zbe i 10 koecijenata. Nadalje, metoda reda 2 s 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 cemo za smanjivanje broja ra cunanja funkcije f . Naime, zahtijevat cemo da k4 (xi , yi , hi , f ), zadnji stadij u i-tom koraku, iskoristimo kao k1 (xi+1 , yi+1, hi+1 , f ), prvi stadij u iz ra cunanja (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 rje senja ovog sustava jednad zbi je prikazano u sljede coj tablici. 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 vi sekora cne metode

Kod jednokora cnih metoda je za aproksimaciju yi+1 u to cki xi+1 bilo potrebno poznavanje samo aproksimacije yi u to cki xi . Promatrajmo ponovno diferencijalnu jednad zbu y = f (x, y ), y (x0 ) = y0 .

Integracijom, te primjenom formule srednje to cke za aproksimaciju integrala, slijedi da je


xi+1 xi+1

y (xi+1 ) y (xi1 ) =

y (x) dx =
xi1 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 vrijednosti yi i yi1 , a budu ci da je se radi o dvije to cke, govorimo o dvokora cnoj metodi. Aproksimacija yi+1 zadana je eksplicitno s izrazom na desnoj strani, pa govorimo o eksplicitnoj metodi. Ako umjesto formule srednje to cke pri ra cunanju integrala u (10.4.1) primijenimo Simpsonovu formulu, dobivamo drugu aproksimaciju:
xi+1

y (xi+1) y (xi1 ) = sto vodi na metodu

f (x, y (x)) dx
xi1

h [f (xi1 , y (xi1 )) + 4f (xi , y (xi)) + f (xi+1 , y (xi+1 ))], 3

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, op cenito nelinearne, funkcije f . Dakle, yi+1 je zadan implicitno, pa govorimo o implicitnoj dvokora cnoj metodi. Uo cimo da gornjim formulama ne mo zemo odrediti y1 , pa za njegovo odredivanje treba upotrebiti jednu od jednokora cnih metoda. Op cenito, linearne vi sekora cne metode su oblika
r j =0 r

j yi+1j = h

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 -kora cna metoda. Ukoliko je 0 = 0 metoda je eksplicitna, a za 0 = 0 metoda je implicitna. Uo cimo da prikaz vi sekora cne metode pomo cu koecijenata j i j nije jedin 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 razli citih integracijskih metoda mo zemo dobiti cijeli niz vi sekora cnih metoda. Integracijom jednad zbe y (x) = f (x, y (x)) na nekom zadanom intervalu [xpj , xp+k ] dobivamo
x p+ k

y (xp+k ) y (xpj ) =

f (t, y (t)) dt.


x p j

Ukoliko podintegralnu funkciju f (t, y (t)) zamijenimo interpolacijskim polinomom Pq stupnja q koji interpolira f (t, y (t)) u to ckama xi , tj. ako je Pq (xi ) = y (xi ) = f (xi , y (xi )), i = p, p 1, . . . , p q,
q

kori stenjem interpolacijskog polinoma u Lagrangeovoj formi


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 x p+ k q

y (xp+k ) y (xpj ) gdje smo s qi ozna cili 1 qi = hx


x p+ k

f (xi , y (xi ))
i=0 x p j

i (t) dt = h
i=0

qi f (xi , y (xi)),

i (t) dt =
p j

=0 j l l =i

s+l ds, i + l

i = 0, . . . , q.

(10.4.3)

Zamjenom vrijednosti y (xi ) aproksimacijama yi dobivamo vi sekora cnu metodu oblika q y p +k = y p j + h


i=0

qi fpi .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 552

Najpoznatiji primjeri vi sekora cnih metoda ovog tipa su AdamsBashforthova metoda i AdamsMoultonova metoda. U AdamsBashforthovoj metodi je k = 1 i j = 0 te metoda glasi: Sljede ca tablica prikazuje koecijente qi za ovu metodu, izra cunate prema formuli (10.4.3). i qi 0i 21i 122i 243i 7204i 0 1 3 23 55 1901 16 2774 59 1 5 37 2616 1274 9 251 1 2 3 4 yp+1 = yp + h(q0 fp + q1 fp1 + + qq fpq ). (10.4.4)

Izborom k = 0 i j = 1 dobijamo AdamsMoultonove metode: Za razliku od eksplicitnih AdamsBasforthovih metoda, ove metode su implicitne. Koecijenti su im prikazani u sljede coj tablici. i qi 0i 21i 122i 243i 7204i 0 1 1 5 9 251 1 8 19 646 1 264 5 1 106 19 1 2 3 4 yp+1 = yp + h(q0 fp+1 + q1 fp + + qq fp+1q ). (10.4.5)

Od ostalih vi sekora cnih metoda izvedene iz ovih formula, poznatije su jo s Nystr omove (k = 1 i j = 1) i Milneove (k = 0 i j = 2) metode. Niz metoda mo zemo dobiti i pomo cu formula za deriviranje. Neka je P (x) polinom koji interpolira y (x) u to ckama xni : P (xni) = y (xni ), i = 0, . . . , k. Kori stenjem interpolacijskog polinoma u Lagrangeovoj formi, polinom P (x) mo zemo prikazati u obliku
k k

P (x) =
i=0

i (x)y (xni ),

i (x) =
j =0 j =i

x xnj . xni xnj

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 553

Deriviranjem u cvoru xnr dobivamo P (xnr ) = 1 k hi (xnr )y (xni ). h i=0

Supstitucijama yni y (xni ) i fnr = f (xnr , ynr ) P (xnr ) dobivamo metodu


k i=0

i yni = hfnr .

Uvodenjem oznake p = (x xn )/h, vidimo da koecijenti i = hi (xnr ) d = dp


k j =0 j =i

p+j ji

1 = ri p =r

k j =0 j =i,r

p+j ji

ne ovise o cvorovima xni i sirini mre ze h. Za r = 1 dobivamo eksplicitnu metodu


k i=0

i yni = hfn1 ,

(10.4.6)

dok je za izbor r = 0 metoda implicitna:


k i=0

i yni = hfn .

(10.4.7)

Zbog alternativnog na cina izvoda ovih metoda kori stenjem podijeljenih razlika unazad, ove metode poznate su pod nazivom BDF metode (engl. backward dierence formulas). Koecijenti za eksplicitne i implicitne BDF metode su prikazani u sljede cim dvjema tablicama. 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 vi sekora cnih metoda postavlja se pitanje njihove to cnosti. Kao i kod jednokora cnih metoda, prvo cemo promatrati koliko dobro rje senje diferencijalne jednad zbe y = f (x, y ), zadovoljava rekurzivnu formulu
r j =0 r

y (x0 ) = y0 ,

x0 [a, b],

y0 R

(10.4.8)

j yi+1j = h

j =0

j f (xi+1j , yi+1j ),

(10.4.9)

koja denira vi sekora cnu metodu. U gornju cemo rekurziju umjesto yj uvrstiti rje senje diferencijalne jednad zbe y (xj ), a zatim dobiveni izraz razviti u Taylorov red: r r
j =0

j y (xi+1j ) h

j =0

j f (xi+1j , y (xi+1j )) =

Cj hj .

(10.4.10)

j =0

Rekurzivna formula biti ce to cnija sto je vi se prvih clanova u razvoju jednako nuli. Op cenito, ukoliko je C0 = C1 = = Cp = 0 i Cp+1 = 0, ka zemo da je metoda reda p. Ukoliko je p 1 ka zemo da je metoda konzistentna. Tako za metodu yi+1 = yi1 + 2hf (xi , yi)

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 555

uvr stavanje to cnog rje senja i razvoj u red oko to cke xi daje y (xi+1 ) y (xi1 ) 2hy (xi ) = =
j =1 j =0

y (j )(xi )

hj (1)j hj y (j ) (xi ) 2hy (xi ) j ! j =0 j!

y (2j +1) (xi )

y (3) (xi ) 3 2 h2j +1 = h + O(h5 ) = O(h3 ), (2j + 1)! 3

Dakle, izraz (10.4.10) pokazuje kvalitetu aproksimacije vi sekora cne metode. U daljnjem tekstu koristiti cemo malo promijenjen izraz za pogre sku, tzv. lokalnu pogre sku diskretizacije: (x; h) =
r 1 r j y (x jh) j y (x jh), h j =0 j =0

te je ova metoda reda 2. Uo cimo da smo iskoristili da je y rje senje diferencijalne jednad zbe, tj. da vrijedi y (xi ) = f (xi , y (xi )). Pretpostavili smo da je y C (a, b), no o cito je dovoljno zahtijevati da y ima neprekidnu tre cu derivaciju, tj. y C 3 (a, b).

gdje je y egzaktno rje senje diferencijalne jednad zbe (10.4.8). Uo cimo da je lokalna pogre ska diskretizacije dobivena uvr stavanjem to cnog rje senja u rekurziju (10.4.8) uz zamjenu x = xi+1 . Sada mo zemo denirati konzistenciju metode. Denicija 10.4.1 Vi sekora cnu metodu zovemo konzistentnom ako za svaki f F1 (a, b) i x [a, b] lokalna pogre ska diskretizacije zadovoljava
h0

lim (x; h) = 0.

Ukoliko je (x; h) = O(hp ) ka zemo da je metoda reda p. Primjer 10.4.1 Poka zimo da je red (r + 1)-kora cne AdamsBashforthove metode (10.4.4) jednak r + 1. Iskoristimo li rekurziju za AdamsBashforthovu metodu (10.4.4) uvr stavanjem to cnog rje senja y (x), dobivamo (x; h) =
r 1 (y (x + h)) y (x)) ri y (x ih). h i=0

Radi jednostavnosti, ozna cimo xj = x + jh, j = r, . . . , 1. Sada je lokalna pogre ska diskretizacije jednaka (x; h) =
r 1 (y (xp+1)) y (xp )) ri y (xpi ). h i=0

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 556

Uvr stavanjem izraza za koecijente ri dane s (10.4.3), dobivamo 1 (x; h) = h 1 = h


xp+1

xp xp+1

y (t) dt

r i=0

1 h

xp+1

xp

i (t) dt y (xpi )
xp+1

xp

1 y (t) dt h

xp+1

xp

1 Pr (t) dt = h

xp

[y (t) Pr (t)] dt,

gdje je Pr polinom koji interpolira y u to ckama xpr , . . . , xp . Primjenom ocjene za pogre sku interpolacije y (t) Pr (t) = (t) dobivamo 1 (x; h) = h y (r+2) ( (t)) , (t) (xpr , xp ), (r + 1)! (t) = (t xpr )(t xpr+1 ) (t xp ),
xp+1

(t)
xp

y r+2( (t)) dt. (r + 1)!

Budu ci da su xpr , . . . , xp sve nulto cke polinoma , ne mijenja predznak na intervalu [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 (x; h) = h h (r + 1)! h
1 xp+1

(t) dt.
xp

i (t) = hr+1 u(u + 1) (u + r ), y r+2( ) (r + 1)!


1 r

u(u + 1) (u + r ) du = h

r +1

(u + j ) du,
0 j =0

te je red (r + 1)-kora cne AdamsBashforhove metode jednak r + 1. Razmatranjem analognim onom u prethodnom primjeru pokazuje se da je red r -kora cne AdamsMoultonove metode za jedan ve ci od broja koraka i iznosi r +1. Za r -kora cne eksplicitne metode (10.4.6) i r -kora cne implicitne metode (10.4.7) izvedene iz formula za deriviranje, red metode odgovara broju koraka. Kori stenjem iste ideje kao kod RungeKuttinih metoda, koecijente u r -kora cnoj metodi
r r j =0

j yi+1j = h

j =0

j f (xi+1j , yi+1j )

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 557

mo zemo odredivati tako da red metode bude sto je mogu ce ve ci, tj. da poni stimo sto vi se prvih clanova u Taylorovom razvoju (10.4.10). Fiksiranjem 0 = 1 imamo 2r slobodnih koecijenata za eksplicitnu metodu. Koecijenti Cj u Taylorovom razvoju zavisit ce o koecijentima j i j . Nije te sko pokazati da je ta zavisnost linearna, te s 2r slobodnih koecijenata mo zemo poni stiti prvih 2r clanova razvoja: C0 = C1 = = C2k1. Takoder, mo ze se pokazati da ce vrijediti C2r = 0, pa na taj na cin mo zemo konstruirati metodu reda 2r 1. Sli cno vrijedi i za r -kora cne implicitne metode. Ovdje imamo jedan koecijent vi se (0 ), te mo zemo poni stiti jedan clan vi se u Taylorovom razvoju i dobiti metodu reda 2r . Prirodno se name ce pitanje za sto bismo koristili navedene metode, ako postoje metode dvostrukog reda s istim brojem koraka. Za razliku od jednokora cnih metoda gdje je kozistentnost metode bio dovoljan uvjet za konvergenciju, kod vi sekora cnih metoda, da bi aproksimacija konvergirala k to cnom rje senju, uz konzistentnost treba biti zadovoljen jo s jedan dodatni uvjet, a to je stabilnost. To cemo ilustrirati sljede cim primjerom. Primjer 10.4.2 Konstruirajmo dvokora cnu eksplicitnu metodu: yi+2 + a1 yi+1 + a0 yi = h[b1 f (xi+1 , yi+1 ) + b0 f (xi , yi)] tako da red konzistencije bude sto je mogu ce ve ci. Razvojem lokalne pogre ske diskretizacije u x = xi (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 1 4 1 1 + hy (x) 2 + a1 b1 + h2 y (x) + a1 b1 + O(h3 ). 2 3 6 2

Koecijente a0 , a1 , b0 i b1 odredimo tako da poni stimo sto je mogu ce vi se po cetnih clanova u Taylorovom razvoju. To nas vodi na sustav jednad zbi 1 + 2 + 2 + a1 + a0 a1 = 0 b1 b0 = 0 b1 1 b1 2 = 0 = 0

1 a1 2 4 1 + a1 3 6

Rje senje ovog sustava je a1 = 4, a0 = 5, b1 = 4, b0 = 2, te je metoda denirana 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 mo ze se provjeriti da je clan uz h3 razli cit od nule). Promatrat cemo numeri cko rje savanje diferencijalne jednad zbe y = y, y (0) = 1,

s egzaktnim rje senjem y = ex . Uz korak h = 102 i egzaktne po cetne vrijednosti h y0 = 1 i y1 = e dobivamo sljede cu tablicu: i 2 3 4 5 . . . 96 97 98 99 100 0.164 108 0.300 107 +0.144 106 . . . 0.101 1058 0.257 1059 0.652 1060 +0.129 1060 +0.512 1058 +0.501 108 yi y (xi )

Iz tablice je jasno da metoda divergira. Uzrok tome je obja snjen u daljnjem tekstu. Vi sekora cna metoda
r j =0 r

j yi+1j = h

j =0

j f (xi+1j , yi+1j )

denira dva polinoma


r r

(z ) =
j =0

j z

r j

(z ) =
j =0

j z rj .

Ujedno, ova dva polinoma odreduju jednu vi sekora cnu metodu, pa se cesto umjesto vi sekora cne metode koristi naziv (, )-shema. Denicija 10.4.2 Za vi sekora cnu metodu ka zemo da je stabilna ako nulto cke zj polinoma (z ) zadovoljavaju 1. Sve nulto cke su po apsolutnoj vrijednosti manje od 1 (|zj | 1). 2. Ako je |zj | = 1 tada je zj jednostruka nulto cka ( (zj ) = 0). Zajedno uvjete 1 i 2 zovemo uvjet stabilnosti.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 559

Uvjet stabilnosti se cesto naziva i uvjet korijena. Za metodu iz pro slog primjera je (z ) = z 2 + 4z 5. Nulto cke su mu z1 = 1 i z2 = 5. Budu ci da je |z2 | > 1, ne zadovoljava uvjet stabilnosti, tj. metoda nije stabilna. Sljede ci teorem nam obja snjava razlog divergencije ove metode. Teorem 10.4.1 Linearna vi sekora cna metoda je konvergentna ako i samo ako je konzistentna i stabilna. Mo ze se pokazati da stabilna r -kora cna metoda ima red p r + 1, ako je r neparan, r + 2, ako je r paran.

Denicija konvergencije vi sekora cne metode se ne sto razlikuje od konvergencije jednokora cnih metoda, pa ce obja snjenje ove denicije i dokaz prethodnog teorema biti izlo zeni u sljede cim potpoglavljima.

10.4.2.

Prediktor-korektor par

Dosad je ostalo otvoreno pitanje kako izra cunati yi+1 u implicitnoj metodi
k

yi+1 +
j =1

j yi+1j

0 hf (xi+1 , yi+1 )

+h
j =1

j fi+1j .

Ako ozna cimo


k k

c=

j =1

yi+1j + h

j =1

j fi+1j ,

(y ) = 0 hf (xi+1 , y ) + c,

yi+1 je rje senje nelinearne jednad zbe y = (y ). Budu ci da mo zemo 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 rje senju jednad zbe. Za odabir po cetne aproksimacije y [0] koristi 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 mo zemo zapisati cijeli algoritam: yi+1 = yi+1


[m+1] [0] k j =1 k

j yi+1j + h
[m]

j =1 k

j fi+1j ,
k j yi+1j + h j =1 j fi+1j ,

= 0 hf (xi+1 , yi+1 ) [M ]

j =1

m = 0, . . . , M 1 ,

yi+1 = yi+1 . Broj iteracija (M ) mo ze biti unaprijed zadan ili se iteracije provode dok se jednad zba ne rije si do na neku unaprijed zadanu to cnost. U primjeni, broj iteracije nije velik, uvijek se radi o nekoliko iteracija. Znamo da jednostavne iteracije konvergiraju linearno prema rje senju jednad zbe. Konvergenciju mo zemo ubrzati primjenom Newtonove metode, sto ce biti opisano u sljede cem potpoglavlju. Jo s nam je ostalo za promotriti kako odabrati korektor-prediktor par. To cnost metode denirana je s to cno s cu korektora, tj. implicitne metode. Ako je red korek[0] cetnu aproksimaciju yi+1 , za jedan tora, eksplicitne metode kojom odredujemo po ve ci od reda korektora po cetna ce aproksimacija biti preto cna, za jedan red to cnija nego sto je rje senje nelinearne jednad zbe (korektora). S druge strane, ako je red prediktora manji od reda korektora, po cetna aproksimacija je preslaba, te bi trebalo previ se iteracija korektora da se nelinearna jednad zba rije si na zadovoljavaju cu to cnost. Stoga je uobi cajeno da se za prediktor-korektor par uzimaju eksplicitna i implicitna metoda istoga reda. Cesto kori sten par je k -kora cna AdamsBashforthova metoda kao prediktor i (k 1)-kora cna AdamsMoultonova metoda kao korektor. Uz ovakav odabir prediktor-korektor para govorimo o AdamsBashforthMoultonovim metodama. Isto tako, eksplicitna i implicitna k -kora cna metoda izvedena iz formula za numeri cko deriviranje koriste se kao prediktor-korektor par.

10.4.3.

Linearne diferencijske jednad zbe

Za razumijevanje stabilnosti vi sekora cnih metoda nu zno je poznavati neke osnovne cinjenice o linearnim diferencijskim jednad zbama. Pod linearnom homogenom diferencijskom jednad zbom podrazumijevamo jednad zbu oblika uj +r + r1 uj +r1 + r2 uj +r2 + + 0 uj = 0, j = 0, 1 , 2 , . . . (10.4.11) O cito je da je za svaki skup po cetnih vrijednosti u0 , . . . , ur1 jednozna cno odreden niz brojeva uj , j = 0, 1, 2, . . . koji rje sava jednad zbu (10.4.11). Uz gornju diferencijsku jednad zbu ve zemo polinom (z ) = z r + r1 z r1 + + 1 z + 0 . (10.4.12) Rje senje diferencijske jednad zbe (10.4.11) dobivamo pomo cu nulto caka polinoma .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 561

Teorem 10.4.2 Neka polinom (z ) iz (10.4.12) ima k razli citih nulto caka i vi sestrukosti i , i = 1, . . . , k . Tada za proizvoljne polinome Pi (t) stupnja strogo manjeg od i , i = 1, . . . , k , niz
j j u j = P 1 (j ) j 1 + P 2 (j ) 2 + + P k (j ) k ,

j = 0, 1 , 2 , . . .

(10.4.13)

je rje senje diferencijske jednad zbe (10.4.11). Obratno, svako rje senje diferencijske jednad zbe (10.4.11) mo ze se jedinstveno prikazati u obliku (10.4.13). Dokaz. Zbog homogenosti jednad zbe (10.4.11) vrijedi da je uj + vj rje senje ako su uj i vj rje senja diferencijske jednad zbe. Stoga je dovoljno pokazati da za , nulto cku polinoma vi sestrukosti , vrijedi da je niz u j = P (j ) j , j = 0, 1 , 2 , . . .

rje senje diferencijske jednad zbe (10.4.11), gdje je P proizvoljan polinom stupnja strogo manjeg od , (oznaka P < ). Za ksni j 0, pomo cu interpolacijskog polinoma zapisanog u Newtonovom obliku prika zimo P (j + t): P (j + t) = a0 + a1 t + a2 t(t 1) + + ar t(t 1) (t r + 1). Budu ci da je P < vrijedi a = a+1 = = ar = 0. Uz oznaku r = 1, sada slijedi
r

uj +r + r1 uj +r1 + + 0 uj = j
r

p p P (j + p)
p=0 r =1

= j
p=0

p p a0 +

a p(p 1) (p + 1)

= j [a0 () + a1 () + + a1 (1) ()] = 0, jer je vi sestrukost nulto cke jednak , tj. ( ) () = 0 za 0 1. Time smo dokazali prvi dio teorema. Uo cimo da je polinom P (t) = c0 + c1 t + + c1 t1 stupnja manjeg od odreden s to cno koecijenata cj , tako da zbog 1 + 2 + + k = r prikaz (10.4.13) sadr zi ukupno r slobodnih parametara (koecijenata polinoma Pi ). Drugi dio teorema dakle ka ze da prikladnim odabirom parametara mo zemo dobiti proizvoljno rje senje, tj. da za svaki izbor po cetnih vrijednosti u0 , . . . , ur1 postoji jedinstveno rje senje sljede ceg sustava od r linearnih jednad zbi s r nepoznatih, koecijenata polinoma Pi (i = 1, . . . , k ):
j j P 1 (j ) j 1 + P 2 (j ) 2 + + P k (j ) k = u j ,

j = 0, . . . , r 1 .

Dokaz ove tvrdnje je elementaran, ali i dugotrajan, stoga ga ovdje preska cemo.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 562

U primjeni vi sekora cnih metoda od interesa je pona sanje rasta rje senja un diferencijske jednad zbe (10.4.11) kad n . Posebno je va zno utvrditi uvjete koji osiguravaju da je un lim =0 (10.4.14) n n za sve realne po cetne vrijednosti u0 , . . . , ur1. To nam daje sljede ca lema. Lema 10.4.1 Ako polinom iz (10.4.12) zadovoljava uvjete stabilnosti iz denicije 10.4.2 tada rje senje diferencijske jednad zbe (10.4.11) zadovoljava (10.4.14). Dokaz. Pretpostavimo da vrijedi (10.4.14), i neka je nulto cka od . Tada je niz uj = j rje senje diferencijske jednad zbe (10.4.11). Za || > 1 niz un n = n n divergira, pa mora biti 1. Neka je sada || = 1 i je vi sestruka nulto cka od . Tada je () = rr1 + (r 1)r1 r2 + + 1 1 = 0. Prema tome je i niz uj = jj , j 0 rje senje diferencijske jednad zbe (10.4.11): uj +r + r1 uj +r1 + + 0 uj = jj (r + r1 r1 + + 0 ) = jj () + j +1 () = 0. + j +1 (rr1 + (r 1)r1 r2 + + 1 )

Budu ci da niz un /n = n ne konvergira nuli kada n , slijedi da mora biti jednostruka nulto cka. Obratno, neka je zadovoljen uvjet stabilnosti. Ako deniramo

Uj =

uj uj +1 . . . u j +r 1

Cr ,

1 0 ... 0 . .. .. .. . . . . . , A= 0 ... 0 1 0 0 . . . . . . . . . r1 Uj +1 = AUj .

0 . . .

diferencijska jednad zba (10.4.11) je ekvivalentna rekurziji

je karakteristi cni polinom matrice A te, budu ci da je uvjet stabilnosti zadovoljen, postoji norma na Cr takva da odgovaraju ca inducirana matri cna norma r zadovoljava A 1. Prema tome, za svaki U0 C vrijedi Un = An U0 A
n

U0 U0

za n = 0, 1, . . .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 563

Budu ci da su na Cr sve norme ekvivalentne, postoji k > 0 takav da je U U k te posebno vrijedi Un Stoga je un = 0. n

k U , n = 0, 1 , . . . = 0,

k 2 U0
n

lim

Un n

tj. posebno vrijedi lim

10.4.4.

Konvergencija linearnih vi sekora cnih metoda

Kao i kod jednokora cnih metoda, kada govorimo o konvergenciji metode mislimo na pona sanje globalne pogre ske diskretizacije: e(x; h) = yn y (x), Jasno je da globalna pogre ska diskretizacije ovisi o lokalnoj pogre sci diskretizacije. Medutim, to nije jedini izvor pogre ske. Da bismo startali r -kora cnu metodu, prvo je potrebno izra cunati r po cetnih vrijednosti y0 , . . . , yr1 . Dok y0 mo zemo odrediti iz po cetnog uvjeta diferencijalne jednad zbe, ostale vrijednosti moramo odrediti nekom drugom, naj ce s ce jednokora cnom, metodom. U svakom slu caju, pri njihovom odredivanju javit ce se odredena pogre ska i : y (xi ) = yi + i, i = 0, . . . , r 1 . gdje je x (a, b), h = hn = (x a)/n.

Ova pogre ska ne ovisi o promatranoj vi sekora cnoj metodi, ve c o na cinu na koji odredujemo po cetne vrijednosti. O cito je, da ako zelimo da globalna pogre ska diskretizacije te zi nuli kada n , pogre ske po cetnih vrijednosti trebaju zadovoljavati lim i = 0, i = 0, . . . , r 1. Sada mo zemo izre ci deniciju konvergencije vi sekora cne metode. Denicija 10.4.3 Vi sekora cnu metodu danu s (10.4.9) zovemo konvergentnom 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 n

lim (y (xi) yi ) = 0,

i = 0, . . . , r 1 .

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 564

Sada mo zemo izre ci teorem o redu vi sekora cne metode. Teorem 10.4.3 Linearna vi sekora cna metoda je reda p ako i samo ako je z = 1 p-struka nulto cka funkcije (z ) (z ). (10.4.15) ln z Prethodni teorem povla ci i sljede ci korolar. Korolar 10.4.1 Linearna vi sekora cna metoda je konzistentna ako i samo ako je (1) = 0 i (1) = (1). Dokaz. Iz teorema slijedi da je metoda konzistentna ako i samo ako je 1 nulto cka 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 z 1 ln z z 1 z

treba vrijediti i (1) (1) = 0.

Na kraju, poka zimo vezu izmedu stabilnosti i konzistentnosti te konvergencije linearne vi sekora cne metode. Teorem 10.4.4 Stabilne i konzistentne linearne vi sekora cne metode su konvergentne. Dokaz. Dokaz ovog teorema je sli can dokazu konvergencije jednokora cnih metoda. Neka je y egzaktno rje senje jednad zbe 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 ozna cit cemo aproksimaciju dobivenu linearnom vi sekora cnom metodom 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 ,

Uvjet lim i = 0 zna ci da postoji funkcija (h) takva da je |i | (h) za n i = 0, . . . , r 1 i lim (h) = 0. Zbog konzistentnosti metode, lokalna pogre ska h0 diskretizacije u to cki xi (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)

tj. i mo zemo omediti nekom funkcijom t(h), |i | t(h), koja zadovoljava lim t(h) = h0 0. Oduzimanjem jednakosti (10.4.17) pomno zene s h od jednakosti (10.4.16) dobivamo rekurziju za pogre ske ei = yi y (xi ): 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 .

Budu ci da je f F1 (a, b), postoji konstanta m > 0 takva da je 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

Iskoristiv si ovu nejednakost, dobivamo da ci zadovoljava


r

|ci | hM gdje je

j =0

|eij | + |h|t(h),

(10.4.20)

M = m max |j |.
j =0,...,r

Pomo cu vektora

i matrice

ej ej +1 ej = . . .

ej +r1 0 . . .

bj = Rr , 0 1

0 . . .

1 0 ... 0 . .. .. .. . . . . . A= 0 ... 0 1 0 r . . . . . . . . . 1

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 566

rekurziju (10.4.19) mo zemo zapisati u ekvivalentnom vektorskom zapisu ej +1 = Aej + cj +r b, 0 . . e0 = . . r 1


(10.4.21)

Uo cimo da je polinom , deniran vi sekora cnom metodom (10.4.16), ujedno i svojstveni polinom matrice A. Stabilnost metode povla ci da su sve nulto cke od , tj. svojstvene vrijednosti od A, po apsolutnoj vrijednosti manje od 1, a ako su jednake 1 tada su jednostruke. To zna ci da postoji vektorska norma na Cr takva da za induciranu vektorsku normu vrijedi A 1. Budu ci da su sve norme na Cr ekvivalentne, postoji konstanta k > 0 takva da je
r 1 1 |ej +i| = ej ej k i=0 1

k ej .

Uo civ si da je |ej +r |

r i=1

|ej +i| k ej +1

iz nejednakosti (10.4.20) slijedi da je |cj +r | |h|Mk ( ej + ej +1 ) + |h|t(h). Iskoristiv si vektorski zapis rekurzije (10.4.21) i cinjenice da je b k b slijedi da je (1 |h|Mk 2 ) ej +1 (1 + |h|Mk 2 ) ej + k |h|t(h), i Za je 1 |h|Mk 2 i e0 k e0 |h|
1 1

= k,

j = 0, 1 , . . .

(10.4.22)

kr(h).

1 2Mk 2 1 2

Sada nejednakost (10.4.22) prelazi u

1 + |h|Mk 2 1 + 4|h|Mk 2 . 1 |h|Mk 2 j = 0, 1 , . . .

ej +1 (1 + 4|h|Mk 2 ) ej + 2k |h|t(h),

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 e4M k


2 | x x 0|

kr(hn ) + t(hn )

e4M k

2 | x x

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 cinjenice da je
n

(10.4.23)

lim (hn ) = lim (hn ) = 0.


n

Iz ocjene (10.4.23) dobivamo sljede ci korolar. Korolar 10.4.2 Neka je linearna vi sekora cna metoda stabilna i konzistentna reda p, te f Fp (a, b). Tada globalna pogre ska diskretizacije zadovoljava e(x; hn ) = O(hp n) za sve hn = (x x0 )/n cim pogre ske i zadovoljavaju |i| (hn ), uz (hn ) = O(hp n ). Ovaj korolar ujedno kazuje koju metodu moramo izabrati za odredivanje po cetnih vrijednosti y0 , . . . , yr1 . Da bismo postigli da se pogre ska pona sa kao O(hp ), tako se mora pona sati i pogre ska po cetnih vrijednosti. Ukoliko za njihovo odredivanje koristimo jednokora cnu metodu reda p , iz teorema 10.3.3 slijedi da pogre ska po cetnih vrijednosti zadovoljava
|e(xi ; h)| |h|p N M i|h| eM |xi x0 | 1 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 po cetne vrijednosti r -kora cne metode 0 i r 1, vrijedi


+1 |e(xi ; h)| |h|p N (r 1)eM (r1)|h| ,

te mo zemo izabrati metodu reda p = p 1 da bi se pogre ska vi sekora cne metode p pona sala kao O(h ). Teorem 10.4.5 Konvergentne linearne vi sekora cne metode su stabilne. Dokaz. Promatrajmo diferencijalnu jednad zbu y = 0, y (a) = 0

Sljede ca dva teorema govore o svojstvima konvergentnih vi sekora cnih metoda.

s egzaktnim rje senjem y = 0. Za ksirani x [a, b] neka je yn aproksimacija za y (x) uz h = (x a)/n, n = 1, 2, . . ., te neka su zadane po cetne vrijednosti yi = i , i = 0, . . . , r 1 .

Budu ci da je metoda konvergentna, vrijedi


n

lim yn = 0 (10.4.24)

cim je zadovoljeno Izaberimo sada


n

lim i = 0 i = 0, . . . , r 1. i = hui i = 0, . . . , r 1 ,

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 po cetne vrijednosti yi = i Sada vrijedi yi = hui , gdje je niz ui dobiven rekurzijom uj +r + 1 uj +r1 + + r uj = 0. Budu ci da je metoda konvergentna, vrijedi 0 = lim yn = lim (hun ) = (x a) lim
n n n

i = 0, . . . , r 1 .

un . n

Tvrdnja teorema sada slijedi direktno iz leme 10.4.1. Teorem 10.4.6 Konvergentne linearne vi sekora cne metode su konzistentne.

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 569

Dokaz. Promatrajmo inicijalni problem y = 0, y (0) = 1

s egzaktnim rje senjem y (x) = 1. Za po cetne vrijednosti yi = 1, i = 0, . . . , r 1, metoda daje vrijednosti yj +r , j = 0, 1, . . . gdje je yj +r + r1 yj +r1 + + 0 yj = 0. Staviv si h = x/n, zbog konvergencije metode vrijedi
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 cemo cinjenicu da je metoda konvergentna i za inicijalni problem y = 1, y (0) = 0,

s egzaktnim rje senjem y (x) = x. Ve c smo vidjeli da je C0 = (1) = 0. Zbog konvergentnosti metode, iz teorema 10.4.5 slijedi i njena stabilnost, pa je = 1 jednostruka nulto cka od , tj. (1) = 0. Dakle, konstanta K= je dobro denirana. Uz po cetne uvjete yj = jhK yj = y (xj ) + j O cito je zadovoljeno
n

(1) (1)

za inicijalni problem y = 1, y (0) = 0, uzev si u obzir da je y (xj ) = xj = jh, imamo uz j = jh(K 1), j = 0, . . . , r 1 .

j = 0, . . . , r 1 ,

lim j = 0 za j = 0, . . . , r 1.

Metoda, uz ove po cetne vrijednosti, daje niz yj koji zadovoljava yj +r + r1 yj +r1 + + 0 yj = h(0 + 1 + + r ) = h (1). Uvr stavanjem u gornju jednad zbu, uzev si u obzir da je (1) = 0, lagano se mo ze 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. Dakle, K = 1, odnosno (1) = (1), te je C1 = (1) (1) = 0, sto zna ci da je metoda konzistentna.
n n n

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 570

10.5.

Gearova metoda

Dosada razmatrane formule za vi sekora cne metode zasnivale su se na ekvidistantnom izboru koraka h. Ako zelimo razviti metodu koja ce imati mogu cnost promjene koraka integracije tijekom izvodenja algoritma, ovim metodama moramo pristupiti na drugi na cin. Ideju cemo prikazati na AdamsBashforthMoultonovim (ABM) metodama, a ista se mo ze poop citi i na druge metode. Uo cimo da kod k -kora cnih AdamsBashforthMoultonovih metoda za ra cunanje yi+1 trebamo poznavati (pamtiti) prija snje vrijednosti yn , fn , . . . , fn+1k . Ovih k + 1 vrijednosti mo zemo zapamtiti u vektoru yn : yn = [yn , hfn , hfn1 , . . . , hfn+1k ]T . Prediktor u ABM-metodi ra cunamo prema
[0] yn = y n1 + h k j =1

j fnj ,

dok je korektor zadan s


[m+1] [m] yn = yn1 + h0 f (xn , yn )+h k 1 j =1 j fnj ,

m = 0, . . . , M 1 .

Oduzimanjem dviju uzastopnih aproksimacija dobivamo


[m+1] [m] [m] [m1] yn yn = 0 [hf (xn , yn ) hf (xn , yn )]

za m = 1, . . . , M 1, dok za m = 0 slijedi
k [1] [0] [0] yn yn = h0 f (xn , yn )+ h j =1 [0] (j j )fnj = 0 hf (xn , yn )h j j hfnj . 0 j =1 k

Ovdje smo ozna cili k = 0. Uz oznaku

j = mo zemo pisati

j j 0

i dn =
j =1

hj fnj ,

Sli cno kao i vektor yn , deniramo vektor

[1] [0] [0] yn yn = 0 [hf (xn , yn ) dn ].

[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

Nadalje, za m = 1, . . . , M deniramo vektor

1 0 0 B= . . .

1 1 1 .. .

... ... 0 .. .

... ... ... .. .

0 ... 0

1 0

k k 0 . . . .

[m] [m] [m1] yn = [yn , hf (xn , yn , hfn1 , . . . , hfn+1k ]T

i funkciju
[m] F (yn )= [m] [m1] hf (xn , yn ) hf (xn , yn ), m = 1 , . . . , M , [0] hf (xn , yn dn , m = 0.

[m] Uo cimo da funkcija F koristi samo prve dvije komponente vektora yn :

F ([u0 , u1, . . . , uk ]T ) = hf (xn , u0 ) u1 . Sada je


[m+1] [m] [m] yn = yn + cF (yn ),

gdje je Za yn odabrat cemo zadnju iteraciju:

m = 0, . . . , M 1 ,

(10.5.2)

c = [0 , 1, 0, . . . , 0]T .

[M ] yn = yn .

(10.5.3)

Za izvod AdamsBashforthove metode iskoristili smo interpolacijski polinom P koji interpolira vrijednosti fni u to ckama xni za i = 1, . . . , k te denirali metodu pomo cu
xn

y n y n1 = Denirajmo polinom Q(x) =


xn1 x

P (x) dx.
xn1

(10.5.4)

P (z ) dz + yn1.

(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

O cito da iz vektora yn mo zemo jednozna cno odrediti polinom Q, i obratno, iz polinoma Q i lagano i jednozna cno odredujemo yn . Razvojem polinoma Q u Taylorov red oko to cke xn1 dobivamo Q(i) (xn1 ) Q(x) = (x xn1 )i = i! i=0
k

hi (i) x xn1 Q (xn1 ) h i=0 i!

Koecijente polinoma Q mo zemo zapisati vektorom zn1 : zn1 = Q(xn1 ), h Q (xn1 ) 2 Q (xn1 ) Q(k) (xn1 ) ,h , . . . , hk 1! 2! k!
T

Va znost ovoga zapisa je u tome sto su yn1 i zn1 linearno povezani i vrijedi: yn1 = D zn1 , gdje je D regularna matrica koja ne ovisi o izboru koraka i n. Ozna civ si jo s s z n1 : yn1 = Dzn1 ,
[m] [m] [m]

m = 0, . . . , M,

korak vi sekora cne metode zadan s (10.5.1), (10.5.2) i (10.5.3) mo zemo pisati u obliku
1 z[0] n = DBD zn1 , M] zn = z[n .

m+1] m] m] z[n = z[n + DcF (D1z[n ,

m = 0, . . . , M 1 ,

S P ozna cimo matricu P = DBD1 . Matrica P je gornjotrokutasta matrica ciji su elementi binomni koecijenti:

1 1

1 2 1

P=

1 3 3 1

1 4 6 4 1

... ... ... ... ... .. .

1 k

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

Ozna cimo jo ss l = Dc, i vi sekora cnu metodu mo zemo pisati u obliku z[0] n = Pzn1 , [m+1] m] m] zn = z[n + F (z[n )l, M] zn = z[n . (10.5.6) (10.5.7) (10.5.8)

m = 0, . . . , M 1 ,

Iteracije korektora mo zemo napisati u obliku


[0] [M 1] zn = z[0] )]l. n + [F (zn ) + + F (zn [m] Budu ci da F koristi prve dvije komponente od zn , dovoljno je tijekom iteracija ra cunati samo njih. Uz oznaku [M 1] en = F (z[0] ) n ) + + F (z n

prethodna relacija postaje zn = z[0] n + en l. (10.5.9) Koecijenti vektora l za AdamsBashforthMoultonovu metodu dani su u sljede coj 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

Zna cajno je napomenuti da prediktor-korektor par izveden iz formula za deriviranje ima isti matri cni prikaz s istom matricom P i funkcijom F , jedino se razlikuju

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 574

vektori l. Sljede ca tablica prikazuje koecijente vektora l za BDF metodu. 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

Va znost ovog prikaza je u tome da vektor zn cuva k + 1 informaciju u jednoj jedinoj to cki, dok prija snji prikaz koristi isti broj informacija, ali u k razli citih to caka. 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 zn = Q(xn ), Q (xn ) 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 pomno ziti s i . Za (k 1)-kora cnu metodu vektor zn je oblika hk1 h zn = Q(xn ), Q (xn ) , . . . , Q(k1) (xn ) 1! (k 1)!
T

te ga mo zemo dobiti iz vektora zn ispu stanjem zadnje komponente. Za prijelaz na metodu s jednim korakom vi se u odgovaraju cem vektoru h hk (k+1) hk+1 (k ) n = Q(xn ), Q (xn ) , . . . , Q (xn ) , Q z (xn ) 1! k! (k + 1)!
T

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 575

treba aproksimirati zadnju komponentu. Koriste ci podijeljene razlike unazad dobivamo Q(k+1) (xn ) y (k+1) (xn ) k! hk+1 y (k) (xn ) y (k) (xn1 ) h k (k ) k (k ) h y (xn ) h y (xn1 ) k! k+1 (zn,k zn1,k ). k! k! h

Uo cimo da su zbog oblika matrice P zadnje komponente vektora zn1 i z[0] n jednake, te vrijedi [0] zn,k zn1,k = zn,k zn,k = en lk gdje smo iskoristili prikaz (10.5.9) i s lk ozna cili zadnju komponentu vektora l. Sada n mo za aproksimaciju zadnje komponente vektora z zemo iskoristiti en lk hk+1 Q(k+1) (xn ) = . (k + 1)! k+1 Ovime smo pokazali da ovakav prikaz vi sekora cnih metoda omogu cava laganu promjenu koraka integracije, ali i pove canje ili smanjenje broja koraka, odnosno reda metode. Ujedno je i rije sen problem po cetnih vrijednosti. Dovoljno je po ceti integraciju s jednokora cnom metodom i vektorom z0 = [y0 , hf (x0 , y0 )]T . Jo s nam je ostalo za razmotriti izbor veli cine koraka i reda metode. Iteracije korektora u (10.5.7) nisu ni sta drugo nego metoda jednostavnih iteracija za rje savanje jednad zbe F (z n )l = 0 . (10.5.10) Problem se javlja kod krutih sustava. Tada iteracije konvergiraju samo ako je korak integracije h dovoljno malen. Medutim, nerealno smanjenje koraka integracije zna cajno pove cava broj koraka integracije. Da bi se prevladao ovaj problem, jednad zbu (10.5.10) mo zemo rje savati Newtonovom metodom umjesto jednostavnim iteracijama:
m+1] m] m] z[n = z[n + W F (z[n )l,

m = 0, . . . , M 1 ,

(10.5.11)

F [m] 1 f 1 zn l = l1 hl0 . z y Ra cunanje W -a zahtijeva relativno mnogo ra cunanja tako da se radi ubrzanja u iteracijama koristi W izra cunat u prvoj iteraciji. U slu caju da nije zadovoljen kriterij konvergencije, W se ponovno ra cuna. W =

gdje je

10. OBICNE DIFERENCIJALNE JEDNADZBE

ODJ 576

Apsolutna pogre ska metode dana je s ck+1 hk+1 y (k+1)(xn ) + O(hk+2 ),


pri cemu je za Adamsove metode ck+1 = k a za BDF metode je ck+1 = 1/(k + 1). Ako zelimo da nam relativna to cnost n-tog koraka bude manja od unaprijed zadane 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 stra znje diferencije 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) Vrijednost y (xn ) nalazi se u zadnjoj komponenti zn,k vektora zn , te (10.5.13) k! prelazi u hk+1 y (k+1) (xn ) k !(zn,k zn1,k ). (10.5.14) Budu ci da je
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) mo zemo napisati u obliku hk+1 y (k+1) (xn ) k !en lk . Koriste ci ove aproksimacije, nejednakost (10.5.12) zamjenjujemo s 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) mo zemo zapisati u obliku D2 E2 . (10.5.17)

Ukoliko gornji uvjet nije zadovoljen, tj. nismo postigli tra zenu to cnost, zadnji korak se ponavlja, ali s manjim korakom integracije: h2 = gdje je D2 p2 = 1.2 E2 h , p2
1 k +1

Da smo u n-tom koraku koristili metodu jednog reda manju, dakle reda k 1, analogan zahtjev na relativnu pogre sku glasio bi ck hk |y (k)(xn )| . y Iskoristiv si aproksimaciju hk y (k) (xn ) k !zn,k , nejednakost (10.5.18) zamjenjujemo s ck |zn,k |k ! , y odnosno D1 E1 , pri cemu je D1 = |zn,k | y i E1 = . ck k ! (10.5.18)

Sli cno razmatranje mo zemo provesti i za slu caj da smo koristili za jedan red ve cu metodu, dakle reda k + 1. Zahtjev na relativnu pogre sku glasio bi ck+2 hk+2 |y (k+2) (xn )| . y Aproksimiraju ci y (k+2)(xn ) podijeljenim razlikama unazad: hk+2 y (k+2) (xn ) hk+1 y (k+1) (xn ) hk+1 |y (k+1)(xn1 ) te iskoristiv si (10.5.15), dobivamo 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 =

nejednakost (10.5.19) zamjenjujemo s D3 E3 .

, ck+2 k !|lk |

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 ra cunaju se i konstante D1 p1 = 1.3 E1
1 k

D3 i p3 = 1.4 E3

1 k +2

Ukoliko je p1 najmanja konstanta, tada se red metode smanjuje za jedan, dok se red metode pove cava za jedan ako je p3 najmanja konstanta. Red metode se ne mijenja ako je p2 najmanja konstanta. Za novi korak integracije uzima se hi = h . pi

Faktori 1.2, 1.3 i 1.4 kod ra cunanja konstanti p2 , p1 i p3 su te zine kojima dajemo prednost na mijenjanju i smanjivanju reda metode.

11. OPTIMIZACIJA

OPTIMIZACIJA 579

11. Optimizacija
11.1. Uvod u optimizaciju

Problem koji prou cava optimizacija relativno je jednostavno opisati. Za zaddanu funkciju f : Rn R, cilj je na ci x , to cku minimuma funkcije f : f (x). x = arg min n
x

(11.1.1)

Iako je problem jednostavno opisati, njegovo rje savanje je jedno od najte zih podru cja numeri cke analize. Zamislimo da je na sa funkcije f nadmorska visina, odnosno dubina pojedine to cke na zemljinoj kugli. Na ci minimum ove funkcije je zapravo tra zenje najve ce morske dubine. Funkcija nam je poznata, u smislu da mo zemo dobiti njezinu vrijednost u bilo kojoj to cki (npr. ehosonderom). Medutim, nije nam dostupna niti jedna dodatna informacija. Jedno rje senje je beskona cno mjerenje dubina u nizu gusto izabranih to caka. Ovaj postupak o cito nije prikladan, jer bismo te sko izvr sili toliko mjerenja u nekom razumnom vremenu. Cilj optimizacije je denirati prikladne, tj. sto br ze postupke, za rje savanje ovog tipa problema. Na ovom primjeru uo cimo jo s neke probleme s kojima cemo se susretati. Koliko god gusto mjerili dubinu, uvijek nam ostaje nepoznata dubina izmedu dvije susjedne to cke mjerenja. Ne poznaju ci funkciju f , odnosno njena analiti cka svojstva, ne mo zemo re ci da li izmedu njih postoji jo s neka to cka ve ce dubine. Drugi je problem vezan uz detekciju globalnog minimuma. Ovdje je ipak podru cje promatranja bilo ograni ceno povr sinom Zemljine kugle. Generalni problem optimizacije (11.1.1) vezan je uz tra zenje minimuma na neograni cenom podru cju. Na sav si jedan minimum, nikada sa sigurno s cu ne cemo mo ci ustvrditi da je to globalni minimum jer je nemogu ce provjeriti vrijednosti funkcije na cijelom neograni cenom podru cju. Iako smo rekli da je cilj optimizacije rije siti problem (11.1.1), tj. na ci minimum funkcije f , potuno analogan problem je nala zenja maksimuma funkcije f . Naime, tra zenje maksimuma od f ekvivalentno je tra zenju minimuma funkcije f : max f (x) = min f (x). n n
x x

11. OPTIMIZACIJA

OPTIMIZACIJA 580

To je razlog sto se cesto umjesto termina optimizacija ravnopravno koristi termin minimizacija funkcija. Cesto se minimum funkcije f ne tra zi na cijelom podru cju Rn , ve c na nekom n podskupu D R : min f (x). (11.1.2)
xD

U tom slu caju govorimo o problemu minimizacije s ograni cenjima. Iako ovaj problem izgleda jednostavniji (zbog manjeg podru cja minimizacije), metode za njegovo rje savanje su slo zenije nego za polazni problem (11.1.1). Razlog le zi u cinjenici da uz funkciju f moramo voditi ra cuna i o rubu podru cja D ( cesto deniranog pomo cu skupa funkcija). Npr., jasno je da funkcija f (x) = x2 ima globalni minimum u 0. Medutim, ako tra zimo minimimum na intervalu [a, b] tada je minimum funkcije f jednak 0 ako je 0 [a, b] ili min{f (a), f (b)} ako 0 / [a, b], tj. u razmatranje smo trebali uzeti i rubove intervala. U praksi se cesto javlja problem (11.1.2) s posebnim oblikom funkcije f i skupa D . Ako je D presjek poluravnina u Rn , a f je linearna funkcija tada govorimo o problemu linearnog programiranja. Ukoliko je f kvadrati cna funkcija (polinom) tada se ovaj problem naziva problem kvadrati cnog programiranja. Za ove probleme su razvijene posebne metode koje ovdje ne cemo opisati. U narednim savanje problema minimizacije potpoglavljima su obradene osnovne metode za rje bez ograni cenja.

11.2.

Metoda zlatnog reza

Prvu minimizacijsku metodu opisat cemo za problem minimizacije realne funkcije realne varijable (f : R R). Neka su zadane tri to cke a < b < c te neka 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 to cki b). U tom slu caju znamo da se to cka lokalnog minimuma nalazi u intervalu [a, b], tj. a i b omeduju to cku minimuma. Izaberimo novu to cku x iz intervala [a, b]. Pretpostavit cemo da je x (b, c). Postoje dvije mogu cnosti: f (x) f (b) ili je f (x) < f (b). 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 to cku biramo iz trojke (a, b, x). U suprotnom slu caju, minimum se nalazi u intervalu [b, c] i novu to cku biramo iz trojke (b, x, c). Opisani postupak je osnova metode zlatnog reza. Preostalo je jo s za razmotriti na cin izbora nove to cke x. Neka je w omjer u kojem b dijeli interval [a, c]: w= ba ca i cb = 1 w, ca

11. OPTIMIZACIJA

OPTIMIZACIJA 581

te sa z ozna cimo

xb . ca Uo cimo da je za f (x) f (b) minimum lociran na intervalu sirine x a, dok je za f (x) < f (b) minimum lociran na intervalu sirine c b. Prvi zahtjev koji cemo postaviti je da i u jednom i u drugom slu caju sirina intervala bude jednaka: z= x a = c b, tj. z+w = Ovime dobijemo uvjet xb+ba xa cb = = = 1 w. ca ca ca z = 1 2w (11.2.1)

koji zna ci da su to cke x i b smje stene simetri cno s obzirom na sredi ste intervala [a, b]. Povoljnim izborom po cetne to cke b mo zemo posti ci da x dijeli interval [b, c] u istom omjeru kao sto b dijeli interval [a, c]. Ovaj uvjet daje jednad zbu cb cx = , ca cb 1w =1

z . 1w Iskoristiv si cinjenicu da je z = 1 2w (11.2.1), sredivanjem gornjeg izraza dobivamo w 2 3 w + 1 = 0. Od dva rje senja gornje jednad zbe zanima nas ono koje je manje od 1 (jer je w omjer sirine manjeg i ve ceg intervala): 3 5 w= 0.38197. 2 Gornji je broj poznat kao zlatni broj pa se metoda s ovakvim izborom nove to cke x naziva metodom zlatnog reza. Algoritam za metodu zlatnog reza. Neka to cke a(0) , b(0) i c(0) zadovoljavaju b(0) a(0) 3 5 =w= c(0) a(0) 2 f (b(0) ) f (a(0) ) i f (b(0) ) f (c(0) ).

odakle slijedi

te

Opisani postupak mo zemo sada sa zeto zapisati.

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) , ina ce 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. Uo cimo da vrijedi |c(i+1) a(i+1) | = (1 w )|c(i) a(i) | 0.61803|c(i) a(i) | te metoda konvergira linearno prema to cki minimuma x . Za inicijalno odredivanje trojke (a(0) , b(0) , c(0) ) krenemo od bilo kojeg para to caka a i b. Bez smanjenja op cenitosti pretpostavimo da je f (a) f (b). To cku c odredimo tako da b dijeli interval [a, c] u zlatnom omjeru. Ukoliko je f (b) f (c) na sli smo tra zenu trojku. U suprotnom slu caju ponovimo postupak s to ckama a i c (ili b i c). b(i+1) = x(i) , c(i+1) = c(i) ,

11.3.

Vi sedimenzionalna minimizacija

Ovdje cemo promatrati metode koje minimiziraju funkciju f : Rn R:


xn

min f (x).

(11.3.1)

Cijeli niz metoda zasnovan je na ideji da se za neku zadanu to cku x0 Rn odredi to cka x1 Rn takva da je f (x1 ) < f (x0 ). Ponavljanjem ovog postupka za to cku xi Rn , tra zimo to cku xi+1 Rn za koju je f (xi+1 ) < f (xi ). Na ovaj na cin generiramo niz to caka x0 , x1 , x2 , . . . za koje je f (x0 ) > f (x1 ) > f (x2 ) > . Ako je niz (f (xi ))i odozdo ograni cen, tada postoji lim f (xi ). No, lim xi u tom slu caju ne treba nu zno postojati. Na primjer, za f (x) = ex i xi = i je lim f (xi ) = 0, no lim xi i i ne postoji. Za egzistenciju lim xi nu zno je da postoji x0 Rn takav da je skup
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 to cke x, tj. f (x + s) < f (x), za mali , R, > 0.

Promatrajmo funkciju g : R R deniranu s g () = f (x + s). Uo cimo da je g (0) = f (x). Ako je f glatka funkcija (f C 1 ), tada je i g C 1 . U tom slu caju uvjet da f pada u smjeru s oko to cke x odgovara uvjetu da funkcija g pada u 0, tj. da je g (0) < 0. Kako je g () = f (x + s), s , gornji uvjet prelazi u Na osnovu ovog, za funkciju f i to cku deniramo skup D (x) = {s | f (x), s < 0}. (11.3.2) g (0) = f (x), s < 0.

Ovaj skup nazivamo skup smjerova silaska a njegove elemente smjerovi silaska. Sada jednostavno mo zemo opisati jednu klasu minimizacijskih metoda. Za n zadani xi R deniramo xi+1 = xi + i si (11.3.3) 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 mogu ce jer je si smjer silaska. Izbor smjera silaska ovisi o izboru metode minimizacije. Razli cite metode na razli cite na cine odreduju izbor smjera silaska. Veli cina koraka minimizacije je bitna za konvergenciju metode, jer nije dovoljno odrediti to cku xi+1 koja zadovoljava f (xi+1 ) < f (xi ). Jednostavan primjer je minimizacija funkcije f (x) = x2 . Izborom x0 = 2, x1 = 1.5, ..., xi = 1 + 1 , i+1

dobivamo niz to caka (xi )i koji konvergira i niz padaju cih vrijednosti (f (xi ))i koje takoder konvergiraju. Medutim, ovi nizovi ne konvergiraju prema to cki minimuma, odnosno minimumu funkcije f . Jedan od na cina izbora koraka i je maksimalno spu stanje u smjeru si . Tada je i = arg min f (xi + si ).
>0

11. OPTIMIZACIJA

OPTIMIZACIJA 584

Medutim, ovakav pristup zahtijeva primjenu analiti ckih metoda sto nije jednostavno pri upotrebi ra cunala a naro cito ako je funkcija f slo zenijeg oblika. Drugi na cin je pribli zno odredivanje i nekom minimizacijskom metodom. U tom slu caju koristimo metode za jednodimenzionalnu minimizaciju (npr. prije opisanu metodu zlatnog reza). Kako to cka xi+1 nije nu zno to cka (globalnog ili lokalnog) minimuma mi u njoj ponavljamo cijeli postupak: izabiremo novi smjer silaska i korak minimizacije. Stoga korak minimizacije nije nu zno izra cunati egzaktno ili pak s prevelikom to cno s cu jer utro seno vrijeme ne rezultira s odgovaraju cim rezultatom. Jedan od alternativnih pristupa je neegzaktno pretra zivanje po pravcu. Ova metoda u kona cnom broju 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 niz (xi )i konvergira to cki minimuma funkcije f . Ovaj izbor koraka minimizacije biti ce detaljnije obja snjen kasnije.

11.3.1.

Gradijentna metoda

za f (x) = 0. Ako je f (x) = 0 tada je, obi cno, zadovoljen kriterij konvergencije (u tom je slu caju skup smjerova silaska prazan skup). Va zno je napomenuti da u op cem slu caju to ne treba zna citi da smo do sli do to cke minimuma. Iako ova metoda lokalno bira smjer najbr zeg silaska, zato gradijentnu metodu ponekad zovu i metoda najbr zeg silaska, ta metoda nije najbr za u tra zenju globalnog minimuma. Za primjenu ove metode funkcija f treba biti glatka (f C 1 ), sto je nedostatatak u odnosu na metode koje zahtjevaju samo neprekidnost funkcije koja se minimizira, ali je i prednost u odnosu na neke br ze metode koje zahtijevaju i ve cu glatko cu funkcije f (npr. modicirana Newtonova metoda, zahtijeva f C 2 ).

Ovo je najjednostavnija metoda iz klase. Uo cimo da je f (x) smjer silaska u to cki x zbog f (x), f (x) = f (x) 2 < 0

11.3.2.

Modicirana Newtonova metoda

Ova se metoda zasniva na NewtonRaphsonovoj metodi za rje savanje jednad zbe f (x) = 0. Ovo je nu zan uvjet koji to cka minimuma mora zadovoljavati. U slu caju da je f konveksna funkcija, tada je taj uvjet i dovoljan. Newton-Raphsonova metoda generira niz to caka iteracijama: 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 sto u ovom trenutku nije jasno je li ispunjeno f (xi+1 ) < f (xi ). 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 H f (x), f (x) = H f (x), f (x) < 0 za f (x) = 0. Zna ci, za pozitivno denitnu matricu H je H f (x) D (x). Sada treba primijetiti da je za x , to cku minimuma funkcije f , matrica 2 f (x ) pozitivno denitna. No, tada je i 2 f (x) pozitivno denitna za x iz neke okoline to cke minimuma x . Kako je tada i [2 f (x)]1 pozitivno denitna, onda je [2 f (x)]1 f (x) D (x) za x u okolini to cke minimuma. Ovo jo s ne garantira da niz generiran s (11.3.4) zadovoljava f (xi+1 ) < f (xi ). Uo cimo da je u (11.3.4) i = 1. Ako za smjer silaska izaberemo 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 na cina, denirali smo tzv. modiciranu Newtonovu metodu (modikacija je uvodenje koraka minimizacije i u Newtonovu metodu (11.3.4)). Za primjenu modicirane Newtonove metode nu zno je da je funkcija f C 2 . 2 Metoda je primjenjiva samo na podru cju gdje je f pozitivno denitna. Ako f nije konveksna funkcija, tada je modicirana Newtonova metoda primjenjiva samo u okolini to cke minimuma, a ne na cijelom podru cju minimizacije. U odnosu na gradijentnu metodu, modicirana Newtonova metoda zahtijeva konveksnost i ve cu glatko cu funkcije f . Nadalje, u svakom je koraku minimizacije nu zno izra cunati Hessijan, te rije siti sustav 2 f (xi )(xi+1 xi ) = f (xi )

11. OPTIMIZACIJA

OPTIMIZACIJA 586

(ovdje nema potrebe za invertiranjem Hessijana). Radi ubrzanja metode, cesto se Hessijan ne ra cuna u svakoj iteraciji. S druge strane, prednost metode je br za konvergencija generiranog niza (xi )i k to cki minimuma. Da bismo ilustrirali prednost modicirane Newtonove metode u odnosu na gradijentnu metodu, usporedit cemo ove dvije metode na jednome jednostavnom primjeru. Neka je A pozitivno denitna matrica. Minimizirat cemo kvadratnu formu 1 f (y ) = Ay, y + b, y + c. 2 Za ovu funkciju, egzaktni minimum jednostavno se pronalazi. Gradijent funkcije f je dan s f (y ) = Ay + b, te iz nu znog i dovoljnog uvjeta za minimum f (y ) = 0 dobijemo da f dosti ze 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 po cetne to cke x0 modicirana Newtonova metoda daje egzaktno rje senje u jednom koraku. Egzaktni izbor koraka (11.3.5) daje 0 = 1. Primjena gradijentne metode na ovom primjeru pokazuje da ova metoda op cenito ne dolazi do minimuma u kona cnom broju koraka. Za ilustraciju promatrat cemo dvodimenzionalni problem minimizacije funkcije 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 slu caju, gradijentna metoda u jednom koraku dolazi do to cke minimuma x = Izaberimo po cetni vektor x0 = x0,1 x0,2 0 . 0

s komponentama x0,1 i x0,2 razli citim od nule. Ako bi jedna komponenta bila 0, sli do minimuma. Pretpostavimo sada tada bismo, takoder, u jednom koraku do da je gradijentna metoda u kona cnom broju koraka, recimo k + 1, do sla do to cke 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.

Budu ci da je 1 = 2 , barem jedna od komponenti vektora xk treba biti jednaka nuli. Pokazat cemo da je to nemogu ce ukoliko su komponente od x0 razli cite od 0, 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 2 3 2 1 xi,1 + 2 xi,2

xi,1 xi,2

xi+1,2

2 1 (1 2 )xi,2 x2 i,1 = . 3 2 3 2 1 xi,1 + 2 xi,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 zaklju cujemo da niti u jednom koraku ne dolazimo do to cke minimuma.

11.4.

KvaziNewtonove metode

Prethodna usporedba gradijentne i modicirane Newtonove metode pokazuje da je modicirana Newtonova metoda br za od gradijentne, tj. do minimuma kvadratne forme dolazi u kona cnom (jednom) broju minimizacijskih koraka. To pla camo ve cim brojem ra cunskih operacija u svakom koraku (za ra cunanje Hessijana te rje savanje sustava jednad zbi). 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 podru cju u kojem je funkcija koju minimiziramo konveksna, odnosno Hessijan pozitivno denitan. Izvan tog podru cja ne mo zemo ni sta re ci o konvergenciji metode. Metode koje cemo ovdje opisati rje savaju i taj problem. U okolini minimuma se pona saju kao modicirana Newtonova metoda, a izvan tog podru cja jo s uvijek garantiraju konvergenciju. Primjena ovih metoda na problem minimizacije kvadratne forme pokazat ce da se do minimuma dolazi u kona cnom broju koraka, ne ve cem od dimenzije (broja varijabli) problema. Tako i ovaj kriterij svrstava metode koje cemo promatrati, po ekasnosti, izmedu gradijentne i modicirane Newtonove metode. Ve c smo pokazali da je za pozitivno denitnu matricu H i H f (x) smjer silaska. Ovdje cemo promatrati metode za koje je smjer silaska deniran s 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 matricu Hi+1 relativno jednostavno ra cunaju iz prethodne matrice Hi . Ovim pristupom ne trebamo u svakom koraku rje savati sustav 2 f (xi )si = f (xi ), ve cu svakom koraku mno zimo matricu Hi s vektorom f (xi ), sto je daleko br ze. U svakom koraku matricu Hi+1 generirat cemo tako da bude zadovoljeno Hi+1 (f (xi+1 ) f (xi )) = xi+1 xi . (11.4.2)

Ovaj uvjet na Hi+1 sli can 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 cemu Hi+1 zadovoljava ralaciju (11.4.2), nazivamo kvazi-Newtonove metode ( cesto se koristi i naziv metode promjenjive metrike). Za niz matrica koje zadovoljavaju (11.4.2) mo ze se pokazati da vrijedi lim Hi = [2 f (x )]1 , gdje je x to cka minimuma. Ovo dodatno opravdava naziv metode. Sada cemo vidjeti kako ra cunati Hi da bi vrijedilo (11.4.2). Ozna cimo qi = f (xi+1 ) f (xi ) i pi = xi+1 xi . Tra zimo pozitivno denitnu matricu Hi+1 koja zadovoljava Hi+1 qi = pi .
i

11. OPTIMIZACIJA

OPTIMIZACIJA 589

Htjeli bismo da je matrica Hi+1 lako izra cunljiva iz matrice Hi . Radi jednostavnosti, u daljnjem ra cunu ne cemo koristiti indekse: H = Hi , p = pi , q = qi , H = Hi+1 .

Uz ovaj dogovor uvjet (11.4.2) mo zemo zapisati u obliku H q = p. Pod pojmom da je H lako izra cunljiva podrazumijevat cemo da H dobijemo iz H pribrajanjem neke relativno jednostavne matrice E : H = H + E. Sada smo problem sveli na odredivanje matrice E koja zadovoljava (H + E )q = p, odnosno Matrice H i H su simetri cne matrice, pa je i matrica E simetri cna. Najjednostavnija simetri cna matrica M koja zadovoljava Mx = y za zadane vektore x i y ima oblik M= yy T yy T = . yT x y, x (11.4.3) Eq = p Hq.

Lako se vidi da ovako denirana matrica M zadovoljava (11.4.3): Mx = Tako za A= vrijedi Aq = p, a za B= vrijedi Bq = yy T 1 1 x= y (y T x) = y y, x = y. y, x y, x y, x ppT pT q

Hq (Hq )T Hqq T H = (Hq )T q q T Hq Hq (Hq )T q = Hq. (Hq )T q

11. OPTIMIZACIJA

OPTIMIZACIJA 590

Na osnovu ovoga, lako zaklju cimo da matrica E denirana s E =AB = zadovoljava Eq = p Hq . ppT Hqq T H pT q q T Hq

Ovime smo pokazali da matrica Hi+1 denirana s Hi+1 = Hi +


T Hi qi qi Hi pi pT i , T T pi qi qi Hi qi

(11.4.4)

gdje je qi = f (xi+1 ) f (xi ), a pi = xi+1 xi , zadovoljava kvazi-Newtonovu jednad zbu. Ova metoda poznata je pod nazivom DFP metoda (Davidon, Fletcher, Powel). Sada cemo pokazati da je Hi+1 dobro denirana, tj. da su nazivnici u (11.4.4) razli citi od 0. Stovi se, vrijedi
T pT i qi > 0 i qi Hi qi > 0

ako je f (xi ) = 0. Prvo poka zimo da su kod egzaktnog izbora koraka f (xi + i si ) = min f (xi + si )
0

vektori si i f (xi+1 ) okomiti. Budu ci da je i to cka minimuma, vrijedi 0= d f (xi + si ) d


=i

= f (xi + i si ), si = f (xi+1 ), si .

Ako korak ne biramo egzaktno, ve c nekom numeri ckom metodom, gornja jednakost ne ce vrijediti. U tom slu caju je jednozna cno odreden i = 0 za koji je f (xi+1 ), si = i f (xi ), si . Za egzaktan izbor koraka je i = 0, dok za neegzaktan izbor o cekujemo da je i 0. Primjenom gornjih oznaka dobivamo pT i qi = f (xi+1 ) f (xi ), xi+1 xi = f (xi+1 ) f (xi ), i si = 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 ) . Budu ci da je Hi pozitivno denitna matrica i f (xi ) = 0, gornji skalarni produkt je strogo pozitivan. Uz uvjet da je i < 1 vrijedit ce pT i qi > 0. Ovaj uvjet nije veliko ograni cenje jer, kako smo ve c spomenuli, kod neegzaktnog izbora koraka o cekujemo 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 slu caju je i f (xi+1 ), si = f (xi ), si te je i = 1. Zna ci, i u ovom slu caju i < 1 garantira da je
T qi Hi qi > 0.

Ovime smo pokazali da je matrica Hi+1 dobro denirana. Matrica Hi je pozitivno denitna pa prema tome i simetri cna. Iz denicije matrice Hi+1 (11.4.4) jasno je da je i ona simetri cna, no pozitivna denitnost nije tako o cita. Uzmimo proizvoljan vektor y Rn , y = 0. Kako je Hi pozitivno denitna, mo zemo je zapisati u obliku H = LLT , gdje je L regularna donjetrokutasta matrica. Kori stenjem oznaka u = LT y i v = T L qi , izlazi (p T 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 (p T 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 = 2 v

u, v
2

0.

(11.4.7)

Gornja nejednakost je posljedica Schwartzove nejednakosti. Ovime smo pokazali da je izraz (11.4.5) nenegativan. Sada cemo pokazati da je 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 2 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 T y )2 p, q 2 = = 2 p, q . pT q (p, q )

Ovo je pak u kontradikciji s prije dokazanom cinjenicom da je 0 < pT q = p, q . Ovime smo dokazali sljede ci teorem.

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 jednad zbu (11.4.2). Gore opisana metoda mo ze se generalizirati slo zenijim iteracijskim postupkom 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 q Hq p q

Funkcija je denirana jedino ako je pT q = 0 i q T Hq = 0. Uo cimo da je matrica Hi+1 dobivena iz Hi dodavanjem korekcije reda ne ve ceg od 2 matrici i Hi : rank(Hi+1 Hi ) 2. Stoga se ka ze da (11.4.8) denira metodu reda dva. Metoda (11.4.8) obuhva ca nekoliko poznatih metoda kao specijalne slu cajeve: (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 T (c) i = 1, i = pT cna metoda reda jedan. i qi /(pi qi qi Hi qi ); Broydenova simetri T Zadnja metoda denirana je jedino u slu caju kad je pT i qi = qi Hi qi . Ovdje je mogu ce da vrijedi i < 0 te u tom slu caju Hi+1 mo ze biti indenitna cak i kad je Hi pozitivno denitna. Ako zamijenimo vrijednost i u (11.4.8) dobivamo T zi zi , i T i = pT i qi qi Hi qi ,

Hi+1 = Hi +

zi = pi Hi qi ,

sto obja snjava za sto se ova metoda naziva metodom reda jedan. Za metode denirane 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 jednad zbu (11.4.2). Na kraju razmatranja kvazi-Newtonovih metoda, pokazat cemo da metoda denirana s (11.4.8) dolazi do to cke minimuma kvadratne funkcije f : Rn R u najvi se n koraka, uz uvjet da je kori stena egzaktna minimizacija pri izboru koraka minimizacije. Ovaj rezultat nam sugerira da ce ova metoda brzo konvergirati i u slu caju minimizacije nekvadrati cne funkcije. 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) kori stena kvazi-Newtonova metoda denirana s (11.4.8), uz egzaktan izbor koraka s po cetnim vrijednostima x0 i H0 , tada generirani nizovi (xi )i , (Hi )i , (f (xi ))i , (pi )i = (xi+1 xi )i i (qi )i = (f (xi+1 ) f (xi ))i imaju sljede ca 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 rije cima, vektori pi su A-konjugirani.)

(d) Hk qi = i,k pi za 0 i < k m, gdje je i,k =

(c) pi , f (xk ) = 0 za sve 0 i < k m. 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 sljede ce uvjete za proizvoljan indeks l 0: 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)

Ako su ovi uvjeti zadovoljeni za l te ako je f (xl ) = 0 tada cemo 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. 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

Minimizacija po pravcu je egzaktna, pa je l nulto cka od

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. Slu caj i = l dokazan je s (11.4.14). Za i < l vrijedi
l

pi, f (xl+1 ) = pi , f (xi+1 ) +

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. Kori stenjem (11.4.8), direktno slijedi da je Hl+1 ql = pl . Nadalje, (11.4.9) (11.4.11) za l + 1 i (11.4.13) povla ce da je pl , qi = 0, Hl ql , qi = i,l ql , pi = 0 za 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. Uo cimo da su (11.4.9)(11.4.13) trivijalno zadovoljene za l = 0. Sve dok xl zadovoljava (b)(d) iz iskaza teorema i f (xl ) = 0, mo zemo generirati xl+1 koji, takoder, zadovoljava (b)(d). Niz x0 , x1 , . . . mora biti kona can; (11.4.9)(11.4.11) mo ze vrijediti samo za l n, jer je l vektora p0 , . . . , pl1 linearno nezavisno a u Rn najvi se n vektora mo ze biti linearno nezavisno. Kada se niz prekine, recimo za l = m, 0 m n, to mora biti zbog f (xm ) = 0, xm = A1 b, tj. vrijedi tvrdnja (a). U slu caju m = n, (d) povla ci 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 , sto dokazuje tvrdnju (e), a time i teorem.

11.5.

Konvergencija minimizacijskih metoda

U pro slom potpoglavlju smo opisali osnovne minimizacijske metode. Medutim, nismo ni sta rekli o njihovoj konvergenciji, odnosno o tome, pod kojim ce uvjetima generirani niz to caka konvergirati prema minimumu promatrane funkcije. 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 to cke x. Za promatranje konvergencije metode, promatrat cemo ne sto 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 zbog s = 1, mo zemo zapisati kao f (x), s f (x) , 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 ozna cimo kut izmedu vektora f (x) i s, zbog svojstva skalarnog produkta 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 . Sljede ca lema 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 ciji je gradijent f (x) deniran i neprekidan za sve x V ( x) u okolini V ( x) to cke x . Nadalje, pretpostavimo da je f ( x) = 0 i neka je 1 > 0. Tada postoji okolina U ( x) V ( x) od x i broj > 0 takav da je f (x + s) f (x) f ( x) 4 za sve [0, ]. Dokaz. Skup U 1 ( x) := x V ( x) | f (x) f ( x) f ( x) 4

je neprazan i x / U 1 ( x), jer je f ( x) = 0 i f je neprekidna na V ( x). Sli cno U 2 ( x) := x V ( x) | d(, x) D ,x 2

je neprazan i okolina od x (tj. x U 2 ( x) i x / U 2 ( x)). Izaberimo > 0 takav da vrijedi inkluzija S2 ( x ) = {x | x x 2} U 1 ( x) U 2 ( x), i neka je x ) = {x | x x }. U ( x) := S ( Tada za x U ( x), 0 , s D (, x), postoji , 0 < < 1 (teorem srednje vrijednosti) takav da je f (x) f (x + s) = f (x + s), s = [ f (x + s) f ( x), s + f ( x), s ]. Uo cimo da je x + s U 1 ( x). Naime, zbog x U ( x) = S ( x), s = 1 i 0 < < 1, vrijedi x + s x xx + s + = 2, to jest x + s S2 ( x) U 1 ( x ).

11. OPTIMIZACIJA

OPTIMIZACIJA 597

Stoga je f (x + s) f ( x), s f (x + s) f ( x) f ( x) . 2 s f ( x) . 4

Nadalje, jer je s D (, x) D (/2, x ) (to vrijedi jer je x U ( x) U 2 ( x)), vrijedi f ( x), s Sada je f (x) f (x + s) cime smo dokazali lemu. Sada cemo promatrati sljede cu metodu za minimizaciju diferencijabilne funkn cije f : R R. (a) Izaberi brojeve i , i , i = 0, 1, 2, . . . koji zadovoljavaju sup i 1,
i

f ( x) + f ( x) 4 2

f ( x) 4

Metoda 1.

inf i > 0,
i

inf i > 0,
i

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

i izaberi po cetnu to cku x0 Rn .

min

f (xi + si ).

Metoda 1 poop cava velik broj metoda. Jedna od njih je i gradijentna metoda. Naime, kod gradijentne metode je si = Budu ci da je je 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. mo zemo uzeti i = 1. Parametar i kontrolira interval po kojem minimiziramo funkciju gi () := f (xi + si ). Tra zenje minimuma po neograni cenom intervalu ( [0, )) je cesto zahtjevno, ponekad i nemogu ce. Stoga problem minimizacije pojednostavimo tra zenjem minimuma na segmentu [0, i f (xi ) ], sirinu kojega denira i . Ovaj parametar deniramo proizvoljno, vode ci ra cuna da ve ci i zna ci manju (bolju) vrijednost funkcije f (xi + si ) ali i ve ci interval po kojem tra zimo minimum, sto zna ci i dulji postupak (bilo analiti cki, bilo numeri cki). Manji i smanjuje interval i ubrzava jednodimenzionalnu minimizaciju u i-tom koraku, ali rezultira ve com vrijedno s cu funkcije f u novoj to cki xi+1 . Kako niz (xi )i dobivenovom metodom konvergira, opisuje sljede ci 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 sadr zi K .

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 gomili ste x u K. (b) Svako gomili ste niza (xi )i je stacionarna to cka od f ; f ( x) = 0. Dokaz. Iz denicije niza (xi )i direktno slijedi da je niz (f (xi ))i monoton: f (xi+1 ) f (xi ) f (x1 ) f (x0 ), te posebno vrijedi f (xi ) f (x0 ), tj. xi K . Budu ci da je K kompaktan, (xi )i ima barem jedno gomili ste u K . Time smo dokazali prvu tvrdnju teorema. Za dokaz druge tvrdnje, pretpostavit cemo suprotno. Neka je (xi )i niz u K i x njegovo gomili ste te vrijedi f ( x) = 0. (11.5.3) Bez smanjenja op cenitosti mo zemo pretpostaviti da je x = lim xi (tj. uzimamo i konvergentan podniz). Neka je := inf i > 0 i := inf i > 0.
i i

Prema Lemi 11.5.1, postoji okolina U ( x) od x i broj > 0 koji zadovoljava f (x + s) f (x) za sve x U ( x), s D (, x) i 0 . f (x) 4 (11.5.4)

11. OPTIMIZACIJA

OPTIMIZACIJA 599

Kako je lim xi = x , neprekidnost od f (x) zajedno s (11.5.3) povla ci egzisi tenciju k0 takvog da je za sve k k0 xi U ( x) i Neka je M := min , f (xi ) 1 f ( x) . 2

1 f ( x) i := M f ( x) > 0. 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 f (xi+1 ) min f (xi + si ).
0M

Zbog M , xi U ( x), si D (i , xi ) D (, xi ), (11.5.4) povla ci f (xi+1 ) f (xi ) M f ( x) = f (xi ) 4

za sve k k0 . To povla ci da je lim f (xi ) = , sto je u kontradikciji s cinjenicom i da je (f (xi ))i odozdo ograni cen s f ( x) zbog konvergencije niza (xi )i : f (xi ) f (xi+1 ) f ( x). Dakle, x je stacionarna to cka funkcije f . Korak (b) u Metodi 1 je minimizacija funkcije g () := f (xi + si ) na segmentu [0, i f (xi ) ]. Ovaj je korak poznat pod imenom pretra zivanje po pravcu (engl. line search). Uo cimo da uvjeti Teorema 11.5.1 zahtijevaju pronala zenje egzaktnog minimuma, sto je te zak ( cesto nemogu c) zadatak. Numeri cka minimizacija nekom metodom za jednodimenzionalnu minimizaciju (npr. metoda zlatnog reza) mo ze dati dosta to cnu aproksimaciju minimuma. Ali i taj postupak mo ze zahtijevati zna cajnu koli cinu ra cunanja. Stoga Metoda 1 ima ograni cenu primjenu u praksi. Sljede ca varijanta ove metode koristi ideju da se egzaktna minimizacija zamijeni neegzaktnim pretra zivanjem po pravcu, kona cnim postupkom 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 po cetna to cka x0 Rn .

11. OPTIMIZACIJA

OPTIMIZACIJA 600

(b) Za i = 0, 1, 2, . . . izra cuna se xi+1 iz xi na sljede ci na cin: 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 i {0, 1, . . . , j } takav da je i (i 2i ) minimalan i denira xi+1 := xi + i si gdje je i = i 2i . Uo cimo da j koji zadovoljava (11.5.5) postoji. Ako je xi stacionarna to cka (f (xi ) = 0) tada je j = 0. Ako xi nije stacionarna to cka, egzistencija od j slijedi direktno iz Leme 11.5.1 stavljanjem x := xi . U svakom slu caju, j (i i ) se mo ze odrediti u kona cnom broju koraka. I za ovu metodu mo ze se dokazati teorem analogan 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 s i = [2 f (xi )]1 f (xi ), Radi jednostavnosti, ozna cimo H := [2 f (xi )]1 pa je si = Poku sajmo odrediti i za koji je f (xi ), si i f (xi ) , tj. g, Hg i g Hg . (11.5.6) i g := f (xi ), Hg . Hg si := s i . s i

11. OPTIMIZACIJA

OPTIMIZACIJA 601

Ako je f dva puta neprekidno diferencijabilna, tada je 2 f (xi ) simetri cna matrica, te vrijedi max x 2 2 f (xi )x, x min x 2 , x Rn ,

gdje su max i min najve ca i najmanja svojstvena vrijednost matrice 2 f (xi ). Va zno je uo citi da za euklidsku normu vrijedi: 2 f (xi ) = max{|max |, |min|}.

Ako je matrica 2 f (xi ) pozitivno denitna, onda je max > min > 0, te je Ako je svojstvena vrijednost matrice 2 f (xi ), tada je 1/ svojstvena vrijednost matrice [2 f (xi )]1 , pa je [2 f (xi )]1 = Zna ci, matrica H = [2 f (xi )]1 zadovoljava 1 min Nadalje vrijedi Iskoristiv si ove nejednakosti, dobivamo Hx H 1 max 1 min 1 min 1 min , g
2

2 f (xi ) = max .

1 min

Hx, x

1 max

x 2,

x Rn .

x .

g, Hg i i g Ukoliko je zadovoljeno

Hg i 1 max i

g 2.

(11.5.7) i g Hg

tada iz g, Hg

max slijedi da je zadovoljeno (11.5.5).

Uvjet (11.5.7) mo zemo zapisati u obliku i min = max 2 f (xi ) 1 . [2 f (xi )]1

11. OPTIMIZACIJA

OPTIMIZACIJA 602

Veli cina cond(A) := A A1 naziva se broj uvjetovanosti matrice A. Sada uvjet (11.5.7) mo zemo zapisati u 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.

(onda je automatski i Medutim, ako je 2 f regularna u okolini minimuma x pozitivno denitna), tada mo zemo staviti 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), sto je mnogo ja ci uvjet od npr. uvjeta konvergencije gradijentne metode. Medutim, ova metoda br ze konvergira ukoliko su 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) , Birkh auser, Boston, 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