A. Zolić
NUMERIČKA MATEMATIKA I
BEOGRAD
Dr Arif Zolić Matematički fakultet, Beograd NUMERIČKA MATEMATIKA I Izdavač: Matematički fakultet, Beograd Za izdavača:
dr Miodrag Mateljević
Izdavački odbor: dr Zoran Kadelburg dr Gojko Kalajdžić dr Trajko Angelov dr Smilja Lazarević–Milanović dr Gordana Pavlović–Lažetić Recenzenti:
dr Boško Jovanović dr Ljubomir Protić
Priprema za štampu, tehničko ureñenje i crteži Amir Zolić, Aleksandar Savić i autor Naslovna strana: autor Štampa: DENFAS, Tuzla Za štampariju: S. Hasanović Tiraž: 300 primeraka CIP – Katalogizacija u publikaciji Narodna biblioteka Srbije, Beograd ???????? Zolić, Arif Numerička matematika I A. (Arif) Zolić – 1. izdanje – Beograd Matematički fakultet, Beograd, Studentski trg 16 2008. – 6 + 374 str. : graf. prikaz; 24 cm Bibliografija: str. 373–374 ISBN: 978–86–7589–068–3 Objavljivanje i upotrebu ovog udžbenika je odobrilo Naučno–nastavno veće Matematičkog fakulteta u Beogradu u decembru 2007. godine © 2008 Matematički fakultet, Beograd Sva prava zadržana. Nijedan deo ove publikacije ne može biti reprodukovan niti smešten u sistem za pretraživanje ili transmitovanje u bilo kom obliku, elektronski, fotokopiranjem ili na neki drugi način, bez pismene dozvole autora.
U spomen mojim dragim roditeljima
PREDGOVOR
Užbenik Numerička matematike I je napisan na osnovu predavanja koja sam držao duži niz godina na Prirodno–matematičkom fakultetu, odnosno Matematičkom fakultetu u Beogradu iz predmeta: Numerička analiza, Numerička analiza I, Numerička analiza II, Numeričke metode i Uvod u numeričku matematiku. Namenjen je prvenstveno studentima matematike, a verujem da može biti od koristi i studentima drugih fakulteta na kojima se izučava numerička matematika. Osnovni tekst udžbenika je podeljen na šest delova koji su numerisani brojevima od I do VI, a ovi delovi na manje celine. Izlaganje je ilustrovano detaljno rešenim primerima. Verujem da ovo doprinosi jednostavnijem i bržem razumevanju. Recenzenti, dr Boško Jovanović i dr Ljubomir Protić, su pažljivo pregledali rukopis i svojim blagovremenim i dobronamernim primedbama i sugestijama moj napor učinili lakšim, a rezultat lepšim. Zbog toga im se i na ovom mestu zahvaljujem. I pored uloženog velikog truda i želje da udžbenik bude bez grešaka, svestan sam da zbog prirode sadržaja knjige i velikog obima računanja to u potpunosti nije moguće postići. Zbog toga, svakom ko dobronamerno ukaže na eventualne propuste unapred se zahvaljujem. A. Zolić
SADRŽAJ
I
RAČUNANJE S PRIBLIŽNIM VREDNOSTIMA................................... 1
0. 1. 2. 3. 4. 5.
Uvodne napomene ..................................................................................................1 Pojam približnog broja i izvori grešaka u rezultatima računanja ...........................5 Apsolutna, relativna, procentualna i promilna greška približnog broja .................7 Značajne i sigurne cifre približnog broja................................................................9 Zaokrugljivanje brojeva. Tačne cifre približnog broja .........................................11 Veza izmeñu granice relativne greške približnog broja i broja njegovih sigurnih cifara.............................................................................13 6. Opšta formula za grešku približne vrednosti funkcije..........................................15 7. Greška zbira i razlike ............................................................................................17 8. Greška proizvoda i broj njegovih sigurnih cifara .................................................20 9. Greška količnika i broj njegovih sigurnih cifara ..................................................22 10. Greška stepena i korena ........................................................................................24 11. Metoda granica .....................................................................................................26 12. Inverzni problem ocene greške .............................................................................28
II INTERPOLACIJA FUNKCIJA............................................................... 31 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Uvodne napomene ................................................................................................31 Opšti zadatak interpolacije....................................................................................32 Lagranžev interpolacioni polinom ........................................................................35 Ocena greške interpolacije....................................................................................37 Konačne razlike funkcija ......................................................................................39 Prvi Njutnov interpolacioni polinom ....................................................................45 Drugi Njutnov interpolacioni polinom .................................................................47 Tablica centralnih razlika......................................................................................49 Gausove interpolacione formule...........................................................................50 Stirlingova interpolaciona formula .......................................................................54 Beselova interpolaciona formula ..........................................................................56 Inverzna interpolacija ...........................................................................................60 Inverzija reda ........................................................................................................65 Trigonometrijski interpolacioni polinomi.............................................................68 Podeljene (količničke) razlike funkcija ................................................................69 Njutnovi interpolacioni polinomi s podeljenim razlikama ...................................74 Konvergencija interpolacionog procesa ...............................................................76 Ermitov interpolacioni polinom............................................................................78 Inverzne podeljene razlike i interpolacija funkcija verižnim racionalnim izrazima .............................................................................82 19. Splajn–interpolacija ..............................................................................................85 20. Interpolacija funkcija više nezavisnih promenljivih.............................................91 21. Napomene o tačnosti interpolacije........................................................................97
III NUMERIČKO DIFERENCIRANJE I NUMERIČKA INTEGRACIJA ............................................................ 101 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Uvodne napomene ..............................................................................................101 Numeričko diferenciranje ...................................................................................101 Numeričko diferenciranje funkcija više nezavisnih promenljivih......................104 Numerička integracija.........................................................................................107 Njutn–Kotesove kvadraturne formule ................................................................109 Trapezna kvadraturna formula............................................................................115 Simpsonova kvadraturna formula.......................................................................118 Njutn–Kotesove formule viših redova................................................................124 Njutn–Kotesove kvadraturne formule otvorenog tipa ........................................127 Čebišovljeva kvadraturna formula......................................................................128 Gausova kvadraturna formula.............................................................................132 Kvadraturna formula Lobatoa.............................................................................138 Rungeov princip približne ocene greške numeričke integracije.........................140 Ričardsonova metoda ekstrapolacije ..................................................................142 Rombergova metoda ...........................................................................................145 Izračunavanje približnih vrednosti nesvojstvenih integrala ...............................152 Ojler–Maklorenova kvadraturna formula ...........................................................160 Konvergencija kvadraturnih procesa ..................................................................167 Optimizacija kvadraturnih formula.....................................................................173 Numeričko izračunavanje višestrukih integrala..................................................175
IV NUMERIČKE METODE REŠAVANJA ALGEBARSKIH I TRANSCENDENTNIH JEDNAČINA I NJIHOVIH SISTEMA ......... 181 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Uvodne napomene ..............................................................................................181 Lokalizacija rešenja ............................................................................................182 Metoda polovljenja odsečka ...............................................................................186 Metoda sečice......................................................................................................188 Njutnova metoda.................................................................................................195 Modifikacije Njutnove metode ...........................................................................201 Kombinovana metoda sečice i tangente .............................................................203 Metoda iteracije ..................................................................................................205 Pojam reda konvergencije i konstrukcija iterativnih metoda višeg reda ............215 Njutnova metoda za rešavanje sistema nelinearnih algebarskih i transcendentnih jednačina .............................................................219 Metoda iteracije za rešavanje sistema nelinearnih algebarskih i transcendentnih jednačina .............................................................224 Dovoljni uslovi konvergencije metode iteracije .................................................232 Zajdelova metoda................................................................................................236 Opšta svojstva algebarskih jednačina. Granice korena ......................................238 Broj realnih rešenja algebarske jednačine ..........................................................245 Metoda Lobačevski–Grefea za slučaj realnih različitih rešenja .........................248 Metoda Lobačevski–Grefea za slučaj para konjugovano–kompleksnih rešenja 255 Bernulijeva metoda .............................................................................................258
V NUMERIČKE METODE REŠAVANJA SISTEMA LINEARNIH ALGEBARSKIH JEDNAČINA............................................................ 261 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Uvodne napomene ..............................................................................................261 Gausova metoda – shema jedinstvenog deljenja ................................................262 Gausova metoda – shema s izborom glavnog elementa .....................................267 Žordanova shema ................................................................................................268 Gausova metoda – kompaktna shema.................................................................269 Izračunavanje determinanata ..............................................................................271 Istovremeno rešavanje više sistema linearnih algebarskih jednačina. Izračunavanje inverznih matrica.........................................................................273 Metoda kvadratnih korena ..................................................................................279 Metoda ortogonalizacije .....................................................................................281 Metoda konjugovanih gradijenata ......................................................................285 Metoda najstrmijeg spuštanja .............................................................................289 Metoda iteracije ..................................................................................................291 Zajdelova metoda................................................................................................299 Optimizacija brzine konvergencije iterativnih procesa ......................................307 Ocena greške približnog rešenja sistema linearnih algebarskih jednačina.........309 Mera uslovljenosti matrica i sistema linearnih algebarskih jednačina ...............311 Metoda relaksacije ..............................................................................................316 Metoda najmanjih kvadrata ................................................................................318
VI NUMERIČKE METODE REŠAVANJA PROBLEMA SOPSTVENIH VREDNOSTI I SOPSTVENIH VEKTORA MATRICA...................... 321 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
O problemu sopstvenih vrednosti i sopstvenih vektora matrica.........................321 Metoda Danilevskog ...........................................................................................323 Metoda Krilova ...................................................................................................329 Metoda Leverjea .................................................................................................337 Jedna modifikacija metode Leverjea ..................................................................340 Metoda interpolacije ...........................................................................................343 Iterativna metoda za rešavanje potpunog problema sopstvenih vrednosti matrica ..............................................................................346 Metoda proizvoljnog vektora..............................................................................349 Metoda tragova ...................................................................................................353 Metoda skalarnih proizvoda................................................................................356 Metoda iscrpljivanja ...........................................................................................358 Nalaženje druge sopstvene vrednosti i odgovarajućeg sopstvenog vektora.......360 Nalaženje sopstvenih vrednosti i sopstvenih vektora pozitivno definitne i simetrične matrice .............................................................362 Metoda redukcije problema sopstvenih vrednosti matrica .................................365 Geršgorinova teorema.........................................................................................368 LR i QR algoritam ..............................................................................................368
L I T E R A T U R A.................................................................................... 373
I
RAČUNANJE S PRIBLIŽNIM VREDNOSTIMA
0.
UVODNE NAPOMENE
U mnogim oblastima savremene nauke i tehnike sve češće se dolazi do matematičkih zadataka čija se tačna rešenja ne mogu dobiti klasičnim matematičkim metodama (obično je pri tom dokazana egzistencija i jedinstvenost rešenja tih zadataka) ili se pak mogu dobiti, ali su pri tom toliko komplikovana da se praktično ne mogu upotrebiti. Broj takvih zadataka je porastao naročito u poslednje vreme zbog velikog i brzog razvoja nauke i tehnike. Prirodno je što se, zbog toga, postavio problem izgradnje efikasnih metoda za nalaženje približnih rešenja takvih zadataka. S druge strane, veliki napreci u nauci i tehnici omogućili su konstruisanje novih, izvanrednih sredstava za računanje. Zbog toga su se postavili zadaci uporeñivanja, revidiranja i sistematizacije već postojećih i izgradnje novih metoda radi efikasnog korišćenja tih sredstava. Navedeni razlozi su doveli do nastanka jedne posebne oblasti matematike, čiji je zadatak razrada metoda koje dovode do brojčanih rezultata, rešenja, različitih zadataka analize, algebre, verovatnoće, statistike, geometrije itd. Ta oblast se naziva numeričkom matematikom. Dakle, šta je numerička matematika? Šta je predmet proučavanja numeričke matematike? Koje su njene metode? Odgovoriti na ova pitanja nije jednostavno. Jedan od razloga je, svakako, nemogućnost potpune i disjunktne klasifikacije nauka uopšte, pa i matematičkih nauka. Poznato je da je dijapazon primene matematike vrlo širok, pa je s tim povezano preplitanje matematike i drugih nauka. Slično, u samoj matematici pojedine oblasti se preklapaju u odreñenom smislu, pa samim tim nije moguće precizno odrediti predmete proučavanja pojedinih matematičkih disciplina. Može se jedino sigurno reći da postoji samo jedna matematika koju čine pojedine matematičke discipline koje se prepliću i u pogledu oblasti i u pogledu metoda proučavanja. Numerička matematika ima kao oblast proučavanja celu matematiku i njene primene. Ona razvija sopstvenu teoriju i razrañuje sopstvene metode. Bitna karakteristika tih metoda je, po pravilu, rezultat u obliku broja. Često koristimo i termin numerička analiza, gde nikako ne treba imati u vidu samo numeričke metode rešavanja zadataka klasične matematičke analize. Naprotiv, pre bi se moglo govoriti o numeričkim metodama analize, numeričkim metodama linearne algebre, numeričkim metodama nelinearne algebre, numeričkim metodama geometrije, numeričkim metodama statistike,... Najčešći zadaci numeričke matematike ili numeričke analize u širem smislu su: aproksimacija skupova i funkcija u funkcionalnim prostorima i razrada racionalnih algoritama i metoda rešavanja zadataka. Dakle, u numeričkoj analizi važni su: teorijski aspekt – razvoj odgovarajućih metoda i primenjeni aspekt – veza s praktičnim zadacima uz korišćenje savremene računske tehnike. 1
U samoj primeni matematike bitan značaj ima konstruisanje matematičkog modela posmatrane pojave i procesa. Tako, na primer, ako treba proučiti kretanje rakete ili veštačkog satelita, onda se problem malo uprosti i sastavi se diferencijalna jednačina kretanja, pa se proučavanje svodi na proučavanje te diferencijalne jednačine. Samim postavljanjem tog matematičkog modela dolazi do približnosti čiji uticaj na rezultat treba ispitati. Metode proučavanja matematičkih modela su, po pravilu, numeričke metode. Analiza matematičkih modela uključuje u sebe: izučavanje odreñenog zadatka, izbor modela, obrada ulaznih informacija, numeričko rešavanje matematičkog zadatka koji nastaje kod ispitivanja modela, proučavanje i primena dobijenih rezultata. Pri tome je vrlo bitno koliko rezultati dobijeni na osnovu matematičkog modela verno odgovaraju stvarnoj proučavanoj pojavi ili proučavanom procesu. Isticanje rezultata u obliku broja ne treba shvatiti suviše isključivo. Nekada su pogodnije analitičke metode za nalaženje približnih rešenja nekih zadataka, a često su elementi zadatka i rezultati funkcije (jednog ili više argumenata), skupovi funkcija itd. Ipak, zbog velike primene elektronskih računara prirodno je istaći rezultat u obliku broja kao karakteristiku numeričke matematike uzimajući u obzir prethodno rečeno. Navedimo jedan primer koji će ilustrovati razliku izmeñu teorijskog i numeričkog, praktičnog rešavanja jednog istog zadatka. Primer 1. Neka treba rešiti sistem linearnih nehomogenih algebarskih jednačina a11 x1 + a12 x2 + ... + a1n xn = b1 , a21 x1 + a22 x2 + ... + a2 n xn = b2 , (1) ⋮ an1 x1 + an 2 x2 + ... + ann xn = bn . Sistem jednačina (1) može se zapisati u sažetom, matričnom obliku (2) AX = B , gde je a11 a12 … a1n x1 b1 a21 a22 … a2 n x2 b A= , X = , B = 2 . ⋮ ⋮ ⋮ xn bn an1 an 2 … ann Pretpostavimo da je determinanta matrice sistema D = det A ≠ 0 , tj. pretpostavimo da sistem jednačina ima jedinstveno rešenje. Ako obe strane matrične jednačine (2) pomnožimo sleva inverznom matricom A−1 , dobićemo rešenje sistema jednačina u vrlo jednostavnom, sažetom obliku X = A −1 B . Kao što znamo, možemo koristiti dobro poznate Kramerove formule (G. Cramer, 1704–1752)
(3)
2
Dk (k = 1, n) , D gde su Dk determinante nepoznatih xk , k = 1, n . Sa gledišta algebre zadatak je rešen lako, elegantno i efikasno nezavisno od toga koliko je n. Sa gledišta numeričke matematike, za veliko n, metoda je toliko komplikovana da se praktično ne može primenjivati. Potreban broj operacija, množenja i deljenja, kod primene Kramerovih formula (4) je Q(n) = (n 2 − 1) n !+ n ; na primer za n = 8 je Q(8) = 2 540 168, a za n = 10 je Q(10) = 359 251 210 ili oko 360 miliona operacija. Upotrebljena simbolika u (3) i (4) u teorijskom smislu predstavlja veliki uspeh, ali je jasno da obrasci nisu praktični sa stanovišta numeričke matematike. Numerička matematika, kao samostalna matematička disciplina, datira, slobodnije rečeno, s kraja XIX i od početka XX veka. Dakle, numerička matematika je relativno mlada nauka, što je tačno, ali samo u tom smislu da je veliki i brzi razvoj numeričke matematike vezan za poslednjih pedesetak godina. Meñutim, numerička matematika je prisutna od samih istorijskih početaka razvoja matematike. Usporen razvoj numeričke matematike u početku je posledica niskog stepena razvoja sredstava za računanje. U prvo vreme on je bio vezan za voñenje blagajničkih knjiga, izračunavanje površina i zapremina, navigaciju itd., tj. bitno je bilo rešavati jednostavne zadatke aritmetike, algebre i geometrije. U početku računska sredstva su bili prsti na rukama ili prsti na rukama i nogama, a kasnije računaljke različitih vrsta. Početni podaci su sadržavali malo cifara, a izračunavanja su bila tačna, bez zaokrugljivanja. Sledeća, druga etapa u razvoju numeričke matematike je povezana s Njutnom (Isaac Newton, 1642–1727). U tom periodu rešavani su problemi astronomije, geodezije, mehanike itd. svoñenjem, obično, na diferencijalne jednačine ili na sisteme algebarskih jednačina. Izračunavanja su vršena sa zaokrugljivanjem brojeva, a često je zahtevana visoka tačnost rezultata. Uz detaljno razrañene tablice vrednosti elementarnih funkcija i računska sredstva ovog perioda su usavršena. To su, pre svega, aritmometar, logaritmar itd., a pri kraju ovog perioda pojavljuju se različiti tipovi tastaturnih mašina sa elektromotorom. Ipak, brzina rada tih mašina je bila mala, pa su računanja trajala nedeljama, mesecima pa čak i godinama. To je, razume se, iscrpljivalo matematičare do te mere da oni ponekad nisu imali snage da publikuju već dobijene rezultate (pa su zbog toga neki od tadašnjih rezultata ostali zaboravljeni). Radi ilustracije prethodno rečenog navedimo jedan poznati primer. Posle višemesečnog računanja engleski astronom i direktor Opservatorije u Kembridžu Adams Džon Kauč (Adams John Cauch, 1819–1892) je pomoću nepravilnosti u Uranovom kretanju odredio 1845. godine putanju, čak i približan položaj meñu zvezdama, do tada nepoznate (osme) planete Sunčevog sistema – kasnije nazvane Neptun. Meñutim, rezultat ovog dugotrajnog i teškog posla nije saopštio godinu dana, a ni eksperimentalno potvrdio, pa je slava za otkriće Neptuna sledeće godine pripala francuskom astronomu Leverjeu (Laverrier, 1811–1877). (4)
xk =
3
Treći period razvoja numeričke matematike vezuje se za 1911. godinu i publikovanje prvog kursa posvećenog isključivo numeričkim metodama. Autor je Krilov (A. N. Krylov, 1863–1945), a naslov kursa je „Predavanja o približnim računanjima“. Od tada, a naročito posle Drugog svetskog rata (kada su konstruisani, u prvo vreme za vojne potrebe, prvi elektronski računari) dolazi do brzog razvoja numeričke matematike koja nalazi primene u različitim oblastima nauke, tehnike i svakodnevne prakse. Hilbertovo (David Hilbert, 1862–1943) otkriće funkcionalnih prostora posebno je intenziviralo razvoj numeričke matematike. Hilbertovi prostori imaju značajnu primenu, naročito u zadacima teorijske fizike. Uopšte, ideja funkcionalnih prostora je jedna od najplodotvornijih ideja u numeričkoj matematici. U numeričkoj matematici najčešće se srećemo sa zadacima koji se mogu zapisati u sledećem obliku y = f ( x) , (5) gde x i y pripadaju respektivno prostorima A1 i A2 , a f ( x) je neka zadata funkcija. Zadatak je da se za dato x odredi odgovarajuće y ili obratno, da se za dato y odredi odgovarajuće x. Metodama „teorijske“ matematike najčešće se ne može rešiti zadatak (5), pa se tada pribegava metodama numeričke matematike. Najčešća metoda numeričke matematike za rešavanje zadatka (5) je da se prostori A1 i A2 i funkcija f zamene nekim drugim, u odreñenom smislu jednostavnijim prostorima A1* i A2* i drugom, jednostavnijom funkcijom f * . Prema tome, u opštem slučaju zadatak (5) se zamenjuje jednostavnijim zadatkom (5*) y* = f * ( x*) , gde x* i y* pripadaju respektivno prostorima A1* i A2* . Osnovni zahtevi kod zamene zadatka (5) zadatkom (5*) su: da se zadatak (5*) lakše rešava nego zadatak (5) i da su rešenja y* i y (odnosno x* i x) bliska u nekom smislu. Bliskost ili rastojanje d(y*, y) (odnosno d(x*, x)) rešenja y* i y (odnosno x* i x) definiše se na različite načine, u zavisnosti od toga o kojim se prostorima radi. Napomenimo da se, ponekad, ne zamenjuju sve tri komponente A1 , A2 i f zadatka (5) odgovarajućim komponentama A1* , A2* i f * već samo neka od njih. Unutrašnja karakteristika numeričke matematike je da je u njoj od bitnog značaja procenjivanje tačnosti dobijenih rezultata. Raznovrsni su uzroci koji uslovljavaju greške rešenja, ali se kao najčešći mogu istaći sledeći: a) netačni početni podaci (dobijeni eksperimentima; iracionalni brojevi π, e, 2 itd., koji se moraju zameniti približnim vrednostima), b) zamena zadatka (5) odgovarajućim zadatkom (5*). Prirodno je da će se rešenje zadatka (5*) razlikovati od tačnog rešenja zadatka (5), c) u procesu rešavanja zadatka (5*) često dolazi do povećanja broja cifara tako da se mora pristupiti odbacivanju izvesnih cifara u rezultatu računanja. 4
Greške koje odgovaraju navedenim uzrocima nazivaju se respektivno: a) neotklonjiva greška, b) greška metode, c) računska greška. U prvom delu ovog kursa razmatraće se neotklonjive i računske greške, a greške metode će se tretirati kasnije zajedno s odgovarajućim metodama.
1.
POJAM PRIBLIŽNOG BROJA I IZVORI GREŠAKA U REZULTATIMA RAČUNANJA
Šta je približan broj? Odgovoriti na ovo pitanje nije jednostavno, kao što nije jednostavno odgovoriti na sledeća pitanja: Šta je broj?, Šta je skup?, Šta je tačka? i tako dalje. U literaturi se, ponegde, susrećemo s pokušajima uvoñenja pojma približnog broja, odnosno definisanja približnog broja. Meñutim, u tim definicijama prisutna je izvesna neodreñenost. Tako, na primer, ako se kaže: Približnim brojem x* naziva se broj koji se neznatno razlikuje od tačne vrednosti broja x. Nedostatak je očigledan. Šta znači „neznatno se razlikuje“? „Neznatno se razlikuje“ je vrlo relativno. Ponekad je mala razlika izmeñu x* i x, sa stanovišta primene u praksi, prihvatljiva a ponekad nije, ponekad je velika razlika izmeñu x* i x, opet sa stanovišta primene u praksi, prihvatljiva a ponekad nije. Mogu se postaviti i pitanja: Šta je mala razlika?, Šta je velika razlika? Reći ćemo da je približan broj jedan od osnovnih, polaznih pojmova matematike, dakle, ne definišemo ga! Meñutim, predstavu o približnom broju možemo stvoriti, recimo, nizom primera iz svakodnevne delatnosti čoveka, zatim iz nauke i tehnike, gde se približni brojevi pojavljuju kao podaci ili kao rezultati računanja. Navedimo nekoliko primera.
Primer 1. Na fudbalskoj utakmici, derbiju mesnih rivala, bilo je 35000 gledalaca, izveštavali su mediji: novine, radio, televizija. Šta znači podatak: 35000 gledalaca? Da li je tačno bilo 35000 gledalaca na stadionu? Da li je to bilo moguće utvrditi? Razume se, broj 35000 gledalaca se razlikuje od tačnog broja prisutnih gledalaca. Tačan broj prisutnih gledalaca nije moguće utvrditi. Ako bi se zaključivalo na osnovu broja prodatih karata, to ne bi bilo pouzdano: neko je kupio kartu a nije došao na stadion, neko nije kupio kartu ali je ušao na stadion jer je na kapiji stajao njegov poznanik. Svaki klub ima i svoje verne simpatizere koji imaju tzv. pretplatničke karte. Koliko je takvih gledalaca došlo? Naravno, to nije poznato. Ako bismo brojali posetioce prilikom ulaska, opet ne bismo mogli tvrditi da smo došli do tačnog broja. Dakle, podatak 35000 gledalaca je približan. Jedino možemo reći, na primer, da nije bilo više od 35500 ni manje od 34500 gledalaca. ▲
5
Primer 2. Neka treba odrediti ubrzanje Zemljine teže g pomoću matematičkog klatna, tj. pomoću obrasca 4π 2 l g= 2 , T onda ćemo izmeriti dužinu l i period oscilovanja T. Uvrstiti dobijene vrednosti l i T i broj π, pa izračunati g. Izračunata vrednost g je približna. Naime, nije moguće tačno odrediti veličine l i T, a umesto tačnog broja π, koji ima beskonačno mnogo decimala, moramo uzeti vrednost s konačno mnogo decimala. ▲ Primer 3. Neka treba izračunati dijagonalu kvadrata d stranice a = 4. Iskoristićemo dobro poznat obrazac d = a 2 . Ako bi stranica a bila tačno odreñena, dijagonalu d ne bismo mogli tačno izračunati jer u obrascu učestvuje iracionalan broj 2 . ▲ 2 može biti izračunat koristeći činjenicu da je 1 2 lim xn = lim xn −1 + = 2. n →∞ n →∞ 2 xn −1 Meñutim, praktično je nemoguće dobiti tačnu vrednost broja 2 zato što se radi o jednom beskonačnom procesu. ▲
Primer 4. Iracionalni broj
Primer 5. Ako treba izračunati proizvod 258.14736 · 0.1112229 koristeći, na primer, džepni kalkulator – „digitron“ koji ima osam mesta, onda ćemo morati odbaciti izvestan broj cifara na kraju rezultata („digitron“ to sam „uradi“). Dobićemo 28.711898, a tačan rezultat je 28.711898006544. ▲ Ovim primerima upravo smo i ilustrovali izvore grešaka u rezultatima računanja: – polazni podaci su eksperimentalne prirode (dobijeni eksperimentom: brojanjem, merenjem, ...), – u procesu računanja pojavljuju se iracionalni brojevi kao što su: 2 , π, ... – primenjena metoda daje tačan rezultat tek posle beskonačno mnogo ponavljanja odreñenog računskog procesa, – već kod najjednostavnijih računskih operacija broj cifara se toliko poveća da ih nije moguće „smestiti“ u mašinu za računanje, – najzad, početne greške se prenose s operacije na operaciju i pri tome se transformišu, akumuliraju i pojavljuju se nove greške.
6
2.
APSOLUTNA, RELATIVNA, PROCENTUALNA I PROMILNA GREŠKA PRIBLIŽNOG BROJA
Jedan od osnovnih zadataka u numeričkoj matematici je davanje matematičke karakteristike tačnosti približnog broja. Ovaj zadatak se sastoji u uvoñenju pojma tačnosti približnog broja, odnosno u definisanju grešaka približnog broja. Označimo sa x tačan a sa x* njemu približan broj. Prirodno se postavlja problem ocene stvarno učinjene greške ako umesto tačnog broja x uzmemo njegovu približnu vrednost x*, tj. problem ocene razlike ∆ = x − x * , ocena stvarne greške. Veličina ∆ = x − x * je stvarna greška. Definicija 1. Apsolutna greška, u oznaci ∆x * , približnog broja x* je apsolutna vrednost razlike tačnog broja x i njemu približnog broja x*, tj. (1) ∆ x* = | x − x *| . Kako tačan broj x u velikom broju slučajeva nije poznat, to se samim tim ni apsolutna greška ∆ x * ne može izračunati. Zbog toga uvodimo pojam granice apsolutne greške. Definicija 2. Granica apsolutne greške približnog broja x* naziva se svaki broj Ax* koji nije manji od apsolutne greške, tj. (2) ∆ x* = | x − x *| ≤ Ax * . Iz (2) dobijamo − Ax* ≤ x − x* ≤ Ax * , ili (3) x * − Ax* ≤ x ≤ x * + Ax * , što se, radi kratkoće, najčešće zapisuje u sledećem obliku x = x * ± Ax * .
Primedba 1. Pojam granice apsolutne greške, uveden prethodnom definicijom, je neprecizan. Naime, svaki broj veći od (na neki način utvrñene) granice apsolutne greške može se uzeti u svojstvu granice apsolutne greške. Isto tako, izmeñu brojeva ∆ x * i Ax* postoji beskonačno mnogo brojeva i svaki od njih, saglasno definiciji, može biti uzet za granicu apsolutne greške. Nepreciznost se prevazilazi u praksi na sledeći način; u svojstvu granice apsolutne greške bira se što je moguće manja vrednost, a da bude dovoljno jednostavnog oblika, na pri1 mer 1 ⋅10 m ili ⋅ 10 k ili ω ⋅10k , 0 < ω ≤ 1 . 2 Primer 1. Ako umesto tačnog broja e = 2.718281828... uzmemo približnu vrednost e* = 2.72, izračunati apsolutnu grešku i granicu apsolutne greške. Rešenje. Apsolutna greška je ∆ e* = | e − e *| = |2.718281828... − 2.72| = 0.01718171... za granicu apsolutne greške možemo uzeti: Ae* = 0.0018, jer je ∆ e* = 0.001718171... < 0.0018 ili Ae* = 0.002, jer je ∆ e* = 0.001718171... < 0.002 . 7
Meñutim, najčešće se uzima: 1 Ae* = 0.005 = ⋅10 − 2 ili Ae* = 0.01 = 1 ⋅10 −2 . ▲ 2
Primedba 2. Ponegde se u literaturi granica apsolutne greške naziva gornjom granicom apsolutne greške, a ponegde, kratko, apsolutnom greškom. Ovaj drugi naziv je praktičniji – kraći je, a u numeričkoj matematici skoro isključivo se radi s granicom apsolutne greške. Primedba 3. Apsolutna greška, odnosno granica apsolutne greške, je dimenzionisana veličina (istih dimenzija kao i veličine x i x*). Definicija 3. Relativna greška približnog broja x*, u oznaci δx * , je količnik apsolutne greške tog približnog broja i apsolutne vrednosti tačnog broja, tj. ∆x * (4) δx* = ( x ≠ 0) . | x| Kako apsolutna greška u velikom broju slučajeva nije poznata, to se samim tim ni relativna greška δx * ne može izračunati. Zbog toga uvodimo pojam granice relativne greške. Definicija 4. Granica relativne greške približnog broja x* naziva se svaki broj Rx* koji nije manji od relativne greške, tj. ∆x* (5) δ x* = ≤ Rx* . | x| Primedba 1'. Nepreciznost ove definicije se prevazilazi, analogno kao u slučaju granice apsolutne greške, biranjem što je moguće manjeg broja i dovoljno jednostavnog oblika. Primedba 4. Budući da tačna vrednost x, po pravilu, nije poznata, to u definicijama 3 i 4 umesto x uzimamo x*. Dakle, ∆x* (4') δ x* = , ( x* ≠ 0) | x*| i ∆x* (5') δ x* = ≤ Rx* | x*| Primer 2. Ako je tačan broj π = 3.1415926... a približan π* = 3.14, izračunati relativnu grešku i granicu relativne greške. Rešenje. Relativna greška je ∆π* | 3.1415926... − 3.14 | δ π* = = = 0.000507... ; |π*| 3.14 za granicu relativne greške možemo uzeti: Rπ* = 0.000508, jer je δ π* = 0.000507... < 0.000508 8
ili
Rπ* = 0.00051, jer je δ π* = 0.000507... < 0.00051 . Meñutim, najčešće se uzima: 1 Rπ* = 0.0006 ili Rπ* = 0.001 ili Rπ* = 0.005 = ⋅ 10−2 . ▲ 2 Primedba 2'. Ponegde se u literaturi granica relativne greške naziva gornjom granicom relativne greške, a ponegde, kratko, relativnom greškom. Ovaj drugi naziv je praktičniji – kraći je, a u numeričkoj matematici skoro isključivo se radi s granicom relativne greške.
Primedba 3'. Relativna greška, odnosno granica relativne greške je (za razliku od apsolutne) nedimenzionisana veličina. Primedba 5. Kako je δ x* =
∆x* Ax* ≤ ( x* ≠ 0) , | x*| | x*|
to se može uzeti Rx* =
Ax* ( x* ≠ 0) . | x*|
Zbog praktičnih potreba definišu se procentualna i promilna greška kao i njihove granice. Dakle, P% x* = 100 ⋅ δ x* – procentualna greška,
P% x* = 100 ⋅ δ x* – granica procentualne greške, P‰ x* = 1000 ⋅ δ x* – promilna greška, P‰ x* = 1000 ⋅ Rx* – granica promilne greške.
3.
ZNAČAJNE I SIGURNE CIFRE PRIBLIŽNOG BROJA
Poznato je da se svaki realan broj x zapisan u dekadnom sistemu računanja može predstaviti u obliku (1) x = ± (a110n + a2 10n −1 + ⋯ + ak 10n − k +1 + ak +110n − k + ⋯ + am 10n − m +1 + ⋯) , gde su ai ∈{0,1, 2,..., 9} , i = 1, 2, 3, ... , cifre broja x, a1 ≠ 0 , n ∈ Z , k ∈ N , m ∈ N . U numeričkoj matematici, kao što je ranije rečeno, imamo posla češće s približnim brojevima. Približni brojevi imaju, po pravilu, konačan broj cifara. Odgovarajući približan broj x* može se predstaviti u obliku (2) x* = ± (a110n + a2 10n −1 + ⋯ + ak 10n − k +1 + ak +110n − k + ⋯ + am 10n − m +1 ) .
Primer 1. a) Tačan broj e = 2.718281828... se može predstaviti u obliku e = 2 ⋅100 + 7 ⋅10−1 + 1 ⋅10−2 + 8 ⋅10−3 + 2 ⋅10−4 + 8 ⋅10−5 + 1 ⋅10−6 +⋯ , a odgovarajući približan broj e* = 2.72 u obliku e* = 2 ⋅10 0 + 7 ⋅10 −1 + 2 ⋅10 −2 ; 9
b) Tačan broj π = 3.1415926... se može predstaviti u obliku π = 3 ⋅100 + 1 ⋅10−1 + 4 ⋅10−2 + 1 ⋅10−3 + 5 ⋅10−4 + 9 ⋅10−5 + 2 ⋅10−6 + ⋯ a odgovarajući približan broj π* = 3.14 u obliku π* = 3 ⋅10 0 + 1 ⋅10 −1 + 4 ⋅10 −2 ; 2197 c) tačan broj x = = 70.87096... se može predstaviti u obliku 31 x = 7 ⋅101 + 0 ⋅100 + 8 ⋅10−1 + 7 ⋅10−2 + 0 ⋅10−3 + 9 ⋅10−4 + 6 ⋅10−5 + ⋯ a odgovarajući približan broj x* = 70.87 u obliku x = 7 ⋅101 + 0 ⋅10 0 + 8 ⋅10 −1 + 7 ⋅10 −2 . ▲ Uvedimo sledeće pojmove koji se odnose na cifre približnog broja (2).
Definicija 1. Cifra a i približnog broja x* naziva se značajnom (ponegde, vrednosnom) cifrom, ako je ona različita od nule ili je nula izmeñu cifara različitih od nule ili predstavlja sačuvanu dekadnu jedinicu uzetu u obzir. Primer 2. Približan broj x1* = 0.0210032000 ima devet značajnih cifara i to su: 2, 1, 3, 2, zatim dve nule izmeñu 21 i 32 i tri nule na kraju broja. Brojevi x1* = 0.0210032000 i x2* = 0.0210032 bitno se razlikuju u numeri1 * −10 −10 čkoj matematici; naime, podrazumeva se da je Ax1 = 10 (ili ⋅ 10 ) a 2 1 Ax2* = 10 −7 (ili ⋅ 10 −7 ), pa je x2* , očigledno, dosta netačniji približan broj. ▲ 2 Definicija 2. Značajna cifra ak približnog broja x* naziva se sigurnom (ponegde, pouzdanom) cifrom u „ω smislu“, ako je (3) Ax* ≤ ω ⋅10 n − k +1 , 0 < ω ≤ 1 . 1 Za ω = 1 cifra ak je sigurna u širem, a za ω = u užem smislu. 2 Cifre koje nisu sigurne nazivamo sumnjivim (ponegde, nepouzdanim) ciframa. Očigledno, ako je ak sigurna cifra, onda su sigurne i sve značajne cifre ispred nje: ak −1 , ..., a2 , a1 . Primer 3. Dati su brojevi x = 23.458 i x* = 23.456. Odrediti broj sigurnih cifara približnog broja x* u užem i širem smislu. Rešenje. Kako je 1 ∆ x* = |23.458 − 23.456| = 0.002 < 0.005 = ⋅10−2 = Ax * , 2 to iz 1 1 ⋅ 10 − 2 ≤ ⋅ 101− k +1 2 2 10
dobijamo k = 4. Dakle, približan broj x* ima četiri sigurne cifre u užem (pa 1 samim tim i u širem, jer je ⋅10 − 2 ≤ 1 ⋅10 − 2 ) smislu. To su cifre: 2, 3, 4 i 5. ▲ 2
Primer 4. Dati su brojevi x = 10 i x* = 9.999. Odrediti broj sigurnih cifara u širem smislu približnog broja x*. Rešenje. Kako je ∆ x* = | x − x *| = |10 − 9.999| = 0.001 = 1 ⋅ 10−3 = Ax * , to iz 1 ⋅ 10−3 ≤ 1 ⋅ 100− k +1 dobijamo k = 4. Dakle, približan broj x* ima četiri sigurne cifare u širem smislu. To su cifre: 9, 9, 9 i 9. Lako se primećuje da, iako približan broj x* ima (relativno) velik broj sigurnih cifara, nijedna od tih cifara se ne poklapa ni sa jednom cifrom tačnog broja. Zato nikako ne smemo mešati pojam sigurne cifre s pojmom tačne (prave, istinite) cifre nekog broja. ▲ 4.
ZAOKRUGLJIVANJE BROJEVA. TAČNE CIFRE PRIBLIŽNOG BROJA
Vrlo često umesto brojeva s beskonačno mnogo ili konačno mnogo cifara moramo uzeti brojeve s manje cifara, tj. moramo odbaciti jednu ili više poslednjih cifara. To odbacivanje se ne vrši proizvoljno. To se čini tako da učinjena greška bude što je moguće manja, pa se odbacivanje prema tom principu zove zaokrugljivanje brojeva, a nastala greška je greška zaokrugljivanja. Neka je dat (tačan ili približan) broj (1) x = ± (a110n + a2 10n −1 + ⋯ + ak 10n − k +1 + ak +110n − k + ⋯ + am 10n − m +1 + ⋯) , koji ima više od m cifara. Treba ga zameniti brojem koji ima m cifara. Kako je a110n + a2 10n −1 + ⋯ + am 10n − m +1 ≤ | x | ≤ a110n + a2 10n −1 + ⋯ + ( am + 1)10n − m +1 ,
to će se pri realizaciji tog postupka dobiti broj x * koji će biti (2)
x* = ± (a110n + a2 10n −1 + ⋯ + am 10n − m +1 ) ,
ili (3)
x* = ± (a110n + a2 10n −1 + ⋯ + (am + 1)10n − m +1 ) .
Postavlja se pitanje: Kada će rezultat zaokrugljivanja biti broj x* zapisan u obliku (2), a kada u obliku (3)? Imajući u vidu prirodan zahtev da rezultat zaokrugljivanja ima što je moguće manju apsolutnu grešku, jasan je odgovor na postavljeno pitanje. Zaokrugljivanje treba da je takvo da bude 1 (4) | x − x* | ≤ ⋅10 n − m +1 , 2 tj. da su sve cifre zaokrugljenog broja x* sigurne u užem smislu. Prema tome, mogu se razlikovati tri slučaja: 11
1 ⋅10n − m +1 , 2 1 2) am +110n − m + am + 2 10n − m −1 + ⋯ > ⋅10n − m +1 , 2 1 3) am +110n − m + am + 210n − m −1 + ⋯ = ⋅ 10n − m +1 . 2 Očigledno je da u prvom slučaju pri zaokrugljivanju broj x* mora biti zapisan u obliku (2), u drugom slučaju u obliku (3), a u trećem slučaju se može uzeti (2) ili (3), ali se iz praktičnih razloga koristi tzv. pravilo parne cifre; ako je am parna cifra uzima se zapis (2) a u protivnom zapis (3). Saglasno svemu rečenom sada možemo eksplicitno zapisati pravila zaokrugljivanja brojeva: (I) Ako je prva od odbačenih cifara (cifra am +1 ) manja od 5, onda zadržane cifre ostaju nepromenjene; kaže se – ne vrši se popravka; (II) Ako je prva od odbačenih cifara (cifra am +1 ) veća od 5, onda poslednju zadržanu cifru (cifru am ) povećavamo za 1; kaže se – vrši se popravka; (III) Ako je prva od odbačenih cifara (cifra am +1 ) jednaka 5, a ostale koje dolaze posle nje nisu sve nule, onda poslednju zadržanu cifru (cifru am ) povećavamo za 1, tj. vrši se popravka; (IV) Ako je prva od odbačenih cifara (cifra am +1 ) jednaka 5, a ostale koje dolaze posle nje su sve nule, onda važi pravilo parne cifre, tj. ako je am parna, ne vrši se popravka a ako je am neparna cifra, vrši se popravka. Kratko, u oba slučaja dobija se paran broj! Logično bi bilo i odgovarajuće pravilo neparne cifre, ali ne i praktično! 1) am +110n − m + am + 2 10n − m −1 + ⋯ <
Primer 1. Broj x = 2.3451472 zaokrugliti na šest, pet,... decimala. Rešenje. Redom dobijamo: 1 x* = 2.345147 , | x − x*| = |2.345147 − 2.345147| = 0.0000002 < 10−6 , 2 1 −5 x* = 2.3451 5 , | x − x*| = |2.345147 − 2.34515 | = 0.0000028 < 10 , 2 1 x* = 2.3451 , | x − x*| = |2.345147 − 2.3451| = 0.0000422 < 10−4 , 2 • • 1 −3 x* = 2.34 5 , | x − x*| = |2.345147 − 2.345| = 0.0001472 < 10 , 2 1 −2 x* = 2.3 5 , | x − x*| = |2.345147 − 2.35 | = 0.0048528 < 10 , itd. ▲ 2 Napomena 1. U prethodnom primeru koristili smo posebne oznake za cifru •
5 : 5 je petica nastala od 4 dodavanjem jedinice – „slaba“ 5, a 5 je petica iza koje je bilo značajnih cifara različitih od nule – „jaka“ 5!
12
Postavimo sada sledeći problem: Kolika je ukupna greška kada zaokrugljujemo jedan približan broj koji ima tačno m značajnih cifara? Neka je dat približan broj (5) x* = ± ( a110n + a2 10n −1 + ⋯ + am −110n − m + 2 + am 10n − m +1 ) , pri čemu je, kao što smo videli, 1 Ax* ≤ ⋅ 10 n − m +1 . 2 Ako x* zaokruglimo na (m–1)–nu cifru, onda se dobija x ** = ± ( a110n + a210n −1 + ⋯ + bm −110n − m + 2 ) , gde je bm −1 = am −1 ili bm −1 = am −1 + 1 . Apsolutna greška Ax** može se proceniti na sledeći način 1 | x − x**| = | x − x* + x* − x**| ≤ | x − x*| + | x − x**| ≤ Ax* + 10n − m + 2 ≤ 2 1 1 1 ≤ 10n − m +1 + 10n − m + 2 = 10n − m +1 (1 + 10) = 5.5 ⋅10n − m +1 < 1 ⋅10n − m + 2. 2 2 2 Dakle, rezultujući broj ima (m–1)–nu cifru sigurnu u širem smislu.
Napomena 2. Svi navedeni rezultati mogu se realizovati ako se uzme za osnovu pozicionog sistema računanja ma koji prirodan broj N ≥ 2, tj. ako se broj zapisuje u obliku x = ± (a1 N n + a2 N n −1 + ⋯ + am N n − m +1 + ⋯) , 0 ≤ ai < N , a1 ≠ 0 . Sada možemo definisati pojam tačne ili istinite cifre približnog broja. Definicija 1. Sigurna cifra približnog broja (i sve sigurne cifre ispred nje) je tačna ili istinita ako ostaje nepromenjena posle odbacivanja sumnjivih cifara i izvršenog zaokrugljivanja.
Primer 2. Ako je x = 26.837 a x* = 26.84, onda je 1 ∆x* = |26.837 − 26.84| = 0.003 < 0.005 = 10−2 = Ax* , 2 pa su sve cifre približnog broja 26.84 sigurne a tačne su prve tri: 2, 6 i 8. ▲ 5.
VEZA IZMEðU GRANICE RELATIVNE GREŠKE PRIBLIŽNOG BROJA I BROJA NJEGOVIH SIGURNIH CIFARA
Granica apsolutne greške približnog broja (1)
x* = ± (a110n + a2 10n −1 + ⋯ + ak 10n − k +1 + ⋯ + am 10n − m +1 ) , a1 ≠ 0 ,
kod kojeg je ak poslednja sigurna cifra, tj. kod kojeg je (2) Ax* ≤ ω ⋅ 10 n − k +1 , 0 < ω ≤ 1 , je povezana s brojem sigurnih cifara, upravo, relacijom (2). 13
U kakvoj zavisnosti su broj sigurnih cifara približnog broja x* i njegova granica relativne greške Rx*? Jasno je da je ω ⋅ 10n − k < Ax *
(3)
(u protivnom bi poslednja sigurna cifra bila ak +1 ). Iz (2) i (3) imamo ω ⋅10n − k < Ax* ≤ ω ⋅10n − k +1 ,
(4) odnosno
ω ⋅10n − k Ax* ω ⋅10n − k +1 , x* ≠ 0 , < ≤ | x*| | x*| | x*|
ili ω ⋅10n − k ω ⋅10n − k +1 , < Rx * ≤ | a110n + ⋯ + ak 10n − k +1 + ⋯| | a110n + ⋯ + ak 10n − k +1 + ⋯| pa je ω ⋅10 n − k ω ⋅10 n − k +1 , < Rx * ≤ (a1 + 1) ⋅10 n a1 ⋅10 n
ili (5)
ω ω . < Rx* ≤ k (a1 + 1) ⋅10 a1 ⋅10 k −1
Približno se uzima da je (što je prilično gruba ocena) ω (6) , Rx* ≈ a1 ⋅10 k −1 gde je a1 prva sigurna cifra, k je broj sigurnih cifara približnog broja x* a 0 < ω ≤ 1.
Primer 1. Neka je dat približan broj x* = 0.44721 i granica relativne greške Rx * = 0.000002. Odrediti broj sigurnih cifara u užem smislu. Rešenje. Kako je 0.5 0. 5 , < 0.000002 ≤ k (4 + 1) ⋅10 4 ⋅10 k −1 tj. 1 1 ⋅10 − k < 2 ⋅10 − 6 ≤ ⋅10 − ( k −1) , 10 8 odnosno 100 50 ⋅10 − k + 5 = 2 ⋅ ⋅10 − k + 5 < 2 ⋅10 − k + 6 1 ⋅10 − k + 5 < 2 ⋅10 0 ≤ 8 8 biće –k + 5 ≤ 0, tj. k ≥ 5 i 0 < – k + 6, tj. k < 6. Dakle, k = 5, pa x* ima pet sigurnih cifara u užem smislu. ▲ Primer 2. Kolika je granica relativne greške približnog broja x* = 5.169, ako su sve njegove cifre sigurne u užem smislu? 14
Rešenje. Po formuli (6) za ω = 0.5, a1 = 5 i k = 4 imamo Rx* ≈
0.5 1 = 4 = 0.0001 = 0.01% . 4 −1 5 ⋅10 10
Na potpuno isti način za ω = 1 imali bismo 0. 5 1 Rx* ≈ = = 0.0002 = 0.02% . 4 −1 5000 5 ⋅10 Primetimo da smo granicu relativne greške mogli izračunati koristeći formulu Ax * . Rx* = | x*| Dakle, Rx* =
0.5 ⋅10 −3 = 0.0000967 ≈ 0.0001 5.169
i Rx* =
6.
1 ⋅10 −3 = 0.0001934 ≈ 0.0002 . ▲ 5.169
OPŠTA FORMULA ZA GREŠKU PRIBLIŽNE VREDNOSTI FUNKCIJE
Neka je data funkcija y = f ( x1 , x2 , ..., xn ) , definisana u nekoj oblasti svojih nezavisno promenljivih x1 , x2 , ..., xn . Pretpostavimo da su nepoznate tačne vrednosti promenljivih x1 , x2 , ..., xn , a da su umesto njih poznate približne vrednosti x1* , x2* , ..., xn* , kao i njihove stvarne greške ∆ i = xi − xi* , apsolutne greške ∆xi* = | xi − xi* | i granice apsolutnih grešaka Axi* , i = 1, n . Centralni problem je ocena greške kada se umesto tačne vrednosti f = f ( x1 , x2 ,..., xn ) uzme približna vrednost funkcije f * = f ( x1* , x2* , ..., xn* ) , tj. ocena razlike ∆ = f − f * , ocena stvarne greške.
Definicija 1. Apsolutna greška približne vrednosti funkcije, u oznaci ∆f * , je ∆f * = | f ( x1 , x2 ,..., xn ) − f ( x1* , x2* ,..., xn* )| ≡ | f − f *| .
Definicija 2. Granica apsolutne greške približne vrednosti funkcije je svaki broj Af * koji nije manji od apsolutne greške funkcije, tj. ∆f * = | f − f *| ≤ Af * .
15
Definicija 3. Relativna greška približne vrednosti funkcije, u oznaci δf * , je δf * =
∆f * | f *|
( f * ≠ 0) .
Definicija 4. Granica relativne greške približne vrednosti funkcije je svaki broj Rf * koji nije manji od relativne greške funkcije, tj. δf * =
∆f * ≤ Rf * . | f *|
Pretpostavimo da je data funkcija y = f ( x1 , x2 ,..., xn ) diferencijabilna po svim argumentima. Neka su poznate stvarne greške ∆ i = xi − xi* , apsolutne greške ∆xi* = | xi − xi* | i granice apsolutnih grešaka Axi* promenljivih xi , i = 1, n . Na osnovu Tejlorove formule za funkcije više nezavisno promenljivih imamo ∆ = f − f * = f ( x1 , x2 , ..., xn ) − f ( x1* , x2* , ..., xn* ) = = f ( x1* + ∆1 , x2* + ∆ 2 , ..., xn* + ∆ n ) − f ( x1* , x2* , ..., xn* ) = ∂f ∂f 1 ∂f = f ( x1* , x2* , ..., xn* ) + ∆1 + ∆2 + ⋯ + ∆n + ∂x2 ∂xn 1! ∂x1 + ε (∆1 , ∆ 2 , ..., ∆ n ) − f ( x1* , x2* , ..., xn* ) = 1 ∂f ∂f ∂f = ∆1 + ∆2 + ⋯ + ∆ n + ε (∆1 , ∆ 2 , ..., ∆ n ), 1! ∂x1 ∂x2 ∂xn
gde je
∂f = f ' xi ( x1* , x2* , ..., xn* ) a ε (∆1 , ∆ 2 , ..., ∆ n ) → 0 kada ∆ i → 0 , i = 1, n . ∂xi
Ako su stvarne greške ∆ i , i = 1, n , dovoljno male veličine, onda se ostatak ε (∆1 , ∆ 2 , ..., ∆ n ) može zanemariti, pa je stvarna greška približne vrednosti funkcije n ∂f (1) ∆ = f − f * = ∆f ≈ df = ∑ ∆i . i =1 ∂xi Kako je n ∂f n ∂f n ∂f | f − f *| ≈ ∑ ∆i ≤ ∑ ⋅ ∆i = ∑ ∆xi* , i =1 ∂xi i =1 ∂xi i =1 ∂xi to je apsolutna greška približne vrednosti funkcije jednaka n
(2)
∆f * = ∑ i =1
∂f ⋅ ∆xi* , ∂xi
što predstavlja opštu formulu za apsolutnu grešku približne vrednosti funkcije. 16
Kako je n
∆f * = ∑ i =1
n ∂f ∂f ∆xi* ≤ ∑ Axi* , ∂xi i =1 ∂xi
to je granica apsolutne greške približne vrednosti funkcije jednaka n ∂f (3) Af * = ∑ Axi* , ∂ x i =1 i što predstavlja opštu formulu za granicu apsolutne greške približne vrednosti funkcije. Relativna greška približne vrednosti funkcije je n ∆f * n 1 ∂f ∂ δf * = =∑ ∆xi* = ∑ ln f * ∆xi* = | f *| i =1 | f *| ∂xi i =1 ∂xi (4) n ∂ ln f * δxi* , = ∑ xi* ∂xi i =1 a granica relativne greške je n
Rf * = ∑
(5)
i =1
7.
n ∂ ∂ ln f * Axi* = ∑ xi* ln f * Rxi* . ∂xi ∂ x i =1 i
GREŠKA ZBIRA I RAZLIKE
Neka je data funkcija f ( x1 , x2 , ..., xn ) = S = x1 + x2 + ⋯ + xn . Pretpostavimo da su nepoznate tačne vrednosti sabiraka x1 , x2 , ..., xn a da su umesto njih poznate približne vrednosti
x1* , x2* , ..., xn* kao i njihove stvarne greške
∆ i = xi − xi* , apsolutne greške ∆xi* i granice apsolutnih grešaka Axi* , i = 1, n . Potrebno je oceniti grešku kada se umesto tačnih uzmu približne vrednosti sabiraka.
Teorema 1. Apsolutna greška zbira konačnog broja približnih brojeva je jednaka zbiru apsolutnih grešaka sabiraka. ∂S Dokaz. Kako je = 1 , i = 1, n , to je na osnovu opšte formule za grešku ∂xi (6.2) približne vrednosti funkcije n n ∂S ∆ S * =| S − S *|= ∑ ∆xi* = ∑ ∆xi* . ■ (1) i =1 ∂xi i =1 Primedba 1. Teorema se može dokazati direktnim korišćenjem definicije apsolutne greške. Zaista, ∆S * = | S − S *| = |( x1 + x2 + ⋯ + xn ) − ( x1* + x2* + ⋯ + xn* )| = = |( x1 − x1* ) + ( x2 − x2* ) + ⋯ + ( xn − xn* )| ≤
17
≤ | x1 − x1* | + | x2 − x2* | +⋯ + | xn − xn* ) | = ∆x1* + ∆x2* + ⋯ + ∆xn* . pa možemo uzeti ∆ S * = ∆ x1* + ∆ x2* + ⋯ + ∆ xn* .
Teorema 2. Granica apsolutne greške zbira konačnog broja približnih brojeva je jednaka zbiru granica apsolutnih grešaka sabiraka. Dokaz. Neposrednom primenom formule (6.3) dobijamo n
(2)
AS * = ∑ Axi* . □ i =1
Sada, po definiciji, nalazimo relativnu grešku zbira i granicu relativne greške zbira. Dakle, ∆S * AS * i RS * = , S* ≠ 0 . ■ δS * = | S *| | S *| Iz formule (1), odnosno (2), sledi da apsolutna greška, odnosno granica apsolutne greške, zbira ne može biti manja od apsolutne greške, odnosno granice apsolutne greške, najnetačnijeg sabirka. Drugim rečima, tačnost rezultata je ograničena tačnošću najnetačnijeg podatka. Pri sabiranju približnih brojeva različite tačnosti koriste se sledeća, praktična pravila: 1) uoče se sabirci (jedan ili njih više) s najvećom apsolutnom greškom, odnosno najvećom granicom apsolutne greške; 2) ostali sabirci se zaokrugle tako da bi imali jednu, dve ili, reñe, tri cifre više od najnetačnijeg sabirka (to su zaštitne cifre); 3) sada se saberu svi brojevi; 4) dobijeni rezultat se zaokrugli. 2.1 7 Primer 1. Izračunati S* = 2.1723 + 8.45 + 0.00042 + 35.4 + 8.4 5 7.25 + 121.2 + 0.0232 + 0.634 + 0.0773. Sve značajne cifre su sigurne u užem smislu. 0.0 0 Rešenje. Najnetačniji sabirci su 35.4 i 121.2, pa ćemo ostale 35.4 sabirke uzeti sa po dve decimale (jedna je zaštitna). Zaokrugljujući 7.2 5 rezultat sabiranja 175.20 na jednu decimalu (dakle, odbacujući zaštitnu) dobijamo 121.2 S* = 175.2 0.0 2 Procenimo ukupnu grešku. Zbir granica apsolutnih grešaka je 0.6 3 1 ∆1 = (10 − 4 + 10 − 2 + 10 −5 + 10 −1 + 10 − 2 + 10 −1 + 10 − 4 + 0.0 8 2 −3 −4 175.2 0 + 10 + 10 ) = 0.1106055. Dalje, zbir stvarnih grešaka zaokrugljivanja sabiraka je ∆ 2 = (2.1723 − 2.17) + (8.45 − 8.45) + (0.00042 − 0.00) + (35.4 − 35.4) + + (7.25 − 7.25) + (121.2 − 121.2) + (0.0232 − 0.02) + (0.634 − 0.63) + + (0.0773 − 0.08) = 0.00722,
18
a greška zaokrugljivanja rezultata je ∆ 3 = 0.00 . Ukupna greška je ∆ = ∆1 + + ∆ 2 + ∆ 3 = 0.1178255 < 0.2 , pa je traženi zbir jednak 175.2 ± 0.2. ▲ Neka je data funkcija R ( x1 , x2 ) = x1 − x2 . Ocenimo grešku ∆ = R − R* = = ( x1 − x2 ) − ( x1* − x2* ) .
Teorema 3. Apsolutna greška razlike jednaka je zbiru apsolutnih grešaka umanjenika i umanjioca. Dokaz. Kako je ∂R ∂R =1 i = −1 , ∂x1 ∂x2 to je na osnovu formule (6.2) ∂R ∂R (3) ∆R* = ∆ x1* + ∆ x2* = ∆ x1* + ∆ x2* . ■ ∂x1 ∂x2 Teorema 4. Granica apsolutne greške razlike jednaka je zbiru granica apsolutnih grešaka umanjenika i umanjioca, tj. (4) AR* = Ax1* + Ax2* . Dokaz je, zaista, jednostavan. □ Na osnovu svega rečenog možemo zaključiti sledeće: Apsolutna greška (granica apsolutne greške) algebarskog zbira konačnog broja približnih brojeva jednaka je zbiru apsolutnih grešaka (granica apsolutnih grešaka) sabiraka, tj. (5) ∆ ( x1* ± x2* ± ⋯ ± xn* ) = ∆x1* + ∆x2* + ⋯ + ∆xn* i (6) A( x1* ± x2* ± ⋯ ± xn* ) = Ax1* + Ax2* + ⋯ + Axn* . Razmotrimo sledeće primere.
Primer 2. Izračunati d = 2.01 − 2 na tri sigurne cifre u užem smislu. Rešenje. Kako je 2.01 = 1.417745 ± 0.000001 i 2 = 1.414214 ± 0.000001 ,
to je 2.01 − 2 = 0.003531 ± 0.000002 , tj.
2.01 − 2 = 3.53 ⋅10−3 ± 0.2 ⋅10−5 . Meñutim, taj isti rezultat se može dobiti ako se stavi 0.01 0.01 0.01 2.01 − 2 = = = = 3.53 ⋅10 −3 . ▲ 1 . 42 + 1 . 41 2 . 83 2.01 + 2 Očigledno, kod oduzimanja bliskih brojeva može doći do gubljenja tačnosti. Da bi se to izbeglo, potrebno je računsku shemu izmeniti. 19
Primer 3. Izračunati f (80 ) i f (1 ) , ako je f ( x) = 1 − cos x . Rešenje. Iz tablica nalazimo cos 80 = 0.17365 ± 0.000005 , pa je f (80 ) = = (1 − 0.17365) ± 0.000005 = 0.82635 ± 0.000005 ; relativna greška je 0.000005 = 0.000006 = 0.0006% . 0.82635 Slično, cos1 = 0.99985 ± 0.000005 , pa je f (1 ) = 1 − cos1 = (1 − 0.99985) ± ± 0.000005 = 0.00015 ± 0.000005 ; relativna greška je 0.000005 = 0.03333… ≈ 3% . ▲ 0.00015 Dakle, kod oduzimanja bliskih brojeva dolazi do gubljenja sigurnih cifara a relativne greške su velike.
8.
GREŠKA PROIZVODA I BROJ NJEGOVIH SIGURNIH CIFARA
Za izračunavanje apsolutne greške i granice apsolutne greške proizvoda f ( x1 , x2 , ..., xn ) = P = x1 ⋅ x2 ⋅ ... ⋅ xn mogu se izvesti odgovarajuće formule. Te formule su složenog oblika. Na primer, ako proizvod ima dva faktora, onda je ∆P* = | x2* | ⋅∆ x1* + | x1* | ⋅∆ x2* i AP* = | x2* | Ax1* + | x1* | Ax2* , u slučaju tri faktora imali bismo ∆P* = | x2* x3* | ⋅∆x1* + | x1* x3* | ⋅∆x2* + | x1* x2* | ⋅∆x3* , itd. Mnogo je jednostavnije prvo izračunati relativnu grešku, odnosno, granicu relativne greške, pa zatim koristiti formule ∆P* = | P*| δP * i AP* = | P*| RP* . Radi toga ćemo izvesti formule za relativnu grešku δP* i granicu relativne greške RP* proizvoda P*.
Teorema 1. Relativna greška proizvoda konačnog broja približnih brojeva različitih od nule jednaka je zbiru relativnih grešaka tih brojeva. Dokaz. Neka su xi* > 0 , i = 1, n . Logaritmovanjem izraza P* = x1* ⋅ x2* ⋅⋯ ⋅ xn*
dobijamo ln P* = ln x1* + ln x2* + ⋯ + ln xn* pa je na osnovu (7.1) ∆ (ln P*) = ∆(ln x1* ) + ∆ (ln x2* ) + ⋯ + ∆ (ln xn* ) . ∆u Koristeći činjenicu da je ∆ (ln u ) ≈ | d ln u | = dobijamo |u| ∆x* ∆P * ∆x1* ∆x2* = * + * + ⋯ + *n , | P* | | x1 | | x2 | | xn |
ili 20
(1)
δP* = δx1* + δx2* + ⋯ + δxn* . ■
Znak |·| smo pisali jer formula (1) važi i kada nije xi > 0 za svako i = 1, n . Dakle, relativna greška proizvoda jednaka je zbiru relativnih grešaka faktora. Na potpuno isti način dobijamo (2) RP* = Rx1* + Rx2* + ⋯ + Rxn* .
Primer 1. Izračunati proizvod približnih brojeva x1* = 9.38 i x2* = 25.678 i odrediti njegove sigurne cifre ako su sve cifre brojeva x1* i x2* sigurne u užem smislu. Rešenje. Kako je Ax1* = 0.005 i Ax2* = 0.0005 , to je 0.005 0.0005 RP* = Rx1* + Rx2* = + = 0.0005525 . 9.38 25.678 Kako je P* = x1* ⋅ x2* = 240.85964 , to je 1 240.85964 ⋅ 0.0005525 = 0.13 < 0.5 = ⋅100 = AP * , 2 pa uzimamo P* = 241, gde su sve cifre sigurne u užem smislu. ▲ Razmotrimo zadatak nalaženja broja sigurnih cifara proizvoda približnih brojeva. Neka su u dekadnom sistemu faktori sledećeg oblika: (3)
xi* = ai 10ni + bi 10ni −1 + ⋯ (i = 1, n) ,
gde su ai prve značajne cifre približnih brojeva xi* . Neka svaki faktor xi* ima bar k (k > 1) značajnih cifara. Kako je na osnovu formule (5.6) ω , 0 < ω ≤1, Rxi* ≈ ai 10 k −1 to je k −1 1 1 1 1 (4) RP* = ω + + ⋯ + . an 10 a1 a2 Ako je, na primer, n ≤ 10, onda je 1 1 1 + +⋯ + ≤ 10 , a1 a2 an pa je k −2
1 RP* = ω . 10 Dakle, ako je broj faktora n ≤ 10, onda za odreñivanje proizvoda na k sigurnih cifara svaki faktor treba uzeti s jednom ili dvema „zaštitnim” ciframa više.
21
Primer 2. Odrediti granicu relativne greške i broj sigurnih cifara proizvoda P* = 84.76 · 7.436, gde su sve cifre sigurne u užem smislu. Rešenje. Kako oba faktora imaju po četiri sigurne cifre u užem smislu, to je k = 4 i ω = 0.5, pa je po formuli (4) 1 1 1 RP* = 0.5 + ⋅ 8 7 10
4 −1
3
1 1 = 0.1339... ⋅ < ⋅10−3 , 10 2
pa proizvod ima tri sigurne cifre u užem smislu. Proverimo prethodni zaključak na sledeći način. Kako je P* = 630.27536 i 630.27536 ⋅ 0.1339... ⋅10−3 = 0.084... < 0.1 = 1 ⋅10−1 , to je P* = 630.3 ± 0.1, tj. sve četiri cifre su sigurne u širem smislu, odnosno, prve tri su sigurne u užem smislu. ▲ Posmatrajmo sada proizvod P* = n ⋅ x * , gde je n tačan a x* približan broj. Tada ćemo imati ∆P* = | nx − nx*| = n | x − x*| = n∆x* i ∆P* n∆x* δP* = = = δx* , n ≠ 0 , x* ≠ 0 . | P*| | nx*| Dakle, relativna greška se ne menja a apsolutna se uvećava n puta. Pri množenju približnih brojeva s različitim brojem značajnih cifara koriste se sledeća, praktična pravila: 1) brojeve treba zaokrugliti tako da svaki od njih sadrži jednu ili dve značajne cifre više od broja sigurnih cifara najnetačnijeg podatka; 2) u rezultatu zadržati onoliko sigurnih cifara koliko sigurnih cifara ima najnetačniji faktor ili, možda, jednu sigurnu cifru više.
9.
GREŠKA KOLIČNIKA I BROJ NJEGOVIH SIGURNIH CIFARA
Teorema 1. Relativna greška količnika približnih brojeva jednaka je zbiru relativnih grešaka deljenika i delioca. Dokaz. Neka su x1 i x2 tačni a x1* i x2* odgovarajući približni brojevi. Pretpostavimo da su pozitivni. Potrebno je oceniti apsolutnu grešku i granicu apsolutne greške količnika. Logaritmovanjem izraza Q* = x1* / x2* dobijamo ln Q* = ln x1* − ln x2* ,
pa je na osnovu (7.3) ∆ (ln Q*) = ∆(ln x1* ) + ∆ (ln x2* ) .
22
Koristeći činjenicu da je ∆ (ln u ) ≈ | d ln u | =
∆u dobijamo |u|
∆Q* ∆x1* ∆x2* = + | Q*| | x1* | | x2* |
ili δQ* = δx1* + δx2* ,
(1) što je i trebalo dokazati. ■
Na potpuno isti način dobijamo RQ* = Rx1* + Rx2* .
(2)
Primer 1. Izračunati količnik približnih brojeva x1* = 27.12 i x2* = 19.42 , ako su sve cifre deljenika i delioca sigurne u užem smislu. Rešenje. Granice relativnih grešaka su Rx1* = 0.005 / 27.12 = 0.0001843 i Rx2* = 0.005 / 19.42 = 0.0002574 . Granica relativne greške količnika je RQ* = 0.0001843 + 0.0002574 = 0.0004417 .
Kako je Q* =
27.12 = 1.396498... , to je 19.42 Q * ⋅ | RQ* | = 0.0006168... < 0.001 = AQ * ,
pa uzimamo Q* = 1.396, gde su sve cifre sigurne u širem smislu. ▲ Ako bi cifre datih približnih brojeva bile sigurne u širem smislu, onda bismo imali RQ* = 0.01/27.12 + 0.01/19.42 = 0.0008836... i | Q* | ⋅RQ* = 0.00123... < 0.005 = 0.5 ⋅10−2 = AQ * ,
pa bismo uzeli Q* = 1.40, gde su sve cifre sigurne u užem smislu. Razume se, mogli smo uzeti AQ* = 0.002 = 0.2 ⋅ 10 −2 i rekli bismo da su cifre rezultata 1.40 sigurne u „smislu ω = 0.2“. ▲ Razmotrimo sada zadatak nalaženja broja sigurnih cifara količnika približnih brojeva. Neka su u dekadnom sistemu računanja dati približni brojevi (3)
x1* = a110n1 + b110n1 −1 + ⋯ i x2* = a210n2 + b210n2 −1 + ⋯ ,
gde svaki od njih ima bar k (k > 1) sigurnih cifara. Kako je na osnovu formule (5.6) ω ω i Rx2* ≈ , 0 < ω ≤1, Rx1* ≈ k −1 a110 a 2 10 k −1 to je 23
(4)
RQ* =
ω 1 1 + . 10 k −1 a1 a2
Primer 2. Izračunati količnik približnih brojeva 49.327 i 3.45 i odrediti koliko ima sigurnih cifara ako deljenik i delilac imaju sve cifre sigurne u širem smislu. Rešenje. Kako deljenik ima pet a delilac tri sigurne cifre, to ćemo deljenik zaokrugliti na četiri cifre (jedna je zaštitna): 49.33 Q* = = 14.298... = 14.3 , 3.45 jer rezultat ne može imati više od tri značajne cifre. Dalje, ω = 1, a1 = 4 , a2 = 3 i k = 3 (manje tačan podatak ima tri sigurne cifre), pa je 1 1 1 RQ* = 3−1 + = 0.583... ⋅10 − 2 ≈ 0.6 ⋅10 − 2 < 1 ⋅10 − 2 , 10 4 3 tj. rezultat ima dve (može biti i više, dakle, tri) sigurne cifre. Proverimo to na sledeći način. Kako je AQ* = | Q*| ⋅RQ* = 14.298... ⋅ 0.0583... = 0.083... < 0.1 , to je Q* = 14.3 ± 0.1. Naravno, umesto grube ocene RQ* = 0.00583... mogli smo uzeti precizniju ocenu RQ* = 0.001/49.327 + 0.01/3.45 = 0.0029187..., pa bismo dobili AQ* = | Q* | ⋅RQ* = 0.0417... < 0.05 i AQ* = 14.3 ± 0.05 . ▲ Na osnovu (4) možemo formulisati sledeća pravila: 1) ako je a1 ≥ 2 i a2 ≥ 2 , onda količnik ima (k–1)–nu sigurnu cifru (može biti i k sigurnih cifara); 2) ako je a1 = 1 i a2 = 1 , onda količnik ima (k–2)–e sigurne cifre (može biti i (k–1)–nu sigurnu cifru). Nepreciznost ovih pravila je posledica činjenice da je ocena (5.6) dosta gruba.
10. GREŠKA STEPENA I KORENA Teorema 1. Relativna greška k–tog stepena približnog broja je k puta veća od relativne greške samog broja. Dokaz. Neka je y = x k i y* = x *k , gde je x tačan a x* približan broj a k prirodan broj. Koristeći činjenicu da je y* = x *k = x * ⋅ x * ⋅ ⋯ ⋅ x * ,
gde imamo k jednakih faktora, imamo na osnovu (8.1) 24
δy* = δx *k = k ⋅ δx * ,
(1) što je i trebalo dokazati. ■
Iz (1) sledi da kod stepena približnog broja x*k u rezultatu treba zadržati onoliko sigurnih cifara koliko ima približan broj x*.
Primer 1. Ako je dužina ivice kocke a* = 5.67 cm, ∆a* = 0.005 cm, izračunati zapreminu kocke, apsolutnu i relativnu grešku i broj sigurnih cifara rezultata. Rešenje. Zapremina je V * = a*3 = 5.673 cm3 = 182.284... cm3 .
Prvo računamo relativnu grešku 0.005 cm δa* = = 0.000881... 5.67 cm δV * = 3 ⋅ δa* = 0.00264...
Sada je
1 0 ⋅10 , 2 pa uzimamo V* = 182, gde su sve tri cifre sigurne u užem smislu. ▲ ∆V * = V * ⋅δV * = 0.4812... < 0.5 =
Teorema 2. Relativna greška k–tog korena približnog broja je k puta manja od relativne greške samog broja. Dokaz. Neka je y* = k x * , tada je x* = y*k . Prema tome, δ x* = k ⋅ δ y* , odnosno 1 1 (2) δy* = δ x* tj., δ k x* = δ x* , k k što je i trebalo dokazati. ■
(
)
Iz (2) sledi da kod korena približnog broja k x * u rezultatu treba zadržati onoliko sigurnih cifara koliko sigurnih cifara ima približan broj x*.
Primer 2. Izračunati dužinu stranice kvadrata, apsolutnu i relativnu grešku i broj sigurnih cifara stranice ako je površina kvadrata P* = 16.45 cm2 s tačnošću 0.01 cm2. Rešenje. Kako je a* = P * = 16.45 cm = 4.0558... cm , to primenom formule (2) nalazimo 1 1 0.01 δa* = δP* = ⋅ = 0.0003... = 0.03...% . 2 2 16.45 Dalje, ∆a* = 4.0558... ⋅ 0.0003... = 0.0012... < 0.002 = 0.2 ⋅10 −2 . 25
Dakle, a* = 4.06, ∆a* = 0.2 ⋅10 −2 , tj. a = (4.06 ± 0.002) cm i sve tri cifre su sigurne u „smislu ω = 0.2“. ▲
11. METODA GRANICA Ocena greške približne vrednosti f * = f ( x1* , x2* , ..., xn* ) zadate funkcije f = f ( x1 , x2 , ..., xn ) korišćenjem opštih formula (6.2), (6.3), (6.4) ili (6.5) je zasnovana na približnoj jednakosti n ∂f ∆ = f − f * = ∆f ≈ df = ∑ ∆i , i =1 ∂xi odnosno na pretpostavci da su stvarne greške ∆ i = xi − xi* , (i = 1, n) dovoljno male i da se veličina (ostatak) ε( ∆1 , ∆ 2 , ..., ∆ n ) =
1 ∂2 f 2 ∂2 f 2 ∂2 f ∆ + ⋯ + ∆ + 2 ∆1∆ 2 + ⋯ + n 1 2! ∂x12 ∂x1∂x2 ∂xn2
+2
∂2 f ∆ n −1∆ n + ⋯ ∂xn −1∂xn
može zanemariti. Dakle, ocena je približna i ne može se tvrditi da je apsolutno pouzdana u svakom slučaju. Meñutim, njena primena je potpuno opravdana jer je nepouzdanost zaista zanemarljiva. Ponekad je potrebno odrediti tačne i pouzdane granice približne vrednosti funkcije ako su poznate granice u kojima se nalaze vrednosti argumenata. Jedan jednostavan način rešavanja ovog zadatka je tzv. metoda granica. Neka je (1) f = f ( x1 , x2 , ..., xn ) neprekidno diferencijabilna i monotona funkcija po svakom argumentu xi , ∂f i = 1, n . Za to je dovoljno pretpostaviti da su izvodi , i = 1, n , konstantnog ∂xi znaka u posmatranoj oblasti D promene argumenata. Pretpostavimo da je
x i < xi < xi , (i = 1, n)
(2)
i da paralelepiped odreñen dvostrukim nejednakostima (2) pripada oblasti D. Neka je funkcija f monotono rastuća po svim argumentima. Tada je (3)
f = f ( x1 , x 2 , ..., x n ) < f ( x1 , x2 , ..., xn ) < f ( x1 , x2 , ..., xn ) = f ,
ili kraće f < f < f ,
26
pa uzimamo
1 f*= (f + f ) 2
(4) i pri tome je
1 | f − f | = Af * . 2 Ako je funkcija f monotono opadajuća po svim argumentima ili monotono rastuća po nekim a po ostalim argumentima monotono opadajuća, onda se odgovarajući analogni zaključci jednostavno izvode. (5)
∆f * = | f − f * | ≤ | f * − f | = | f * − f | =
Primer 1. Izračunati približnu vrednost funkcije f ( x1 , x2 , x3 ) = ( x12 + x22 ) / x32 i granicu apsolutne greške ako je: x1 = 3.987 ± 0.001 , x2 = 4.876 ± 0.001 i x3 = 5.765 ± 0.001 . Rešenje. U oblasti
{( x1 , x2 , x3 ) | 3.986 < x1 < 3.988; 4.875 < x2 < 4.877; 5.764 < x3 < 5.766} funkcija f je monotono rastuća po x1 i x2 a monotono opadajuća po x3 . ∂f (Razume se, pouzdanost ovog zaključka treba korektno dokazati: >0, ∂x1 ∂f ∂f >0 i < 0 .) Saglasno metodi granica računamo: ∂x2 ∂x3 f = f ( x1 , x 2 , x3 ) = f = f ( x1 , x2 , x3 ) =
3.9862 + 4.8752 = 1.1927 , 5.7662
3.9882 + 4.877 2 = 1.1946... , 5.7642
1 f * = ( f + f ) = 1.19365... i Af * = 0.0009... , pa uzimamo da je f * = 1.194 i 2 Af * = 0.001 . Radi poreñenja rezultata, ocene greške rezultata i obima računanja izračunajmo f * i Af * na drugi način. Kako je 2x 2x ∂f 2 ⋅ 3.987 ∂f 2 ⋅ 4.876 = 21 = = 0.2399... , = 22 = = 0.2934... 2 ∂x1 ∂x2 x3 5.765 x3 5.765 2 − 2( x12 + x22 ) − 2 ⋅ (3.987 2 + 4.876 2 ) ∂f = = = −0.4141... , ∂x3 x33 5.765 2
27
to redom računamo: Af * = (0.2399... + 0.2934... + 0.4141...) ⋅ 0.001 = 0.0009474... ,
pa možemo uzeti Af * = 0.001 ; f * = (3.987 2 + 4.876 2 ) / 5.765 2 = 1.1936... , odnosno uzimamo da je f * = 1.194 . Dakle, dobijamo isti rezultat f * = 1.194 i Af * = 0.001 . ▲
Primer 2. Ako su koeficijenti kvadratne jednačine 2.78 x 2 + 0.60 x − 1.29 = 0 približni brojevi sa sigurnim ciframa u užem smislu, izračunati njeno veće rešenje. Rešenje. Kao što znamo, rešenje kvadratne jednačine ax 2 + bx + c = 0 se nalazi primenom formule x1, 2 =
−b ∓ b 2 − 4ac . 2a
Dakle, imamo funkcije −b − b 2 − 4ac −b + b 2 − 4ac i f 2 ( a , b, c ) = . 2a 2a Primenimo metodu granica. U našem slučaju imamo: 2.775 < a < 2.785, 0.595 < b < 0.605 i –1.295 < c < –1.285; koristićemo funkciju f 2 ( a, b, c) , dakle f1 (a, b, c) =
−b + b 2 − 4ac . 2a Saglasno metodi granica računamo: x=
x=
− b + b 2 − 4ac 2a
=
−0.595 + 0.6052 − 4 ⋅ 2.785 ⋅ (−1.295) = 0.585780... , 2 ⋅ 2.775
−b + b 2 − 4 ac
−0.605 + 0.5952 − 4 ⋅ 2.775 ⋅ (−1.285) x= = = 0.577789... , 2a 2 ⋅ 2.785 1 1 1 | x − x | = 0.00399... < 0.005 = ⋅10−2 = Ax* , x* = ( x + x ) = 0.5817... , 2 2 2 dakle, x* = 0.58 i Ax* = 0.005 . ▲
12. INVERZNI PROBLEM OCENE GREŠKE U praksi se vrlo često pojavljuje i sledeći zadatak: Kolike moraju biti granice apsolutnih grešaka argumenata da granica apsolutne greške funkcije ne bi bila veća od unapred zadatog broja. Ovaj zadatak, zadatak odreñivanja potrebne tačnosti argumenata radi obezbeñivanja zadate tačnosti rezultata zove 28
se inverzni ili obratni problem ocene greške. Dakle, treba odrediti Ax1* , Ax2* , ..., Axn* da bi bilo (1)
∂f ∂f ∂f ⋅ Ax1* + ⋅ Ax2* + ⋯ + ⋅ Axn* ≤ ε , ∂x1 ∂x2 ∂xn
gde je ε (ε > 0) unapred zadata tačnost rezultata. Za n = 1 iz (1) se dobija ∂f ⋅ Ax1* ≤ ε , ∂x1 pa je Ax1* ≤
ε ∂f ∂x1
.
Za n > 1 zadatak je, očigledno, neodreñen; imamo samo jednu linearnu nejednačinu a n nepoznatih: Ax1* , Ax2* , ..., Axn* . Neodreñenost eliminišemo postavljanjem dodatnih uslova. Najčešće se postupa na jedan od sledećih načina. Ako pretpostavimo da je (2)
∂f ∂f ∂f ⋅ Ax1* = ⋅ Ax2* = ... = ⋅ Axn* , ∂x1 ∂x2 ∂xn
onda imamo tzv. princip jednakih doprinosa. Iz (1), uzimajući u obzir (2), dobijamo ε Axi* ≤ , i = 1, n . (3) ∂f n⋅ ∂xi Ako su x1 , x2 , ..., xn veličine iste prirode (recimo, dužine), merene istim jedinicama, onda se može pretpostaviti da je Ax1* = Ax2* = ... = Axn* ;
(4)
tada imamo tzv. princip jednakih granica apsolutnih grešaka. Iz (1), uzimajući u obzir (4), dobijamo ε (5) Axi* ≤ , i = 1, n . n ∂f ∑ ∂x j =1 j Moguće je uzeti da je (6)
Rx1* = Rx2* = ... = Rxn* ( = λ ) , tj.
Axn* Ax1* Ax2* = = ... = (= λ) , | x1* | | x2* | | xn* |
29
tada imamo tzv. princip jednakih granica relativnih grešaka. Iz (1), uzimajući u obzir (6), dobijamo ∂f ∂f ∂f λ | x1* | + λ | x2* | +... + λ | xn* | ≤ ε , ∂x1 ∂x2 ∂xn
odnosno ε
λ≤
n
∑ i =1
∂f ⋅ | xi* | ∂xi
,
pa je Ax*j |
x*j
≤
|
ε n
∑ i =1
∂f * ⋅ xi ∂xi
,
i na kraju (7)
Ax*j
≤
ε⋅ | x*j | n
∑ i =1
∂f * ⋅ xi ∂xi
, j = 1, n .
Primer 1. Poluprečnik osnove uspravnog valjka je r* ≈ 3 j a visina H * ≈ 8 j . Odrediti granice apsolutnih grešaka Ar * , AH * , Aπ da bi granica apsolutne greške približne vrednosti zapremine bila najviše jednaka 0.01 j 3 . Rešenje. Kako je zapremina valjka V = r 2 πH , to imamo funkciju V = V (r , π, H ) , dakle funkciju od tri argumenta. Stavljajući r* ≈ 3 , H * ≈ 8 i π* ≈ 3.14 dobijamo: ∂V ∂V ∂V = 2rπH = 150.72 , = r 2 H = 72 i = r 2 π = 28.26 , ∂H ∂r ∂π pa na osnovu formule (3) imamo: 0.01 Ar* ≤ = 0.0000221... , pa ćemo uzeti Ar* = 0.00002 j ; 3 ⋅150.72 0.01 Aπ* ≤ = 0.0000462... , pa ćemo uzeti Aπ* = 0.00004 , π* = 3.1416 ; 3 ⋅ 72 0.01 AH * ≤ = 0.0001179... , pa ćemo uzeti AH * = 0.0001 j . ▲ 3 ⋅ 28.26
30
II INTERPOLACIJA FUNKCIJA
0.
UVODNE NAPOMENE
U matematici i njenim primenama vrlo česti su zadaci sledećeg oblika: a) Poznate su vrednosti f ( x0 ), f ( x1 ), ..., f ( xn ) neke funkcije y = f (x) , gde xi ∈ [a, b] , i = 0, n , n ∈ N i konačan je broj, a nije poznat analitički oblik funkcije f (x) . Potrebno je izračunati približne vrednosti funkcije f (x) za vrednosti argumenta x koje su različite od datih vrednosti xi . b) Poznate su vrednosti f ( x0 ), f ( x1 ), ..., f ( xn ) neke funkcije y = f (x) , gde xi ∈ [ a, b] , i = 0, n , n ∈ N i konačan je broj, a poznat je analitički oblik funkcije f (x) ali je vrlo komplikovan. Potrebno je izračunati približne vrednosti funkcije f (x) za vrednosti argumenta x koje su različite od datih vrednosti xi . Zadaci a) i b) pojavljuju se u nastavi matematike već u srednjoj školi. Podsetimo se jednog takvog zadatka. Dobro su nam poznate logaritamske tablice, tablice prirodnih vrednosti trigonometrijskih funkcija, itd. U ovim tablicama se nalaze vrednosti funkcija samo za izvesne vrednosti argumenta i to ne tačno već samo približno s odreñenim brojem sigurnih cifara. Tako, na primer, u logaritamskim tablicama čije mantise imaju pet decimala dati su logaritmi brojeva od 1 do 10909. Postavlja se zadatak izračunavanja vrednosti logaritama za vrednosti argumenta kojih nema u tablicama, i to pomoću onih vrednosti koje se nalaze u tablicama. Ako treba izračunati vrednost funkcije f (x) za neko x, x0 < x < xn , x ≠ xi onda se taj zadatak zove interpolacija (interpoler = umetnuti, franc.). Prema tome, reč interpolacija označavaće postupak nalaženja vrednosti neke funkcije y = f (x) za x ∈ [a, b] i xi < x < xi +1 , i = 0, n − 1 , na osnovu tabele x0 x1 x f (x) f ( x0 ) f ( x1 )
... ...
xi f ( xi )
... ...
xn f ( xn )
Ako treba izračunati vrednost funkcije f ( x) za neko x < x0 ili x > xn , onda se zadatak zove ekstrapolacija. Zadatak interpolacije i zadatak ekstrapolacije se rešavaju na isti način. Zbog toga ćemo u oba slučaja koristiti termin interpolacija, naravno ako ne postoji poseban razlog za isticanje o kojem se zadatku radi.
31
1.
OPŠTI ZADATAK INTERPOLACIJE
Zadatak interpolacije se sastoji u sledećem. Umesto poznate funkcije y = f (x) , zadate tablično ili analitičkim izrazom (ako se izračuna odreñen broj vrednosti te funkcije, ona se i u ovom slučaju može smatrati zadatom tablično), treba konstruisati jednostavniju funkciju F ( x; a0 , a1 , ..., an ) , gde su ai (i = 0, n) neki parametri, pomoću koje se mogu lakše nalaziti vrednosti funkcije f (x) . Te vrednosti se nalaze približno ali s potrebnom tačnošću. Pri tome se zahteva da su zadovoljeni uslovi (1) F ( x j ; a0 , a1 , ..., a n ) = f ( x j ) , j = 0, n . Uslovi (1) se koriste za odreñivanje parametara ai (i = 0, n) . Kao što se vidi postavlja se sledeći zadatak. Neka je na segmentu [а, b] zadata mreža (2) ω = {a = x0 < x1 < ... < xi < ... < xn = b} i na njoj vrednosti funkcije f (x) : (3) f ( x0 ) = y0 , f ( x1 ) = y1 , ..., f ( xi ) = yi , ..., f ( xn ) = y n . Treba konstruisati funkciju F ( x; a0 , a1 , ..., an ) koja se poklapa sa funkcijom f (x) u tačkama xi , (i = 0, n) – čvorovima mreže ω , tj. F ( xi ; a0 , a1 , ..., a n ) = yi , (i = 0, n) . Ovako formulisan zadatak interpolacije može imati jedinstveno rešenje, imati konačno ili beskonačno mnogo rešenja ili nemati rešenje. Zbog toga se postavljaju dodatni uslovi. Prirodno je zahtevati da funkcija F ( x; a0 , a1 , ..., an )
(4)
u ostalim tačkama x ∈ [ a, b] , x ≠ xi , i = 0, n , dobro aproksimira funkciju f (x) , dakle da bude (5)
| f ( x) − F ( x; a0 , a1 , ..., an ) | ≤ ε ,
gde je ε > 0 dopustiva greška aproksimacije. Nejednakost (5) se može f(x) geometrijski interpretirati kao na sl. 1. Ako je ε manje, onda je aproksimacija tačnija, bolja. Prirodno je, takoñe, zahtevati da je f(x) – ε funkcija F (koju, inače, zovemo interpolacionom funkcijom) jednostavna za xn–1 xn= b x računanje. 0 a = x0 x1 x2 Ako interpolaciona funkcija F Sl. 1 nelinearno zavisi od neodreñenih parametara a0 , a1 , ..., an , onda je nazivamo nelinearnom interpolacionom funkcijom (u tom slučaju nalaženje parametara a0 , a1 , ..., an iz uslova (4) je najčešće vrlo teško), a ukoliko F zavisi linearno od neodreñenih parametara
y
32
f (x ) + ε
a0 , a1 , ..., an , tada se radi o linearnoj interpolacionoj funkciji. U ovom kratkom kursu će se razmatrati samo linearne interpolacione funkcije koje se, po pravilu, traže u obliku uopštenog polinoma, tj. u obliku
(6)
F ( x; a0 , a1 , ..., an ) =
n
∑ ak g k ( x) ,
k =0
gde su funkcije g k (x) zadate i linearno nezavisne (u protivnom bi se broj članova u zbiru i broj parametara mogao smanjiti), a a0 , a1 , ..., an neodreñeni koeficijenti. Iz (4), imajući u vidu (6), se dobija n
∑ ak g k ( xi ) = yi ,
(7)
i = 0, n ,
k =0
tj. dobija se sistem od (n + 1)–ne jednačine za odreñivanje (n + 1)–nog koeficijenta ai , (i = 0, n) . Ako je sistem funkcija g k (x) tako izabran da je za proizvoljan izbor čvorova a = x0 < x1 < ... < xn = b različita od nule determinanta sistema (7), tj.
D( g ) =
g 0 ( x0 )
g1 ( x 0 ) ⋯ g n ( x 0 )
g 0 ( x1 ) ⋮
g1 ( x1 ) ⋯ g n ( x1 )
≠ 0,
g 0 ( x n ) g1 ( x n ) ⋯ g n ( x n )
i ako su zadate vrednosti yi , (i = 0, n) , onda su sistemom (7) jednoznačno odreñeni koeficijenti ai , (i = 0, n) , odnosno, jednoznačno je odreñena interpolaciona funkcija (6). Za linearno nezavisne funkcije g k (x) najčešće se biraju: stepene funkcije: 1, x, x 2 , ..., x n – tada je interpolaciona funkcija F ( x; a0 , a1 , ..., an ) ≡ Pn ( x) = a0 + a1 x + a 2 x 2 + ⋯ + a n x n ,
dakle, algebarski polinom stepena n; trigonometrijske funkcije: 1, sin x, cos x, sin 2x, cos 2x, ..., sin nx, cos nx – tada je interpolaciona funkcija F ( x; a0 , b0 , a1 , b1 , ..., a n , bn ) ≡ Tn ( x) = a0 + a1 cos x + b1 sin x + ⋯ + + a n cos nx + bn sin nx,
dakle, trigonometrijski polinom stepena n; eksponencijalne funkcije: 1, e px , e qx , ..., e tx , gde su p, q, ..., t različite konstante, i tako dalje. Radi lakšeg računanja u praksi se najčešće koriste algebarski polinomi; dakle, interpolacionu funkciju (6) tražićemo u obliku (8)
F ( x; a0 , a1 , ..., an ) ≡ Pn ( x) =
n
∑ ak x k ,
k =0
gde se koeficijenti, saglasno uslovu (4), odnosno (7), dobijaju iz sistema 33
linearnih algebarskih jednačina a0 + a1 x0 + a2 x02 + ⋯ + an x0n = y0 , a0 + a1 x1 + a2 x12 + ⋯ + an x1n = y1 , (9) ⋮ 2 n a0 + a1 xn + a2 xn + ⋯ + an xn = yn . Determinanta sistema (9) 1 x0
x02 ⋯ x0n
1 x1 D= ⋮
x12 ⋯ x1n
1 xn
xn2 ⋯ xnn
je Vandermondova (A. T. Wandermonde, 1735–1796) determinanta, i njena vrednost je D = ∏ ( xk − xm ) ≠ 0 , n≥ k > m≥0
jer su čvorovi xi , (i = 0, n) meñusobno različiti. Dakle, interpolacioni polinom (8) postoji i jedinstven je, ali postoji mnogo formi zapisivanja tog polinoma. Svaka od tih formi nosi poseban naziv, pa imamo: I i II Njutnov interpolacioni polinom, I i II Gausov interpolacioni polinom, Beselov interpolacioni polinom, itd; svaki od njih ima izvesne pogodnosti u numeričkom smislu u nekim situacijama. Posebno je značajno pitanje ocene greške aproksimacije (10) f ( x) ≈ Pn ( x) . Da je aproksimacija (10) uopšte moguća opravdavaju sledeće teoreme, koje je dao Vajerštras (K. Weierstrass, 1815–1897) 1855. god.
Teorema 1. Ako je f ( x) ∈ C[ a, b] , onda za proizvoljno maleno ε > 0 postoji takav polinom Pn (x) da za svako x ∈ [a, b] važi sledeća nejednakost | f ( x) − Pn ( x) | < ε .
Teorema 2. Ako je f ( x) ∈ C[0, 2 π] i periodična s periodom 2π, onda za proizvoljno maleno ε > 0 postoji takav trigonometrijski polinom Tn ( x) da za svako x ∈ (–∞, ∞) važi nejednakost | f ( x) − Tn ( x) | < ε . Dokazi ovih teorema mogu se naći, na primer, u knjizi: I. S. Berezin, N. P. Židkov – Numerička analiza, Naučna knjiga, Beograd, 1963. Osnovna pitanja teorije interpolacije su: 1) pogodno formiranje interpolacionog polinoma za zadati izbor sistema linearno nezavisnih funkcija g k (x) ;
34
2) nalaženje ocene greške aproksimacije f ( x) ≈ F ( x; a0 , a1 , ..., an ) ; 3) optimalan izbor čvorova interpolacije u smislu minimizacije greške interpolacije; 4) analiza uticaja grešaka približnih vrednosti funkcije u čvorovima interpolacije; 5) ispitivanje konvergencije niza interpolacionih polinoma ka funkciji f (x) kada broj čvorova interpolacije neograničeno raste.
2.
LAGRANŽEV INTERPOLACIONI POLINOM
Neka je na segmentu [a, b] zadato n + 1 različitih čvorova: x0 , x1 , ..., xn i neka su yi = f ( xi ) , i = 0, n , vrednosti funkcije y = f (x) u tim čvorovima. Treba konstruisati interpolacioni polinom Ln (x) , stepena ne većeg od n, takav da je Ln ( xi ) = yi , i = 0, n .
(1)
Dakle, traži se polinom Ln ( x) koji prolazi kroz tačke M i ( xi , yi ) , i = 0, n . Postavljeni zadatak se može rešiti na sledeći način. Konstruišimo, prvo, pomoćni polinom pi ( x) n–tog stepena koji je jednak nuli za x = x j , j ≠ i , a jednak jedinici za x = xi , tj. 0, j ≠ i pi ( x j ) = δ ij = 1, j = i,
(2)
gde je δ ij Kronekerov (L. Kronecker, 1823–1891) simbol. Dakle, treba konstruisati polinom pi (x) koji se anulira u n tačaka: x0 , x1 , ..., xi −1 , xi +1 , ..., xn . Kako je polinom svojim nulama odreñen do na konstantan faktor, to je pi ( x) = Ci ( x − x0 )( x − x1 ) ⋯ ( x − xi −1 )( x − xi +1 ) ⋯ ( x − xn ) ,
(3)
gde je Ci konstanta. Stavimo li x = xi u (3), dobićemo 1 = pi ( xi ) = Ci ( xi − x0 )( xi − x1 ) ⋯ ( xi − xi −1 )( xi − xi +1 ) ⋯ ( xi − xn ) ,
odnosno Ci =
1 , ( xi − x0 )( xi − x1 ) ⋯ ( xi − xi −1 )( xi − xi +1 ) ⋯ ( xi − xn )
pa je (4)
pi ( x ) =
( x − x0 )( x − x1 ) ⋯ ( x − xi −1 )( x − xi +1 ) ⋯ ( x − xn ) . ( xi − x0 )( xi − x1 ) ⋯ ( xi − xi −1 )( xi − xi +1 ) ⋯ ( xi − xn )
Traženi interpolacioni polinom ima oblik n
(5)
Ln ( x) = ∑ pi ( x) ⋅ yi . i =0
35
Očigledno je da je polinom Ln (x) stepena ne višeg od n; zbog uslova (2) je n
Ln ( x j ) = ∑ pi ( x j ) ⋅ yi = p j ( x j ) ⋅ y j = y j , j = 0, n , i =0
tj. ispunjen je uslov (1), odnosno, polinom Ln (x) prolazi kroz sve tačke M i ( xi , yi ) , i = 0, n . Uvrstimo li (4) u (5), dobićemo ( x − x0 )( x − x1 )⋯ ( x − xi −1 )( x − xi +1 )⋯ ( x − xn ) ⋅ yi . i = 0 ( xi − x0 )( xi − x1 ) ⋯ ( xi − xi −1 )( xi − xi +1 ) ⋯ ( xi − xn ) n
(6)
Ln ( x) = ∑
Ovaj interpolacioni polinom se zove Lagranžev (L. J. Lagrange, 1736– 1813) interpolacioni polinom. Lagranžev interpolacioni polinom (6) može se zapisati u kraćem, „kondenzovanijem“ obliku. Da bismo to učinili, uvedimo oznaku (7)
∏ n +1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xi )⋯ ( x − xn ) . Diferencirajući (7) po x i stavljajući x = xi dobijamo
(8)
∏ 'n+1 ( xi ) = ( xi − x0 )( xi − x1 )⋯ ( xi − xi −1 )( xi − xi +1 )⋯ ( xi − xn ) . Uvrstimo li (7) i (8) u formulu (6), dobićemo
∏ n +1 ( xi ) ⋅ y , i ' i =0 ( x − x ) i ∏ n +1 ( xi ) n
Ln ( x) = ∑
ili n
(9)
Ln ( x) = ∏ n +1 ( x) ⋅ ∑ i =0
yi ( x − xi )∏ 'n +1 ( xi )
.
Dokažimo još i jedinstvenost Lagranževog interpolacionog polinoma. Pret~ postavimo suprotno, tj. neka je Ln ( x) polinom različit od polinoma Ln (x) , stepena ne višeg od n i takav da je ~ Ln ( xi ) = yi , i = 0, n . Tada polinom ~ Qn ( x) = Ln ( x) − Ln ( x) ima stepen ne viši od n i anulira se u n + 1 tački: x0 , x1 , ..., xn , a to je moguće ~ ako i samo ako je Qn ( x) ≡ 0 , tj. Ln ( x) ≡ Ln ( x) .
Primer 1. Funkcija y = f (x) je zadata tabelom x y
0 1
1 4
2 13
4 73
a) Naći Lagranžev interpolacioni polinom L3 ( x) . b) Izračunati približnu vrednost funkcije f (x) za x = 3. 36
Rešenje. a) Traženi interpolacioni polinom je ( x − 1)( x − 2)( x − 4) ( x − 0)( x − 2)( x − 4) L3 ( x) = ⋅1 + ⋅4+ (0 − 1)(0 − 2)(0 − 4) (1 − 0)(1 − 2)( x − 4) ( x − 0)( x − 1)( x − 4) ( x − 0)( x − 1)( x − 2) + ⋅13 + ⋅ 73 , (2 − 0)(2 − 1)(2 − 4) ( 4 − 0)(4 − 1)(4 − 2) ili, posle sreñivanja, L3 ( x) = x 3 + 2 x + 1 . b) f (3) ≈ L3 (3) = 34 . ▲
3.
OCENA GREŠKE INTERPOLACIJE
Interpolacioni polinom Ln (x) , ako su sva računanja tačna, poklapa se s funkcijom f (x) u čvorovima interpolacije: x0 , x1 , ..., xn . Za vrednosti argumenta x, različite od čvorova, Ln (x) i f (x) u opštem slučaju se razlikuju. (Izuzetak je kada je funkcija f (x) polinom čiji stepen nije viši od n; tada je Ln ( x) = f ( x) , ali taj slučaj nije od posebnog interesa za numeričku matematiku.) Ako bi se broj čvorova povećavao, onda bi bilo prirodno očekivati da interpolacioni polinom sve bolje aproksimira datu funkciju. Meñutim, u opštem slučaju to nije tako. Kada broj čvorova neograničeno raste, onda interpolacioni polinom prelazi u beskonačni red, nazovimo ga interpolacionim redom. Pitanje konvergencije takvog reda je dosta složeno. (Može se desiti da red divergira ili konvergira ka nekoj funkciji koja je različita od f (x) ili, pod odreñenim uslovima, ka f (x) .) Dakle, opravdano se postavlja pitanje ocene greške (1) Rn ( x) = f ( x) − Ln ( x) . Kako su vrednosti yi funkcije y = f (x) približne, to se javlja dopunska greška. Osim toga, u procesu računanja zbog grešaka zaokrugljivanja javlja se nova greška. Prva greška, greška Rn (x) , je greška metode, druga je neotklonjiva greška a treća je greška zaokrugljivanja. Ovde ćemo proučiti grešku metode, koja se, ponekad, naziva ostatkom interpolacije. Postupak nalaženja izraza za Rn (x) je sličan postupku nalaženja ostatka Tejlorove formule. Poñimo, dakle, od pomoćne funkcije ( z − x0 )( z − x1 )⋯ ( z − xn ) (2) F ( z ) = f ( z ) − Ln ( z ) − ⋅ Rn ( x) , ( x − x0 )( x − x1 )⋯ ( x − xn ) gde je z realna promenljiva, x neka fiksirana vrednost u [ x0 , xn ] , različita od xi , i = 0, n . Pretpostavimo da je
f ( x) ∈ C n+1[ x0 , xn ] ; tada je, očigledno, i
F ( x) ∈ C n +1[ x0 , xn ] . Može se primetiti da se funkcija F (x) anulira u n + 2
37
tačke: x0 , x1 , ..., xn , x . Ove tačke odreñuju n + 1 podsegment segmenta [ x0 , xn ] . Primenivši na svakom od tih podsegmenata Rolovu (M. Rolle, 1652–1719) teoremu zaključujemo da funkcija F ' ( z ) ima najmanje n + 1 nulu u [ x0 , xn ] . Primenivši na analogan način Rolovu teoremu redom na F ' ( z ) , F " ( z ) , ..., F ( n+1) ( z ) zaključujemo da F ( n+1) ( z ) ima bar jednu nulu u [ x0 , xn ] ; neka je z = ξ ∈ ( x0 , xn ) i F ( n+1) (ξ ) = 0 . Osim toga, d n+1 [( z − x0 )( z − x1 )⋯ ( z − xn )] = (n + 1)! . dz n+1 Na taj način se dobija F ( n+1) ( z ) = f ( n+1) ( z ) −
(3)
(n + 1)! ⋅ Rn ( x) . ( x − x0 )( x − x1 )⋯ ( x − xn )
Stavivši z = ξ u (3) dobija se 0 = f ( n +1) (ξ ) −
( n + 1)! ⋅ Rn ( x) , ( x − x0 )( x − x1 )⋯ ( x − xn )
odakle je (4)
f ( n +1) (ξ ) ( x − x0 )( x − x1 )⋯ ( x − xn ) , ξ ∈ ( x0 , xn ) (n + 1)!
Rn ( x) =
ili Rn ( x) =
gde je
f ( n +1) (ξ ) ∏ n+1 ( x) , ξ ∈ ( x0 , xn ) , (n + 1)!
∏ n+1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) .
Ako je moguće naći maksimum (n + 1)–vog izvoda funkcije f (x) na [ x0 , xn ] , tj. max | f ( n +1) ( x) | ≤ M n+1 , x ∈ [ x0 , xn ] ,
onda se iz (4) dobija (5)
| Rn ( x)| = | f ( n +1) ( x) − Ln ( x)| ≤
M n +1 (n + 1)!
∏ n +1 ( x)
.
Lako se uočavaju dva bitna nedostatka dobijene formule: a) Nekada je funkcija f (x) zadata tablično (njen analitički izraz nije poznat), pa nije moguće naći f ( n+1) ( x) , samim tim nije moguće proceniti Rn (x) ; b) Često se zna analitički izraz za funkciju f (x) i on je veoma komplikovan. Nalaženje izvoda takvih funkcija je mukotrpan posao, često praktično i nemoguć, naročito za veliko n. Dakle, opet je zaključak isti – praktično je nemoguće proceniti grešku Rn (x) . 38
Dakle, dobijena formula za grešku (4), odnosno (5), ima teorijsku vrednost; ona dobija praktičnu vrednost tek nalaženjem jednostavnije ocene izvoda f ( n+1) ( x) za x ∈ [ x0 , xn ] .
Primer 1. Funkcija y = 1 /(1 + x 2 ) je zadata tablicom x 0.00 0.10 0.30 0.50 y 1.00 0.99 0.92 0.80 Naći Lagranžev interpolacioni polinom L3 ( x) i proceniti grešku. Rešenje. Traženi interpolacioni polinom je L3 ( x ) =
+
( x − 0.1)( x − 0.3)( x − 0.5) (0.0 − 0.1)(0.0 − 0.3)(0.0 − 0.5)
⋅ 1.00 +
( x − 0.0)( x − 0.3)( x − 0.5) (0.1 − 0.0)(0.1 − 0.3)(0.1 − 0.5)
⋅ 0.99 +
( x − 0.0)( x − 0.1)( x − 0.5) ( x − 0.0)( x − 0.1)( x − 0.3) ⋅ 0.92 + ⋅ 0.80, (0.3 − 0.0)(0.3 − 0.1)(0.3 − 0.5) (0.5 − 0.0)(0.5 − 0.1)(0.5 − 0.3)
5 3 1 x − x2 − x +1 . 12 240 Ocenimo grešku. Da bismo izbegli neposredno izračunavanje četvrtog izvoda, iskoristićemo činjenicu da je π [1/(1 + x 2 )]( k ) = [arctg x ( k +1) ] = k !cos k +1 A ⋅ sin( k + 1) A + , 2 gde je A = arc tg x. Na taj način imamo za x ∈ [0.0,0.5]
ili, posle sreñivanja, L3 ( x) =
π |1/(1 + x 2 )(4)| = max 4!cos5 A ⋅ sin 5 A + = 4! 2
pa je | R3 ( x) | ≤
4.
4! | x( x − 0.1)( x − 0.3)( x − 0.5) | , x ∈ [0.0, 0.5] . ▲ 4!
KONAČNE RAZLIKE FUNKCIJA
Neka je data mreža ekvidistantnih tačaka, čvorova, argumenta x: x0 , x1 = x0 + h , x2 = x1 + h = x0 + 2h , ..., xi = x0 + ih , ..., gde je priraštaj argumenta x ili korak h = xi +1 − xi = const. i h ≠ 0 (i = 0, 1, 2, ...). Neka su poznate vrednosti yi = f ( xi ) funkcije y = f (x) u čvorovima xi , i = 0, 1, 2, ... Konačne razlike prvog reda funkcije f (x) su: ∆y0 = y1 − y0 , ∆y1 = y2 − y1 , ..., ∆yi = yi +1 − yi , ...;
Konačne razlike drugog reda funkcije f (x) su: ∆2 y0 = ∆y1 − ∆y0 , ∆2 y1 = ∆y2 − ∆y1 , ..., ∆2 yi = ∆yi +1 − ∆yi , ... ;
39
Uopšte, konačne razlike n–tog reda funkcije f (x) su: ∆ y0 = ∆n−1 y1 − ∆n−1 y0 , ∆n y1 = ∆n−1 y2 − ∆n−1 y1 , ..., ∆n yi = ∆n−1 yi +1 − ∆n−1 yi , ... Navedimo neke osobine konačnih razlika: a) Ako je f ( x) = u ( x) + v( x) , onda je ∆ (u + v) = ∆u + ∆v ; b) Ako je f ( x) = k ⋅ u ( x) , gde je k konstanta, onda je ∆ (ku ) = k∆u ; n
c) ∆m (∆n y ) = ∆m+ n y = ∆n ( ∆m y ) , gde su m i n celi nenegativni brojevi, pri čemu po definiciji stavljamo ∆0 y = y . d) Ako je f ( x) = Pn ( x) – polinom n–tog stepena, onda je ∆Pn (x) polinom (n – 1)–vog stepena. Dokaz ove činjenice je zaista jednostavan. Naime, po definiciji imamo ∆Pn ( x) = Pn ( x + h) − Pn ( x) = [ a0 ( x + h) n + a1 ( x + h) n−1 + ⋯ + an−1 ( x + h) + an ] − − [a0 x n + a1 x n−1 + ⋯ + an−1 x + an ] = b0 x n−1 + b1 x n−2 + ⋯ + bn−1
gde je b0 = n ⋅ h ⋅ a0 ; Analogno zaključujemo: ∆2 Pn ( x) = ∆Pn ( x + h) − ∆Pn ( x) = c0 x n−2 + c1 x n−3 + ⋯ + cn−2 , gde je c0 = (n − 1) ⋅ h ⋅ b0 = n( n − 1) ⋅ h 2 a0 ; ∆3 Pn ( x) = ∆2 Pn ( x + h) − ∆2 Pn ( x) = d 0 x n−3 + d1 x n−4 + ⋯ + d n−3 ,
gde je d 0 = (n − 2) ⋅ h ⋅ c0 = n(n − 1)(n − 2) ⋅ h3a0 ; i na kraju ∆n Pn ( x) = n!h n a0 ; za k > n, ∆k Pn ( x) = 0 . Dakle, n–te razlike polinoma n–tog stepena su konstantne, a razlike višeg reda od n su jednake nuli.
Teorema 1. Ako je ξ ∈ ( xi , xi + n ) da je (1)
f ( x) ∈ C n [ xi , xi + n ] , onda postoji takva tačka
∆n f i = ∆n yi = h n f (n ) (ξ ) , n ∈ N .
Dokaz. Formula (1) se može dokazati metodom matematičke indukcije. Ovde nećemo izvoditi kompletan dokaz. Samo ćemo proveriti tvrñenje teoreme za n = 1 i n = 2. Zaista, za n = 1 imamo ∆yi = h ⋅ f ' (ξ ) ili ∆f i = ∆yi = yi +1 − yi = f ( xi +1 ) − f ( xi ) = ( xi +1 − xi ) ⋅ f ' (ξ ) , ξ ∈ ( xi , xi +1 ) , a to je, očigledno, Lagranževa teorema, primenjena na funkciju f (x) na segmentu [ xi , xi +1 ] . Dokažimo formulu (1) i za n = 2. Uvedimo, najpre, oznaku
(2)
g ( x ) = f ( x + h) − f ( x ) .
Sada imamo ∆2 f i = ∆f i +1 − ∆f i = ( f i + 2 − f i +1 ) − ( f i +1 − f i ) = [ f ( xi +1 + h) − f ( xi +1 ] − − [ f ( xi + h) − f ( xi )] = g ( xi +1 ) − g ( xi ) = g ( xi + h) − g ( xi ),
40
pa je prema Lagranževoj teoremi ∆2 f i = ∆2 yi = h ⋅ g ' (ξ ) , ξ1 ∈ ( xi , xi + h) .
(3)
Dalje je prema (2)
g ' (ξ 1 ) = f ' (ξ 1 + h ) − f ' (ξ 1 ) ,
pa relacija (3) posle još jedne primene Lagranževe teoreme postaje ∆2 f i = ∆2 yi = h[ f ' (ξ1 + h) − f ' (ξ1 )] = h[h ⋅ f " (ξ )]
i definitivno (4)
∆2 f i = ∆2 yi = h 2 ⋅ f " (ξ ) , ξ ∈ (ξ1 , ξ1 + h) , tj. ξ ∈ ( xi , xi + 2 ) .
Za n > 2 tvrñenje teoreme se analogno dokazuje, pa se na osnovu principa matematičke indukcije zaključuje da (1) važi za svako n ∈ N . Iz formule (1) dobijamo ∆n f ( x) f ( n ) (ξ ) = ; hn prelaskom na limes kada h → 0 imamo ∆n f ( x) , h →0 hn
f ( n ) ( x) = lim
a odavde važnu približnu jednakost ∆n f ( x) . hn Konačne razlike je pogodno smestiti u tablicu; tablice mogu biti dijagonalne f ( n ) ( x) ≈
(5)
x x0
y y0
x1
y1
x2 x3 ⋮
y2 y3 ⋮
∆y ∆y0 ∆y1
∆ 2y ∆2y0 ∆ y1
∆ 3y
∆3y0
2
∆y2 ⋮
∆ y1
∆ 4y
...
∆4y0
...
∆4y1 ⋮
... ⋱
3
∆2y2 ⋮
⋮
i horizontalne (donje i gornje).
Primer 1. Sastaviti dijagonalnu tablicu konačnih razlika za funkciju f ( x) = x 3 + 9 x 2 + 8 x + 7 na odsečku [0, 1] uzimajući korak h = 0.2; vrednosti 1 funkcije izračunati s tačnošću ε = ⋅10−4 . 2 Rešenje. Tablica konačnih razlika je
41
x 0.0
y 7.0000
0.2
8.9860
∆y
∆ 2y
∆ 3y
1.9680 7680 2.7360 0.4
11.7040
480 8160
3.5520 0.6
15.2560
480 8640
4.4160 0.8
19.6720
1.0
25.0000
480 9120
5.3280 Kod sastavljanja tablica konačnih razlika mogu se napraviti tzv. omaške. Razmotrimo problem uticaja omaške, njeno prostiranje u tablicama, otkrivanje i otklanjanje. Neka smo umesto vrednosti yi omaškom uzeli vrednost yi + ε , gde je ε = ( yi + ε ) − yi . Veoma lako se može uočiti zakonitost prostiranja omaške. x ⋮
y ⋮
∆y
xi – 4
yi – 4
⋮ ∆yi – 4
xi – 3
∆yi – 3 yi – 2
xi – 1
yi – 1
xi xi + 1 xi + 2 xi + 3 xi + 4 ⋮
yi + ε
yi + 2
∆yi – 2 ∆yi – 1 + ε
∆yi + 1
∆ yi – 3
⋮ ∆ 3 yi – 4
∆ 2 yi – 2 + ε
∆yi + 2
∆ 3 yi – 3 + ε ∆ yi – 2 – 3 ε
...
⋮
∆ yi – 4 + ε
...
∆ 4 yi – 3 – 4 ε
...
3
∆ 2 yi – 1 – 2 ε
∆ yi – 1 + 3 ε
∆ 4 yi – 2 + 6 ε
3
∆ 2 yi + ε
∆ yi – ε
∆ 4 yi – 1 – 4 ε
3
∆ yi + 1 ∆ yi + 2 ⋮ 2
∆yi + 3 ⋮
∆ 4y
4
2
yi + 3 yi + 4 ⋮
⋮ ∆ yi – 4 2
∆yi – ε yi + 1
∆ 3y
2
yi – 3
xi – 2
∆ 2y
∆ 3 yi + 1 ⋮
∆ 4 yi + ε ⋮
Na osnovu te zakonitosti ona se može otkriti i otkloniti. Posmatrajmo dijagonalnu tablicu. Iz tablice se vidi da se omaška širi „lepezasto“ i da su koeficijenti uz ε u koloni ∆k y , ustvari, binomni koeficijenti binoma (a − b) k , k = 0, 1, 2, ... Može se primetiti da se omaška ne može otkriti sabiranjem kolone ∆k y , k = 1, 2, 3, ..., jer se uticaji ε−na potiru. Meñutim, u kolonama parnih 42
razlika najveći uticaj omaške ε je upravo u onom horizontalnom redu gde je omaška učinjena. Koristeći ovu činjenicu i činjenicu da se očekuje da se razlike dovoljno visokog reda neznatno razlikuju, omaška se može otkriti, izračunati i otkloniti.
Primer 2. U sledećoj tablici vrednosti funkcije y = f (x) x 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 y 1.00000 1.05127 1.10517 1.16203 1.22140 1.28403 1.34986 1.41907 1.49182 učinjena je omaška. Otkriti i otkloniti omašku. Rešenje. Tablica konačnih razlika je x 0.0
y 1.00000
∆y
∆ 2y
∆ 3y
∆ 4y
5127 0.1
1.05127
263 5390
0.2
1.10517
33 296
5686 0.3
1.16203
251 5937
0.4
1.22140
0.5
1.28403
326
6583
1.41907
+6ε
–81
–4ε
24
+ε
18 338
6921 0.7
120
–6 320
1.34986
–4ε
75
6263
0.6
–78 –45
–2 16
354
7275 0.8 1.49182 Uočavamo „nepravilno“ ponašanje četvrtih razlika; najizrazitije odstupanje od očekivanih razlika je u redu x = 0.3 – dakle, umesto vrednosti y3 upisana je omaškom vrednost y3 + ε = 1.16203 . Sada redom nalazimo: očekivana razlika četvrtog reda (srednja vrednost) je − 78 + 120 − 81 + 24 − 2 ∆4 y = ⋅10−5 ≈ −3 ⋅10−5 ; 5 dalje imamo (izostavljajući faktor 10 −5 ): − 78 = −3 − 4ε1 , ε1 = 19 , 120 = −3 + 6ε 2 , ε 2 = 20 , − 81 = −3 − 4ε 3 , ε 3 = 20 , 24 = −3 + ε 4 , ε 4 = 27 , pa uzimamo 19 + 20 + 20 + 27 ε= ⋅10−5 = 22 ⋅10−5 , 4 tj. ispravljena vrednost je y3 = 1.16181 . ▲ 43
Kod primena tablica konačnih razlika bitno je da one budu korektne. U čemu se sastoji korektnost tablica konačnih razlika? Polazeći od činjenica da je svaku neprekidnu funkciju f (x) na odsečku [a, b] moguće aproksimirati polinomom Pn ( x) tako da na tom odsečku za ε > 0 , proizvoljno maleno i unapred zadato, važi nejednakost | f ( x) − Pn ( x) | < ε i da su konačne razlike n–tog reda polinoma Pn (x) konstantne a višeg reda od n jednake nuli možemo zaključiti da su konačne razlike neprekidne funkcije f (x) s povećanjem njihovog reda sve manje i manje. S druge strane, ako su vrednosti yi = f ( xi ) , xi ∈ [a, b] , i = 0, n , funkcije f (x) izračunati s tačnostima ε i , tj. ako je gornja granica apsolutne greške tih vrednosti jednaka max | ε i | = ε = 0≤ i ≤ n
1 ⋅10−k , onda je gornja granica apsolutnih grešaka konačnih razlika: 2 1 1 1 prvog reda ⋅10−k + ⋅10−k = 2 ⋅ ⋅10−k , 2 2 2 1 1 1 drugog reda 2 ⋅ ⋅10−k + 2 ⋅ ⋅10−k = 22 ⋅ ⋅10−k , 2 2 2 1 trećeg reda 23 ⋅ ⋅10−k , ..., 2 1 m–tog reda 2m ⋅ ⋅10−k , ... 2 Dakle, s povećanjem reda konačnih razlika uticaj početnih grešaka je sve veći i veći. Znači da su konačne razlike sve manje i manje a uticaj početnih grešaka je sve veći i veći. Ako se dogodi da je bar za neko i 1 | ∆m yi | < 2m ⋅ ⋅10−k , 2 tj. ako je bar neka izračunata konačna razlika m–tog reda manja od maksimalno moguće greške te razlike, onda su tablice konačnih razlika od razlika tog reda pa dalje nekorektne. Naravno, ne mogu se koristiti nekorektne konačne razlike. =
Primer 3. Ispitati korektnost tablice konačnih razlika funkcije f (x) zadate sledećom tablicom x 0.0 0.1 0.2 0.3 0.4 0.5 y 0.69315 0.74440 0.79814 0.85436 0.91302 0.97408 Rešenje. x 0.0
y 0.69315
∆y
∆ 2y
0.05125 0.1 44
0.74440
0.00249
∆ 3y
∆ 4y
∆ 5y
0.05374 0.2
0.79814
–0.00001 0.00248
0.05622 0.3
0.85436
0.4
0.91302
–0.00003 –0.00004
0.00244 0.5866
0.00003 0.00000
–0.00004 0.00340
0.6106 0.5 0.97408 1 1 1 1 1 granica 1 ⋅10−5 2 ⋅ ⋅10−5 22 ⋅ ⋅10−5 23 ⋅ ⋅10−5 24 ⋅ ⋅10−5 25 ⋅ ⋅10−5 greške 2 2 2 2 2 2 Očigledno, konačne razlike trećeg i višeg reda ne možemo koristiti; izračunate vrednosti su manje od maksimalno moguće akumulirane greške. ▲
5.
PRVI NJUTNOV INTERPOLACIONI POLINOM
Neka su yi = f ( xi ) zadate vrednosti funkcije y = f (x) u ekvidistantnim čvorovima interpolacije xi , i = 0, n . Treba naći interpolacioni polinom Pn (x) koji zadovoljava uslove
(1)
F ( xi ; a0 , a1 , ..., an ) ≡ Pn ( xi ) = yi , i = 0, n ,
tj. koji prolazi kroz tačke M i ( xi , yi ) , i = 0, n . Potražimo interpolacioni polinom u sledećem obliku Pn ( x) = a0 + a1 ( x − x0 ) + a2 ( x − x0 )( x − x1 ) + ⋯ + (2) + an ( x − x0 )( x − x1 )⋯ ( x − xn−1 ). Saglasno ranije rečenom redom dobijamo za x = xi , i = 0, 1, 2, ..., n: x = x0 : y0 = Pn ( x0 ) = a0 , pa je a0 = y0 ; y −y ∆y x = x1 : y1 = Pn ( x1 ) = a0 + a1 ( x1 − x0 ) , pa je a1 = 1 0 = 0 ; h 1!h ∆2 y0 x = x2 : y2 = Pn ( x2 ) = a0 + a1 ( x2 − x0 ) + a2 ( x2 − x0 )( x2 − x1 ) , a2 = ; 2!h 2 analogno dobijamo ∆3 y0 ∆4 y0 ∆i y0 ∆n y0 a3 = , a = , ..., a = , ..., a = . 4 i n 3!h3 4!h 4 i!hi n!h n Zamenom ovih vrednosti u (2) dobijamo ∆y ∆2 y0 Pn ( x) = y0 + 0 ( x − x0 ) + ( x − x0 )( x − x1 ) + ⋯ + 1!h 2!h 2 (3) ∆n y0 + ( x − x0 )( x − x1 )( x − x2 )⋯ ( x − xn−1 ), n!h n što nazivamo prvi Njutnov interpolacioni polinom za ekvidistantne čvorove. 45
Ako u (3) uvedemo smenu x − x0 (4) = u ili x = x0 + hu , h dobićemo (5) Pn ( x0 + hu ) = Pn (u ) = y0 +
∆y0 1!
u+
∆2 y0 2!
u (u − 1) + ⋯ +
∆n y0 n!
u (u − 1) ⋯ (u − n + 1) ,
što je najčešći oblik zapisivanja prvog Njutnovog interpolacionog polinoma. Ponekad se zapisuje i u obliku u u u u Pn ( x0 + hu ) = ∆0 y0 + ∆1 y0 + ∆2 y0 + ⋯ + ∆n y0 . 0 1 2 n Iz samog izvoñenja sledi da je stepen polinoma najviše n i da je polinom jedinstven. Nije teško primetiti da interpolacioni polinom Pn ( x) prelazi u Tejlorov polinom kada xi +1 − xi = h → 0 ; dakle, prvi Njutnov interpolacioni polinom (3), odnosno (5), pogodno je koristiti oko tačke x = x0 – u početku tablica: interpolaciju unapred i za ekstrapolaciju za x < x0 – ekstrapolaciju unazad. Greška prvog Njutnovog interpolacionog polinoma se dobija iz opšte formule za grešku interpolacije: (6) Rn ( x0 + hu ) = Rn (u ) =
h n+1 f ( n+1) (ξ ) x − x0 u (u − 1)⋯ (u − n) , ξ ∈ ( x0 , xn ) , u = , (n + 1)! h
ili Rn ( x0 + hu ) = Rn (u ) ≈
(6')
∆n+1 y0 u (u − 1)⋯ (u − n) . (n + 1)!
Primer 1. Konstruisati prvi Njutnov interpolacioni polinom za funkciju y = f (x) zadatu sledećom tablicom x y
0 2.00000
1 2.08008
2 2.15443
3 2.22398
4 2.28943
Izračunati približnu vrednost f (0.5) . Proceniti grešku f ( x) − P3 ( x) . Rešenje. Tablica konačnih razlika je x 0
y 2.00000
1
2.08008
∆y
∆ 2y
∆ 3y
∆ 4y
8008 –573 7435 2
2.15443
3
2.22398
4
2.28943
93 –480
6955
46
70 –410
6545
–23
Interpolacioni polinom je 0.08008 0.00093 − 0.00573 P4 (u ) = 2.00000 + u+ u (u − 1) + u (u − 1)(u − 2) + 1! 2! 3! − 0.00023 + u (u − 1)(u − 2)(u − 3), 4! x−0 gde je u = = x. 1 Približna vrednost je f (0.5) ≈ P4 (0.5) = 2.04082 . Greška je | ∆4 y0 | | R3 ( x) | = | f ( x) − P3 ( x) | ≈ | x( x − 1)( x − 2)( x − 3) | = 4! 0.00023 = | x( x − 1)( x − 2)( x − 3) | . ▲ 4!
6.
DRUGI NJUTNOV INTERPOLACIONI POLINOM
Neka su yi = f ( xi ) zadate vrednosti funkcije y = f (x) u ekvidistantnim čvorovima interpolacije xi , i = 0, n . Treba naći interpolacioni polinom Pn (x) koji zadovoljava uslove (1) F ( xi ; a0 , a1 , ..., an ) ≡ Pn ( xi ) = yi , i = 0, n ,
tj. koji prolazi kroz tačke M i ( xi , yi ) , i = 0, n . Potražimo interpolacioni polinom u sledećem obliku Pn ( x) = a0 + a1 ( x − xn ) + a2 ( x − xn )( x − xn −1 ) + ⋯ + (2) + an ( x − xn )( x − xn −1 )⋯ ( x − x1 ). Analogno izvoñenju prvog Njutnovog interpolacionog polinoma dobijamo redom za x = xi , i = n, n – 1, ..., 1, 0: x = xn : yn = Pn ( xn ) = a0 , pa je a0 = yn ; y − yn−1 ∆yn−1 ; x = xn−1 : yn−1 = Pn ( xn−1 ) = a0 + a1 ( xn−1 − xn ) , pa je a1 = n = h 1!h dalje dobijamo ∆2 yn − 2 ∆3 yn−3 ∆i yn−i ∆n y0 a2 = , , ..., , ..., . a = a = a = 3 i n 3!h3 i!hi n!h n 2!h 2 Zamenom ovih vrednosti u (2) dobijamo ∆y ∆2 y n − 2 Pn ( x) = y n + n −1 ( x − xn ) + ( x − xn )( x − xn −1 ) + ⋯ + 1!h 2!h 2 (3) ∆n y0 + ( x − xn )( x − xn −1 )⋯ ( x − x1 ), n!h n što nazivamo drugi Njutnov interpolacioni polinom za ekvidistantne čvorove. 47
Ako u (3) uvedemo smenu x − xn (4) = v ili x = xn + hv h dobićemo (5) Pn ( x0 + hu ) = Pn (v) = yn +
∆yn−1 1!
v+
∆2 yn− 2 2!
v (v + 1) + ⋯ +
∆n y0 n!
v (v + 1) ⋯ (v + n − 1)
što je najčešći oblik zapisivanja drugog Njutnovog interpolacionog polinoma. Iz samog izvoñenja sledi da je stepen polinoma najviše jednak n i da je polinom jedinstven. Greška drugog Njutnovog interpolacionog polinoma se dobija iz opšte formule za grešku interpolacije: (6)
Rn ( x0 + hv ) = Rn (v ) =
h n+1 f ( n+1) (ξ ) ( n + 1)!
v (v + 1) ⋯ (v + n) , ξ ∈ ( x0 , xn ) , v =
x − xn h
,
ili (6')
Rn ( x0 + hv) = Rn (v) ≈
∆n+1 y0 v(v + 1)⋯ (v + n) . (n + 1)!
Primer 1. Konstruisati drugi Njutnov interpolacioni polinom za funkciju y = f (x) zadatu sledećom tablicom x 0.0 0.5 1.0 1.5 2.0 y 3.00000 4.25000 6.00000 8.25000 11.00000 Rešenje. Tablica konačnih razlika je x 0.0
y 3.00000
∆y
∆ 2y
∆ 3y
1.25000 0.5
4.25000
0.50000 1.75000
1.0
6.00000
1.5
8.25000
0 0.50000
2.25000
0 0.50000
2.75000 2.0 11.00000 Interpolacioni polinom je 2.75000 0.50000 x − 2.0 P2 (v) = 11.00000 + v+ v(v + 1) , v = = 2 x − 4.0 , 1! 2! 0.5 ili, posle sreñivanja, P2 ( x) = 1.00000 x 2 + 2.00000 x + 3.00000 . ▲ Drugi Njutnov interpolacioni polinom se koristi za interpolaciju na kraju tablica – interpolaciju unazad i za ekstrapolaciju za x > xn – ekstrapolaciju unapred. 48
Uporeñivanjem Njutnovih interpolacionih polinoma i Lagranževog interpolacionog polinoma može se zaključiti sledeće. Lagranžev interpolacioni polinom se sastoji od sabiraka koji su, posebno posmatrani, polinomi n–tog stepena, pa samim tim su ravnopravni. Prema tome, ne može se unapred odbaciti neki od njih. U Njutnove interpolacione formule ulaze polinomi sve viših stepena pri čemu su koeficijenti uz njih konačne razlike (koje se u praksi najčešće brzo smanjuju) podeljene faktorijelima. Zbog toga se mogu odbaciti oni sabirci čiji su koeficijenti sasvim mali. Koristeći se ovim često se mogu računati meñuvrednosti funkcije pomoću jednostavnijih i „kraćih“ interpolacionih formula. Osim toga, ako se poveća broj čvorova interpolacije, onda se kod Njutnovih interpolacionih formula dodaje jedan sabirak ili više sabiraka a prethodno izračunati se ne menjaju. Kod Lagranževe interpolacione formule to nije slučaj; ako se poveća broj čvorova interpolacije, onda ceo posao treba ponovo uraditi. Napomenimo, na kraju, da su ovde izvedene Njutnove interpolacione formule za ekvidistantne čvorove a Lagranževa za neekvidistantne čvorove. Moguće je izvesti Njutnove interpolacione formule za neekvidistantne čvorove a Lagranževu za ekvidistantne čvorove. Meñutim, uočene prednosti i nedostaci se ne menjaju.
7.
TABLICA CENTRALNIH RAZLIKA
Njutnove interpolacione formule koriste, kao što smo videli, tablične vrednosti funkcije koje se nalaze samo s jedne strane izabrane vrednosti funkcije: prva Njutnova interpolaciona formula koristi vrednosti na početku tablice: y0 , y1 , y2 , ... , a druga na kraju tablice: yn , yn−1 , yn−2 , ... Dakle, one su na neki način „jednostrane“ i to predstavlja njihov nedostatak. U mnogim slučajevima pokazuju se korisnijim interpolacione formule koje koriste vrednosti funkcije s obe strane izabrane početne vrednosti funkcije. Najčešće se koriste konačne razlike iz tablice konačnih razlika koje se nalaze u vrsti u kojoj se nalazi izabrana početna, nulta vrednost funkcije i konačne razlike iznad ili ispod te vrste ili i iznad i ispod te vrste. Radi izvoñenja odgovarajućih interpolacionih formula napravićemo tzv. tablicu centralnih razlika. Neka je funkcija y = f (x) zadata svojim vrednostima yi = f ( xi ) u jednako razmaknutim čvorovima xi = x0 + ih , i = 0, ±1, ±2,..., ±n, korak h je konstantan, različit od nule. Konačne razlike (v. tablicu): ∆y−1 , ∆y0 , ∆2 y−1 , ∆3 y−2 , ∆3 y−1 , ∆4 y−2 ,... su centralne razlike.
49
x ⋮ x–4
y ⋮ y–4
x–3
y–3
∆y ⋮ ∆y–4
∆y–3 x–2
y–2 ∆y–2
x–1
y–1
x0
y0
∆y– 1 ∆y0
x1
y1
x2
y2
x4 ⋮
∆y1
⋮ ∆ y–4 3
∆2y–3
∆ y–3
∆y3 ⋮
∆ 4y
⋮ ∆4y–4
∆2y–2 ∆2y– 1
∆3y–2 ∆ y–1
∆4y–3 ∆4y–2
3
∆ y0 ∆2y1 ∆ y2 ⋮
∆ 5y
⋮ ∆ y–4 5
3
2
y3 y4 ⋮
⋮ ∆2y–4
∆ 3y
2
∆y2 x3
∆ 2y
∆5y–3 ∆ y–2
∆3y1 ⋮
...
⋮ ∆6y–4
∆6y–3
5
∆ y–1 4
∆3y0
∆ 6y
∆4y0 ⋮
∆5y–1 ⋮
∆6y–2 ⋮
...
Odgovarajuće interpolacione formule se zovu interpolacione formule sa centralnim razlikama. Najčešće se koriste: Gausove interpolacione formule, Stirlingova i Beselova interpolaciona formula.
8.
GAUSOVE INTERPOLACIONE FORMULE
Neka je funkcija y = f (x) zadata svojim vrednostima yi = f ( xi ) u jednako razmaknutim čvorovima xi = x0 + ih , i = 0, ±1, ±2, ..., ±n, korak h je konstantan, različit od nule. Treba konstruisati interpolacioni polinom P (x) , stepena ≤ 2n, takav da bude (1)
P ( xi ) = yi , i = 0, ± 1, ± 2, ..., ± n .
Potražimo interpolacioni polinom u sledećem obliku P ( x) = a0 + a1 ( x − x0 ) + a2 ( x − x0 )( x − x1 ) + + a3 ( x − x−1 )( x − x0 )( x − x1 ) +
(2)
+ a4 ( x − x−1 )( x − x0 )( x − x1 )( x − x2 ) + ⋯ + + a2 n −1 ( x − x− n +1 )⋯( x − x−1 )( x − x0 )( x − x1 )⋯( x − xn −1 ) + + a2 n ( x − x− n +1 )⋯( x − x−1 )( x − x0 )( x − x1 )⋯( x − xn −1 )( x − xn ).
50
Koeficijente ai , i = 0, 2n , odreñujemo na uobičajeni način, dakle, iz uslova (1). Na taj način dobijamo a0 = y0 , a1 =
∆y0 ∆2 y−1 ∆3 y−1 ∆4 y−2 , a2 = , , , ..., a = a = 3 4 1!h 2!h 2 3!h3 4!h 4
a2 n−1 =
∆2 n−1 y−n+1 ∆2 n y−n , . a = 2n ( 2n − 1)!h 2 n−1 (2n)!h 2 n
Ako uvedemo novu promenljivu smenom x − x0 =u, h dobićemo
∆y0 ∆2 y −1 ∆3 y −1 u+ u (u − 1) + u (u 2 − 12 ) + 1! 2! 3! ∆4 y − 2 ∆5 y − 2 + u (u 2 − 12 )(u − 2) + u (u 2 − 12 )(u 2 − 2 2 ) + ⋯ + 4! 5! (G1) ∆2 n −1 y − n +1 2 2 2 2 2 2 + u (u − 1 )(u − 2 ) ⋯[u − ( n − 1) ] + (2n − 1)!
P( x0 + hu ) = y0 +
(3)
+
∆2 n y − n u (u 2 − 12 )(u 2 − 2 2 ) ⋯[u 2 − (n − 1) 2 ](u − n), (2n)!
što predstavlja prvu Gausovu interpolacionu formulu ili Gausovu interpolacionu formulu za interpolaciju unapred. Primetimo da ona sadrži centralne razlike ∆2y–1
x0 y0
∆y0
∆4y–2
∆3y–1
∆6y–3
∆5y–2
...
Ako potražimo interpolacionu formulu u sledećem obliku P( x) = a0 + a1 ( x − x0 ) + a2 ( x − x−1 )( x − x0 ) + + a3 ( x − x−1 )( x − x0 )( x − x1 ) + (4)
+ a4 ( x − x− 2 )( x − x−1 )( x − x0 )( x − x1 ) + ⋯ + + a2 n −1 ( x − x− n +1 ) ⋯ ( x − x−1 )( x − x0 )( x − x1 ) ⋯ ( x − xn −1 ) + + a2 n ( x − x− n ) ⋯ ( x − x−1 )( x − x0 )( x − x1 ) ⋯ ( x − xn −1 ),
na analogan način, koristeći uslov (1), dobijamo drugu Gausovu interpolacionu formulu ili Gausovu interpolacionu formulu za interpolaciju unazad 51
∆y −1 ∆2 y −1 ∆3 y − 2 u+ (u + 1)u + u (u 2 − 12 ) + 1! 2! 3! ∆5 y −3 ∆4 y − 2 + (u + 2)u (u 2 − 12 ) + u (u 2 − 12 )(u 2 − 2 2 ) + ⋯ + 4! 5! (G2) ∆2 n −1 y − n 2 2 2 2 2 2 + u (u − 1 )(u − 1 ) ⋯[u − ( n − 1) ] + (2n − 1)!
P( x0 + hu ) = y0 +
(5)
+
∆2 n y − n (u + n)u (u 2 − 12 )(u 2 − 2 2 ) ⋯[u 2 − ( n − 1) 2 ], (2n)!
x − x0 . h Primetimo da ona sadrži centralne razlike ... ∆y–1 ∆3y–2 ∆5y–3 ∆2y–1 ∆4y–2 ∆6y–3 x0 y0
u=
Primer 1. Funkcija y = f ( x) je zadata tablicom x 0.50 0.51 0.52 0.53 0.54 0.55 0.56 f (x) 0.778801 0.770974 0.763074 0.755104 0.747067 0.738968 0.730811 Izračunati f (0.532) . Rešenje. Sastavimo tablicu konačnih, centralnih razlika. x 0.50
y 0.778801
0.51
0.770974
0.52
0.763074
0.53
0.755104
0.54
0.747067
0.55
0.738968
0.56
0.730811
∆y
∆ 2y
∆ 3y
–7827 –73 –7900
3 –70
–7970
3 –67
–8037
5 –62
–8099
4 –58
–8157 Kako je x = 0.532 najbliže vrednosti 0.53, to uzimamo da je x 0 = 0.53, pa je u=
52
x − x0 0.532 − 0.53 = = 0. 2 . h 0.01
Na osnovu formule G1 (u tablici podvučene vrednosti) nalazimo − 0.008037 ⋅ 0. 2 + 1! − 0.000067 − 0.000005 + ⋅ 0.2 ⋅ (0.2 − 1) + ⋅ 0.2 ⋅ (0.2 2 − 12 ) = 2! 3! = 0.755104 − 0.001607 + 0.000005 − 0.00000 = 0.753502.
f (0.532) ≈ P (0.532) = 0.755107 +
Na osnovu formule G2 (u tablici isprekidano podvučene vrednosti) nalazimo − 0.007970 f (0.532) ≈ P (0.532) = 0.755107 + ⋅ 0. 2 + 1! − 0.000067 − 0.000003 + ⋅ 0.2 ⋅ (0.2 + 1) + ⋅ 0.2 ⋅ (0.2 2 − 12 ) = 2! 3! = 0.755104 − 0.001594 − 0.000008 − 0.00000 = 0.753502. ▲ U sledećoj tabeli centralnih razlika naznačene su vrednosti koje se koriste u Gausovim interpolacionim formulama: G1, G2 i G3. x ⋮ x–4
y ⋮ y–4
x–3
y–3
x–2
y–2
x–1
y–1
x0
y0
x1
y1
∆y ∆y–4 ∆y–3 ∆y–2
y2
x3
y3
x4
y4
x5 ⋮
y5 ⋮
∆2y–4 ∆2y–3
∆ 3y
∆3y–4 ∆ y–3
∆y– 1
∆ y–2 ∆ y– 1
∆3y–2
∆2y0 ∆ y1
∆y3
∆2y2 ∆ y3
∆ y–3
∆5y–4
∆ y–2
∆5y–3
4
∆3y–1 ∆3y0
2
∆y2
∆4y–4
∆ 5y
4
2
∆y1
∆ 4y
3
2
∆y0
x2
∆ 2y
∆4y–1 ∆ y0
∆5y–2 ∆5y–1
4
∆3y1 ∆3y2
∆4y1
∆ 6y
∆6y–4 G2 ∆6y–3 G1 ∆6y–2 G3 ∆ y–1 6
∆5y–0
2
∆y4
Radi izvoñenja Beselove interpolacione formule biće nam potrebna i Gausova interpolaciona formula za interpolaciju unazad ali kada se uzmu početne vrednosti x = x1 i y = y1 , odnosno kada se koriste centralne razlike 53
∆3y–1
∆y0
x1 y1
∆2y0
∆5y–2
∆4y–1
...
∆6y–2
Dakle, treća Gausova interpolaciona formula je ∆2 y0 ∆3 y −1 + u (u − 1)(u − 2) + 2! 3! ∆4 y −1 ∆5 y − 2 + u (u 2 − 1)(u − 2) + u (u 2 − 1)(u − 2)(u − 3) +⋯ 4! 5!
y = y1 + (u − 1)∆y0 + u (u − 1)
(6)
(G3)
Napomena. Maksimalno moguća greška konačnih razlika trećeg reda je 1 23 ⋅ ⋅ 10 −6 = 4 ⋅ 10 −6 , pa razlike trećeg reda manje od maksimalno moguće 2 greške nije korektno koristiti. U prethodnom primeru poslednji sabirci su jednaki –0.000000 i nisu uticali na izračunatu vrednost!
9.
STIRLINGOVA INTERPOLACIONA FORMULA
Ako uzmemo aritmetičku sredinu prve i druge Gausove interpolacione formule (G1 i G2), dobićemo Stirlingovu interpolacionu formulu ∆y−1 + ∆y0 u 2 2 u (u 2 − 12 ) ∆ 3 y−2 + ∆ 3 y−1 + ∆ y−1 + ⋅ + 2 2 3! 2 u 2 (u 2 − 12 ) 4 u (u 2 − 12 )(u 2 − 22 ) ∆ 5 y−3 + ∆ 5 y−2 + ∆ y−2 + ⋅ + 4! 5! 2 u 2 (u 2 − 12 )(u 2 − 22 ) 6 + ∆ y−3 + ⋯ + 6! u (u 2 − 12 )(u 2 − 22 )(u 2 − 32 )⋯[u 2 − (n − 1) 2 ] + ⋅ (2n − 1)!
P (u ) = y0 + u
(1)
⋅
∆ 2 n −1 y− n + ∆ 2 n −1 y− ( n −1)
+ 2 u (u 2 − 12 )(u 2 − 22 )(u 2 − 32 )⋯[u 2 − (n − 1) 2 ] 2 n + ∆ y− n , (2n)!
gde je u =
x − x0 . h
Stirlingova formula koristi razlike u tablici u redu u kojem se nalaze x0 i redu iznad i redu ispod njega. 54
x ⋮ x–4
y ⋮ y–4
x–3
y–3
x–2
y–2
x–1
y–1
x0
y0
x1
y1
x2
y2
x3
y3
x4
y4
x5 ⋮
y5 ⋮
∆y ∆y–4 ∆y–3
∆ 2y
∆2y–4 ∆ y–3
∆ 3y
∆3y–4
2
∆y–2
∆ y–2
∆3y–3
2
∆ y– 1 ∆ y0
∆4y–4 ∆ y–3
∆ y–2 3
∆ 2 y– 1
∆ y–1
∆4y–2
∆y3 ∆y4
∆2y2
∆ y–2
∆ y–1 4
∆ y0 3
∆ y1
∆ y–3
∆6y–4 ∆6y–3
5
∆ y0 ∆4y1
∆ y2
∆7y–4 ∆ y–3
∆ y–2 6
∆ y–1
4
∆3y1
∆ 7y
∆ 8y
∆8y–4
7
5
2
∆y2
∆5y–4
∆ 6y
5
3
∆ y0
∆ 5y
4
2
∆y1
∆ 4y
∆ y–2
∆8y–3
7
∆ y–1 6
∆5y–0
3
∆2y3
Greška Stirlingove interpolacione formule je: Rn =
h 2 n +1 f ( 2 n +1) (ξ ) u (u 2 − 1)(u 2 − 2 2 )(u 2 − 32 ) ⋯ (u 2 − n 2 ) , ξ ∈ [ x− n , xn ] , ( 2n + 1)!
Rn =
∆2 n +1 y − n −1 + ∆2 n +1 y − n u (u 2 − 1)(u 2 − 2 2 )(u 2 − 32 ) ⋯ (u 2 − n 2 ) . 2(2n + 1)!
Primer 1. Data je tablica vrednosti integrala verovatnoće (v. tablicu) x 2 2 f ( x) = e −t dt π 0 za ekvidistantne vrednosti x. Izračunati vrednost integrala za x = 0.5437. Rešenje. Tablica konačnih razlika je
∫
f (x) x 0.51 0.5292437
∆f (x)
∆2 f ( x)
∆3 f ( x)
∆4 f ( x)
86550 0.52 0.5378987
–896 85654
0.53 0.5464641
–7 –903
84751
0 –7 55
0.54 0.5549392
–910 83841
0.55 0.5633233
0 –7
–917 82924
0.56 0.5716157
1 –6
–923 82001
0.57 0.5798158 Razlike ∆4 f ( x) ne mogu se koristiti – razlike su manje od akumulirane greške zaokrugljivanja. x − x0 0.5437 − 0.54 0.0037 Ovde je u = = = = 0.37 . h 0.01 0.01 Primenom Stirlingove interpolacione formule (1) nalazimo (84751 + 83841) ⋅ 10−7 + 2 (0.37) 2 0.37 ⋅ (0.37 2 − 1) (−7 − 7) + (−910) ⋅ 10−7 + ⋅ 10−7 = 2 2 6 = 0.5549392 + 0.00311895 − 0.00000623 + 0.00000004 = = 0.5580520.
f (0.5437) = 0.5549392 + 0.37 ⋅
Može se pokazati da su sve cifre sigurne. ▲
10. BESELOVA INTERPOLACIONA FORMULA Beselova interpolaciona formula se dobija pomoću druge Gausove interpolacione formule. Neka je funkcija y = f (x) zadata svojim vrednostima yi = f ( xi ) u 2n + 2 jednako razmaknuta čvora: x− n , x− n +1 , ..., x−1 , x0 , x1 , ..., xn −1 , xn , xn +1 . Uzmimo za početne vrednosti x0 i y0 i iskoristimo čvorove: x− n , x− n +1 , ..., x−1 , x0 , x1 , ..., xn −1 , xn , i napišimo drugu Gausovu interpolacionu formulu (G2) ∆y−1 ∆ 2 y−1 ∆ 3 y−2 + (u + 1)u + u (u 2 − 12 ) + 1! 2! 3! 2 n −1 ∆ y− n ∆ 4 y−2 + (u + 2)u (u 2 − 12 ) + ⋯ + u (u 2 − 12 )(u 2 − 22 )⋯ 4! (2n − 1)! ∆ 2 n y− n 2 2 [u − (n − 1) ] + (u + n)u (u 2 − 12 )(u 2 − 22 )⋯[u 2 − (n − 1) 2 ]. (2n)!
P (u ) = y0 + (1)
Uzmimo sada za početne vrednosti x1 i y1 i iskoristimo čvorove: x− n +1 , ..., x−1 , x0 , x1 , ..., xn , xn +1 . Tada je
56
x − x1 x − x0 + x0 − x1 = = u −1 , h h i pri tome odgovarajući indeksi svih konačnih razlika u formuli (1) se povećavaju za 1. Dakle, ako u formuli (1) zamenimo u sa u – 1, a indekse svih konačnih razlika povećamo za 1, dobićemo treću Gausovu interpolacionu formulu (G3) ∆y ∆2 y0 ∆3 y −1 P (u ) = y1 + 0 (u − 1) + u (u − 1) + u (u − 1)(u − 2) + 1! 2! 3! ∆2 n −1 y − n +1 ∆4 y −1 (2) + u (u 2 − 1)(u − 2) + ⋯ + u (u 2 − 12 ) ⋯[u 2 − ( n − 2) 2 ] ⋅ 4! (2n − 1)! ⋅ (u − n + 1)(u − n) +
∆2 n y − n +1 u (u 2 − 12 ) ⋯[u 2 − (n − 1) 2 ](u − n). (2n)!
Ako uzmemo aritmetičku sredinu formule (2) i formule ∆y0 ∆2 y −1 ∆3 y −1 ∆4 y − 2 u+ u (u − 1) + u (u 2 − 12 ) + u (u 2 − 12 )(u − 2) + 1! 2! 3! 4! ∆2 n −1 y − n +1 +⋯+ u (u 2 − 12 )(u 2 − 2 2 ) ⋅ [u 2 − (n − 1) 2 ] + ( 2n − 1)!
P(u ) = y0 +
∆2 n y − n + u (u 2 − 12 )(u 2 − 2 2 ) ⋯[u 2 − (n − 1) 2 ](u − n), (2n)!
dakle, ako uzmemo aritmetičku sredinu Gausovih interpolacionih formula G3 i G1, dobićemo Beselovu interpolacionu formulu y0 + y1 u (u − 1) ∆ 2 y−1 + ∆ 2 y0 u (u − 12 )(u − 1) 3 + (u − 12 )∆y0 + + ∆ y−1 + 2 2! 2 3! 2 u (u 2 − 1)(u − 2) ∆ 4 y−2 + ∆ 4 y−1 u (u − 12 )(u − 1)(u − 2) 5 + + ∆ y−2 + 4! 2 5! u (u 2 − 1)(u 2 − 4)(u − 3) ∆ 6 y−3 + ∆ 6 y−2 + +⋯ + 6! 2 u (u 2 − 1)(u 2 − 4)⋯ (u − n)(u + n − 1) ∆ 2 n y− n + ∆ 2 n y− n +1 + + (2n)! 2 u (u − 12 )(u 2 − 1)(u 2 − 4)⋯ (u − n)(u + n − 1) 2 n +1 y− n . + ∆ (2n + 1)!
P (u ) =
1 je jednostavna 2 2 2 3 ∆ 4 y−2 + ∆ 4 y−1 x + x y + y 1 ∆ y−1 + ∆ y0 P 0 1 = 0 1 − + − 2 8 2 128 2 2
Beselova interpolaciona formula za u =
57
−
5 ∆ 6 y−3 + ∆ 6 y−2 [1 ⋅ 3 ⋅ 5⋯ (2n − 1)]2 ∆ 2 n y− n + ∆ 2 n y− n +1 . + ⋯ + (−1) n 1024 2 2 22 n (2n)!
i koristi se za interpolaciju u središtu intervala ( x0 , x1 ) . x ⋮ x–4
y ⋮ y–4
x–3
y–3
x–2 x–1 x0 x1 x2 x3
y–2 y–1 y0 ––– y1 y2 y3
x4
y4
x5 ⋮
y5 ⋮
∆y ∆y–4 ∆y–3
∆ 2y
∆2y–4 ∆ y–3
∆ 3y
∆3y–4
2
∆y–2
∆ y–2
∆3y–3
2
∆y– 1 ∆ y0 ∆y1
∆y4
∆ y–3
∆ y–2 3
∆ 2 y– 1 ––– ∆ 2 y0 ∆ y1
∆ y–1 3
∆3y0
∆ y2
∆5y–4 ∆ y–3 5
∆4y–2 ––– ∆4y–1 ∆ y0
∆ y–2 5
∆5y–1
4
∆3y1
2
∆y3
∆4y–4
∆ 5y
4
2
∆y2
∆ 4y
∆ y1
∆5y–0
∆ 6y
∆6y–4
∆ 7y
∆ 8y
∆7y–4
∆6y–3 ∆8y–4 7 – – – ∆ y–3 – – – ∆6y–2 ∆8y–3 7 ∆ y–2 6 ∆ y–1
4
∆ y2 3
∆2y3
Iz načina izvoñenja zaključuje se da Beselova interpolaciona formula predstavlja interpolacioni polinom koji se poklapa s funkcijom f (x) u 2n + 2 tačke. Greška Beselove interpolacione formule je Rn =
h 2 n + 2 f ( 2 n + 2) (ξ ) u (u − 1)(u + 1)(u − 2)⋯ (u − n)(u + n)(u − n − 1), ξ ∈ ( x− n , xn +1 ) (2n + 2)!
ili Rn =
∆2 n +1 y − n −1 + ∆2 n +1 y − n u (u − 1)(u + 1)(u − 2) ⋯ (u − n)(u + n)(u − n − 1) . 2(2n + 1)!
Praktično uputstvo je: za | u | ≤ 0.25 koristi se Stirlingova a za 0.25 ≤ u ≤ 0.75 Beselova interpolaciona formula.
58
Primer 1. Data je tablica vrednosti funkcije y = f (x) (v. tablicu). Izračunati f (1.7489) . Rešenje. Tablica konačnih razlika je x e−x 1.72 0.1790661479
∆2
∆
∆3
∆4
–17817379 1.73 0.1772844100
177285 –17640094
1.74 0.1755204006
–1762 175523
–17464571 1.75 0.1737739435
+13 –1749
173774 –17290797
1.76 0.1720448638
+22 –1727
172047 –17118750
1.77 0.1703329988
+15 –1712
170335 –16948415
1.78 0.1686381473 1 1.7489 − 1.74 = 0.89 i u − = 0.39 , pa je 0.01 2 0.1755204006 + 0.1737739435 f (1.7489) = + 0.39( −17464571) ⋅ 10−10 + 2 0.392 − 0.25 175523 + 173774 −10 0.392 − 0.25 + ⋅ 10 + 0.39 ⋅ 2 2 6 Ovde je u =
(0.392 − 0.25)(0.392 − 2.25) 13 + 22 −10 2 ⋅ 10 = 24 = 0.17464717205 − 0.00068111827 − 0.00000085490 + + 0.00000000111 + 0.00000000001; f (1.7489) = 0.1739652000 . ▲ ⋅ (−1749) ⋅ 10−10 +
Primer 2. U sledećoj tabeli date su vrednosti eliptičkog integrala Φ
F (Φ ) =
∫
0
dΦ
1 − 12 sin 2 Φ
za ekvidistantne vrednosti Φ . Izračunati F (23.5°) . (v. tablicu) Φ 21°
F (Φ ) 0.370634373
22°
0.388705151
∆F
∆2F
∆3F
∆4F
17070778 59002 18129780
2707
59
23°
0.406834931
24°
0.425026420
61709
4
18191489
2711 64420
–7
18255909 25°
0.443282329
2704 67124
18323033 26°
0.461605362
Vrednost 23.5° se nalazi u središtu intervala (23°, 24°), tj. u =
x0 + x1 = 2
23° + 24° = 23.5° , pa primenom odgovarajuće Beselove interpolacione 2 formule nalazimo 0.406834931 + 0.425026420 1 0.000061709 + 0.000064420 F ( 23.5°) = − ⋅ + 2 8 2 3 0.000000004 − 0.000000007 + ⋅ = 0.4159306755 − 0.0000078831 = 128 2 =
= 0.415922792.
>
11. INVERZNA INTERPOLACIJA Neka je funkcija y = f ( x) zadata tablično x y
x0
x1
x2
y0
y1
y2
... ...
xn yn
Postupak nalaženja argumenta x koji odgovara zadatoj vrednosti y funkcije y = f ( x) , koja nije data u tablici, naziva se inverzna ili obratna interpolacija. Postoji više načina za rešavanje ovog zadatka. Neka su čvorovi interpolacije ekvidistantni: xi = x0 + ih , i = 0, n , h je različito od nule i konstantno. Pretpostavimo da je funkcija y = f ( x) monotona i da se zadata vrednost y* nalazi izmeñu y0 i y1 . Zamenjujući y* u prvom Njutnovom interpolacionom polinomu dobija se y* = y0 +
∆y0 ∆2 y0 ∆n y0 u+ u (u − 1) + ⋯ + u (u − 1) ⋯ (u − n + 1) 1! 2! n!
odakle je (1)
60
u=
y * − y0 ∆n y0 1 ∆2 y0 − u(u − 1) + … + u(u − 1)… (u − n + 1) ∆y0 ∆y0 2! n!
( ∆y0 ≠ 0 zbog monotonosti funkcije y = f ( x) ), što možemo zapisati na sledeći način (2) u = F (u ) , gde je F (u ) =
y * − y0 ∆n y0 1 ∆2 y0 − u ( u − 1 ) + … + u(u − 1)… (u − n + 1) . ∆y0 ∆y0 2! n!
Sada se formira niz uzastopnih aproksimacija (iteracija): u ( 0) , u (1) , u ( 2) , ... u ( m ) , ... uzimajući za prvu, početnu aproksimaciju u (0) =
y * − y0 ∆y0
i primenjujući metodu iteracije (3)
u ( m +1) = F (u ( m ) ) , m = 0, 1, 2, …
Ako je F ( x) ∈ C ( n +1) [a, b] , h dovoljno malo i [a, b] sadrži sve čvorove interpolacije, onda iterativni proces (3) konvergira, tj. postoji lim u ( m ) = u ,
m →∞
gde je u tražena vrednost, odnosno x = x0 + hu . (O metodi iteracije i uslovu konvergencije detaljnije će biti reči u IV delu.) Praktično se iterativni postupak produžava sve dok se ne poklope dve uzastopne aproksimacije na potreban broj dekadnih znakova, tj. dok se u granicama zadate tačnosti ne postigne da je u ( k ) = u ( k −1) ;
tada se stavi da je u ≈ u ( k ) ili x* = x0 + hu ( k ) .
Ako se zadata vrednost y* nalazi pri kraju tablice, onda se na potpuno analogan način dobija odgovarajuće x* korišćenjem drugog Njutnovog interpolacionog polinoma. Ako se zadata vrednost y* nalazi u sredini tablice, onda se na potpuno analogan način dobija odgovarajuće x* korišćenjem tzv. interpolacionih formula sa centralnim razlikama: Gausovih, Stirlingove, Beselove, ... Zadatak inverzne interpolacije u slučaju neekvidistantnih vrednosti argumenta: x0 , x1 , ..., xn se može rešiti primenom Langraževe interpolacione formule. Za to je dovoljno uzeti y za nezavisnu promenljivu a x posmatrati kao funkciju od y, tj. x = g ( y ) . Naravno, potrebno je pretpostaviti postojanje inverzne funkcije. Dakle, zadatak inverzne interpolacije rešavamo primenom formule 61
Π n +1 ( y ) ⋅ xi , i = 0 ( y − yi ) Π ′n +1 ( yi ) n
x=∑
(4) gde je
Π n +1 ( y ) = ( y − y0 ) ( y − y1 )⋯ ( y − yn ) .
Primer 1. U sledećoj tablici date su vrednosti funkcije f ( x) x 1.0 1.2 1.4 1.6 1.8 y 0.36788 0.30119 0.24660 0.20190 0.16530 Naći onu vrednost x za koju je f ( x) = 0.31664 . Rešenje. Čvorovi su jednako razmaknuti, funkcija je monotono opadajuća i y0 = 0.36788 , y* = 0.31664, y1 = 0.30119 . Sastavimo tablicu konačnih razlika. Koristićemo prvi Njutnov interpolacioni polinom. x 1.0
y 0.36788
1.2
0.30119
∆2y
∆y
∆3y
∆4y
–6669 1210 –5459 1.4
–221
0.24660
989
42
–4470 1.6
0.20190
1.8
0.16530
–179 810
–3660 Redom računamo: 0.31664 − 0.36788 u (0) = = 0.76833 , x ( 0) = x0 + hu ( 0) = 1.15367 ; − 0.06669 0.01210 1 − 0.00221 u (1) = 0.76833 − ⋅ ⋅ 0.76833 ⋅ (0.76833 − 1) + ⋅ − 0.06669 2! 3! ⋅ 0.76883 ⋅ (0.76833 − 1)(0.76833 − 2) +
0.00042 ⋅ 0.76833 ⋅ (0.76833 − 1) ⋅ 4!
⋅ (0.76833 − 2)(0.76833 − 3)] = 0.75084, Na kraju se dobija: x* = 1.15. ▲
x (1) = x0 + hu (1) = 1.15017, itd.
Primer 2. U tabeli date su vrednosti integrala verovatnoće x
∫
Φ( x) = (2 / π ) e − x dx 2
0
(v. tabelu). Za koje x je Φ( x) = 0.5 ? Rešenje. Ovde je bolje primeniti interpolacionu formulu sa centralnim razlikama. 62
x 0.45
y 0.4754818
0.46
0.4846555
∆2y
∆y
∆3y
∆4y
91737 –840 90897 0.47
–11
0.4937452
–851 90046
0.48
0.5027498
0.49
0.5116683
0.50
0.5204999
1 –10
–861 89185
2 –8
–869 88316
Tražena vrednost x* se nalazi izmeñu 0.47 i 0.48. (Ako bismo primenili linearnu interpolaciju, dobili bismo x* ≈ 0.476946 .) Primenićemo Beselovu interpolacionu formulu y=
y0 + y1 u(u − 1) ∆2 y −1 + ∆2 y0 u(u − 12 )(u − 1) 3 + (u − 12 )∆y0 + + ∆ y −1 , 2 2! 2 3!
gde je u =
x − 0.47 1 a y = 0.5. Ako stavimo u − = v , imaćemo 0.01 2 0.5 = 0.4982475 + 0.0090046v + +
(v 2 − 0.25) (−0.0000856) + 2
v(v 2 − 0.25) (−0.0000010), 6
odnosno v = 0.194623 − (v 2 − 0.25)(−0.004753) − v(v 2 − 0.25)( −0.0000185) .
Neka je v ( 0 ) = 0.194623 . Tada je v (1) = 0.194623 − [(0.194623) 2 − 0.25]( −0.004753) −
− 0.194623[(0.194623) 2 − 0.25](−0.0000185) = 0.194623 − 0.001008 − 0.000001 = 0.193614.
Na isti način dobijamo v ( 2) = 0.194623 − 0.0010101 − 0.000001 = 0.193612 .
Kako je v ( 2) = v (1) , to je v = 0.693612 i x* = 0.47 + 0.01 · 0.693612 = 0.4769361. ▲ Inverzna interpolacija se može primeniti za rešavanje jednačine f ( x) = 0 . Za to je dovoljno sastaviti tablicu vrednosti funkcije y = f ( x) u okolini nule funkcije f ( x) , pa primeniti inverznu interpolaciju za y = 0. 63
y y = –x + 1
y = sh x
Primer 3. Rešiti jednačinu sh x + x − 1 = 0 .
Rešenje. Grafičkom metodom nalazimo da data jednačina ima samo jedno rešenje i da to rešenje pripada intervalu x (0, 1) (sl. 2). Zaista, ako je f ( x) = sh x + x − 1 , onda je f (0) = −1 < 0 i f (1) = 1.1752... > 0 i f ' ( x) = ch x + 1 > 0 za x ∈ [0, 1] . Sl. 2 Kako je f (0.5) = 0.021... > 0 i f (0.4) = −0.189... < 0 to rešenje x*∈ (0.4, 0.5) . Tabelirajmo funkciju f ( x) na odsečku [0.4, 0.5] korakom h = 0.02.
1 0 0 x* 1
x 0.40
y –0.189248
0.42
–0.147543
∆y
∆2y
∆3y
∆4y
0.041705 0.000173 0.041878 0.44
–0.105665
0.46
–0.063605
0.000009 0.000182
0.042060
0.000009 0.000191
0.042251 0.48
0.000000
–0.021354
0.0000–2 0.000007
0.000198 0.042449
0.50
–0.021095
Koristićemo drugi Njutnov interpolacioni polinom do konačnih razlika trećeg reda, zaključno (razlike četvrtog i višeg reda nije korektno koristiti – akumulirana greška zaokrugljivanja je veća od samih razlika). Dakle, ∆2 y3 ∆y 4 ∆3 y 2 v+ v(v + 1) + v(v + 1)(v + 2) , 1! 2! 3! x − x5 x − 0.5 gde je v = . Imamo = h 0.02 y = y5 +
v=
0 − 0.021095 1 0.000007 0.000198 − v(v + 1) + v(v + 1)(v + 2) . 0.042449 0.042449 2 6
Uzmimo v ( 0) =
0 − 0.021095 = −0.496949 , tj. x ( 0) = 0.5 + 0.02v ( 0) = 0.490061 . 0.042449
Dalje, redom računamo 1 0.000198 v (1) = −0.496949 − ⋅ ( −0.496949) ⋅ (−0.496349 + 1) + 0.042449 2 64
0.000007 ⋅ (−0.496949) ⋅ ( −0.496949 + 1) ⋅ (−0.496949 + 2) = 6 1 = −0.496949 − (−0.000024749 − 0.000000438) = 0.042449 = −0.496949 + 0.000593 = −0.496356 , x (1) = 0.5 + 0.02 ⋅ v (1) = 0.490073 . 1 0.000198 = −0.496949 − ⋅ (−0.496356) ⋅ ( −0.496356 + 1) + 0.042449 2 0.000007 + ⋅ (−0.496356) ⋅ ( −0.496356 + 1) ⋅ ( −0.496356 + 2) = 6 1 = −0.496349 − (−0.000024748 − 0.000000438) = 0.042449 = −0.496949 + 0.000593 = −0.496356 , x (2) = 0.5 + 0.02 ⋅ v (2) = 0.490073 . Dakle, x* ≈ 0.49007. ▲ +
v ( 2)
12. INVERZIJA REDA Jedna od najčešće primenjivanih metoda za rešavanje zadatka inverzne interpolacije je inverzija reda. Skoro sve interpolacione formule su oblika polinoma, a polinom je specijalan slučaj Maklorenovog (C. Maclaurin, 1698–1746) reda (1) y = a0 + a1 x + a2 x 2 + ⋯ + a n x n + ⋯ . Inverzija reda je opštiji problem od problema inverzne interpolacije. Kada je red (1) konvergentan, onda je moguće izvršiti inverziju reda. Iz (1) za x = 0 imamo da je y = a0 , pa je (2)
y − a0 = 0 ,
i zbog toga x možemo tražiti u obliku Tejlorovog reda 2
3
n
y − a0 y − a0 y − a0 y − a0 + c3 + ⋯ + cn + ⋯ , (3) x = c0 + c1 + c2 a1 a1 a1 a1 a1 ≠ 0 , gde su c0 , c1 , c2 , ..., cn , ... za sada neodreñeni koeficijenti. Red (1) je y − a0 ureñen po stepenima x a red (3) po stepenima , što je saglasno s uslovom a1 (2); deljenje koeficijentom a1 je izvršeno kako bi se kasnije lakše odreñivali koeficijenti c0 , c1 , c2 , ..., cn , ... Kada se u red (1) umesto x stavi njegova vrednost prema (3), dobiće se 2 3 y − a0 y − a0 y − a0 + c3 + ⋯ + y = a0 + a1 c0 + c1 + c2 a1 a1 a1
65
2
2 3 y − a0 y − a0 y − a0 + c3 + ⋯ + + a2 c0 + c1 + c2 a1 a1 a1 3
2 3 y − a0 y − a0 y − a0 + c3 + ⋯ + ⋯ + a3 c0 + c1 + c2 a1 a1 a1
ili 2 3 y − a0 y − a0 y − a0 y − a0 + = c0 + c1 + c2 + c + ⋯ 3 a a1 a1 a1 1 2
(4)
a + 2 a1
2 3 y − a0 y − a0 y − a0 c0 + c1 + + c2 + c + ⋯ 3 a a1 a1 1
a + 3 a1
2 3 y − a0 y − a0 y − a0 c0 + c1 +⋯ + ⋯ + c2 + c 3 a a1 a1 1
3
Uporeñujući koeficijente uz odgovarajuće stepene
y − a0 dobijamo redom: a1
c0 = 0 , c1 = 1 , a c2 = − 2 , a1 2
(5)
a a c3 = − 3 + 2 2 , a1 a1 3
a a a a c4 = − 4 + 5 2 2 3 − 5 2 , a1 a1 a1 2
4
a2a a a a a a c5 = − 5 + 6 2 2 4 + 3 3 − 21 2 3 3 + 14 2 , a1 a1 a1 a1 a1 2
a2a + a a2 a 3a a a +a a a a c6 = − 6 + 7 2 5 2 3 4 − 28 2 4 3 2 3 + 84 2 4 3 − 42 2 a1 a1 a1 a1 a1 i tako dalje.
5
Kako se primenjuje metoda inverzije reda? Pokažimo na primeru prve Njutnove interpolacione formule uzimajući prvih pet sabiraka: y = y0 +
66
∆y0 ∆ 2 y0 ∆ 3 y0 u+ u (u − 1) + u (u − 1)(u − 2) + 1! 2! 3!
∆ 4 y0 u (u − 1)(u − 2)(u − 3) 4! Napišimo formulu u sledećem obliku +
∆2 y0 ∆3 y0 ∆4 y0 ∆2 y0 ∆3 y0 ∆4 y0 2 u + u + y = y0 + ∆y0 − 11 + − − + 2 3 4 2 3 24 ∆3 y0 ∆4 y0 3 ∆4 y0 4 u + u . + − 6 4 24
Očigledno je:
a0 = y 0 , a1 = ∆y0 −
∆2 y0 ∆3 y0 ∆4 y0 + − , 2 3 4 ∆3 y0 ∆4 y0 − + 11 , 3 24 ∆4 y0 , − 4
∆2 y0 2 3 ∆ y0 a3 = 6 4 ∆ y0 . a4 = 24 Koristeći vrednosti (6) izračunavamo koeficijente ci prema obrascima (5) i na taj način dobijamo traženu vrednost u, odnosno x. a2 =
(6)
Primer 1. Metodom inverzije reda naći vrednost x koja odgovara vrednosti y = 1.70757, ako je funkcija y = f (x) zadata tablicom x y
5.0 5.2 5.4 5.6 5.8 6.0 1.69897 1.71600 1.73239 1.74819 1.76343 1.77815
Rešenje. Tablica konačnih razlika je x y ∆y 5.0 1.69897 1703 5.2 1.71600 1639 5.4 1.73239 1580 5.6 1.74819 1524 5.8 1.76343 1472 6.0 1.77815
∆2y
∆3y
–64 5 –59 3 –56 4 –52
(Razlike četvrtog reda ne možemo uzeti! Zašto?) Prvo izračunavamo: 67
a0 = 1.69897 ,
− 0.00064 0.00005 + = 0.017367 , 2 3 − 0.00064 0.00005 a2 = − = −0.00034500 , 2 2 0.00005 a3 = = 0.0000083333 ; dakle 6 y = 1.69897 + 0.017367u − 0.00034500u 2 + 0.0000083333u 3 , x − 5.0 gde je u = . Dalje imamo: 0.2 − 0.00034500 c2 = − = 0.019865 ; 0.017367 a1 = 0.01703 −
2
c3 = −
0.0000083333 − 0.34500 + 2 = 0.00030943 , 0.017367 17.367
( y − a0 ) (1.70757 − 1.69897) = = 0.49519 , a1 0.017367
pa je u = 0.49519 + 0.019865 ⋅ (0.49519) 2 + 0.00030943 ⋅ (0.49519) 3 = 0.50010
i, na kraju, x = x0 + hu = 5.0 + 0.2 ⋅ 0.50010 = 5.10002 ,
odnosno, traženo x = 5.100. ▲
13. TRIGONOMETRIJSKI INTERPOLACIONI POLINOMI Ako je funkcija y = f (x) periodična, onda se primenjuju trigonometrijske interpolacione formule. Najčešće se koriste Gausova i Ermitova trigonometrijska interpolaciona formula. Gausova trigonometrijska interpolaciona formula glasi 1 1 1 sin ( x − x1 ) sin ( x − x2 )⋯ sin ( x − xn ) 2 2 2 y= y0 + 1 1 1 sin ( x0 − x1 ) sin ( x0 − x2 )⋯ sin ( x0 − xn ) 2 2 2 1 1 1 sin ( x − x0 ) sin ( x − x2 )⋯ sin ( x − xn ) 2 2 2 + y1 + 1 1 1 sin ( x1 − x0 ) sin ( x1 − x2 )⋯ sin ( x1 − xn ) 2 2 2
68
1 1 1 sin ( x − x0 ) sin ( x − x1 )⋯ sin ( x − xn −1 ) 2 2 2 yn . +⋯ + 1 1 1 sin ( xn − x0 ) sin ( xn − x1 )⋯ sin ( xn − xn −1 ) 2 2 2 Ermitova trigonometrijska interpolaciona formula glasi y=
sin( x − x1 ) sin( x − x2 )⋯ sin( x − xn ) y0 + sin( x0 − x1 ) sin( x0 − x2 )⋯ sin( x0 − xn ) sin( x − x0 ) sin( x − x2 )⋯ sin( x − xn ) + y1 + sin( x1 − x0 ) sin( x1 − x2 )⋯ sin( x1 − xn ) sin( x − x0 ) sin( x − x1 )⋯ sin( x − xn −1 ) +⋯ + yn . sin( xn − x0 ) sin( xn − x1 )⋯ sin( xn − xn −1 )
Primer 1. Funkcija f (x) je zadata tablicom x f (x)
0.4 0.0977
0.5 0.0088
0.7 0.8 –0.1577 –0.2192
Primenom Ermitove trigonometrijske formule izračunati f (0.6) . Rešenje. sin(0.1)sin(−0.1) ⋅ sin(−0.2) f (0.6) = ⋅ 0.0977 + sin(−0.1)sin( −0.3) ⋅ sin(−0.4) sin(0.2)sin(−0.1) ⋅ sin(−0.2) + ⋅ 0.0088 + sin(0.1)sin(−0.2) ⋅ sin(−0.3) sin(0.2)sin(0.1) ⋅ sin(−0.2) + ⋅ (−0.1577) + sin(0.3)sin(0.2) ⋅ sin( −0.1) sin(0.2)sin(0.1) ⋅ sin( −0.1) + ⋅ (−0.2192) = sin(0.4)sin(0.3) ⋅ sin(0.1) = −0.01684 + 0.00592 − 0.10601 + 0.03778 = −0.0792. ▲
14. PODELJENE (KOLIČNIČKE) RAZLIKE FUNKCIJA Pretpostavka da su čvorovi interpolacije jednako razmaknuti – ekvidistantni sužava oblast primene mnogih interpolacionih formula s konačnim razlikama. Naime, podaci dobijeni eksperimentalnim putem najčešće nisu ekvidistantni. Radi toga ćemo, na odreñen način, uopštiti pojam konačnih razlika uvodeći podeljene ili količničke razlike – razlike s promenljivim korakom i izvesti interpolacione formule s takvim razlikama. Neka je funkcija y = f ( x) zadata tabličnim vrednostima yi = f ( xi ) , i = 0, n , gde su xi ∈ [ a, b] , i = 0, n , nejednako razmaknuti čvorovi, dakle, ∆xi = xi +1 − xi = hi ≠ 0 , i = 0, n − 1 ,
i hi nisu jednaki meñu sobom.
69
Podeljene razlike prvog reda su: yi +1 − yi , i = 0, n − 1 , xi +1 − xi što ćemo obeležavati na sledeće načine: f [ xi , xi +1 ] ili [ xi , xi +1 ] ili δ( xi , xi +1 ) ili, kratko, δ1 (čita se: malo delta jedan). Tako imamo, na primer: δ( x0 , x1 ) =
y − y1 y1 − y0 , δ( x1 , x2 ) = 2 , ... x1 − x0 x2 − x1
Podeljene razlike drugog reda su: δ( xi +1 , xi + 2 ) − δ( xi , xi +1 ) , i = 0, n − 2 , x i + 2 − xi što ćemo obeležavati na sledeće načine: f [ xi , xi +1 , xi + 2 ] ili [ xi , xi +1 , xi + 2 ] ili δ( xi , xi +1 , xi + 2 ) ili, kratko, δ 2 (čita se: malo delta dva). Tako imamo, na primer: δ( x1 , x2 ) − δ( x0 , x1 ) δ( x2 , x3 ) − δ( x1 , x2 ) , δ( x1 , x2 , x3 ) = , ... δ( x0 , x1 , x2 ) = x 2 − x0 x3 − x1 Uopšte, podeljene razlike k–tog reda su: δ( xi +1 , xi + 2 , ..., xi + k ) − δ( xi , xi +1 , ..., xi + k −1 ) , i = 0, n − k , x i + k − xi
što ćemo obeležavati na sledeće načine: f [ xi , ..., xi + k ] ili [ xi , ..., xi + k ] ili δ( xi , xi +1 , ..., xi + k ) ili, kratko, δ k (čita se: malo delta ka). Podeljene razlike se obično zapisuju u obliku tablice podeljenih razlika, i na taj način se postiže preglednost. Tablice su sledećeg oblika, analogno tablicama konačnih razlika.
70
x x0
y y0
x1
y1
x2
y2
x3 ⋮ xn–3
y3 ⋮ yn–3
xn–2
yn–2
xn–1
yn–1
xn
yn
δ1
δ(x0, x1) δ(x1, x2) δ(x2, x3) ⋮
δ(xn–3, xn–2) δ(xn–2, xn–1) δ(xn–1, xn)
δ2
...
δn
δ(x0, x1, x2) δ(x1, x2, x3) δ(x2, x3, x4) ⋮ δ(xn–4, xn–3, xn–2) δ(xn–3, xn–2, xn–1) δ(xn–2, xn–1, xn)
δ(x0, x1, x2, ..., xn)
Primer 1. Sastaviti tablicu podeljenih razlika za funkciju y = f (x) zadatu tablično x 0.00 0.20 0.35 0.40 0.50 0.54 y 1.000000 1.408000 1.742875 1.864000 2.125000 2.237464 Rešenje. δ1
x y 0.00 1.000000
δ2
δ3
δ4
2.040000 0.20 1.408000
0.550000 2.232500
0.35 1.742875
1.000000 0.950000
2.422500 0.40 1.864000
0.000000 1.000000
1.250000 2.610000
0.50 2.125000
0.000000 1.000000
1.440000 2.811600
▲
0.54 2.237464
Navedimo neke osobine podeljenih razlika: 1) Podeljene razlike zbira funkcija jednake su zbiru podeljenih razlika sabiraka. 2) Podeljene razlike razlike funkcija jednake su razlici podeljenih razlika umanjenika i umanjioca. 3) Konstantan faktor se može izvući ispred podeljene razlike. 4) Podeljene razlike su simetrične funkcije svojih argumenata, tj. δ( xi , xi +1 , xi + 2 , ..., xi + k ) = δ( xi +1 , xi , xi + 2 , ..., xi + k ) = = δ( xi + 2 , xi +1 , xi , ..., xi + k ) = ...
Važe i sledeće leme.
Lema 1. Ako je y = Pn (x) polinom n–tog stepena, onda su podeljene razlike prvog reda polinomi (n–1)–tog stepena. Dokaz. Na osnovu Bezuovog stava imamo Pn ( x) = ( x − xi ) ⋅ Pn −1 ( x) + Pn ( xi ) , a odavde je Pn ( x) − Pn ( xi ) = Pn −1 ( x) , x − xi tj. Pn [ x, xi ] = δ( x, x1 ) = Pn −1 ( x) . ■ Posledica 1. Podeljene razlike n–tog reda polinoma n–tog stepena Pn (x) su konstantne, tj. Pn [ x, x0 , x1 , ..., xn −1 ] = C , C = const. 71
Posledica 2. Podeljene razlike m–tog reda, gde je m > n, polinoma n–tog stepena Pn (x) su jednake nuli. Zaista, razlika (n + 1)–vog reda je Pn [ x, x0 , x1 , ..., xn ] =
Pn [ x, x1 , ..., xn ] − Pn [ x, x0 , ..., xn −1 ] C − C = =0 xn − x xn − x
i sve razlike reda višeg od (n + 1)–vog su, očigledno, jednake nuli.
Lema 2. Podeljena razlika k–tog reda je yi + ( xi − xi +1 )( xi − xi + 2 ) … ( xi − xi + k ) yi +1 + +⋯+ ( xi +1 − xi )( xi +1 − xi + 2 ) ⋯ ( xi +1 − xi + k )
δ ( xi , xi +1 , ..., xi + k ) =
+
( xi +1 − xi )( xi + k
yi + k . − xi +1 ) ⋯ ( xi + k − xi + k −1 )
Dokaz se izvodi metodom matematičke indukcije po k i može se naći, na primer, u knjizi: J. S. Berezin, N. P. Židkov – Numerička analiza, Beograd, 1963, str. 81. Pretpostavimo da su čvorovi interpolacije x0 , x1 , ..., xn jednako razmaknuti, tj. pretpostavimo da je xi +1 − xi = h , h – konstantno. Nañimo vezu izmeñu konačnih i podeljenih razlika. Radi toga posmatraćemo tablice konačnih razlika x x0
y y0
∆y
∆2y
∆3y
∆4y
y1 – y0 x0 + h y1
y2 – 2y1 + y0 y3 – 3y2 + 3y1 – y0
y2 – y1 x0 + 2h y2
y3 – 2y2 + y1 y3 – y2
x0 + 3h y3
y4 – 4y3 + 6y2 – 4y1 + y0 y4 – 3y3 + 3y2 – y1
y4 – 2y3 + y2 y4 – y3
x0 + 4h y4
y5 – 4y4 + 6y3 – 4y2 + y1 y5 – 3y4 + 3y3 – y2
y5 – 2y4 + y3
x0 + 5h y5
y6 – 4y5 + 6y4 – 4y3 + y2 y6 – 3y5 + 3y4 – y3
y5 – y4 y6 – 2y5 + y4 y6 – y5 x0 + 6h y6
i tablicu podeljenih razlika s konstantnim korakom h
72
x x0
y y0
x0 + h
y1
δ1
y1 − y0 h y 2 − y1 h
x0 + 2h
y2 y3 − y 2 h
x0 + 3h
y3 y 4 − y3 h
x0 + 4h
y4 y5 − y 4 h
x0 + 5h
y5
y 6 − y5 h
δ2
δ3
δ4
y2 − 2 y1 + y0 2h ⋅ h y3 − 3 y2 + 3 y1 − y0 3h ⋅ 2h ⋅ h
y4 − 4 y3 + 6 y2 − 4 y1 + y0 4h ⋅ 3h ⋅ 2h ⋅ h
y3 − 2 y2 + y1 2h ⋅ h y4 − 3 y3 + 3 y2 + y1 3h ⋅ 2 h ⋅ h
y4 − 2 y3 + y2 2h ⋅ h
y5 − 4 y 4 + 6 y3 − 4 y 2 + y1 4 h ⋅ 3h ⋅ 2 h ⋅ h
y5 − 3 y4 + 3 y3 − y2 3h ⋅ 2h ⋅ h y5 − 2 y4 + y3 2h ⋅ h
y 6 − 4 y5 + 6 y 4 − 4 y3 + y 2 4h ⋅ 3h ⋅ 2h ⋅ h y6 − 3 y5 + 3 y4 − y3 3h ⋅ 2h ⋅ h
y6 − 2 y5 + y4 2h ⋅ h
x0 + 6h y6 Na osnovu prethodnih tablica zaključujemo da je: y − y0 ∆y0 1 ∆y δ1 y0 = δ( x0 , x0 + h) = δ( x0 , x1 ) = 1 = , δ y1 = 1 , ...; h h h δ 2 y0 = δ ( x0 , x0 + h, x0 + 2h) = δ( x0 , x1 , x2 ) =
δ 2 y1 =
y 2 − 2 y1 + y0 ∆2 y0 , = 2h ⋅ h 2!h 2
∆2 y1 , ... 2!h
δ 3 y0 = δ( x0 , x0 + h, x0 + 2h, x0 + 3h) = δ( x0 , x1 , x2 , x3 ) =
=
∆3 y1 y3 − 3 y 2 + 3 y1 − y0 ∆3 y0 3 , , ...; = δ y = 1 3h ⋅ 2!h 2 3!h 3 3!h 3
δ 4 y0 = δ( x0 , x0 + h, x0 + 2h, x0 + 3h, x0 + 4h) = δ( x0 , x1 , x2 , x3 , x4 ) =
∆4 y1 y 4 − 4 y3 + 6 y 2 − 4 y1 + y0 ∆4 y0 4 , , ...; = δ y = 1 4h ⋅ 3!h 3 4!h 4 4!h 4 i, u opštem slučaju, važi =
73
δ n y k = δ( xk , xk + h, xk + 2h, ..., xk + nh) =
∆n y k , k = 0, 1, 2, ... n!h n
15. NJUTNOVI INTERPOLACIONI POLINOMI S PODELJENIM RAZLIKAMA Neka je funkcija y = f (x) zadata tablicom x y
x0
x1
x2
y0
y1
y2
... ...
xi yi
... ...
xn yn
pri čemu su čvorovi interpolacije xi ∈ [a, b] , i = 0, n , meñu sobom različiti. Njutnovi interpolacioni polinomi, a takoñe i drugi interpolacioni polinomi s podeljenim razlikama, mogu se jednostavno napisati koristeći relaciju izmeñu podeljenih i konačnih razlika ∆n y k , k = 0, 1, 2, ... , δ n yk = δ ( xk , xk + h, xk + 2h,…, xk + nh) = n!h n što prepuštamo čitaocu. Ovde ćemo izvesti samo I Njutnov interpolacioni polinom na nešto drugačiji način. Neka je Ln (x) Lagranžev interpolacioni polinom n–tog stepena, dakle, Ln ( x) = yi , i = 0, n . Podeljene razlike (n + 1)–vog reda polinoma Ln (x) je, kao što je poznato, su (1) Ln [ x, x0 , x1 , x2 , ..., xn ] ≡ 0 . Na osnovu definicije podeljenih razlika imamo Ln ( x) − Ln ( x0 ) = Ln [ x, x0 ] , x − x0 a odavde je (2) Ln ( x) = Ln ( x0 ) + Ln [ x, x0 ]( x − x0 ) , i analogno iz Ln [ x, x0 , x1 , ..., xk −1 ] − Ln [ x0 , x1 , x2 , ..., xk ] = Ln [ x, x0 , x1 , ..., xk ] ( x − xk ) imamo Ln [ x, x0 , x1 , ..., xk −1 ] = (3)
Ln [ x0 , x1 , ..., xk ] + Ln [ x, x0 , x1 , x2 , ..., xk ]( x − xk ) ,
k = 1, n . Koristeći formulu (3) iz formule (2) dobijamo Ln ( x) = Ln ( x0 ) + Ln [ x, x0 ] ⋅ ( x − x0 ) = = Ln ( x0 ) + {Ln [ x0 , x1 ] + Ln [ x, x0 , x1 ]( x − x1 )} ⋅ ( x − x0 ) =
= Ln ( x0 ) + Ln [ x0 , x1 ]( x − x0 ) + Ln [ x, x0 , x1 ]( x − x0 )( x − x1 ) =
74
= Ln ( x0 ) + Ln [ x0 , x1 ]( x − x0 ) + {Ln [ x0 , x1 , x2 ] + + Ln [ x, x0 , x1 , x2 ]( x − x2 )}( x − x0 )( x − x1 ) = = Ln ( x0 ) + Ln [ x0 , x1 ]( x − x0 ) + Ln [ x0 , x1 , x2 ]( x − x0 )( x − x1 ) + + Ln [ x, x0 , x1 , x2 ]( x − x0 )( x − x1 )( x − x2 ) = = ... = Ln ( x0 ) + Ln [ x0 , x1 ]( x − x0 ) + Ln [ x0 , x1 , x2 ]( x − x0 )( x − x1 ) + + Ln [ x0 , x1 , ..., xn ]( x − x0 )( x − x1 ) ⋯ ( x − xn −1 ) + + Ln [ x, x0 , x1 , ..., xn ]( x − x0 )( x − x1 )⋯ ( x − xn ).
Meñutim, Ln [ x, x0, x1, ..., xn ] ≡ 0 , pa imamo (4)
Ln ( x) = Ln ( x0 ) + Ln [ x0, x1 ]( x − x0 ) + Ln [ x0, x1, x2 ]( x − x0 )( x − x1 ) + + Ln [ x0, x1, ..., xn ]( x − x0 )( x − x1 )⋯ ( x − xn −1 ),
što predstavlja prvi Njutnov interpolacioni polinom s podeljenim razlikama. Greška formule (4) je (5) Rn ( x) = f ( x) − Ln ( x) =
f ( n +1) (ξ ) ( x − x0 )( x − x1 )⋯ ( x − xn ) , ξ ∈ [a, b] . (n + 1)!
Primer 1. Naći prvi Njutnov interpolacioni polinom za funkciju y = f (x) zadatu tabelom x y
–1 2
0 4
2 26
3 58
5 194
6 310
δ3
δ4
Rešenje. Napravimo tablicu podeljenih razlika i 0
xi –1
yi 2
1
0
3
δ1
δ2
2 3 11 2
2
26
1 7
32 3
3
58
4
5
194
5
6
310
0 1
12 68
0 1
16 116
Kako su podeljene razlike četvrtog reda jednake nuli, to je interpolacioni polinom polinom trećeg stepena. Dakle, Ln ( x) = 2 + 2( x + 1) + 3( x + 1)( x − 0) + 1 ⋅ ( x + 1)( x − 0)( x − 2) = = 4 + 3x + 2 x 2 + x 3 . ▲
75
Drugi Njutnov interpolacioni polinom s podeljenim razlikama je Ln ( x) = Ln ( xn ) + Ln [ xn −1 , xn ] + Ln [ xn − 2 , xn −1 , xn ]( x − xn )( x − xn −1 ) + + Ln [ x0 , x1 , x2 , ..., xn ]( x − xn )( x − xn −1 )⋯ ( x − x1 ).
Primer 2. Sastaviti drugi Njutnov interpolacioni polinom za funkciju zadatu tablicom x –2 –1 0 1 2 y –257 –8 27 100 463 Rešenje. Tablica podeljenih razlika je i 0
xi –2
yi –257
1
–1
–8
δ1
δ2
δ3
δ4
249 –107 35 2
0
27
42 19
73 3
1
100
0 42
145 363
4
2
463
pa je Ln ( x) = 463 + 363·(x – 2) + 145·(x – 2)(x – 1) + 42·(x – 2)(x – 1)(x – 0) = = 27 + 12x + 19x2 + 42x3. ▲ U oba primera razlike četvrtog reda su jednake nuli, naravno, i razlike višeg reda od četiri su jednake nuli, pa su interpolacioni polinomi polinomi četvrtog stepena. Kako je rešenje zadatka jednoznačno, to nije bitno koja se interpolaciona formula koristi. Meñutim, ako bismo tražili interpolacioni polinom stepena < 3, onda je značajno koja bi se interpolaciona formula koristila. Koja će se formula koristiti, to zavisi, kao što znamo, od toga gde se nalazi vrednost x za koju treba izračunati vrednost f (x) . Ako je ta vrednost u početku tablice, koristiće se prva Njutnova interpolaciona formula, ako je ta vrednost na kraju tablice, koristiće se druga Njutnova interpolaciona formula, a ako je vrednost x u sredini tablice, onda će se koristiti neka od interpolacionih formula sa centralnim razlikama.
16. KONVERGENCIJA INTERPOLACIONOG PROCESA Neka je funkcija f (x) aproksimirana interpolacionim polinomom Ln (x) na segmentu interpolacije [a, b]. U čvorovima interpolacije xi ∈ [a, b] je Ln ( xi ) = f ( xi ) , i = 0, n . Opšta formula za grešku interpolacije za x ∈ [ a, b] i x ≠ xi , i = 0, n , je
76
Rn ( x) = f ( x) − Ln ( x) =
f ( n +1) (ξ ) ∏ n +1 ( x) , (n + 1)!
gde je Π n+1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) , ξ = ξ ( x) ∈ [a, b] a f ( x) ∈ C n+1[ a, b] . Ocena greške Rn (x) je povezana s ocenom max | f ( n+1) ( x) | za x ∈ [a, b] . To je ponekad vrlo teško učiniti, a kada je funkcija zadata tablično, onda to i nije moguće. Zbog toga je vrlo važno sledeće pitanje: ako izaberemo vrlo velik broj čvorova interpolacije, da li odgovarajući interpolacioni polinom dovoljno dobro aproksimira funkciju f (x) ? Drugim rečima, postavlja se problem konvergencije interpolacionog procesa. Ako broj čvorova neograničeno raste, onda umesto interpolacionog polinoma imamo beskonačni red kojeg možemo nazvati interpolacionim redom. Naravno, prvo pitanje je: Da li dobijeni interpolacioni red konvergira? Neka je dat sledeći sistem čvorova interpolacije: x0( 0) ; x0(1) ,
x1(1) ;
x0( 2) , x1( 2) , x2( 2) ; ⋮
x0( n )
x1( n ) , x2( n ) , …, xn( n ) ;
⋮
pri čemu svi čvorovi xi( k ) ∈ [ a, b] , i = 0, 1, 2, ..., k = 0, 1, 2, ... Formirajmo niz interpolacionih polinoma, na primer, Lagranževih interpolacionih polinoma Ln (x) , n = 0, 1, 2, ... Reći ćemo: Interpolacioni proces se naziva konvergentnim ako je (1)
lim Ln ( x) = f ( x) , x ∈ [ a, b] .
n →∞
Interpolacioni proces je ravnomerno konvergentan ako (1) ravnomerno konvergira na segmentu [a, b]. Na prvi pogled mogli bismo zaključiti da s povećavanjem broja n čvorova interpolacije, čvorovi sve gušće i gušće ispunjavaju segment [a, b] tako da se u proizvoljnom njegovom delu, počevši od nekog n, nalazi bar jedan čvor i da je to neka „garancija“ ravnomerne konvergencije. Ali to, ipak, nije tako. Može se desiti da niz Ln (x) , kada n → ∞ , uopšte ne konvergira, da konvergira ka nekoj funkciji g (x) koja je različita od funkcije f (x) , a samo pod odreñenim uslovima konvergira ka funkciji f (x) . Tako, na primer, niz Lagranževih interpolacionih polinoma Ln (x) formiranih za funkciju f ( x) = | x | na segmentu [–1, 1] pomoću ekvidistantnih čvorova interpolacije kada n → ∞ ne konvergira ka funkciji f (x) ni u jednoj tački intervala (–1, 1). 77
Pitanje konvergencije interpolacionog procesa (1) rešava sledeća teorema.
Teorema. Neka je f (x) cela funkcija. Niz interpolacionih polinoma Ln (x) , formiranih za funkciju f (x) za proizvoljan izbor čvorova interpolacije, ravnomerno konvergira ka funkciji f (x) , x ∈ [ a, b] . Dokaz videti u knjizi: J. S. Berezin, N. P. Židkov – Numerička analiza, Beograd, 1963, str. 124. Inače, funkcija f (x) se naziva celom funkcijom ako se ona može prikazati u obliku stepenog reda f ( x) = a0 + a1 ( x − x0 ) + a2 ( x − x0 ) 2 + ⋯ + an ( x − x0 ) n + ⋯ ,
koji konvergira za svako x ∈ [a, b] . Dakle, f (x) ima izvode proizvoljnog reda.
17. ERMITOV INTERPOLACIONI POLINOM Neka je funkcija f ( x) ∈ C 2 n+ 2 [a, b] i neka su xi ∈ [a, b] , i = 0, n , čvorovi interpolacije. Neka su zadate vrednosti funkcije yi = f ( xi ) i vrednosti prvog izvoda yi′ = f ′( xi ) , i = 0, n , u čvorovima interpolacije. Interpolacioni polinom Pm (x) koji zadovoljava uslove Pm ( xi ) = yi , Pm′ ( xi ) = yi′ , i = 0, n ,
(1)
naziva se Ermitov interpolacioni polinom. Kako u (1) imamo 2n + 2 uslova, stepen polinoma Pm (x) je m ≤ 2n + 1. Dakle, formirajmo polinom P2 n+1 ( x) koji zadovoljava uslove P2 n+1 ( xi ) = yi , P2′n+1 ( xi ) = yi′ , i = 0, n .
(2)
Jedan od načina rešavanja postavljenog zadatka je analogan načinu na koji smo odredili Lagranžev interpolacioni polinom. Dakle, formirajmo pomoćne polinome ui (x) i vi (x) stepena 2n + 1 takve da su ispunjeni uslovi 1, i = j , ; ui ( x j ) = δ ij = 0, i ≠ j ,
vi ( x j ) = 0 ,
ui′ ( x j ) = 0 ;
1, i = j , vi′ ( x j ) = δij = 0, i ≠ j.
Polinom n
n
i =0
i =0
P2 n +1 ( x) = ∑ ui ( x) yi + ∑ vi ( x) yi′
zadovoljava uslove (2). Slično kao i kod Lagranževog interpolacionog polinoma nalazimo da je: 78
ui ( x) = [1 − 2 pi′ ( xi )( x − xi )] ⋅ [ pi ( x)]2 , vi ( x) = ( x − xi )[ pi ( x)]2 ,
gde je pi ( x ) =
( x − x0 )( x − x1 )… ( x − xi −1 )( x − xi +1 )… ( x − xn ) . ( xi − x0 )( xi − x1 )… ( xi − xi −1 )( xi − xi +1 )… ( xi − xn )
Dakle, traženi interpolacioni polinom je (3)
n
n
i =0
i =0
P2 n +1 ( x) = ∑ [1 − 2 pi′( xi )( x − xi )] ⋅ [ pi ( x)]2 yi + ∑ ( x − xi )[ pi ( x)]2 yi′ .
Drugi način nalaženja Ermitovog interpolacionog polinoma je metoda neodreñenih koeficijenata. Naime, ako interpolacioni polinom potražimo u obliku P2 n+1 ( x) = c0 + c1 x + c2 x 2 + ⋯ + c2 n+1 x 2 n+1 ,
(4)
onda iz uslova (2) dobijamo sistem od (2n + 2)–ve linearne jednačine po nepoznatima – neodreñenim koeficijentima: c0 , c1 , c2 , ..., c2 n+1 . Naravno, rešavanjem tog sistema jednačina dolazimo do interpolacionog polinoma (4). Razume se, za veliko n obim računanja je velik, pa je prvi način nešto jednostavniji.
Primer 1. Naći Ermitov interpolacioni polinom za funkciju zadatu tablicom x 0 1 y 8 90 y’ 8 156 Rešenje. Polinom je najviše trećeg stepena. Prvo nalazimo p0 ( x) = = −( x − 1) i p1 ( x) =
x−0 = x . Koristeći formulu (3) imamo 1− 0
x −1 = 0 −1
P3 ( x) = [1 − 2(−1)( x − 0)] ⋅ [ −( x − 1)]2 ⋅ 8 + [1 − 2 ⋅1 ⋅ ( x − 1)] ⋅ [ x]2 ⋅ 90 + + ( x − 0) ⋅ [ −( x − 1)]2 ⋅ 8 + ( x − 1) ⋅ [ x]1 ⋅156 = 8(1 + 2 x) ⋅ ( x − 1) 2 + + 90 x 2 ⋅ (3 − 2 x) + 8 x ⋅ ( x − 1) 2 + 156 x 2 ⋅ ( x − 1) = = 16 x 3 − 24 x 2 + 8 − 180 x 3 + 270 x 2 + 8 x 3 − 16 x 2 + 8 x + 156 x 3 − 150 x 2 = = 0 ⋅ x 3 + 74 x 2 + 8 x + 8,
što znači da je tražena funkcija polinom drugog stepena: P2 ( x ) = 8 + 8 x + 74 x 2 ▲ Ermitov polinom se može izvesti i u opštijem slučaju zahtevajući da budu ispunjeni uslovi: Pm ( xi ) = yi , Pm′ ( xi ) = yi′ , Pm′′ ( xi ) = yi′′, ..., Pm( k ) ( xi ) = yi( k ) , i = 0, n , k ≥ 1 .
79
Primer 2. Naći Ermitov interpolacioni polinom za funkciju zadatu tablicom x –1 0 y 69 24 y' –94 4 y" 98 Rešenje. Primenimo metodu neodreñenih koeficijenata. Interpolacioni polinom je najviše četvrtog stepena. Dakle, tražimo polinom P4 ( x) = c0 + c1 x + c2 x 2 + c3 x 3 + c4 x 4 ,
Izračunajmo izvode: P4′ ( x) = c1 + 2c2 x + 3c3 x 2 + 4c4 x 3 , P4′′( x) = 2c2 + 6c3 x + 12c4 x 2 . Na osnovu uslova zadatka imamo: x = −1 :
c0 + c1 ⋅ (−1) + c2 ⋅ ( −1) 2 + c3 ⋅ (−1) 3 + c4 ⋅ (−1) 4 = 69 , c1 + 2c2 ⋅ (−1) + 3c3 ⋅ (−1) 2 + 4c4 ⋅ (−1) 3 = −94 ,
x=0:
c0 + c1 ⋅ 0 + c2 ⋅ 0 2 + c3 ⋅ 03 + c4 ⋅ 0 4 = 24 , c1 + 2c2 ⋅ 0 + 3c3 ⋅ 0 2 + 4c4 ⋅ 03 = 4 , 2c2 + 6c3 ⋅ 0 + 12c4 ⋅ 0 2 = 98 .
Odavde dobijamo: c0 = 24 , c1 = 4 , c2 = 49 , c3 = 0 , c4 = 0 . Rešenje je, dakle, P2 ( x) = 24 + 4 x + 49 x 2 . ▲
Primer 3. Naći Ermitov interpolacioni polinom za funkciju f (x) na osnovu podataka datih u sledećoj tablici x –1 0 2 f (x) 0 –7 3 f ' ( x) –8 –5 55 f " ( x) 10 Rešenje. Traženi polinom je najviše šestog stepena; potražićemo ga u obliku H 6 ( x) = L2 ( x) + ( x + 1)( x − 0)( x − 2) ⋅ H 3 ( x) , gde je L2 ( x) Lagranžev interpolacioni polinom koji se dobija na osnovu podataka x –1 0 2 f (x) 0 –7 3 a H 3 ( x) za sada neodreñen polinom najviše trećeg stepena. Dakle, 80
L2 ( x) =
( x − 0)( x − 2) ( x + 1)( x − 2) ( x + 1)( x − 0) ⋅0 + ⋅ ( −7) + ⋅ 3 = 4 x 2 − 3x − 7 , ( −1 − 0)(−1 − 2) (0 + 1)(0 − 2) (2 + 1)(2 − 0)
pa je H 6 ( x) = 4 x 2 − 3 x − 7 + ( x + 1)( x − 0)( x − 2) ⋅ H 3 ( x) .
Diferenciranjem poslednje jednakosti nalazimo H 6′ ( x) = 8 x − 3 + x( x − 2) ⋅ H 3 ( x) + ( x + 1)( x − 2) ⋅ H 3 ( x) + ( x + 1) x ⋅ H 3 ( x) + + ( x + 1)( x − 0)( x − 2) ⋅ H 3′ ( x), odnosno H 6′ ( x) = 8 x − 3 + (3 x 2 − 2 x − 2) ⋅ H 3 ( x) + ( x + 1)( x − 0)( x − 2) ⋅ H 3′ ( x) . Dalje imamo: za x = –1 je H 6′ (−1) = −11 + 3 ⋅ H 3 ( −1) , − 8 = −11 + 3 ⋅ H 3 (−1) , H 3 (−1) = 1 , za x = 0 je H 6′ (0) = −3 − 2 ⋅ H 3 (0) , − 5 = −3 − 2 ⋅ H 3 (0) , H 3 (0) = 1 , za x = 2 je H 6′ (2) = 13 + 6 ⋅ H 3 (2) , 55 = 13 + 6 ⋅ H 3 (2) , H 3 ( 2) = 7 . Diferencirajmo još jednom. H 6′′( x) = 8 + (6 x − 2) ⋅ H 3 ( x) + (3 x 2 − 2 x − 2) ⋅ H 3′ ( x) + ( x + 1)( x − 0)( x − 2) H 3′′( x) . za x = 0 je H 6′′(0) = 8 − 2 ⋅ H 3 (0) − 4 ⋅ H 3′ (0) , 10 = 8 − 2 ⋅1 − 4 ⋅ H 3′ (0) , H 3′ (0) = −1 . Sada imamo tabelu x H 3 ( x) H 3′ ( x)
–1 1
0 1 –1
2 7
pa je H 3 ( x) = L2 ( x) + ( x + 1)( x − 0)( x − 2) ⋅ H 0 ( x) , H 3 ( x) = a0 , a0 – konstanta ( x − 0)( x − 2) ( x + 1)( x − 2) ( x + 1)( x − 0) L2 ( x) = ⋅1 + ⋅1 + ⋅ 7 = x2 + x + 1 . ( −1 − 0)(−1 − 2) (0 + 1)(0 − 2) (2 + 1)(2 − 0) H 3 ( x) = x 2 + x + 1 + ( x + 1) ⋅ x ⋅ ( x − 2) ⋅ H 0 ( x) , H 3′ ( x) = 2 x + 1 + (3 x 2 − 2 x − 2) ⋅ H 0 ( x) + ( x + 1) ⋅ x ⋅ ( x − 2) ⋅ 0 ,
za x = 0 je H 3′ (0) = 1 − 2 H 0 (0) , − 1 = 1 − 2 H 0 (0) , H 0 (0) = 1 . H 3 ( x) = x 2 + x + 1 + ( x + 1) ⋅ x ⋅ ( x − 2) ⋅1 = x 3 − x + 1 .
Na kraju dobijamo H 6 ( x) = 4 x 2 − 3 x − 7 + ( x3 − x 2 − 2 x) ⋅ ( x3 − x + 1) = = x 6 − x 5 − 3x 4 + 2 x 3 + 5 x 2 − 5 x − 7 . ▲
Izračunajmo grešku (5)
R2 n +1 ( x) = f ( x) − P2 n +1 ( x) .
Ermitove interpolacione formule (3). 81
Posmatrajmo pomoćnu funkciju 2
( z − x0 )( z − x1 )…( z − xn ) Φ ( z ) = [ f ( z ) − P2 n +1 ( z )] − [ f ( x) − P2 n +1 ( x)] ⋅ , ( x − x0 )( x − x1 )…( x − xn ) gde realna promenljiva z ∈ [a, b] a x je fiksirana vrednost u [ x0 , xn ] , x ≠ xi , i (6)
i = 0, n . Funkcija Φ (z ) ima 2n + 3 nule računajući i njihovu višestrukost: x0 , x1 , ..., xn su dvostruke nule (2n + 2 nule) a x je jednostruka nula. Dalje, kako f ( x) ∈ C 2 n+ 2 [ a, b] , to je i Φ ( z ) ∈ C 2 n+ 2 [a, b] .
Očigledno, na funkciju Φ (z ) se može primeniti Rolova teorema na svakom odsečku izmeñu dve susedne nule. Na taj način zaključujemo da funkcija Φ ′(z ) ima bar 2n + 2 nule. Dalje, na funkciju Φ ′(z ) se može primeniti Rolova teorema na svakom odsečku izmeñu dve susedne nule funkcije Φ ′(z ) , pa funkcija Φ ′′( z ) ima bar 2n + 1 nulu, pa, analogno, funkcija Φ ′′′( z ) ima bar 2n nula, ..., Φ ( 2 n+ 2) ( z ) ima bar jednu nulu u [a, b]. Dakle, postoji ξ ∈ [a, b] takva da je Φ ( 2 n + 2 ) (ξ ) = 0 . Sada imamo Φ ( 2 n + 2) ( z ) = [ f ( 2 n + 2) ( z ) − 0] − [ f ( x) − P2 n +1 ( x)] ⋅
pa je za z = ξ 0 = [ f ( 2 n + 2) (ξ ) − 0] − [ f ( x) − P2 n +1 ( x)] ⋅
(2n + 2)! [( x − x0 )( x − x1 ) ⋯ ( x − xn )]2
(2n + 2)! [( x − x0 )( x − x1 )⋯ ( x − xn )]2
i R2 n +1 ( x) = f ( x) − P2 n +1 ( x) =
f ( 2 n + 2 ) (ξ ) [( x − x0 )( x − x1 )⋯ ( x − xn )]2 , ( 2n + 2)!
odnosno R2 n +1 ( x) = f ( x) − P2 n +1 ( x) =
f ( 2 n + 2 ) (ξ ) [Π n +1 ( x)]2 , ξ ∈ [ x0 , xn ] . (2n + 2)!
18. INVERZNE PODELJENE RAZLIKE I INTERPOLACIJA FUNKCIJA VERIŽNIM RACIONALNIM IZRAZIMA U nizu slučajeva veća tačnost aproksimacije funkcija može se postići korišćenjem interpolacionih racionalnih funkcija. Ideja interpolacije prekidnih funkcija racionalnim funkcijama dovela je do konstrukcije interpolacionih formula u obliku racionalnih funkcija Pk ( x) a0 + a1 x + a2 x 2 + ⋯ + ak x k . = Qm ( x) b0 + b1 x + b2 x 2 + ⋯ + bm x m (Jedan od prvih radova koji je posvećen ovom pitanju je: T.N. Thiele–Interpola-
(1)
82
R( x) =
tionsrechnung, Leipzig, 1909.) Neka je funkcija y = f (x) zadata tablicom x f (x)
x0
x1
x2
f ( x0 )
f ( x1 )
f ( x2 )
xn
... ...
f ( xn )
pri čemu su čvorovi meñu sobom različiti. Konstruišimo niz funkcija:
(2)
Φ 0 ( x) = f ( x), x − x0 x − x0 , Φ1[ x0 , x] = = Φ 0 ( x) − Φ 0 ( x0 ) f ( x) − f ( x0 ) x − x1 , Φ 2 [ x0 , x1 , x] = Φ1[ x0 , x] − Φ1[ x0 , x1 ] x − x2 , Φ 3 [ x0 , x1 , x2 , x] = Φ 2 [ x0 , x1 , x] − Φ 2 [ x0 , x1 , x2 ] ⋮ x − xk −1 . Φ k [ x0 , x1 , ..., xk −1 , x] = Φ k −1[ x0 , x1 , ..., xk − 2 , x] − Φ k −1[ x0 , x1 , ..., xk − 2 , xk −1 ]
Ako ovde stavimo x = xk , dobićemo (3) Φ k [ x0 , x1 , ..., xk −1 , xk ] =
xk − xk −1 , Φ k −1[ x0 , x1 , ..., xk − 2 , xk ] − Φ k −1[ x0 , x1 , ..., xk − 2 , xk −1 ] k = 1, n .
Izraz Φ1[ x0 , x1 ] naziva se inverzna podeljena razlika prvog reda funkcije f (x) za vrednosti argumenta x0 i x1 ; izraz Φ 2 [ x0 , x1 , x2 ] naziva se inverzna podeljena razlika drugog reda funkcije f (x) za vrednosti argumenta x0 , x1 , x2 , ... ; izraz Φ n [ x0 , x1 , ..., xn ] naziva se inverzna podeljena razlika n–tog reda za vrednosti argumenta x0 , x1 , ..., xn . Inverzne podeljene razlike ćemo zapisivati u obliku sledeće tabele. x x0 x1 x2 x3 x4 ⋮ xn
f (x)
Φ1
Φ2
Φ3
...
Φn
f ( x0 ) f ( x1 ) Φ1[x0, x1] f ( x2 ) Φ1[x0, x2] Φ2[x0, x1, x2] f ( x3 ) Φ1[x0, x3] Φ2[x0, x1, x3] Φ3[x0, x1, x2, x3] f ( x4 ) Φ1[x0, x4] Φ2[x0, x1, x4] Φ3[x0, x1, x2, x4] ⋮ ⋮ ⋮ ⋮ ⋱ f ( xn ) Φ1[x0, xn] Φ2[x0, x1, xn] Φ3[x0, x1, x2, xn] Φn[x0, x1, …, xn–1, xn]
83
Primer 1. Napisati tablicu inverznih podeljenih razlika za funkciju zadatu tablično x 0 1 2 3 4 3 13 73 501 f (x) 1 2 7 34 209 Rešenje. x f (x) Φ1 Φ2 Φ3 Φn 0 1 3 1 2 2 13 7 2 3 7 3 73 34 13 3 4 34 13 4 501 209 73 21 4 5 ▲ 209 73 21 5 Inverzna podeljena razlika (3) je, očigledno, simetrična funkcija po vrednostima argumenta xk −1 i xk , tj. Φ k [ x0 , x1 , ..., xk −1 , xk ] = Φ[ x0 , x1 , ..., xk , xk −1 ] , a, uopšte govoreći, nije simetrična po ostalim vrednostima argumenta. Iz formula (2) dobijamo x − x0 = Φ1[ x0 , x] x − x0 = Φ 0 ( x0 ) + = x − x1 Φ1[ x0 , x1 ] + Φ 2 [ x0 , x1 , x] f ( x) = Φ 0 ( x) = Φ 0 ( x0 ) +
(4) = Φ 0 ( x0 ) +
+
x − x0 Φ1[ x0 , x1 ] +
= Φ 0 ( x0 ) +
x − x1
Φ 2 [ x0 , x1 , x2 ] +
x − x2 Φ 3 [ x0 , x1 , x2 , x] x − x0
Φ1[ x0 , x1 ] +
Φ 2 [ x0 , x1 , x2 ] +
Φ 3 [ x0 , x1 , x2 , x3 ] +
x − x1
⋱ +
. x − x2 x − xn −1
Φ n [ x0 , ..., xn −1 , xn ] +
x − xn Φ n +1[ x0 , ..., xn , x]
Izraz na desnoj strani jednakosti (4) nazvaćemo verižni racionalni izraz. Ako je brojilac x − xk jednog od parcijalnih razlomaka – jedne od alki veriga jednak nuli, onda je, naravno, taj razlomak jednak nuli i svi sledeći parcijalni razlomci su jednaki nuli. Prema tome, ako u (4) umesto x uvrstimo vrednosti 84
x0 , x1 , ..., xn , vrednost leve strane te jednakosti su f ( x0 ), f ( x1 ), ..., f ( xn ) . Zbog toga, ako na desnoj strani jednakosti (4) odbacimo poslednji parcijalni razlomak, dobićemo racionalnu funkciju koja se poklapa s funkcijom f (x) u tačkama: x0 , x1 , ..., xn Φ 0 ( x0 ) +
(5)
x − x0 Φ1[ x0 , x1 ] +
Φ 2 [ x0 , x1 , x2 ] +
x − x1
. x − x2
Φ 3[ x0 , x1 , x2 , x3 ] +
⋱
+
x − xn −1 Φ n [ x0 , ..., xn −1 , xn ]
Ako verižni racionalni izraz (5) sredimo svodeći ga na jednostavan racionalan izraz, dobićemo racionalnu funkciju oblika (1) za aproksimaciju funkcije f (x) .
Primer 2. Aproksimirati funkciju f (x) iz prvog primera racionalnom funkcijom. Rešenje. Koristeći dobijenu tablicu nalazimo x−0 9 x 2 + 73 x + 65 f ( x) ≈ R( x) = 1 + = 2 .▲ x −1 x + 32 x + 65 2+ x−2 3+ x−3 4+ 5 19. SPLAJN–INTERPOLACIJA Ako funkciju f (x) aproksimiramo interpolacionim polinomom Ln (x) stepena n, onda je učinjena greška Rn ( x) = f ( x) − Ln ( x) =
f ( n +1) (ξ ) Π n +1 ( x) , (n + 1)!
gde je ξ = ξ ( x) ∈ [ a, b] a Π n +1 ( x) = ( x − x0 )( x − x1 ) ⋯ ( x − xn ) . U čvorovima interpolacije xi ∈ [a, b] je Ln ( xi ) = f ( xi ) , i = 0, n . Da bi greška interpolacije bila manja, tj. da bi aproksimacija bila tačnija, nije dovoljno povećati broj čvorova interpolacije. S povećavanjem broja čvorova interpolacije, tj. s povećavanjem stepena interpolacionog polinoma povećava se broj računskih operacija, pa očekivano povećanje tačnosti se ne postiže zbog velike akumulacije grešaka zaokrugljivanja. Osim toga, za beskonačan niz interpolacionih polinoma važi ∞, lim Ln ( x) = g ( x), g ( x) ≠ f ( x), n →∞ f ( x), ako je f ( x) cela funkcija.
85
Jedan od načina povećanja tačnosti aproksimacije je tzv. splajn–interpolacija. Nestrogo govoreći, splajn–interpolacija se sastoji u konstruisanju interpolacionih polinoma ne visokog stepena na pododsečcima odsečka interpolacije [a, b]. Odreñenosti radi posmatrajmo aproksimaciju funkcije y = f (x ) na odsečku [0, 1]. Podelimo odsečak [0, 1] na delove – pododsečke [ x0 , x1 ] , [ x1 , x2 ] , ..., [ xn −1 , xn ] tačkama x0 = 0 < x1 < x2 < ⋯ < xn −1 < xn = 1 . Označimo ovu podelu sa ∆.
Definicija. Sledeću funkciju
(1)
P1m ( x) = a10 + a11 x + ⋯ + a1m x m , 0 ≤ x ≤ x1 , ⋮ m S ∆ ( f , x) = Pim ( x) = ai 0 + ai1 x + ⋯ + aim x m , xi −1 ≤ x ≤ xi , ⋮ Pnm ( x) = an 0 + an1 x + ⋯ + anm x m , xn −1 ≤ x ≤ 1,
koja zadovoljava uslove neprekidnosti izvoda zaključno do (m – 1)–vog reda u tačkama x1 , x2 , ..., xn −1 , tj. koja zadovoljava uslove (2)
Pim( k ) ( xi ) = Pi (+k1), m ( xi ) , k = 0, m − 1 , i = 1, n − 1 ,
nazivamo splajnom m–tog reda. Dakle, na svakom pododsečku [ xi −1 , xi ] funkciju f (x) aproksimiramo polinomom m–tog stepena, a u unutrašnjim tačkama podele x1 , x2 , ..., xn −1 zahteva se glatkost odreñenog reda. Kako odrediti nepoznate koeficijente aij ? Primetimo da u (1) imamo n(m + 1) nepoznatu aij ( i = 1, n , j = 0, m ). Na osnovu (2) imamo (n – 1) · m linearnih algebarskih jednačina. Kako je n(m + 1) – (n – 1) · m = n + m > 0, to je broj nepoznatih veći od broja jednačina. Ova neodreñenost se koristi za postavljanje nekih drugih, dodatnih uslova, na primer, može se zahtevati odreñena „bliskost“ funkcija S ∆m ( f , x) i f (x) . Razmotrimo prvo slučaj m = 1, tj. razmotrimo aproksimaciju funkcije f (x) linearnim splajnom S ∆1 ( f , x) . Broj nepoznatih je 2n. Dakle, treba konstruisati splajn S ∆1 ( f , x) koji se poklapa s funkcijom f (x) u čvorovima interpolacije x1 , x2 , ..., xn . Na taj način dobijamo sledeći sistem jednačina
Pi1 ( xi −1 ) = f ( xi −1 ), i = 1, n, Pi1 ( xi ) = f ( xi ), i = 1, n, odnosno 86
Pi1 ( xi −1 ) = ai 0 + ai1 xi −1 = f ( xi −1 ), i = 1, n,
(3)
Pi1 ( xi ) = ai 0 + ai1 xi = f ( xi ), i = 1, n. Iz sistema (3) nalazimo ai1 =
f ( xi ) − f ( xi −1 ) , xi − xi −1
ai 0 = f ( xi −1 ) − ai1 xi −1 , i = 1, n.
Dakle, P11 ( x) = a10 + a11 x, 0 ≤ x ≤ x1 , P ( x ) = a + a x, x ≤ x ≤ x , 20 21 1 2 S ∆1 ( f , x) = 21 (4) ⋮ Pn1 ( x) = an 0 + an1 x, xn −1 ≤ x ≤ 1. Očigledno, funkcija f (x) je aproksimirana izlomljenom linijom koja spaja
tačke ( xi , yi ) , i = 0, n . Linearni splajn S ∆1 ( f , x) se dobija i razmatranjem sledećeg varijacionog zadatka. Posmatrajmo skup S1 neprekidnih i deo po deo diferencijabilnih funkcija s (x) koje zadovoljavaju uslove 1
s ( xi ) = f ( xi ) , i = 0, n , I1 ( s ) = ∫ [ s′( x)]2 dx < ∞ . 0
Treba naći takvu funkciju s1 ( x) ∈ S1 za koju se dostiže (5)
inf I1 ( s ) . s∈S1
Ojlerova jednačina za posmatrani funkcional ima oblik s ′′( x) = 0 , što znači da je s1 ( x) linearna funkcija na svakom odsečku [ xi −1 , xi ] i, prema tome, s1 ( x) = S ∆1 ( f , x) .
Primer 1. Konstruisati linearni splajn S∆1 ( f , x) za funkciju zadatu tablicom x f (x)
0 0.00
0.25 0.25
0.75 2.25
1 4.00
Rešenje. Splajn je oblika S ∆1 (
P11 ( x) = a10 + a11 x, 0 ≤ x ≤ 0.25, f , x) = P21 ( x) = a20 + a21 x, 0.25 ≤ x ≤ 0.75, P ( x) = a + a x, 0.75 ≤ x ≤ 1. 30 31 31
Koeficijente aij , i = 1, 3 , j = 0, 1 , nalazimo iz sledećeg sistema jednačina 87
a10 + a11 ⋅ 0
= 0,
a10 + a11 ⋅ 0.25 = 0.25, a20 + a11 ⋅ 0.25 = 0.25, a20 + a21 ⋅ 0.75 = 2.25, a30 + a31 ⋅ 0.75 = 2.25, a30 + a31 ⋅ 1
= 4.00.
Odavde dobijamo: a10 = 0 , a11 = 1.00 , a20 = −0.75 , a21 = 4.00 , a30 = −3.00 , a31 = 7.00 . Dakle, S ∆1 (
0 ≤ x ≤ 0.25, 1.00 x, f , x) = −0.75 + 4.00 x, 0.25 ≤ x ≤ 0.75, −3.00 + 7.00 x, 0.75 ≤ x ≤ 1. ▲
Napomena. Uzimanje odsečka [0, 1] nije nikakvo ograničenje. Primer 2. Na odsečku [1, 4] aproksimirati funkciju y = ln x linearnim splajnom deleći odsečak na dva pododsečka dužine 1.5. Izračunajmo vrednosti funkcije u čvorovima x0 = 1 , x1 = 2.5 , x3 = 4 . x ln x
1 0.000000
2.5 0.916291
4 1.386294
Rešenje. Splajn je oblika
P ( x) = a10 + a11 x, 1 ≤ x ≤ 2.5, S ∆1 (ln x, x) = 11 P21 ( x) = a20 + a21 x, 2.5 ≤ x ≤ 4. Odgovarajući sistem jednačina je a10 + a11 ⋅1 = 0.000000, 5 = 0.916291, 2 5 a20 + a21 ⋅ = 0.916291, 2 a20 + a22 ⋅ 4 = 1.386294. a10 + a11 ⋅
Odavde nalazimo: a10 = – 0.610861, a11 = 0.610861, a20 = 0.132953, a21 = 0.313335. Dakle, −0.610861 + 0.610861x, 1 ≤ x ≤ 2.5, S ∆1 (ln x, x) = 0.132953 + 0.313335 x, 2.5 ≤ x ≤ 4. ▲
88
Najčešće se primenjuje kubni splajn – dovoljno dobro aproksimira funkciju a nije komplikovan. Dakle, razmotrimo aproksimaciju funkcije f ( x) kubnim splajnom
(6)
P13 ( x) = a10 + a11 x + a12 x 2 + a13 x3 , 0 ≤ x ≤ x1 , 2 3 P ( x) = a20 + a21 x + a22 x + a33 x , x1 ≤ x ≤ x2 , 3 S ∆ ( f , x) = 23 ⋮ P ( x) = a + a x + a x 2 + a x3 , x ≤ x ≤ 1. n0 n1 n2 n3 n −1 n3
Broj nepoznatih koeficijenata aij u (6) je, očigledno, 4n. U čvorovima interpolacije moraju biti ispunjeni uslovi: (7)
Pi 3 ( xi −1 ) = f ( xi −1 ), Pi 3 ( xi ) = f ( xi ), i = 1, n ,
što daje 2n jednačina. Zahteva se neprekidnost prvog i drugog izvoda, tj. zahteva se glatkost linije uključujući i unutrašnje čvorove, dakle, zahteva se (8)
Pi′3 ( xi ) = Pi′+1,3 ( xi ), Pi′′3 ( xi ) = Pi′′+1,3 ( xi ), i = 1, n − 1,
što daje 2n – 2 jednačine. Sada ukupno imamo 2n + 2n – 2 = 4n – 2 jednačine. Još dva uslova – dve jednačine dobijamo iz prirodnog zahteva da krivina grafika u krajnjim čvorovima bude jednaka nuli, tj. da bude (9)
P13′′ ( x0 ) = 0, Pn′′3 ( xn ) = 0 .
Očigledno, (7), (8) i (9) odreñuju sistem od 4n jednačina s 4n nepoznatih.
Napomena. Umesto uslova (9) mogu se postavljati i drugačiji uslovi. Kubni splajn S ∆3 ( f , x) se dobija razmatranjem sledećeg varijacionog zadatka. Posmatrajmo skup S 2 neprekidnih i dva puta deo po deo neprekidno diferencijabilnih funkcija s ( x) koje zadovoljavaju uslove 1
s ( xi ) = f ( xi ), i = 0, n, I 2 ( s ) = ∫ [ s ′′( x)]2 dx < ∞ . 0
Treba naći takvu funkciju s2 ( x) ∈ S 2 za koju se dostiže inf I 2 ( s ) .
s∈S2
Rešenje postavljenog zadatka je upravo kubni splajn koji zadovoljava uslove
P13′′ ( x0 ) = 0, Pn′′3 ( xn ) = 0 .
89
Primer 3. Konstruisati kubni splajn S ∆3 ( f , x) za funkciju zadatu tablicom x f (x)
0 1.000
0.5 3.375
1 16.000
Rešenje. Splajn je oblika S ∆3 (
P13 ( x) = a10 + a11 x + a12 x 2 + a13 x3 , 0 ≤ x ≤ 0.5, f , x) = 2 3 P23 ( x) = a20 + a21 x + a22 x + a23 x , 0.5 ≤ x ≤ 1.
Odgovarajući sistem jednačina je P13 (0) = 1.000 : a10 + a11 ⋅ 0 + a12 ⋅ 02 + a13 ⋅ 03 = 1.000, P13 (0.5) = 3.375 : a10 + a11 ⋅ 0.5 + a12 ⋅ 0.52 + a13 ⋅ 0.53 = 3.375, P23 (0.5) = 3.375 : a20 + a21 ⋅ 0.5 + a22 ⋅ 0.52 + a23 ⋅ 0.53 = 3.375, P23 (1) = 16.000 : a20 + a21 ⋅ 1 + a22 ⋅ 12 + a23 ⋅ 13 = 16.000, P13′ (0.5) = P23′ (0.5) : a11 + 2 ⋅ a12 ⋅ 0.5 + 3a13 ⋅ 0.52 = 021 + 2 ⋅ a232 ⋅ 0.5 + 3a23 ⋅ 0.52 , P13′′ (0.5) = P23′′ (0.5) : 2 ⋅ a12 + 6a13 ⋅ 0.5 = 2 ⋅ a22 + 6a23 ⋅ 0.5, P13′′ (0) = 0 : 2 ⋅ a12 + 6a13 ⋅ 0 = 0, P23′′ (1) = 0 : 2 ⋅ a22 + 6a23 ⋅ 1 = 0.
Rešavanjem ovog sistema jednačina dobijamo: a 10 = 1, a11 = −
6 , 19
385 113 579 1155 385 , a20 = , a21 = − , a22 = , a23 = − . 19 19 19 19 19 Traženi splajn je 385 3 6 1− x + x , 0 ≤ x ≤ 0.5, 19 19 S ∆3 ( f , x) = 113 − 579 x + 1155 x 2 − 385 x3 , 0.5 ≤ x ≤ 1. ▲ 19 19 19 19
a12 = 0 , a13 =
Primer 4. Dve paralelne željezničke pruge treba povezati spojnicom (vidi sliku) tako da u tačkama spajanja A(0, 0) i B(4, 2) i tački P(2, 1) kroz koju treba da proñe spojnica ne bude lomova, tj. da krivina bude neprekidna. Izvršiti spajanje koristeći kvadratni splajn. B(4,2)
P(2,1)
A(0,0)
Sl. 3 90
Rešenje. Splajn je oblika 2 P ( x) = a10 + a11 x + a12 x , 0 ≤ x ≤ 2, S ∆2 ( f , x) = 12 2 P22 ( x) = a20 + a21 x + a22 x , 2 ≤ x ≤ 4.
Odgovarajući sistem jednačina je P12 (0) = 0 : a10 +
a11 ⋅ 0 + a12 ⋅ 02
= 0,
P12 (2) = 1:
a10 +
a11 ⋅ 2 + a12 ⋅ 22
= 1,
P22 (2) = 1:
a20 + a21 ⋅ 2 + a22 ⋅ 2
= 1,
2
P22 (4) = 2 : a20 + a21 ⋅ 4 + a22 ⋅ 42 P12′ (0) = 0 : a11 + 2a12 ⋅ 0 P22′ (4) = 0 : a21 + 2a22 ⋅ 4
Odavde dobijamo: a10 = 0 , a11 = 0 , a12 =
= 2, = 0, = 0.
1 1 , a20 = −2 , a21 = 2 , a22 = − 4 4
Dakle, 1 2 0 ≤ x ≤ 2, 4 x , 2 S∆ ( f , x) = −2 + 2 x − 1 x 2 , 2 ≤ x ≤ 4. 4 U tački P(2, 1) treba da bude P12′ (2) = P22′ (2) . Zaista,
′ 1 2 x 4 = 1, x=2
′ 1 2 − 2 + 2 x − x =1. 4 x = 2
Napomenimo da, saglasno definiciji splajna, uslov P12′ (2) = P22′ (2) treba uzeti prilikom formiranja odgovarajućeg sistema jednačina. Meñutim, iz praktičnih razloga ovde smo uzeli uslove: P12′ (0) = 0 i P22′ (4) = 0 . ▲
20. INTERPOLACIJA FUNKCIJA VIŠE NEZAVISNIH PROMENLJIVIH Interpolaciju funkcija više nezavisnih promenljivih izložićemo na primeru interpolacije funkcije dveju nezavisnih promenljivih z = f ( x, y ) . Neka je u oblasti [a, b] × [c, d] zadata mreža ω = {( xi , y j ); a = x0 < x1 < … < xn = b, c = y0 < y1 < … < ym = d } (1) i na njoj vrednosti funkcije z = f ( x, y ) : zij = f ( xi , y j ) , i = 0, n , j = 0, m . Radi preglednosti sastavimo sledeću tablicu (tablicu s dva ulaza: x i y).
91
(2)
x y y0 y1 y2 ⋮ yj ⋮ ym
x0
x1
x2
...
xi
...
xn
z00 z01 z02 ⋮ z0 j ⋮ z0 m
z10 z11 z12 ⋮ z1 j ⋮ z1 m
z20 z21 z22 ⋮ z2 j ⋮ z2 m
... ... ... ⋮⋮⋮ ... ⋮⋮⋮ ...
z i0 z i1 z i2 ⋮ zij ⋮ zim
... ... ... ⋮⋮⋮ ... ⋮⋮⋮ ...
zn 0 zn 1 zn 2 ⋮ znj ⋮ znm
Zadatak interpolacije se sastoji u sledećem: a) Treba konstruisati takvu funkciju F ( x, y; a00 , a10 , a01 , ..., anm ) koja se poklapa sa funkcijom f ( x, y ) u tačkama ( xi , y j ) i = 0, n , j = 0, m – čvorovima mreže (1), tj. (3)
F ( xi , y j ; a00 , a10 , a01 , ..., anm ) = f ( xi , y j ) , i = 0, n , j = 0, m .
b) Nalaženju vrednosti funkcije z = f ( x, y ) za x = x , x ≠ xi , y = y , y ≠ y j , tj. nalaženju vrednosti z = f ( x , y ) . Zadatak pod a) može imati jedinstveno rešenje, imati konačno mnogo ili beskonačno mnogo rešenja ili nemati rešenje. Zbog toga se postavljaju dodatni uslovi. Prirodno je zahtevati da funkcija F u ostalim tačkama oblasti [a, b] × [c, d] dobro aproksimira funkciju f, dakle da bude | F ( x, y; a00 , a10 , a01 , ..., anm ) − f ( x, y ) | < ε , (4) gde je ε > 0 dopustiva greška aproksimacije. Ovde ćemo detaljnije razmatrati zadatak pod b). Jedan od načina rešavanja ovog zadatka je višestruka uzastopna primena interpolacije funkcija jedne nezavisne promenljive. Pretpostavimo da je xi = x0 + ihx , hx = xi +1 − xi = ∆xi = const. i y j = y0 + jhy , hy = y j +1 − y j = ∆y j = const.
tj. pretpostavimo da su čvorovi „jednako razmaknuti“. Neka je y = y j , j = 0, m . Primenom interpolacije funkcije jedne nezavisne promenljive na
funkciju f j ( x) = f ( x, y j ) nalazimo vrednost f j ( x ) = f ( x , y j ) , j = 0, m , pa, zatim, na funkciju f i ( y ) = f ( x , y ) nalazimo z = f ( x , y ) . Redosled interpolacije može biti i obrnut – prvo po y pa zatim po x.
92
Primer 1. Funkcija z = f ( x, y ) je zadata tablicom x y 0.00 0.50 1.00
0.00
0.25
0.50
0.75
1.00
0.123000 0.373000 1.123000
0.138625 0.451125 1.263625
0.248000 0.748000 1.748000
0.544875 1.357375 2.669875
1.123000 2.373000 4.123000
Izračunati f (0.2, 0.3) . Rešenje. Redom računamo primenjujući prvu Njutnovu interpolacionu formulu s konačnim razlikama. x 0.00
f ( x , 0.00) 0.123000
0.25
0.138625
∆f
∆ 2f
∆ 3f
∆ 4f
0.015625 0.093750 109375 0.50
0.248000
0.75
0.544875
1.00
1.123000
0.093750 0.187500
296875
0.000000
u=
0.093750
x − x0 0.2 − 0.00 = = 0.8 h 0.25
0.281250 578125
f (0.2, 0.00) = 0.123000 +
+ x 0.00
0.015625 0.093750 ⋅ 0.8 + ⋅ 0.8 ⋅ (−0.2) + 1! 2!
0.09375 ⋅ 0.8 ⋅ (−0.2) ⋅ (−1.2) = 0.131000. 3!
f ( x, 0.50) 0.373000
∆f
∆2f
∆3f
∆4f
0.078125 0.25
0.451125
0.218750 296875
0.50
0.748000
0.093750 312500
609375 0.75
1.357375
0.000000 93750
406250 1.015625
1.00
2.373000
f (0.2, 0.50) = 0.373000 +
+
0.078125 0.218750 ⋅ 0.8 + ⋅ 0.8 ⋅ (−0.2) + 1! 2!
0.093750 ⋅ 0.8 ⋅ ( −0.2) ⋅ ( −1.2) = 0.421000. 3!
93
x 0.00
f ( x, 1.00) 1.123000
0.25
1.263625
∆2f
∆f
∆3f
∆4f
0.140625 0.343750 484375 0.50
1.748000
0.093750 437500
0.000000
921875 0.75
2.669875
93750 531250
1.453125 1.00
4.123000
f (0.2,1.00) = 1.123000 +
+
0.140625 0.343750 ⋅ 0.8 + ⋅ 0.8 ⋅ ( −0.2) + 1! 2!
0.093750 ⋅ 0.8 ⋅ (−0.2) ⋅ (−1.2) = 1.211000. 3!
y 0.00
f (0.2, y ) 0.131000
0.50
0.421000
1.00
1.211000
∆f
∆2f
0.290000 0.500000
u=
0.790000
f (0.2, 0.3) = 0.131000 +
y − y0 0.3 − 0.00 = = 0.6 h 0.50
0.290000 0.500000 ⋅ 0.6 + ⋅ 0.6 ⋅ ( −0.4) = 0.245000 . ▲ 1! 2!
Drugi način rešavanja postavljenog zadatka je primena odgovarajućih interpolacionih formula za funkcije dveju nezavisnih promenljivih. Radi toga je potrebno uvesti konačne razlike: ∆ x zij = zi +1, j − zij , ∆ y zij = zi , j +1 − zij
su konačne razlike prvog reda. Dalje imamo ∆ k +l zij = ∆ kxk+yl l zij = ∆ kxk ( ∆ lyl zij ) = ∆ lyl (∆ kxk zij )
gde je ∆ 0 + 0 zij = zij . Na primer,
∆ 2+1 zij = ∆ 2x2 (∆ y zij ) = ∆ 2x2 ( zi , j +1 − zij ) = = ( zi + 2, j +1 − 2 zi +1, j +1 + zi , j +1 ) − ( zi + 2, j − 2 zi +1, j + zij ). Interpolaciona formula, analogna prvoj Njutnovoj interpolacionoj formuli za funkcije jedne nezavisne promenljive, je oblika
94
P( x, y ) = a00 + a10 ( x − x0 ) + a01 ( y − y0 ) + a20 ( x − x0 )( x − x1 ) +
(5)
+ a11 ( x − x0 )( y − y0 ) + a02 ( y − y0 )( y − y1 ) + + a30 ( x − x0 )( x − x1 )( x − x2 ) + a21 ( x − x0 )( x − x1 )( y − y0 ) + + a12 ( x − x0 )( y − y0 )( y − y1 ) + a03 ( y − y0 )( y − y1 )( y − y2 ) + ⋯ Koeficijente u (5) odreñujemo iz uslova
(6)
P( xi , y j ) = f ( xi , y j ) , i = 0, 1, 2,... ; j = 0,1, 2,...
Koristeći tablicu (2) redom dobijamo: a00 = z00 , a10 =
a20 =
∆ 0+1 z00 ∆1+ 0 z00 , a01 = hy hx
∆1+1 z00 1 ∆ 0 + 2 z00 1 ∆ 2+ 0 z00 , a = , a , ... = 02 11 hx hy 2! hy2 2! hx2
Interpolaciona formula glasi: P ( x, y ) = z00 +
(7)
∆ 0+1 z00 1 ∆1+ 0 z00 ( x − x0 ) + ( y − y0 ) + 1! hx hy
+
∆1+1 z00 1 ∆ 2+ 0 z00 ( )( ) 2 ( x − x0 )( y − y0 ) + − − + x x x x 0 1 2! hx2 hx hy
+
1 ∆ 3+ 0 z00 ∆ 0+ 2 z00 ( y − y )( y − y ) ( x − x0 )( x − x1 )( x − x2 ) + 0 1 + 3 hy2 3! h2
+3 +
∆ 2+1 z00 ∆1+ 2 z00 y − y + + ( x − x )( x − x )( ) 3 0 1 0 hx hu2 hx2 hy
∆ 0+ 3 z00 ( y − y0 )( y − y1 )( y − y2 ) + ⋯ 3 hy
Ako uvedemo oznake:
y − y0 x − x0 = q , onda možemo zapisati: = p, hx hy
1 1 p∆1+ 0 z00 + q∆ 0+1 z00 + p ( p − 1)∆ 2+ 0 z00 + 1! 2! + 2 pq∆1+1 z00 + q (q − 1)∆ 0+ 2 z00 + 1 + p ( p − 1)( p − 2)∆ 3+ 0 z00 + 3 p ( p − 1) q∆ 2+1 z00 + 3! +3 pq (q − 1)∆1+ 2 z00 + q (q − 1)( q − 2)∆ 0+3 z00 + ⋯
P ( x0 + hx p, y0 + hy q ) = z00 +
(7')
95
Primer 2. Koristeći interpolacionu formulu (7), odnosno (7'), izračunati f (0.2, 1.1) ako je funkcija f ( x, y ) zadata tablicom x y 1.0 1.2 1.4
0.0
0.5
1.0
1.000 1.440 1.960
1.750 2.290 2.910
3.000 3.640 4.360
Rešenje. Označimo: x0 = 0.0 i y0 = 1.0 . Napravimo tablice konačnih razlika: x 0.0
f ( x, 1.0) 1.000
0.5
1.750
∆1+0zi0
∆2+0zi0
x 0.0
f ( x, 1.2) 1.440
0.500
0.5
2.290
0.750
3.000
x 0.0
f ( x, 1.4) 1.960
0.5
2.910
∆1+0zi2
1.0
3.640
∆2+0zi2
y 1.0
f (0.0, y ) 1.000
0.500
1.2
1.440
y 1.0
f (0.5, y ) 1.750
1.2
2.290
1.4
2.910
∆0+1z1j
∆0+1z0j
∆0+2z0j
0.440
1.450 4.360
0.500 1.350
0.950
1.0
∆2+0zi1
0.850
1.250 1.0
∆1+0zi0
0.080 0.520
1.4
1.960
∆0+2z1j
y 1.0
f (1.0, y ) 3.000
0.080
1.2
3.640
1.4
4.360
0.540
∆0+1z2j
∆0+2z2j
0.640
0.620
0.080 0.720
„Mešovita“ razlika je: ∆1+1 z00 = ∆1+ 0 z01 − ∆1+ 0 z00 = 0.850 − 0.750 = 0.100, = ∆ 0+1 z10 − ∆ 0+1 z00 = 0.540 − 0.440 = 0.100.
Kako je p =
y − y0 1.1 − 1.0 x − x0 0.2 − 0.0 = = 0.5 , to je = = 0.4 i q = hx 0.5 hy 0.2
f (0.2,1.1) ≈ P (0.2,1.1) = 1.000 + 0.4 ⋅ 0.750 + 0.5 ⋅ 0.440 + 1 + [0.4 ⋅ (−0.6) ⋅ 0.500 + 2 ⋅ 0.4 ⋅ 0.5 ⋅ 0.100 + 2 + 0.5(−0.5) ⋅ 0.080] = 1.470.
>
96
21. NAPOMENE O TAČNOSTI INTERPOLACIJE Formulisani zadatak interpolacije nekada se naziva interpolacija u užem smislu. Meñutim, u numeričkoj praksi i primenama u drugim naukama i tehnici često se sreće zadatak koji se sastoji u tome da se nañe (ili nañu) vrednost (ili vrednosti) neke funkcije f ( x) ali za tačku (ili tačke) koja je van segmenta [a, b]. Takav zadatak, kao što smo rekli, zove se ekstrapolacija. Metoda rešavanja ovog zadatka je potpuno ista kao kod rešavanja zadatka interpolacije. U principu to se realizuje korišćenjem prve (oko x0 ) i druge (oko xn ) Njutnove interpolacione formule. Meñutim, ukoliko se udaljavamo od krajeva tablice, tačnost se smanjuje. Navedimo jedan primer.
Primer 1. Neka treba interpolirati funkciju f ( x) i neka su čvorovi interpolacije x0 = 0 , x1 = 1 , x2 = 2 , x3 = 3 i x4 = 4 . Analizirajmo grešku f (5) (ξ ) x( x − 1)( x − 2)( x − 3)( x − 4) 5! Ako je | f (5) ( x) | ≤ M 5 za x ∈ [0, 4] , onda greška zavisi od polinoma R4 ( x) =
Π 5 ( x) = x( x − 1)( x − 2)( x − 3)( x − 4) .
Ovaj polinom je prikazan na sl. 4. Očigledno je da je maksimalna greška u intervalu (x1, x3) manja nego u intervalima (x0, x1) i (x3, x4). Takoñe, vidi se da Π 5 ( x) vrlo brzo raste za x > 4 i x < 0; na primer, za x = 4.5 je Π 5 (4.5) = 29.53 a za x = 5 je Π 5 (5) = 120 ; za x = −0.5 imamo da je Π 5 ( −0.5) = –29.53125. y
Π5(x)
0
1
2
3
4
x
Sl. 4 97
Ako je zadata funkcija f ( x) , odsečak interpolacije [a, b] koji sadrži čvorove interpolacije i stepen n interpolacionog polinoma Pn ( x) , onda se greška interpolacije Rn ( x) = f ( x) − Pn ( x) može zapisati u sledećem obliku Rn ( x) = K ⋅ Π n +1 ( x) ,
gde je Π n +1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) . Dakle, greška u ovim zadatim uslovima zavisi od izbora čvorova interpolacije. Sada se postavlja sledeći zadatak: Kako treba izabrati čvorove interpolacije xi , i = 0, n , da bi greška interpolacije bila minimalna? Pokazano je da je za čvorove interpolacije najbolje uzeti nule Čebišovljevog (П. Л. Чебышёв, 1821–1894) polinoma. Čebišovljev polinom Tn ( x) se definiše na sledeći način: T0 ( x) = 1 , T1 ( x) = x , Tn +1 ( x) = 2 x ⋅ Tn ( x) − Tn −1 ( x) , n = 1, 2,3,...
Navedimo nekoliko prvih Čebišovljevih polinoma: T0 ( x) = 1, T1 ( x) = x, T2 ( x) = 2 x 2 − 1, T3 ( x) = 4 x3 − 3 x, T4 ( x) = 8 x 4 − 8 x 2 + 1, T5 ( x) = 16 x5 − 20 x3 + 5 x, ...
Može se primetiti sledeće: 1) koeficijent uz x n polinoma Tn ( x) je jednak 2n−1 , n ≥ 1 ; 2) T2 n ( x) su parne funkcije; 3) T2 n +1 ( x) su neparne funkcije; 4) za | x | ≤ 1 je | Tn ( x) | ≤ 1 . Dokažimo osobinu 4). Ako u trigonometrijski identitet cos(( n + 1) X ) = 2 ⋅ cos X ⋅ cos nX − cos((n − 1) X ) stavimo X = arccos x , onda ćemo dobiti cos(( n + 1) arccos x) = 2 ⋅ x ⋅ cos( n ⋅ arccos x) − cos((n − 1) arccos x) , pa možemo zaključiti da funkcija cos(n ⋅ arccos x) zadovoljava istu diferencnu jednačinu kao i Tn ( x) . Kako je još i: cos(0 ⋅ arccos x) = 1 ≡ T0 ( x) , cos(1 ⋅ arccos x) = x ≡ T1 ( x)
to je Tn ( x) = cos(n ⋅ arccos x) , n = 0, 1, 2, ...
Sada je jednostavno zaključiti da važi osobina 4). 98
Rekurentna relacija, diferencna jednačina, Tn +1 ( x) = 2 x ⋅ Tn ( x) − Tn −1 ( x) , n = 0, 1, 2, ... ima karakterističnu jednačinu λ 2 = 2 xλ − 1 , a odavde je
λ1,2 = x ± x 2 − 1 .
Za | x | ≠ 1 imamo da je λ1 ≠ λ 2 , pa je opšte rešenje diferencne jednačine Tn ( x) = C1 ⋅ λ1n + C2 ⋅ λ n2 , n = 0, 1, 2, ... , gde su C1 i C2 proizvoljne konstante. Iz početnih uslova T0 ( x) = 1 i T1 ( x) = x 1 nalazimo C1 = C2 = , pa je 2 n n 1 Tn ( x) = x + x 2 − 1 + x − x 2 − 1 , n = 0, 1, 2, ... , 2 što je još jedan mogući način zadavanja Čebišovljevih polinoma. Iz jednačine Tn ( x) ≡ cos( n ⋅ arccos x) = 0
) (
(
)
dobijamo nule:
2k + 1 π , k = 0,1, ..., n − 1 . 2n Tačke ekstremuma na segmentu [–1, 1] su one tačke za koje je | Tn ( x) | = 1 , dakle: k x( k ) = cos π , k = 0, n n i pri tome je Tn ( x( k ) ) = cos kπ = ( −1) k . xk = cos
Polinom Tn ( x) = 21− n ⋅ Tn ( x) = x n + ⋯ za x ∈ [−1, 1] najmanje odstupa od nule.
Teorema. Ako je Pn ( x) = x n + ⋯ , onda je max | Pn ( x)| ≥ max | Tn ( x)| = 21− n , n ≥ 1 .
x∈[ −1, 1]
x∈[ −1, 1]
Dokaz. Pretpostavimo suprotno, tj. pretpostavimo da je max | Pn ( x)| < max |Tn ( x)| = 21− n , x ∈ [−1,1] .
Posmatrajmo razliku Q( x) = Tn ( x) − Pn ( x) ;
99
očigledno je stepen polinoma Q( x) najviše jednak n – 1 i pri tome je sign(Tn ( x( k ) ) − Pn ( x( k ) )) = sign(( −1) k ⋅ 21− n − Pn ( x( k ) )) = ( −1) k , k = 0, n jer je Pn ( x( k ) ) < 21− n za svako k. Na taj način imamo da polinom Q( x) izmeñu svake dve uzastopne tačke x( k ) i x( k +1) menja znak, odnosno, izmeñu x( k ) i x( k +1) ima bar jednu nulu. Dakle, polinom Q ima bar n nula, a to je protivu-
rečno, jer polinom Q ima najviše n – 1 nulu. Drugim rečima, mora biti max | Pn ( x)| ≥ max | Tn ( x)| = 21− n , x ∈ [−1,1] .
Na taj način zaključujemo sledeće: od svih polinoma n–tog stepena koji imaju uz x n koeficijent 1 najmanje odstupa od nule na segmentu [–1, 1] Čebišovljev polinom Tn ( x) . ■ Ako posmatramo odsečak [a, b], onda je odgovarajući polinom n
2 x − (b + a ) 2 n Tn = x +⋯ b−a b−a
i n
b − a 1− n 2 x − (b + a ) n Tn[ a , b ] ( x) = ⋅ 2 ⋅ Tn = x +⋯ b−a 2
Dakle, važi max | Pn ( x)| ≥ max | Tn[ a , b ] ( x)| = (b − a ) n ⋅ 21− 2 n ,
x∈[ a , b ]
x∈[ a , b ]
gde je Pn ( x) = x + ⋯ proizvoljan polinom. n
Nule polinoma Tn[ a , b ] ( x) su
xk =
b+a b−a 2k + 1 + ⋅ cos π , k = 0, n − 1 . 2 2 2n
Greška interpolacije je | Rn ( x)| = | f ( x) − Pn ( x)| ≤
gde
100
je
M n+1 b−a ⋅ 2 ( n + 1)! 4
n +1
M n +1 = max | f ( n +1) ( x) | . x∈[ a , b ]
III NUMERIČKO DIFERENCIRANJE I NUMERIČKA INTEGRACIJA
0.
UVODNE NAPOMENE
Diferenciranje i integracija su vrlo česti zadaci matematičke analize. Meñutim, u mnogim praktičnim zadacima funkcija y = f ( x) je zadata tablično ili je analitički izraz f ( x) jako komplikovan, pa je nalaženje izvoda nemoguće ili vrlo teško. Slično je i u slučaju nalaženja integrala, a poznato je da postoje i takve elementarne funkcije f ( x) čija primitivna funkcija F ( x) nije 2 sin x elementarna funkcija. Na primer, e − x , , ... Osim toga, nije redak slučaj da x u izrazu f ( x) figurišu približni brojevi – podaci dobijeni na eksperimentalan način, pa tačno izračunavanje izvoda i integrala nije moguće. Zbog svega ovoga pribegava se metodama za približno diferenciranje i približnu integraciju.
1.
NUMERIČKO DIFERENCIRANJE
Jedan od mogućih načina rešavanja zadatka numeričkog diferenciranja sastoji se u sledećem. Na uočenom odsečku [a, b] funkcija f ( x) se zameni, aproksimira interpolacionim polinomom Pn ( x) , a zatim se stavi da je (1)
f '( x) ≈ Pn′( x) , a ≤ x ≤ b .
Na analogan način se postupa i u slučaju nalaženja izvoda viših redova. Ako je funkcija f ( x) dovoljno glatka i ako su rastojanja izmeñu čvorova dovoljno mala, može se očekivati da se f ′( x) i Pn′( x) ne razlikuju mnogo na odsečku [a, b]. Ako je greška interpolacionog polinoma Pn ( x) jednaka (2)
Rn ( x) = f ( x) − Pn ( x) ,
onda će greška diferenciranja biti (3) rn ( x) = Rn′ ( x) = f ′( x) − Pn′( x) . Neka je funkcija y = f ( x) zadata na skupu ekvidistantnih tačaka xi (i = 0, n) odsečka [a, b], tj. neka su date vrednosti funkcije yi = f ( xi ) (i = 0, n) . Za nalaženje približnih vrednosti izvoda: y ′ = f ′( x) , y ′′ = f ′′( x) ,... na uočenom odsečku [a, b] najpre funkciju y = f ( x) zamenjujemo, aproksimiramo odgovarajućim interpolacionim polinomom. Neka je to, primera radi, prvi Njutnov interpolacioni polinom
101
y = y0 +
∆y0 ∆ 2 y0 ∆ 3 y0 x − x0 u+ u (u − 1) + u (u − 1)(u − 2) + ... , u = h 1! 2! 3!
Kako je y ′( x) =
dy dy du 1 dy = ⋅ = ⋅ , dx du dx h du
to će biti y ′( x) =
(4) +
∆ 2 y0 ∆ 3 y0 1 (2u − 1) + (3u 2 − 6u + 2) + ∆y0 + h 2 6 ∆ 4 y0 (2u 3 − 9u 2 + 11u − 3) + … . 12
Dalje je y ′′( x) =
d ( y ′) d ( y ′) du 1 d ( y ′) , = ⋅ = ⋅ dx du dx h du
pa se iz (4) dobija (5)
y ′′( x) =
∆ 4 y0 1 2 3 y y ( u 1) (6u 2 − 18u + 11) + ... . ∆ + ∆ − + 0 0 2 12 h
Na analogan način se mogu približno izračunati izvodi proizvoljnog reda funkcije y = f ( x) . Postupak za približno nalaženje vrednosti izvoda korišćenjem drugog Njutnovog interpolacionog polinoma je identičan opisanom, a što se tiče Lagranževog interpolacionog polinoma izvodi se nalaze direktno.
Primer 1. Funkcija y = f ( x) je zadata tablicom x 0.40 0.45 0.50 0.55 0.60 y 1.58365 1.68662 1.79744 1.91650 2.04424 Izračunati: a) f '(0.40) i f ''(0.40) ; b) f '(0.42) ; c) f '(0.59) . Rešenje. Tablica konačnih razlika je x y 0.40 1.58365
∆y
∆2y
∆3y
∆4y
10297 0.45 1.68662
785 11082
0.50 1.79744
39 824
11906 0.55 1.91650
–3 36
860 12774
0.60 2.04424 a) u = ( x − x0 )/ h = (0.40 − 0.40)/0.05 = 0 ; primenom prve Njutnove interpolacione formule dobijamo: 102
1 0.00785 0.00039 −0.00003 0.10297 − + − = 1.98365 ; 0.05 2 3 4 1 11 f ''(0.40) = 0.00785 − 0.00039 + (−0.00003) = 2.97300 . 12 0.052
f '(0.40) =
b) u = ( x − x0 ) / h = (0.42 − 0.40) / 0.05 = 0.4 , pa primenom prve Njutnove interpolacione formule dobijamo: 1 0.00785 0.00039 0.10297 + (2 ⋅ 0.4 − 1) + (3 ⋅ 0.42 − 0.05 2 6 −0.00003 −6 ⋅ 0.4 + 2) + (2 ⋅ 0.43 − 9 ⋅ 0.42 + 11 ⋅ 0.4 − 3) = 2.04380 . 12
f '(0.42) =
c) Ovde koristimo drugu Njutnovu interpolacionu formulu: y '( x) =
+
∆ 2 yn − 2 ∆ 3 yn − 3 1 (2v + 1) + (3v 2 + 6v + 2) + ∆yn −1 + h 2 6
∆ 4 yn − 4 x − xn . (2v3 + 9v 2 + 11v + 3) + ⋯ , v = h 12
Kako je u konkretnom slučaju v = (0.59 − 0.60) / 0.05 = −0.2 , to je f '(0.59) =
1 0.00860 0.00036 0.12774 + (2 ⋅ (−0.2) + 1) + (3 ⋅ (−0.2) 2 + 0.05 2 6
+ 6 ⋅ (−0.2) + 2) +
−0.00003 (2 ⋅ (−0.2)3 + 9 ⋅ (−0.2) 2 + 11 ⋅ (−0.2) + 3) = 12
= 2.60745.
Kod primene formula za numeričko diferenciranje susrećemo se s dva oprečna zahteva: da bi greška aproksimacije funkcije y = f ( x) interpolacionim polinomom Pn ( x) bila manja, korak h treba smanjiti, a smanjenje koraka h dovodi do povećanja uticaja grešaka polaznih podataka i grešaka zaokrugljivanja (zbog deljenja malom vrednošću h). Zbog toga se opravdano postavlja pitanje izbora optimalne vrednosti h0 koraka h. Razmotrimo ovo pitanje na jednom primeru.
Primer 2. Ako su vrednosti
yi = f ( xi ) funkcije
y = f ( x) zadate s
tačnošću ε i (i = 0, n) i ako je f ( x) ∈ C [ x0 , xn ] , pri čemu je ispunjen uslov | f ′′( x)| ≤ M 2 < ∞ , naći optimalnu vrednost h0 koraka h za numeričko diferenciranje pomoću formule 2
103
f '( x0 ) ≈
∆y0 f ( x1 ) − f ( x0 ) = . h h
Rešenje. Kako je f '( x0 ) f ''(ξ ) 2 h+ h , ξ ∈ ( x0 , x1 ) , 1! 2!
f ( x1 ) = f ( x0 + h) = f ( x0 ) + to je f ′( x0 ) =
f ( x1 ) − f ( x0 ) f ''(ξ ) − h, h 2!
tj. greška metode je r1 (h) = −
f ''(ξ ) h , ξ ∈ ( x0 , x1 ) , 2!
h M 2 . Kako su vrednosti y0 i y1 zadate s tačnošću ε 0 i ε1 , res2 pektivno, to možemo uzeti ε = max(ε 0 , ε1 ) , pa je greška zaokrugljivanja
pa je | r1 ( h)| ≤
r2 ( h) =
ε0 + ε1 2ε , ≤ h h
Ukupna greška je
h 2ε M2 + = g ( h) . 2 h Treba naći vrednost h0 koraka h za koju je g (h) minimalno (sl. 1). Redom računamo: g(h) g(h) 1 2ε g ′(h) = M 2 − 2 ; g ′(h) = 0 ; 2 h h | r (h)| ≤ | r1 (h)| + | r2 (h)| ≤
g(h0)
2
M2
h0 = 2 2e h
0
e h0 = 2 M2
ε – optimalna vrednost koraka h; M2
min | g ( h) − g (h0 )| = 2 εM 2 .
Dakle, optimalna vrednost h0 koraka h
h
je h0 = 2
Sl. 1 a najmanja greška je
ε , M2
2 ε ⋅ M2 . ▲
2.
NUMERIČKO DIFERENCIRANJE FUNKCIJA VIŠE NEZAVISNIH PROMENLJIVIH
Numeričko diferenciranje funkcija više nezavisnih promenljivih razmotrićemo na primeru funkcije dveju nezavisnih promenljivih z = f ( x, y ) . Neka su 104
zadate vrednosti zij = f ( xi , y j ) funkcije z = f ( x, y ) u čvorovima pravougaone mreže ω = {( xi , y j ); xi = x0 + ihx , i = 0, n, y j = y0 + jhy , j = 0, m} . Zadatak numeričkog diferenciranja može se rešiti, analogno rešavanju zadatka numeričkog diferenciranja funkcije jedne nezavisne promenljive, polazeći od odgovarajuće interpolacione formule. Pokažimo to na primeru primene prve Njutnove interpolacione formule s konačnim razlikama. Dakle, poñimo od interpolacione formule 1 1 z = z00 + p∆1+ 0 z00 + q∆ 0+1 z00 + p ( p − 1)∆ 2+ 0 z00 + 2 pq∆1+1 z00 + 1! 2! 1 + q (q − 1)∆ 0+ 2 z00 + p ( p − 1)( p − 2)∆ 3+ 0 z00 + 3 p ( p − 1)q∆ 2+1 z00 + 3! 1+ 2 +3 pq ( q − 1) ∆ z00 + q (q − 1)(q − 2)∆ 0+3 z00 + ⋯ , gde je p =
y − y0 x − x0 , q= i ∆ k +l z00 = ∆ kxk+yl l z00 . hx hy
Kako je
∂z ∂z dq 1 ∂z ∂z ∂z dp 1 ∂z i = = , to je = = ∂x ∂p dx hx ∂p ∂y ∂q dy hy ∂q
∂z 1 1+ 0 1 = ∆ z00 + (2 p − 1)∆ 2+ 0 z00 + 2q∆1+1 z00 + 2! ∂x hx 1 2 + (3 p − 6 p + 2)∆ 3+ 0 z00 + 3! + (6 pq − 3q) ∆ 2+1 z00 + (3q 2 − 3) ∆1+ 2 z00 + ⋯ ,
{
(1)
}
∂z 1 0+1 1 = ∆ z00 + 2 p∆1+1 z00 + (2q − 1)∆ 0+ 2 z00 + ∂y hy 2! 1 + (3 p 2 − 3)∆ 2+1 z00 + 3!
{
(2)
}
+ (6 pq − 3 p ) ∆1+ 2 z00 + (3q 2 − 6q + 2) ∆ 0+ 3 z00 + ⋯ .
Na potpuno isti način se računaju izvodi višeg reda.
Primer 1. Funkcija z = f ( x, y ) zadata je tablicom x y 0.0 0.3 0.6 Izračunati
0.0
0.2
0.4
0.6
0.000 3.780 15.120
1.080 5.580 17.640
4.320 9.540 22.320
9.720 15.660 29.160
∂z ∂z i za x = 0.1 i y = 0.2. ∂x ∂y
105
Rešenje. Formirajmo sledeće tablice konačnih razlika: x 0.0
f ( x, 0.0) 0.000
0.2
1.080
∆1+0zi0
∆2+0zi0
∆3+0zi0
1.080 2.160 3.240 0.4
4.320
0.000 2.160
5.400 0.6
9.720
x 0.0
f ( x, 0.3) 3.780
0.2
5.580
0.4
9.540
0.6
15.660
x 0.0
f ( x, 0.6) 15.120
0.2
17.640
∆1+0zi0
∆2+0zi0
∆3+0zi0
1.800 2.160 3.960
0.000 2.160
6.120
∆1+0zi0
∆2+0zi0
∆3+0zi0
2.520 2.160 4.680 0.4
22.320
0.000 2.160
6.840 0.6 y 0.0
f (0.0, y ) 0.000
29.160
∆0+1z1j
∆0+2z1j
y 0.0
f (0.2, y ) 1.080
3.780 0.3
3.780 15.120
y 0.0
f (0.4, y ) 4.320
7.560
0.3
9.540
∆0+1z1j
0.3
5.580
0.6
17.640
∆0+2z1j
y 0.0
f (0.6, y ) 9.720
7.560
0.3
15.660
106
∆0+1z2j
∆0+2z2j
5.940
12.780 22.320
7.560 12.060
5.220
0.6
∆0+2z2j
4.500
11.340 0.6
∆0+1z2j
7.560 13.50
0.6
29.160
Dalje računamo: ∆1+1 z00 = ∆1+ 0 z01 − ∆1+ 0 z00 = 1.800 − 1.080 = 0.720 = = ∆ 0+1 z10 − ∆ 0+1 z00 = 4.500 − 3.780, ∆1+ 2 z00 = ∆ 0+ 2 z10 − ∆ 0+ 2 z00 = 7.560 − 7.560 = 0.000, ∆ 2+1 z00 = ∆ 2+ 0 z01 − ∆ 2+ 0 z00 = 2.160 − 2.160 = 0.000 Kako je y − y0 0.2 − 0.0 2 x − x0 0.1 − 0.0 1 i q= = = , p= = = hx 0.2 2 hy 0.3 3 to primenom formula (1) i (2) nalazimo: 1 1 1 2 1.080 + 2 ⋅ − 1 ⋅ 2.160 + 2 ⋅ 0.720 = 0.2 2 2 3 x = 0.1, y = 0.2 1 = ⋅ 1.56 = 7.800, 0.2 ∂z 1 1 1 2 = 3.780 + 2 ⋅ ⋅ 0.720 + 2 ⋅ − 1 ⋅ 7.560 = ∂y x =0.1, y =0.2 0.3 2 2 3 1 = ⋅ 5.400 = 18.000. 0.3 ∂z ∂x
3.
=
NUMERIČKA INTEGRACIJA
Neka treba izračunati integral b
(1)
I = ∫ f ( x)dx . a
Nalaženje vrednosti integrala (1) naziva se mehanička kvadratura ili, kraće, kvadratura (u slučaju dvostrukog integrala – mehanička kubatura ili, kraće, kubatura). Izračunavanje odreñenog integrala (1) na osnovu niza poznatih, izračunatih vrednosti yi = f ( xi ) , gde čvorovi xi ∈ [a, b] , i = 0, n , podintegralne funkcije ili integranda f ( x) naziva se približna ili numerička integracija. Mogu se konstruisati različite formule za približno nalaženje integrala (1) – kvadraturne formule. Najčešće se te formule dobijaju na sledeći način. Funkcija f ( x) se zameni (na odsečku [a, b] ili na njegovim delovima) drugom, od nje jednostavnijom funkcijom F ( x) , koja je u nekom smislu bliska funkciji f ( x) . Na primer, zahteva se da se funkcije F ( x) i f ( x) poklapaju u čvorovima, tj. zahteva se da je F ( xi ) = f ( xi ) i = 0, n . U svojstvu funkcije F ( x) uzimaju se ili algebarski polinomi ili trigonometrijski polinomi ili racionalne funkcije, itd, što najčešće zavisi od zadatka. Ako je interval integracije konačan i f ( x) na njemu nema singulariteta, onda se može postići visoka tačnost sa polinomima relativno niskog stepena. U protivnom se zadatak komplikuje. 107
Kvadraturne formule su najčešće sledećeg oblika b
n
I = ∫ f ( x)dx ≈ ∑ Ak f ( xk ) , xk ∈ [a, b] ,
(2)
k =0
a
gde se Ak nazivaju koeficijentima a xk čvorovima kvadraturne formule. Prirodn
no,
∑ Ak f ( xk )
se naziva kvadraturnom sumom. Očigledno je da (2) sadrži
k =0
2n + 3 parametara: n, Ak i xk ( k = 0, n ) i oni se biraju tako da bi formula (2) davala što je moguće tačnije rezultate pri integraciji funkcija odreñene klase. Smisao parametra n je očigledan: što je veće n, to se po pravilu može dostići veća tačnost odgovarajućim izborom Ak i xk . Prema tome, smatraćemo da je n fiksirano i razmotrićemo zadatak izbora Ak i xk (nekada ni xk ne možemo birati, na primer ako je podintegralna funkcija data tablično, onda su xk fiksirani, pa se mogu birati samo Ak ). Neka su čvorovi xk ( k = 0, n ) kvadraturne formule (2) na bilo koji način izabrani. Pozabavimo se pitanjem odreñivanja koeficijenata Ak . Konstruišimo interpolacioni polinom Ln ( x) za funkciju f ( x) sa
čvorovima xk ( k = 0, n ). Dakle, Π n +1 ( x) f ( xk ) , k = 0 ( x − xk )Π ′n +1 ( xk ) gde je Π n +1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) . Sada imamo n
Ln ( x) = ∑
f ( x) = Ln ( x) + Rn ( x) .
(3)
Zamenom (3) u (1) dobija se b
b
b
I = ∫ f ( x) dx = ∫ Ln ( x)dx + ∫ Rn ( x)dx . a
a
a
Imajući u vidu (2) imamo b
b
I = ∫ f ( x)dx ≈ ∫ Ln ( x) dx = a
a
b
n
∑
k =0
f ( xk ) ∫ a
Π n +1 ( x) dx , ( x − xk )Π ′n +1 ( xk )
dakle b
∫
(4)
a
f ( x) dx ≈
n
∑ Ak f ( xk ) ,
k =0
gde se koeficijenti kvadraturne formule računaju po formuli b
(5)
Ak = ∫ a
Π n +1 ( x) dx , k = 0, n . ( x − xk )Π ′n +1 ( xk )
Primetimo da za dati raspored čvorova koeficijenti Ak ne zavise od funkcije f ( x) . 108
Greška kvadraturne formule (4) je b
b
Rn ( f ) = ∫ Rn ( x) dx = ∫
(6)
a
a
f ( n +1) (ξ) Π n +1 ( x) dx , (n + 1)!
a odavde je | Rn ( f )| ≤
(7)
M n +1 b | Π n +1 ( x)| dx , ( n + 1)!a∫
gde je | f ( n +1) ( x)| ≤ M n +1 < ∞ , x ∈ [a, b] . Ako je f ( x) = Pm ( x) i m ≤ n , onda je Rn ( x) ≡ 0 . Ako su granice integracije a i b ujedno i čvorovi kvadraturne formule, onda je kvadraturna formula (4) zatvorenog tipa a u suprotnom slučaju je otvorenog tipa.
4.
NJUTN–KOTESOVE KVADRATURNE FORMULE
Neka treba izračunati integral b
I = ∫ f ( x) dx .
(1)
a
Neka su čvorovi x0 , x1 , ..., xn , ekvidistantni, tj. neka je interval integracije podeljen na n jednakih delova dužine b−a h= , n odnosno, neka su tačke xk = a + kh ( k = 0, n) čvorovi interpolacije. Tada je kvadraturna formula b
n
I = ∫ f ( x)dx ≈ ∑ Ak f ( xk ) a
k =0
sledećeg oblika b
n
I = ∫ f ( x)dx ≈ (b − a ) ∑ Ckn f (a + kh) ,
(2)
a
k =0
gde je (3) a
Ckn =
Ak Π n +1 ( x) 1 b dx , = ∫ b − a b − a a ( x − a − kh)Π ′n +1 ( a + kh)
Π n +1 ( x) = ( x − a )( x − a − h)( x − a − 2h)⋯ ( x − a − nh) .
Ako uvedemo smenu x = a + th (0 ≤ t ≤ n), onda se dobija: Π n +1 ( x) = Π n +1 (a + th) = h n +1t (t − 1)⋯ (t − n), x − a − kh = th − kh = h(t − k ),
109
Π ′n +1 (a + th) = ( xk − x0 )⋯ ( xk − xk −1 )( xk − xk +1 )⋯ ( xk − xn ) = = (−1) n − k ⋅ h n ⋅ k !( n − k )!,
pa je Ckn =
1 n h n +1t (t − 1)⋯ (t − n) h dt b − a ∫0 h(t − k )( −1) n − k ⋅ h n k !( n − k )!
ili (4)
h (−1) n − k n t (t − 1)… (t − n) ⋅ dt , k = 0, n . b − a k !( n − k )! ∫0 t −k Na taj način dobijamo kvadraturne formule Ckn =
b
n
∫ f ( x)dx ≈ (b − a)k∑=0 Ck f (a + kh)
(5)
n
a
sa čvorovima: a = x0 , x1 = x0 + h, ... , xk = x0 + kh, ..., xn = b i koeficijentima Ckn =
(6)
1 (−1) n − k n t (t − 1)⋯ (t − n) ⋅ dt , k = 0, n , n k !( n − k )! ∫0 t −k
koje se nazivaju Njutn–Kotesovim (Roger Cotes, 1682–1716) kvadraturnim formulama. n
Dokazuje se da je: 1)
∑ Ckn = 1
k =0
i 2) Ckn = Cnn− k .
Budući da koeficijenti Ckn ne zavise od funkcije f ( x) a zavise samo od k i n, možemo ih izračunati i napraviti tablicu koeficijenata: k n 1 2 3 4 5 6 7 ⋮
0
1
001 001 001 007 019 041 751 ⋮
0004 0003 0032 0075 0216 3577 ⋮
2
0012 0050 0027 1323 ⋮
3
0272 2989 ⋮
...
...
00002 00006 00008 00090 00288 00840 17280 ⋮
U poslednjoj koloni tablice su imenioci koeficijenata, a zbog n simetričnosti koeficijenata uneti su samo koeficijenti sa indeksom k ≤ . 2 Za različite vrednosti n dobijaju se različite Njutn–Kotesove kvadraturne formule, a neke od njih zbog specifičnog značenja češće se koriste i nose posebne nazive. Ako u relaciji f ( x) = Ln ( x) + Rn ( x) umesto Lagranževog interpolacionog polinoma 110
Π n +1 ( x) f ( xk ) , k = 0 ( x − xk )Π ′n +1 ( xk ) Π n +1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) , uzmemo bilo koji drugi interpolacioni polinom, dobićemo, po pravilu, istu kvadraturnu formulu. Meñutim, te formule mogu biti, u odreñenom smislu, praktičnije. Pokažimo to na primeru primene nekih interpolacionih polinoma s konačnim razlikama. Integralimo li prvi Njutnov interpolacioni polinom u granicama od x0 do x0 + nh , odnosno od 0 do n, imaćemo n
Ln ( x) = ∑
x0 + nh
u (u − 1) 2 u (u − 1)(u − 2) 3 ∆ y0 + ∆ y0 + 2! 3! 0 x0 u (u − 1)(u − 2)(u − 3) 4 u (u − 1)(u − 2)(u − 3)(u − 4) 5 + ∆ y0 + ∆ y0 + 4! 5! u (u − 1)(u − 2)(u − 3)(u − 4)(u − 5) 6 + ∆ y0 + … du , 6!
I=
(7)
∫
n
ydx = h ∫ ( y0 + u ∆ y0 +
ili x0 + nh
∫
x0
n3 n 2 ∆ 2 y0 n2 ydx = h ny0 + ∆y0 + − + 2 2 2! 3 n4 ∆ 3 y0 n5 3n 4 11n3 ∆ 4 y0 + − n3 + n 2 + − + − 3n 2 + 2 3 4 3! 5 4!
(8)
n6 ∆ 5 y0 35n 4 50n3 + − 2n 5 + − + 12n 2 + 4 3 6 5! 6 n7 15n6 225n 4 274n3 5 2 ∆ y0 + − + 17 n − + − 60n + ⋯ . 6 4 3 7 6!
Integralimo li Stirlingov interpolacioni polinom u granicama od x0 − h do x0 + h , odnosno od –1 do 1, imaćemo I=
h
∫
−h
1 ∆y + ∆y0 u 2 f ( x)dx = h ∫ y0 + u −1 + ∆y−1 + 2 2 −1
+
u (u 2 − 1) ∆ 3 y−2 + ∆ 3 y−1 u 2 (u 2 − 1) 4 + ∆ y−2 + 3! 2 4!
+
u (u 2 − 1)(u 2 − 4) ∆ 5 y−3 + ∆ 5 y−2 u 2 (u 2 − 1)(u 2 − 4) 6 + ∆ y−3 + ⋯ du = 5! 2 6!
1 2 1 1 2 1 4 = h 2 y0 + ∆ 2 y−1 + − ∆ 4 y−2 + − 1 + ∆ 6 y−3 + ⋯ = 3 24 5 3 720 7 3
111
1 1 4 1 = 2h y0 + ∆ 2 y−1 − ∆ y−2 + ∆ 6 y−3 + ⋯ . 6 180 1512
Ova formula daje približnu vrednost integrala u granicama od x0 − h do x0 + h . Ako uvedemo smenu: x = t − h , onda imamo približnu vrednost integrala u granicama od x0 do x0 + 2h . Označimo li tu vrednost sa I 02 , imaćemo: 1 1 4 1 I 02 = 2h y1 + ∆ 2 y0 − ∆ y−1 + ∆ 6 y−2 + ⋯ . 6 180 1512
Približne vrednosti I 24 , I 46 , ..., I nn− 2 računaju se po formulama: 1 1 4 1 I 24 = 2h y3 + ∆ 2 y2 − ∆ y1 + ∆ 6 y0 + ⋯ , 6 180 1512 1 1 4 1 I 46 = 2h y5 + ∆ 2 y4 − ∆ y3 + ∆ 6 y2 + ⋯ , 6 180 1512 ………………………………………………………… 1 1 4 1 I nn− 2 = 2h yn −1 + ∆ 2 yn − 2 − ∆ yn − 3 + ∆ 6 yn − 4 + ⋯ . 6 180 1512 Sada dobijamo I 0n = =
x0 + nh
∫
ydx = I 02 + I 24 + I 46 + ⋯ + I nn− 2 =
x0 x0 + 2 h
+
∫
∫
x0 + 2 h
x0
(9)
x0 + 4 h
+
x0 + 6 h
x0 + nh
+⋯ +
∫
x0 + 4 h
=
∫
x0 + ( n − 2) h
1 = 2h [ ( y1 + y3 + y5 + ⋯ + yn −1 ) + (∆ 2 y0 + ∆ 2 y2 + ⋯ + ∆ 2 yn − 2 ) − 6 1 4 4 4 − ( ∆ y−1 + ∆ y1 + ∆ y3 + ⋯ + ∆ 4 yn −3 ) + 180 1 + (∆ 6 y−2 + ∆ 6 y0 + ∆ 6 y2 + ⋯ + ∆ 6 yn − 4 ) + ⋯ . 1512
Integralimo li Beselov interpolacioni polinom u granicama od x0 do 1 1 1 1 x0 + h , odnosno od v = u − = − do v = u − = , imaćemo 2 2 2 2 1 x0 + h 2 v 2 − 14 ∆ 2 y + ∆ 2 y y +y −1 0 I 01 = ∫ f ( x) dx = h ∫ 0 1 + v∆y0 + + 2 2 2 x0 − 12 2 1 v v −4 3 v 2 − 14 v 2 − 94 ∆ 4 y + ∆ 4 y −2 −1 + ∆ y−1 + + 3! 4! 2
(
(
112
)
(
)(
)
)
+
(
)(
v v 2 − 14 v 2 − 94
)∆ y
−2 + 5! v 2 − 14 v 2 − 94 v 2 − 2.5 ∆ 6 y−3 + ∆ 6 y−2 4 + + ⋯) dv = 6! 2 y + y1 1 ∆ 2 y−1 + ∆ 2 y0 11 ∆ 4 y−2 + ∆ 4 y−1 = h 0 − + − 12 2 720 2 2
(
−
)(
5
)(
)
191 ∆ 6 y−3 + ∆ 6 y−2 + ⋯ . 60480 2
Približne vrednosti I12 , I 23 , ..., I nn−1 računaju se po formulama: y + y2 1 ∆ 2 y0 + ∆ 2 y1 11 ∆ 4 y−1 + ∆ 4 y0 I12 = h 1 − + − 12 2 720 2 2 191 ∆ 6 y−2 + ∆ 6 y−1 − + ⋯ , 60480 2 y + y3 1 ∆ 2 y1 + ∆ 2 y2 11 ∆ 4 y0 + ∆ 4 y1 I 23 = h 2 − + − 12 2 720 2 2 191 ∆ 6 y−1 + ∆ 6 y0 − + ⋯ , 60480 2 ………………………………………………………… y + yn 1 ∆ 2 yn − 2 + ∆ 2 yn −1 11 ∆ 4 yn −3 + ∆ 4 yn − 2 I nn−1 = h n −1 − + − 2 12 2 720 2 191 ∆ 6 yn − 4 + ∆ 6 yn −3 − + ⋯ . 60480 2
Sada dobijamo
(10)
x0 + nh
y y =h 0 + y1 + y2 + ⋯ + yn −1 + n − 2 2 x0 x0 x1 x2 xn−1 2 2 ∆ yn −1 1 ∆ y−1 − + ∆ 2 y0 + ∆ 2 y1 + ⋯ + ∆ 2 yn − 2 + + 12 2 2 ∆ 4 yn − 2 11 ∆ 4 y−2 4 4 4 + + ∆ y + ∆ y + ⋯ + ∆ y + − −1 0 n −3 720 2 2 ∆ 6 yn − 3 191 ∆ 6 y−3 − + ∆ 6 y−2 + ∆ 6 y−1 + ⋯ + ∆ 6 yn − 4 + + ⋯ . 60480 2 2
I 0n =
∫
x1
x2
x3
y dx = ∫ + ∫ + ∫ + ⋯ +
xn
∫
113
Kako po definiciji konačnih razlika imamo: ∆ 2 y−1 = ∆y0 − ∆y−1 , ∆ 2 y0 = ∆y1 − ∆y0 , ……………………… ∆ 2 yn −1 = ∆yn − ∆yn −1 , ∆ 4 y−2 = ∆ 3 y−1 − ∆ 3 y−2 , ∆ 4 y−1 = ∆ 3 y0 − ∆ 3 y−1 , ……………………… ∆ 4 yn − 2 = ∆ 3 yn −1 − ∆ 3 yn − 2 , ∆ 6 y−3 = ∆ 5 y−2 − ∆ 5 y−3 , ∆ 6 y−2 = ∆ 5 y−1 − ∆ 5 y−2 , ……………………… ∆ 6 yn −3 = ∆ 5 yn − 2 − ∆ 5 yn −3 , i tako dalje,
to formulu (10) možemo zapisati i na sledeći način:
(11)
y y 1 ∆y + ∆y0 I 0n = h 0 + y1 + y2 + ⋯ + yn −1 + n + −1 2 12 2 2 11 ∆ 3 y−2 + ∆ 3 y−1 191 ∆ 5 y−3 + ∆ 5 y−2 − − + 720 2 2 60480 1 ∆y + ∆yn 11 ∆3 yn − 2 + ∆3 yn −1 − n −1 − + 12 2 2 720 191 ∆ 5 yn −3 + ∆ 5 yn − 2 − + ⋯ , 60480 2
−
ili y y I 0n = h 0 + y1 + y2 + ⋯ + yn −1 + n − 2 2
−
1 ∆yn −1 + ∆yn ∆y−1 + ∆y0 − 12 2 2
+
11 ∆ 3 yn − 2 + ∆ 3 yn −1 ∆ 3 y−2 + ∆ 3 y−1 − − 720 2 2
−
191 ∆ 5 yn −3 + ∆ 5 yn − 2 ∆ 5 y−3 + ∆ 5 y−2 − 60480 2 2
(12)
114
+
+ ⋯ .
5.
TRAPEZNA KVADRATURNA FORMULA
Iz (3.5) i (3.6) za n = 1 dobija se: b
I = ∫ f ( x)dx ≈
(1)
a
b−a [ f ( a ) + f (b)] , 2
1 (−1)1− 0 1 t (t − 1) 1 1 (−1)1−1 1 t (t − 1) 1 1 , C01 = ⋅ dt = C = ⋅ dt = . 1 ∫ ∫ 1 0!(1 − 0)!0 t − 0 2 1 1!(1 − 1)!0 t − 1 2
Formula (1) se zove trapezna kvadraturna formula; geometrijski smisao je sledeći – površina koja je odreñena integralom I se aproksimira površinom trapeza (sl. 2), odnosno, f ( x) odsečkom prave linije P1 ( x) koja sadrži tačke (a, f (a )) i (b, f (b)) . y R1( f )
f(x)
P1(x)
f(a) 0
b–a [f(a) + f(b)] 2
f(b) b
a
x
Sl. 2 Greška metode – formule (1) je prema (2.3) i (2.6) b
R1 ( f ) = ∫ f ( x)dx − a
b−a 1 b [ f (a ) + f (b)] = ∫ ( x − a )( x − b) f "(ξ ) dx , ξ ∈ (a, b) 2 2!a
ili, posle integracije, (2)
R1 ( f ) = −
(b − a )3 f "(ξ ) , ξ ∈ (a, b) . 12
Formula za grešku trapezne kvadraturne formule može se dobiti i na sledeći način. Pretpostavimo da f ( x) ∈ C 2 [a, b] . Posmatrajmo grešku kao funkciju koraka h, tj. x0 + h h R ( h) = ∫ f ( x) dx − [ f ( x0 ) + f ( x0 + h)] . 2 x0 Diferencirajući R (h) dva puta po h dobijamo 1 h R′(h) = f ( x0 + h) − [ f ( x0 ) + f ( x0 + h)] − f ′( x0 + h) = 2 2 1 h = [ f ( x0 + h) − f ( x0 )] − f ′( x0 + h), 2 2
115
1 1 h h f ′( x0 + h) − f ′( x0 + h) − f ′′( x0 + h) = − f ′′( x0 + h), 2 2 2 2 Osim toga je R (0) = 0 i R′(0) = 0 . Integrišući po h i koristeći teoremu o srednjoj vrednosti nalazimo: h h 1h 1 R′(h) = R′(0) + ∫ R′′(t ) dt = − ∫ t f ′′( x0 + t ) dt = − f ′′(ξ1 ) ∫ t dt = 20 2 0 0 2 h =− f ′′(ξ1 ), ξ1 ∈ ( x0 , x0 + h), 4 h h 1h 1 R ( h) = R (0) + ∫ R′(t ) dt = − ∫ t 2 f ′′(ξ1 ) dt = − f ′′(ξ) ∫ t 2 dt = 40 4 0 0 3 h =− f ′′(ξ), ξ ∈ ( x0 , x0 + h). 12 Dakle, greška osnovne trapezne kvadraturne formule je h3 R ( h) = − f ′′(ξ), ξ ∈ ( x0 , x0 + h) . 12 R′′( h) =
Iz (2) je očigledno da greška bitno zavisi od dužine b – a odsečka [a, b]. Zbog toga, a da bismo dobili tačniji rezultat, podelimo odsečak [a, b] na n b−a jednakih delova dužine h = . Dalje, ako se uoči odsečak [a + kh, a + n + (k + 1) n] i na njemu primeni formula (možemo je nazvati osnovnom) (1), onda se dobija a + ( k +1) h
∫
a + kh
h f ( x)dx ≈ [ f k + f k +1 ] + Rk ( f ) , 2
gde je f j = f ( a + jh) ( j = k , k + 1) , a greška je Rk ( f ) = −
h3 f ′′(ξ k ) , ξ k ∈ (a + kh, a + (k + 1) h) . 12
Kako je a+h
b
∫ f ( x)dx = ∫ a
f ( x) dx +
a +2h
∫
a +h
a
f ( x) dx + ⋯ +
b
∫
f ( x) dx ,
a + ( n −1) h
to je b
h
∫ f ( x)dx = 2 [ f0 + 2 f1 + ⋯ + 2 f n −1 + f n ] + R( f ) ,
a
gde je R ( f ) = R0 + R1 + ⋯ + Rn −1 = −
116
h3 [ f "(ξ 0 ) + f "(ξ1 ) + ⋯ + f "(ξ n −1 )] = 12
=−
b − a 2 f "(ξ 0 ) + f "(ξ1 ) + ⋯ + f "(ξ n −1 ) ⋅h . 12 n
Ako je f "( x) neprekidna funkcija na [a, b], onda postoji tačka ξ ∈ (a, b) takva da je f "(ξ 0 ) + f "(ξ1 ) + ⋯ + f "(ξ n −1 ) = f "(ξ ) , n pa je definitivno greška uopštene trapezne kvadraturne formule b h (3) ∫ f ( x)dx ≈ 2 [ f0 + 2( f1 + ⋯ + f n −1 ) + f n ] a jednaka b−a 2 (4) R( f ) = − h f "(ξ ) , ξ k ∈ (a, b) . 12
Primer 1. Koristeći trapeznu kvadraturnu formulu izračunati 0.4 dx . I= ∫ 4 0 1+ x Rešenje. Izaberimo korak h = 0.1 i izračunajmo vrednosti integranda. Rezultati računanja su dati u sledećoj tabeli. x
x4
1 + x4
0.0 0.1 0.2 0.3 0.4
0.00000 0.00010 0.00160 0.00810 0.02560
1.00000 1.00010 1.00160 1.00810 1.02560
f ( x) Prema formuli (3) je 1.00000 0.1 IT = [1.00000 + 2(0.99990 + 0.99990 2 0.99840 +0.99840 + 0.99196) + 0.97504] = 0.99196 = 0.39778 0.97504
Procenimo grešku prema formuli (4). Redom računamo: 4 x 2 (5 x 4 − 3) − 4 x3 , , max | f ′′( x)| ≤ 0.7 , f '( x) = f "( x ) = x∈[0,0.4] (1 + x 4 ) 2 (1 + x 4 )3 pa je | R ( f )| ≤
0.4 ⋅ 0.12 ⋅ 0.7 = 0.00023… < 0.0003 12
i I = 0.3978 ± 0.0003. ▲ Ako bi u zadatku bila zadata tačnost ε, onda bismo iz uslova b−a | R ( f )| ≤ ⋅ M 2 h 2 ≤ ε , M 2 = max | f "( x)| x∈[ a , b ] 12 12ε prvo odredili korak h ≤ . (b − a ) M 2 117
Primer 2. Odrediti korak integracije h tako da greška približne vrednosti integrala 1
I = ∫ sin( x 2 )dx , 0
izračunata pomoću trapezne kvadraturne formule, ne bude veća od ε = 0.01. f ( x) = sin( x 2 ) , Rešenje. Redom imamo: f '( x) = 2 x cos( x 2 ) , f "( x) = 2 cos( x 2 ) − 4 x 2 sin( x 2 ) , f '''( x) = −4 x[3sin( x 2 ) + 2 x 2 cos( x 2 )] .
Kako je f '''( x) = [ f ''( x)]' = − 4 x[3sin( x 2 ) + 2 x 2 cos( x 2 )] < 0 za x ∈ (0.1) , to je f ''( x) na intervalu integracije opadajuća funkcija. Dalje, f ''(0) = 2 i f ''(1) = −2.285… , to je max | f ''( x)| = 2.285… < 2.29 = M 2 za x ∈ [0, 1] , pa je
h≤
12 ⋅ ε 12 ⋅ 0.01 = = 0.0524 = 0.2289… (b − a ) M 2 (1 − 0) ⋅ 2.29
i možemo uzeti h = 0.2. Tabelirajmo podintegralnu funkciju x 0.0 0.2 0.4 0.6 0.8 1.0
6.
f ( x) 0.0000 0.0400 0.1593 0.3523 0.5972 0.8415
Primenom trapezne kvadraturne formule dobijamo 1 2 2 2 2 1
0.2 ⋅ 3.1391 = 0.31391 ; 2 greška približne vrednosti I = 0.31 nije veća od 0.01. ▲ I=
SIMPSONOVA KVADRATURNA FORMULA
Iz (3.5) i (3.6) za n = 2 dobija se: b b−a a+b I = ∫ f ( x)dx ≈ f (a) + 4 ⋅ f + f (b) 6 2 a 2−0 2 1 (−1) t (t − 1)(t − 2) 1 C02 = ⋅ dt = , ∫ 2 0!(2 − 0)!0 t −0 6 (1) , 2 −1 2 1 (−1) t (t − 1)(t − 2) 4 C12 = ⋅ dt = , 2 1!(2 − 1)!0∫ t −1 6 2 2− 2 1 (−1) t (t − 1)(t − 2) 1 C22 = ⋅ dt = ; 2 2!(2 − 2)!0∫ t−2 6 a+b b−a budući da je b − a = 2h , a = x0 , =a+ = x0 + h = x1 i b = x0 + 2h = x2 , 2 2 to se formula (1) može zapisati u sledećem obliku 118
x2
I=
(2)
h f ( x)dx ≈ [ f ( x0 ) + 4 ⋅ f ( x1 ) + f ( x2 )] . 3
∫
x0
Formula (1), odnosno (2), se zove osnovna Simpsonova (T. Simpson, 1710– 1761) kvadraturna formula; geometrijski smisao je sledeći – površina koja je odreñena integralom I se aproksimira površinom koja je odreñena odsečkom ose Ox, odsečcima pravih x = a i x = b i odsečkom parabole y = P2 ( x) koja sadrži tačke ( x0 , y0 ) , ( x1 , y1 ) i ( x2 , y2 ) , dakle, za x ∈ [ x0 , x2 ] funkcija f ( x) se aproksimira odsečkom parabole (zbog toga se formula (1) ponekad zove pravilo parabole) (sl. 3). R2(f)
y +
P2(x)
– h [f(x )+4f(x )+f(x )] 0 1 2 3 0 x0 = a
f(x)
x2 = b x
x1 = a + b 2
Sl. 3 Greška metode – formule (1) je prema (2.3) i (2.6) b b−a a+b R2 ( f ) = ∫ f ( x)dx − f (a) + 4 ⋅ f + f (b) = 6 2 (3) a b 1 a+b = ∫ ( x − a) x − ( x − b) f '''(ξ )dx, ξ ∈ (a, b). 3!a 2 Iz načina izvoñenja Simpsonove kvadraturne formule neposredno sledi da je ona tačna za sve polinome drugog stepena P2 ( x) = a0 + a1 x + a2 x 2 .
Meñutim, Simpsonova formula je tačna i za sve polinome trećeg stepena P3 ( x) = a0 + a1 x + a2 x 2 + a3 x3 ,
što se jednostavno pokazuje. Naime, kako je P3 ( x) = P2 ( x) + a3 x3 , to je b
b
b
b
3 ∫ P3 ( x)dx = ∫ P2 ( x)dx + a3 ∫ x dx = ∫ P2 ( x)dx + a3 a b
∫ P2 ( x)dx = a
a
a
a
b4 − a 4 ; 4
b−a a+b P2 (a ) + 4 P2 + P2 (b) , R2 ( P2 ) ≡ 0 , 6 2
a 119
a3
b4 − a 4 b − a (a3 x3 ) x = a + 4( a3 x3 ) x = ( a + b )/2 + ( a3 x3 ) x =b , = 4 6
pa imamo b−a a+b P3 ( a ) + 4 P3 + P3 (b) , R3 ( P3 ) ≡ 0 . 6 2 a Formula za grešku Simpsonove kvadraturne formule može se dobiti i na sledeći način. Pretpostavimo da je f ( x) ∈ C 4 [ a, b] . Posmatrajmo grešku kao funkciju koraka h, tj. x1 + h h R( h) = ∫ f ( x)dx − [ f ( x1 − h) + 4 f ( x1 ) + f ( x1 + h) ] . 3 x1 − h b
∫ P3 ( x)dx =
Diferencirajući R (h) tri puta po h dobijamo: 2 4 h [ f ( x1 − h) + f ( x1 + h)] − f ( x1 ) − [ − f '( x1 − h) + f '( x1 + h)] ; 3 3 3 1 h R ''(h) = [ − f '( x1 − h) + f '( x1 + h) ] − [ f ''( x1 − h) + f ''( x1 + h) ] ; 3 3 h 2h 2 IV R '''(h) = − [ f '''( x1 + h) − f '''( x1 − h) ] = − f (ξ 3 ), 3 3 R '(h) =
gde smo primenili Lagranževu teoremu na [ x1 − h, x1 + h] , a ξ 3 ∈( x1 − h, x1 + h) . Osim toga je: R (0) = 0 , R '(0) = 0 , R ''(0) = 0 . Integrišući R '''(h) i koristeći teoremu o srednjoj vrednosti nalazimo: h
2 h 2 IV t f (ξ 3 )dt = 3 0∫ 0 h 2 2 = − f IV (ξ 2 ) ⋅ ∫ t 2 dt = − h3 f IV (ξ 2 ), 3 9 0
R ''(h) = R ''(0) + ∫ R '''(t ) dt = −
gde ξ 2 ∈ ( x1 − h, x1 + h) . Dalje je h
2 h 3 IV t f (ξ 2 )dt = 9 0∫ 0 h 2 1 = − f IV (ξ1 ) ⋅ ∫ t 3 dt = − h 4 f IV (ξ1 ), 9 18 0
R '(h) = R '(0) + ∫ R ''(t )dt = −
gde ξ1 ∈ ( x1 − h, x1 + h) . Na kraju je h
R ( h) = R (0) + ∫ R '(t ) dt = − 0
120
1 h 4 IV t f (ξ1 ) dt = 18 0∫
=−
h 1 IV h5 IV f (ξ) ⋅ ∫ t 4 dt = − f (ξ), 18 90 0
gde ξ ∈ ( x1 − h, x1 + h) . Dakle, greška osnovne Simpsonove kvadraturne formule (2) je h5 IV (4) R ( h) = − f (ξ) , ξ ∈ ( x1 − h, x1 + h) 90 ili 5 1 b − a IV (b − a ) ⋅ h 4 IV R ( h) = − f (ξ) = − f (ξ) , ξ ∈ (a, b) . 90 2 180 Ako se odsečak [a, b] podeli na paran broj n = 2m jednakih delova dužine b−a b−a h= = n 2m i ako se uoče dva susedna pododsečka [a + (k – 1) h, a + (k + 1) h] ( k = 1, n − 1) tada će Simpsonova kvadraturna formula na tom „dvointervalu“ biti a + ( k +1) h
∫
a + ( k −1) h
h f ( x) dx = [ f k −1 + 4 f k + f k +1 ] + Rk . 3
Kako je b
∫
f ( x) dx =
a
a +2h
∫
a
f ( x) dx +
a + 4h
∫
a + 2h
f ( x) dx + ⋯ +
b
∫
f ( x) dx ,
a + ( n − 2) h
to je uopštena Simpsonova kvadraturna formula b h ∫ f ( x) dx = 3 [ f0 + f n + 2( f 2 + f 4 + ⋯ + f n − 2 ) + 4( f1 + f3 + ⋯ + f n −1 ] + R( f ) , a gde je h5 R( f ) = [ f IV (ξ1 ) + f IV (ξ 2 ) + ⋯ + f IV (ξ m )] , 90 IV Ako je f ( x) neprekidna funkcija, onda postoji tačka ξ takva da je f IV (ξ1 ) + f IV (ξ 2 ) + ⋯ + f IV (ξ m ) = f IV (ξ) , ξ ∈ (a, b) , m pa je definitivno greška uopštene Simpsonove kvadraturne formule b
(5)
h
∫ f ( x) dx ≈ 3 [ f0 + f n + 2( f 2 + f 4 + ⋯ + f n − 2 ) + 4( f1 + f3 + ⋯ + f n −1 ]
a
jednaka (6)
R( f ) = −
m ⋅ h5 IV (b − a )h 4 IV ⋅ f (ξ) = − f (ξ) , ξ ∈ (a, b) . 90 180
121
Napomena. Simpsonova kvadraturna formula (5) se može dobiti i iz kvadraturnih formula (4.8) za n = 2. Primer 1. Koristeći Simpsonovu kvadraturnu formulu izračunati 1
I = ∫ e − x dx . 2
0
Rešenje. Izaberimo korak h = 0.1 i izračunajmo vrednosti integranda. Rezultati računanja su dati u sledećoj tabeli. k
xk
0 1 2 3 4 5 6 7 8 9 10
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 ∑
f ( x) k = 0 ili k = 10 k–neparno 0.00 1.00000 0.01 0.9905 0.04 0.09 0.91393 0.16 0.25 0.77880 0.36 0.49 0.61263 0.64 0.81 0.44486 1.00 0.36788 1.36788 3.74027 xk2
k–parno
0.96079 0.85214 0.69768 0.52729
3.03790
Prema formuli (5) je: 0.1 0.1 IS = [1.36788 + 2 ⋅ 3.03790 + 4 ⋅ 3.74027] = ⋅ 22.40476 = 0.74683 . 3 3 Procenimo grešku prema formuli (6). Kako je max | f (4) ( x)| = 12 za x ∈ [0, 1] , to je 1 | R ( f )| ≤ ⋅ 0.14 ⋅12 ≤ 0.000007 180 i I = 0.74683 ± 0.000007. Može se uočiti da je ocena (6) greške Simpsonove kvadraturne formule (5) (4) povezana s procenom max | f ( x)| za x ∈ [a, b] a to najčešće nije jednostavno učiniti. Navedimo zbog toga jedan praktičan način ocene greške Simpsonove kvadraturne formule. Pretpostavimo da se f (4) ( x) ne menja mnogo na [ a, b] . Grešku (6) možemo zapisati na sledeći način R = K ⋅ h4 , gde je K konstanta koja zavisi od funkcije f ( x) i intervala integracije (a, b). Neka su I h i I 2h približne vrednosti integrala I izračunate pomoću Simpsonove kvadraturne formule za korake h i 2h. Tada imamo
122
I = I h + M ⋅ h 4 i I = I 2 h + M ⋅ (2h) 4 ,
a odavde
| I h − I 2h | 15
|R|=
(7) i
| I h − I 2h | . 15 Ocena je poznata kao Rungeova ocena ili Rungeov princip ocene greške. I = Ih ±
Primer 2. Koristeći Simpsonovu kvadraturnu formulu izračunati 1
I = ∫ sin x 2 dx 0
1 s tačnošću ⋅ 104 . 2 Rešenje. Korak h se može odrediti iz uslova (b − a ) h< 4
h4 ⋅ M 4 < ε , odnosno 180
180ε , (b − a ) M 4
tj. korak h je reda 4 ε . Meñutim, procena max| f (4) ( x)| = M 4 nije baš jednostavna. Lakše je koristiti Rungeovu ocenu (7). Izračunajmo približnu vrednost I 0.5 integrala I, tj. uzmimo korak h jednak 0.5. Rezultati računanja su u sledećoj tablici. x 0.0 0.5 1.0
f ( x) 0.00000 0.24740 0.84147
0.5 [0.00000 + 4 ⋅ 0.24740 + 0.84147] = 3 = 0.30518
I 0.5 =
1 4 1
Uzmimo korak h jednak 0.5/2 = 0.25. Rezultati računanja su dati u sledećoj tablici. x 0.00 0.25 0.50 0.75 1.00
f ( x) 0.00000 0.62460 0.24740 0.53330 0.84147
1 4 2 4 1
I 0.25 =
0.25 ⋅ 3.71931 = 0.30994 3
Kako je | I 0.25 − I 0.5 | ⋅ 0.0003173 > 0.00005 , 15 to nije postignuta zadata tačnost.
Uzmimo korak h jednak 0.25/2 = 0.125. Rezultati računanja su dati u sledećoj tabeli. 123
x 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
7.
f ( x) 0.00000 0.01562 0.62460 0.14016 0.24740 0.38077 0.53330 0.69299 0.84147
1 4 2 4 2 4 2 4 1
I 0.25 =
0.125 ⋅ 7.44595 = 0.31025 3
Kako je | I 0.125 − I 0.5 | = 0.0000206 < 0.00005 , 15 to je I ≈ I 0.125 = 0.3102 . ▲
NJUTN–KOTESOVE FORMULE VIŠIH REDOVA
Iz (3.5) i (3.6) za n = 3 dobija se: b−a b−a b−a f (a) + 3 ⋅ f a + + 3⋅ f a + 2 ⋅ + f (b) , 8 3 3 a 1 3 3 1 C03 = , C13 = , C23 = , C33 = ; budući da je b − a = 3h , a = x0 , 8 8 8 8 b−a b−a a+ = x0 + h = x1 , a + 2 = x0 + 2h = x2 , b = x0 + 3h = x3 to se formula 3 3 (1) može zapisati u sledećem obliku x3 3h (2) I = ∫ f ( x) dx ≈ [ f ( x0 ) + 3 f ( x1 ) + 3 f ( x2 ) + f ( x3 ) ] . 8 x0 b
(1)
∫ f ( x) dx ≈
Formula (1), odnosno (2), se zove osnovna Njutnova kvadraturna formula „tri osmine“; geometrijski smisao formule je sledeći – na odsečku [a, b] funkcija f ( x) se aproksimira polinomom P3 ( x) čiji grafik sadrži tačke ( x0 , f ( x0 )) , ( x1 , f ( x1 )) , ( x2 , f ( x2 )) , ( x3 , f ( x3 )) , odnosno, površina koja je odreñena integralom I se aproksimira površinom koja je odreñena odsečkom ose 0x, odsečcima pravih x = x0 i x = x3 i odsečkom grafika polinoma trećeg stepena P3 ( x) = a0 + a1 x + a2 x 2 + a3 x3 izmeñu tačaka ( x0 , y0 ) i ( x3 , y3 ) . Greška metode – formule (1) je prema (2.3) i (2.6) 3 ⋅ h5 (4) (3) R3 ( x) = − f (ξ ) , ξ ∈ ( x0 , x3 ) . 80 Ako se odsečak [a, b] podeli na n = 3m (m ∈ N) jednakih delova dužine h = (b – a)/n = (b – a)/3m i ako se formula (1) primeni na odsečku [a + kh, a + + (k + 3) h] dužine 3h, tada će Njutnova kvadraturna formula na tom „trointervalu“ biti a + ( k + 3) h
(3)
∫
a + kh
124
f ( x) dx ≈
3h [ f k + 3 f k +1 + 3 f k + 2 + f k +3 ] + Rk +1 . 8
Na isti način kao kod Simpsonove kvadraturne formule dobijamo uopštenu Njutnovu kvadraturnu formulu b
3h [ f0 + f n + 2( f3 + f6 + ⋯ + f n −3 ) + 8 + 3( f1 + f 2 + f 4 + f 5 + ⋯ + f n − 2 + f n −1 ) ] + R( f ),
∫ f ( x) dx =
(4)
a
gde je R( f ) = −
(5)
b − a 4 (4) h f (ξ ) , ξ ∈ ( a , b ) 80
Primedba. Uporeñivanjem Simpsonove i Njutnove kvadraturne formule može se zaključiti sledeće. Ako je odsečak [a, b] podeljen na 6m (m ∈ N) delova, mogu se primeniti obe formule, ali je greška Njutnove formule veća oko dva puta; dakle, treba primeniti Simpsonovu formulu. Njutnovu formulu treba primeniti u slučaju neparnog broja čvorova (3m), kada se Simpsonova formula ne može primeniti. Navedimo samo još neke Njutn–Kotesove kvadraturne formule. One su zapisane samo za „osnovni interval“. x4
∫
(6) n = 4:
f ( x) dx =
x0
2h [7 f0 + 32 f1 + 12 f 2 + 32 f3 + 7 f 4 ] − 45 −
x5
∫
(7) n = 5:
(8) n = 6:
∫
ξ ∈ ( x0 , x4 );
5h [19 f0 + 75 f1 + 50 f 2 + 50 f3 + 75 f 4 + 19 f5 ] − 288 275 7 (6) − h f (ξ), ξ ∈ ( x0 , x5 ); 12096
f ( x) dx =
x0
x6
8h7 (6) f (ξ), 945
f ( x) dx =
x0
6h [ 41 f0 + 216 f1 + 27 f 2 + 272 f3 + 840
+ 27 f 4 + 216 f 5 + 41 f 6 ] + R( f ).
Ako stavimo n = 6 u kvadraturnu formulu (4.8), dobićemo x0 + 6 h
∫
ydx = h 6 y0 + 18∆y0 + 27 ∆ 2 y0 + 24∆ 3 y0 +
x0
+
i ako umesto koeficijenta
123 4 33 41 6 ∆ y0 + ∆ 5 y0 + ∆ y0 . 10 10 140
41 3 uz ∆ 6 y0 uzmemo , učinjena greška je 140 10 125
1 6 41 3 6 140 − 10 ∆ y0 = − 140 ∆ y0 i kvadraturna formula postaje znatno jedno stavnija x0 + 6 h 3h (9) ∫ y dx = 10 [ y0 + 5 y1 + y2 + 6 y3 + y4 + 5 y5 + y6 ] . x0
Za sledeći interval integracije od x6 do x12 imali bismo x12
∫
x0
y dx =
3h [ y6 + 5 y7 + y8 + 6 y9 + y10 + 5 y11 + y12 ] . 10
Na taj način se dobija kvadraturna formula x0 + nh 3h I = ∫ y dx = [ y0 + 5 y1 + y2 + 6 y3 + y4 + 5 y5 + 2 y6 + 5 y7 + y8 + 10 x0 + 6 y9 + y10 + 5 y11 + 2 y12 + ⋯ + (10) + 2 yn −6 + 5 yn −5 + yn − 4 + 6 yn −3 + yn − 2 + 5 yn −1 + yn ] = 3h n = ∑ ky, 10 0 gde je k = 1, 5, 1, 6, 1, 5, 2, 5, 1, 6, 1, 5, 2 i tako dalje. Kvadraturna formula (9) je osnovna a (10) uopštena Vidlova (Weddle T.) kvadraturna formula.
Primer 1. Funkcija y = f ( x) je zadata tablično x 0.0 0.2 0.4 0.6 0.8 1.0 1.2 y 0.00000 0.24428 0.59673 1.09327 1.78043 2.71828 3.98414 Izračunati približnu vrednost integrala funkcije f ( x) koristeći Simpsonovu i Njutnovu kvadraturnu formulu. Ako je tačna vrednost I = 1.66402, izračunati i uporediti greške dobijenih približnih vrednosti. Rešenje. Primenom Simpsonove kvadraturne formule dobijamo 0.2 IS = ⋅ 24.96178 = 1.66412 ; 3 primenom Njutnove kvadraturne formule dobijamo 3 ⋅ 0.2 IN = ⋅ 22.18984 = 1.66424 . 8 Očigledno je ( I − I S ) : ( I − I N ) = ( −0.00010) : ( −0.00022) = 5 :11 , dakle, I S je tačnija 2.2 puta. ▲
Primer 2. Izračunati približnu vrednost integrala 1.4
∫ (sin x − ln x + e
x
) dx
0.2
primenom: a) Simpsonove, b) Vidlove kvadraturne formule. 126
Rešenje. Podelimo interval integracije na dvanaest jednakih delova uzimajući h = 0.1. Vrednosti podintegralne funkcije date su u sledećoj tabeli. x y x y 0.2 3.02951 0.9 3.34830 0.3 2.84936 1.0 3.55975 0.4 2.79754 1.1 3.80007 0.5 2.82130 1.2 4.06984 0.6 2.89759 1.3 4.37050 0.7 3.01465 1.4 4.70418 0.8 3.16605 (a) Simpsonova kvadraturna formula: 0.1 IS = [3.02951 + 4.70418 + 4(20.20418) + 2(16.49077)] = 4.05106 . 3
(b) Vidlova kvadraturna formula: IW = 0.03[21.05841 + 5(13.58281) + 6(6.62137) + 2(3.16605)] = 4.05098 . Tačna vrednost integrala: I=
1.4
∫ (sin x − ln x + e
x
1.4
)dx = − cos x − x(ln x − 1) + e x
0.2
Greške su:
0.2
= 4.05095.
ES = −0.00011 , EW = −0.00003 . ▲
Greška Njutn–Kotesovih kvadraturnih formula s n + 1 ordinatom za dovoljno glatke funkcije y = f ( x) ima red n 2 +2
R = O (h 2 ) , n gde je n2 celi deo razlomka . (Videti, na primer, – Berezin, Židkov: 2 „Numerička analiza“, Beograd, 1963.)
8.
NJUTN–KOTESOVE KVADRATURNE FORMULE OTVORENOG TIPA
Prethodno posmatrane Njutn–Kotesove kvadraturne formule su kvadraturne formule zatvorenog tipa; integral se uzima u granicama od a do b (ili od x0 do xn ) a u same formule ulaze vrednosti podintegralne funkcije (integranda) na krajevima odsečka [a, b], tj. f (a ) i f (b) (odnosno, f 0 = f ( x0 ) i f n = f ( xn ) ). Osim ovih formula mogu se izvesti tzv. Njutn–Kotesove kvadraturne formule otvorenog tipa. One se razlikuju od prethodnih jer se kod njih ne pojavljuju vrednosti podintegralne funkcije na krajevima intervala integracije. Navedimo neke od njih: 127
x3
∫
(1)
f ( x) dx =
x0 x4
f ( x)dx =
∫
(2)
x0 x5
f ( x) dx =
∫
(3)
x0
3h 3h3 ( f1 + f 2 ) + f ''(ξ) , ( x0 < ξ < x3 ) ; 2 4
4h 14 (2 f1 − f 2 + 2 f 3 ) + h5 f (4) (ξ) , ( x0 < ξ < x4 ) ; 3 45
5h 95 5 (4) h f (ξ) , ( x0 < ξ < x5 ) . (11 f1 + f 2 + f3 + 11 f 4 ) + 24 144
Formula (1) se dobija kada se konstruiše interpolacioni polinom (prvog stepena) čiji grafik sadrži tačke ( x1 , f1 ) , ( x2 , f 2 ) i integrali od x0 do x3 . Prema tome, za integraciju se koriste ekstrapolacioni segmenti [ x0 , x1 ] i [ x2 , x3 ] . Dakle, kako je prvi Njutnov interpolacioni polinom koji sadrži tačke ( x1 , f1 ) i ( x2 , f 2 ) jednak x − x1 P1 ( x) = f1 + u ∆f1 , u = h to će biti x3
2
x0
−1
∫ P1 ( x) dx = h ∫ ( f1 + u ∆f1 ) du = 2
u2 1 = h f1u + ∆f1 = h 2 f1 + 2∆f1 + f1 − ∆f1 = 2 2 −1 3 3 3 = h 3 f1 + ∆f1 = h [ 2 f1 + ∆f1 ] = h( f1 + f 2 ). 2 2 2
Greška formule (1) je R ( h) ≈
x3
∫
x0
2 ∆ 2 f1 ∆ 2 f1 ⋅ ( x − x )( x − x ) dx = 1 2 ∫ 2 ⋅ hu ⋅ h(u − 1) ⋅ h du = 2!h 2 −1 2! h
u (u − 1) 2 h u3 u 2 = h∫ ⋅ ∆ f1 du = − 2 2 3 2 −1 2
2
⋅ ∆ 2 f1 = −1
h 2 3 3 ⋅ ∆ f1 ⋅ = h ⋅ ∆ 2 f1 ; 2 2 4
uzimajući da je ∆ f1 ≈ h f ''(ξ) dobijamo 3 R ≈ h3 f ''(ξ) , x0 < ξ < x3 . 4 2
9.
2
ČEBIŠOVLJEVA KVADRATURNA FORMULA
Neka treba izračunati integral b
(1)
I = ∫ f (t ) dt . a
128
Smenom
b−a a+b x+ 2 2 integral (1) se transformiše u sledeći integral t=
I=
1 a+bb−a b−a f x + dx = ∫ ∫ F ( x) dx , 2 2 −1 2 −1 1
pa opštost izlaganja neće biti smanjena ako budemo razmatrali integral 1
I = ∫ F ( x) dx .
(2)
−1
Potražimo kvadraturnu formulu u sledećem obliku 1
∫ F ( x) dx = A1 F ( x1 ) + A2 F ( x2 ) + ⋯ + An F ( xn ) ,
(3)
−1
gde su koeficijenti A1 , A2 , ..., An i apscise x1 , x2 , ..., xn neodreñeni parametri. Ako koeficijente Ai i apscise xi (i = 1, n) odredimo tako da budu ispunjeni uslovi: 1) svi koeficijenti su jednaki, tj. A1 = A2 = ⋯ = An ( = A) , 2) formula (3) je tačna za sve polinome x k , k = 0, n , onda se dobija Čebišovljeva kvadraturna formula. Dakle, formulu tražimo u obliku 1
n
−1
i =1
∫ F ( x) dx = A∑ F ( xi ) .
(4)
Ako je F ( x) ≡ 1 , onda je 1
n
1 ∫ 1 ⋅ dx = A∑ i =1
ili 2 = n ⋅ A ,
−1
pa je A =
2 i n 1
∫ F ( x) dx =
−1
2 n ∑ F ( xi ) . n i =1
Ako je F ( x) = x , k = 1, n , onda je k
1
∫
−1
x k dx =
2 n k ∑ xi , n i =1
ili n
∑ xik i =1
=
n 1 − (−1) k +1 ⋅ , k = 1, n , 2 k +1
odnosno 129
x1 + x2 + ⋯ + xn = 0, n x12 + x22 + ⋯ + xn2 = , 3 (5) …………………………………… n 1 − (−1) n +1 xn + xn + ⋯ + xn = ⋅ . n +1 2 Apscise Čebišovljeve kvadraturne formule se odreñuju iz sistema nelinearnih algebarskih jednačina (5). Za n = 1 se dobija kvadraturna formula 1
∫ F ( x) dx = 2 ⋅ F (0) ;
(6)
−1
za n = 2 imamo x1 + x2 = 0 , x12 + x22 =
odakle je x2 = − x1 = (7)
2 , 3
1 , pa je kvadraturna formula 3 1 1 1 ∫ F ( x) dx = F − 3 + F 3 ; −1
za n = 3 imamo x1 + x2 + x3 = 0 , x12 + x22 + x32 = 1 , x13 + x13 + x33 = 0 1 , pa je kvadraturna formula 2 1 1 2 1 (8) ∫ F ( x) dx = 3 F − 2 + F (0) + F 2 . −1 Za veće n dobijamo formule veće tačnosti. Navodimo tablicu apscisa Čebišovljeve kvadraturne formule za razne vrednosti n.
odakle je x2 = 0 , x3 = − x1 =
n 1 2 3
4
5
6
130
i 1 1,2 1,3 2 1,4 2,3 1,5 2,4 3 1,6 2,5 3,4
xi 0 K 0.577 350 269 1 K 0.707 106 781 2 0 K 0.794 654 472 3 K 0.187 592 474 1 K 0.832 497 487 0 K 0.374 541 409 6 0 K 0.866 246 818 1 K 0.422 518 653 8 K 0.266 635 401 5
n
7
9
i 1,7 2,6 3,5 4 1,9 2,8 3,7 4,5 6
xi K 0.883 861 700 8 K 0.529 656 775 3 K 0.323 911 810 5 0 K 0.911 589 307 7 K 0.601 018 655 4 K 0.528 761 783 1 K 0.167 906 184 2 0
Primećujemo da su apscise simetrično rasporeñene u odnosu na 0, središte odsečka [–1, 1], a za neparno n jedna je apscisa 0. Za n = 8 i n ≥ 10, kako je pokazao Bernštajn (С.Н. Бернштейн, 1880– 1968) tridesetih godina dvadesetog veka, sistem jednačina (5) nema realna rešenja; dakle, za n = 8 i n ≥ 10 ne postoji Čebišovljeva kvadraturna formula. To predstavlja suštinsko ograničenje za ovu formulu.
Primer 1. Koristeći Čebišovljevu kvadraturnu formulu za n = 3 i n = 5 izračunati 1 sin t Si (1) = ∫ dt . 0 t 1 1 x + ; tada imamo 2 2 1 sin 0.5(1 + x) Si (1) = ∫ dx . 1+ x −1 Izračunajmo vrednosti integranda u čvorovima x1 , x2 , x3 ; rezultati računanja su dati u sledećoj tabeli. Rešenje. Uvedimo novu promenljivu t =
i
xi
1 + xi
1 2 3
–0.707 107 0 –0.707 107
0.292 893 1 1.707 107
1 (1 + xi ) 2 0.146 447 0.500 000 0.853 554
Približna vrednost za n = 3 je Si (1) =
1 sin (1 + xi ) 2 0.145 924 0.479 425 0.753 621
F ( xi )
0.498 216 0.479 425 0.441 461 1.419 102
2 ⋅ 1.419102 = 0.946068 . 3
Na potpuno isti način formiramo sledeću tabelu. i
xi
1 + xi
1 2 3 4 5
–0.832 497 –0.374 541 0 –0.374 541 –0.832 497
0.167 503 0.625 459 1 1.374 541 1.832 497
1 (1 + xi ) 2 0.083 752 0.312 730 0.500 000 0.587 270 0.916 248
1 sin (1 + xi ) 2 0.083 654 0.307 637 0.479 425 0.634 429 0.793 323
F ( xi )
0.499 418 0.491 890 0.479 425 0.461 557 0.432 919 2.365 209
2 ⋅ 2.365209 = 0.946084 . Radi pore5 ñenja, tačna vrednost Si (1) = 0.946083 , gde su sve cifre sigurne u užem smislu. ▲ Približna vrednost za n = 5 je Si (1) =
Greška Čebišovljeve kvadraturne formule je za:
131
1 f ''(ξ) , 3 1 (4) n = 2 : R2 ( f ) = f (ξ) , 135 1 (4) n = 3 : R3 ( f ) = f ( ξ) , 360 2 n = 4 : R4 ( f ) = f (5) (ξ) , 42525 a ξ ∈ (−1,1) .
13 f (6) (ξ) , 544320 1 n = 6 : R6 ( f ) = f (8) (ξ) , 3969000 281 n = 7 : R7 ( f ) = f (8) (ξ) , 1959552000 74747 n = 9 : R9 ( f ) = f (10) (ξ) , 11200 ⋅ 9 ⋅ 11!
n = 1 : R1 ( f ) =
n = 5 : R5 ( f ) =
10. GAUSOVA KVADRATURNA FORMULA Neka treba izračunati integral b
I = ∫ f (t ) dt .
(1)
a
Smenom
b−a a+b x+ 2 2 integral (1) se transformiše u integral t=
1
I = ∫ F ( x) dx ,
(2)
−1
b−a a+bb−a , i opštost izlaganja neće biti smanjena. gde je F ( x) = f x+ 2 2 2
Potražimo kvadraturnu formulu u sledećem obliku (3)
I=
1
∫ F ( x) dx = A1 F ( x1 ) + A2 F ( x2 ) + ⋯ + An F ( xn ) ,
−1
gde su koeficijenti A1 , A2 , ..., An i apscise x1 , x2 , ..., xn neodreñeni parametri. Ako koeficijente Ai i apscise xi (i = 1, n) odredimo tako da kvadraturna formula (3) bude tačna za polinome što je moguće višeg stepena, onda se dobija Gausova kvadraturna formula. Kako u jednakosti (3) imamo 2n nepoznatih parametara (n koeficijenata Ai i n apscisa xi ), to ćemo uzeti da formula (3) bude tačna za sve polinome F ( x) = x k , k = 0, 2n − 1 . Dakle, imaćemo 2 = A1 + A2 + ⋯ + An , 0 = A1 x1 + A2 x2 + ⋯ + An xn ,
(4)
132
2 = A1 x12 + A2 x22 + ⋯ + An xn2 , 3 ⋮
2 = A1 x12 n − 2 + A2 x22 n − 2 + ⋯ + An xn2 n − 2 , 2n − 1 0 = A1 x12 n −1 + A2 x22 n −1 + ⋯ + An xn2 n −1.
Jasno je da se ovaj sistem od 2n jednačina sa 2n nepoznatih teško rešava; sistem je nelinearan po xi a linearan po Ai . Razmotrimo, za početak, način rešavanja sistema (4) za n = 1, 2, 3. Za n = 1 sistem (4) postaje 2 = A1 , 0 = A1 x1 , odakle je A1 = 2 i x1 = 0 . Prema tome, Gausova kvadraturna formula u ovom slučaju glasi 1
∫ F ( x) dx = 2 F (0) ;
−1
formula je tačna za sve polinome nultog i prvog stepena. Za n = 2 sistem (4) postaje A1 + A2 = 2, A1 x1 + A2 x2 = 0, 2 A1 x12 + A2 x22 = , 3 3 3 A1 x1 + A2 x2 = 0,
odakle se dobija A1 = A2 = 1 , x2 = − x1 =
1 . Prema tome, Gausova kvadraurna 3
formula u ovom slučaju glasi 1 1 + F ; −1 3 3 formula je tačna za sve polinome nultog, prvog, drugog i trećeg stepena. Za n = 3 sistem (4) postaje 1
∫ F ( x)dx = F −
A1 + A2 + A3 = 2, A1 x1 + A2 x2 + A3 x3 = 0, 2 , 3 A1 x13 + A2 x23 + A3 x33 = 0,
A1 x12 + A2 x22 + A3 x32 =
2 , 5 A1 x15 + A2 x25 + A3 x35 = 0.
A1 x14 + A2 x24 + A3 x34 =
Dokazano je (videti, na primer, Kaiser S. Kunz – Numerical analysis, London, 1957.) da su čvorovi xi simetrično rasporeñeni u odnosu na koordinatni 133
početak, tj. dokazano je da je xi = xn −i +1 , a u slučaju neparnog broja n = 2s – 1 xs = 0 . Iskoristivši ovo svojstvo sistem se svodi na A1 + A2 + A3 = 2, A1 x1 − A3 x1 = 0, 2 A1 x12 + A3 x12 = , 3 3 3 A1 x1 − A3 x1 = 0, 2 , 5 A1 x15 − A3 x15 = 0.
A1 x14 + A3 x14 =
Kako je x1 ≠ 0 , to se iz druge jednačine dobija A1 = A3 , a iz treće i pete se 5 8 3 . Zatim, imamo da je A1 = A3 = i A2 = . Prema tome, 5 9 9 Gausova kvadraturna formula u ovom slučaju glasi
dobija x3 = − x1 =
1
5
∫ F ( x) dx = 9 F −
−1
3 8 5 1 + F (0) + F , 5 9 9 3
formula je tačna za sve polinome x k , k ≤ 5. Da bismo rešili sistem jednačina (4) u opštem slučaju, navešćemo bez dokaza neke stavove o Ležandrovim (A. M. Legendre, 1752–1833) polinomima. Ležandrov polinom n–tog stepena je Ln ( x) =
(5)
1 dn ( x 2 − 1) n , n = 0, 1, 2, ... n n 2 n ! dx
Tako imamo:
L0 ( x) = 1, L1 ( x) = x, 1 L2 ( x) = (3 x 2 − 1), 2 1 L3 ( x) = (5 x3 − 3 x), 2 1 L4 ( x) = (35 x 4 − 30 x 2 + 3), 8 1 L5 ( x) = (63x5 − 70 x3 + 15 x), 8 1 L6 ( x) = (231x 6 − 315 x 4 + 105 x 2 − 5), ... 16 134
Za Ležandrove polinome važi: 1) Ležandrovi polinomi obrazuju na segmentu [–1, 1] ortogonalan sistem, tj. 0, m ≠ n, L ( x ) L ( x ) dx ⋅ = 2 m ∫ n −1 2n + 1 , m = n; 1
m, n = 0,1, 2, ...
2) Ležandrov polinom Ln ( x) za n ≥ 1 ima n različitih realnih korena xi ∈ (−1, 1) , i = 1, n ; 3) Za Ležandrove polinome važi rekurentna formula (6) ( n + 1) Ln +1 ( x) − (2n + 1) xLn ( x) + nLn −1 ( x) = 0 , n = 1, 2, … ; ⌢ 2n + 1 4) Normirani Ležandrovi polinomi Ln ( x) = Ln ( x) , n = 0, 1, 2, ... 2 obrazuju na segmentu [–1, 1] ortonormiran sistem polinoma, tj. 1 ⌢ ⌢ 0, m ≠ n ∫ Ln ( x) ⋅ Lm ( x) dx = 1, m = n . −1
5) Ako je Qk ( x) proizvoljan polinom stepena k < n, onda je 1
∫ Ln ( x) ⋅ Qk ( x) dx = 0 ;
−1
6) Nepoznate x1 , x2 , ..., xn sistema (4), odnosno čvorovi kvadraturne formule (3), su nule Ležandrovog polinoma Ln ( x) . Prema tome, imajući u vidu osobine 2) i 6), pri rešavanju sistema (4) najpre se iz jednačine Ln ( x) = 0 odrede koreni x1 , x2 , ..., xn , a zatim se rešava sistem jednačina (4) koji je linearan po koeficijentima Ai (i = 1, n) . Ako uzmemo prvih n jednačina sistema (4), dobićemo sistem od n linearnih algebarskih jednačina sa n nepoznatih Ai (i = 1, n) . Determinanta tog sistema je Vandermondova determinanta D=
∏
n ≥ i > j ≥1
( xi − x j ) ≠ 0 .
Dakle, koeficijenti kvadraturne formule (3) jednoznačno su odreñeni i jednaki su 2 1 − x2 Ai = 2 2 i , (i = 1, n) . n Ln −1 ( xi ) Greška Gausove kvadraturne formule je (videti, na primer, Kaiser S. Kunz – Numerical analysis, London, 1957.) 2
(7)
(n !) 2 (2 n ) 22 n +1 Rn ( F ) = F (ξ) (2n + 1)(2n)! (2n)!
(−1 < ξ < 1) .
135
Očigledno je da se Gausovom kvadraturnom formulom postiže velika tačnost i za relativno mali broj čvorova integracije. Na primer, za n = 5 je R5 ( F ) ≈ 8.08 ⋅ 10−10 F (10) (ξ) , a za n = 7 je R7 ( F ) ≈ 2.13 ⋅ 10−15 F (14) (ξ) . Meñutim, primena formule za grešku (7) je komplikovana jer je računanje vezano za izračunavanje izvoda visokih redova (naravno, ako izvodi podintegralne funkcije uopšte postoje). Navedimo tablicu čvorova i koeficijenata Gausove kvadraturne formule za razne vrednosti n. n i xi Ai 1 1 0 2 2 K 0.577 350 269 1 1,2 1 3 1,3 K 0.774 596 669 2 5/9 2 0 8/9 4 1,4 K 0.861 136 311 6 0.347 854 845 1 2,3 K 0.339 981 043 6 0.652 145 154 9 1,5 K 0.906 179 845 9 0.236 926 885 1 5 2,4 K 0.538 469 310 1 0.478 628 670 5 3 0 0.568 888 888 9 1,6 K 0.932 469 514 2 0.171 324 492 4 6 2,5 K 0.661 209 386 5 0.360 761 573 0 3,4 K 0.238 619 186 1 0.467 913 934 6 1,7 K 0.949 107 912 3 0.129 484 966 2 7 2,6 K 0.741 531 185 6 0.279 705 391 5 3,5 K 0.405 845 151 4 0.381 830 050 5 4 0 0.417 959 183 7 1,8 K 0.960 289 856 5 0.101 228 536 3 8 2,7 K 0.796 666 477 4 0.222 381 034 5 3,6 K 0.525 532 409 9 0.313 706 645 9 4,5 K 0.183 434 642 5 0.362 683 783 4
Primer 1. Koristeći Gausovu kvadraturnu formulu za n = 4 izračunati π/ 4 dt I= ∫ . 1 2 0 1 − sin t 4 π π Rešenje. Uvedimo novu promenljivu t = x + ; tada imamo 8 8
136
I=
π1 8−1∫
dx
. 1 2π π 1 − sin x + 4 8 8 Izračunajmo vrednosti integranda u čvorovima x1 , x2 , x3 , x4 ; rezultati računanja su dati u sledećoj tabeli. i
xi
ti = π8 ( xi + 1)
sin ti
sin 2 ti
1 2 3 4
–0.861136 –0.339981 –0.339981 –0.861136
0.054532 0.259189 0.526209 0.730866
0.054505 0.256297 0.502259 0.667514
0.002971 0.065688 0.252264 0.445575
1 1 − sin 2 ti 4 0.999257 0.983578 0.936340 0.888606
F ( xi )
1.000372 1.008314 1.033107 1.060829
π [0.347855(1.000372 + 1.060829) + 0.652145(1.008314 + 1.033107)] = 8 π = ⋅ 2.048301 = 0.804366. 8
I=
Primer 2. Neka je dat integral 1
I n = ∫ | x |n dx , n = 1, 2, ... −1
Izračunati približnu vrednost integrala koristeći trapeznu, Simpsonovu i Gausovu kvadraturnu formulu i uporediti tačnost dobijenih rezultata. Podintegralnu funkciju računati u tri tačke. Rešenje. Za n = 1 i h = 1 dobijamo: 1 1 2 I1T = (1 + 2 ⋅ 0 + 1) = 1, I1S = (1 + 4 ⋅ 0 + 1) = , 2 3 3 3 8 5 3 10 3 I1G = F − = 0.86066… + F + F (0) = 9 5 9 5 5 9 1
2 , to je za n = 1 I1 = 1 . n +1 0 Dakle, redom imamo | I1 − I1T | = 0 – trapeznom formulom dobijamo tačnu vred2 1 nost, | I1 − I1S | = 1 − = – greška rezultata dobijenog primenom Simpsonove 3 3 formule, | I1 − I1G | = 1 − 0.86066… = 0.1393… < 0.14 – greška rezultata dobijenog primenom Gausove formule.
Kako je tačna vrednost integrala I n = 2 ∫ x n dx =
Za n = 2 i h = 1 dobijamo: 1 I 2T = (1 + 2 ⋅ 0 + 1) = 1, 2
1 2 I 2 S = (1 + 4 ⋅ 0 + 1) = , 3 3
137
3 8 5 3 53 3 8 2 F − + F + F (0) = + + ⋅ 0 = . 9 5 95 5 9 3 5 9 2 Tačna vrednost integrala je I = ; greška trapezne formule je | I − I 2T | = 3 2 1 = − 1 = , a Simpsonovom i Gausovom formulom se dobija tačna vrednost. 3 3 1 2 Za n = 3 i h = 1 dobijamo: I 3 = , I 3T = 1 , I 3S = , I 3G = 0.5164 ; greške 2 3 su redom jednake 0.5, tj. rezultat je 100% pogrešan, 0.167 i 0.0164. 2 Za n = 4 tačna vrednost je I 4 = , trapezna formula daje rezultat s 5 2 3 2 2 greškom − 1 = = 0.6 , Simpsonova ima grešku jednaku − = 0.267 a 5 5 5 3 2 2 Gausova − = 0. ▲ 5 5 Ovo uporeñivanje pokazuje, izmeñu ostalog, da se ponekad trapeznom formulom mogu dobiti tačniji rezultati nego Simpsonovom i Gausovom formulom. To se dogaña kada podintegralna funkcija nije glatka, kada ima prekidne izvode. Za podintegralne funkcije koje imaju dovoljan broj neprekidnih izvoda Gausovom formulom se dobijaju znatno tačniji rezultati nego Simpsonovom, a ovom tačniji nego trapeznom. I 2G =
11. KVADRATURNA FORMULA LOBATOA Gausova kvadraturna formula (10.3), što se lako može uočiti, ne uključuje vrednosti integranda u krajnjim tačkama intervala integracije, dakle, formula je otvorenog tipa. Meñutim, u izvesnim problemima mogu se iskoristiti i te vrednosti jer su one često date. Lobato je modifikovao Gausovu kvadraturnu formulu uključujući i te vrednosti, a posmatrao je samo slučajeve kada je broj čvorova n neparan. Dakle, apscise ili čvorovi kvadraturne formule Lobatoa se odreñuju iz jednačine d n−2 ( x 2 − 1) n −1 = 0 , n = 3, 5, ... (1) n−2 dx Tako je, na primer, za n = 3 d ( x 2 − 1) 2 = 0 , dx odnosno, 4 x( x 2 − 1) = 0 , pa je x1 = −1 , x2 = 0 i x3 = 1 . Naravno, to smo unapred mogli znati: –1 i 1 se uključuju kao krajevi intervala integracije a 0 kao 138
središte tog intervala. Koeficijente A1 , A2 i A3 odreñujemo iz sistema jednačina (prema (9.4)) A1 + A2 + A3 = 2, − A1 + A3 = 0, 2 A1 . + A3 = 3 1 4 Iz ovog sistema dobijamo koeficijente A1 = A3 = i A2 = , pa je kva3 3 draturna formula Lobatoa za n = 3 1 1 ∫ F ( x)dx = 3 [ F (−1) + 4 F (0) + F (1)] . −1 Za n = 5 imamo d3 ( x 2 − 1) 4 = 0 , dx3 3 3 odnosno, x( x 2 − 1)(7 x 2 − 3) = 0 , pa je x1 = −1 , x2 = − , x3 = 0 , x4 = i 7 7 x5 = 1 . Koeficijente A1 , A2 , A3 , A4 i A5 odreñujemo iz sistema jednačina (prema (9.4)) A1 + A2 + A3 + A4 + A5 = 2, − A1 − A1 +
3 A2 + 7 3 A2 + 7 3
3 − A1 − A + 7 2 9 A1 + A2 + 49
3 A4 + A5 = 0, 7 3 2 A4 + A5 = , 7 3 3
3 A4 + A5 = 0, 7 9 2 A4 + A5 = . 49 5 1 49 Iz ovog sistema jednačina dobijamo: A1 = A5 = , A2 = A4 = i 10 90 32 , pa je kvadraturna formula Lobatoa za n = 5 A3 = 45 1 3 3 1 ∫ F ( x)dx = 90 9 F (−1) + 49 F − 7 + 64 F (0) + 49 F 7 + 9 F (1) . −1 Na potpuno analogan način se dobijaju kvadraturne formule Lobatoa za n = 7, 9, ... Kod primene kvadraturne formule Lobatoa računanje je nešto jednostavnije ali je tačnost manja od tačnosti odgovarajuće Gausove kvadraturne formule.
139
Primer 1. Koristeći kvadraturnu formulu Lobatoa za n = 5 izračunati 5 dt . I =∫ 2 ln t 3 7 x + ; tada imamo 2 2 1 3 dx I= ∫ . 7 2 −1 3 ln x + 2 2
Rešenje. Uvedimo smenu t =
Izračunajmo vrednosti podintegralne funkcije u čvorovima −1, − 3 , 1. Računanje je dato u sledećoj tabeli. 7 3 7 ln ti F ( xi ) ti = xi + i xi 2 2 1 –1 2 0.694147 1.442695 2 –0.654654 2.518019 0.923472 1.082870 3 0 7/2 1.252764 0.798235 4 0.654654 4.481981 1.500066 0.666637 5 1 5 1.609438 0.621335 Približna vrednost integrala je 3 1 I = ⋅ ⋅ 155.38914 = 2.58982 . ▲ 2 90
3 , 0, 7
Ai 9 49 64 49 9
12. RUNGEOV PRINCIP PRIBLIŽNE OCENE GREŠKE NUMERIČKE INTEGRACIJE Jedan od najvažnijih zadataka u numeričkoj analizi je svakako ocena greške dobijene približne vrednosti. Ovde ćemo razmatrati pitanje ocene greške numeričke integracije. Dakle, ako treba izračunati približnu vrednost integrala b
(1)
I = ∫ f ( x) dx a
primenom neke kvadraturne formule n
(2)
I n = ∑ Ai f ( xi ) , i =1
onda se postavlja pitanje ocene greške ∆ = I − I n ili apsolutne greške ∆I n = | I − I n | . Ocena razlike I − I n , kao što znamo, po pravilu sadrži izvode visokog reda podintegralne funkcije ili integranda f ( x) . Na primer, imamo: b−a 2 R ( h) = − ⋅ h f ''(ξ) , ξ ∈ (a, b) – kod trapezne kvadraturne formule, 12 140
b − a 4 IV ⋅ h f (ξ) , ξ ∈ (a, b) – kod Simpsonove kvadraturne formule, 180 (b − a ) 2 n +1 ( n !) 4 f (2 n ) (ξ) , ξ ∈ (a, b) – kod Gausove kvadraturne formule. Rn = [(2n)!]3 (2n + 1) Ocena tih izvoda najčešće je praktično nemoguća a i kada je moguća, često je vrlo gruba. Osim toga, nije redak slučaj kada analitički izraz funkcije f ( x) nije poznat, pa samim tim ni izvodi ne mogu biti poznati i ocenjeni. U praksi se koristi jedan vrlo jednostavan način približne ocene greške numeričke integracije. Neka se greška kvadraturne formule može zapisati na sledeći način (3) R ( h) = O( h k ) ili R ( h) = Mh k , gde je h zadata dužina odsečka integracije ili neki njegov deo, k je fiksiran broj a veličinu M za datu funkciju, dati odsečak integracije i datu kvadraturnu formulu možemo posmatrati kao konstantu. Tako, na primer, za trapeznu kvadraturnu formulu je R ( h) = M 2 ⋅ h 2 , za Simpsonovu kvadraturnu formulu je R ( h) = −
R ( h) = M 4 ⋅ h 4 ili, uopšte, za Njutn–Kotesove kvadraturne formule R ( h) = M n ⋅ h
2 n2 + 2
n n gde je najveći ceo broj koji nije veći od . Metoda se zasniva na izraču2 2 navanju približnih vrednosti integrala (1) za korak h i korak 2h. Dakle, imamo: I = I 2 h + R (2h) ≈ I 2 h + M (2h) k = I 2 h + M ⋅ 2k ⋅ h k , I = I h + R ( h) = I h + M ⋅ h k ,
odnosno I = I 2 h + 2k R (h), I = I h + R ( h). Izjednačavanjem desnih strana ovih jednakosti dobijamo I 2 h + 2 k R ( h) = I h + R ( h) , a odavde je: I −I (4) R ( h) ≈ h k 2 h , 2 −1 I −I (5) I = I h + R ( h) = I h + h k 2 h . 2 −1 Za k = 2 imamo za trapeznu kvadraturnu formulu I −I R ( h) ≈ h 2 h ; 3 za k = 4 imamo za Simpsonovu kvadraturnu formulu I −I R ( h) ≈ h 2 h . 15 141
Kako ovakav način ocene greške važi u svim slučajevima kada se greška može prikazati u obliku (3), i ne samo kod numeričke integracije, dakle, kako je ovo zakonitost opšteg karaktera, a zakonitosti opšteg karaktera predstavljaju principe, to je poznat pod nazivom Rugeov princip ocene greške (Runge, C.).
13. RIČARDSONOVA METODA EKSTRAPOLACIJE Ako je za kvadraturnu formulu b
n
I = ∫ f ( x)dx = ∑ Ai f ( xi ) + R[ f ]
(1)
i =0
a
poznat red greške R = R[ f ] = O(h ) , k ≥ 1, onda se za ocenu tačnosti približne vrednosti k
b
n
I = ∫ f ( x) dx ≈ ∑ Ai f ( xi ) i =1
a
može iskoristiti metoda izračunavanja približnih vrednosti integrala I h1 i I h2 za dva različita koraka integracije h1 i h2 . Specijalno za h1 = 2h2 . Dakle, neka je R = O(h k ) , k ≥ 1 , (2) b−a gde je h = . Tada je n (3) R = M ⋅ hk , gde je za zadatu podintegralnu funkciju f ( x) , zadati interval integracije [a, b] i korak h veličina M konstantna. Izaberimo dva različita koraka integracije b−a b−a (4) i h2 = , n2 > n1 . h1 = n1 n2 Neka su I n1 i I n2 odgovarajuće približne vrednosti integrala I. Tada je b−a Rn1 = I − I n1 = M n1
(5)
k
k
b−a i Rn2 = I − I n2 = M , n2
pa je 1 1 I n2 − I n1 = M ⋅ (b − a ) k ⋅ k − k n1 n2
,
a odavde je (6)
(7)
142
k n n I n − I n1 . M = 1 2 ⋅ k2 k b − a n2 − n1 Uvrstimo li (6) u (3), dobićemo k n n I n − I n1 R = M ⋅ h k = 1 2 ⋅ k2 k b − a n2 − n1
k k b − a n1n2 I n2 − I n1 . ⋅ = ⋅ k k n n n2 − n1
Ako uzmemo da je h = h2 , tj. n = n2 , onda ćemo imati n1k ⋅ ( I n2 − I n1 ) . n2k − n1k Kako je I = I n2 + Rn2 , to je tačnija približna vrednost integrala I jednaka Rn2 = I − I n2 =
(8)
n1k ( I n − I n1 ) . n2k − n1k 2 Postupak nalaženja tačnije približne vrednosti I n1 , n2 pomoću približnih I n1 ,n2 = I n2 +
vrednosti I n1 i I n2 , pomoću formule (8), naziva se Ričardsonova metoda ekstrapolacije (Richardson). Zašto se naziva metoda ekstrapolacije? Pokazuje se da je za I n1 ≠ I n2 tačnija približna vrednost I n1 ,n2 , dobijena pomoću formule (8), izvan segmenta čiji su krajevi I n1 i I n2 . Zaista, ako je I n2 > I n1 , onda iz (8) imamo n1k ( I n − I n1 ) > I n2 = max{I n1 , I n2 } , n2k − n1k 2 ∉ [ I n1 , I n2 ] ; ako je I n2 < I n1 , onda je I n1, n2 = I n2 +
tj. I n1, n2
I n1, n2 = I n2 +
n1k ( I n − I n1 ) < I n2 = min{I n1 , I n2 } , n2k − n1k 2
tj. I n1, n2 ∉ [ I n2 , I n1 ] . Ako je I n1 = I n2 , onda je I n1, n2 = I n1 = I n2 . Uvedemo li oznaku (9) gde je β =
n2 = α , α > 1 , imaćemo n1 I n1, n2 = I n2 + β( I n2 − I n1 ) ,
1 . Vrednosti β se mogu tabelirati za različite vrednosti α i k. α −1 k
Primetimo da je, na primer, kod trapezne kvadraturne formule k = 2, pa je za h1 = 2h2 I −I I1, 2 = I 2 + 1 2 , 3 a kod Simpsonove kvadraturne formule je k = 4 i za h1 = 2h2 I −I I1, 2 = I 2 + 1 2 . 15 Mogu se dobiti i tačnije formule: I n1 , n2 , n3 ili I n1 , n2 , ..., nm . 143
Primer 1. Zadat je integral 1
I = ∫ arctg (1 + x 2 ) dx . 0
Koristeći trapeznu kvadraturnu formulu za n1 = 2 i n2 = 4 Ričardsonovom metodom ekstrapolacije izračunati I 2, 4 . Računati sa šest značajnih decimala. Rešenje. f ( x) Za n1 = 2, tj. h1 = 0.5 : x 0.0 0.785398 1 0.5 0.896055 2 1.0 1.107149 1 Za n2 = 4, tj. h1 = 0.25 : x 0.00 0.25 0.50 0.75 1.0
f ( x) 0.785398 0.815692 0.896055 1.001483 1.107149
1 2 2 2 1
I2 =
0.5 ⋅ 3.684657 = 0.921164 ; 3
I4 =
0.25 ⋅ 7.319007 = 0.914876 ; 2
22 ( I 4 − I 2 ) = 0.912780 ∉ [0.914876, 0.921164] . 42 − 22 Dakle, I = 0.91278. ▲ I 2, 4 = I 4 +
Primer 2. Zadat je integral 1
I = ∫ ln(1 + x + x 2 ) dx . 0
Koristeći Simpsonovu kvadraturnu formulu za n jednako 2, 4 i 8 Ričardsonovom metodom ekstrapolacije izračunati: I 2, 4 , I 2, 8 i I 4, 8 . Računati sa šest značajnih decimala. Rešenje. f ( x) 0.5 Za n = 2, tj. x I2 = ⋅ 3.337076 = 0.556179 ; h = 0.5: 0.0 0.000000 1 2 0.5 0.559616 4 1.0 1.098612 1 za n = 4, tj. x h = 0.25: 0.00 0.25 0.50 0.75 1.00
144
f ( x) 0.000000 0.271934 0.559616 0.838329 1.098612
1 4 2 4 1
I4 =
0.25 ⋅ 6.658896 = 0.554908 ; 3
1 (0.554908 − 0.556179) = 15 = 0.554823 ∉ [0.554908, 0.556179]
I 2,4 = 0.554908 +
za n = 8, tj. x h = 0.125: 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
f ( x) 0.000000 0.131576 0.271934 0.415828 0.559616 0.700929 0.838329 0.971016 1.098612
0.125 ⋅ 13.315766 = 0.554824 ; 3 1 = 0.554824 + (0.554824 − 0.556179) = 255 = 0.554819 ∉ [0.554824, 0.556179]; I8 =
1 4 2 I 2,8 4 2 4 1 2 I 4,8 = 0.554824 + (0.554824 − 0.554908) = 15 4 = 0.554818 ∉ [0.554824, 0.554908]. 1
14. ROMBERGOVA METODA Rombergova metoda numeričke integracije omogućava dobijanje kvadraturnih formula veće tačnosti pomoću kvadraturnih formula manje tačnosti. Pokažimo to na primeru primene trapezne kvadraturne formule. Neka treba izračunati integral b
I = ∫ f ( x) dx .
(1)
a
Podelom segmenta [a, b] na n, n ∈ N, jednakih delova dužine b−a hn = n imamo na osnovu uopštene trapezne kvadraturne formule h I = n [ f ( x0 ) + 2 f ( x1 ) + ⋯ + 2 f ( xn −1 ) + f ( xn )] + R( hn ) , 2 odnosno I = Tn(0) + R ( hn ) ,
gde je Tn(0) približna vrednost integrala (1), a greška je R( hn ) = α 2 hn2 + α 4 hn4 + α 6 hn6 + ⋯ ,
tj. greška je reda hn2 . Ako udvostručimo broj delova, tj. ako uzmemo h2 n =
hn b − a = , onda 2 2n
imamo hn (0) I = T2(0) n + R ( h2 n ) = T2 n + R 2
,
145
gde je greška približne vrednosti T2(0) n integrala (1) jednaka h R( h2 n ) = R n 2
hn2 hn4 hn6 = α + α + α +⋯ . 2 4 6 4 16 64
Eliminacijom α 2 hn2 iz jednakosti: I = Tn(0) + α 2 hn2 + α 4 hn4 + α 6 hn6 + ⋯ , 2 4 I = 4 ⋅ T2(0) n + α 2 hn + α 4
hn4 h6 + α6 n + ⋯, 4 16
dobijamo (0) 4 ⋅ T2(0) n − Tn + β4 hn4 + β6 hn6 + ⋯ , 3
I=
odnosno 4 6 I = T2(1) n + β 4 hn + β6 hn + ⋯
Dakle, greška približne vrednosti T2(1) n =
(0) 4 ⋅ T2(0) n − Tn 3
je reda hn4 . Ako broj delova ponovo udvostručimo, tj. ako uzmemo korak h4 n = =
b−a , onda ćemo imati 4n I = T4(1) n + β4
hn4 h6 + β6 n + ⋯ . 16 64
Eliminacijom β4 hn4 iz jednakosti: 4 6 I = T2(1) n + β 4 hn + β6 hn + ⋯ , 4 16 I = 16T4(1) n + β 4 hn + β6
hn6 + ⋯, 4
dobijamo I=
(1) 16 ⋅ T4(1) n − T2 n + γ 6 hn6 + γ 8 hn8 + ⋯ , 15
odnosno 6 8 I = T4(2) n + γ 6 hn + γ 8 hn + ⋯
Dakle, greška približne vrednosti (1) 16 ⋅ T4(1) n − T2 n T4(2) = n 15 6 je reda hn . 146
h2 n = 2
Analognim rasuñivanjem dolazimo do Rombergovih formula 4m ⋅ T2(kmn−1) − T2(km−1−n1) (2) T2(kmn) = , 4m − 1 m = 1, 2, 3, ...; k = 1, 2, 3, ... Izračunavanje integrala (1) se svodi na formiranje tabele u čijoj se prvoj koloni nalaze približne vrednosti dobijene primenom uopštene trapezne kvadraturne formule za: n, 2n, 4n, ... delova. U drugoj, trećoj, ... koloni se nalaze približne vrednosti dobijene pomoću Rombergovih formula (2). Dakle, imamo sledeću tabelu Tn(0) T2(1) n T2(0) n
T4(2) n T4(1) n
T8(3) n
T4(0) n
T8(2) n T8(1) n
⋱ ⋮
T8(0) n
⋮ ⋮
⋮
Primer 1. Koristeći Rombergove formule, zasnovane na trapeznoj kvadraturnoj formuli, izračunati približnu vrednost integrala 1
I = ∫ sh( x 2 ) dx . 0
Računati sa šest decimala. Rešenje. Izaberimo početni korak h2 = 0.5 , tj. uzmimo n = 2. Tada imamo: h2 = 0.5:
h4 = 0.25:
x 0.0 0.5 1.0
f ( x) 0.000000 0.252612 1.175201
1 2 1
x 0.00 0.25 0.50 0.75 1.00
f ( x) 0.0000000 0.0625407 0.2526120 0.5926360 1.1752010
1 2 2 2 1
T2(0) =
0.5 ⋅ 1.680425 = 0.420106 . 2
0.25 ⋅ 2.9907784 = 0.373847 ; 2 4 ⋅ 0.373847 − 0.420106 = = 0.358427 ; 3
T4(0) = T4(1)
Formirajmo tabelu. (Poloveći korak integracije tabelu ćemo dopunjavati.) 147
n=2
T(0) 0.420106
2n
0.373847
T(1)
T(2)
T(3)
...
0.358427 0.357916 0.357948 4n
0.361923
8n !
0.358918
0.357914 0.357914
0.357916
h8 = 0.125:
h16 = 0.0625:
x 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
f ( x) 0.0000000 0.0156256 0.0625407 0.1410890 0.2526120 0.4006350 0.5926360 0.8426470 1.1752010
1 2 2 2 2 2 2 2 1
0.125 ⋅ 5.7907716 = 0.361923; 2 4 ⋅ 0.361923 − 0.373847 T8(1) = = 0.357948; 3 16 ⋅ 0.357948 − 0.358427 T8(2) = = 0.357916; 15 T8(0) =
f ( x) x 0.0625 (0) 0.0000 0.00000000 1 T16 = 2 ⋅ 11.48537012 = 0.358918; 0.0625 0.00390626 2 4 ⋅ 0.358918 − 0.361923 (1) = 0.357916; 0.1250 0.01562560 2 T16 = 3 0.1875 0.03516350 2 16 ⋅ 0.357916 − 0.357948 (2) = 0.357914; 0.2500 0.06254070 2 T16 = 15 0.3125 0.09781150 2 64 ⋅ 0.357914 − 0.357916 = 0.357914. 0.3750 0.14108900 2 T32(3) = 63 0.4375 0.19257700 2 0.5000 0.25261200 2 0.5625 0.32171200 2 0.6250 0.40063500 2 0.6875 0.49045300 2 0.7500 0.59263600 2 0.8125 0.70916200 2 0.8750 0.84264700 2 1 0.9375 0.99651400 2 Dakle, I = ∫ sh( x 2 ) dx ≈ 0.35791 ▲ 1.0000 1.17520100 1 0 Razmotrimo sada primenu Simpsonove kvadraturne formule. Podelom segmenta [a, b] na n, n je paran broj, jednakih delova dužine b−a hn = n imamo na osnovu uopštene Simpsonove kvadraturne formule
148
h I = [ f ( x0 ) + 4 f ( x1 ) + 2 f ( x2 ) + ⋯ + 4 f ( xn −1 ) + f ( xn )] + R( hn ) , 3 odnosno I = S n(0) + R ( hn ) ,
gde je S n(0) približna vrednost integrala (1), a greška je R(hn ) = β4 hn4 + β6 hn6 + β8 hn8 + ⋯ ,
tj. greška je reda hn4 . Ako udvostručimo broj delova, tj. ako uzmemo h2 n =
hn b − a , onda će= 2 2n
mo imati hn (0) I = S 2(0) n + R ( h2 n ) = S 2 n + R 2
,
(0) gde je greška približne vrednosti S 2n integrala (1) jednaka
h R ( h2 n ) = R n 2
hn4 hn6 hn8 = β + β + β +⋯ 4 6 8 16 64 256
Eliminacijom β4 hn4 iz jednakosti: I = S n(0) + β4 hn4 + β6 hn6 + β8 hn8 + ⋯ 4 16 I = 16 S 2(0) n + β 4 hn + β6
hn6 h8 + β8 n + ⋯ 4 16
dobijamo I=
(0) 16 S 2(0) n − Sn + γ 6 hn6 + γ 8 hn8 + ⋯ , 15
odnosno I = S 2(1)n + γ 6 hn6 + γ 8 hn8 + ⋯
Dakle, greška približne vrednosti S 2(1)n =
(0) 16 S 2(0) n − Sn 15
je reda hn6 . Ako broj delova ponovo udvostručimo, tj. ako uzmemo korak h4 n = =
b−a onda ćemo imati 4n I = S 4(1)n + γ 6
h2 n = 2
hn6 h8 + γ8 n + ⋯ 64 256
149
Eliminacijom hn6 iz jednakosti: I = S 2(1)n + γ 6 hn6 + γ 8 hn8 + ⋯ , 64 I = 64 S 4(1)n + γ 6 hn6 + γ 8
hn8 +⋯ 4
dobijamo I=
64 S 4(1)n − S 2(1)n + δ8 hn8 + δ10 hn10 + ⋯ , 63
odnosno 8 10 I = S 4(2) n + δ8 hn + δ10 hn + ⋯ . Dakle, greška približne vrednosti 64 S 4(1)n − S 2(1)n = S 4(2) n 63 8 je reda hn . Analognim rasuñivanjem dolazimo do Rombergovih formula 4m +1 S 2( kmn−1) − S 2( km−1−n1) (3) , S 2( kmn) = 4m +1 − 1 m = 1, 2, 3, ...; k = 1, 2, 3, ... Izračunavanje integrala (1) svodi se na formiranje tabele u čijoj se prvoj koloni nalaze približne vrednosti dobijene primenom uopštene Simpsonove kvadraturne formule za: n, 2n, 4n, ... delova. U drugoj, trećoj, ... koloni se nalaze približne vrednosti dobijene pomoću Rombergovih formula (3). Dakle, imamo sledeću tabelu Sn(0)
S 2(1)n S2(0) n
S 4(2) n S 4(1)n
S8(3) n
S4(0) n
S8(2) n S8(1)n
⋱ ⋮
S8(0) n
⋮ ⋮
⋮
Primer 2. Koristeći Rombergove formule, zasnovane na Simpsonovoj kvadraturnoj formuli, izračunati približnu vrednost integrala 1
I = ∫ ch( x 2 ) dx . 0
Računati sa šest decimala. 150
Rešenje. Izaberimo početni korak h2 = 0.5, tj. uzmimo n = 2. Tada imamo: h2 = 0.5:
h4 = 0.25:
x 0.0 0.5 1.0
f ( x) 1.000000 1.031413 1.543081
1 4 1
x 0.00 0.25 0.50 0.75 1.00
f ( x) 1.000000 1.001954 1.031413 1.162419 1.543081
1 4 2 4 1
S2(0) =
0.5 ⋅ 6.668733 = 1.111456 ; 3
0.25 ⋅ 13.263399 = 1.105283 ; 3 16 ⋅ 1.105283 − 1.111456 = = 1.104871 ; 15
S4(0) = S 4(1)
Formirajmo tabelu. (Poloveći korak integrracije tabelu ćemo dopunjavati.) n=2
S(0) 1.111456
2n
1.105283
S(1)
S(2)
S(3)
1.104871 1.104739 1.104741 4n
1.104775
8n
1.104740
1.104738 1.104738
1.104738 h8 = 0.125:
h16 = 0.0625:
x 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
f ( x) 1.000000 1.000122 1.001954 1.009904 1.031413 1.077269 1.162419 1.307691 1.543081
1 0.125 4 S8(0) = ⋅ 26.514597 = 1.104775; 3 2 4 S (1) = 16 ⋅ 1.104775 − 1.105283 = 1.104741; 8 15 2 4 (2) 64 ⋅ 1.104741 − 1.104871 S = = 1.104739; 2 8 63 4 1
x 0.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375
f ( x) 1.000000 1.000008 1.000122 1.000618 1.001954 1.004772 1.009904 1.018374
1 4 2 4 2 4 2 4
0.0625 ⋅ 53.027537 = 1.104740; 3 16 ⋅ 1.104740 − 1.104775 S16(1) = = 1.104738; 15 64 ⋅ 1.104738 − 1.104741 S16(2) = = 1.104738; 63 256 ⋅ 1.104738 − 1.104738 = 1.104738. S16(3) = 255 S16(0) =
151
0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000
1.031413 1.050475 1.077269 1.113797 1.162419 1.225933 1.307691 1.411751 1.543081
2 4 2 4 2 4 2 4 1
1
Dakle, I = ∫ ch( x 2 ) dx = 1.10474 . ▲ 0
Ako bismo uporedili tačnost Rombergovih formula (2) i (3), onda bismo mogli zaključiti da su formule (3) tačnije od formula (2) – formule (3) su „za jedan korak“ ispred formula (2). Napomenimo da se Rombergove formule mogu izvesti polazeći i od drugih kvadraturnih formula.
15. IZRAČUNAVANJE PRIBLIŽNIH VREDNOSTI NESVOJSTVENIH INTEGRALA Poznato je da je integral b
I = ∫ f ( x) dx
(1)
a
svojstven ako su ispunjeni uslovi: 1) interval integracije [a, b] je konačan, 2) podintegralna funkcija (integrand) f ( x) ∈ C[a, b] . U suprotnom slučaju integral (1) je nesvojstven ili singularan integral. Takvi integrali se često pojavljuju u zadacima praktičnog karaktera. Posmatrajmo nesvojstveni integral ∞
I = ∫ f ( x) dx ,
(2)
a
gde je donja granica a konačan broj a f ( x) ∈ C[a, ∞) . Ako postoji konačna granična vrednost b
lim ∫ f ( x) dx ,
(3)
b →∞
a
integral (2) je konvergentan i tada je ∞
b
def
I = ∫ f ( x) dx = lim ∫ f ( x) dx . a
b →∞
a
Ako ne postoji konačna granična vrednost (3), onda je integral (2) divergentan i njegovo izračunavanje nema smisla. Dakle, prvo je potrebno ispitati 152
konvergenciju integrala (2) koristeći poznate (iz kursa Analize) kriterijume konvergencije. Pretpostavimo da integral (2) konvergira. Zapišimo ga na sledeći način ∞
∞
b
I = ∫ f ( x) dx = ∫ f ( x) dx + ∫ f ( x) dx , a
a
b
gde b treba izabrati tako da bude | I2 | =
∞
∫ f ( x) dx
<
b
ε , 2
Integral b
I1 = ∫ f ( x) dx a
ε primenom neke kvadraturne for2
je svojstven i izračunavamo ga s tačnošću mule, tj. tako da je | I1 − I S | =
b
∫ f ( x) dx − I S
<
a
ε , 2
gde je I S odgovarajuća približna vrednost integrala I1 , a ε > 0 tražena tačnost. Očigledno je ε ε (4) I − I S = I1 + I 2 − I S ≤ I1 − I S + I 2 < + = ε . 2 2 Na potpuno sličan način se izračunavaju približne vrednosti integrala oblika ∞
b
∫
f ( x) dx i
−∞
∫
f ( x) dx ,
−∞
gde je f ( x ) neprekidna funkcija na intervalu integracije. Dakle, nesvojstveni integral se zamenjuje svojstvenim integralom s konačnim granicama, dovoljno širokim, tako da je vrednost „zanemarenog“ dela integrala znatno manja od tražene tačnosti. Inače, nesvojstveni integral s beskonačnom jednom ili obema granicama pogodnom smenom može se svesti na nesvojstveni integral s konačnim granicama ili čak na svojstven integral.
Primer 1. S tačnošću ε = 0.01 izračunati približnu vrednost integrala ∞
I=∫ 1
x3 − x 2 + 1 dx . x5 + x 2 + 1
Rešenje. Zapišimo dati integral na sledeći način b
I =∫ 1
∞ x3 − x 2 + 1 x3 − x 2 + 1 dx + dx = I1 + I 2 ∫ 5 2 x5 + x 2 + 1 b x + x +1
153
Integral I1 je svojstven i možemo ga izračunati s potrebnom tačnošću primenom neke, na primer Simpsonove kvadraturne formule. Integral I 2 treba oceniti. Kako je za x ∈ [1, ∞) 0<
x3 − x 2 + 1 x3/ 2 ≤ 5 = x −7 / 2 , x5 + x 2 + 1 x
to je ∞ β 2 2 1 2 0 < I 2 ≤ ∫ x −7 / 2 dx = lim − x −5/ 2 = b −5/ 2 = ⋅ . b β→∞ 5 5 b5 5 b
Iz
nejednakosti
4 b≥ 0.05
2 1 ε ⋅ ≤ = 0.005 5 b5 2
dobijamo
4 b≥ 5ε
2/ 5
,
tj.
2/ 5
= 5.77… , pa možemo uzeti da je b = 6. Za b = 6 je ∞
0 < I2 = ∫ 6
x3 − x 2 + 1 2 1 dx ≤ ⋅ = 0.004536… < 0.00454 . 5 2 5 65 x + x +1
Integral x3 − x 2 + 1 dx 5 2 1 x + x +1 izračunaćemo pomoću Simpsonove kvadraturne formule s tačnošću 0.01 – – 0.00454 = 0.00546. Grešku ćemo proceniti koristeći Rungeov princip ocene 6 −1 greške. Dakle, izračunaćemo približne vrednosti I h i I h / 2 uzimajući h = = 4 = 1.25 . Računanje je dato u sledećoj tabeli. 6
I1 = ∫
x x3 − x 2 + 1 1.000 001.0000 1.625 002.6504 2.250 007.3281 2.875 016.4980 3.500 031.6250 4.125 054.1738 4.750 085.6094 5.375 127.3965 6.000 181.0000
x3 − x 2 + 1 01.0000 01.6280 02.7070 04.0618 05.6236 07.3603 09.2525 11.2870 13.4536
I1 = 0.21 , odnosno I = 0.21. ▲
154
f ( x)
0.3333 0.1087 0.0425 0.0197 0.0104 0.0061 0.0038 0.0025 0.0017
h 1 4 2 4 1
h/2 1 4 2 4 2 4 2 4 1
0.625 1.25 ⋅ 0.5410 = 0.2254 i I1;0.625 = ⋅ 0.9964 = 0.2076 , to 3 3 | I1;1.125 − I1;0.625 | 0.0178 = = 0.00118… < 0.00546 i možemo uzeti 15 15
Kako je I1;1.25 = je greška
x5 + x 2 + 1 0003.0000 0014.9716 0063.7275 0205.6872 0538.4688 1212.3330 2441.6279 4516.2323 7813.0000
Primer 2. Izračunati približnu vrednost integrala ∞
I=∫ 1
1 1 sin 2 dx . 2 x x
Tačnost ε = 0.00005. 1 1 Rešenje. Uvedimo novu promenljivu smenom x = . Dakle, dx = − 2 dt , t t 0 1 x 1 ∞ 1 , I = ∫ t 2 (sin t 2 ) ⋅ − 2 dt = ∫ sin t 2 dt , što je svojstven integral. Izračut 1 0 t 1 0 najmo poslednji integral aproksimirajući integrand Tejlorovim polinomom (Taylor, B., 1685–1731): sin t 2 = t 2 −
1 2 3 1 2 5 1 2 7 (t ) + (t ) − (t ) +… 3! 5! 7! 1
t3 1 t7 1 t11 1 t15 ∫ sin t dt = 3 − 6 ⋅ 7 + 120 ⋅ 11 − 5040 ⋅ 15 + ⋯ = 0 0 1 1 1 1 = − + − + ⋯ = 0.310268… = 0.3103. 3 42 1320 75600 1
2
Neka je interval integracije [a, b] konačan, ali podintegralna funkcija f ( x) ima konačan broj tačaka prekida. Bez smanjenja opštosti izlaganja razmotrićemo slučaj kada funkcija ima samo jednu tačku prekida. Dakle, neka je c ∈ [a, b] tačka prekida funkcije f ( x) . Ako postoje konačne jednostrane granične vrednosti: lim f ( x) = f (c − 0) ,
x →c − 0
lim f ( x) = f (c + 0)
x →c + 0
tj. ako je c tačka prekida prve vrste, onda se integral b
I = ∫ f ( x) dx
(5)
a
svodi na zbir dva svojstvena integrala b
(6)
c
b
I = ∫ f ( x) dx = ∫ f1 ( x) dx + ∫ f 2 ( x) dx , a
a
c
gde je f (c + 0), x = c, f ( x), x ∈ [ a, c ) , f 2 ( x) = f1 ( x) = x ∈ ( c, b ]. f (c − 0), x = c, f ( x),
155
Primer 3. Izračunati približnu vrednost integrala I=
0.5
∫
− 0.5
dx . 2 − 21/ x
Rešenje. Podintegralna funkcija nije definisana za x = 0. Kako je 1 i lim f ( x) = 0 , lim f ( x) = x →+ 0 x →− 0 2 to ćemo posmatrati funkcije: 1 1/ x f1 ( x) = 2 − 2 1 , 2
x ∈ [ −0.5, 0 ) , x = 0,
x = 0, 0, f 2 ( x) = 1 1 2 − 21/ x , x ∈ 0, 2
i integrale I1 =
0
∫
f1 ( x) dx i I 2 =
− 0.5
0.5
∫
f 2 ( x) dx .
0
Izračunajmo ove integrale primenom Simpsonove kvadraturne formule. x –0.500 –0.375 –0.250 –0.125 –0.000
f1 ( x) 0.571429 1 0.542738 0.516129 4 0.500978 0.500000 1
1 4 2 4 1
x 0.000 0.125 0.250 0.375 0.500
f 2 ( x) –0.000000 1 –0.003937 –0.071429 4 –0.229906 –0.500000 1
1 4 2 4 1
0.250 ⋅ 3.315945 = 0.26132875 , 3 0.125 I1;0.125 = ⋅ 6.278551 = 0.261606291 , 3 | I1;0.250 − I1;0.125 | = 0.0000185… ⇒ I1 = 0.261606 . 15 0.250 I 2;0.250 = ⋅ ( −0.785716) = −0.065476333 , 3 0.125 I 2;0.125 = ⋅ (−1.578230) = −0.065759583 , 3 | I 2;0.250 − I 2;0.125 | = 0.00001888… ⇒ I 2 = −0.065760 . 15 I1;0.250 =
I = I1 + I 2 = 0.1958 ; greška nije veća od 0.00005 =
1 ⋅ 10−4 . ▲ 2
Neka je c ∈ [a, b] tačka prekida druge vrste funkcije f ( x) i neka su δ1 > 0 i δ 2 > 0 . Ako postoji granična vrednost (7) onda je integral 156
b c −δ1 lim ∫ f ( x) dx + ∫ f ( x) dx , δ1 → 0 c +δ2 a δ2 → 0
b
I = ∫ f ( x) dx a
konvergentan, a ako ne postoji, integral je divergentan. Neka postoji konačna granična vrednost (7). Tada pišemo b
I = ∫ f ( x) dx =
c −δ1
∫
a
f ( x) dx +
c +δ2
∫
c −δ1
a
b
f ( x) dx +
∫
f ( x) dx .
c +δ2
Veličine δ1 i δ 2 biramo tako da bude I2 =
c +δ2
∫
f ( x) dx <
c −δ1
ε , 3
a svojstvene integrale I1 =
c −δ1
∫
∫
f ( x) dx
c +δ2
a
izračunavamo s tačnostima
b
f ( x) dx i I 3 =
ε ε i primenom neke kvadraturne formule, tj. tako 3 3
da je I1 − I S1 =
c −δ1
∫
a
f ( x)dx − I S1 <
ε i 3
I 3 − I S3 =
b
∫
c +δ2
f ( x)dx − I S3 <
ε , 3
gde su I S1 i I S2 odgovarajuće približne vrednosti integrala I1 i I 3 . Očigledno je tada I − I S = I1 + I 2 + I 3 − I S1 − I S3 =
(8)
, ε ε ε + + =ε 3 3 3 a ε > 0 tražena tačnost približne vrednosti I S integrala I. = I1 − I S1 + I 2 + I 3 − I S3 <
Ako se tačka c poklapa s jednim od krajeva intervala integracije, izloženi postupak se primenjuje u neznatno izmenjenom obliku. Meñu metodama približnog izračunavanja nesvojstvenih integrala s konačnim granicama značajno mesto zauzimaju multiplikativna i aditivna metoda izdvajanja singulariteta. Multiplikativna metoda sastoji se u sledećem. Neka treba izračunati nesvojstveni integral b
(9)
I = ∫ f ( x) dx , a
gde funkcija f ( x) ima jedan ili više singulariteta na konačnom odsečku [a, b]. Predstavimo podintegralnu funkciju u obliku proizvoda (10) f ( x) = p ( x) ⋅ ϕ( x) , 157
gde se p ( x) > 0 uzima za težinsku funkciju, a ϕ( x) je ograničena funkcija za x ∈[a, b] i ima na [a, b] dovoljan broj neprekidnih izvoda. Za približnu vrednost integrala (9) uzima se približna vrednost dobijena primenom kvadraturne formule izvedene za funkciju ϕ( x) s težinskom funkcijom p ( x) . Aditivna metoda sastoji se u sledećem. Podintegralna funkcija f ( x) integrala (9) predstavićemo u obliku zbira (11) f ( x) = ϕ( x) + ψ ( x) , gde funkcija ϕ( x) nema singulariteta i ima dovoljan broj neprekidnih izvoda, a ψ ( x) se može elementarno integraliti. Na taj način imamo b
b
b
I = ∫ f ( x) dx = ∫ ϕ( x) dx + ∫ ψ ( x) dx , a
a
a
pa integral b
I1 = ∫ ϕ( x) dx a
izračunavamo nekom od poznatih kvadraturnih formula a integral b
I 2 = ∫ ψ ( x) dx a
izračunavamo elementarno.
Primer 4. Izračunati približnu vrednost integrala 1 x e I =∫ dx . x 0 Rešenje. Predstavimo podintegralnu funkciju na sledeći način ex ex −1 − x 1 + x f ( x) = = + . x x x ex −1 − x Funkcija ϕ( x) = se može „dodefinisati“ u tački x = 0 graničnom x vrednošću ex − 1 − x lim =0. x →0 x Integral 1
I1 = ∫ ϕ1 ( x) dx , 0
gde je ϕ( x), x∈(0,1], ϕ1 ( x) = x = 0, 0, je svojstven i izračunavamo ga primenom neke, na primer, Simpsonove kvadra-
158
turne formule. x 0.00 0.25 0.50 0.75 1.00
ϕ1 ( x) 0.000000 1 0.068051 0.210324 4 0.423775 0.718282 1
0.50 ⋅ 1.559578 = 0.2599296… , 3 0.25 I1;0.25 = ⋅ 3.106234 = 0.2588528… , 3 | I1;0.50 − I1;0.25 | = 0.0000717… ⇒ I1 = 0.25885 . 15 I1;0.50 =
1 4 2 4 1
greška nije veća od 0.00008. Integral 1
I2 = ∫ 0
1+ x dx x
se može integraliti elementarno i dobija se: I 2 = I = I1 + I 2 = 0.25885 +
8 . Dakle, 3
8 = 2.9255 . ▲ 3
Nesvojstveni integrali se mogu izračunati metodom diferenciranja po parametru. Pokažimo to na sledećem primeru.
Primer 5. Metodom diferenciranja po parametru izračunati integral ∞ − x2 − 1 x2 e
I=∫
dx .
0
Rešenje. Neka je 2
∞ − x2 − t x2 e
I (t ) = ∫
dx ,
0
gde je t pozitivan parametar. Diferenciranjem dobijamo ∞
1 −x I '(t ) = −2t ∫ 2 e 0 x
2
−
t2 x2
dx .
Ako uvedemo novu promenljivu smenom y =
t , imaćemo x
2
∞ − y2 − t y2
I '(t ) = −2 ∫ e
dy = −2 I (t ) .
0
Dakle, dobili smo diferencijalnu jednačinu I '(t ) = −2 I (t ) . Njeno opšte rešenje je I (t ) = Ce −2t , gde je C proizvoljna konstanta. Kako je
159
∞
I (0) = ∫ e − x dx = 2
0
to je C =
π , 2
π i 2 I (t ) =
π −2t e . 2
Za t = 1 je: I (1) = I =
π −2 e = 0.1199378 . ▲ 2
16. OJLER–MAKLORENOVA KVADRATURNA FORMULA Izvoñenje Ojler–Maklorenove (Euler, L., 1707–1783; McLaurin, G. 1698– 1746) kvadraturne formule potpuno se razlikuje od izvoñenja Njutn–Kotesovih kvadraturnih formula i kvadraturnih formula Gansovog tipa. Za njeno izvoñenje potrebno je nešto reći o Bernulijevim brojevima i Bernulijevim polinomima (Bernoulli, J. 1654–1705). Posmatrajmo funkciju xetx (1) . ϕ(t , x) = x e −1 Funkcija ϕ(t , x) se može razviti u stepeni red po rastućim stepenima x, koji ravnomerno konvergira za | x | ≤ α < 2π . Dakle, koristeći poznato razlaganje 1 1 1 e x = 1 + x + x 2 + x3 + ⋯ , 1! 2! 3! odnosno 1 1 1 etx = 1 + (tx) + (tx) 2 + (tx)3 + ⋯ , 1! 2! 3! red koji odgovara funkciji (1) može se zapisati u obliku 1 1 1 x 1 + (tx) + (tx) 2 + (tx)3 + ⋯ ∞ tx Bn (t ) n xe 1! 2! 3! = (2) = x . ∑ x 1 1 1 e −1 2 3 n =0 n ! 1 + x + x + x + ⋯ − 1 2! 3! 1! Koeficijenti Bn (t ) , n = 0, 1, 2, ..., reda (2) se nazivaju Bernulijevi polinomi. Za t = 0 imamo ∞ B x f ( x) = x = ∑ n xn , (3) e − 1 n =0 n ! gde smo stavili da je Bn (0) = Bn . Koeficijenti Bn , n = 0, 1, 2, ..., reda (3) se nazivaju Bernulijevi brojevi. Odredimo koeficijente Bn , n = 0, 1, 2, ... 160
Za x = 0 imamo
B0 = f (0) = 1 . Odredimo ostale koeficijente: B1 , B2 , B3 , ... Na osnovu formule x x f ( x) = x = = 1 2 1 3 e −1 1 1 + x + x + x + ⋯ − 1 2! 3! 1! (5) ∞ B 1 1 = = ∞ = ∑ n xn 1 1 1 1 n! + x + x2 + ⋯ ∑ x n n =0 1! 2! 3! n = 0 ( n + 1)! dobijamo identitet
(4)
∞
1
∞
Bn n x ≡ 1. n =0 n !
∑ (n + 1)! x n ⋅ ∑
(6)
n =0
Pomnožimo li ove stepene redove i izjednačimo li koeficijente uz x s nulom, dobićemo sledeći beskonačni sistem linearnih jednačina Bn 1 B B 1 1 (7) ⋅ + n −1 +⋯ + 0 ⋅ = 0 , n = 1, 2, 3, ... , n ! 1! ( n − 1)! 2! 0! ( n + 1)! ili, posle množenja sa (n + 1)! i uzimajući u obzir da je ( n + 1)! = Cnn+−1k , k = 0,1, 2, ..., n + 1 , (n − k )!( k + 1)! imaćemo (8)
Cn1+1 ⋅ Bn + Cn2+1 ⋅ Bn −1 + ⋯ + Cnn+1 ⋅ B1 + 1 = 0 .
Ako uvedemo oznaku Bk = B k , onda (8) simbolički možemo zapisati na sledeći način ( B + 1) n +1 − B n +1 = 0 , n = 1, 2, 3, ... ,
ili, zamenjujući n + 1 sa n (9)
( B + 1) n − B n = 0 , n = 2, 3, 4, ... .
Stavljajući u formulu (9) redom n = 2, 3, 4, ... dobijamo beskonačni sistem linearnih jednačina 2 B1 + 1 = 0, 3B2 + 3B1 + 1 = 0, 4 B3 + 6 B2 + 4 B1 + 1 = 0, (10) 5 B4 + 10 B3 + 10 B2 + 5 B1 + 1 = 0, 6 B5 + 15 B4 + 20 B3 + 15 B2 + 6 B1 + 1 = 0, 7 B6 + 21B5 + 35 B4 + 35 B3 + 21B2 + 7 B1 + 1 = 0, …………………………………………………… 161
Iz sistema (10) redom nalazimo: 1 B1 = − , 2 1 B6 = , 42
1 B2 = , 6
1 , B5 = 0, 30 1 5 B7 = 0, B8 = − , B9 = 0, B10 = , 30 66 691 7 B11 = 0, B12 = − , B13 = 0, B14 = , B15 = 0, 2730 6 3617 43867 174611 B16 = − , B17 = 0, B18 = , B19 = 0, B20 = − , ... 510 798 330 B3 = 0,
B4 = −
Može se zaključiti: 1) Bernulijevi brojevi su racionalni brojevi, 2) B2 k +1 = 0 , k = 1, 2, 3, ... Dokažimo osobinu 2). Zaista, uzimajući u obzir da je B0 = 1 i B1 = − g ( x) = f ( x) − B1 x =
1 , imamo da je 2
∞ B x 1 + x = 1 + ∑ n xn e −1 2 n=2 n! x
a takoñe je x
−
x
x 1 x ex +1 x e 2 + e 2 x x g ( x) = x + x= ⋅ x = ⋅ x = ⋅ cth . x − 2 e −1 2 2 2 2 e −1 2 e −e 2
Kako je g (− x) = g ( x) , tj. kako je g ( x) parna funkcija, to se u njenom razvoju pojavljuju samo parni stepeni promenljive x, pa su Bn = 0 za n = 3, 5, 7, ... Funkcija f ( x) =
∞ B x 1 = 1 − x + ∑ 2k x2k 2 e −1 k = 2 (2 k )! x
se naziva generatrisa Bernulijevih brojeva. Koristeći simboličku oznaku Bk = B k generatrisa f ( x) može biti zapisana na sledeći, simbolički način f ( x) =
x = e Bx . e −1 x
Funkcija ϕ(t , x) =
xetx ex −1
naziva se generatrisa Bernulijevih polinoma Bn (t ) .
162
Nañimo eksplicitnu formulu za Bernulijeve polinome Bn (t ) , n = 0, 1, 2, ... Poñimo od izraza (2) i (3) kojima su definisani Bernulijevi polinomi i Bernulijevi brojevi: j ∞ t i xi ∞ B j x ∞ x n xetx = ⋅ Bn (t ) . =∑ ∑ ∑ e x − 1 i = 0 i ! j = 0 j ! n = 0 n !
Uporeñujući koeficijente uz x n na levoj i na desnoj strani poslednje jednakosti dobijamo n
1
1
∑ Bn −1 i !(n − i)! t i = n ! Bn (t ) , i =0
a odavde n n n! Bn −i t i = ∑ Bn −i t i , i = 0 i !( n − i )! i =0 i n
Bn (t ) = ∑
što znači da je Bernulijev polinom n–tog stepena jednak n n Bn (t ) = ∑ Bn −i t i . i =0 i
(11)
Nekoliko prvih Bernulijevih polinoma: B0 (t ) = 1, 1 1 1 B1 (t ) = B1t 0 + B0t1 = − + t , 2 0 1 2 2 2 1 B2 (t ) = B2t 0 + B1t1 + B0t 2 = − t + t 2 , 6 0 1 2 1 3 B3 (t ) = t − t 2 + t 3 , 2 2 1 B4 (t ) = − + t 2 − 2t 3 + t 4 , 30 1 5 5 B5 (t ) = − t + t 3 − t 4 + t 5 , … 6 3 2
Napomena. Formula (11) može se simbolički zapisati na sledeći način Bn (t ) = ( B + t ) n ,
gde u razvoju po binomnoj formuli simbolički stepen B i treba zameniti sa Bi . Bernulijevi brojevi i Bernulijevi polinomi primenjuju se u raznovrsnim zadacima matematike. Ovde ćemo iskoristiti Bernulijeve brojeve u Ojler–Maklorenovoj kvadraturnoj formuli. 163
Dakle, neka treba izračunati integral I=
(12)
xn
∫
f ( x) dx ,
x0
gde je funkcija f ( x) definisana za x ≥ x0 . Posmatrajmo operator konačne razlike ili diferencije ∆f ( x) = f ( x + h) − f ( x) , h > 0 i fiksirano.
(13)
Pod inverznim operatorom ∆ −1 podrazumevaćemo funkciju F ( x) koja zadovoljava konačno–diferencijsku jednačinu (14) ∆F ( x) = f ( x) , dakle F ( x ) = ∆ −1 f ( x ) .
(15)
Izračunajmo inverzni operator ∆ −1 f ( x) u slučaju kada je funkcija f ( x) zadata vrednostima f ( xi ) na skupu ekvidistantnih čvorova x0 , x1 , x2 , … , xn , … , ∆xi = xi +1 − xi = h , i = 0,1, 2, ...
Kako se nalazi inverzni operator? Posmatrajmo konačnu sumu i −1
(16)
S ( xi ) = ∑ f (x j ) , i = 0,1, 2, ... , j =0
gde ćemo uzeti da je S ( x0 ) = 0 . Očigledno je (17)
∆S ( xi ) = S ( xi +1 ) − S ( xi ) = f ( xi ) ,
a kako je, saglasno jednačini (14) (18) ∆F ( xi ) = f ( xi ) , to oduzimanjem jednakosti (17) od jednakosti (18) dobijamo ∆F ( xi ) − ∆S ( xi ) = ∆[ F ( xi ) − S ( xi )] = 0 , i = 0,1, 2, ...
Prema tome, razlika F ( xi ) − S ( xi ) ne zavisi od indeksa i, pa možemo staviti da je F ( xi ) − S ( xi ) = F ( x0 ) − S ( x0 ) = F ( x0 ) , odakle je F ( xi ) = F ( x0 ) + S ( xi ) ,
gde je F ( x0 ) proizvoljna konstantna veličina. Dakle, (19)
∆ −1 f ( xi ) = F ( x0 ) + S ( xi ) ,
što znači da je inverzni operator za konačnu razliku operator konačnog sumiranja. 164
Uvedimo operator diferenciranja na sledeći način df ( x) Df ( x) = . dx Pod inverznim operatorom D −1 podrazumeva se operator integracije x
D −1 f ( x) =
∫
f ( x) dx .
x0
Koristeći Tejlorov red nalazimo ∞ h k D k hk k D f ( x) = ∑ k =1 k ! k =1 k ! ∞
∆f ( x) = ∑
hD f ( x) = (e − 1) f ( x) ,
što znači da je operator ∆ = e hD − 1 ,
a inverzni operator je ∆ −1 =
(20)
1 e
hD
−1
.
Ako pomnožimo jednakost (20) sa hD, dobićemo hD ⋅ ∆ −1 =
(21)
hD . e −1 hD
Očigledno, na desnoj strani jednakosti (21) je generatrisa Bernulijevih brojeva, pa je hD ⋅ ∆ −1 =
∞
Bk k h D k =0 k !
∑
ili (22)
∞ B d −1 [∆ f ( x)] = ∑ k h k −1 D k f ( x) . dx k =0 k !
Integraleći jednakost (22) u granicama od x0 do xn , dobijamo ∆ −1 f ( xn ) − ∆ −1 f ( x0 ) =
∞ B 1 n f ( x ) dx + ∑ kk! h k −1[ f ( k −1) ( xn ) − f ( k −1) ( x0 )] h x∫0 k =1 x
ili n −1
F ( x0 ) + S ( xn ) − F ( x0 ) = S ( xn ) = ∑ f ( x j ) = j =0
=
∞ Bk k −1 ( k −1) 1 f ( x ) dx + h [f ( xn ) − f ( k −1) ( x0 )]. ∑ ∫ h x0 k =1 k !
xn
165
Uzimajući u obzir da je B1 = −
1 i B2 k +1 = 0 , k = 1, 2, 3, ... dobijamo kvad2
raturnu formulu xn
h f ( x) dx = [ f ( x0 ) + 2 f ( x1 ) + 2 f ( x2 ) + ⋯ + 2 f ( xn −1 ) + f ( xn )] − 2 x0 m B −∑ 2 k h 2 k [ f (2 k −1) ( xn ) − f (2 k −1) ( x0 )] + R2 m , k =1 (2k )!
I=
(23)
∫
gde je R2 m greška kvadraturne formule. Kvadraturna formula (23) je poznata kao Ojler–Maklorenova kvadraturna formula. U formuli (23) umesto beskonačnog reda uzeta je konačna suma. Naime, beskonačni red ne mora konvergirati, a u slučaju divergencije reda formula ne bi imala smisla. Ako uvrstimo vrednosti Bernulijevih brojeva, onda imamo I=
xn
∫
x0
(24)
h f ( x) dx = [ f ( x0 ) + 2 f ( x1 ) + 2 f ( x2 ) + ⋯ + 2 f ( xn −1 ) + f ( xn )] − 2
h2 h4 [ f '( xn ) − f '( x0 )] + [ f '''( xn ) − f '''( x0 )] − 12 720 h6 − [ f (5) ( xn ) − f (5) ( x0 )] + ⋯ − 30240 B − 2 m h 2 m [ f (2 m −1) ( xn ) − f (2 m −1) ( x0 )] + R2 m . (2m)! −
Greška Ojler–Maklorenove kvadraturne formule je R2 m = − n ⋅ h 2 m + 3 ⋅
(25)
B2 m + 2 f (2 m + 2) (ξ) , ξ ∈( x0 , xn ) (2m + 2)!
Ojler–Maklorenova kvadraturna formula (24) koristi se za približno izračunavanje integrala, a može se koristiti i za približno sumiranje vrednosti funkcije za ekvidistantne vrednosti argumenta. Zaista, iz formule (24) nalazimo n
∑ i =0
(26)
166
1 x 1 f ( x)dx + [ f ( x0 ) + f ( xn )] + ∫ h x0 2 m B + ∑ 2 k h 2 k −1[ f (2 k −1) ( xn ) − f (2 k −1) ( x0 )] + k =1 (2k )! B + n ⋅ h 2 m + 2 ⋅ 2 m + 2 f (2 m + 2) (ξ), ξ∈( x0 , xn ). (2m + 2)!
f ( xi ) =
Primer 1. Koristeći Ojler–Maklorenovu kvadraturnu formulu izračunati približnu vrednost integrala 1
I = ∫ e − x dx . 2
0
Računati sa šest decimala i uzeti korak h = 0.25. Rešenje. Vrednosti podintegralne funkcije u izabranim čvorovima su: x 0.00 0.25 0.50 0.75 1.00 f ( x) 1.000000 0.939413 0.778801 0.569783 0.367879 Imamo: 0.25 [1.000000 + 2(0.939413 + 0.778801 + 0.569783) + 0.367879] = 0.742984 2 Redom izvodi su: f '( x) = −2 xe − x , f '(0) = 0 , f '(1) = −2e −1 = −0.735759 ; 2
f ''( x) = (−2 + 4 x 2 )e − x ; 2
f '''( x) = (12 x − 8 x3 )e − x , f '''(0) = 0 , f '''(1) = 4e −1 = 1.471518 ; 2
f (4) ( x) = (12 − 48 x 2 + 16 x 4 )e − x ; 2
f (5) ( x) = (−120 x + 160 x3 − 32 x5 )e − x , 2
f (5) (0) = 0 , f (5) (1) = 8e −1 = 2.943036 .
Približna vrednost integrala je I = 0.742984 − +
(0.25) 2 (0.25) 4 [ −0.735759 − 0] + [1.471518 − 0] + 12 720
(0.25)6 [2.943036 − 0] = 0.746824. 30240
17. KONVERGENCIJA KVADRATURNIH PROCESA Kao što znamo, kvadraturne formule su sledećeg oblika b
(1)
n
n
i =1
i =1
I = ∫ f ( x) dx = ∑ Ai f ( xi ) + R[ f ] ≈ ∑ Ai f ( xi ) , a
gde su Ai koeficijenti, xi čvorovi (i = 1, n) a R[ f ] greške kvadraturne formule. Kvadraturne formule mogu se dobiti na razne načine: podintegralna funkcija f ( x) se aproksimira interpolacionim polinomom Ln ( x) , pa se umesto integracije funkcije f ( x) integrali polinom Ln ( x) ; podintegralna funkcija f ( x) se aproksimira Tejlorovim polinomom Tn ( x) , pa se umesto integracije 167
funkcije f ( x) integrali polinom Tn ( x) ; podintegralna funkcija se zamenjuje polinomima x k i zahteva se da kvadraturna formula bude tačna za sve polinome do odreñenog stepena, ... Koji način će se primeniti, to zavisi od načina zadavanja funkcije f ( x) , od osobina funkcije f ( x) , od tačnosti koja se želi postići, ... Ako se n povećava (broj koeficijenata i broj čvorova se povećava), onda se prirodno postavljaju pitanja: Da li se tačnost kvadraturne formule (1) povećava? Ako n → ∞ , da li greška kvadraturne formule teži nuli? Odgovoriti na ova i slična pitanja je važno ali vrlo teško. Primetimo, za početak, sledeće: s povećanjem broja koeficijenata i broja čvorova povećava se i obim računanja, pa se greške polaznih podataka prenose, transformišu i akumuliraju. Očekivano povećanje tačnosti ili se ne ostvaruje u potpunosti ili se uopšte ne ostvaruje. Zbog svega rečenog potrebno je razmotriti sledeće pitanje. Za funkcional b
(2)
L( f ) = ∫ f ( x) dx a
odrediti niz funkcionala n
(3)
Ln ( f ) = ∑ Ci( n ) f ( xi( n ) ) , i =1
gde su Ci( k ) elementi sledeće beskonačne trougaone matrice koeficijenata
(4)
C1(1) (2) C1 (3) C C= 1 ⋮ (k ) C1 ⋮
C2(2) C2(3)
C3(3)
C2( k )
C3( k )
, Ck( k )
(k ) a xi ∈ [a, b] su elementi sledeće beskonačne trougaone matrice čvorova
x1(1) (2) x1 (3) x X = 1 ⋮ (k ) x1 ⋮
x2(2) (3) (3) x2 x3 . (5) x2( k ) x3( k ) xk( k ) Koje uslove treba da zadovoljavaju koeficijenti Ci( k ) i čvorovi xi( k ) , elementi matrica C i X, da bi za proizvoljnu funkciju f ( x)∈C [a, b] bila tačna jednakost
168
b
lim Ln ( f ) = L( f ) = ∫ f ( x) dx ?
(6)
n →∞
a
Drugim rečima, koje uslove treba da zadovoljavaju koeficijenti Ci( k ) i čvorovi xi( k ) niza kvadraturnih formula (3) da bi kvadraturni proces konvergirao. Odgovor daje sledeća teorema.
Teorema. Da bi za proizvoljnu funkciju f ( x)∈C [a, b] bila tačna jednakost (6) potrebno je i dovoljno da jednakost važi za proizvoljan polinom i da je za proizvoljno n n
S n = ∑ | Ci( n ) | < M < ∞ . i =1
Dokaz. Dokažimo, prvo, da su uslovi dovoljni. Koristićemo, pri tome, poznatu Vajerštrasovu teoremu: za svaku funkciju f ( x)∈C [a, b] i proizvoljno maleno ε > 0 može se naći takav polinom P ( x) da bude ispunjeno | f ( x) − P ( x)| < ε za svako x∈[ a, b] . Dakle, b
b
L( f ) − Ln ( f ) = ∫ f ( x) dx − Ln ( f ) = ∫ [ f ( x) − P( x)] dx + a
(7)
a
b + ∫ P( x) dx − Ln ( P) − Ln ( f − P). a
Redom imamo: b
b
∫ [ f ( x) − P( x)]dx
b
≤ ∫ | f ( x) − P ( x)| dx ≤ ∫ εdx = ε(b − a ) ,
a
a
a
(koristili smo Vajerštrasovu teoremu); b
∫ P( x) dx − Ln ( P)
<ε,
a
(za dovoljno veliko n na osnovu prvog uslova teoreme); | Ln ( f − P)| =
n
∑ Ci( n) [ f ( xi( n) ) − P( xi( n) )]
≤
i =1 n
≤ ∑ | Ci( n ) | ⋅| f ( xi( n ) ) − P ( xi( n ) )| ≤ ε ⋅ M , i =1
pa je (8)
| L( f ) − Ln ( f )| =
b
∫ f ( x) dx − Ln ( f )
≤ ε(b − a + 1 + M ) ,
a
169
tj. leva strana L( f ) − Ln ( f ) se može učiniti proizvoljno malom što i dokazuje da su uslovi dovoljni. Dokažimo da su uslovi potrebni. Da je prvi uslov potreban, to je očigledno, jer su polinomi neprekidne funkcije. Da bismo dokazali da je i drugi uslov pon
treban, pretpostavimo suprotno, tj. pretpostavimo da
∑ | Ci( n) | nije ograničeno. i =1
Za svako n konstruišimo funkciju ϕn ( x) sa sledećim osobinama: 1) ϕn ( x) ∈ C[a, b] , 2) | ϕn ( x)| ≤ 1 za x ∈ [a, b] , −1, ako je Ci( n ) < 0, 3) ϕn ( xi( n ) ) = (n) 1, ako je Ci > 0.
Očigledno je n
n
i =1
i =1
Ln (ϕn ) = ∑ Ci( n ) ϕn ( xi( n ) ) = ∑ | Ci( n ) | ( = M n ) .
Uočimo neku od formiranih funkcija ϕn1 ( x) . Za ovu funkciju mora biti b
lim Ln (ϕn1 ) = ∫ ϕn1 ( x) dx .
n →∞
a
Meñutim, | ϕn1 ( x)| ≤ 1 za x ∈ [a, b] , pa je b
∫ ϕn ( x)dx 1
b
b
≤ ∫ | ϕn1 ( x)| dx ≤ ∫ 1 ⋅ dx = b − a
a
a
a
i | lim Ln (ϕn1 )| = n →∞
b
b
∫ ϕn1 ( x)dx ≤ ∫ | ϕn1 ( x)| dx ≤ b − a . a
a
Dakle, može se naći takav broj N1 da je za n > N1 | Ln (ϕn1 )| < e(b − a )
(e = 2.71828... je osnova prirodnih logaritama.) Dalje, može se naći takav broj n2 ≥ N1 da je M n2 > 2.2! Neka je funkcija ϕn2 ( x) jedna od konstruisanih funkcija. Posmatrajmo funkciju
ψ 2 ( x) =
170
1 1 ϕn1 ( x) + ϕn2 ( x) . 1! 2!
Ova funkcija je neprekidna i za nju mora važiti b
lim Ln (ψ 2 ) = ∫ ψ 2 ( x) dx ,
n →∞
a
odnosno b 1 1 1 1 lim Ln ϕn1 ( x) + ϕn2 ( x) = ∫ ϕn1 ( x) + ϕn2 ( x) dx . n →∞ 1! 2! 1! 2! a
Meñutim, | ϕn1 ( x)| ≤ 1 i | ϕn2 ( x)| ≤ 1 za x ∈ [a, b] , pa je b
b 1 1 b 1 1 ϕ ( x ) + ϕ ( x ) ≤ | ϕ ( x )| dx + | ϕn ( x)| dx ≤ n ∫ n1 ∫ n 2! 2 2!a∫ 2 1!a 1 a 1! 1 1 ≤ + (b − a ) < (e − 1)(b − a ) 1! 2!
i moguće je naći takav broj N 2 da je za n > N 2 1 1 Ln (ψ 2 ) = Ln ϕn1 ( x) + ϕn2 ( x) < e(b − a ) . 1! 2!
Postupak se može produžiti. Dakle, moguće je naći takav broj n3 > N 2 da je Mn3 > 3 ⋅ 3! Neka je ϕn3 ( x) jedna od konstruisanih funkcija. Posmatrajmo funkciju ψ 3 ( x) =
1 1 1 ϕn1 ( x) + ϕn2 ( x) + ϕn3 ( x) . 1! 2! 3!
Na analogan način se pokazuje da je 1 1 1 Ln (ψ 3 ) = Ln ϕn1 ( x) + ϕn2 ( x) + ϕn3 ( x) < e(b − a ) . 1! 2! 3!
Produžavajući ovaj postupak dobijamo red 1 1 1 ϕn1 ( x) + ϕn2 ( x) + ⋯ + ϕnk ( x) + ⋯ . 1! 2! k! Ovaj red je ravnomerno konvergentan, pa je njegova suma neprekidna funkcija. Označimo je sa f ( x) . Za proizvoljan broj k, k > 1, predstavimo ovu funkciju u obliku ∞ k −1 1 1 1 f ( x) = ∑ ϕni ( x) + ϕnk ( x) + ∑ ϕni ( x) k! i =1 i ! i = k +1 i !
i pri tome je (9)
1 k −1 1 ∞ 1 Lnk ( f ) = Lnk ∑ ϕni ( x) + Lnk ϕnk ( x) + Lnk ∑ ϕni ( x) . k! i =1 i ! i = k +1 i !
171
Ocenimo svaki od tri sabirka prethodne jednakosti. Kako je nk > N k −1 , to je ∞ 1 Lnk ∑ ϕni ( x) < e(b − a ) , i =1 i !
a kako je ∞
∞ 1 1 1 1 1 ϕni ( x) ≤ ∑ = + + ⋯ ≤ 1 + (k + 1)! k + 2 (k + 2)(k + 3) i = k +1 i ! i = k +1 i ! 1 1 1 1 1 ≤ + + ⋯ = ⋅ = 1 + 2 (k + 1)! k + 2 (k + 2) ( k + 1)! 1 − 1 k+2 1 k+2 k +1 , = < = (k + 1)!( k + 1) (k + 1)!k k ⋅ k !
∑
to je 1 ∞ 1 Lnk ∑ ϕni ( x) < ⋅ M nk i = k +1 i ! k ⋅k!
(11)
Funkcional srednjeg sabirka je 1 1 1 Lnk ϕnk ( x) = Lnk (ϕnk ( x)) = ⋅ M nk . k! k! k!
(12)
Koristeći (10), (11) i (12) na osnovu (9) dobijamo k −1 1 ∞ 1 1 Lnk ( f ) = Lnk ∑ ϕni ( x) + Lnk ϕnk ( x) + Lnk ∑ ϕni ( x) > i ! k ! i ! i =1 i = k +1 k −1 1 ∞ 1 1 > Lnk ϕnk ( x) − Lnk ∑ ϕni ( x) − Lnk ∑ ϕni ( x) > k! i =1 i ! i = k +1 i ! 1 1 1 1 > M nk − M n − e(b − a ) = M nk − − e(b − a ) > k! k ⋅ k! k k! k ⋅ k! 1 1 > k ⋅ k ! − − e(b − a ) = k − 1 − e(b − a ), k! k ⋅ k!
jer je M nk > k ⋅ k ! . Očigledno, desna strana poslednje nejednakosti teži beskonačnosti kada k → ∞ , pa Ln ( f ) ne može težiti ka
b
∫ f ( x) dx , što dokazuje da je i drugi uslov a
potreban. ■ 172
Koristeći dokazanu teoremu jednostavno se zaključuje da: Gausov kvadraturni proces uvek konvergira a Njutn–Kotesov kvadraturni proces ne konvergira n
– nije ispunjen uslov:
∑ | Ci( n ) | < M
za proizvoljno n.
i =1
Kako Čebišovljeve kvadraturne formule ne postoje za n = 8 i n ≥ 10, to se pitanje konvergencije ne može postaviti.
18. OPTIMIZACIJA KVADRATURNIH FORMULA Za izračunavanje približnih vrednosti integrala koriste se mnogobrojne kvadraturne formule, različite po obliku ili po načinu izvoñenja. Tako, na primer, neke kvadraturne formule uključuju vrednosti podintegralne funkcije ili integranda na krajevima intervala integracije i čine klasu kvadraturnih formula zatvorenog tipa a neke ne uključuju te vrednosti i čine klasu kvadraturnih formula otvorenog tipa. Klasa Njutn–Kotesovih kvadraturnih formula se dobija na sledeći način. Podintegralna funkcija se aproksimira nekim interpolacionim polinomom za zadati broj ekvidistantnih čvorova, pa se za približnu vrednost integrala uzima vrednost integrala interpolacionog polinoma. Kvadraturne formule Gausovog tipa se dobijaju na sledeći način. Čvorovi i koeficijenti kvadraturnih formula se odreñuju iz sistema jednačina koji se dobija na osnovu uslova da kvadraturna formula bude tačna za polinome što je moguće višeg stepena. Ojler–Maklorenova kvadraturna formula sadrži, osim vrednosti podintegralne funkcije u čvorovima integracije, i vrednosti izvodâ podintegralne funkcije u krajnjim čvorovima integracije. Ovo može biti izvesno ograničenje u primeni kvadraturne formule. Način izvoñenja, kao što je poznato, bitno je drugačije od načina izvoñenja prethodnih klasa kvadraturnih formula. Naravno, moguće je izvesti i drugačije kvadraturne formule polazeći od sličnih ili potpuno drugačijih zahteva. Meñutim, sledeće pitanje, pitanje koju kvadraturnu formulu primeniti u konkretnom slučaju ostaje bez odgovora. Značaj odgovora na postavljeno pitanje nije potrebno posebno naglašavati. Za numeričku matematiku, kao i za svaku praktičnu nauku, karakteristično je sledeće. Nove tipove zadataka treba rešavati postojećim ili novim metodama. U sledećoj etapi širi se i krug zadataka odreñenog tipa i broj metoda za njihovo rešavanje. Zatim se postavlja pitanje izbora najbolje, optimalne metode. Na kraju, rešavanje zadataka treba svesti na primenu odgovarajućih standardnih programa ili paketa programa. Naravno, čitav tok mora biti praćen teorijskim razmatranjima, pri tome se često postavljaju novi tipovi zadataka i novi problemi. Dakle, postoji izvesna unutrašnja logika razvoja svake nauke i svake oblasti odreñene nauke, pa i numeričke matematike. U numeričkoj matematici značajno mesto zauzima optimizacija rešavanja zadataka odreñenog tipa, odnosno izbor optimalne metode. Ovde postavljamo pitanje izbora optimalne metode numeričke integracije. Naravno, izbor zavisi od postavljenog kriterijuma optimalnosti. Kriterijum može biti: potreban broj 173
čvorova za postizanje zadate tečnosti, potrebno mašinsko vreme za rešavanje zadatka odreñenog tipa, ... Razmotrićemo pitanje izbora optimalne kvadraturne formule na odreñenim klasama funkcija. Neka treba izračunati približnu vrednost integrala (1) I ( f ) = ∫ p ( P) f ( P ) dP , Ω
gde je Ω oblast integracije a p ( P ) težinska funkcija. Pretpostavimo da podintegralna funkcija f ( P ) pripada zadatoj klasi funkcija F. Greška kvadraturne formule n
I ( f ) ≈ S n ( f ) = ∑ Ai f ( Pi )
(2)
i =1
na klasi funkcija F naziva se veličina (3) Rn ( F ) = sup | Rn ( f )| , f ∈F
gde je (4)
Rn ( f ) = I ( f ) − S n ( f ) .
Pod optimalnom ocenom greške kvadraturne formule na klasi F podrazumeva se donja granica (5) Wn ( F ) = inf Rn ( F ) . Ai , Pi
Ako postoji kvadraturna formula za koju je (6) Rn ( F ) = Wn ( F ) , onda takvu kvadraturnu formulu nazivamo optimalnom ili najboljom na posmatranoj klasi funkcija. Razmotrimo nekoliko primera klasa funkcija i odgovarajućih optimalnih kvadraturnih formula. Neka je f ∈ F = C1 ( A, [0, 1]) , gde C1 ( A, [0, 1]) predstavlja klasu neprekidnih funkcija sa deo po deo neprekidnim prvim izvorom koji zadovoljava uslov | f ′( x)| ≤ A , x ∈ [0, 1] . Dakle, treba izračunati integral 1
I ( f ) = ∫ f ( x) dx , f ∈C1 ( A, [0,1]) .
(7)
0
Kvadraturna formula je 1
(8)
n
I ( f ) = ∫ f ( x) dx ≈ S n ( f ) = ∑ Ai f ( xi ) , 0 ≤ x1 < x2 < … < xn ≤ 1 . 0
i =1
Pokazano je (Н. С. Бахвалов – Численные методы, I, Moskva, 1973, str. 140–146) da je optimalna kvadraturna formula n 2i − 1 (9) Sn ( f ) = ∑ f , 2n i =1 174
A . 4n Neka je f ∈C1(1) ( A, [0,1]) , gde C1(1) ( A, [0,1]) predstavlja klasu neprekidnih funkcija sa deo po deo neprekidnim prvim izvodom koji zadovoljava uslov a ocena greške je
1
∫ | f ′( x)| dx ≤ A . 0
Optimalna kvadraturna formula i u ovom slučaju je formula (9), ali ocena A greške je . 2n Važi uopšte: ako se koristi ograničenost izvoda f '( x) u bilo kom smislu, 1 ocena greške je O . n
19. NUMERIČKO IZRAČUNAVANJE VIŠESTRUKIH INTEGRALA Numeričko izračunavanje višestrukih integrala pokazaćemo na primeru izračunavanja dvostrukih integrala. Dakle, neka treba izračunati dvostruki integral I = ∫ ∫ f ( x, y ) dx dy .
(1)
G
Formule za numeričko izračunavanje dvostrukih integrala nazivaju se kubaturne formule. Jedan od načina izračunavanja približne vrednosti integrala (1) je uzastopna primena kvadraturnih formula. Pokazaćemo to na primeru primene Simpsonove kvadraturne formule. Neka je oblast integracije G pravougaonik R (sl. 4) odreñen nejednakostima a ≤ x ≤ b, c ≤ y ≤ d, tj. (2)
R{( x, y ); a ≤ x ≤ b, c ≤ y ≤ d } . y y2 = d
1
4
1
y1
4
16
4
y0 = c
1
4
1
x0 = a
x1
x2 = b
0
x
Sl. 4 175
Podelimo odsečke [a, b] i [c, d] na po dva jednaka dela dužina – koraka hx i hy : hx =
b−a 2
i hy =
d −c 2
Tačke podele označimo na sledeći način: x0 = a , x1 = x0 + hx , x2 = x1 + hx = x0 + 2hx = b , y0 = c , y1 = y0 + hy , y2 = y1 + hy = y0 + 2hy = d .
Na taj način smo oblast integracije – pravougaonik R aproksimirali mrežom čvorova ( xi , y j ) , i, j = 0, 1, 2 (3)
ωh = {( xi , y j ); xi = x0 + hx , i = 0,1, 2; yi = y0 + jhy , j = 0,1, 2} ,
Neka su zij = f ( xi , y j ) , i, j = 0,1, 2 , vrednosti podintegralne funkcije z = f ( x, y ) u čvorovima mreže (3). Sada imamo b d I = ∫ ∫ f ( x, y ) dx dy = ∫ ∫ f ( x, y ) dy dx . R a c
Primenom osnovne Simpsonove kvadraturne formule, prvo na „unutrašnji“ integral, pa onda na „spoljašnji“ dobijamo b h y I = ∫ [ f ( x, y0 ) + 4 f ( x, y1 ) + f ( x, y2 ) ] dx = a 3 b b hy b = ∫ f ( x, y0 ) dx + 4 ∫ f ( x, y1 ) dx + ∫ f ( x, y2 ) dx = 3 a a a h y hy = [ f ( x0 , y0 ) + 4 f ( x1 , y0 ) + f ( x2 , y0 ) ] + 3 3 hy + 4 ⋅ [ f ( x0 , y1 ) + 4 f ( x1 , y1 ) + f ( x2 , y1 ) ] + 3 hy + [ f ( x0 , y2 ) + 4 f ( x1 , y2 ) + f ( x2 , y2 ) ] = 3 hx hy = [( z00 + z20 + z02 + z22 ) + 16 z11 + 4( z10 + z01 + z21 + z12 )] = 9 hx hy = [σ0 + 4σ1 + σ2 ] , 9
gde smo, očigledno, koristili oznake: σ0 = z00 + z20 + z02 + z22 , σ1 = 4z11 i σ2 = 4( z10 + z01 + z21 + z12 ) .
176
Ako je oblast integracije – pravougaonik R velikih dimenzija, onda odsečke [a, b] i [c, d] delimo na 2n i 2m delova, odnosno uzimamo za korake hx =
b−a d −c , hy = . 2n 2m
Na taj način pravougaonik R aproksimiramo mrežom (sl. 5) (4)
ωh = {( xi , y j ); xi = x0 + ihx , i = 0, 2n; y j = y0 + jhy , j = 0, 2m} . Neka su zij = f ( xi , y j ) , i = 0, 2n , j = 0, 2m , vrednosti podintegralne
funkcije z = f ( x, y ) u čvorovima mreže (4). Odgovarajuća kubaturna formula – Simpsonova kubaturna formula je y d = y2m y2m – 1 y2m – 2 y2 y1 c = y0 0
a= x0
x1
x2n – 2 x2n – 1 x2n= b x
x2
Sl. 5 (5)
I = ∫ ∫ f ( x, y ) dx dy = R
hx hy 9
2n 2m
∑ ∑ Aij ⋅ zij , i =0 j =0
gde su koeficijenti Aij elementi sledeće matrice koeficijenata 1 4 2 4 2 4 16 8 16 8 2 8 4 8 4 A = ⋮ 2 8 4 8 4 4 16 8 16 8 1 4 2 4 2
… 4 2 4 1 … 16 8 16 4 … 8 4 8 2 . … 8 4 8 2 … 16 8 16 4 … 4 2 4 1
Umesto Simpsonove kvadraturne formule moguće je koristiti bilo koju drugu kvadraturnu formulu. 177
Ako je oblast integracije krivolinijska, onda prvo treba tu oblast aproksimirati pravougaonom oblašću (sl. 6), pa, zatim, posmatrati pomoćnu funkciju f ( x, y ), ( x, y )∈ R, f1 ( x, y ) = ( x, y )∈ R \ σ. 0, Na taj način bismo imali I = ∫ ∫ f ( x, y ) dx dy = ∫ ∫ f1 ( x, y ) dx dy . σ
R
Integral I = ∫ ∫ f1 ( x, y ) dx dy R
se izračunava primenom kubaturne formule (5). y
y
d
M2
0
x
b
a
MN
M3
R
c 0
(s)
M1
s
Sl. 6
x
Sl. 7
Drugi način dobijanja kubaturnih formula je sledeći. Neka je, dakle, podintegralna funkcija z = f ( x, y ) definisana i neprekidna u nekoj ograničenoj oblasti σ (sl. 7). Izaberimo u toj oblasti tačke Mi ( xi , yi ) , odnosno čvorove ( xi , yi ) , i = 1, N . Da bismo izračunali približnu vrednost dvostrukog integrala I = ∫ ∫ f ( x, y ) dx dy
(6)
σ
stavljamo da je N
(7)
I = ∫ ∫ f ( x, y ) dx dy = ∑ Ai f ( xi , yi ) + R[ f ] , σ
i =1
gde su Ai koeficijenti kubaturne formule koje treba odrediti, a R[ F ] je greška te formule. Koeficijente Ai odreñujemo iz uslova da formula (7) bude tačna za sve polinome (8) Pn ( x, y ) = ∑ ckl x k y l k +l ≤n
stepena ne većeg od n, tj. da bude greška R[ Pn ( x, y )] = 0 . Za to je potrebno i dovoljno da formula (7) bude tačna za sve polinome
178
xk yl , k + l ≤ n .
Dakle, ako u (7) uvrstimo f ( x, y ) = x k y l , dobićemo sistem linearnih algebarskih jednačina za odreñivanje koeficijenata Ai : n
∑ Ai xik yil = ∫ ∫ x k y l dx dy ,
(9)
i =1
k +l ≤n .
σ
Primer 1. Izračunati približnu vrednost integrala I=
0.6 0.4
∫ ∫ sin( x
2
+ y 2 ) dx dy .
0 0
Uzeti: hx = 0.3 i hy = 0.2 . Računati sa šest decimala. Rešenje. Izračunajmo vrednosti podintegralne funkcije f ( x, y ) = sin( x 2 + y 2 ) u čvorovima mreže ωh = {( xi , yi ); xi = 0 + i ⋅ 0.3, i = 0,1, 2; y j = 0 + j ⋅ 0.2, j = 0,1, 2} . Preglednosti radi rezultati računanja su dati u sledećoj tabeli. x y 0.0 0.2 0.4
0.0
0.3
0.000000 0.039989 0.159318
0.6
0.089879 0.352274 0.129634 16 0.389418 0.247404 0.496880
Tražena vrednost je 1 I = ⋅ 0.3 ⋅ 0.2 ⋅ 6.149376 = 0.040996 . ▲ 9 Na potpuno isti način, izvode se formule za približno izračunavanje integrala višestrukosti veće od dva. Neka, na primer, treba izračunati trostruki integral bd f
I = ∫ ∫ ∫ f ( x, y, z ) dx dy dz .
(10)
ac e
Oblast integracije – kvadar K = {( x, y, z ); a ≤ x ≤ b, c ≤ y ≤ d , e ≤ z ≤ f } aproksimirajmo mrežom ωh = {( xi , y j , zk ); x0 = a, x1 = b; y0 = c, y1 = d ; z0 = e, z1 = f } .
(11)
Neka su zijk = f ( xi , y j , zk ) , i, j , k = 0,1 , vrednosti podintegralne funkcije u čvorovima mreže (11). Primenimo osnovnu trapeznu kvadraturnu formulu I=
x1 y1 z1
∫∫∫
x0 y0 z0
y1 z1 f ( x, y, z ) dx dy dz = ∫ ∫ ∫ f ( x, y, z )dz dy dx = x0 y0 z0 x1
179
x1 y1 h = ∫ ∫ z [ f ( x, y, z0 ) + f ( x, y, z1 ) ] dy dx = x0 y0 2 x1 y y1 h 1 = ∫ z ∫ f ( x, y, z0 ) dy + ∫ f ( x, y, z1 ) dy dx = x0 2 y0 y0
hy hz hy [ f ( x, y0 , z0 ) + f ( x, y1 , z0 ) ] + [ f ( x, y0 , z1 ) + f ( x, y1 , z1 ) ] dx = 2 x0 2 2 x x x 1 1 1 h hy = z ⋅ ∫ f ( x, y0 , z0 ) dx + ∫ f ( x, y1 , z0 ) dx + ∫ f ( x, y0 , z1 ) dx + 2 2 x0 x0 x0 x1 h hy h + ∫ f ( x, y1 , z1 ) dx = z ⋅ z [ f ( x0 , y0 , z0 ) + f ( x1 , y0 , z0 ) ] + 2 2 2 x0 hx h + [ f ( x0 , y1 , z0 ) + f ( x1 , y1 , z0 ) ] + x [ f ( x0 , y0 , z1 ) + f ( x1 , y0 , z1 ) ] + 2 2 hx + [ f ( x0 , y1 , z1 ) + f ( x1 , y1 , z1 ) ] = 2 1 = ⋅ hx ⋅ hy ⋅ hz [ z000 + z100 + z010 + z110 + z001 + z101 + z011 + z111 ]. 8 =
x1
∫
Naravno, umesto trapezne kvadraturne formule može se primeniti bilo koja druga. Moguće je i kombinovati kvadraturne formule.
180
VI NUMERIČ KE METODE REŠAVANJA NELINEARNIH JEDNACINA JEDNAČ
0.
UVODNE NAPOMENE
Mnogobrojni su zadaci matematike i njenih primena koji se svode na rešavanje jednačina ili sistema jednačina. Svaka jednačina s jednom nepoznatom može se predstaviti u obliku (1) f ( x) = 0 gde je f ( x) funkcija, definisana u nekom konačnom ili beskonačnom intervalu X = {x; a < x < b}. Skup X ćemo zvati oblašću dopustivih vrednosti posmatrane jednačine. Rešenje ili koren jednačine (1) je ona vrednost x* ∈ X za koju je f ( x*) ≡ 0 (naravno, ako takva vrednost postoji). Rešiti jednačinu znači naći sva njena rešenja ili utvrditi da jednačina nema rešenja, ako ih, zaista, nema. Skup svih rešenja označićemo s Xr; dakle, X r = {x*; x* ∈ X ; f ( x*) ≡ 0} . Očigledno je Xr ⊆ X. U zavisnosti od toga kakve funkcije učestvuju u (1) jednačine se dele na dve osnovne klase jednačina: algebarske i transcendentne jednačine.
Primer 1. a) Sledeće jednačine su algebarske: Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , n ∈ N , ai ∈ R , i = 0, n , a0 ≠ 0 ; Rn ( x) ≡
a0 x n + a1 x n −1 + ⋯ + an = 0 , n ∈ N , m ∈ N , ai ∈ R , i = 0, n , a0 ≠ 0 , b0 x m + b1 x m −1 + ⋯ + am
bi ∈ R , i = 0, m , a0 ≠ 0 ;
x( x + 1) + 3 x + 2 + x + 6 = 0 ;
3x + 6 +
2x − 7 1+ x
−8 = 0
b) Sledeće jednačine su transcendentne: log a ( x 2 + 3 x + 9) = 10 ; e x + 3 − 6 x + 1 = 0 ; sin x + x = 11 ; x + arctg x + x = 2 ; log x + 3 = ecos x ; ln x 2 + 1 = x − 1 . ▲
Naći tačno rešenje jednačine (1) moguće je, kao što je poznato, samo u specijalnim slučajevima. Tako za rešavanje kvadratne jednačine x 2 + px + q = 0 koristi se poznata formula 181
x1,2 = −
p ± q
p2 −q . 4
Za rešavanje kubne jednačine x3 + px + q = 0
primenjuje se fomula x=3−
q q 2 p3 3 q q 2 p3 + + + − − + ; 2 4 27 2 4 27
primena ove formule je dosta komplikovana. Za rešavanje jednačine četvrtog stepena postoji takoñe formula, ali se zbog njene složenosti vrlo retko primenjuje. Dokazano je da ne postoji formula koja izražava rešenje algebarske jednačine Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , n ∈ N , a0 ≠ 0 , n ≥ 5 ,
kao funkciju koeficijenata a0 , a1 , … , an pomoću aritmetičkih operacija i korenovanja. Ovu činjenicu dokazali su norveški matematičar Abel (Nils Abel, 1802–1829) i francuski matematičar Galoa (Everest Galois, 1811–1832). U mnogim slučajevima koeficijenti jednačina su približni brojevi, pa, zbog toga, o nalaženju tačnog rešenja nema smisla govoriti. Tačnost rešenja je ograničena tačnošću koeficijenata! Zbog toga su značajne metode za nalaženje približnih rešenja jednačine (1). Zadatak nalaženja rešenja smatra se rešenim, ako je rešenje izračunato s unapred zadatom tačnošću. Ako je x* tačno a x približno rešenje jednačine (1) s tačnošću ε (ε > 0), onda to znači da je | x* – x | ≤ ε. Za primenu većine metoda za nalaženje približnog rešenja jednačine (1) potrebno je prethodno utvrditi prirodu rešenja, a to znači utvrditi da li su rešenja realna ili kompleksna, zatim da li su jednostruka ili višestruka, itd. Sledeći posao je odreñivanje oblasti (odsečaka [a, b] ili krugova poluprečnika r) koji sadrže jedno i samo jedno rešenje jednačine (1). Približno rešenje x jednačine (1) nalazimo u dve etape: 1) odreñivanjem dovoljno male oblasti koja sadrži jedno i samo jedno tačno rešenje i 2) izračunavanjem približnog rešenja sa zadatom tačnošću.
1.
LOKALIZACIJA REŠENJA
Lokalizacija ili razdvajanje rešenja jednačine (1) sastoji se u odreñivanju odsečaka [a, b] u oblasti dopustivih vrednosti koji sadrže jedno i samo jedno rešenje te jednačine. (Imaćemo u vidu, ako drugačije ne naglasimo, samo realna rešenja.) Ako [a, b] sadrži jedno i samo jedno rešenje, onda ćemo reći da je to rešenje izolovano. Za dalje izlaganje biće nam potrebne sledeće, opšte poznate, teoreme. 182
Teorema 1. Ako je f ( x) ∈ C[a, b] i f (a ) ⋅ f (b) < 0 , onda jednačina f ( x) = 0 ima bar jedno rešenje x* ∈ ( a, b) (sl. 1).
y
y f(x)
0
a
x*1
b
x*2
f (x )
x
0
a
x* Sl. 2
Sl. 1
b
x
Teorema 2. Ako je f ( x) ∈ C[a, b] i monotona na [a, b] i ako je f (a ) ⋅ f (b) < 0 , onda jednačina f ( x) = 0 ima jedno i samo jedno rešenje x* ∈ ( a, b) (sl. 2). Teorema 2'. Ako je f ( x) ∈ C[a, b] , f (a ) ⋅ f (b) < 0 i ako postoji f '( x), x ∈ (a, b) i konstantnog je znaka, onda jednačina f ( x) = 0 ima jedno i samo jedno rešenje x* ∈ ( a, b) . Dokazi ovih teorema mogu se naći u svakom kompletnijem udžbeniku matematičke analize. Proces lokalizacije rešenja jednačine f ( x) = 0 počinjemo odreñivanjem znakova funkcije f ( x) na krajevima oblasti dopustivih vrednosti posmatrane jednačine. Zatim, odreñujemo znakove funkcije f ( x) u nizu tačaka x = a1 , a2 , … ∈ X . Ove tačke se biraju u zavisnosti od osobina funkcije f ( x) (monotonost, konkavnost, ...). Ako se pokaže da je f (ak ) ⋅ f (ak +1 ) < 0 , onda se na osnovu Teoreme 1. zaključuje da u intervalu ( ak , ak +1 ) jednačina f ( x) = 0 ima bar jedno rešenje. Da li je to rešenje izolovano ispituje se primenom Teoreme 2. ili Teoreme 2’. ili na neki drugi način. Često je praktično sužavanje intervala ( ak , ak +1 ) deleći ga na dva, četiri, ... jednakih delova (do nekog koraka) i utvrñivanjem znaka funkcije f ( x) u tačkama podele.
Primer 1. Lokalizovati rešenja jednačine f ( x) ≡ 8 x3 − 12 x 2 − 26 x + 15 = 0 . Rešenje. Sastavimo sledeću tabelu x znak f ( x)
–∞ –
–2 –
–1 +
0 +
1 –
2 –
3 +
+∞ + 183
Zaključujemo da jednačina ima tri realna rešenja; ta rešenja su u intervalima (–2, –1), (0, 1) i (2, 3). Koristeći poznatu činjenicu da algebarska, polinomijalna jednačina s realnim koeficijentima n–tog stepena ima n rešenja (računajući i njihovu višestrukost) zaključujemo da su intervali (–2, 1), (0, 1) i (2, 3) u isto vreme i intervali izolacije rešenja posmatrane jednačine. ▲
Primer 2. Lokalizovati rešenje jednačine f ( x) ≡ 2 x − 5 x − 3 = 0 . Rešenje. Oblast dopustivih vrednosti je X = (–∞, ∞). Budući da je f '( x) = 2 x ⋅ ln 2 − 5 , to iz f '( x) ≡ 2 x ⋅ ln 2 − 5 = 0 nalazimo da je nula prvog izvoda x = 2.85... Sastavimo sledeću tabelu uzimajući a1 = 2 < 2.85... < a3 = 3
x znak f ( x) znak f '( x)
2 –
–∞ + –
2.85... – 0
∞ +
3 – +
Zaključujemo da intervali (–∞, 2.85...) i (2.85..., ∞) sadrže po jedno i samo jedno rešenje date jednačine. Radi preciznijeg lokalizovanja rešenja sastavimo sledeću tabelu x –2 –1 0 1 2 3 4 5 6 znak f ( x) + + + – – – – – + Dakle, precizniji intervali izolacije rešenja su (–1, 0) i (4, 5). ▲ Sledeća teorema daje ocenu približnog rešenja.
Teorema 3. Neka je x* tačno a x približno rešenje jednačine f ( x) = 0 , pri čemu x* ∈ [ a, b] i x ∈ [a, b] . Ako je | f '( x) | ≥ m1 > 0 za x* ∈ [ a, b] , onda je | f (x ) | (2) . | x * −x | ≤ m1 Dokaz. Primenjujući Lagranževu teoremu o srednjoj vrednosti funckije dobijamo f ( x*) − f ( x ) = ( x * − x ) ⋅ f '(ξ ) , gde je ξ tačka izmeñu x* i x , dakle ξ ∈ [a, b] . Budući da je x* tačno rešenje, tj. f ( x*) = 0 , i | f (ξ ) |≥ m1 > 0 , to je | f ( x*) − f ( x ) | = | f ( x ) | ≥ m1 | x * − x |
a odavde dobijamo | x * −x | ≤
184
| f (x ) | .■ m1
Primer 3. Jednačina f ( x) ≡ 2 x − 5 x − 3 = 0 ima izolovano rešenje x* ∈ [–1, 0]. Ako za približno rešenje uzmemo x = −0.5 , proceniti grešku. Rešenje. Redom imamo: f ( x ) = f (−0.5) = 2−0.5 − 5( −0.5) − 3 = 0.2071068... , f '( x) = 2 x ln 2 − 5 , f ''( x) = 2 x (ln 2) 2 > 0 ,
pa je f '( x) rastuća funkcija na [–1, 0], a kako je f '( x) < 0 , to je | f '( x) | opadajuća funkcija. Na taj način zaključujemo da je za x ∈ [–1, 0] | f '( x) | ≥ | f '(0) |= 4.306852... > 4.30685 = m1 .
Konačno je
| x * − (−0.5) | ≤
0.207107... 1 = 0.0480877... < 0.5 = ⋅10−1 , 4.306852... 2
što znači da je približno rešenje x = −0.5 tačno na jednu decimalu u užem smislu. ▲
Napomena 1. Ocena (2) može dati grube rezultate, pa je nije uvek pogodno primenjivati. Naime, u relaciji f ( x*) − f ( x ) = ( x * − x ) ⋅ f '(ξ )
može se desiti da je: 1) | f ( x*) − f ( x ) | = ε , ε > 0 i maleno, a | x * − x | ≫ ε (sl. 3a), 2) | x * − x | = ε , ε > 0 i maleno, a | f ( x*) − f ( x ) | ≫ ε (sl. 3b). a)
b)
y
y
f (x )
f (x ) f (x )
0
x*
f (x ) x
ε x
0
x*
ε
x
x
Sl. 3 Očigledno, u prvom slučaju izvod f '( x) je blizak nuli a u drugom beskonačnosti. Dakle, ocena (2) je „neosetljiva” u tim graničnim slučajevima, pa je treba oprezno koristiti. 185
Napomena 2. Pouzdana ocena se dobija sužavanjem intervala izolacije (a, b) ∋ x * ; na taj način imamo (3) | x * −x | < b − a . Napomena 3. Približno rešenje x jednačine f ( x) = 0 ne može se oceniti direktnom zamenom. Naime, ako je f ( x ) = ε , ε maleno, ne mora x biti blisko tačnom rešenju x* (sl. 3a); isto tako, ako f ( x ) = ε nije malo, onda to ne znači da x nije blisko x* (sl. 3b). Naime, jednačina f ( x) = 0 , K ⋅ f ( x) = 0 , K je vrlo veliko, i k ⋅ f ( x) = 0 , k je vrlo maleno i različito od nule, ekvivalentne su meñu sobom. Sve tri jednačine identički zadovoljava tačno rešenje x*, a za približno rešenje x dobijamo redom f ( x ) = ε , K ⋅ f ( x ) = K ⋅ ε , k ⋅ f ( x ) = k ⋅ ε . 2.
METODA POLOVLJENJA ODSEČKA
Ideja ove metode sastoji se u sužavanju odsečka [a, b] koji sadrži izolovano rešenje x*. Neka je data algebarska ili transcendentna jednačina (1) f ( x) = 0 , gde je f ( x) ∈ C[a0 , b0 ] i f (a0 ) ⋅ f (b0 ) < 0 . Neka je x* ∈ [ a0 , b0 ] izolovano rešenje jednačine (1). Podelimo odsečak [ a0 , b0 ] na dva jednaka dela a0 , 12 (a0 + b0 ) i 12 (a0 + b0 ), b0 . Ako je f ( 12 (a0 + b0 ) ) = 0 , onda je 1 (a0 + b0 ) = x * traženo rešenje jednačine (1). (U opštem slučaju to se vrlo 2
retko može dogoditi.) Ako je f
( 12 (a0 + b0 ) ) ≠ 0 , onda biramo onaj od odsečaka
a0 , 12 (a0 + b0 ) i 12 (a0 + b0 ), b0 na čijim krajevima f ( x) ima različite znakove, tj. biramo onaj od odsečaka koji sadrži x*. Označimo taj odsečak sa [a1 , b1 ] . Podelimo odsečak [a1 , b1 ] na dva jednaka dela a1 , 12 (a1 + b1 ) i 12 (a1 + b1 ), b1 . Ako je f ( 12 (a1 + b1 ) ) = 0 , onda je 12 (a0 + b0 ) = x * traženo rešenje jednačine (1). (U opštem slučaju to se vrlo retko može dogoditi.) Ako je f ( 12 ( a1 + b1 ) ) ≠ 0 , onda biramo onaj od odsečaka a1, 12 (a1 + b1) i
12 ( a0 + b0 ), b0 na čijim krajevima f ( x) ima različite znakove, tj. biramo onaj odsečak koji sadrži x*. Označimo taj odsečak sa [ a2 , b2 ] . Postupak deljenja se nastavlja na isti način. Tako dobijamo beskonačan niz umetnutih (isčezavajućih) odsečaka [ a0 , b0 ] ⊃ [ a1 , b1 ] ⊃ [a2 , b2 ] ⊃ ... ⊃ [ak , bk ] ⊃ ... takvih da je 1 (2) f (ak ) ⋅ f (bk ) < 0 , x* ∈ [ak , bk ] , bk − ak = k (b0 − a0 ) , k = 0,1,... 2
186
Levi krajevi a0 , a1 , a2 ,..., ak ,... obrazuju monotono neopdajući i ograničeni niz, dakle, a0 ≤ a1 ≤ a2 ≤ ... ≤ ak ≤ ... < b0 , a desni nerastući i ograničeni niz, dakle, b0 ≥ b1 ≥ b2 ≥ ... ≥ bk ≥ ... > a0 .
Iz monotonosti i ograničenosti ovih nizova sledi lim ak = α i lim bk = β
k →∞
k →∞
i uz to je ak ≤ α ≤ β ≤ bk , k = 0, 1, 2,... Budući da je 1 (b0 − a0 ) = 0 , tj lim (bk − ak ) = 0 , k →∞ 2 k k →∞
lim (bk − ak ) = lim
k →∞
imamo da je lim ak = lim bk , tj. α = β = x * je jedinstvena tačka koja pripada k →∞
k →∞
umetnutim odsečcima [ ak , bk ] , k = 0, 1, 2,... Kako je f ( x) neprekidna funkcija, to prelaskom na limes u nejednakosti (2) dobijamo lim f (ak ) ⋅ f (bk ) = f (lim ak ) ⋅ f (lim bk ) = f ( x*) ⋅ f ( x*) = f ( x*) 2 ≤ 0 ,
k →∞
k →∞
k →∞
odnosno f ( x*) = 0 , što znači da je x* rešenje jednačine (1). Za približno rešenje možemo uzeti x = ak ili x = bk ; pri tome važi ocena greške 1 1 0 ≤ x * − ak ≤ k (b0 − a0 ) i 0 ≤ bk − x* ≤ k (b0 − a0 ) . 2 2 Meñutim, bolje je uzeti 1 x = xk = ( ak + bk ) ; (3) 2 tada je 1 1 (4) | x * − x |≤ (bk − ak ) = k +1 (b0 − a0 ) . 2 2 Ako x* nije izolovano (dakle, jedino u početnom odsečku) rešenje jednačine (1), onda primenom ove metode možemo odrediti jedno od tih rešenja jednačine (1). Metoda je veoma jednostavna, ali s povećanjem tačnosti povećava se znatno obim računanja. Zbog toga, ova metoda se primenjuje, po pravilu, kada se ne zahteva velika tačnost. Približna vrednost rešenja dobijena ovom metodom često se uzima za početnu aproksimaciju tačnog rešenja kod primene nekih drugih metoda. Nedostatak metode je, svakako, što je njeno uopštavanje na višedimenzione slučajeve (dakle, na sisteme jednačina) praktično nemoguće. 187
Primer 1. Metodom polovljenja odsečka rešiti jednačinu x 2 log 0.5 ( x + 1) = 1 . y 1 y = x1 Tačnost ε = ⋅ 10−2 . 2 Rešenje. Očigledno, x = 0 nije rešenje jednačine. Za x ≠ 0 napišimo jednačinu u obliku 1 log 0.5 ( x + 1) = 2 x x* 0 1 x i konstruišimo grafike funkcija (sl. 4) y = log 0.5(x + 1) 1 Sl. 4 y = log 0.5 ( x + 1) i y = 2 . x Jednačina ima jedno rešenje. Približna vrednost rešenja je –0.7. Iz sledeće tabele x –0.8 –0.6 znak f ( x) + – sledi x* ∈ [ −0.8, − 0.6] . Broj k odreñujemo iz sledeće nejednakosti 1 1 [−0.6 − (−0.8)] ≤ ⋅10−2 ; k +1 2 2 odavde dobijamo k ≥ 5 . Radi preglednosti računanje je dato u sledećoj tabeli. 2
ak bk xk k 0 –0.800 –0.600 1 –0.800 –0.700 2 –0.750 –0.700 3 –0.750 –0.725 4 –0.738 –0.725 5 –0.731 –0.725 6 –0.731 –0.728 Traženo približno rešenje je x = −0.73 . ▲
= 12 (ak + bk )
–0.700 –0.750 –0.725 –0.738 –0.731 –0.728 –0.730
znak f ( x) – + – + + –
Napomena. Radi jednostavnijeg izračunavanja vrednosti funkcije f ( x) = x 2 log 0.5 ( x + 1) − 1 pogodno je preći na dekadne logaritme log( x + 1) f ( x) = x 2 ⋅ −1 . log 0.5 3.
METODA SEČICE
Neka algebarska ili transcendentna jednačina (1) f ( x) = 0 , ima na odsečku [a, b] lokalizovano i izolovano rešenje (koren) x*; dakle, 188
f (a ) ⋅ f (b) < 0 i f ( x*) = 0 . Jedan od nedostataka, inače vrlo jednostavne metode polovljenja odsečka za rešavanje jednačine (1), je što se može desiti da je rešenje x* vrlo blisko jednom od krajeva početnog odsečka [a, b]. U tom slučaju umetnuti odsečci u početku imaju jedan kraj fiksiran (sl. 5): [ a, b] ⊃ [a1 , b] ⊃ [a2 , b] ⊃ ... , pa je konvergencija u početku nešto sporija. Bilo bi prirodnije početni odsečak (takoñe, i sledeće umetnute odsečke) deliti u razmeri različitoj od 1:1, na primer u razmeri f (a ) : f (b) .
y
y
B(b, f(b)) s0 s1
f (b ) a f(a)
0
a1 a2 f(a1)
a 0
a3 x* b x
x1
f (b )
x2 x*
f(a)
b x
A(a, f(a)) A1(x1, f (x1))
Sl. 5
Sl. 6
Neka, dakle, jednačina (1) ima izolovano rešenje x* ∈ [a, b] i neka je, odreñenosti radi, f (a ) < 0 i f (b) > 0 . Pretpostavimo da je f ( x) ∈ C 2 [a, b] . Ideja metode sečice (u literaturi se sreće i pod nazivima: metoda proporcionalnih delova, metoda linearne interpolacije i metoda pogrešnog pravila („regula falsi”)) sastoji se u tome da na odsečku [a, b] luk krive y = f ( x) aproksimiramo odgovarajućim odsečkom sečice s0 koja je odreñena tačkama A( a, f ( a )) i B (b, f (b)) (sl. 6). Za približnu vrednost rešenja x* uzimamo apscisu tačke u kojoj sečica s0 seče osu Ox . Neka je f '( x) > 0 i f ''( x) > 0 za x ∈ [a, b] . Jednačina sečice s0 , tj. sečice s AB je y − f (a) x−a . = f (b) − f (a ) b − a
Stavimo li y = 0 i x = x1 , dobićemo x1 = a −
f ( x) (b − a ) f (b) − f (a )
ili za x0 = a x1 = x0 −
f ( x0 ) (b − x0 ) . f (b) − f ( x0 )
Tačka x1 deli odsečak [a, b] u razmeri f (a ) : f (b) . Rešenje x* ∈ [ x1 , b] . Konstruišimo sečicu s1 koja je odreñena tačkama A1 ( x1 , f ( x1 )) i B (b, f (b)) . 189
Jednačina sečice s1 , tj. s A1B je y − f ( x1 ) x − x1 . = f (b) − f ( x1 ) b − x1 Stavimo li y = 0 i x = x2 , dobićemo f ( x1 ) x2 = x1 − (b − x1 ) . f (b) − f ( x1 ) Tačka x2 deli odsečak [ x1 , b] u razmeri f ( x1 ) : f (b) . Traženo rešenje x* ∈ [ x2 , b] . Produžimo li ovaj proces na isti način, dobićemo f ( xn ) (2) xn +1 = xn − (b − xn ) , x0 = a , n = 0,1, 2, ... f (b) − f ( xn ) Koristeći rekurentnu formulu (2) polazeći od x0 = a dobija se niz približnih rešenja (približavanja, aproksimacija, iteracija) (3) a = x0 < x1 < x2 < ... < xn < xn +1 < ... < x* < b . Niz (3) je monotono rastući i ograničen; tačka b je nepokretni kraj. Do istog rezultata se dolazi ako je f (a ) > 0, f (b) < 0, f '( x) < 0 i f ''( x) < 0 za x ∈ [a, b] ; za to je dovoljno posmatrati ekvivalentnu jednačinu − f ( x) = 0 (sl. 7). y f ′(x) < 0 y A(a, f(a)) f ′(x) < 0 A(a, f(a)) f ′′(x) > 0 f ′′(x) < 0
A1(x1, f(x1))
0
x0 = a
x1 x2
x*
B(b, f(b))
x
0
a x*
x2
x1
x0 = b x
B1 B(b, f(b))
Sl. 7 Sl. 8 Neka je sada f (a ) > 0, f (b) < 0, f '( x) < 0 i f ''( x) > 0 za x ∈ [a, b] (sl. 8). Na potpuno isti način dobija se sledeća rekurentna formula f ( xn ) (4) xn +1 = xn − ( xn − a ) , x0 = b , n = 0,1, 2,... f ( xn ) − f ( a ) i niz približnih rešenja (približavanja, aproksimacija, iteracija) a < x* < ... < xn +1 < xn < ... < x2 < x1 < x0 = b . (5) Niz (5) je monotono opadajući i ograničen; tačka a je nepokretni kraj. Do istog rezultata se dolazi ako je f (a ) < 0, f (b) > 0, f '( x) > 0 i f "( x) < 0 za x ∈ [a, b] ; za to je dovoljno posmatrati ekvivalentnu jednačinu − f ( x) = 0 (sl. 9). 190
Rekurentna formula se bira koristeći sledeće pravilo: 1) nepokretan je onaj kraj odsečka [a, b] za koji f ( x) i f ''( x) imaju isti B2 znak; 2) niz približnih vrednosti xn , x n = 0,1, 2,... je s one strane tačnog rešex* x0 = b 0 a x2 x 1 nja x* s koje f ( x) ima suprotan znak znaku f ''( x) . A(a, f(a)) Kako je niz približnih vrednosti xn , n = 0, 1, 2,... (bilo da je odreñen Sl. 9 relacijom (2) ili (4)) monoton i ograničen, to postoji lim xn = x * , a < x * < b .
y
f ′(x) > 0 f ′′(x) < 0 B1
B(b, f(b))
n →∞
Ako preñemo na limese, na primer, u relaciji (2), dobićemo f ( x *) x* = x * − (b − x *) , f (b) − f ( x *) odnosno f ( x *) = 0 . Kako jednačina f ( x) = 0 ima na [a, b] izolovano rešenje, to je x * = x * . Ako za približno rešenje uzmemo x = xn , onda tačnost možemo oceniti na sledeći način | f ( xn ) | | x * − xn | ≤ , m1 gde je 0 < m1 ≤ | f '( x) | za x ∈ [a, b] . Najčešće se uzima da je m1 = min | f '( x) | , x ∈ [ a, b] . Izvedimo još jednu ocenu tačnosti približnog rešenja xn . Pretpostavimo da: 1) f ( x) ∈ C1[a, b] ; 2) f '( x) ne menja znak; 3) [a, b] sadrži sve aproksimacije xn , n = 0,1, 2,... ; 4) važi nejednakost 0 < m1 ≤ | f '( x) | ≤ M 1 < ∞ . Poñemo li od rekurentne formule f ( xn −1 ) xn = xn −1 − ⋅ (b − xn −1 ) , n = 1, 2, 3,... , f (b) − f ( xn −1 ) imaćemo f (b) − f ( xn −1 ) − f ( xn −1 ) = ⋅ ( xn − xn −1 ) b − xn −1 i, budući da je f ( x*) = 0 , f (b) − f ( xn −1 ) (6) f ( x*) − f ( xn −1 ) = ⋅ ( xn − xn −1 ) . b − xn −1 191
Primenom Lagranževe teoreme na funkciju f ( x) na odgovarajućim odsečcima dobijamo (b − xn −1 ) ⋅ f '( xn −1 ) ( x * − xn −1 ) ⋅ f '(ξn −1 ) = ⋅ ( xn − xn −1 ) , b − xn −1 ξ n −1 ∈ ( xn −1 , x*) i xn −1 ∈ ( xn −1 , b) , odnosno ( x * − xn −1 ) ⋅ f '(ξn −1 ) = ( xn − xn −1 ) ⋅ f '( xn −1 ) .
Sada nalazimo x* = xn −1 + ( xn − xn −1 ) ⋅
f '( xn −1 ) f '(ξn −1 )
i
| f '( xn −1 ) − f '(ξ n −1 ) | ⋅ | xn − xn −1 | . | f '(ξ n −1 ) | Kako je 0 < m1 ≤ | f '( x) | ≤ M 1 < ∞ za x ∈ [a, b] , to je | x * − xn | =
| f '( xn −1 ) − f '(ξn −1 ) | ≤ M 1 − m1
i tražena ocena je
M 1 − m1 ⋅ | xn − xn −1 | . m1 Ako je M 1 ≤ 2m1 za x ∈ [a, b] , onda iz dobijene ocene (3) dobijamo
(7)
| x * − xn | ≤
| x * − xn | ≤ | xn − xn −1 | ,
odnosno, tačna je implikacija | xn − xn −1 | < ε ⇒ | x * − xn | < ε , gde je ε, ε > 0 , zadata tačnost. Kaže se da „važi kriterijum poklapanja dveju uzastopnih aproksimacija”. Napomenimo da se na dovoljno malom odsečku [a, b] uvek može postići da bude ispunjen uslov M 1 ≤ 2m1 . Inače, u opštem slučaju važi M 1 − m1 ⋅ | xn − xn −1 | < ε ⇒ | x * − xn | < ε . m1
Primer 1. Metodom sečice izračunati jedno rešenje jednačine f ( x) ≡ x3 − 3x − 1 = 0 . 1 Tačnost ε = ⋅ 10−4 . 2 Rešenje. Napišimo jednačinu u obliku x3 = 3x + 1 i konstruišimo u istom koordinatnom sistemu grafike funkcija y = x3 i y = 3 x + 1 (sl. 10). 192
Na osnovu sledeće tabele x –2 –1 0 1 2 znak f ( x) – + – – + zaključujemo da rešenja jednačine pripadaju odsečcima [–2, –1], [–1, 0] i [1, 2]. Izračunajmo rešenje x1* ∈ [1, 2] . Kako je f (1.5) = −2.125 < 0 , to x1* ∈ [1.5, 2] . Budući da je:
y
y = 3x + 11 y = x3
x*3 x*2 0 1x*1
x
f '( x) = 3 x 2 − 3 , f ''( x) = 6 x , M 1 = max | f '( x) | = f '(2) = 9 i m1 = min | f '( x) |= f '(1.5) = 3.75 Sl. 10 za x ∈ [1.5, 2] , to imamo da je M 1 = 9 ≤/ 2 ⋅ 3.75 = 7.5 = 2m1 , i ne važi „kriterijum poklapanja dveju uzastopnih aproksimacija”. Zbog toga ćemo koristiti ocenu greške | f ( xn ) | 1 | x * − xn | ≤ ≤ ⋅ 10−4 . m1 2 Primenimo metodu sečice na odsečku [1.5, 2]. Kako je f (2) = 1 > 0 i f "(2) = 12 > 0 , tj. f (2) ⋅ f '(2) > 0 , primenićemo formulu s fiksiranim krajem b = 2 , tj. f ( xn ) xn +1 = xn − ⋅ (b − xn ) , x0 = a = 1.5 , n = 0,1, 2,... f (b) − f ( xn ) Redom računamo f ( x0 ) f (1.5) ⋅ (b − x0 ) ili x1 = 1.5 − ⋅ (2 − 1.5) = 1.84000 , x1 = x0 − f (b) − f ( x0 ) f (2) − f (1.5) f (1.84000) x2 = 1.84000 − ⋅ (2 − 1.84000) = 1.87602 . I tako dalje. f (2) − f (1.84000) Radi preglednosti tok računanja je prikazan u sledećoj tabeli | f ( xn ) | 1 f ( xn )(b − xn ) | x * − xn | ≤ ≤ ⋅ 10−4 − xn f ( xn ) n m1 2 f (b) − f ( xn ) 0 1.50000 –2.125000 ne 0.34000 1 1.84000 –0.290500 ne 0.03602 2 1.87602 –0.025499 ne 0.00308 3 1.87910 –0.002166 ne 0.00026 4 1.87936 –0.000192 ne 0.00002 5 1.87938 –0.000040 da! Traženo približno rešenje je x1 = x5 = 1.8794 . Inače, tačno rešenje je x1 = 2cos 20 = 1.879385... ▲
193
Primer 2. Metodom sečice s tačnošću ε = 0.0005 izračunati rešenje jednačine f ( x) ≡ x − sin x − 0.25 = 0
koje pripada odsečku [0, π / 2] . Rešenje. Izvod je f '( x) = 1 − cos x , pa je M 1 = max | f '( x) | = 1 i m1 = min | f '( x) | = 0 za x ∈ [0, π / 2] . Očigledno, M 1 = 1 ≤/ 2 ⋅ 0 = 2m1 , pa ne možemo primeniti „kriterijum poklapanja dveju uzastopnih aproksimacija”. Da bismo mogli primeniti ovaj kriterijum, suzićemo odsečak izolacije rešenja primenjujući metodu polovljenja odsečka. Računanje je dato u sledećoj tabeli znak n
an
bn
f (an ) f (bn )
0 1 2 3
0.000 0.786 0.786 0.982
1.571 1.571 1.178 1.178
– – – –
+ + + +
M1
m1
M 1 ≤ 2m1
1.000 1.000 0.617 0.617
0.000 0.293 0.293 0.445
ne ne ne da!
an + bn 2 0.786 1.178 0.982
znak a +b f n n 2 – + –
Sada je M 1 = 0.617 < 2 ⋅ 0.445 = 0.890 = 2m1 , dakle, na odsečku [0.982, 1.178] je ispunjen uslov za primenu „kriterijuma poklapanja dveju uzastopnih aproksimacija”. Kako je f (0.982) = −0.099... < 0 , f ''( x) = sin x , f ''(0.982) = 0.831... > 0 , f (0.982) ⋅ f ''(0.982) < 0 , to za početnu aproksimaciju uzimamo x0 = 0.9820 i primenjujemo iterativnu formulu xn +1 = xn −
f ( xn ) ⋅ (1.178 − xn ) , n = 0,1, 2,... f (1.178) − f ( xn )
( f (0.982) ⋅ f ''(0.982) < 0 , b = 1.178 je fiksni kraj.) Rezultate računanja zapisujemo u sledećoj tabeli n 0 1 2 3
xn
f ( xn )
0.9820 –0.09961 1.1701 –0.00069 1.1712 –0.00014 1.1714
−
f ( xn )(b − xn ) f (b) − f ( xn ) 0.1881 0.0011 0.0002
| xn − xn −1 | < 0.0005
ne ne da!
Kako je | x3 − x2 | = 0.0002 < 0.0005 , traženo približno rešenje je x = x3 = 1.171 . ▲
194
4.
NJUTNOVA METODA
Neka je data algebarska ili transcendentna jednačina (1) f ( x) = 0 . Pretpostavimo da jednačina (1) ima izolovano tačno rešenje x*, x* ∈ [a, b] , f (a ) ⋅ f (b) < 0 i da je f ( x) ∈ C 2 [a, b] . Neka su f '( x) i f ''( x) za x ∈ [a, b] konstantnog znaka. Ako je na neki način izračunata n–ta aproksimacija xn ∈ [a, b] , n ≥ 0 , tačnog rešenja x*, onda se naredna aproksimacija nalazi na sledeći način. Stavimo x* = xn + hn , (2)
gde je popravka hn mala (jer je xn blisko tačnom rešenju x). Primenom Tejlorove (Brook Taylor, 1685–1731) formule dobijamo h h2 0 = f ( x*) = f ( xn + hn ) = f ( xn ) + n f '( xn ) + n f ''( xn ) + ... 1! 2! ili, budući da je hn malo, uzimajući samo prva dva člana (otuda i naziv metoda linearizacije) h 0 = f ( x*) = f ( xn + hn ) ≈ f ( xn ) + n f '( xn ) . 1! Pretpostavimo da je f '( xn ) ≠ 0 . Na taj način dobijamo popravku f ( xn ) hn = − . f '( xn ) Sada je sledeća, (n+1)–va aproksimacija tačnog rešenja x* jednaka xn +1 = xn + hn , tj. f ( xn ) xn +1 = xn − , n = 0,1, 2,... (3) f ′( xn ) Primenom iterativne metode (3) dobija se niz približnih rešenja (aproksimacija, približavanja, iteracija) x0 , x1 , x2 , ..., xn , xn +1 , ... koji pod odreñenim uslovima konvergira ka tačnom rešenju x*. (Metodu u ovom obliku je dao 1690. godine Rafson (Raphson), ali je Njutn (Isaac Newton, 1643–1727) nešto ranije predložio sličan postupak. U literaturi se sreće i pod nazivom Njutn–Rafsonova metoda. Inače, sličnim postupkom je Heron izračunao a , a > 0 .) Geometrijska interpretacija Njutnove metode je sledeća: u okolini tačke ( xn , f ( xn )) luk krive y = f ( x) zamenjujemo odsečkom tangente tn u toj tački (sl. 11). Za narednu aproksimaciju xn +1 rešenja x* jednačine (1) uzima se apscisa presečne tačke tangente tn i ose Ox (otuda i naziv metoda tangente). Odreñenosti radi pretpostavimo da je f ( a ) < 0 , f (b) > 0 i f ''( x) > 0 za x ∈ [a, b] . Izaberimo početnu aproksimaciju x0 = b . Primetimo da je f ( x0 ) ⋅ f ''( x0 ) > 0 . 195
Konstruišimo tangentu t0 na grafik krive y = f ( x) u tački B0 ( x0 , f ( x0 )) . Jednačina tangente t0 je jednaka t0 : y − f ( x0 ) = f '( x0 )( x − x0 ) .
y
B1 B2
t0
0
a
x*
A0
t 2 x 3 t 1 x2
x1 x1t x0 = b
x
0
Sl. 11 Stavimo li y = 0 i x = x1 dobićemo f ( x0 ) x1 = x0 − , f '( x0 ) ≠ 0 . f '( x0 ) Konstruišimo tangentu t1 na grafik krive y = f ( x) u tački B1 ( x1 , f ( x1 )) . Jednačina tangente t1 je jednaka t1 : y − f ( x1 ) = f '( x1 )( x − x1 ) .
Stavimo li y = 0 i x = x2 dobićemo f ( x1 ) , f '( x1 ) ≠ 0 . f '( x1 ) Produžimo li ovaj proces na isti način dobićemo formulu (3). Ako bismo za početnu aproksimaciju izabrali x0 = a , onda bismo imali f ( x0 ) ⋅ f ''( x0 ) < 0 i tačka x1′ ∉ [a, b] , tj. x0 = a ne bi bila „dobra” početna aproksimacija (v. sl. 11). Pitanja izbora početne aproksimacije i konvergencije metode rešava sledeća teorema. x2 = x1 −
Teorema 1. Ako su ispunjeni sledeći uslovi: 1) funkcija f ( x) je definisana i neprekidna za svako x ∈ [a, b] , 2) f (a ) ⋅ f (b) < 0 , 3) postoje izvodi f '( x) i f ''( x) za svako x ∈ [a, b] pri čemu je f '( x) ≠ 0 , f '( x) i f ''( x) ne menjaju znak, 4) f ( x0 ) ⋅ f ''( x0 ) > 0 za x0 ∈ [ a, b] , onda Njutnov iterativni proces definisan formulom (3) konvergira ka tačnom rešenju x* ∈ [a, b] jednačine (1). Dokaz. Neka je, odreñenosti radi f ( a ) < 0 , f (b) > 0 , a izvodi f '( x) i f ''( x) su pozitivni za svako x ∈ [a, b] . (Ostali slučajevi se razmatraju na 196
potpuno isti način.) Izaberimo početnu aproksimaciju x0 = b . Očigledno je tada f ( x0 ) ⋅ f ''( x0 ) > 0 . Metodom matematičke indukcije dokažimo da je xn > x * , dakle, f ( xn ) > 0 za n = 0,1,... Za n = 0 imamo x0 = b > x * , jer je a < x* < b . Pretpostavimo da je za n = k , k ≥ 0, xk > x * , i dokažimo da je xk +1 > x * . Stavimo x* = xk + ( x * − xk ) i primenimo Tejlorovu formulu na funkciju f ( x) . Na taj način dobijamo 1 0 = f ( x*) = f ( xk + ( x * − xk )) = f ( xk ) + f '( xk )( x * − xk ) + f ''(ξ )( x * − xk ) 2 , 2 gde je ξ ∈ [ x*, x1 ] . Budući da je f ''( x) > 0 , to je f ( xk ) + f '( xk )( x * − xk ) < 0 , odnosno f ( xk ) xk +1 = xk − > x*. f '( xk ) Kako je nejednakost xn > x * tačna za n = 0 i iz pretpostavke da je tačna za n = k , k ≥ 0 , sledi da je tačna za n = k + 1 , to je na osnovu principa matematičke indukcije nejednakost tačna za n = 0,1,... Drugim rečima, niz x0 = b , x1 , x2 , ..., xn , ... je ograničen. Monotonost niza sledi iz činjenice da je f ( xn ) xn +1 = xn − < xn , n = 0,1,... f '( xn ) jer je f ( xn ) > 0 i f '( xn ) > 0 . Iz ograničenosti i monotonosti niza sledi da postoji lim xn = xɶ . n →∞
Prelazeći na limes u iterativnoj formuli (3) dobijamo f (lim xn ) f ( xɶ ) lim xn +1 = lim xn − n→∞ ili xɶ = xɶ − , n →∞ n →∞ f '(lim xn ) f '( xɶ ) n →∞
Dakle, f ( xɶ ) = 0 , što znači da je xɶ rešenje jednačine (1). Kako po pretpostavci jednačina (1) ima jedinstveno rešenje na odsečku [a, b], to je xɶ = x * , dakle lim xn = x * . n →∞
Za izbor početne aproksimacije x0 rešenja x* važi pravilo: za početnu aproksimaciju bira se onaj kraj odsečka [a, b] u kojem je sgn f ( x0 ) = sgn f ''( x0 ) , dakle, f ( x0 ) ⋅ f ''( x0 ) > 0 . Ako je funkcija f ( x) definisana i neprekidna za x ∈ (−∞, ∞) , f (a ) ⋅ f (b) < 0 , f '( x) ≠ 0 za x ∈ [a, b] , f ''( x) postoji svuda i konstantnog je znaka, onda je za početnu aproksimaciju moguće uzeti bilo koje x0 ∈ [ a, b] . Specijalno, uzima se x0 = a ili x0 = b . 197
Ako je u okolini rešenja x* f '( x) veliko, onda je popravka hn = − f ( xn ) / f '( xn ) mala. Ako je f '( x) malo, onda je popravka hn velika i može doći do gubljenja tačnosti zbog deljenja brojem koji je blizak nuli. Ako je f '( x) praktično jednako nuli (jednako nuli u granicama u kojim se računa ili stvarno jednako nuli), onda je izračunavanje nemoguće. Za ocenu tačnosti približnog rešenja x = xn može se koristiti opšta formula | f ( xn ) | (4) , m1 = min | f '( x) | . | x * − xn | ≤ x∈[ a , b ] m1 Izvedimo formulu za ocenu greške približnog rešenja x = xn u zavisnosti od dveju uzastopnih aproksimacija xn −1 i xn . Stavimo xn = xn −1 + ( xn − xn −1 ) i primenimo Tejlorovu formulu na funkciju f ( x) . Na taj način dobijamo f ( xn ) = f ( xn −1 + ( xn − xn −1 )) = (5) 1 = f ( xn −1 ) + f '( xn −1 )( xn − xn −1 ) + f ''(ξ )( xn − xn −1 ) 2 , 2 gde ξ ∈ ( xn −1 , xn ) . Budući da je iz f ( xn −1 ) xn = xn −1 − f '( xn −1 ) f ( xn −1 ) + f '( xn −1 )( xn − xn −1 ) = 0 , to je 1 1 | f ( xn ) | = f ''(ξ )( xn − xn −1 ) 2 ≤ M 2 ( xn − xn −1 ) 2 , 2 2 gde je M 2 = max | f ''( x) | za x ∈ [a, b] . Sada prema (4) dobijamo M (6) | x * − xn | ≤ 2 ( xn − xn −1 ) 2 . 2m1 Ako Njutnov iterativni proces konvergira, onda xn − xn −1 → 0 kada n → ∞ , pa za n ≥ N , N dovoljno veliko, imamo nejednakost
y
x* 0
198
| x * − xn | ≤ | xn − xn −1 | , dakle, ako je | xn − xn −1 | < ε , ε > 0 i unapred zadata greška, onda je f (x ) | x * − xn | < ε , tj. važi „kriterijum poklapanja dveju uzastopnih aproksimacija”. Naglasimo da u opštem slučaju ovaj kriterijum ne važi, tj. u opštem slučaju nije tačna implikacija xn xn – 1 | xn − xn −1 | ≤ ε ⇒ | x * − xn | < ε , x što je ilustrovano na sl. 12. ε >ε Izvedimo formulu koja povezuje Sl. 12 apsolutnu grešku dveju uzastopnih
aproksimacija xn i xn +1 . Iskoristićemo, opet, Tejlorovu formulu za funkciju f ( x) . Na taj način iz jednakosti 0 = f ( x*) = f ( xn + ( x * − xn )) = f ( xn ) + f '( xn )( x * − xn ) +
1 f ''(ξ )( x * − xn ) 2 , 2
ξ ∈ ( x*, xn ) , dobijamo
x* = xn −
f ( xn ) 1 f ''(ξ ) − ( x * − xn ) 2 , f '( xn ) 2 f '( xn )
ili x* = xn +1 −
1 f ''(ξ ) ( x * − xn ) 2 , 2 f '( xn )
pa je tražena formula | x * − xn +1 | ≤
(7)
M2 ( x * − xn ) 2 . 2m1
Analizirajući formulu (7) zaključujemo da Njutnov iterativni proces brzo konvergira, ako je početna aproksimacija x0 izabrana tako da bude ispunjen uslov M2 | x * − x0 | ≤ q < 1 , 2m1 dakle, ako je početna aproksimacija x0 izabrana dovoljno blizo tačnom rešenju x*. (Naravno, teško je reći šta znači – dovoljno blizo.) Specijalno, ako je M 2 / 2m1 < 1 i | x * − xn | ≤ 10− m , onda je | x * − xn +1 | ≤ 10−2 m , tj. broj sigurnih cifara se udvostručuje na svakom koraku. Dakle, ako je | x * − xn | < ε , onda je | x * − xn +1 | < ε 2 .
Primer 1. Njutnovom metodom s tačnošću ε = 0.00005 rešiti jednačinu f ( x) ≡ x3 − 2 x − 5 = 0 .
Rešenje. Napišimo jednačinu u obliku x3 = 2 x + 5
i grafički predstavimo funkcije y = x3 i y = 2 x + 5 (sl. 13). Jednačina ima jedno realno rešenje x* ∈ [1.9, 2.1] ; f (1.9) = −1.941 < 0 i f (2.1) = 0.061 > 0 . Budući da je f '( x) = 3 x 2 − 2 , f ''( x) = 6 x , f ''(2.1) = 12.6 i f (2.1) ⋅ f ''(2.1) > 0 , uzećemo za početnu aproksimaciju x0 = 2.1 . Uzastopne aproksimacije računamo koristeći sledeću formulu f ( xn ) xn +1 = xn − , n = 0,1,... f '( xn ) 199
Rezultati računanja dati su u sledećoj tabeli. n
xn
f ( xn )
f '( xn )
0 1 2 3
2.10000 2.09457 2.09455 2.09455
–0.06100 –0.00021 –0.00002
11.23000 11.16167 11.16142
f ( xn ) f '( xn ) –0.00543 –0.00002 –0.00000
hn = −
Traženo približno rešenje je x = x3 = 2.0946 . ▲ Posmatrana jednačina nazivana je slavnom jednačinom. Rezlog je taj što je to bila prva jednačina na kojoj je izložena Njutnova metoda. (Valis (John Wallis, 1616–1703) – Algebra, 1685. str. 338.) Dugo se smatralo da je svaki nastavnik numeričke matematike obavezan da je uzme kao jedan od svojih primera. Inače je x = 2.094 551 481 542 326 591 482 386...
y
y = x3
y
y = 2x + 5
2
y=x –2
y = ln x 0 1 x*
x
1 –2
Sl. 13
0
x*
x
Sl. 14
Primer 2. S tačnošću ε = 0.0005 izračunati veće rešenje jednačine f ( x) ≡ ln x − x 2 + 2 = 0 . Rešenje. Koristeći grafičku metodu (sl. 14)nalazimo da jednačina ima dva rešenja. Veće rešenje se nalazi u [1, 2] , jer je f (1) > 0 a f (2) = −1.30685 < 0 . Metodom polovljenja odsečka dobijamo da x* ∈ (1.5625, 1.5664) i pri tome je f (1.5625) = 0.0048808 > 0 , f (1.5664) = −0.0048289 < 0 f ''(1.5664) = −2.4075629 . Za početnu aproksimaciju ćemo uzeti x0 = 1.5664 jer je f (1.5664) ⋅ f ''(1.5664) > 0 . Redom računamo: f (1.5664) −0.0048289 = 1.5664 − = 1.5664 − 0.0019 = 1.5645 , x1 = 1.5664 − f '(1.5664) −2.49439 200
f (1.5645) −0.0000942 = 1.5645 − = 1.5645 − 0.0000 = 1.5645 . f '(1.5645) −2.48991 Iz očigledne jednakosti x2 = x1 zaključujemo da je traženo približno rešenje x = x2 = 1.5645 . ▲ x2 = 1.5645 −
5.
MODIFIKACIJE NJUTNOVE METODE
Jedan nedostatak Njutnove metode f ( xn ) xn +1 = xn − , n = 0,1, ... f '( xn ) je što se može desiti da je f '( xn ) vrlo malo, pa tada zbog deljenja malim brojevima dolazi do gubljenja tačnosti. Taj nedostatak se može otkloniti sledećom modifikacijom Njutnove metode. Neka jednačina f ( x) = 0
(1) ima izolovano rešenje
x* ∈ [a, b] ,
f (a ) ⋅ f (b) < 0 , i neka je funkcija
f ( x) ∈ C [a, b] . Ako se izvod f '( x) malo menja na odsečku [a, b], tada se modifikacija sastoji u primeni iterativne formule f ( xn ) (2) , n = 0,1,... xn +1 = xn − f '( x0 ) 2
Geometrijska interpretacija ovako y B0(x0, f(x0)) modifikovane Njutnove metode data je na sl. 15. Tangente tn u tačkama Bn ( xn , f ( xn )) , n = 1, 2,... zamenjuju se B1 pravima pn , n = 1, 2,... , koje su paraB2 lelne tangenti t0 u tački B0 ( x0 , f ( x0 )) . B3 Niz x0 , x1 , ..., xn , xn +1 , ... konstruisan na x* 0 a x4 x3 x2 x1 ovaj način konvergira ka tačnom x 0= b x p 3 p2 p1 t0 rešenju x* pod pretpostavkom da f '( x) i f "( x) ne menjaju znak na odsečku Sl. 15 [a, b] i da je početna aproksimacija izabrana tako da je f ( x0 ) ⋅ f ''( x0 ) > 0 . Ova modifikacija se koristi i kada je izračunavanje f '( x) složenije.
Primer 1. Modifikovanom Njutnovom metodom izračunati približno rešenje jednačine f ( x) ≡ x 2 − 1 − e x = 0 . Tačnost ε = 10−5 . 201
Rešenje. Budući da je f (−2) = 2.865 > 0 i f (−1) = −0.368 < 0 , zaključujemo da odsečak [–2, –1] sadrži bar jedno rešenje jednačine. Budući da je f '( x) konstantnog znaka na odsečku [–2, –1], to odsečak [–2, –1] sadrži samo jedno rešenje jednačine. Metodom polovljenja odsečka nalazimo da x* ∈ ∈ (−1.125, − 1.25) . Kako je za x = −1.25 f ⋅ f " > 0 , uzećemo za početnu aproksimaciju x0 = −1.25 . Redom računamo: x1 = −1.25 −
f (−1.25) 0.275995 = −1.25 − = −1.25 + 0.09905 = −1.15095 , f '(−1.25) −2.78650
f (−1.15095) 0.0083498 = −1.15095 + 2.78650 −2.78650 = −1.15095 + 0.00300 = −1.14795.
x2 = −1.15095 −
Radi bolje preglednosti rezultate računanja zapisujemo u obliku sledeće tabele. n
xn
f ( xn )
0 1 2 3 4 5
–1.25000 –1.15095 –1.14795 –1.14777 –1.14776 –1.14776
0.2759950 0.0083498 0.0005026 0.0000322 0.0000061
f ( xn ) f '( x0 ) 0.09905 0.00300 0.00018 0.00001 0.00000
hn = −
Traženo približno rešenje je x = −1.14776 . ▲
y
B0 B1 B2 C1
0
x*
x2 t1
C0 A 0 x x1 x0 n n1 0 t0
Sl. 16
Jedna druga modifikacija Njutnove metode dobija se na sledeći način. Neka je, naime, t0 tangenta na grafik krive y = f ( x) u tački B0 ( x0 , f ( x0 )) , a n0 prava normalna na t0 iz tačke A0 ( x0 , 0) . Za narednu aproksimaciju x1 uzima se apscisa presečne tačke C0 tangente t0 i normale n0 (sl. 16). Dakle, iz t0 : y − f ( x0 ) = f '( x0 )( x − x0 ) , 1 n0 : y − 0 = − ( x − x0 ) f '( x0 )
dobijamo x1 = x0 −
202
f ( x0 ) f '( x0 ) . 1 + f '2 ( x0 )
Na potpuno analogan način dobijamo x2 = x1 −
f ( x1 ) f '( x1 ) 1 + f '2 ( x1 )
i u opštem slučaju xn +1 = xn −
f ( xn ) f '( xn ) , n = 0,1, 2,... 1 + f '2 ( xn )
Primer 2. S tačnošću ε = 10−5 izračunati približno rešenje jednačine f ( x) ≡ x + log x − 0.5 = 0 .
Rešenje. Iz f (0.5) = −0.30103 < 0 i f (1) = 0.5 > 0 sledi da x* ∈ [0.5,1] . Kako je f (0.5) ⋅ f ''(0.5) > 0 , to ćemo za početnu aproksimaciju uzeti x0 = 0.5 . Računanje je dato u sledećoj tabeli. n
xn
f ( xn )
f '( xn )
f '2 ( xn )
0 1 2 3 4 5 6 7 8 9
0.50000 0.62523 0.65969 0.66896 0.67146 0.67213 0.67232 0.67237 0.67238 0.67238
–0.301030 –0.078730 –0.020970 –0.005640 –0.001520 –0.000417 –0.000104 –0.000022 –0.000005
1.86859 1.69462 1.65833 1.64921 1.64679 1.64615 1.64596 1.64592 1.64591
3.49163 2.87174 2.75006 2.71989 2.71192 2.70981 2.70918 2.70905 2.70902
−
f ( xn ) f '( xn ) 1 + f '2 ( xn ) 0.12523 0.03446 0.00927 0.00250 0.00067 0.00019 0.00005 0.00001 0.00000
Traženo približno rešenje je x = −1.14776 . ▲
6.
KOMBINOVANA METODA SEČICE I TANGENTE
Metodom sečice i metodom tangente dobijaju se približna rešenja jednačine f ( x) = 0 koja su s različitih strana tačnog rešenja. Zbog toga se ove dve metode mogu primeniti kombinovano i na taj način imamo novu metodu, kombinovanu metodu. Proces približavanja tačnom rešenju je brži, a ocena greške je znatno jednostavnija i pouzdana. Neka jednačina f ( x) = 0 ima izolovano rešenje x* ∈ [ a, b] , f (a ) ⋅ f (b) < < 0 . Pretpostavimo da postoje izvodi f '( x) i f ''( x) i neka su konstantnog znaka na segmentu [a, b]. Moguća su sledeća četiri slučaja: 1) f '( x) > 0 , f ''( x) > 0 ; 2) f '( x) < 0 , f ''( x) < 0 ; 3) f '( x) > 0 , f ''( x) < 0 ; 4) f '( x) < 0 , f ''( x) > 0 . Razmotrimo detaljnije prvi slučaj: f '( x) > 0 , f ''( x) > 0 . Pretpostavimo da je f (a ) < 0 i f (b) > 0 . Ako bismo primenili metodu sečice, imali 203
bismo slučaj prikazan na sl. 17, a ako bismo primenili metod tangente (Njutnovu metodu), imali bismo slučaj prikazan na sl. 18.
y
f ′(x) > 0 f ′′(x) > 0
y = f(x)
B0
y
f ′(x) > 0 f ′′(x) > 0
B1
s0 x0=a
x1 x2
0 A1 A0
s1
A2
a x*
y = f(x) B0
b x
0
B2 x1 x x* x2 x =b 0 t0 t2 t1
A0
Sl. 17 Sl. 18 Naizmeničnom primenom metode tangente i metode sečice, dakle, primenom iterativnih formula f ( xn ) (1) xn +1 = xn − , x0 = b, n = 0,1, 2,... f '( xn ) f ( xn ) (2) x n +1 = x n − ( xn +1 − x n ) , f ( xn +1 ) − f ( x n ) dobijamo „gornji” niz približnih y vrednosti {xn } i „donji” niz približnih B0 vrednosti {x n } . Očigledno, prvo se B1 primenjuje metoda tangente (1), s0 x0=a x 1 x2 x1 x nezavisno od metode sečice. Zatim se 0 x* x2 x0=b primenjuje metoda sečice (2) na odsečku [ x n , xn +1 ] . Proces približavanja A1 t t0 1 tačnom rešenju x* je prikazan na sl. 19. A0 Tačno rešenje x* ∈ ... ⊂ [ x n , xn ] ⊃ ... ⊃ [ x1 , x1 ] ⊃ [ x 0 , x0 ] Sl. 19 i pri tome je f ( x n ) ⋅ f ( xn ) < 0 , n = 0,1, 2,... Dakle, imamo (3) 0 < x * − x n < xn − x n i 0 < xn − x* < xn − x n . Kombinovana metoda je vrlo pogodna za primenu zbog jednostavne ocene greške. Proces računanja se prekida kada se postigne da je | xn − x n | < ε , gde je ε > 0 unapred zadata greška i tada se uzima da je 1 x* ≈ xn = ( xn + x n ) . 2
Napomena. Ostali slučajevi se svode na razmatrani slučaj ako jednačinu f ( x) = 0 zamenimo njoj ekvivalentnim jednačinama: − f ( x) = 0 , ± f (− x) = 0 . 204
Primer 1. Kombinovanom metodom sečice i tangente s tačnošću ε = 0.0001 izračunati približno rešenje jednačine f ( x) ≡ x3 + 3 x 2 − 3 = 0 . Rešenje. Na osnovu sledeće tabele x –3 –2 sgn f ( x) – +
–1 –
0 –
1 +
zaključujemo da: x1* ∈ [0, 1] , x2 * ∈ [ −2, − 1] i x3 * ∈ [−3, − 2] . Izračunajmo približno rešenje x1* ∈ [0,1] . Redom imamo: f ( x) = x3 + 3 x 2 − 3 , f '( x) = 3 x 2 + 6 x , f ''( x) = 6 x + 6 , f (0) = −3 , f ''(0) = 6 , f (0) ⋅ f ''(0) = −3 ⋅ 6 = −18 < 0 , pa je x 0 = 0 i x0 = 1 . ( f (1) ⋅ f ''(1) = 1 ⋅ 12 = 12 > 0 .) Uvedimo oznake: f ( xn ) f ( xn ) i ∆ xn = − ∆xn = − ( xn +1 − x n ) , n = 0,1, 2,... f '( xn ) f ( xn +1 ) − f ( x n ) Radi preglednosti računanje je dato u sledećoj tabeli n
xn
xn
0 0.0000 1.0000 1 0.8678 0.8889 2 0.8794 0.8794
| xn − x n | f ( xn ) f '( xn ) 1.0000 0.0211 0.0000
∆xn
xn +1
f ( xn )
f ( x n +1 )
∆ xn
1.0000 9.0000 –0.1111 0.8889 –3.0000 0.072790 0.8678 0.07279 7.7038 –0.0094 0.8794 –0.08725 0.0001121 0.0116
Traženo približno rešenje je x1* ≈ x1 = 0.8794 . ▲
7.
METODA ITERACIJE
Može se primetiti da su prethodno razmatrane metode: metoda sečice, Njutnova metoda ili metoda tangente, modifikacije Njutnove metode sledećeg oblika xn +1 = F ( xn ) , n = 0,1, 2, ... , gde je x0 početna približna vrednost, početna aproksimacija tačnog rešenja x* jednačine f ( x) = 0 , a funkcija F ( x) u svakom od ovih slučajeva ima odreñeni oblik. Tako je: kod metode sečice f ( x) f ( x) F ( x) = x − (b − x) ili F ( x) = x − ( x − a) ; f (b) − f ( x) f ( x) − f (a) kod Njutnove metode f ( x) ; F ( x) = x − f '( x) 205
kod modifikacija Njutnove metode f ( x) ⋅ f '( x) f ( x) ili F ( x) = x − . F ( x) = x − 2 f '( x0 ) 1 + [ f '( x) ] Očigledno, funkcija F ( x) je odreñena pomoću funkcije f ( x) ili pomoću funkcije f ( x) i njenog izvoda f '( x) . Jednačine f ( x) = 0 i F ( x) = 0
su ekvivalentne jednačine. Zbog toga možemo postaviti sledeće, potpuno prirodno pitanje konstrukcije opšte metode ovakvog oblika, dakle, metode čiji bi prethodne metode bile njeni posebni, specijalni slučajevi. Takva metoda je metoda iteracije ili metoda uzastopnih, sukcesivnih aproksimacija. Suština metode se sastoji u sledećem. Neka je zadata jednačina f ( x) = 0 ,
(1)
gde je f ( x) ∈ C[a, b] i neka odsečak [a, b] sadrži tačno jedno rešenje x* jednačine (1). Zapišimo jednačinu (1) u ekvivalentnom obliku (2) x = F ( x) . Konstruišimo niz iteracija, niz približnih vrednosti {xn } rešenja x* koristeći rekurentnu relaciju (3) xn +1 = F ( xn ) , n = 0,1, 2, ... polazeći od početne iteracije, početne približne vrednosti x0 ∈ [ a, b] . Očigledno, da bismo izračunali član xk niza {xn } dovoljno je poznavati samo jedan, njemu prethodni član – kaže se da imamo iterativni proces dužine jedan i metodu zovemo metoda proste iteracije, kraće, metoda iteracije. Nije teško definisati složenije metode iteracije, metode dužine dva, tri, ... Mi ćemo se baviti samo metodom iteracije dužine jedan, tj. metodom proste iteracije. Ako niz iteracija konvergira, tj. ako postoji lim xn = x * , n →∞
onda prelaskom na limes u relaciji (3) dobijamo lim xn +1 = lim F ( xn ) , n →∞
n →∞
odnosno lim xn +1 = F (lim xn ) ,
n →∞
n →∞
tj. x* = F ( x*) ,
što znači da je x* rešenje jednačine (2), odnosno (1) i može biti izračunato s proizvoljnom, unapred zadatom tačnošću pomoću rekurentne formule (3). 206
Metoda iteracije ima jednostavnu geometrijsku interpretaciju. Konstruišimo u istom pravouglom koordinatnom sistemu Oxy grafike funkcija y = x i y = F ( x) (sl. 20). Tačno rešenje x* je apscisa presečne tačke tih grafika.
0
y
y = F (x )
y =x B1
B2
A0
F(x0)
A1
A2
M
A0
y =x y = F (x)
0
y
B1
F(x*)
F(x2)
F(x0) F(x1)
F(x1)
F(x*) F(x2)
0 x*
x2
x1
x0 x
0
x0
x1
x2 x*
x
Sl. 20 Polazeći od tačke A0 ( x0 , F ( x0 )) konstruišimo izlomljenu liniju A0 B1 A1 B2 A2 ... na sledeći način. Iz tačke A0 konstruišimo pravu paralelnu osi Ox do preseka s grafikom prave y = x ; presečna tačka je B1 ( x1 , F ( x0 )) . Iz tačke B1 konstruišimo pravu paralelnu osi Oy do preseka s grafikom krive y = F ( x) ; presečna tačka je A1 ( x1 , F ( x1 )) . Postupak se nastavlja: iz tačke A1 konstruišimo pravu paralelnu osi Ox do preseka s grafikom prave y = x ; presečna tačka je B2 ( x2 , F ( x1 )) . I tako dalje. Temena A0 , A1 , A2 , ... izlomljene linije pripadaju grafiku krive y = F ( x) , a temena B0 , B1 , B2 , ... pripadaju grafiku prave y = x . Apscise x0 , x1 , x2 , ... očigledno predstavljaju niz iteracija koji je konstruisan pomoću rekurentne formule (3). Može se primetiti sledeće: 1) niz x0 , x1 , x2 , ... konvergira ka rešenju x*, 2) svi članovi niza su s iste strane x* i 3) 0 < F '( x) ≤ q < 1 , q > 0 .
–1
y
y =x
y =x
y y = F (x)
F '(x)>1 F(x0)
y = F (x ) F(x1)
0
x0
x*
x2 x 1
x
0 x*x0
x1
x2
x
Sl. 21 Sl. 22 Način približavanja rešenju x* može biti kao na sl. 21. U ovom slučaju članovi niza x0 , x1 , x2 , ... su naizmenično s raznih strana rešenja x*, tj. oscilira
207
oko x* i pri tome je −1 < − q ≤ F '( x) < 0 , q > 0 . Na sl. 22 je prikazan slučaj konstrukcije niza iteracija pomoću rekurentne formule (3) kada je F '( x) > 1 . Na osnovu ovih razmatranja može se zaključiti: Iterativni proces konvergira ako je | F '( x) | = q < 1 , q > 0 , što, naravno, treba dokazati. Da bismo utvrdili kada iterativni proces konvergira, uvešćemo pojam sažimajućeg preslikavanja, sažimajuće y funkcije ili kontrakcije. Dakle, neka je funkcija y = F (x) y = F ( x) b1 definisana na odsečku [а, b]. Svakoj tački x ∈ [a, b] odgovara tačka y na a1 ordinatnoj osi Oy – slika tačke x. Ako je F ( x) neprekidna funkcija na odsečku [а, b], onda se na taj način dobija a a1 0 b1 b x odsečak [a1 , b1 ] na ordinatnoj osi Oy – slika odsečka [а, b] i pri tome je a1 Sl. 23 najmanja a b1 najveća vrednost funkcije F ( x) (sl. 23) Ako ordinatnu osu Oy rotiramo za 90° u smeru kazaljke na satu tako da se ona poklopi s apscisnom osom Ox, odsečak [a1 , b1 ] će se preslikati takoñe na istu, apscisnu osu. Ako je [ a1 , b1 ] ⊂ [a, b] , onda kažemo da funkcija ili preslikavanje F ( x) preslikava odsečak [а, b] u samog sebe. Tako, na primer, 1 1 funkcija y = x preslikava odsečak , 4 u njegov deo , 2 . 4 2 Definicija. Funkcija (preslikavanje) y = F ( x) , koja odsečak [а, b] preslikava u samog sebe, je sažimajuća funkcija ili kontrakcija ako postoji broj q, 0 ≤ q < 1 , takav da je za bilo koje dve tačke x ' i x " odsečka [а, b] tačna nejednakost | F ( x ') − F ( x ") | ≤ q | x '− x " | . (4)
Primer 1. Funkcija y = x , x ≥ 0 je sažimajuća funkcija ili kontrakcija odsečka [1, 4]. Dokazati. Rešenje. Za proizvoljne vrednosti x ' i x " odsečka [1, 4] je
x' ≥1 i
x " ≥ 1 i zbog toga je | F ( x ') − F ( x ") | = | x ' − x " | =
| x '− x " | | x '− x " | 1 ≤ = | x '− x " | , 1+1 2 x ' + x"
što znači da je funkcija y = x kontrakcija odsečka [1, 4] i pri tome je q = Odsečak [1, 4] se preslikava u njegov deo [1, 2]. ▲ 208
1 . 2
Primer 2. Da li je funkcija y = 3 x kontrakcija odsečka [–8, 8]? Rešenje. Funkcija y = 3 x preslikava odsečak [–8, 8] u njegov deo [–2, 2]. Meñutim, ova funkcija nije kontrakcija odsečka [–8, 8]. Na primer, ako uzmemo x ' = −0.008 i x " = 0.008 , onda ćemo imati | x '− x " | = 0.016 i | F ( x ') − F ( x ") | = | 3 −0.008 − 3 0.008 | = 0.4 > 0.016 = | x '− x " | .
Dakle, funkcija y = 3 x nije kontrakcija odsečka [–8, 8]. ▲
Teorema 1. Neka je funkcija (2) sažimajuća ili kontrakcija odsečka [а, b], tj. neka je ispunjen uslov (4). Tada, ako za iterativni proces (3) sve iteracije xn ∈ [a, b] , n = 0,1, 2, ... , onda: 1) nezavisno od izbora početne iteracije x0 ∈ [ a, b] iterativni proces (3) konvergira, tj. postoji x* = lim xn ; n →∞
2) granična vrednosti x* je jedinstveno rešenje jednačine (2), odnosno (1) na odsečku [а, b]; 3) važi ocena greške qn | x * − xn | ≤ | x1 − x0 | . 1− q Dokaz. 1) Da bismo dokazali konvergenciju iterativnog procesa (3) primenićemo Košijev kriterijum konvergencije nizova. Dakle, | xn + p − xn | = | ( xn + p − xn + p +−1 ) + ( xn + p −1 − xn + p − 2 ) + ⋯ + ( xn +1 − xn ) | ≤ ≤ | xn + p − xn + p +−1 | + | xn + p −1 − xn + p − 2 | + ⋯ + | xn +1 − xn | . Ako iskoristimo uslov kontrakcije, za dve uzastopne iteracije imamo | xm +1 − xm | = | F ( xm ) − F ( xm −1 ) | ≤ q | xm − xm −1 | = | F ( xm −1 ) − F ( xm − 2 ) | ≤ ≤ q 2 | xm −1 − xm − 2 | ≤ … ≤ q m | x1 − x0 |,
Sada imamo | xn + p − xn | ≤ q n + p −1 | x1 − x0 | + q n + p − 2 | x1 − x0 | + ⋯ + q n | x1 − x0 | = = (q p −1 + q p − 2 + ⋯ + 1) ⋅ q n | x1 − x0 | =
1− q p n ⋅ q | x1 − x0 |, 1− q
Dakle, (5)
| xn + p − xn | ≤
1− q p n ⋅ q | x1 − x0 | 1− q
odnosno | xn + p − xn | ≤
qn | x1 − x0 | . 1− q
Kako je 0 ≤ q < 1 , to q n → 0 kada n → ∞ , pa na osnovu prethodne nejednakosti zaključujemo da za svako, proizvoljno maleno ε > 0 postoji broj 209
n0 = n(ε ) takav da za n > n(ε ) i p > 0 važi nejednakost | xn + p − xn | < ε ,
što znači da saglasno Košijevom kriterijumu konvergencije iterativni proces (3) konvergira, tj. postoji x* = lim xn . n →∞
2) Dokažimo da je x* rešenje jednačine (2), odnosno (1) na odsečku [а, b]. Kako je funkcija F ( x) neprekidna na odsečku [а, b], prelaskom na limes u rekurentnoj relaciji (3) xn +1 = F ( xn ) , n = 0,1, 2, ... , x0 ∈ [a, b] , dobijamo lim xn +1 = lim F ( xn ) ,
n →∞
n →∞
odnosno x* = F (lim xn ) , tj. x* = F ( x*) , n →∞
dakle, x* jeste rešenje jednačine (2), odnosno (1). Da bismo dokazali da je x* jedinstveno rešenje, pretpostavićemo suprotno, tj. pretpostavićemo da jednačina (2) ima na odsečku [а, b] dva rešenja: x* i x**, x* ≠ x ** , što znači da je x* = F ( x*) i x ** = F ( x **) . Oduzimanjem ovih dveju jednakosti i primenom Lagranževe teoreme o srednjoj vrednosti nalazimo x * − x ** = F ( x*) − F ( x **) = ( x * − x **) ⋅ F '(c) , gde c ∈ [a, b] , pa je | x * − x **| ≤ | x * − x **| ⋅ q
i
| x * − x ** | (1 − q ) ≤ 0 .
Kako je 1 − q > 0 , to zaključujemo da je x * − x ** = 0 što je protivrečno pretpostavci x* ≠ x ** . Na osnovu ove protivrečnosti zaključujemo da je x* jedinstveno rešenje jednačine (2), odnosno (1), na odsečku [а, b]. 3) Prelaskom na limes u nejednakosti (5) kada p → ∞ dobija se ocena greške qn | x * − xn | ≤ | x1 − x0 | . ■ 1− q Navedimo još jednu ocenu greške približne vrednosti xn tačnog rešenja x*. Potpuno analogno prethodnom slučaju imamo | xn + p − xn | = | ( xn + p − xn + p −1 ) + ( xn + p −1 − xn + p − 2 ) + ⋯ + ( xn +1 − xn ) | ≤ ≤ q p | xn − xn −1 | + q p −1 | xn − xn −1 | +⋯ + q | xn − xn −1 | =
210
= (q p + q p −1 + ⋯ + q ) | xn − xn −1 | = q⋅ | xn − xn −1 | (q p −1 + q p − 2 + ⋯ + 1) = 1− q p = q | xn − xn −1 | ⋅ , 1− q dakle, 1− qp . | xn + p − xn | ≤ q | xn − xn −1 | ⋅ 1− q Prelaskom na limes u poslednjoj nejednakosti kada p → ∞ dobijamo q (6) | x * − xn | ≤ ⋅ | xn − xn −1 | . 1− q 1 Ako je 0 ≤ q ≤ , onda iz (6) dobijamo da važi „kriterijum poklapanja 2 dveju uzastopnih iteracija”, tj. (7) | xn − xn −1 | ≤ ε ⇒ | x * − xn | ≤ ε .
y
y=x y = F (x)
F(xn–1) F(xn) xn
xn–1 x* 0 |x*–xn|>ε |xn–xn–1|=ε Sl. 24
x
Napomena 1. U opštem slučaju ne važi „kriterijum poklapanja dveju uzastopnih iteracija”, tj. u opštem slučaju implikacija (7) nije tačna. Naime, može se desiti da je veličina | xn − xn −1 | vrlo malena a da je veličina | x * − xn | vrlo velika. To se dogaña u slučaju kada je | F '( x) | blisko jedinici, što je ilustrovano na sl. 24: | xn − xn −1 | = ε , | x * − xn | > ε . Tačna je sledeća implikacija
1− q ⋅ ε ⇒ | x * − xn | ≤ ε , ε > 0 . 1 Primer 3. Metodom iteracije s tačnošću ε = 10−4 izračunati približno rešenje jednačine f ( x) ≡ 5 x3 − 20 x + 3 = 0 koje pripada odsečku [0, 1]. Rešenje. Jednačinu f ( x) = 0 treba zapisati u ekvivalentnom obliku x = F ( x) . To je moguće učiniti na bezbroj načina, na primer: | xn − xn −1 | ≤
1) x = x + (5 x3 − 20 + 3) ,
2) x = 5 x3 − 19 x + 3 ’
1 20 x − 3 4) x = 3 , ... (5 x3 + 3) , 5 20 Koju funkciju F ( x) treba koristiti za izračunavanje niza iteracija koji konvergira ka tačnom rešenju x*? F ( x) treba izabrati tako da na odsečku [a, b] 3) x =
211
bude ispunjen uslov | F '( x) | = q < 1 ; tada će iterativni proces konvergirati. U ovom slučaju uzećemo 1 F ( x) = (5 x3 + 3) , 20 jer je 3 3 max | F '( x) | = max x 2 = < 1 . x∈[ a , b ] x∈[0,1] 4 4 Na taj način imamo sledeći iterativni proces 1 xn +1 = (5 xn3 + 3) , n = 0,1, 2, ... , 20 a za početnu iteraciju moćemo uzeti bilo koju vrednost iz segmenta [0, 1], na 3 1 primer x0 = 0.5 . Kako je q = > , ne važi „kriterijum poklapanja dveju 4 2 uzastopnih iteracija”. Iz uslova q | x * − xn | ≤ | xn − xn −1 | ≤ ε 1− q imamo 1− q | xn − xn −1 | ≤ ⋅ε , q odnosno 1 − 0.75 | xn − xn −1 | ≤ ⋅ 0.0001 = 0.000033... , 0.75 pa proces iteracije treba prekinuti kada se postigne da je razlika dveju uzastopnih iteracija | xn − xn −1 | ≤ 0.00003 ; tada će biti postignuta zadata tačnost. Računanje je dato u sledećoj tabeli n 0 1 2 3 4
xn 0.50000 0.18125 0.15149 0.15087 0.15086
xn +1 = F ( xn ) 0.18125 0.15149 0.15087 0.15086
| xn − xn −1 | 0.31875 0.02976 0.00062 0.00001
Tražemo rešenje je x* ≈ x4 = 0.1509 . ▲
Napomena 2. Prilikom zaključivanja | xn − xn −1 | = | x4 − x3 | = | 0.15086 − 0.15087 | = 0.00001 < 0.00003 uzeli smo u obzir samo grešku metode a greška zaokrugljivanja je zanemarena, što se često čini. Naime, pretpostavlja se da uzimanjem | xn − xn −1 | ≤ 0.00003 umesto | xn − xn −1 | ≤ 0.000033... ima dovoljno „prostora” za zanemarivanje greške zaokrugljivanja. 212
Napomena 3. Zadatu jednačinu f ( x) = 0 moguće je zapisati, kao što je već rečeno, na bezbroj načina u ekvivalentnom obliku x = F ( x) . Izbor funkcije F ( x) ima veliki značaj: u nekim slučajevima | F '( x) | je maleno a u nekim veliko u okolini tačnog rešenja x*. Za primenu metode iteracije pogodan je onaj oblik za koji je | F '( x) | ≤ q < 1 za svako x iz odsečka [a, b] koji sadrži tačno rešenje x*. Konvergencija je brža ako je q, 0 < q < 1 , manje, a posebno je pogodno ako je 0 < q ≤ 0.5 . Neka je 0 < m1 ≤ f '( x) ≤ M 1 < ∞ , x ∈ [a, b] .
Specijalno možemo uzeti da je m1 = min f '( x) na odsečku [a, b], pri čemu se pretpostavlja da je f '( x) > 0 . Ako je f '( x) < 0 , onda umesto jednačine f ( x) = 0 možemo posmatrati ekvivalentnu jednačinu − f ( x) = 0 . Dalje, M 1 = max f '( x) , x ∈ [a, b] . Zamenimo jednačinu f ( x) = 0 njoj ekvivalentnom jednačinom x = x − λf ( x) , λ > 0 , dakle, F ( x) = x − λf ( x) . Parametar λ biramo tako da na odsečku [a, b], koji sadrži tačno rešenje x*, bude 0 ≤ F '( x) = 1 − λf '( x) ≤ q < 1 . Dakle, imamo 0 ≤ 1 − λM 1 ≤ 1 − λm1 ≤ q < 1 .
Prema tome, možemo uzeti 1 M1
λ=
i tada je q =1−
m1 <1. M1
Primer 4. Metodom iteracije s tačnošću
1 ⋅ 10−4 izračunati jedno rešenje 2
jednačine f ( x) ≡ x5 + 3x3 + 6 x − 7 = 0 .
Rešenje. Kako je f (0) = −7 < 0 i f (1) = 3 > 0 , jednačina ima rešenje 2
9 39 x* ∈ [0,1] . Prvi izvod f '( x) = 5 x + 9 x + 6 = 5 x 2 + + > 0 za svako x, 10 20 pa je funkcija f ( x) monotono rastuća i, zbog toga, jednačina f ( x) = 0 ima samo jedno realno rešenje, odnosno x * je jedino realno rešenje. Na odsečku 4
2
213
[0, 1] min f '( x) = 6 > 0 a max f '( x) = 20 . Dakle, uzećemo λ =
1 i jednačinu 20
f ( x) = 0 zameniti njoj ekvivalentnom jednačinom 1 x = x − ( x5 + 3 x3 + 6 x − 7) . 20 Kako je 1 F '( x) = 1 − (5 x 4 + 9 x 2 + 6) 20 i m 6 7 max | F '( x) | = 1 − 1 = 1 − = = q < 1, M1 20 10 iterativni proces 1 xn +1 = xn − ( xn5 + 3 xn3 + 6 xn − 7) , n = 0,1, 2, ... 20 7 1 konvergira. Kako q = ; ne važi „kriterijum poklapanja dveju uzastopnih 10 2 iteracija”. Dakle, iterativni proces treba prekinuti kada se postigne da je 1− q | xn − xn −1 | ≤ ⋅ ε , | xn − xn −1 | ≤ 0.000021... , q odnosno | xn − xn −1 | ≤ 0.00002 .
Za početnu iteraciju uzećemo x0 = 0.5 . Računanje je dato u sledećoj tabeli n 0 1 2 3 4 5 6 7 8 9
xn 0.50000 0.67969 0.77143 0.80748 0.81910 0.82250 0.82346 0.82373 0.82381 0.82383
xn +1 = F ( xn ) 0.67969 0.77143 0.80748 0.81910 0.82250 0.82346 0.82373 0.82381 0.82383
| xn − xn −1 | 0.17969 0.09174 0.03605 0.01162 0.00340 0.00096 0.00027 0.00008 0.00002
Tražemo rešenje je x* ≈ x9 = 0.8238 . ▲ Da bi se postiglo da važi „kriterijum poklapanja dveju uzastopnih iteracija”, može se potražiti neka druga funkcija F ( x) ili suziti segment koji sadrži traženo rešenje. U prethodnom primeru imamo: f (0.75) = −0.997... < 0 , pa x* ∈ [0.75,1] , Kako je na ovom segmentu 214
m1 = min f '( x) = f '(0.75) = 12.6445...
to je 12.6445... = 0.3677... < 0.5 , 20 mogli bismo koristiti pomenuti kriterijum, tj. bilo bi dovoljno da se dve uzastopne iteracije poklope u granicama tačnosti ε . q =1−
Napomena 4. Metoda iteracije je samokorigujuća metoda, što znači da pogrešno izračunata neka iteracije, ako je u segmentu [а, b], neće uticati na konvergenciju: može se dogoditi da je za postizanje zadate tačnosti potrebno izračunati nekoliko iteracija više, a može se dogoditi da je za postizanje zadate tačnosti dovoljno izračunati nekoliko iteracija manje. 8.
POJAM REDA KONVERGENCIJE I KONSTRUKCIJA ITERATIVNIH METODA VIŠEG REDA
Kod iterativnih metoda važna je konvergencija ali i brzina konvergencije niza iteracija, niza približnih rešenja xn = F ( xn −1 ) , n = 1, 2, ... ka tačnom rešenju x* jednačine f ( x) = 0 . Uvedimo pojam reda konvergencije iterativne metode (1) xn = F ( xn −1 ) , n = 1, 2, ... za rešavanje jednačine (2)
x = F ( x) .
Pretpostavimo da je F ( x) ∈ C k [ a, b] , x* ∈ [a, b] . Reći ćemo da je iterativni proces, zadat iterativnom formulom (1), reda k ako je (3)
F '( x*) = 0, F "( x*) = 0, … , F ( k −1) ( x*) = 0, F ( k ) ( x*) ≠ 0 .
Koristeći Tejlorovu formulu za funkciju F ( x) oko tačke x = x * imaćemo F '( x*) F "( x*) ( x − x*) + ( x − x*) 2 + ⋯ + 1! 2! F ( k −1) ( x*) F ( k ) (ξ ) k −1 + ( x − x*) + ( x − x*) k , (k − 1)! (k )!
F ( x) = F ( x*) +
(4)
odnosno, s obzirom na (3) i činjenicu da je F ( x*) = x * , F ( k ) (ξ ) ( x − x*) k . k! Stavimo li u (5) x = xn −1 , dobićemo grešku n–te iteracije
(5)
F ( x) − x* =
(6)
ε n = xn − x* =
F ( k ) (ξ ) ( xn −1 − x*) k . k!
215
Neka je M k = max | F ( k ) ( x) | , x ∈ [a, b] , tada je Mk | xn −1 − x* |k , k!
| ε n | = | xn − x* | ≤
(7) a odavde
k
M M M | ε n | = | xn − x* | ≤ k | xn −1 − x* |k ≤ k k | xn − 2 − x* |k ≤ … ≤ k! k! k! 1+ k + k 2 +⋯+ k n−1
(8)
M ≤ k k!
n
⋅ | x0 − x* |k = k n −1
k n −1
n M k −1 M k −1 = k ⋅ | x0 − x* |k = k ⋅ | x0 − x* | ⋅ | x0 − x* | k! k!
Ako je | x0 − x* |< 1 i (9)
k n+1 − 2 k n +1 k −1
.
Mk | x0 − x* | = ω < 1 , onda je k! k n −1 ω k −1
| ε n | = | xn − x* | ≤
,
dakle, konvergencija niza {xn } ka x* je vrlo brza. Postoji više metoda za konstrukciju iterativnih procesa višeg reda. Jedna od njih je sledeća, a predložio ju je 1838. godine Čebišov. U osnovi ove metode je predstavljanje inverzne funkcije x = g ( y ) funkcije y = f ( x) u obliku Tejlorovog reda. Neka jednačina (10)
f ( x) = 0
ima rešenje x* ∈ [a, b] . Pretpostavimo da je f ( x) ∈ C r +1[ a, b] , r ≥ 1 i da je f '( x) ≠ 0 za x ∈ [a, b] . Funkcija f ( x) ima inverznu funkciju x = g ( y ) koja je definisana na odsečku [c, d] i g ( y ) ∈ C r +1[c, d ] . Budući da je (11)
x ≡ g[ f ( x)], x ∈ [a, b] i y ≡ f [ g ( y )], y ∈ [c, d ] ,
to je (12)
x* = g (0) .
Dakle, izračunavanje rešenja x* jednačine (10) se svodi na izračunavanje vrednosti funkcije g ( y ) za y = 0 . Tu vrednost ćemo izračunati koristeći Tejlorovu formulu za funkciju x = g ( y ) . Za y ∈ [c, d ] imamo r
(13)
x* = g (0) = g ( y ) + ∑ (−1) k k =1
216
g (k ) ( y) k y + Rr +1 , k!
gde je ostatak Rr +1 = (−1) r +1
(14)
g ( r +1) (ξ ) r +1 y , ( r + 1)!
a ξ je izmeñu 0 i y. Budući da je g ( y ) = x i y = f ( x) , to je r
(15)
x* = x + ∑ ( −1) k k =1
g ( k ) [ f ( x)] ⋅ [ f ( x)]k + Rr +1 . k!
Radi jednostavnijeg zapisivanja uvedimo oznake r
(16)
g ( k ) [ f ( x)] ≡ ak ( x) , Fr ( x) ≡ x + ∑ (−1) k k =1
ak ( x) ⋅ [ f ( x)]k . k!
Budući da je f ( x*) ≡ 0 , to je r
Fr ( x*) = x * + ∑ (−1) k k =1
što znači da jednačina (17)
ak ( x*) ⋅ [ f ( x*)]k = x * , k!
x = Fr ( x)
ima rešenje x*. Na taj način se dobija iterativni proces xn +1 = Fr ( xn ) , n = 0,1, 2, ... (18) ( r + 1) − og reda, jer je Fr( k ) ( x*) = 0 , k = 1, r .
Ako je početna iteracija x0 uzeta dovoljno blizo rešenju x*, onda niz {xn } dobijen pomoću rekurentne formule (18) konvergira ka rešenju x*. Uslov konvergencije je | F '( x) | ≤ q < 1 u okolini rešenja x* a xn , n = 0,1, 2, ... , pripadaju toj okolini. Nañimo funkciju Fr ( x) u eksplicitnom obliku. Diferenciranjem jednakosti g[ f ( x)] = x redom dobijamo: g '[ f ( x)] ⋅ f '( x) = 1 , g "[ f ( x)] ⋅ f '2 ( x) + g '[ f ( x)] ⋅ f "( x) = 0 , g '''[ f ( x)] ⋅ f '3 ( x) + 3 g "[ f ( x)] ⋅ f '( x) ⋅ f "( x) + g '[ f ( x)] ⋅ f '''( x) = 0 , ...
ili
a1 ( x) ⋅ f '( x) = 1, a2 ( x) ⋅ f '2 ( x) + a1 ( x) ⋅ f "( x) = 0, (19) a3 ( x) ⋅ f '3 ( x) + 3a2 ( x) ⋅ f '( x) ⋅ f "( x) + a1 ( x) ⋅ f '''( x) = 0, ... a odavde nalazimo
217
a1 ( x) =
3 f "2 ( x) − f '( x) ⋅ f '''( x) 1 f "( x) , a2 ( x ) = − 3 , a3 ( x) = , ..., f '( x) f '5 ( x) f ' ( x)
dakle, i funkciju Fr ( x) u zavisnosti od funkcije f ( x) i njenih izvoda. Za r = 1 dobijamo F1 ( x) = x −
f ( xn ) 1 ⋅ f ( x) i xn +1 = xn − , n = 0,1, 2, ... , f '( x) f '( xn )
što je Njutnova metoda ili metoda tangente. Za r = 2 F2 ( x) = F1 ( x) −
f ( xn ) f "( xn ) ⋅ f 2 ( xn ) f "( x) ⋅ f 2 ( x) i , n = 0, 1, 2, ... x = x − − n + n 1 f '( xn ) 2 ⋅ f '3 ( xn ) 2 f '3 ( x)
što je poznato pod nazivom Čebišovljeva metoda. Greška iterativne metode ( r + 1) − og reda je (20)
ε n +1 = x * − xn +1 = (−1) r +1
g ( r +1) [ f (ξ )] ⋅ [ f ( xn )]r +1 , (r + 1)!
gde je ξ izmeñu x* i xn . Ako je L = max | f '( x) | i M r +1 = max | F ( r +1) [ f ( x)] | , x ∈ [a, b] , i uzimajući u obzir da je | f ( xn ) | = | f ( xn ) − 0 | = | f ( xn ) − f ( x*) | = | xn − x* | ⋅ | f '(ξ ) | < L | xn − x* | ,
sledi da je, prema (20), | ε n +1 | = | x * − xn +1 | ≤
M r +1 ⋅ Lr +1 M ⋅ Lr +1 . | xn − x* |r +1 = q | xn − x* |, q = r +1 (r + 1)! (r + 1)!
Sada, analogno sa (8), imamo | x * − xk | ≤ q1+ ( r +1) + ( r +1) = (| x * − x0
2
+⋯+ ( r +1) k −1
⋅ | x * − x0 |( r +1) =
( r +1) k −1 | ⋅q ) r ⋅ |
k
x * − x0
( r +1)k ⋅( r −1) +1 r |
.
Na taj način, ako je | x * − x0 | < 1 i | x * − x0 | q = ω < 1 , to je ( r +1)k −1 ω r
| x * − xk | ≤ , što ukazuje da je konvergencija metode vrlo brza. Tako, ako je ω = 0.1 i | x * − x0 | < 1 za r = 1 imamo (Njutnova metoda): | x * − x1 | ≤ 10−1 , | x * − x2 | ≤ 10−3 , | x * − x3 | ≤ 10−7 , | x * − x4 | ≤ 10−15 , ..., odnosno, konvergencija je reda 2 (kvadratna konvergencije).
Za r = 2 imamo (Čebišovljeva metoda): | x * − x1 | ≤ 10−1 , | x * − x2 | ≤ 10−4 , | x * − x3 | ≤ 10−13 , | x * − x4 | ≤ 10−40 , ...,
odnosno, konvergencija je reda 3 (kubna konvergencija). 218
9.
NJUTNOVA METODA ZA REŠAVANJE SISTEMA NELINEARNIH ALGEBARSKIH I TRANSCENDENTNIH JEDNAČINA
Posmatrajmo sistem od n nelinearnih jednačina s n nepoznatih f1 ( x1 , x2 , ..., xn ) = 0, f 2 ( x1 , x2 , ..., xn ) = 0, (1) ⋮ f n ( x1 , x2 , ..., xn ) = 0, gde su f i , i = 1, n , realne funkcije svojih argumenata, definisane u oblasti G n–dimenzionalnog prostora En . Ako uvedemo oznake x1 f1 x f x = 2, f = 2 , ⋮ ⋮ xn fn gde je x n–dimenzionalni vektor a f n–dimenzionalna vektor–funkcija, onda sistem jednačina (1) kratko možemo zapisati u obliku (2) f (x ) = 0 , gde je 0 n–dimenzionalni nula–vektor. Neka sistem jednačina (1) ima lokalizovano i izolovano rešenje x * = ( x1* , x2* , ..., xn* )T u nekoj konveksnoj oblasti ω ⊂ G i neka je nañeno približno rešenje x ( k ) = ( x1( k ) , x2( k ) , ..., xn( k ) )T tačnog rešenja x * . Tačno rešenje se može predstaviti na sledeći način (3) x * = x (k ) + ε (k ) , gde je ε ( k ) = (ε1( k ) , ε (2k ) , ..., ε (nk ) )T popravka koju treba odrediti. Pretpostavimo da je funkcija f ( x ) neprekidno diferencijabilna u oblasti ω i da je Jakobijeva matrica (jakobijan) ∂f1 ∂f1 ∂f1 ∂x ∂x ⋯ ∂x 2 n 1 ∂f 2 ∂f 2 ∂f 2 ⋯ (4) ∂xn f '( x ) = Wn ( x ) = ∂x1 ∂x2 ⋮ ∂f n ∂f n ⋯ ∂f n ∂x1 ∂x2 ∂xn nesingularna, tj. det Wn ( x ) ≠ 0 , x ∈ ω , i da x * i x ( k ) pripadaju toj oblasti. 219
Na osnovu Tejlorove formule imamo 0 = f ( x *) = f ( x ( k ) + ε ( k ) ) = f ( x ( k ) ) +
f '( x ( k ) ) ( k ) ⋅ ε +⋯ , 1!
ili, za dovoljno malo ε ( k ) , f ( x ( k ) ) + f '( x ( k ) ) ⋅ ε ( k ) ≈ 0 .
(5)
Kako je det Wn ( x ) ≠ 0 , to postoji inverzna matrica Wn−1 ( x ( k ) ) . Iz (5) dobijamo
Rešenje. Grafički ćemo predstaviti funkcije definisane jednakostima f1 ( x, y ) = 0 i f 2 ( x, y ) = 0 (sl. 25).
f1 (x
,y
)=0
približnu vrednost popravke ε ( k ) ε ( k ) = −Wn−1 ( x ( k ) ) ⋅ f ( x ( k ) ) . Sada imamo (6) x ( k +1) = x ( k ) − Wn−1 ( x ( k ) ) ⋅ f ( x ( k ) ) , k = 0,1, 2, ... , što predstavlja iterativnu formulu Njutnove metode za rešavanje sistema jednačina (1), odnosno vektorske jednačine (2). Za početno rešenje, nultu iteraciju, možemo uzeti grube približne vrednosti traženog rešenja. y 1 Primer 1. S tačnošću ⋅ 10−3 3 2 izračunati jedno rešenje sistema 2 jednačina 0 y) = 2 , x ( f1 ( x, y ) ≡ 2 x − xy − 5 x + 1 = 0, f2 1 f 2 ( x, y ) ≡ x + 3log x − y 2 = 0.
0 x*
1
2
3
4
Sl. 25 Sistem jednačina ima dva rešenja: ( x1* , y1* ) : 3 ≤ x1* ≤ 4 , 2 ≤ y1* ≤ 2.5 i ( x2* , y2* ) : 1.5 ≤ x2* ≤ 2.5 , −0.5 ≤ y2* ≤ 1.5 . Izračunajmo rešenje ( x1* , y1* ) . Neka je x (0) = (3.5, 2.2)T .
Stavimo li 2 x 2 − xy − 5 x + 1 f (x ) = 2 x + 3log x − y
imaćemo: 0.3000 f ( x (0) ) = , 0.2922 4 x − y − 5 − x , W ( x (0) ) = 6.8000 −3.5000 , f '( x ) = W2 ( x ) = 3 2 1.3723 −4.4000 1 + log e −2 y x
220
x
det W2 ( x (0) ) = −25.11695 ≠ 0 , W2−1 ( x (0) ) =
−4.4000 3.5000 1 , −25.11695 −1.3723 6.8000
x (1) = x (0) + W2−1 ( x (0) ) ⋅ f ( x (0) ) . 3.5000 −4.4000 3.5000 0.3000 3.4882 1 − x (1) = ⋅ = ; 2.2000 −25.11695 −1.3723 6.8000 0.2922 2.2627 0.001328 6.6901 −3.4882 , W2 ( x (1) ) = f ( x (1) ) = , −0.003807 1.3735 −4.5254
det W2 ( x (1) ) = −25.4843 ≠ 0 , W2−1 ( x (1) ) =
−4.5254 3.4882 1 , −25.4843 −1.3735 6.6901
x (2) = x (1) − W2−1 ( x (1) ) ⋅ f ( x (1) ) , 3.4882 −4.5254 3.4882 0.001328 3.4874 1 x (2) = − ⋅ = ; 2.2627 −25.4843 −1.3735 6.6901 −0.003807 2.2616 −0.0001863 6.6880 −3.4874 , W2 ( x (2) ) = f ( x (2) ) = , 0.00007073 1.3736 −4.5232
det W2 ( x (2) ) = −25.4609 ≠ 0 , W2−1 ( x (2) ) =
−4.8232 3.4874 1 , −25.4609 −1.3736 6.6880
x (3) = x (2) − W2−1 ( x (2) ) ⋅ f ( x (2) ) , 3.4874 −4.5232 3.4874 −0.0001863 3.4874 1 x (3) = − ⋅ = . 2.2616 −25.4609 −1.3736 6.6880 0.00007073 2.2616
Dakle, traženo rešenje je x1* ≈ x (3) = (3.487, 2.262)T . ▲ Prethodnim primerom ilustrovali smo formalni aspekt Njutnove metode. Potrebno je razmotriti sledeća pitanja: konvergenciju i brzinu konvergencije, jedinstvenost rešenja sistema nelinearnih jednačina, stabilnost Njutnovog iterativnog procesa, ocenu greške približnog rešenja, dobijenog Njutnovim iterativnim procesom, ...
Teorema 1. Neka je zadat sistem nelinearnih algebarskih ili transcendentnih jednačina s realnim koeficijentima f1 ( x1 , x2 , ..., xn ) = 0, f 2 ( x1 , x2 , ..., xn ) = 0, (7) ⋮ f n ( x1 , x2 , ..., xn ) = 0, odnosno, vektorska jednačina (8) f (x ) = 0 , gde je 221
f1 ( x1 , x2 , ..., xn ) x1 0 f ( x , x , ..., x ) x 0 2 1 2 n 2 f = , x= , 0= . ⋮ ⋮ ⋮ 0 f n ( x1 , x2 , ..., xn ) xn Pretpostavimo da je vektor–funkcija f ( x ) definisana i neprekidna, zajedno sa svojim prvim i drugim parcijalnim izvodima u nekoj oblasti ω , tj. f ( x ) ∈ C (2) (ω) .
Neka je x (0) tačka koja pripada oblasti ω zajedno sa svojom zatvorenom okolinom UH ( x (0) ) = {|| x − x (0) || ≤ H } ⊂ ω , i neka su ispunjeni uslovi: 1) Jakobijeva matrica f '( x ) = Wn ( x ) za x = x (0) ima inverznu matricu Γ0 = Wn−1 ( x (0) ) i pri tome je || Γ 0 ||≤ A0 ; H 2) || Γ 0 f ( x (0) ) || ≤ B0 ≤ ; 2 n
3)
∑
k =1
∂ 2 fi ( x ) ≤ C , i, j = 1, n i x ∈ UH ( x (0) ) ; ∂x j ∂xk
4) konstante A0 , B0 i C zadovoljavaju nejednakost µ 0 = 2nA0 B0 C < 1 . Tada Njutnov iterativni proces x ( k +1) = x ( k ) − Wn−1 ( x ( k ) ) ⋅ f ( x ( k ) ) , k = 0,1, 2, ... za početnu približnu vrednost x (0) konvergira i granična vrednost
x * = lim x ( k ) k →∞
je rešenje sistema jednačina (7), odnosno vektorske jednačine (2) i pri tome je || x * − x (0) || ≤ 2 B0 ≤ H . n
Podrazumeva se m–norma: || x || = max | xi| i || A || = max ∑ | aij | . i
i
j =1
Dokaz izostavljamo, a može se videti, na primer, u knjizi Б. П. Демидович, И. А. Марон – Основы Вычислительной математики, Наука, Москва, 1970. str. 461–465.
Teorema 2. Pod pretpostavkama 1.– 4. Teoreme 1. za niz približnih rešenja x ( k ) , k = 0,1, 2, ... , važi nejednakost k −1
k 1 || x * − x ( k ) ||m ≤ ⋅ µ 02 −1 ⋅ B0 . 2 Dokaz takoñe izostavljamo, a može se naći u citiranoj knizi, str. 465–466.
222
Teorema 3. Pod pretpostavkama Teoreme 1. u oblasti || x − x (0) ||m ≤ 2 B0 rešenje sistema (1) je jedinstveno. Dokaz videti u citiranoj knizi, str. 466–469. Teorema 4. Pod pretpostavkama Teoreme 1. i
2 ⋅ B0 ≤ H µ0
Njutnov
iterativni proces x ( k +1) = x ( k ) − Wn−1 ( x ( k ) ) ⋅ f ( x ( k ) ) , k = 0,1, 2, ... konvergira ka jedinstvenom rešenju x * sistema jednačina (1) u oblasti || x − x (0) ||m ≤ 2 B0 i za proizvoljan izbor početnog približnog rešenja x '(0) u oblasti je 1 − µ0 || x '(0) − x (0) ||m ≤ ⋅ B0 . 2µ0
Dokaz videti u citiranoj knizi, str. 469–471. Kod primene Njutnovog iterativnog procesa x ( k +1) = x ( k ) − Wn−1 ( x ( k ) ) ⋅ f ( x ( k ) ) , k = 0,1, 2, ... , u svakom iterativnom koraku neophodno je izračunati inverznu matricu Wn−1 ( x ( k ) ) . Obim računanja se može znatno smanjiti ako se ovaj proces modifikuje. Naime, ako je matrica Wn−1 ( x ) neprekidna u okolini traženog rešenja i ako je početno približno rešenje dovoljno blizo tačnom rešenju x * , onda se može uzeti da je Wn−1 ( x ( k ) ) ≈ Wn−1 ( x (0) ) , pa na taj način dobijamo modifikovanu Njutnovu metodu x ( k +1) = x ( k ) − Wn−1 ( x (0) ) ⋅ f ( x ( k ) ) , k = 0,1, 2, ... , Uslovi konvergencije su gotovo isti kao kod izvorne Njutnove metode, a obim računanja se dosta smanjuje. 1 Primer 2. Modifikovanom Njutnovom metodom s tačnošću ⋅ 10−3 2 izračunati približno rešenje sistema jednačina x 2 + xy + y 2 = 3, sin x − y 2 = 0, koje pripada oblasti {( x, y ); 0.75 ≤ x ≤ 1.25; 0.75 ≤ y ≤ 1.25} . Rešenje. Uzmimo početno rešenje x (0) = (1,1)T , tj. x0 = 1 i y0 = 1 . Redom imamo: x 2 + xy + y 2 − 3 0.00000 (0) f (x ) = , f (x ) = , 2 −0.15853 sin x − y 223
3 2 x + y x + 2 y 3 , W2 ( x (0) ) = W2 ( x ) = , −2 y cos x 0.54030 −2 det W2 ( x (0) ) = −7.62090 ≠ 0 , −3 −2 1 ; x (1) = x (0) − W2−1 ( x (0) ) ⋅ f ( x (0) ) , −7.62090 −0.54030 3 −3 0.00000 1.06241 1 −2 1 = − ⋅ = ; 1 −7.62090 −0.54030 3 −0.15853 0.93759
W2−1 ( x (0) ) = x (1)
0.0038950 , x (2) = x (1) − W2−1 ( x (0) ) ⋅ f ( x (1) ) , f ( x (1) ) = −0.0055439 −3 0.0038950 1.06357 1.06241 −2 1 x (2) = − ⋅ = ; 0.93759 −7.62090 −0.54030 3 −0.0055439 0.93513 0.00022548 , x (3) = x (2) − W2−1 ( x (0) ) ⋅ f ( x (2) ) , f ( x (2) ) = −0.00037292 −3 0.00022548 1.06358 1.06357 −2 1 x (3) = − ⋅ = . 0.93513 −7.62090 −0.54030 3 −0.00037292 0.93497
Dakle, traženo rešenje je x * ≈ x (3) = (1.064, 0.935)T . ▲
10. METODA ITERACIJE ZA REŠAVANJE SISTEMA NELINEARNIH ALGEBARSKIH I TRANSCENDENTNIH JEDNAČINA Neka je zadat sistem nelinearnih algebarskih ili transcendentnih jednačina u sledećem obliku x1 = ϕ1 ( x1 , x2 , ..., xn ), x2 = ϕ2 ( x1 , x2 , ..., xn ), (1) ⋮ xn = ϕn ( x1 , x2 , ..., xn ), gde su funkcije ϕ1 , ϕ2 , ..., ϕn realne, definisane i neprekidne u odreñenoj oblasti G n–dimenzionalnog prostora En . Pretpostavimo da sistem jednačina (1) ima izolovano rešenje ( x1* , x2* , ..., xn* )T u oblasti ω ⊂ G . Uvedimo sledeće oznake x1 ϕ1 ( x1 , x2 , ..., xn ) ϕ1 ( x ) x ϕ ( x , x , ..., x ) ϕ ( x ) 2 2 1 2 n x= , ϕ( x ) = ili ϕ( x ) = 2 . ⋮ ⋮ ⋮ xn ϕn ( x1 , x2 , ..., xn ) ϕn ( x )
224
Sistem jednačina (1), pomoću vektora x i vektor–funkcije ϕ( x ) , kratko možemo zapisati kao vektorsku jednačinu x = ϕ( x ) . (2) Da bismo izračunali vektor–rešenje x * = ( x1* , x2* , ..., xn* )T vektorske jednačine (2), odnosno rešenje sistema jednačina (1), često se koristi metoda iteracije x ( k +1) = ϕ( x ( k ) ) , k = 0,1, 2, ... ,
(3)
gde početno približno rešenje, početnu iteraciju x (0) = ( x1(0) , x2(0) , ..., xn(0) )T biramo u oblasti ω , naravno da bude x (0) ≈ x * . Pitanje konvergencije iterativnog procesa (3) razmatraćemo nešto kasnije. Sada ćemo primetiti sledeće: ako iterativni proces (3) konvergira, onda je granična vrednost
ξ = lim x ( k )
(4)
k →∞
rešenje vektorske jednačine (2), odnosno sistema jednačina (1). Zaista, prelazeći na limes u relaciji (3) i koristeći činenjicu da je ϕ( x ) neprekidna funkcija imamo lim x ( k +1) = ϕ(lim x ( k ) ) , tj. ξ = ϕ( ξ ) .
k →∞
k →∞
Dakle, ξ jeste rešenje jednačine (2). Dalje, ako sve iteracije x ( k ) , k = 0,1, 2, ... , pripadaju oblasti ω i ako je x * jedinstveno rešenje jednačine (2) u oblasti ω , to je ξ = x*. Ako je sistem nelinearnih algebarskih ili transcendentnih jednačina zadat u sledećem obliku f1 ( x1 , x2 , ..., xn ) = 0, f 2 ( x1 , x2 , ..., xn ) = 0, (5) ⋮ f n ( x1 , x2 , ..., xn ) = 0, onda, koristeći analogne oznake, može biti zapisan u obliku sledeće vektorske jednačine (6)
f (x ) = 0 .
Da bismo mogli primeniti metodu iteracije, traba sistem jednačina (5) zapisati u obliku (1), odnosno vektorsku jednačinu (6) treba zapisati u obliku (2). To se može postići na sledeći način. Jednačinu (6) zapišimo u sledećem obliku x = x + λ f (x ) ,
gde je λ nesingularna matrica dimenzija n × n . Ako sada uvedemo oznaku (7)
x + λ f ( x ) = ϕ( x )
225
imaćemo oblik (2) (8)
x = ϕ( x ) .
Dakle, dobili smo jednačinu na koju možemo primeniti metodu iteracije. Ako je funkcija f ( x ) ∈ C1[ω] , gde je ω ⊂ G i jednačina f ( x ) = 0 ima izolovano rešenje x * ∈ ω , onda na osnovu (7) imamo I + λ f '( x ) = ϕ '( x ) ,
gde je I jedinična matrica dimenzija n × n . Može se pokazati da iterativni proces x ( k +1) = ϕ( x ( k ) ) , k = 0,1, 2, ... ,
brzo konvergira ako je ϕ '( x ) maleno po normi. Ako je x (0) ∈ ω početna iteracija i ako je f '( x (0) ) nesingularna matrica, onda se uzima da je λ = −[ f '( x (0) )]−1 .
Ako je f '( x (0) ) singularna matrica, tj. ako je det f '( x (0) ) = 0 , onda treba izabrati drugu početnu iteraciju x (0) . Primenu metode iteracije ilustrovaćemo sledećim primerom. Pitanje konvergencije i ocenu greške približne vrednosti razmatraćemo kasnije. x2 Primer 1. Izračunati jedno 1 približno rešenje sistema jednačina 0.5 (x1*, x2*) x12 + x22 = 1, 5 x12 – 2.4
0
2.4
x1
– 0.5
–1 Sl. 26 Za početno približno rešenje uzećemo
+ 24 x22
= 12.
Rešenje. Prva jednačina je jednačina kružnice a druga elipse. Koristeći grafike (sl. 26) zaključujemo da sistem ima četiri rešenja, u svakom kvadrantu po jedno. Izračunajmo približno rešenje koje pripada prvom kvadrantu.
x (0) = (0.8000, 0.6000)T .
Stavimo da je x 2 + x22 − 1 f (x ) = 2 1 ; 2 5 x1 + 24 x2 − 12
tada je 2x f '( x ) = 1 10 x1
226
2 x2 1.6000 1.2000 i f '( x (0) ) = . 48 x2 8.0000 28.8000
Kako je det f '( x (0) ) = 36.4800 ≠ 0 , to je [ f '( x (0) )]−1 =
28.8000 −1.2000 1 . 36.4800 −8.0000 1.6000
Sada možemo uzeti da je λ = − f ( x (0) )
−1
=−
28.8000 −1.2000 1 36.4800 −8.0000 1.6000
i 2 2 x1 28.8000 −1.2000 x1 + x2 − 1 1 ϕ( x ) = x + λ f ( x ) = − . ⋅ 2 2 x2 36.4800 −8.0000 1.6000 5 x1 + 24 x2 − 12 Sada redom računamo: 0.0000 0.8000 28.8000 −1.2000 1 f ( x (0) ) = , x (1) = − ⋅ −0.1600 0.6000 36.4800 −8.0000 1.6000 0.0000 0.8000 0.0053 0.7947 ⋅ = − = ; −0.1600 0.6000 −0.0070 0.6070
−0.0000 0.7947 28.8000 −1.2000 1 f ( x (1) ) = , x (2) = − ⋅ 0.0005 0.6070 36.4800 −8.0000 1.6000 −0.0000 0.7947 0.0000 0.7947 ⋅ = − = . 0.0005 0.6070 0.0000 0.6070
Za približnu vrednost rešenja uzimamo x = (0.7947, 0.6070)T . Inače, tačno rešenje je x * = (0.79471..., 0.60697...)T . ▲ Razmotrimo pitanje konvergencije iterativnog procesta (3). Sistemom (1), odnosno vektorskom jednačinom (2), definisano je preslikavanje oblasti G u neku oblast G ' ⊂ En . Uslove konvergencije i ocenu greške približnog rešenja izrazićemo u terminima kanonske norme || x || koja, naravno, zadovoljava uobičajene uslove. Na primer, možemo staviti || x ||m = max | xi | (m – norma), i
|| x ||l = ∑ | xi |
(l – norma),
i
1
2 || x ||k = ∑ xi2 i
(k – norma).
Definicija. Preslikavanje (1), odnosno (2), koje oblast G preslikava u samu sebe, je sažimajuće ili kontrakcija oblasti G ako postoji broj q, 0 ≤ q < 1 , takav da za svake dve proizvoljne vrednosti x ' i x " oblasti G i njihove slike ϕ( x ') i ϕ( x ") važi nejednakost
227
|| ϕ( x ') − ϕ( x ") || ≤ q || x '− x " || .
(9)
Broj q je koeficijent kontrakcije. Rešenje x * jednačine (2), naravno ako postoji, je nepokretna tačka preslikavanja (2), dakle i (1). Važi sledeća teorema.
Teorema 1. Neka je oblast G zatvorena i neka je preslikavanje (1), odnosno (2) sažimajuće ili kontrakcija oblasti G, tj. neka je ispunjen uslov (9). Tada, ako za iterativni proces (3) sve iteracije x ( k ) ∈ G , k = 0,1, 2, ... , onda: 1) nezavisno od izbora početne iteracije x (0) ∈ G iterativni proces (3) konvergira, tj. postoji x * = lim x ( k ) ; k →∞
2) granični vektor x * je jedinstveno rešenje jednačine (2) u oblasti G; 3) važi ocena greške x * − x (k ) ≤
qk x (1) − x (0) . 1− q
Dokaz. 1) Da bismo dokazali konvergenciju iterativnog procesa (3), primenićemo Košijev kriterijum konvergencije. Dakle,
x ( k + p ) − x ( k ) = ( x ( k + p ) − x ( k + p −1) ) + ( x ( k + p −1) − x ( k + p − 2) ) + ⋯ + ( x ( k +1) − x ( k ) ) ≤ ≤ x ( k + p ) − x ( k + p −1) + x ( k + p −1) − x ( k + p − 2) + ⋯ + x ( k +1) − x ( k ) . Ako iskoristimo uslov kontrakcije, onda za dve uzastopne iteracije imamo x ( m +1) − x ( m ) = ϕ( x ( m ) ) − ϕ( x ( m −1) ) ≤ q x ( m ) − x ( m −1) = = q ϕ( x ( m −1) ) − ϕ( x ( m − 2) ) ≤ q 2 x ( m −1) − x ( m − 2) ≤ ... ≤ ≤ q m x (1) − x (0) .
Sada imamo
x ( k + p ) − x ( k ) ≤ q k + p −1 x (1) − x (0) + q k + p − 2 x (1) − x (0) + ⋯ + q k x (1) − x (0) = = (q p −1 + q p − 2 + ⋯ + 1) ⋅ q k x (1) − x (0) =
1− qp k ⋅ q ⋅ x (1) − x (0) , 1− q
dakle, (10) ili 228
x (k + p) − x (k ) ≤
1− q p k ⋅ q ⋅ x (1) − x (0) , 1− q
x (k + p) − x (k ) ≤
qk x (1) − x (0) . 1− q
Kako je 0 ≤ q < 1 , to q k → 0 kada k → ∞ , pa na osnovu prethodne nejednakosti zaključujemo da za svako, proizvoljno maleno ε > 0 postoji broj k0 = k (ε ) takav da za k > k (ε ) i p > 0 važi nejednakost x (k + p) − x (k ) ≤ ε ,
što znači da, saglasno Košijevom kriterijumu konvergencije, niz x ( k ) , k = 0,1, 2, ... , konvergira, tj. postoji x * = lim x ( k ) k →∞
i x * ∈ G zbog zatvorenosti oblasti G. 2) Da je x * zaista rešenje jednačine (2) jednostavno se dokazuje jer je u oblasti G vektor–funkcija ϕ( x ) neprekidna. Zaista, lim x ( k +1) = ϕ(lim x ( k +1) ) ,
k →∞
tj.
k →∞
x * = ϕ( x *) .
Dokažimo jedinstvenost rešenja. Pretpostavimo da postoje dva rešenja x * i x1* , x * ≠ x1* , tj. da je x * = ϕ( x * ) i x1* = ϕ( x1* ) ,
pa je: x * − x1* = ϕ( x * ) − ϕ( x1* ) ≤ q x * − x1* , x * − x1* − q x * − x1* ≤ 0 , x * − x1* ⋅ (1 − q ) ≤ 0 .
Kako je 1 − q > 0 , to dobijamo x * − x1* = 0 , odnosno x * = x1* , što protivureči činjenici da je x * ≠ x1* . Dakle, u oblasti G jednačina (2) ima jedinstveno rešenje.
3) Ako preñemo na limes u nejednakosti (10) kada p → ∞ , dobijamo ocenu greške qk x * − x (k ) ≤ x (1) − x (0) . ■ 1− q 229
Navedimo јоš jednu ocenu greške priibližne vrednosti x ( k ) . Analogno prethodnom slučaju imamo x ( k + p ) − x ( k ) = ( x ( k + p ) − x ( k + p −1) ) + ( x ( k + p −1) − x ( k + p − 2) ) + ⋯ + ( x ( k +1) − x ( k ) ) ≤ ≤ q p x ( k ) − x ( k −1) + q p −1 x ( k ) − x ( k −1) + ⋯ + q ⋅ x ( k ) − x ( k −1) = = (q p + q p −1 + ⋯ + q ) ⋅ x ( k ) − x ( k −1) = = q ⋅ x ( k ) − x ( k −1) ⋅ (q p −1 + q p − 2 + ⋯ + 1) = q ⋅ x ( k ) − x ( k −1) ⋅
1− qp , 1− q
dakle 1− q p . 1− q Prelaskom na limes u poslednjoj nejednakosti kada p → ∞ dobijamo q (11) x * − x (k ) ≤ x ( k ) − x ( k −1) . 1− q 1 Ako je 0 ≤ q ≤ , onda iz (11) dobijamo da važi „kriterijum poklapanja 2 dveju uzastopnih iteracija”, tj. x ( k ) − x ( k −1) ≤ ε ⇒ x * − x ( k ) ≤ ε . x ( k + p ) − x ( k ) ≤ q ⋅ x ( k ) − x ( k −1) ⋅
Provera ispunjenosti uslova Teoreme 1. je najčešće složena, pa ćemo navesti njenu nešto promenjenu formulaciju.
Teorema 2. Neka je preslikavanje x = ϕ( x ) kontrakcija zatvorene oblasti G i neka je g ograničena oblast koja pripada oblasti G zajedno sa svojom ρ–okolinom (u smislu uvedene norme), gde je Dq (12) ρ≥ , 1− q a D dijametar oblasti g i q koeficijent kontrakcije. Tada ako x (0) ∈ g i x (1) = ϕ( x (0) ) ∈ g , onda iterativni proces x ( k +1) = ϕ( x ( k ) ) , k = 0,1, 2, ... , konvergira i važe tvrñenja Teoreme 1. x
(k )
Dokaz. Dovoljno je pokazati da sve iteracije pripadaju oblasti G, tj. ∈ G , k = 0,1, 2, ... Dokaz se izvodi metodom matematičke indukcije. 1) Za k = 0 i k = 1 na osnovu uslova teoreme x (0) ∈ G i x (1) ∈ G . 2) Pretpostavimo da za k = m, m ≥ 1 , iteracija x ( m ) ∈ G . 3) Dokažimo da iteracija x ( m +1) ∈ G .
230
Kako je x (1) − x (0) ≤ D ,
i koristeći nejednakost x ( m +1) − x ( m ) ≤ q m x (1) − x (0) ≤ Dq m
imamo x ( m +1) − x (1) = ( x ( m +1) − x ( m ) ) + ( x ( m ) − x ( m −1) ) + ⋯ + ( x (2) − x (1) ) ≤ ≤ q m D + q m −1 D + ⋯ + qD = Dq ( q m −1 + q m − 2 + ⋯ + 1) = 1 − qm Dq = Dq ⋅ ≤ = ρ, 1− q 1− q
pa x ( m +1) ∈ G . Dakle, na osnovu principa matematičke indukcije x ( k ) ∈ G , k = 0,1, 2, ... ■
Primer 2. S tačnošću 10−4 izračunati približno rešenje sistema jednačina f1 ( x, y ) ≡ x3 + y 3 − 6 x + 3 = 0, f 2 ( x, y ) ≡ x 3 − y 3 − 6 y + 2 = 0
koje pripada prvom kvadrantu. Rešenje. Zapišimo dati sistem jednačina na sledeći način x3 + y 3 1 + = ϕ1 ( x, y ), 6 2 x3 − y 3 1 y= + = ϕ2 ( x, y ). 6 3
x=
Posmatrajmo kvadrat K = {( x, y ); 0 ≤ x ≤ 1, 0 ≤ y ≤ 1} . Ako tačka ( x0 , y0 ) pripada kvadratu K, onda je 13 + 13 1 5 + = < 1, 6 2 6 13 − 03 1 1 0 < ϕ2 ( x0 , y0 ) ≤ + = < 1. 6 3 2 0 < ϕ1 ( x0 , y0 ) ≤
x03 + y03 1 1 x3 − y03 1 < i − < 0 < , to za proizvoljan izbor tačke 6 3 6 6 6 ( x0 , y0 ) niz ( xk , yk ) pripada kvadratu K. I više od toga, tačke ( xk , yk ) 1 1 1 5 1 1 pripadaju pravougaoniku Π = {( x, y ); < x < , < y < } jer je + 0 = i 2 6 6 2 2 2 1 1 5 1 1 1 1 1 1 + = , − = i + = . U pravougoaniku Π je 2 3 6 3 6 6 3 6 2
Kako je 0 <
231
∂ϕ1 ∂ϕ x 2 y 2 1 25 1 34 1 + 1 = + < + = < , ∂x ∂y 2 2 2 36 4 72 2 ∂ϕ2 ∂ϕ2 x 2 y 2 34 1 + = +− < < . ∂x ∂y 2 2 72 2
Dakle, sistem jednačina ima jedinstveno rešenje u pravougaoniku Π i ono može biti izračunato metodom iteracije. Očigledno, važi „kriterijum poklapanja uzastopnih iteracija”. Za početne iteracije ćemo uzeti x0 = 0.5000 i y0 = 0.5000 . Rezultati računanja su prikazani u sledećoj tabeli n 0 1 2 3 4 5 6
xn 0.5000 0.5417 0.5327 0.5326 0.5324 0.5324 0.5324
yn 0.5000 0.3333 0.3536 0.3511 0.3513 0.3512 0.3512
Rešenje sistema je x = (0.5324, 0.3512)T . ▲
11. DOVOLJNI USLOVI KONVERGENCIJE METODE ITERACIJE Posmatrajmo sistem nelinearnih algebarskih ili transcendentnih jednačina x1 = ϕ1 ( x1 , x2 , ..., xn ), x2 = ϕ2 ( x1 , x2 , ..., xn ), (1) ⋮ xn = ϕn ( x1 , x2 , ..., xn ), gde su funkcije ϕ1 , ϕ2 , ..., ϕn realne, definisane i neprekidne u odreñenoj oblasti G n–dimenzionalnog prostora En . Pretpostavimo da sistem jednačina (1) ima izolovano rešenje x * = ( x1* , x2* , ..., xn* )T u oblasti G ⊂ En . Sistem jednačina (1), kao što smo već naveli, možemo kratko zapisati u obliku sledeće vektorske jednačine (2) x = ϕ( x ) . Za primenu metode iteracije (3)
x ( k +1) = ϕ( x ( k ) ) , k = 0,1, 2, ... , x (0) ∈ G ,
za rešavanje sistem jednačina (1), odnosno vektorske jednačine (2), dobijeni uslov konvergencije, uslov kontrakcije, nije uvek praktičan. Naime, provera ispunjenosti uslova konvergencije je vrlo često obiman posao a ponekad 232
praktično nemoguć. Radi toga ćemo navesti neke dovoljne uslove konvergencije. Te uslove ćemo dati u terminima norme izvodne funkcije ϕ '( x ) . ∂ϕ1 ∂x 1 ∂ϕ2 ϕ '( x ) = ∂x1 ⋮ ∂ϕn ∂x1
(4)
∂ϕ1 ∂x2
∂ϕ1 ∂xn ∂ϕ2 ⋯ ∂xn . ∂ϕn ⋯ ∂xn ⋯
∂ϕ2 ∂x2 ∂ϕn ∂x2
Ovde ćemo koristiti sledeće norme: n ∂ϕ ( x ) = max max ∑ i x ∈G 1≤i ≤ n j =1 ∂x j
,
n ∂ϕ ( x ) = max ϕ '( x ) l = max max ∑ i x ∈G x ∈G 1≤ j ≤ n i =1 ∂x j
.
(5)
ϕ '( x ) I = max ϕ '( x )
(6)
ϕ '( x )
x ∈G
II
m
Teorema 1. Neka su funkcije ϕ( x ) i ϕ '( x ) neprekidne u oblasti G i neka je u ovoj oblasti ispunjen uslov ϕ '( x ) I ≤ q < 1 ,
(7)
gde je q, 0 ≤ q < 1 , neka konstanta. Ako niz iteracija x ( k +1) = ϕ( x ( k ) ) , k = 0,1, 2, ...
(8)
pripada oblasti G, onda iterativni proces (8) konvergira i granična vrednost
x * = lim x ( k ) k →∞
je jedinstveno rešenje sistema jednačina (1), odnosno jednačine (2). Dokaz. Dovoljno je dokazati da je preslikavanje y = ϕ( x ) kontrakcija u oblasti G u smislu m–norme. Zaista, neka su x1 , x2 ∈ G i y1 = ϕ( x1 ) , y2 = ϕ( x2 ) . Tada je y1 − y2
m
dakle, y1 − y2
= ϕ( x1 ) − ϕ( x2 ) m
≤ q x1 − x2
m
m
≤ x1 − x2
m
⋅ ϕ '( ξ )
m
≤ x1 − x2
m
⋅ ϕ '( x )
I
, 0 ≤ q <1. ■
233
Posledica. Iterativni proces (8) konvergira ako je n
∑
j =1
∂ϕi ( x ) ≤ qi < 1 , i = 1, n , x ∈ G . ∂x j
Tako, u slučaju sistema jednačina x1 = ϕ1 ( x1 , x2 ), x2 = ϕ2 ( x1 , x2 )
dovoljan uslov konvergencije je ∂ϕ1 ∂ϕ + 1 ≤ q1 < 1, ∂x1 ∂x2 ∂ϕ2 ∂ϕ2 + ≤ q2 < 1. ∂x1 ∂x2
Teorema 2. Neka su funkcije ϕ( x ) i ϕ '( x ) neprekidne u oblasti G i neka je u ovoj oblasti ispunjen uslov ϕ '( x )
(9)
II
≤ q <1
gde je q, 0 ≤ q < 1 , neka konstanta. Ako niz iteracija x ( k +1) = ϕ( x ( k ) ) , k = 0,1, 2, ...
(10)
pripada oblasti G, onda iterativni proces (8) konvergira i granična vrednost x * = lim x ( k ) k →∞
je jedinstveno rešenje sistema jednačina (1), odnosno jednačine (2). Dokaz je potpuno analogan prethodnom dokazu. □ Posledica. Iterativni proces (10) konvergira ako je n
∑ i =1
∂ϕi ( x ) ≤ q j < 1 , j = 1, n , x ∈ G . ∂x j
Tako, u slučaju sistema jednačina x1 = ϕ1 ( x1 , x2 ), x2 = ϕ2 ( x1 , x2 ) dovoljan uslov konvergencije je ∂ϕ1 ∂ϕ2 + ≤ q1 < 1, ∂x1 ∂x1 ∂ϕ1 ∂ϕ2 + ≤ q2 < 1. ∂x2 ∂x2
234
y
Primer 1. Metodom iteracije izračunati jedno rešenje sistema jednačina x− y f1 ( x, y ) ≡ 2 x − sin = 0, 2 x+ y f 2 ( x, y ) ≡ 2 y − cos = 0. 2
1 f2(x, y)=0 –π
–1
0
Tačnost ε = 10−3 .
1
x
π
f1(x, y)=0
Rešenje. Grafičkim načinom nalazimo oblast koja sadrži rešenje sistema: K = {(x, y); |x| ≤ 0.5, 0 ≤ y ≤ 1}, (sl. 27).
Sl. 27
Zapišimo sistem jednačina u sledećeom obliku x− y 1 x = sin ≡ ϕ1 ( x, y ) , 2 2 x+ y 1 y = cos ≡ ϕ 2 ( x, y ) . 2 2 Kako je ∂ϕ1 1 x − y ∂ϕ1 1 x− y = cos , , = − cos ∂x 4 2 4 2 ∂y
∂ϕ2 1 x + y ∂ϕ2 1 x+ y , , = − sin = − sin ∂x 4 2 4 2 ∂y ∂ϕ1 ∂ϕ 1 x− y x− y 1 x− y 1 + 1 = cos + cos ≤ , = cos ∂x ∂y 4 2 2 2 2 2 ∂ϕ2 ∂ϕ2 1 x+ y x+ y 1 x+ y 1 + = sin + sin ≤ , = sin ∂x ∂y 4 2 2 2 2 2 dakle, 2
∂ϕ
∑ ∂x i 1≤ i ≤ 2 ( x , y )∈K
max max
k =1
k
≤
1 = q <1, 2
proces iteracije konvergira u oblasti K i važi „kriterijum poklapanja dveju uzastopnih iteracija”. Izaberimo početne približne vrednosti: x0 = −0.2500 , y0 = 0.5000 . 1 1 xn +1 = sin ( xn − yn ), 2 2 1 1 yn +1 = cos ( xn + yn ), n = 0,1, 2, ... 2 2
235
Rezultati računanja su prikazani u tabeli n 0 1 2 3 4 5
xn –0.250 –0.183 –0.167 –0.162 –0.161 –0.161
yn 0.500 0.496 0.494 0.493 0.493 0.493
Traženo rešenje je x* ≈ x5 = −0.161 , y* ≈ x5 = 0.493 . ▲
12. ZAJDELOVA METODA Zajdelova metoda je, na odreñen način, modifikacija metode iteracije. Posmatrajmo sistem nelinearnih algebarskih ili transcendentnih jednačina u sledećem obliku
(1)
x1 = ϕ1 ( x1 , x2 , ..., xn ), x2 = ϕ2 ( x1 , x2 , ..., xn ), ⋮ xn = ϕn ( x1 , x2 , ..., xn ),
gde su funkcije ϕ1 , ϕ2 , ..., ϕn realne, definisane i neprekidne u odreñenoj oblasti G n–dimenzionalnog prostora En . Pretpostavimo da sistem jednačina (1) ima izolovano rešenje ( x1* , x2* , ..., xn* )T u oblasti ω ⊂ G . Osnovna ideja ove metode sastoji se u sledećem: kod izračunavanja (k + 1)–ve iteracije nepoznate xi koriste se već izračunate (k + 1)–ve iteracije nepoznatih x1 , x2 , ..., xi −1 . Dakle, neka je na neki način odreñena iteracija ( x1( k ) , x2( k ) , ..., xn( k ) )T . Tada računamo:
(2)
x1( k +1) = ϕ1 ( x1( k ) , x2( k ) , ..., xn( k−)1 , xn( k ) ), x2( k +1) = ϕ2 ( x1( k +1) , x2( k ) , ..., xn( k−)1 , xn( k ) ), x3( k +1) = ϕ3 ( x1( k +1) , x2( k +1) , ..., xn( k−)1 , xn( k ) ), ⋮ ( k +1) xn = ϕn ( x1( k +1) , x2( k +1) , ..., xn( k−+11) , xn( k ) ),
k = 0,1, 2, ...
Pitanje konvergencije Zajdelove metode se razmatra analogno kao kod metode iteracije. Istina, nešto je složenije. Meñutim, dovoljni uslovi su isti. Oblast konvergencije metode iteracije i Zajdelove metode se ne poklapaju. Može se dogoditi da metoda iteracije konvergira a Zajdelova metoda ne konvergira, i obrnuto, da metoda iteracije ne konvergira a Zajdelova metoda 236
konvergira. Takoñe, može se dogoditi da obe metode konvergiraju i isto tako da obe metode ne konvergiraju.
Primer 1. Zajdelovom metodom s tačnošću ε = 10−3 izračunati rešenje sistema jednačina 1 cos ( x − y ) − 2 y = 0, 3 1 sin ( x + y ) − 2 x = 0, 3
koje pripada oblasti ω = {( x, y ); 0 ≤ x ≤ 0.25, 0.25 ≤ y ≤ 0.75} . Rešenje. Zapišimo sistem jednačina na sledeći način 1 1 y = cos ( x − y ) ≡ ϕ1 ( x, y ), 2 3 1 1 x = sin ( x + y ) ≡ ϕ2 ( x, y ). 2 3
Dovoljan uslov konvergencije u oblasti ω ∂ϕ1 ∂ϕ 1 1 1 1 1 + 1 = − sin ( x − y ) + sin ( x − y ) ≤ < 1 , ∂x ∂y 6 3 6 3 3 ∂ϕ2 ∂ϕ2 1 1 1 1 1 + = cos ( x + y ) + cos ( x + y ) ≤ < 1 , ∂x ∂y 6 3 6 3 3 je, očigledno, ispunjen. Važi „kriterijum poklapanja dveju uzastopnih iteracija”. Dakle, 1 1 yn +1 = cos ( xn − yn ), 2 3 1 1 xn +1 = sin ( xn + yn +1 ), n = 0,1, 2, ... 2 3
Za početnu vrednosti uzimamo: x0 = 0.125 , y0 = 0.500 . Rezultati računanja su prikazani u sledećoj tabeli n 0 1 2 3
xn 0.125 0.103 0.099 0.099
yn 0.500 0.496 0.496 0.496
Traženo rešenje je x* ≈ x3 = 0.099 , y* ≈ y3 = 0.496 . ▲
237
13. OPŠTA SVOJSTVA ALGEBARSKIH JEDNAČINA. GRANICE KORENA Algebarska jednačina n–tog stepena (n ≥ 1) (1)
Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , a0 ≠ 0 ,
s realnim koeficijentima ai , i = 0, n , kao što je poznato, ima n rešenja ili korena. (Termini rešenje ili koren su, na odreñeni način, ravnopravni. Meñutim, kada govorimo o jednačini, češće ćemo koristiti termin rešenje, a kada govorimo o polinomima češće ćemo koristiti termin koren.) Činjenica da jednačina (1) ima n rešenja formulisana je u 17. stoleću, a prvi strogi dokaz je dao K. Gaus krajem 18. stoleća. Inače, teorema se naziva osnovnom teoremom algebre. Podsetimo se nekih osnovnih ali važnih činjenica: 1) višestruka rešenja se računaju onoliko puta koliko puta se pojavljuju; 2) kompleksna rešenja se javljaju u parovima; 3) za neparno n jednačina (1) ima bar jedno realno rešenje. Jednačina (1) može se tačno rešiti za n = 1, 2, 3, 4 . Za n = 1 imamo linearnu jednačinu a0 x + a1 = 0 . U ovom slučaju a1 za a0 ≠ 0 jednačina ima jedinstveno rešenje − , a0 (2) x = za a0 = 0 i a1 ≠ 0 jednačina nema rešenja, za a = 0 i a = 0 jednačina ima beskonačno mnogo rešenja; 0 1 svako x ∈ R je rešenje jednačine Za n = 2 imamo kvadratnu jednačinu a0 x 2 + a1 x + a2 = 0 , a0 ≠ 0 , i za njeno rešavanje imamo obrazac (formulu) −a ∓ D (3) , x= 1 2a0 gde je D = a12 − 4a0 a2 diskriminanta kvadratne jednačine. Za n = 3 imamo kubnu jednačinu a0 x3 + a1 x 2 + a2 x + a3 = 0 , a0 ≠ 0 . a Ako umesto x stavimo x − 1 , onda posle sreñivanja dobijamo tzv. normalni 3a0 oblik kubne jednačine x3 + px + q + 0 . 238
Za njeno rešavanje imamo obrazac (formulu) (4)
x=3−
q −D 3 q −D + + − − , 2 108 2 108
gde je D = −4 p 3 − 27 q 2 diskriminanta kubne jednačine. Obrazac (4) zove se Kardanov obrazac. Ovaj obrazac je objavljen prvi put u delu Hieronymi Cardani artis magnae sive de regulis algebraicis, liber unicus, Norimbergae, 1545. (Knjiga o velikoj veštini ili algebarskim pravilima). Inače obrazac (4) pronašao je Scipione del Ferro 1515. godine, a ponovo Tartalja (Tartaglia) 1535. godine. Za n = 4 imamo jednačinu četvrtog stepena a0 x 4 + x1 x3 + a2 x 2 + a3 x + a4 = 0 , a0 ≠ 0 ,
ili, posle deljenja koeficijentom uz x 4 , x 4 + px3 + qx 2 + rx + s = 0 ,
što predstavlja jednačinu četvrtog stepena. Ferari (L. Ferrari, 1522–1565, italijanski matematičar) je 1540. godine rešio ovu jednačinu pomoću jednačine trećeg stepena, tzv. Ferarijeve ili kubne rezolvente. Ojler (L. Euler, 1707–1783, švajcarski matematičar) je 1738. godine dao još jednu metodu za rešavanje jednačine četvrtog stepena. (Detaljnije o Ferarijevoj i Ojlerovoj metodi, na primer, u knjizi ð. Kurepa, Viša algebra, knjiga prva, Beograd, 1969.) Obrasci ili formule za rešavanje algebarskih jednačina prvog, drugog, trećeg i četvrtog stepena imaju jednu, vrlo značajnu, zajedničku osobinu: rešenje x je funkcija koeficijenata jednačine, pri čemu su zastupljene racionalne računske operacije (sabiranje, oduzimanje, množenje i deljenje), kvadratni i kubni koreni. Vrlo dugo se tragalo i nastojalo pokazati da se, analogno, i rešenje algebarske jednačine petog stepena može dobiti u funkciji njenih koeficijenata a da pri tome koristimo sabiranje, oduzimanje, množenje, deljenje i korenovanje. Rufini (P. Ruffini, 1756–1822) 1813. godine i Abel (N. H. Abel, 1802–1829) 1826. godine su dokazali da to nije moguće. Dakle, algebarske jednačine stepena većeg od četiri u opštem slučaju ne mogu se tačno rešiti, pa ih moramo rešavati numeričkim, približnim metodama. Ako su koeficijenti jednačine (1) približni brojevi, onda govoriti o njenom tačnom rešavanju nema osnova. Tačnost rešenja je ograničena tačnošću koeficijenata! Osim metoda za rešavanje algebarskih i transcendentnih jednačina (metoda sečice, Njutnova metoda, ...) prirodno je, s obzirom na činjenicu da su algebarske jednačine jednostavnije od transcendentnih, da postoje i metode koje se primenjuju samo za rešavanje algebarskih jednačina. Te metode su, po pravilu, jednostavnije i efikasnije. Većina ovih metoda pretpostavlja prethodno poznavanje prirode rešenja, broja rešenja u odreñenoj oblasti, oblasti koje sadrže rešenja jednačina (u slučaju realnih rešenja to su intervali, a u slučaju kompleksnih rešenja to su krugovi). 239
Izvesnu ocenu modula rešenja algebarske jednačine (1) daje sledeća teorema.
Teorema 1. Neka je za jednačinu (1) A = max{| a1 |, | a2 |, ..., | an |} ,
tada je | xk | < 1 +
(5)
A , | a0 |
tj. rešenje jednačine xk = ξ k + iηk u kompleksnoj ravni Oξη su unutar kruga A poluprečnika R = 1 + . | a0 | Dokaz. Stavljajući | x | > 1 dobijamo | Pn ( x) | = | a0 x n + (a1 x n −1 + ⋯ + an ) | ≥ | a0 x n | − (| a1 x n −1 + a2 x n − 2 + ⋯ + an |) > > | a0 x n | −(| a1 x n −1 | + | a2 x n − 2 | +⋯ + | an |) ≥ | x |n −1 ≥ | a0 x n | − A(| x n −1 | + | x n − 2 | +⋯ + 1) = | a0 x n | − A ⋅ > | x | −1 A n > | a0 | − ⋅ | x | , | | 1 x − dakle, A n | Pn ( x) | > | a0 | − ⋅ | x | . | x | − 1
Ako je | a0 | −
A ≥ 0, | x | −1
tj. ako je (6)
| x | ≥1+
A , | a0 |
onda je | Pn ( x) | > 0 . Na taj način dobijamo da vrednosti x za koje je tačna nejednakost (6) ne mogu biti rešenja jednačine (1). Prema tome, sva rešenja jednačine (1) zadovoljavaju suprotnu nejednakost | xk | < 1 +
240
A =R.■ | a0 |
Posledica. Neka je an ≠ 0 i B = max{| a0 |, | a1 |, ..., | an −1 |} , tada je 1 =r, (7) | xk | > B 1+ | an | tj. sva rešenja jednačine (1) pripadaju kružnom prstenu r < | x | < R (sl. 28). Nejednakost (7) se jednostavno dokazuje. Zaista, ako uvedemo smenu 1 x= , t≠0, t dobićemo 1 1 Pn ( x) = Pn = n ⋅ Qn (t ) , t t gde je Qn (t ) = an t + an −1t n
η
x4
x3
R r 0
x2 x1
ξ
Sl. 28 n −1
+ ⋯ + a0 .
Koreni 1 , k = 1, n , xk polinoma Qn (t ) na osnovu dokazane teoreme zadovoljavaju nejednakost 1 B | tk | = <1+ , | xk | | an | a odavde je 1 | xk | > = r , k = 1, n . ■ B 1+ | an | tk =
Napomena. Brojevi R i r su, redom, gornja i donja granica pozitivnih rešenja jednačine (1). Brojevi –R i –r su, redom, donja i gornja granica negativnih rešenja jednačine (1). Primer 1. Naći ocenu modula rešenja jednačine P4 ( x) ≡ x 4 − 2 x3 − x 2 − 2 x + 1 = 0 . Rešenje. Kako je A = max{| a1 |, | a2 |, | a3 |, | a4 |} = max{| −2 |, | −1|, | −2 |, |1|} = 2 , to je | xk | < 1 +
A 2 =1+ = 3 = R . | a0 | 1
241
Na isti način nalazimo B = max{| a0 |, | a1 |, | a2 |, | a3 |} = max{|1|, | −2 |, | −1|, | −2 |} = 2 , pa imamo 1 1 1 η = = =r. | xk | > B 2 3 1+ 1+ | a4 | 1 x3 1 Dakle, < | xk | < 3 , k = 1, 4 , što znači x2 3 1 x1 3 ξ da su rešenja zadate jednačine u 0 3 1 x4 kružnom prstenu < | x | < 3 (sl. 29). 3 Inače, jednačinu možemo zapisati na sledeći način ( x 2 + x + 1)( x 2 − 3 x + 1) = 0 . Sl. 29 Njena rešenja su: x1 = 2.6180... , x2 = 0.3819... , x3,4 = −0.5 ± i ⋅ 0.8660... ▲ Od posebnog interesa je nalaženje granica realnih rešenja jednačine (1). Jedan od načina nalaženja gornje granice R pozitivnih rešenja x + jednačine (1) zasniva se na sledećoj teoremi.
Teorema 2. (Lagranževa teorema o granici realnih rešenja) Neka je a0 > 0 i ak ( k ≥ 1) prvi negativni koeficijent jednačine (8)
Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + ak −1 x n − k + + ak x n − k +1 + ak +1 x n − k −1 + ⋯ an −1 x + an = 0
onda je gornja granica njenih pozitivnih realnih rešenja jednaka Β (9) R =1+ k , a0 gde je B najveća po apsolutnoj vrednosti vrednost negativnih koeficijenata polinoma Pn ( x) . Dokaz. Posmatrajmo jednačinu (8) za x > 1. Ako koeficijente a1 , a2 , ..., ak −1 u jednačini (8) zamenimo nulom, a koeficijente ak , ak +1 , ..., an zamenimo negativnim brojem –B, onda imamo x n − k +1 − 1 . Pn ( x) ≥ a0 x n − B ( x n − k + x n − k +1 + ⋯ + x + 1) = a0 x n − B ⋅ x −1 Odavde za x > 1 dobijamo B x n − k +1 Pn ( x) > a0 x n − ⋅ x n − k +1 = [a0 k k −1 ( x − 1) − B ] > x −1 x −1 x n − k +1 x n − k +1 > [a0 ( x − 1) k −1 ( x − 1) − B ] = [a0 ( x − 1) k − B ]. x −1 x −1 242
Prema tome, za a0 ( x − 1) k − B ≥ 0 ,
odnosno x ≥1+ k
B = R+ a0
imamo da je Pn ( x) > 0 , tj. sva pozitivna rešenja x + jednačine (8) zadovoljavaju nejednakost x + < R + . ■
Napomena 1. Ako jednačina (8), odnosno polinom Pn ( x) , nema negativnih koeficijenata, onda je Pn ( x) > 0 za sve vrednosti argumenta x, tj. jednačina nema nema pozitivnih rešenja. Napomena 2. Ako odredimo gornje granice pozitivnih rešenja sledećih jednačina R1+ , R2+ , R3+ 1 P1 ( x) ≡ x n Pn = 0, x P2 ( x) ≡ Pn (− x) = 0, 1 P3 ( x) ≡ x n Pn − = 0, x onda za pozitivna x + , odnosno negativna x − , rešenja jednačine (8) imamo 1 < x+ < R+ , R1+ 1 − R2+ < x − < − + . R3
Primer 2. Naći gornje i donje granice rešenja jednačine P6 ( x) ≡ x 6 − 14 x 4 + 6 x 2 − 20 x + 5 = 0 .
Rešenje. Kako je a0 = 1 > 0 , B = max{| −14 |, | −20 |} = 20
i ak = a2 = −14 , tj. k = 2, to je gornja granica pozitivnih rešenja R+ = 1 +
20 = 5.4721... < 5.5 . 1
Da bismo našli donju granicu pozitivnih rešenja, zadatu jednačinu ćemo 1 transformisati smenom x = : t
243
6
4
2
1 1 1 1 − 14 + 6 − 20 + 5 = 0, t t t t 5t 6 − 20t 5 + 6t 4 − 14t 2 + 1 = 0.
Sada imamo: a0 = 5 > 0 , B = max{| −20 |, | −14 |} = 20 i ak = a1 = −20 , tj. k = 1, pa je R1+ = 1 + 1
20 =1+ 4 = 5 . 5
Dakle, 1 < x + < 5.5 . 5 Posmatrajmo sada jednačinu P6 (− x) ≡ x 6 − 14 x 4 + 6 x 2 + 20 x + 5 = 0 .
U ovom slučaju je a0 = 1 > 0 , B = max{| −14 |} = 14 i ak = a2 = −14 , tj. k = 2, pa je R2+ = 1 +
Stavimo li x =
14 = 4.7416... 1
1 u zadatu jednačinu, dobićemo: t 6
4
2
1 1 1 1 t − 14 t + 6 t + 20 t + 5 = 0, 5t 6 + 20t 5 + 6t 4 − 14t 2 + 1 = 0, a0 = 5 > 0 , B = max{| −14 |} = 14 , ak = a3 = −14 , k = 3, R3+ = 1 + 3
pa je −4.7416... < x − < −
14 = 2.4095... , 5
1 , odnosno −4.75 < x − < −0.41 . 2.4095...
Inače, jednačinu možemo zapisati na sledeći način ( x 2 − 4 x + 1)( x 2 + 5 x + 5)( x 2 − x + 1) = 0 .
Njena rešenja su: x1 = −3.6180... , x4 = 3.7320... ,
244
x2 = −1.3819... ,
x3 = 0.2679... ,
x5,6 = 0.5 ± i ⋅ 0.8660... ▲
14. BROJ REALNIH REŠENJA ALGEBARSKE JEDNAČINE Posle nalaženja granice pozitivnih, odnosno negativnih rešenja jednačine Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0, a0 ≠ 0 prirodno se postavljaju sledeći zadaci: Koliko jednačina ima pozitivnih rešenja? Koliko negativnih? Koliko jednačina ima rešenja u zadatom intervalu ( a, b) ? I tako dalje. Opšta predstava o broju realnih rešenja jednačine Pn ( x) = 0 može se stvoriti na osnovu grafika funkcije y = Pn ( x) . Meñutim, konstruisanje grafika svake funkcije, kao što je poznato, je u tesnoj vezi s nalaženjem rešenja odgovarajuće jednačine Pn ( x) = 0 . Radi rešavanja postavljenih zadataka podsetićemo se sledećih činjenica: 1) Ako je Pn (a ) ⋅ Pn (b) < 0 , onda u intervalu ( a, b) jednačina Pn ( x) = 0 ima neparan broj rešenja uzimajući u obzir i njihovu višestrukost. 2) Ako je Pn (a ) ⋅ Pn (b) > 0 , onda u intervalu ( a, b) jednačina Pn ( x) = 0 ili nema rešenja ili ih ima paran broj. Jedan jednostavan način rešavanja zadatka o broju realnih rešenja jednačine Pn ( x) = 0 u intervalu ( a, b) je Šturmova metoda. Uvedimo pojam o broju promene znakova u sistemu realnih brojeva.
Definicija. Neka je zadat ureñen konačan sistem realnih brojeva različitih od nule (1) C1 , C2 , ..., Cn , ( n ≥ 2) . Za par elemenata Ck , Ck +1 sistema (1) kažemo da menjaju znak ako je Ck ⋅ Ck +1 < 0 , a ne menjaju znak ako je Ck ⋅ Ck +1 > 0 . Ukupan broj promena znakova svih susednih elemenata Ck , Ck +1 (k = 1, 2, ..., n − 1) sistema (1) naziva se brojem promena znakova sistema (1). Za zadati polinom P ( x) s realnim koeficijentima formirajmo sledeći, Šturmov sistem polinoma P ( x), P1 ( x), P2 ( x), ..., Pn ( x) , gde je P1 ( x) = P '( x) , P2 ( x) ostatak deljenja polinoma P ( x) polinomom P1 ( x) uzet sa suprotnim znakom, P3 ( x) je ostatak deljanja polinoma P1 ( x) polinomom P2 ( x) uzet sa suprotnim znakom, i tako dalje.
Primer 3. Naći Šturmov sistem polinoma za polinom P( x) = x5 + 5 x 4 + 5 x + 1 .
Rešenje. Redom nalazimo: P '( x) = 5 x 4 + 20 x3 + 5 = 5( x 4 + 4 x3 + 1) , pa se
245
može uzeti da je P1 = x 4 + 4 x3 + 1 . Dalje imamo x5 + 5 x 4 + 5 x + 1 = ( x 4 + 4 x3 + 1)( x + 1) + 4(− x3 + x) ,
pa uzimamo da je P2 ( x) = x3 − x . Postupak nastavljamo: x 4 + 4 x3 + 1 = ( x3 − x)( x + 4) + ( x 2 + 4 x + 1) , P3 ( x) = − x 2 − 4 x − 1 ; x3 − x = (− x 2 − 4 x − 1)( − x + 4) + (14 x + 4) , P4 ( x) = −7 x − 2 ; 26 3 1 ( − x 2 − 4 x − 1) = x + (−7 x − 2) + , 49 49 7 P5 ( x) = −1 . Dakle, Šturmov sistem polinoma je: P ( x) = x5 + 5 x 4 + 5 x + 1 , P1 = x 4 + 4 x3 + 1 , P2 ( x) = x3 − x , P3 ( x) = − x 2 − 4 x − 1 , P4 ( x) = −7 x − 2 , P5 ( x) = −1 . ▲ Označimo sa N (c) broj promena znakova u Šturmovom sistemu polinoma za x = c pri čemu se ne uzimaju oni članovi sistema brojeva P (c) , P1 (c) , P2 (c) , ..., Pn (c) koji su jednaki nuli.
Šturmova teorema. Ako polinom P ( x) nema višestrukih korena, P ( a ) ≠ 0 i P (b) ≠ 0 , onda je broj realnih korena N (a, b) u intervalu ( a, b) jednak (2) N (a, b) = N (a ) − N (b) . Dokaz videti, na primer, u knjizi: А. Г. Курош – Курс высшей алгебры, Москва, 1965., str. 248.
Primer 4. Naći broj realnih rešenja jednačine P5 ( x) ≡ x5 + 5 x 4 + 5 x + 1 = 0 u intervalima: ( −∞, ∞) , ( −2, 0) . Rešenje. Iskoristićemo dobijeni Šturmov sistem polinoma: P ( x) = x5 + 5 x 4 + 5 x + 1 , P1 = x 4 + 4 x3 + 1 , P2 ( x) = x3 − x , P3 ( x) = − x 2 − 4 x − 1 , P4 ( x) = −7 x − 2 , P5 ( x) = −1 . Šturmov sistem Granice intervala
−∞ +∞ –2 0
246
Broj
P ( x) P1 ( x) P2 ( x) P3 ( x) P4 ( x) P5 ( x) promena znakova
– + + +
+ + – +
– + – 0
– – + –
+ – + –
– – – –
4 1 3 1
Koristeći formulu (2) nalazimo da je broj realnih rešenja zadate jednačine na pomenutim intervalima: N (−∞, ∞) = N (−∞) − N (+∞) = 4 − 1 = 3 , N (−2, 0) = = N (−2) − N (0) = 3 − 1 = 2 . ▲ Navedimo još jednu, jednostavnu a praktičnu, teoremu.
Dekartova teorema. Broj pozitivnih rešenja jednačine Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , a0 ≠ 0 , uzimajući u obzir i višestrukost rešenja jednak je broju promena znakova u sistemu koeficijenata a0 , a1 , a2 , ..., an ,
(gde se koeficijenti koji si jednaki nuli ne uzimaju u obzir) ili je za paran broj manji. Dokaz videti, na primer, u knjizi Б. П. Демидович, И. А. Марон – Основы bычислительной математики, „Наука”, Москва, 1970. str. 174.
Napomena 3. Broj pozitivnih rešenja jednačine Pn (− x) = 0 jednak je broju negativnih rešenja jednačine Pn ( x) = 0 . Primer 5. Ispitati koliko pozitivnih, a koliko negativih rešenja ima jednačina P4 ( x) ≡ x 4 + 2 x3 − 52 x 2 − 61x + 10 = 0 .
Rešenje. Kako je broj promena znakova u sistemu koeficijenata zadate jednačine 1 2 –52 –61 10
jednak dva, to jednačina ima dva ili nema pozitivnih rešenja. Posmatrajmo jednačinu P4 (− x) = 0 , tj. jednačinu x 4 − 2 x3 − 52 x 2 + 61x + 10 = 0 .
Broj promena znakova u sistemu koeficijenata ove jednačine 1 –2 –52 61 10 je takoñe dva, što znači da jednačina ima dva ili nema pozitivnih rešenja. Dakle, zadata jednačina ili ima dva pozitivna rešenja ili nema pozitivnih rešenja. Isto tako, jednačina ili ima dva negativna rešenja ili nema negativnih rešenja. Inače, jednačinu možemo zapisati na sledeći način ( x 2 − 7 x + 1)( x 2 + 9 x + 10) = 0 .
Njena rešenja su: x1 = −7.7015... , x2 = −1.2984... , x3 = 0.1458... , x4 = 6.8541... ▲
247
Sledeća teorema je vrlo zanimljiva.
Teoreme 5. Ako jednačina Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , a0 ≠ 0 ,
ima realne koeficijente i sva rešenja realna, onda za njene koeficijente važi relacija ak2 > ak −1 ⋅ ak +1 , k = 1, n − 1 .
Dokaz teoreme izostavljamo. Posledica. Ako je za neko k tačna nejednakost ak2 ≤ ak −1 ⋅ ak +1 ,
onda jednačina Pn ( x) = 0 ima bar jedan par kompleksnih rešenja.
Primer 6. Ispitati prirodu rešenja jednačine P4 ( x) ≡ 4 x 4 + 16 x3 − 12 x 2 + 52 x − 5 = 0 .
Rešenje. Kako je ( −12) 2 < 16 ⋅ 51 , tj. 144 < 832 ,
jednačina ima bar jedan par kompleksnih rešenja, a to znači da je broj realnih rešenja najviše jednak dva. Radi toga, ispitajmo koliko jednačina ima realnih rešenja. Broj promena znakova u sistemu koeficijenata jednačine 4 16 –12 52 –5 je tri, dakle jednačina, na osnovu Dekartove teoreme, ima ili tri ili jedno pozitivno rešenje. Posmatrajmo jednačinu P4 (− x) = 0 , tj. jednačinu 4 x 4 − 16 x3 − 12 x 2 − 52 x − 5 = 0 .
Broj promena znakova u sistemu koeficijenata ove jednačine 4 –16 –12 –52 –5 jednak je jedan, što znači da zadata jednačina ima jedno negativno rešenje. Na taj način zaključujemo da zadata jednačina ima jedno pozitivno, jedno negativno i jedan par konjugovano–kompleksnih rešenja. ▲
15. METODA LOBAČEVSKI–GREFEA ZA SLUČAJ REALNIH RAZLIČITIH REŠENJA Neka su rešenja x1 , x2 , ..., xn algebarske jednačine (1) 248
Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , a0 ≠ 0 ,
realna i takva da je | x1 | ≫ | x2 | ≫ ... ≫ | xn | ,
(2)
gde ≫ znači da je svako rešenje xk , k = 1, n − 1 , po apsolutnoj vrednosti znatno veće od sledećeg rešenja xk +1 . Drugim rečima, x xn x2 = ε n −1 ≪ 1 . = ε1 ≪ 1 , 3 = ε 2 ≪ 1 , ..., x2 xn −1 x1
(3)
Iskoristimo Vietove formule za jednačinu (1): x1 + x2 + x3 + ⋯ + xn −1 + xn = −
a1 , a0
x1 x2 + x1 x3 + ⋯ + x1 xn + x2 x3 + ⋯ + xn −1 xn =
(4)
a2 , a0
x1 x2 x3 + x1 x2 x4 + ⋯ + x1 x2 xn + x1 x3 x4 + ⋯ + xn − 2 xn −1 xn = −
a3 , x0
⋮ x1 x2 … xn − 2 xn −1 + x1 x2 … xn − 2 xn −1 + ⋯ + x2 x3 … xn −1 xn = (−1) n −1 x1 x2 … xn −1 xn = (−1) n
an −1 , a0
an , a0
imaćemo x x x x a x1 1 + 2 + 3 + ⋯ + n −1 + n = − 1 , x1 x1 a0 x1 x1 xx xx x x x x a x1 x2 1 + 1 3 + ⋯ + 1 n + 2 3 + ⋯ + n −1 n = 2 , x1 x2 x1 x2 x1 x2 a0 x1 x2
(5)
xx x xx x xxx x x x a x1 x2 x3 1 + 1 2 4 + ⋯ + 1 2 n + 1 3 4 + ⋯ + n − 2 n −1 n = − 3 , x1 x2 x3 x1 x2 x3 x1 x2 x3 a0 x1 x2 x3 ⋮ x x … xn − 2 xn x x … xn −1 xn n −1 an −1 x1 x2 … xn − 2 xn −1 1 + 1 2 +⋯ + 2 3 , = ( −1) x1 x2 … xn − 2 xn −1 a0 x1 x2 … xn − 2 xn −1 a x1 x2 … xn −1 xn [1 + 0] = (−1) n n . a0
249
S obzirom na (2), odnosno (3), iz prethodnih jednakosti dobijamo: x1 ≈ −
a1 , a0
x1 x2 ≈
a2 , a0
x1 x2 x3 ≈ −
a3 , a0
⋮ x1 x2 … xn − 2 xn −1 ≈ (−1) n −1 x1 x2 … xn −1 xn ≈ (−1) n
an −1 , a0
an , a0
a odavde nalazimo: x1 ≈ −
a1 , a0
a x2 ≈ 2 a0
a2 a1 a2 : x1 = : − = − , a0 a0 a1
a a a a x3 ≈ − 3 : x1 x2 = − 3 : 2 = − 3 , a0 a0 a0 a0 ⋮ a a a a xn ≈ ( −1) n n : ( x1 x2 … xn − 2 xn −1 ) = ( −1) n n : (−1) n −1 n −1 = − n . a0 a0 a0 an −1
Drugim rečima, ako su rešenja jednačine dovoljno razmaknuta, tj. ako važi (2), onda približne vrednosti rešenja jednačine dobijamo iz sledećeg sistema linearnih jednačina a0 x1 + a1 = 0, a1 x2 + a2 = 0, a2 x3 + a3 = 0, ⋮ an −1 xn + an = 0.
Tačnost približnih vrednosti rešenja zavisi, nestrogo govoreći, od toga koliko su veličine ε k , k = 1, n − 1 , u (3), malene. Dakle, prirodno se postavlja pitanje kako transformisati zadatu jednačinu u novu jednačinu koja ima dovoljno razmaknuta rešenja. 250
Neka su rešenja x1 , x2 , ..., xn algebarske jednačine (6) Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , a0 ≠ 0 , realna i takva da je | x1 | > | x2 | > ... > | xn | Polazeći od ove jednačine odgovarajućim transformacijama treba formirati jednačinu oblika Pn ( y ) ≡ a0( k ) y n + a1( k ) y n −1 + ⋯ + an( k ) = 0 , a0( k ) ≠ 0 , koja ima rešenja y1 , y2 , ..., yn takva da je y1 = x1k , y2 = x2k , ..., yn = xnk .
Najčešće se uzima da je eksponent k jednak stepenu broja 2, tj. k = 2 p , p ∈ N . Na taj način, dovoljno je pokazati kako se jednačina čija su rešenja x1 , x2 , ..., xn transformiše u novu jednačinu čija su rešenja jednaka kvadratima rešenja prethodne jednačine. Odgovarajući postupak nazvaćemo proces kvadriranja rešenja jednačine, odnosno proces kvadriranja korena polinoma. Zapišimo polinom Pn ( x) na sledeći način Pn ( x) = a0 ( x − x1 )( x − x2 )⋯ ( x − xn ) ; tada je Pn (− x) = (−1) n a0 ( x + x1 )( x + x2 )⋯ ( x + xn ) i Pn ( x) ⋅ Pn (− x) = (−1) n a02 ( x 2 − x12 )( x 2 − x22 )⋯ ( x 2 − xn2 ) . Ako stavimo y = − x 2 , dobićemo polinom Qn ( y ) = Pn ( x) ⋅ Pn ( − x) = a02 ( y + x12 )( y + x22 )⋯ ( y + xn2 ) ,
koji, očigledno, ima korene yk = − xk2 , k = 1, n .
Kako je Pn ( x) = a0 x n + a1 x n −1 + a2 x n − 2 + ⋯ + an −1 x + an
i Pn ( − x) = (−1) n [a0 x n − a1 x n −1 + a2 x n − 2 − ⋯ + ( −1) n −1 an −1 x + ( −1) n an ] ,
množenjem Pn ( x) ⋅ Pn ( − x) dobijamo Pn ( x) ⋅ Pn (− x) = (−1) n [a02 ( x 2 ) n − (a12 − 2a0 a2 )( x 2 ) n −1 + + (a22 − 2a1a3 + 2a0 a4 )( x 2 ) n − 2 − ⋯ + (−1) n −1 (an2−1 − 2an − 2 an ) x 2 + (−1) n an2 ] = = (−1) n [a02 (− y ) n − (a12 − 2a0 a2 )(− y ) n −1 + (a22 − 2a1a3 + 2a0 a4 )(− y ) n − 2 − − ⋯ (−1) n −1 (an2−1 − 2an − 2 an )(− y ) + (−1) n an2 ] = = a02 y n + (a12 − 2a0 a2 ) y n −1 + (a22 − 2a1a2 + 2a0 a4 ) y n − 2 + ⋯ + (an2−1 − 2an − 2 an ) y + an2 ,
gde smo umesto x 2 stavili − y .
251
Na taj način dobijamo jednačinu Qn ( y ) ≡ A0 y n + A1 y n −1 + A2 y n − 2 + ⋯ + An −1 y + An = 0 , gde je A0 = a02 , A1 = a12 − 2a0 a2 , A2 = a22 − 2a1a3 + 2a0 a4 , ⋮ An −1 = an2−1 − 2an − 2 an , An = an2 , koja ima rešenje jednaka kvadratima rešenja polazne jednačine. Prethodne formule kratko možemo zapisati na sledeći način k
Ak = ak2 + 2∑ ( −1) s ak − s ⋅ ak + s , s =1
k = 0,1, 2, ..., n ; as = 0 za s < 0 i s > n .
Važi pravilo: Kod kvadriranja rešenja, odnosno korena, svaki koeficijent transformisane jednačine jednak je kvadratu odgovarajućeg koeficijenta prethodne jednačine umanjenom za dvostruki proizvod prvih susednih koeficijenata, pa uvećan za dvostruki proizvod sledećih susednih koeficijenata i tako dalje. Ako se proces kvadriranja ponovi dovoljan broj puta, dobiće se jednačina koja ima rešenja y1 = − x1k , y2 = − x2k , y3 = − x3k , ..., yn = − xnk za koja važi | y1 | ≫ | y2 | ≫ | y3 | ≫ ... ≫ | yn | . Neka je to jednačina b0 y n + b1 y n −1 + b2 y n − 2 + ⋯ + bn −1 y + bn = 0 ; njena rešenja su p ym = − xmk = − xm2 , m = 1, n . Ako je p dovoljno veliko, rešenja yk su razmaknuta i mogu se izračunati iz sledećeg sistema linearnih jednačina b0 y1 + b1 = 0, b1 y2 + b2 = 0, b2 y3 + b3 = 0, ⋮ bn −1 yn + bn = 0.
Dakle, rešenja jednačine Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , a0 ≠ 0 , 252
do na znak jednaka su | xm | = k − ym = k
bm b = 2 p m , m = 1, n . bm −1 bm −1
Znaci rešenja xm se odreñuju ili direktnom zamenom u jednačinu ili na osnovu veze izmeñu rešenja i koeficijenata jednačine ili primenom Dekartove teoreme ili na neki drugi načina. Pravilo prekidanja procesa kvadriranja rešenja glasi: Proces kvadriranja rešenja treba prekinuti ako su koeficijenti neke transformisane jednačine u granicama računanja jednaki kvadratima koeficijenata prethodne transformisane jednačine, odnosno ako su dvostruki proizvodi „iščezli”, jednaki nuli u granicama računanja. Primena metode Lobačevski–Grafea je preglednija ako se računanja zapisuju u tabelu sledećeg oblika. p
1
a0
a1
a2
...
ak
...
an −1
an
a02
a12 −2a0 a2
a22 −2a1a3 2a0 a2
...
...
an2−1 −2an − 2 an
an2
A0
A1
A2
... ... ... ...
ak2 −2ak −1ak +1 +2ak − 2 ak + 2 ⋮
An −1
An
b0
b1
b2
...
bn −1
bn
... ... ... ...
⋮ bk
...
Primer 1. Metodom Lobačevski–Grafea rešiti jednačinu P4 ≡ x 4 + 6 x3 − 36 x − 20 = 0 . Rešenje. Računanje je dato u sledećoj tabeli. a0 1 1
a1 6 36 –0
1 1 1
36 3.6000·101 12.9600·102 7.8400·102
2
1 1
5.1200·102 2.6214·105 –1.2230·105
3
1
1.3984·105
p 0
1
a2 0 0 +432 –40 392 3.9200·102 15.3664·104 –9.3312·104 0.0800·104 6. 1152·104 3.7396·109 –1.3988·109 0.0003·109 2.3411·109
a3 –36 1296 –0
a4 –20 400
1296 1.2960·103 1.6796·106 –0.3136·106
400 4.0000·104 1.6000·105
1.3660·106 1.8660·1012 –0.0196·1012
1.6000·105 2.5600·1010
1.8464·1012
2.5600·1010 253
1
1.9555·1010 –0.4682·1010
4
1 1
1.4873·1010 2.2121·1020 –0.0993·1020
5
1 1
2.1128·1020 4.4639·1040 –0.0049·1040
6
1 1
4.4590·1040 1.9883·1081 –0.0000·1081
7
1 b0
1.9883·1081 b1
5.4807·1018 3.4092·1024 18 –0.5164·10 –0.0001·1024 18 0.0000·10 4.9643·1018 3.4091·1024 2.4644·1037 1.1622·1049 37 –0.0101·10 –0.0000·1049 37 0.0000·10 2.4543·1037 1.1622·1049 6.0236·1074 1.3507·1098 74 –0.0000·10 –0.0000·1098 74 0.0000·10 6.0236·1074 1.3512·1098 3.6284·10149 1.8244·10196 –0.0000·10149 –0.0000·10196 0.0000·10149 3.6284·10149 1.8244·10196 b2 b3
6.5536·1020 6.5536·1020 4.2950·1041 4.2950·1041 1.8447·1083 1.8447·1083 3.4029·10166 3.4029·10166 b4
Izračunajmo rešenja jednačine: | x1 | = 128
1.9883 ⋅ 1081 1 , log | x1 | = (log1.9883 + 81) = 0.63514 , 1 128
| x1 | = 4.3166 ;
3.5284 ⋅ 10149 , 1.9883 ⋅ 1081 1 log | x2 | = (log 3.6284 + 149 − log1.9883 − 81) = 0.53329 , | x2 | = 3.4142 ; 128
| x2 | = 128
1.8244 ⋅ 10196 , 3.6284 ⋅ 10149 1 log | x3 | = (1.8244 + 196 − log 3.6284 − 149) = 0.36485 , | x3 | = 2.3166 ; 128
| x3 | = 128
3.4029 ⋅ 10166 , 1.8244 ⋅ 10196 1 log | x4 | = (3.4029 + 166 − log1.8244 − 196) = −0.23226 , | x4 | = 0.58579 . 128
| x4 | = 128
Direktnom zamenom nalazimo da su rešenja jednačine: x1 = −4.3166 , x2 = −3.4142 , x3 = 2.3166 i x4 = −0.58579 . ▲
254
16. METODA LOBAČEVSKI–GREFEA ZA SLUČAJ PARA KONJUGOVANO–KOMPLEKSNIH REŠENJA Neka su rešenja x1 , x2 , … , xm , xm +1 , ..., xn algebarske jednačine (1) Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , a0 ≠ 0 , takva da je (2) | x1 | > | x2 | > ⋯ > | xm | = | xm =1 | > ... > | xn | i pri tome su x1 , x2 , … , xm −1 , xm + 2 , ..., xn realna rešenja, a xm i xm +1 su jedan par konjugovano–kompleksnih rešenja, dakle, xm = u + iv , xm +1 = u − iv , u ∈ R, v ∈ R \ {0} . Primenom procesa kvadriranja rešenja, odnosno korena, dobija se jednačina b0 y n + b1 y n −1 + ⋯ + bm −1 y n − m +1 + bm y n − m + bm +1 y n − m −1 + ⋯ + bn = 0 koja ima rešenja p ys = − xsk = − xs2 , s = 1, n . Za dovoljno veliko p realna rešenja se dobijaju iz sistema linearnih jednačina b0 y1 + b1 = 0, b1 y2 + b2 = 0, ⋮ bm − 2 ym −1 + bm −1 = 0, bm +1 ym + 2 + bm + 2 = 0, ⋮ bn −1 yn + bn = 0;
dakle, | xs | = k − ys = k
bs b = 2 p s , s ≠ m, s ≠ m + 1 . bs −1 bs −1
Znaci rešenja xs , s ≠ m i s ≠ m + 1 se odreñuju ili direktnom zamenom u jednačini ili primenom Dekartove teoreme ili na neki drugi način.
Pravilo prekidanja procesa kvadriranja rešenja glasi: Proces kvadriranja rešenja treba prekinuti ako su koeficijenti b0 , b1 , … , bm −1 , bm +1 , … , bn neke transformisane jednačine jednaki kvadratima odgovarajućih koeficijenata prethodne jednačine, u granicama računanja, odnosno ako su dvostruki proizvodi „iščezli”, jednaki nuli u granicama računanja. Kod izračunavanja koeficijenata bm dvostruki proizvodi, uopšte govoreći, ne isčezavaju nego za dovoljno veliko p postaju dominantni, tj. po apsolutnoj vrednosti su veći od kvadrata odgovarajućeg koeficijenta. Može se desiti da pri tom menjaju znak. Ovakvo ponašanje ukazuje da jednačina ima par konjugovano–kompleksnih rešenja ili par realnih rešenja koja su jednaka po apsolutnoj vrednosti. 255
Rešenja ym i ym +1 koja odgovaraju kompleksnim rešenjima xm = u + iv i xm +1 = u − iv približno zadovoljavaju kvadratnu jednačinu bm −1 y 2 + bm y + bm +1 = 0 .
Kako je xm ⋅ xm +1 = u 2 + v 2 = r 2 , r = | xm | = | xm +1 | ,
to imamo p
p
ym ⋅ ym +1 = ( xm ⋅ xm +1 ) 2 = (r 2 ) 2 ,
odnosno p
(r 2 )2 =
b bm +1 , tj. r 2 = 2 p m +1 . bm −1 bm −1
Realni deo u nalazimo iz sledeće relacije a1 , a0 a x1 + x2 + ⋯ + xm −1 + 2u + xm + 2 + ⋯ + xn = − 1 , a0
x1 + x2 + ⋯ + xm −1 + ( xm + xm +1 ) + xm + 2 + ⋯ + xn = −
dakle, a1 1 − ( x1 + x2 + ⋯ + xm −1 + xm + 2 + ⋯ xn ) . 2a0 2 Sad jednostavno nalazimo imaginarni deo u=−
v = r2 − u2 .
Napomena. Može se primetiti da za primenu metode Lobačevski–Grefea nije neophodno prethodno utvrditi prirodu rešenja jednačine. U procesu kvadriranja rešenja priroda rešenja se na odreñeni način ispoljava. Primer 1. Metodom Lobačevski–Grefea rešiti jednačinu P4 ( x) ≡ x 4 − 3 x3 + 8 x 2 − 5 = 0 . Rešenje. Računanje je dato u sledećoj tabeli. p 0
1
2
256
a0 1 1
a1 –3 9 –16
1 1 1
–7 –7.00000·100 4.90000·101 –10.80000·101
1 1
–5.90000·101 3.48100·103 –8.17200·103
a2 8 64 –0 –10 54 5.40000·101 2.91600·103 1.12000·103 0.05000·103 4.08600·103 1.66954·107 0.04366·107
a3 0 0 80
a4 –5 25
80 8.00000·101 6.40000·103 –2.70000·103
25 2.50000·101 6.250000·102
3.70000·103 13.69000·106 –5.10750·106
6.250000·102 3.90625·105
3
3
1 1
–4.69100·10 2.20055·107 –3.42664·107
4
1 1
–1.22609·107 1.50330·1014 –5.87256·1014
5
1 1
–4.36926·1014 19.09043·1028 –17.24348·1028
6
1 1
1.84695·1028 0.03411·1058 –1.48669·1058
7
1 b0
–1.45258·1058 b1
0.00012·107 1.71332·107 2.93547·1014 0.00081·1014 0.00000·1014 2.936528·1014 8.62174·1028 0.00000·1028 0.00000·1028 8.62174·1028 7.43344·1057 0.00000·1057 0.00000·1057 7.43344·1057 5.52560·10115 –0.00000·10115 0.00000·10115 5.52560·10115 b2
8.58250·106 7.36593·1013 –1.33853·1013
3.90625·105 1.52588·1011
6.02740·1013 3.63296·1027 –0.08961·1027
1.52588·1011 2.32831·1022
3.54335·1027 1.25553·1055 –0.00040·1055
2.32831·1022 5.42103·1044
1.25513·1055 1.57535·10110 –0.00000·10110
5.42103·1044 2.93876·1089
1.57535·10110 b3
2.93876·1089 b4
Jednačina ima jedan par konjugovano–kompleksnih rešenja i dva realna rešenja. Prvo računamo realna rešenja. | x3 | = 128
b3 128 1.57535 ⋅ 10110 , = b2 5.52560 ⋅ 10115
log | x3 | =
1 (log1.57535 + 110 − log 5.52560 − 115) = 0.95668 − 1 , 128
| x3 | = 0.90506 ; | x4 | = 128
b4 128 2.93876 ⋅ 1089 , = b3 1.57535 ⋅ 10110
log | x4 | =
1 (log 2.93876 + 89 − log1.57535 − 110) = 0.83805 − 1 , 128
| x4 | = 0.68874 .
Neposrednom proverom zaključujemo da je x3 = 0.90506 i x4 = −0.68874 . Izračunajmo kompleksna rešenja x1,2 = u ± iv . r 2 = u 2 + v 2 = 128
b2 128 5.52560 ⋅ 10115 , = b0 1
257
log r 2 =
1 (log 5.52560 + 115 − 0) = 0.90424 , r 2 = 8.02116 ; 128
1 1 a u = − 1 − x3 − x4 = (3 − 0.90506 + 0.68874) = 1.39184 ; 2 a0 2
v = r 2 − u 2 = 6.08394 = 2.46656 , x1,2 = 1.39184 ± i ⋅ 2.46656 . ▲
17. BERNULIJEVA METODA Neka algebarska jadnčina (1)
Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , a0 ≠ 0 ,
ima realna rešenja x1 , x2 , ..., xn takva da je | x1 | > | x2 | > | x3 | > ⋯ > | xn | .
(2)
Posmatrajmo sledeću diferencnu jednačinu (3) a0 yn + i + a1 yn + i −1 + ⋯ + an yi = 0 , i = 0,1, 2, ... , koja, ustvari, predstavlja rekurentnu relaciju za izračunavanje članova niza y0 , y1 , y2 , ..., yi , ... ako je poznato prvih n članova niza: y0 , y1 , y2 , ..., yn −1 , (4)
yn + i = −
1 ( a1 yn +i −1 + a2 yn + i − 2 + ⋯ + an yi ) , i = 0,1, 2, ... , a0
Niz yi = f (i ) , i = 0,1, 2, ... , čiji članovi zadovoljavaju diferencnu jednačinu (3) je njeno rešenje. Iz teorije konačnih razlika poznato je da je opšte rešenje diferencne jednačine (3) sledećeg oblika (5)
yi = C1 x1i + C2 x2i + ⋯ + Cn xni , i = 0,1, 2, ... ,
gde su C1 , C2 , ..., Cn proizvoljne konstante a x1 , x2 , ..., xn rešenja algebarske jednačine (1). Dakle, jednačina (1) je karakteristična jednačina diferencne jednačine (3). Ako izaberemo početne vrednosti y0 , y1 , y2 , ..., yn niza yi = f (i ) , onda konkretne vrednosti proizvoljnih konstanata možemo odrediti iz sledećeg sistema nehomogenih linearnih algebarskih jednačina
(6)
258
C1 x10 + C2 x20 + ⋯ + Cn xn0 = y0 , C1 x11 + C2 x12 + ⋯ + Cn x1n = y1 , ⋮ C1 x1n −1 + C2 x2n −1 + ⋯ + Cn xnn −1 = yn −1.
Determinanta ovog sistema je Vandermondova determinanta 1 x1 D= ⋮
1 x2
⋯ ⋯
1 xn
=
∏
1≤i < j ≤ n
x1n −1
( xi − x j ) ≠ 0 .
x2n −1 ⋯ xnn −1
Dakle, sistem (6) ima jedinstveno rešenje C1 , C2 , ..., Cn , pa je posebno, partikularno rešenje diferencne jednačine, dobijeno iz opšteg rešenja (5), jednako ( yi ) p = C1 x1i + C2 x2i + ⋯ + Cn xni , i = 0,1, 2, ... , Važi sledeća teorema.
Teorema. Neka algebarska jednačina (1) ima jedinstveno, po apsolutnoj vrednosti najveće rešenje x1 . Ako je ispunjen uslov (2), onda je y x1 = lim i +1 . i →∞ y i Dokaz. Kako je yi =
C1 x1i
+ C2 x2i
+ ⋯ + Cn xni
=
x1i
i i x x C1 + C1 2 + ⋯ + Cn n x1 x1
i i +1 i +1 x x yi +1 = C1 x1i +1 + C2 x2i +1 + ⋯ + Cn xni +1 = x1i +1 C1 + C1 2 + ⋯ + Cn n , x1 x1 to je i +1
(7)
x x C1 + C2 2 + ⋯ + Cn n yi +1 x1 x1 = x1 ⋅ i yi x x C1 + C2 2 + ⋯ + Cn n x1 x1
i +1
i
.
Ako pretpostavimo da je C1 ≠ 0 , tada prelaskom na limes u prethodnoj jednakosti kada i → ∞ y x1 = lim i +1 . ■ i →∞ y i
Napomena 1. Pretpostavka da je C1 ≠ 0 nije praktično nikakvo ograničenje. Naime, pogodnim izborom početnih vrednosti y0 , y1 , ..., yn −1 uvek se može postići da bude C1 ≠ 0 . Na primer, ako uzmemo da je y0 = y1 = ... = = yn − 2 = 0 i yn −1 = 1 , biće C1 ≠ 0 . 259
Napomena 2. Ako bi, zbog slučajnog izbora početnih vrednosti y0 , y1 , ..., yn −1 , bilo C1 = 0 , onda bismo koristeći relaciju analognu relaciji (7) teorijski dobili x2 . Meñutim, to se neće dogoditi. Zbog grešaka zaokrugljivanja na nekoj etapi računanja pojaviće se C1 koje je različito od nule, pa će u daljem procesu računanja prvi sabirak C1 x1i postati dominantan u odnosu na ostale sabirke.
Napomena 3. Ako primenimo Bernulijevu metodu na jednačinu 1 Pn = 0 , onda ćemo dobiti najmanje rešenje jednačine Pn ( x) = 0 . x Napomena 4. Ako je najveće rešenje, po apsolutnoj vrednosti, približno jednako α, onda je praktično uzeti za početne vrednosti: y1 = 1 , y2 = α , ..., yn −1 = α n −1 .
Primer 1. Bernulijevom metodom izračunati približnu vrednost rešenja x1 jednačine P4 ( x) ≡ x 4 − 3 x3 − 6 x 2 + 9 x + 7 = 0 . Rešenje. Odgovarajuća diferencna jednačina je yi + 4 = 3 yi +3 + 6 yi + 2 − 9 yi +1 − 7 yi , i = 0,1, 2, ... Za početne vrednosti uzimamo: y0 = y1 = y2 = 0 , y3 = 1 . Izračunajmo sledeće vrednosti yi ≥ 4 , koristeći prethodnu diferencnu jednačinu. Rezultati računanja su dati u sledećoj tabeli. i
yi
3 4 5 6 7 8 9 10 11
1 3 15 54 218 822 3183 12141 46597
Dakle,
260
yi yi −1
3.0000 5.0000 3.6000 4.0370 3.7706 3.8723 3.8143 3.8380
i
yi
12 13 14 15 16 17 18 19
178236 682740 2613276 10005965 383052·102 146653·103 561444·103 214946·104
x1 = 3.828 .
yi yi −1 3.8251 3.8305 3.8276 3.8289 3.8282 3.8285 3.8284 3.8284
▲
V NUMERIČKE METODE REŠAVANJA SISTEMA LINEARNIH ALGEBARSKIH JEDNAČINA
0.
UVODNE NAPOMENE
Neka je dat sistem linearnih algebarskih jednačina a11 x1 + a12 x2 + ⋯ + a1n xn = b1 , a21 x1 + a22 x2 + ⋯ + a2 n xn = b2 , (1) ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ an1 x1 + an 2 x2 + ⋯ + ann xn = bn , gde su koeficijenti aij , i, j = 1, n , i slobodni članovi bi , i = 1, n , ili tačni ili približni brojevi a xi , i = 1, n , nepoznate veličine. Uvedimo sledeće oznake: matricu sistema (1) označimo sa A, kolonu slobodnih članova sa b i sa x kolonu nepoznatih, tj. a11 a A = 21 ⋯ an1
… a1n b1 x1 x … a2 n b , b = 2 , x = 2. ⋮ ⋮ ⋯ ⋯ ⋯ ann bn nn Sistem (1) možemo zapisati u matričnom obliku (1') Ax = b, ili u vektorskom obliku Ax = b , (1'') gde kolonu slobodnih članova i kolonu nepoznatih treba shvatiti kao vektor–kolone. Rešenje sistema od n jednačina (atribute „algebarske“ i „linearne“ najčešće ćemo izostavljati) sa n nepoznatih je ureñena n–torka brojeva, ako takva postoji (odnosno, vektor) koja uvršćena umesto nepoznatih, redom prva komponenta umesto prve, druga umesto druge, ..., n–ta umesto n–te nepoznate, pretvara taj sistem u tačne numeričke jednakosti. Rešiti dati sistem jednačina znači naći sva njegova rešenja, ako sistem ima rešenja ili utvrditi da sistem jednačina nema rešenja ako ih, zaista, nema. Ako je b = 0 , sistem (1) je homogen i ima netrivijalno rešenje tada i samo tada kada je det A = 0. Ako je bar jedna komponenta bi različita od nule, tj. bar jedan slobodni član različit od nule, sistem je nehomogen i ima jedinstveno rešenje tada i samo tada kada je det A ≠ 0. Mi ćemo posmatrati nehomogene sisteme kod kojih je ispunjen uslov det A ≠ 0. a12 a22 ⋯ an 2
261
Rešenje sistema (1) može se dobiti primenom Kramerovog pravila D xi = i , i = 1, n , D gde je D = det A determinanta sistem a Di , i = 1, n , su determinante nepoznatih xi , i = 1, n . Nepraktičnost primene Kramerovog pravila dolazi do potpunog izražaja već kod sistema jednačina za relativno malo n. (Npr. za n = 8 broj množenja i deljenja je reda 105 ). Rešenje sistema (1) se može dobiti i u matričnom obliku x = A−1b ,
gde je nalaženje inverzne matrice A−1 matrice A povezano s dobro poznatim teškoćama – broj računskih operacija je takoñe velik. Numeričke metode rešavanja sistema (1) se dele u dve osnovne grupe: tačne i iterativne. Pod tačnom metodom podrazumeva se metoda koja daje rešenje pomoću konačnog broja elementarnih aritmetičkih operacija. Broj tih operacija zavisi samo od oblika sheme računanja i reda sistema. Iterativna metoda daje rešenje kao graničnu vrednost niza uzastopnih aproksimacija, izračunatih nekim jednakoobraznim procesom računanja. Kod primene iterativnih metoda suštinska je, ne samo konstrukcija iterativnog procesa i konvergencija, nego i brzina konvergencije. Ako su svi koeficijenti aij , i, j = 1, n , i slobodni članovi bi , i = 1, n , tačni brojevi, rešenje sistema se može dobiti sa proizvoljnim, unapred zadatim brojem m tačnih decimala. Računanje treba izvesti s m + 1 (a za velik broj nepoznatih sa m + 2 ili m + 3) decimalom. Izračunate nepoznate veličine treba zaokrugliti na m decimala. Ako su koeficijenti aij , i, j = 1, n , ili slobodni članovi bi , i = 1, n , približni brojevi s najmanje p tačnih decimala, treba postupiti kao u prethodnom slučaju, gde je m = p.
1.
GAUSOVA METODA – SHEMA JEDINSTVENOG DELJENJA
Istorijski je prva metoda; vrlo je jednostavna i prirodna. Sastoji se u uzastopnom eliminisanju nepoznatih (i zato se zove metoda eliminacije), odnosno transformisanju datog sistema u njemu ekvivalentan sistem, koji ima trougaonu matricu sistema – što predstavlja direktan hod. Obrnut hod je izračunavanje samih vrednosti nepoznatih xi , i = 1, n . Ne smanjujući opštost pokažimo to na primeru sistema od četiri jednačine s četiri nepoznate, tj. za n = 4. Dakle, 262
(1)
a11 x1 + a12 x2 + a13 x3 + a14 x4 a21 x1 + a22 x2 + a23 x3 + a24 x4 a31 x1 + a32 x2 + a33 x3 + a34 x4 a41 x1 + a42 x2 + a43 x3 + a44 x4
= a15 , = a25 , = a35 , = a45 ,
gde je ai 5 = bi , i = 1, 4 . Neka je a11 ≠ 0 (prvi vodeći element). Podelimo li prvu jednačinu sistema (1) vodećim elementom a11, dobićemo x1 + b12.0 x2 + b13.0 x3 + b14.0 x4 = b15.0 , (2) gde su koeficijenti b1 j .0 =
a1 j
, j > 1. a11 Pomnožimo li ovu jednačinu redom s a21 , a31 , a41 i oduzmemo redom od druge, treće, četvrte jednačine sistema (1), dobićemo a22.1 x2 + a23.1 x3 + a24.1 x4 = a25.1 , (1') a32.1 x2 + a33.1 x3 + a34.1 x4 = a35.1 , a42.1 x2 + a43.1 x3 + a44.1 x4 = a45.1. gde su koeficijenti aij .1 = aij − ai1bij .0 , i, j ≥ 2. Neka je a22.1 ≠ 0 (drugi vodeći element). Podelimo li prvu jednačinu sistema (1') vodećim elementom a22.1 , dobićemo (2')
x2 + b23.1 x3 + b24.1 x4 = b25.1 ,
gde su koeficijenti b2 j .1 =
a2 j .1
, j > 2. a22.1 Pomnožimo li ovu jednačinu redom s a32.1 , a42.1 i oduzmemo redom od druge, treće jednačine sistema (1′), dobićemo a33.2 x3 + a34.2 x4 = a35.2 , (1'') a43.2 x3 + a44.2 x4 = a45.2 , gde su koeficijenti aij .2 = aij .1 − ai 2.1b2 j .1 , i, j ≥ 3. Neka je a33.2 ≠ 0 (treći vodeći element). Podelimo li prvu jednačinu sistema (1'') vodećim elementom a33.2 , dobićemo (2'') x3 + b34.2 x4 = b35.3 , gde su koeficijenti a3 j .2 , j > 3. b3 j .2 = a33.2 263
Pomnožimo li ovu jednačinu sa a43.2 i oduzmemo od druge jednačine sistema (1''), dobićemo (1''') a44.3 x4 = a45.3 , gde su koeficijenti aij .3 = aij .2 − ai 3.2b3 j .2 , i, j ≥ 4.
Neka je a44.3 ≠ 0 (četvrti vodeći element). Podelimo li prvu (i jedinu) jednačinu sistema (1''') vodećim elementom a44.3 , dobićemo x4 = b45.3 ,
(2''') gde je koeficijent
b45.3 =
a45.3 . a44.3
Odgovarajući ekvivalentni sistem sa trougaonom matricom je x1 + b12.0 x2 + b13.0 x3 + b14.0 x4 = b15.0 , x2 + b23.1 x3 + b24.1 x4 = b25.1 , x3 + b34.2 x4 = b35.2 , x4 = b45.3 .
Nepoznate veličine se izračunavaju na sledeći način: iz poslednje jednačine je
x4 = b45.3 ; zamenimo li izračunatu vrednost x4 u pretposlednju jednačinu, imaćemo x3 = b35.2 − b34.2b45.3 ;
i tako redom izračunavamo x2 i x1 . Računski proces je pregledniji ako se koristi tzv. shema jedinstvenog deljenja. Za kontrolu računanja koristi se tzv. kontrolna kolona (kolona Σaij ): 1) zbir elemenata u svakoj vrsti (bez elemenata u kontrolnoj koloni) jednak je elementu u kontrolnoj koloni, koji se dobija primenom istih računskih operacija na element kontrolne kolone, 2) ako u datom sistemu izvršimo smenu xi′ = xi + 1 , onda za odreñivanje veličina xi′ dobijamo sistem s istim koeficijentima i slobodnim članovima, koji su jednaki elementima u kontrolnoj koloni. Za direktan hod potreban broj množenja i deljenja (bez kontrolne kolone) je 1 n(n + 1) + (n − 1)n + ⋯ + 1 ⋅ 2 = (12 + 22 + ⋯ + n 2 ) + (1 + 2 + ⋯ + n) = ⋅ n(n + 1)(n + 2) 3
n( n − 1) množenja i deljenja 2 i isto toliko oduzimanja. Ukupan broj aritmetičkih operacija je
i isto toliko oduzimanja. Za obrnut hod potrebno je
264
2 ⋅ n(n + 1)(n + 2) + n( n − 1) , 3 dakle broj računskih operacija je reda n3 . N=
i
ai1
ai 2
ai 3
ai 4
ai 5
Σ aij
1
a11
a12
a13
a14
a15
Σ a1 j
j
j
2
a21
a22
a23
a24
a25
Σ a2 j
3
a31
a32
a33
a34
a35
Σ a3 j
j
j
4
a41
a42
a43
a44
a45
Σ a4 j
1
1
b12.0
b13.0
b14.0
b15.0
Σ b1 j .0
2
a22.1
a23.1
a24.1
a25.1
Σ a2 j .1
3
a32.1
a33.1
a34.1
a35.1
Σ a3 j .1
4
a42.1
a43.1
a44.1
a45.1
Σ a4 j .1
2
1
b23.1
b24.1
b25.1
Σ b2 j .1
a33.2
a34.2
a35.2
Σ a3 j .2
3
j
j
j
j j j
j
4
a43.2
a44.2
a45.2
Σ a4 j .2
3
1
b34.2
b35.2
Σ b3 j .2
4
a44.3
a45.3
Σ a4 j .3
4
1
b45.3
Σ b4 j .3
4 3 2 1
1
x4 x3 x2 x1
x4′ x3′ x2′ x1′
1 1 1
j
j
j
j
U slučaju simetrične matrice sistema u shemi se mogu izostaviti elementi ispod glavne dijagonale. Veoma je jednostavna i može se primeniti za istovremeno rešavanje više sistema jednačina koji imaju istu matricu sistema. Ova činjenica može biti iskorišćena i za izračunavanje inverzne matrice. Metoda se veoma jednostavno može primeniti i za izračunavanje vrednosti determinanata. Ako je neki od vodećih elemenata aii = 0 , onda treba permutovati vrste ili kolone tako da element u gornjem levom uglu na toj etapi računanja bude različit od nule. Dakle, celishodno je ovu metodu modifikovati ne odreñujući a priori redosled eliminacije nepoznatih. 265
Ako je neki od vodećih elemenata aii blizak nuli, onda dolazi do velikog gubljenja tačnosti, pa je i u tom slučaju celishodno metodu modifikovati u ranije navedenom smislu.
Primer 1. Gausovom metodom, koristeći shemu jedinstvenog deljenja, rešiti sistem linearnih algebarskih jednačina 3.67 x1 + 0.78 x2 + 0.89 x3 + 0.90 x4 = 2.90, 0.78 x1 + 3.56 x2 + 0.67 x3 + 0.78 x4 = 3.82, 0.89 x1 + 0.67 x2 + 3.45 x3 + 0.56 x4 = 2.24, 0.90 x1 + 0.78 x2 + 0.56 x3 + 3.34 x4 = 3.96. Rešenje. Rešenje je dato sledećom tabelom i
ai1
ai 2
ai 3
ai 4
ai 5
Σaij
1 2 3 4 1 2
3.67 0.78 0.89 0.90 1
0.78 3.56 0.67 0.78 0.21253 3.39423
0.89 0.67 3.45 0.56 0.24251 0.48084
0.90 0.78 0.56 3.34 0.24523 0.58872
2.90 3.82 2.24 3.96 0.79019 3.20365
9.14000 9.61000 7.81000 9.54000 2.490460000 7.667440000
3
0.48085
3.23417
0.34175
1.53673
5.59350 (49)
4
0.58872
0.34174
3.11929
3.24883
7.29858 (9) 0
2
1
0.14166
0.17345
0.94385
2.25896
3
3.16605
0.25835
1.08288
4.50728
4
0.25834
3.01718
2.69317
5.96869
3
1
0.081600
0.34203
1.42363
4
2.99610
2.60481
5.60091
4
1
0.86940
1.86940
4
1
0.86940
1.86940
0.27109
1.27109
0.75465
1.75465
0.35086
1.35086
3
1
2 1
1 1
Rešenje sistema je x = (0.3509, 0.7546, 0.2711, 0.8694). ▲
Napomena. Razlika izmeñu sume elemenata jedne vrste i broja dobijenog primenom istog skupa operacija u istom poretku na odgovarajuću sumu u prethodnoj etapi računanja je posledica grešaka zaokrugljivanja. Ako ta razlika premašuje maksimalno moguću akumuliranu grešku zaokrugljivanja, ona nije posledica samo grešaka zaokrugljivanja i proces računanja treba proveriti. 266
Primer 2. Gausovom metodom, koristeći shemu jedinstvenog deljenja, rešiti sledeći sistem jednačina 0.000100 x1 + 1.00 x2 = 1.00, 1.00 x1 + 1.00 x2 = 2.00. Rešenje. Rešenje je dato sledećom tabelom i 1 2 1 2 2 2 1
ai1
ai 2
ai 3
Σaij
0.000100 1.00 1
1.00 1.00 10000 –9999 1 1
1.00 2.00 10000 –9998 1.000 1.000 0.000
2.000100 4.00 20001 –19997 2.000 2.000 1.000
1
Rešenje sistema je x = (0.00,1.00) . Meñutim, tačno rešenje zaokrugljeno na odreñen broj decimala je x1 =
10000 9998 = 1.00010 , x2 = = 0.99990 . 9999 9999
Velika razlika izmeñu dobijenog i tačnog rešenja je posledica činjenice što je vodeći element a11 = 0.000100 vrlo malen. Gubljenje tačnosti se može izbeći permutovanjem prve i druge jednačine. Ako se postupi na taj način i primeni ova metoda, dobiće se rešenje: x1 = 1.00 i x2 = 1.00 . ▲
2.
GAUSOVA METODA – SHEMA S IZBOROM GLAVNOG ELEMENTA
Izaberimo najveći po modulu element, kojeg ćemo zvati glavni element, matrice A sistema jednačina Ax = b . Neka je to element a pq . p–tu vrstu, vrstu koja sadrži glavni element a pq , nazovimo glavnom vrstom, a q–tu kolonu glavnom kolonom. Izračunajmo množitelje mi = −
aiq a pq
, i≠ p.
Izvedimo sada sledeće operacije s elementima proširene matrice sistema: svakoj vrsti, koja nije glavna, dodajmo glavnu vrstu pomnoženu odgovarajućim množiteljem mi za tu vrstu. U rezultatu dobićemo novu matricu kod koje su u q–toj koloni nule iznad i ispod glavnog elementa. Odbacivši tu kolonu i glavnu vrstu dobićemo matricu A(1) koja ima jednu vrstu manje i jednu kolonu manje. Ponovimo li ovaj postupak ukupno n – 1 put, dobićemo niz matrica 267
A, A(1) , A(2) , ..., A( n −1) , od kojih je poslednja dvočlana matrica–vrsta, koju uzimamo za glavnu. Glavne vrste, posle izvršene prenumeracije, predstavljaju sistem jednačina s trougaonom matricom ekvivalentan polaznom sistemu. Obrnut hod je potpuno sličan obrnutom hodu kod sheme jedinstvenog deljenja.
Broj množenja i deljenja kod ove metode je takoñe reda n3.
Primer 1. Gausovom metodom, koristeći shemu s izborom glavnog elementa, rešiti sledeći sistem linearnih algebarskih jednačina 0.36 x1 − 2.17 x2 + 1.32 x3 + 0.92 x4 = 2.93, 0.45 x1 + 0.29 x2 + 1.43 x3 + 0.24 x4 = 1.35, 1.41x1 + 0.77 x2 + 0.49 x3 + 0.37 x4 = 0.76, 0.92 x1 + 0.54 x2 + 2.23 x3 + 0.97 x4 = 1.64.
Rešenje. Rešenje je dato sledećom tabelom i
mi
1 2 3 4 1 2 3 2 3 2 2 3 1 4
–0.59193 –0.64126 –0.21973
ai1
ai 2
0.36 –2.17 0.45 –0.29 1.41 –0.77 0.92 –0.54 –0.18458 –2.48964 –0.02261 –0.13996 –0.05628 –0.26162 –1.20785 –0.65135 –0.11710 –0.13579 –1.15956
ai 3
ai 4
ai 5
Σ aij
1.32 1.43 0.49 2.23
0.92 0.24 0.37 0.97 –0.34583 –0.38202 –0.15686 –0.38984 –0.24734 –0.36088 1
2.93 1.35 0.76 1.64 –1.95923 –0.29833 –0.39964 –0.25403 –0.91221 –0.36085 –0.99992 –0.99997 –0.99999 –0.99998
3.36000 3.76000 3.80000 6.30000 –0.369160000 –0.279930 (4) –2.415700000 –0.27160 (58) 2.31911 (2) –0.00003 –0.00008 –1.99997 –0.00000 –1.99998
1 1 1
j
Rešenje sistema je x = (1.0000, − 1.0000,1.0000, − 0.9999) . ▲
3.
ŽORDANOVA SHEMA
Za razliku od Gausove metode – sheme s izborom glavnog elementa, gde smo u svakoj sledećoj etapi računanja imali jednu jednačinu manje, ovde ćemo zadržati uvek isti broj jednačina, ali kod izbora glavnog elementa neće učestvovati one vrste koje su već bile glavne. Broj množenja i deljenja kod ove metode je isto reda n3. 268
Primer 1. Koristeći Žordanovu shemu rešiti sledeći sistem linearnih algebarskih jednačina 1.48 x1 + 1.23 x2 + 1.34 x3 + 1.45 x4 = 2.67 1.04 x1 + 1.52 x2 + 1.16 x3 + 1.28 x4 = 2.44 1.13 x1 + 1.25 x2 + 1.58 x3 + 1.32 x4 = 2.61 1.26 x1 + 1.08 x2 + 1.14 x3 + 1.36 x4 = 2.37 Rešenje. Rešenje je dato sledećom tabelom mi
i
ai1
ai 2
ai 3
ai 4
ai 5
1 –0.84810 1.48 1.23 1.34 1.45 2.67 2 –0.73418 1.04 1.52 1.16 1.28 2.44 3 1.13 1.25 1.58 1.32 2.61 4 –0.72152 1.26 1.08 1.14 1.36 2.37 1 –0.28206 0.52165 0.16988 0.33051 0.45646 2 0.21038 0.60228 0.31088 0.52379 3 –2.07545 1.13000 1.25000 1.58000 1.32000 2.61000 4 –0.29571 0.44468 0.17810 0.40759 0.48683 1 0.46231 0.24282 0.30872 2 –0.45506 0.21038 0.60228 0.31088 0.52379 3 –1.49979 0.69337 1.58000 0.67478 1.52290 4 –0.82730 0.38247 0.31566 0.33194 1 –2.11553 0.46231 0.24282 0.30872 2 –1.74577 0.60228 0.20038 0.38330 3 –2.70605 1.58000 0.31060 1.05988 4 0.11478 0.076536 1 0.46231 0.14681 2 0.60228 0.24969 3 1.58000 0.85277 4 0.11478 0.076536 1 1 0.31756 2 1 0.41457 3 1 0.53973 4 1 0.66681 Rešenje sistema je x = (0.3176, 0.4146, 0.5397, 0.6668) . ▲
4.
Σ aij j
8.17000 7.44000 7.89000 7.21000 1.47850 (49) 1.64733 (2) 7.89000000 1.51720 (1) 1.01385 1.64733 4.47105 1.03007 1.01385000 1.18596 (7) 2.95048 (9) 0.19132 (1) 0.60912 (1) 0.85197 (6) 2.43277 (6) 0.19132000 1.31756000 1.41457000 1.53973000 1.66681 (4)
GAUSOVA METODA – KOMPAKTNA SHEMA*
Ova metoda se zasniva na činjenici da je matricu A sistema jednačina Ax = b moguće predstaviti u obliku proizvoda dveju trougaonih matrica B i C istih dimenzija koje ima matrica A, tj. *
U literaturi se naziva i shemom Haleckog.
269
A = B · C, pri čemu jedna od njih, npr. matrica C, ima na glavnoj dijagonali fiksirane elemente, na primer jedinice (tada je to razlaganje jedinstveno). Formule za izračunavanje elemenata matrica B i C su j −1
bij(2 j −1) = aij(0) − Σbik(2 k −1) ckj(2 k ) , i ≥ j, k =1
j −1
j) c (2 jm =
(2 k −1) (2 k ) a (0) ckm jm − Σb jk k =1 j −1) b(2 jj
, m > j;
ove formule se primenjuju i za izračunavanje slobodnih članova i kontrolnih zbirova. Shema za računanje ima sledeći oblik, npr. u slučaju sistema od četiri jednačine s četiri nepoznate. i
ai1
ai 2
ai 3
ai 4
ai 5
1
a11
a12
a13
a14
a15
∑ Σa1 j
2
a21
a22
a23
a24
a25
Σa2 j
3
a31
a32
a33
a34
a35
Σa3 j
4
a41
a42
a43
a44
a45
Σa4 j
1
b11(1) 1
(2) c12
(2) c13
(2) c14
(2) c15
Σc1(2) j
2
(1) b21
(3) 1 b22
(4) c23
(4) c24
(4) c25
Σc2(4)j
3
(1) b31
(3) b32
(5) 1 b33
(6) c34
(6) c35
Σc3(6)j
4
(1) b41
(3) b42
(5) b43
(7) 1 b44
(8) c45
Σc4(8)j
x4 x3 x2 x1
x4′ x3′ x2′ x1′
4 3 2 1
100 100 100 100
Formule za izračunavanje elemenata matrica B i C primenjuju se naizmenično; redosled primene je naznačen gornjim indeksom, pri čemu je 0–ti indeks u shemi ispušten. Nepoznate veličine se dobijaju iz sistema jednačina xi +
270
n
Σ cik k =i +1
(2 i )
xk = ci(2, ni+) 1 , i = n, n – 1, ..., 1.
Primer 1. Gausovom metodom, koristeći kompaktnu shemu, rešiti sledeći sistem linearnih algebarskih jednačina 3.00 x1 + 0.19 x2 + 0.78 x3 + 0.89 x4 0.27 x1 + 3.28 x2 + 0.42 x3 + 0.49 x4 0.75 x1 + 0.76 x2 + 3.36 x3 + 0.74 x4 0.12 x1 + 0.34 x2 + 0.45 x3 + 3.44 x4
= 1.77, = 1.65, = 2.39, = 3.40.
Rešenje. Rešenje je dato sledećom tabelom i 1 2 3 3 1 2 3 4 4 3 2 1
ai1
ai 2
ai 3
ai 4
ai 5
3.00 0.19 0.78 0.89 1.77 0.27 3.28 0.42 0.49 1.65 0.75 0.76 3.36 0.74 2.39 0.12 0.34 0.45 3.44 3.40 3.00000 1 0.063333 0.26000 0.29667 0.59000 0.27000 3.262900 1 0.10721 0.12562 0.45686 0.75000 0.712500 3.08861 1 0.13857 0.52515 0.12000 0.332400 0.38316 3.30955 1 0.89925 1 0.89925 1 0.40054 1 0.30095 1 0.20002
Σ aij j
6.63000 6.11000 8.00000 7.75000 2.21000 1.68969 1.66372 1.89925 1.89925 1.40054 1.30095 1.20002
Rešenje sistema je x = (0.2000, 0.3010, 0.4005, 0.8993) . ▲
5.
IZRAČUNAVANJE DETERMINANATA
Gausova metoda za rešavanje sistema linearnih algebarskih jednačina može biti primenjena za izračunavanje determinanata. Ovde ćemo opisati računsku shemu zasnovanu na shemi jedinstvenog deljenja. Neka treba izračunati determinantu a11 a D = 21 ⋯ an1
a12 a22 ⋯ an 2
… a1n … a2 n ⋯ ⋯ … ann
i neka je a11 ≠ 0 . Izvučemo li element a11 iz prve vrste, dobićemo
D = a11
1 a21 ⋯ an1
b12 a22 ⋯ an 2
… b1n … a2 n ⋯ ⋯ … ann
gde je 271
b1 j =
a1 j
, j ≥ 2. a11 Ako sada oduzmemo od druge, treće, ..., n–te vrste prvu vrstu pomnoženu redom elementima a21 , a31 , ..., an1 , dobićemo 1 b12 0 a22.1 D = a11 ⋯ ⋯ 0 an 2.1
… b1n a22.1 … a2 n.1 … a2 n.1 = a11 ⋯ ⋯ ⋯ ⋯ ⋯ an 2.1 … ann.1 … ann.1
Dakle, dobili smo determinantu (n – 1)–vog reda. Ako postupak produžimo, dobićemo da je D = a11 ⋅ a22.1 ⋯ ann. n −1 , tj. vrednost determinante je jednaka proizvodu vodećih elemenata, gde je bitna pretpostavka da su svi vodeći elementi različiti od nule. Ako je na bilo kojem koraku vodeći element bio jednak nuli, onda treba permutovati vrste i kolone tako da bi element u gornjem levom uglu bio različit od nule. Permutovanje treba izvršiti i kad je vodeći element blizak nuli radi čuvanja tačnosti računanja. Primer 1. Izračunati vrednost determinante 1.46 1.21 D= 0.29 1.19
1.41 2.40 1.19 1.61
1.29 2.18 2.14 1.70
1.43 2.48 . 2.33 5.46
Rešenje. Rešenje je dato sledećom tabelom; korišćena je shema jedinstvenog deljenja. i
ai1
ai 2
ai 3
1 2 3 4 1 2 3 4 2 3 4 3 4
1.46 1.21 0.29 1.19 1
1.41 2.40 1.19 1.61 0.96575 1.23144 0.90993 0.46076 1
1.29 2.18 2.14 2.70 0.88356 1.11089 1.88377 1.64856 0.90211 1.06291 1.23290 1
ai 4
Σ aij j
1.43 5.59000 2.48 8.27000 2.33 5.95000 5.46 10.96000 0.97945 3.82876 (7) 1.29487 3.63720 (7) 2.04596 4.83966 (7) 4.29445 6.40377 (8) 1.05151 2.95362 1.08916 2.15207 3.80996 5.04286 1.02470 2.02470 2.54661 2.54661 D = 1.46 · 1.23144 · 1.06291 · 2.54661 = 4.86659. Dakle, vrednost determinante je 4.8666. ▲ 272
Umesto eliminacije po vrstama moguća je eliminacija po kolonama. n −1 2 Broj množenja i deljenja je (n + n + 3) . 3 Na potpuno analogan način se može uzeti za osnovu i neka druga računska shema, npr. shema s izborom glavnog elementa – vrednost determinante je jednaka do na znak proizvodu glavnih elemenata. Znak se odreñuje u zavisnosti od broja permutacija vrsta i kolona koje je potrebno izvršiti da bi glavni elementi bili na glavnoj dijagonali vodeći računa da determinanta menja znak ako dve vrste, ili kolone, zamene mesta.
6.
ISTOVREMENO REŠAVANJE VIŠE SISTEMA LINEARNIH ALGEBARSKIH JEDNAČINA. IZRAČUNAVANJE INVERZNIH MATRICA
Direktne metode za rešavanje sistema linearnih algebarskih jednačina mogu se primeniti za istovremeno rešavanje više sistema linearnih algebarskih jednačina koji imaju istu matricu sistema. Dakle, neka treba rešiti sledeće sisteme linearnih algebarskih jednačina. (1)
Ax (1) = b (1) , Ax (2) = b (2) , … , Ax ( k ) = b ( k ) , k > 1,
gde je matrica ovih sistema jednačina a11 a A = 21 ⋮ an1
a12 … a1n a22 … a2 n ⋮ ⋮ ⋮ an 2 … ann
i pri tome je det A ≠ 0, desne strane su vektori
b (1)
b1(1) b1(2) b1( k ) (1) (2) (k ) b2 b2 b (2) (k ) = , b = , ..., b = 2 ⋮ ⋮ ⋮ (1) (2) ( bn bn bnk )
a nepoznati vektori su
x (1)
x1(1) x1(2) x1( k ) (1) (2) (k ) x2 x2 x (2) (k ) = , x = , ..., x = 2 . ⋮ ⋮ ⋮ xn(1) xn(2) xn( k )
273
Sisteme jednačina (1) s kvadratnom matricom sistema A A
x
(1)
x
(2)
...
x
(k)
=
b
(1)
b
(2)
...
b
(k)
treba transformisati u ekvivalentne sisteme jednačina s trougaonom matricom ...
...
=
što predstavlja direktan hod ili korak. Obrnutim hodom (korakom) nalazimo rešenja sistema jednačina. Ilustrujmo postupak sledećim primerom.
Primer 1. Rešiti siteme linearnih algebarskih jednačina 1.48x1 + 3.24x2 + 1.27x3 = 1.51, 1.48x1 + 3.24x2 + 1.27x3 = 4.74, 3.45x1 + 1.25x2 + 1.38x3 = 1.47, 3.45x1 + 1.25x2 + 1.38x3 = 4.81, 1.34x1 + 1.42x2 + 3.20x3 = 1.41, 1.34x1 + 1.42x2 + 3.20x3 = 5.03. Primeniti Gausovu metodu eliminacije, shemu s izborom glavnog elementa. Računati sa četiri decimale. Rešenje. Preglednosti radi računanje je dato u sledećoj tabeli. i
mi
ai1
ai 2
ai 3
ai 4
ai 5
Σ aij
1 2 3 1 3 3 3 1 2
–0.4290
1.48 3.45 1.34
3.24 1.25 1.42 2.7038 0.9345
1.27 1.38 3.20 0.6780 2.6640 2.4297 1
1.51 1.47 1.41 0.8794 0.8391 0.5352 0.2203 0.2699 0.2402
4.74 4.81 5.03 2.6765 3.1618 2.2368 0.9206 07591 0.7509
12.2400 12.3600 12.4000 6.9377 (6) 7.5994 (6) 5.2017 (6) 2.1409 (6) 2.0290 (1) 1.9911 (6)
–0.3884 –0.3456
1 1
j
Rešenje prvog sistema je (0.240, 0.270, 0.220)T, a drugog (0.751, 0.759, 0,921)T. ▲ Ovaj postupak se može primeniti za nalaženje inverznih matrica. Zaista, polazeći od jednakosti A ⋅ A−1 = E , gde je E jedinična matrica, imaćemo n sistema jednačina i n 2 nepoznatih bij, tj. n
Σ aik bkj = δij , i, j = 1, n , k =1 274
gde je δij Kronekerov simbol, tj: 1, i = j , . δij = 0, i ≠ j.
Primer 2. Izračunati inverznu matricu A−1 matrice 1.58 0.46 0.64 A = 0.44 1.66 0.58 . 0.82 0.42 1.82 Rešenje. Koristićemo Gausovu metodu eliminacije, shemu jedinstvenog deljenja. Računaćemo sa četiri decimale. Računanje je dato u sledećoj tabeli. i 1 2 3 1 2 3 2 3 3 3 2 1
ai1 1.58 0.44 0.82 1
ai 2 0.46 1.66 0.42 0.2911 1.5319 0.1813 1
1
ai 3 0.64 0.58 1.82 0.4051 0.4018 1.4878 0.2623 1.4402 1 1
δi1 1 0 0 –0.63290 –0.27850 –0.51900 –0.18180 –0.48600 –0.33750 –0.33750 –0.09327 –0.79680
δi 2 0 1 0 0 1 0 0.6528 –0.11840 –0.08221 –0.08221 0.6744 –0.16300
δi 3 0 0 1 0 0 1 0 1 0.6943 0.6943 –0.1821 –0.2283
1 Tražena inverzna matrica je 0.7968 −0.1630 −0.2283 −1 A = −0.09327 0.6744 −0.1821 . −0.3375 −0.08221 0.6943
Σ 3.6800 3.6800 4.0600 2.3291 2.6552 2.1501 1.7333 (6) 1.8358 (9) 1.2746 (7) 1.2746 (6) 1.3990 (6) 1.4055 (6)
Pomnožimo li matricu A i A−1 , dobićemo 1.0000 0.0001 −0.0001 −1 A ⋅ A = 0.0000 1.0001 0.0000 = E . ▲ 0.0000 0.0000 0.9999 Dakle, A ⋅ A−1 je jednako jediničnoj matrici E u granicama računanja, računanja na četiri decimale. Ponekad, poslednje decimale u rezultatu A−1 odbacujemo po pravilima zaokrugljivanja brojeva. Ako se A ⋅ A−1 bitnije razlikuje od jedinične matrice E, što je posedica akumuliranja grešaka zaokrugljivanja u računskom procesu, onda treba primeniti iterativni proces Ak−+11 = Ak−1 (2 E − A ⋅ Ak−1 ) , k = 0, 1, ..., 275
gde za početnu iteraciju A0−1 treba uzeti dobijenu vrednost A−1 . Proces treba produžiti sve dok se ne postigne jednakost Ak−1 = Ak−+11 i tada se uzima da je A−1 = Ak−+11 . Inverzna matrica se može dobiti tzv. metodom razbijanja na blokove. Suština metode se sastoji u sledećem: nalaženje inverzne matrice se svodi na nalaženje inverznih matrica nižeg reda.
Neka je data matrica a12 … a11 a a22 … 21 ⋯ ⋯ ⋯ ai 2 … A = ai1 ai +1,1 ai +1,2 … ⋯ ⋯ ⋯ a an 2 ⋯ n1
a1k a2 k ⋯ aik ai +1,k ⋯ ank
a1,k +1 a2,k +1 ⋯ ai ,k +1 ai +1,k +1 ⋯ an ,k +1
… … ⋯ … … ⋯ …
a1n a2 n ⋯ (i ,k ) A ain = 11 A( n −i ,k ) ai +1,n 21 ⋯ ann
A12(i ,n − k ) . ( n −i , n − k ) A22
Inverznu matricu tražimo u obliku (i = k)
D11(i ,i ) D = ( n − i ,i ) D21
D12(i ,n −i ) . ( n −i , n −i ) D22
Iz uslova A·D=E dobijamo sledeće obrasce: −1
−1 ( n −i , n −i ) ( n −i , n −i ) ( n − i ,i ) D22 = A22 − A21 ( A11(i,i ) ) A12(i,n−i ) , ( n −i , n −i ) D12(i ,n −i ) = − ( A11(i ,i ) ) A12(i ,n −i ) D22 , −1
( n − i ,i ) ( n − i , n − i ) ( n − i ,i ) D21 = − D22 A21 ( A11(i ,i ) ) , −1
D11(i ,i ) = ( A11(i ,i ) )
−1
( E11(i,i ) − A12(i,n−i ) D21( n−i,i ) ) .
Najčešće uzimamo da je i = n – 1; tada treba izračunati inverznu matricu reda n – 1. Dalje, da bismo izračunali inverznu matricu reda n – 1, razbijanjem na blokove svodimo na izračunavanje inverzne matrice reda n – 2. Proces se produžava sve dok ne dobijemo kvadratnu matricu reda jedan.
Primer 3. Metodom razbijanja na blokove izračunati inverznu matricu A−1 matrice 2 2 3 A = 1 −1 0 . −1 2 1 276
Rešenje. Podelimo datu matricu na blokove na sledeći način 2 2 3 A11(2,2) A = 1 −1 0 = (1,2) A −1 2 1 21
A12(2,1) . (1,1) A22
Izračunajmo inverznu matricu matrice A11(2,2) podelom na blokove. 2 2 A11(1,1) A11(2,2) = = (1,1) 1 −1 A21
A12(1,1) ; (1,1) A22
inverznu matricu tražimo u obliku D11(1,1) D = (1,1) D21
D12(1,1) . (1,1) D22
Primenom datih formula redom dobijamo (1,1) (1,1) (1,1) D22 = A22 − A21 ( A11(1,1) ) A12(1,1) −1
−1
= ( −1) − 1 ⋅ 2−1 ⋅ 2
−1 1 1 (1,1) D12(1,1) = − ( A11(1,1) ) A12(1,1) D22 = −(2) −1 ⋅ 2 − = , 2 2
−1
1 =− , 2
−1 1 1 (1,1) (1,1) (1,1) D21 = − D22 A21 ( A11(1,1) ) = − − ⋅ 1 ⋅ (2) −1 = , 4 2
D11(1,1) = ( A11(1,1) )
−1
( E11(1,1) − A12(1,1) D21(1,1) ) = 2−1 1 − 2 ⋅ 14 = 14 ,
pa je
(
)
−1 A11(2, 2)
1 = 4 1 4
1 2 . 1 − 2
Primenom istih formula na matricu A dobijamo (1,1) (1,1) D22 = A22
D12(2,1) = − (
1 −1 − 1 (1, 2) − A21 ( A11(2, 2) ) A12(2,1) = 1 − (−1, 2) 14 4
)
−1 A11(2, 2)
(1,1) A12(2,1) D22
1 = −4 1 4
1 2 (3, 0)′ 1 − 2
−1
= 4,
1 2 (3, 0)′ ⋅ 4 = (−3, − 3)′, 1 − 2
277
(1, 2) D21
1 −1 (1,1) (1, 2) = − D22 A21 ( A11(2, 2) ) = −4 ⋅ (1, 2) 4 1 4
D11(2, 2) = (
)
−1 A11(2, 2)
1 ( E11(2, 2) − A12(2,1) D21(1, 2) ) = 14 4
1 2 = ( −1, 6), 1 − 2
1 1 −4 2 1 0 , − (3, 0)′(−1, 6) = 1 0 1 1 −5 − 2
pa je tražena inverzna matrica jednaka 1 −4 −3 −1 A = 1 −5 −3 . ▲ −1 6 4 Inverzna matrica se može dobiti i na sledeći način: na osnovu date matrice A i jedinične matrice E konstruiše se sledeći niz matrica A(0) , B (1) , A(1) , B (2) , A(2) , ..., B ( n ) , A( n ) ,
gde je
A(0) = A − E , ( m −1) , i≠m 1, i = j a bij( m ) = ij , δij , i=m 0, i ≠ j δij , ( m ) ( m −1) bim amj aij( m ) = bij( m ) − , i, j , m = 1, 2, ..., n; ( m −1) 1 + amm
tada je A−1 = A( n ) .
Primer 4 Izračunati inverznu matricu A−1 matrice 1 −3 −1 A = −2 7 2 . 3 2 −4
Rešenje. Primenom datih formula redom dobijamo 1 0 −3 −1 1 0 0 1 3 (0) (1) (1) A = −2 6 2 , B = −2 6 2 , A = −2 0 0 , 3 2 −5 3 2 −5 3 11 −2 B
278
(2)
1 1 3 = 0 1 0 , 3 11 −2
(2)
A
1 7 3 = 2 1 0 , 25 11 −2
B
(3)
7 3 1 = 2 1 0 0 0 1
−1
A =A
7.
(3)
32 14 −1 = 2 1 0 . ▲ 25 11 −1
METODA KVADRATNIH KORENA
Ova metoda se koristi za rešavanje sistema linearnih algebarskih jednačina sa simetričnom matricom sistema. Simetrična matrica A može biti predstavljena u obliku proizvoda dveju meñu sobom transponovanih matrica, tj. A = T′ · T, gde je t11 t12 … t1n t11 0 … 0 0 t t t … 0 22 … t2 n i T ′ = 21 22 . T = ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 0 0 … tnn tn1 tn 2 … tnn Pomnožimo li matrice T′ i T i izjednačimo li elemente matrice T′ · T sa odgovarajućim elementima matrice A, dobićemo sistem jednačina za odreñivanje elemenata tij u zavisnosti od elemenata aij . Rešavanjem tog sistema dobijamo sledeće formule za izračunavanje elemenata tij : t11 = a11 , t1 j =
a1 j t11
i −1
, j > 1 ; tii = aii − Σ tki2 , 1 < i ≤ n , k =1
i −1
tij =
aij − Σ tki tkj k =1
tii
, i < j ; tij = 0 , i > j .
Polazni sistem jednačina ima jedinstveno rešenje, ako je tii ≠ 0 , i = 1, n , jer je tada det A = det T ′ ⋅ det T = (det T ) 2 = (t11 ⋅ t22 ⋅ ⋯ ⋅ tnn ) 2 ≠ 0 . Posle odreñivanja elemenata matrice T rešavamo sledeći sistem T′ y = b ; rešenje ovog sistema je b y1 = 1 , t11 i −1
yi =
Zatim rešavamo sistem
bi − Σ tki yk k =1
tii
, i >1.
Tx=y;
279
rešenje ovog sistema je xn =
yn , tnn n
xi =
yi − Σ tki xk k =i +1
tii
, i
Napomena 1. Koeficijenti matrice T su realni, ako je za 1 ≤ i ≤ n, tii2 > 0 . Ako je za neko s tss2 < 0 , onda su elementi tsj imaginarni; za primenu ove metode nema nikakvog značaja, računa se s imaginarnom jedinicom kao sa svakom drugom konstantom. Napomena 2. Kod praktične primene ove metode zbog činjenice da su formule za odreñivanje elemenata tij i formule za izračunavanje veličina yi istog oblika, direktnim hodom se istovremeno računaju i elementi tij i veličine yi , a obrnutim hodom se nalaze nepoznate xi . Ako bismo uveli oznake bi = ai , n +1 i yi = ti , n +1 , te formule bi imale isti oblik.
n 2 (n + 9n + 2) , a broj kore6 novanja je n. Za kontrolu računskog procesa koristi se na uobičajen način kontrolna kolona, a čitav proces je pregledniji ako se koristi odgovarajuća shema računanja. Broj množenja i deljenja kod ove metode je
i
ai1
ai 2
ai 3
ai 4
ai 5
Σ aij
1
a11
a12
a13
a14
a15
Σ a1 j j
2
a21
a22
a23
a24
a25
Σ a2 j
3
a31
a32
a33
a34
a35
Σ a3 j
j
j
4
a41
a42
a43
a44
a45
Σ a4 j
i
ti1
ti 2
ti 3
ti 4
ti 5
Σ tij
1
t11
t12
t13
t14
t15
Σ t1 j
t22
t23
t24
t25
Σ t2 j
t33
t34
t35
Σ t3 j
t44
t45
Σ t4 j
2 3 4
280
j
xj
x1
x2
x3
x4
x′j
x1′
x2′
x3′
x4′
j
j
j
j
j j
Primer 1. Metodom kvadratnih korena rešiti sledeći sistem linearnih algebarskih jednačina 4.32 x1 + 0.28 x2 + 0.57 x3 + 0.87 x4 = 2.17, 0.28 x1 + 384 x2 + 0.43 x3 + 0.62 x4 = 4.36, 0.57 x1 + 0.43 x2 + 3.42 x3 + 0.52 x4 = 4.12, 0.87 x1 + 0.62 x2 + 0.52 x3 + 3.30 x4 = 4.48. Rešenje. Rešenje je dato sledećom tabelom; zbog simetričnosti matrice sistema elementi ispod glavne dijagonale matrice nisu upisani u tabelu. Σ aij
i
ai1
ai 2
ai 3
ai 4
ai 5
1 2 3 4
4.32
0.28 3.84
0.57 0.43 3.42
0.87 0.62 0.52 3.30
2.17 4.36 4.12 4.48
ti1
ti 2
ti 3
ti 4
ti 5
8.21000 9.53000 9.06000 9.79000 Σ tij
2.07846
0.13472 1.95496
0.27424 0.20105 1.81779
1.04404 2.15828 1.87027 176717
3.95004 (8) 4.60259 (8) 3.87909 (8) 3.50072 (0)
0.11973
0.85888
0.92174
0.41858 0.28830 0.19103 1.73355 1.01939
1.11973
1.85888
1.92174
2.01939
1 2 3 4 xj x′j
j
j
Rešenje sistema je x = (0.1197, 0.8589, 0.9217, 1.0194)T . ▲
8.
METODA ORTOGONALIZACIJE
Posmatrajmo sistem linearnih algebarskih jednačina u sledećem obliku (1) Ax = b . Uvedemo li smenu n
x = Σα k x ( k ) , k =1
gde su α k skalari a x sledeći uslov (2)
(k )
, k = 1, n , linearno nezavisni vektori koji ispunjavaju
( Ax ( k ) , x ( r ) ) = 0 ,
za k > r; k , r = 1, n ,
a (·, ·) je oznaka za skalarni proizvod, imaćemo (3)
n A Σα k x ( k ) = b , k =1
ili 281
n
Σα k Ax
(4)
(k )
k =1
=b .
Pomnožimo li (4) vektorom x ( r ) , r = 1, n , imaćemo
Σα k ( Ax k =1 r
(5)
(k )
, x ( r ) ) = ( b , x ( r ) ) , r = 1, n
jer je
Σ α k ( Ax n
(k )
k = r +1
, x (r ) ) = 0 .
Dakle, za odreñivanje skalara α k , k = 1, n , imamo sistem jednačina (5) s trougaonom matricom sistema. Determinanta ovog sistema je
( Ax (1) , x (1) )( Ax (2) , x (2) )⋯( Ax ( n) , x ( n) ) i različita je od nule, ako je ( Ax ( k ) , x ( k ) ) ≠ 0 , k = 1, n . Specijalno, ako je matrica A simetrična, onda se ovaj sistem svodi na dijagonalni (5') α k ( Ax ( k ) , x ( k ) ) = ( b , x ( k ) ) , k = 1, n , jer je zbog simetričnosti matrice A 0 = ( Ax ( k ) , x ( r ) ) = ( x ( k ) , Ax ( r ) ) = ( Ax ( r ) , x ( k ) ) tj. ( Ax ( k ) , x ( r ) ) = 0 za r ≠ k, r , k = 1, n . Dakle, iz sistema jednačina α k ( Ax ( k ) , x ( k ) ) = (b , x ( k ) )
nalazimo (6)
αk =
(b , x (k ) )
( Ax ( k ) , x ( k ) )
, k = 1, n .
Odredimo sada vektore x ( k ) , k = 1, n , tako da budu linearno nezavisni i da ispunjavaju uvedene uslove. Pretpostavimo da je matrica A simetrična i pozitivno definitna. Poñimo od bilo kojeg sistema linearno nezavisnih vektora, npr. od y (1) = (1, 0, …, 0)T y (2) = (0,1, … , 0)T ⋯⋯⋯⋯⋯⋯⋯ y ( n ) = (0, 0, … ,1)T . Vektore x ( k ) , k = 1, n , odredimo „ortogonalizacijom“ (ili usavršavanjem). 282
Neka je x (1) = y (1) ;
vektor x (2) tražimo u obliku x (2) = y (2) + λ1(2) x (1) .
(7)
Pomnožimo li (7) s Ax (1) dobićemo
( Ax (1), x (2) ) = ( Ax (1), y (2) ) + λ1(2) ( Ax (1), x (1) )
i iz uslova
( Ax (1), x (2) ) = 0
nalazimo da je λ1(2)
(8)
Ax (1) , y (2) ) ( =− . ( Ax (1), x (1) )
Vektor x (3) tražimo u obliku (2) x (3) = y (3) + λ1(3) x (1) + λ (3) . 2 x
(9)
Pomnožimo li (9) redom s Ax (1) i Ax (2) i iskoristimo li uslove
( Ax (1), x (3) ) = 0 i ( Ax (2), x (3) ) = 0 dobićemo Ax (1) , y (3) ) Ax (2) , y (3) ) ( ( (3) (3) λ1 = − i λ2 = − . (10) ( Ax (1), x (1) ) ( Ax (2), x (2) ) Postupak produžavamo tražeći vektor x (4) u obliku (2) x (4) = y (4) + λ1(4) x (1) + λ (4) + λ 3(4) x (3) 2 x
itd.
Proces je moguć jer je ( x (i ) , Ax (i ) ) ≠ 0 , i = 1, n . Broj množenja i deljenja kod ove metode u slučaju sistema koji ima simen tričnu matricu je ( n 2 + 3n − 1) . 3 U slučaju nesimetrične matrice sistema proces ortogonalizacije se izvodi na isti način. Neka su vektori x (1) , x (2) , … , x ( k ) već odreñeni. Vektor x ( k +1) tražimo u obliku k
x ( k +1) = y ( k +1) + Σ βi( k +1) x (i ) ;
(11)
i =1
koeficijenti (12)
βi( k +1) k
se odreñuju iz sledećeg trougaonog sistema jednačina
Σ βi i =1
( k +1)
( Ax (i ), x ( j ) ) = − ( Ay ( k +1), x ( j ) ) ,
j = 1, k .
283
Primer 1. Metodom ortogonalizacije rešiti sledeći sistem linearnih algebarskih jednačina 3.24 x1 + 0.48 x2 + 0.54 x3 + 0.62 x4 = 1.40 0.48 x1 + 3.26 x2 + 0.42 x3 + 0.51 x4 = 1.60 0.54 x1 + 0.42 x2 + 3.24 x3 + 0.45 x4 = 1.88 0.62 x1 + 0.51 x2 + 0.45 x3 + 3.23 x4 = 2.23 Rešenje. Rešenje je dato sledećom tabelom. A 3.24
b
0.48
0.54
0.62
1.40
3.26
0.42
0.51
1.60
3.24
0.45
1.88
3.23
2.23
x (1)
1
–0.14815
–0.16667
–0.19136
λ1( j )
x (2)
–0.14815
1
–0.10662
–0.13113
λ (2 j )
x (3)
–0.15087 –0.10662
1
–0.097015
λ 3( j )
x (4)
–0.15730 –0.12079 –0.097015
(1)
Ax
3.24000
Ax (2)
0.48000
0.54000
0.62000
3.18889
0.34000
0.41815
3.11375
0.30208
Ax (3) Ax
(4)
3.02721
( Ax (1) , x (1) ) (2)
( Ax , x
(2)
3.24000 3.18889
)
( Ax , x
(4)
(b , x (i ) )
1.40000
( Ax (3) , x (3) ) (4)
1
1.39259 3.11375
1.49819 3.02721
)
α
0.43210
0.43670
0.48115
0.53981
x
0.20990
0.32020
0.42878
0.53981
1.63413
Rešenje sistema je x = (0.2099, 0.3202, 0.4288, 0.5398)T . ▲
Primer 2. Metodom barskih jednačina 6.214 x1 −1.351x1 2.489 x1 284
ortogonalizacije rešiti sledeći sistem linearnih alge+ 2.180 x2 + 8.224 x2 − 0.459 x2
+ 3.184 x3 + 5.224 x3 + 4.299 x3
= 49.91, = 50.17, = 32.68.
Rešenje. Rešenje je dato sledećom tabelom.
x (1)
–6.214 –1.351 –2.489 1
A –2.180 –8.224 –0.459 –0.35082
3.184 5.224 4.299 –0.51239
b 49.91 50.17 32.68 β1( j )
x (2)
–0.35082
1
–0.68019
β(2 j )
x (3) Ax (1) Ax (2)
–0.27377 6.21400
–0.68019 –1.35100 –8.69796
1 –2.38900 –1.33219
Ax (3)
–3.92979
( Ax ( k ) , x (1) ) (k )
(2)
–6.21400
–49.91000
)
–3.53100
–8.69796
( Ax ( k ) , x (3) )
–1.70673
–7.24846
3.92979
α
–8.03186
–7.01556
5.60712
x
–4.03560
–3.20165
5.60712
( Ax , x
(b , x (i ) )
–32.66057 –15.10899
Rešenje sistema je x = (4.0356, 3.2017, 5.6071)T . ▲
9.
METODA KONJUGOVANIH GRADIJENATA
Neka je matrica A, matrica sistema linearnih algebarskih jednačina Ax = b simetrična i pozitivno definitna, tj. neka je (1) ( Ay , z ) = ( y , Az ) i (2) ( y , Ay ) > 0 , ( y , Ay ) = 0 ako i samo ako je y = 0 . Posmatrajmo sledeću pomoćnu funkciju f : R n → R , gde je (3)
f ( x ) = ( Ax − 2b , x ) = ( Ax , x ) − 2(b , x ) .
Funkcija (3) je cela racionalna funkcija promenljivih x1 , x2 , ..., xn , komponenata vektora x , tj. f ( x ) je polinom drugog stepena. U n–dimenzionalnom prostoru R n površi
f ( x ) = c , c–konstanta, predstavljaju familiju hiperelipsoida sa zajedničkim centrom u tački koja je odreñena vektorom x * = A−1b .
285
Koristeći simetričnost matrice A imamo da je f ( x ) − f ( x * ) = ( Ax , x ) − 2(b , x ) − ( Ax *, x * ) + 2(b , x * ) =
= ( Ax , x ) − 2 ( Ax *, x ) − ( Ax *, x * ) + 2 ( Ax *, x * ) =
= ( Ax , x ) − 2 ( Ax *, x ) + ( Ax *, x * ) = ( x − x *, A( x − x *) ) .
Zbog pozitivne definitnosti matrice A je
f ( x ) − f ( x * ) ≥ 0 i znak
jednakosti važi samo za x = x* . Dakle, nalaženje rešenja x* sistema jednačina Ax = b ekvivalentno je nalaženju takvog vektora x da bude f ( x ) = min , tj. min f ( x ) = f ( x * ) .
(4)
x
Jedna od metoda rešavanja zadataka (4) je metoda konjugovanih gradijenata. Ovde ćemo izložiti jednu varijantu te metode. Neka je x (0) početno približno rešenje – početni vektor. Polazeći od tačke odreñene vektorom x (0) , koja pripada hiperelipsoidu f ( x ) = f ( x (0) ) , kretaćemo se ka x * najstrmijim putem. Taj put je odreñen gradijentom, tj. normalom na hiperelipsoid u tački odreñenoj vektorom x (0) . Vektor, koji je odreñen dodirnom tačkom normale i bilo kojeg drugog hiperelipsoida iz familije hiperelipsoida f ( x ) = c , označimo sa x (1) . Odredimo vektor x (1) . Pokažimo da vektor r (0) = b − Ax (0)
(5)
ima pravac normale na hiperelipsoid f ( x ) = f ( x (0) ) u tački odreñenoj vektorom x = x (0) . Stvarno, pravac normale se poklapa s pravcem najbržeg opadanja funkcije f ( x ) – pravcem gradijenta. Na taj način, treba odrediti takav vektor c da prvi izvod d (0) d α f ( x + αc ) , α= 0
(6)
bude maksimalan uz uslov (c , c ) = const . Budući da je f ( x (0) + αc ) = ( x (0) + αc , Ax (0) + αAc ) − 2(b , x (0) + αc ) = = α 2 (c , Ac ) − 2α(r (0) , c ) + f ( x (0) ),
(7) imaćemo
d f ( x (0) + αc ) dα
= 2α(c , Ac ) − 2( r (0) , c ) α= 0
α= 0
i, koristeći nejednakost Koši–Bunjakovskog ( r (0) , c ) 2 ≤ (r (0) , r (0) ) ⋅ (c , c ) , gde jednakost važi za c = r (0) , imamo da je c = r (0) . 286
= −2(r (0) , c ) ,
Odredimo vrednost α 0 skalara α za koji je f ( x (0) + αr (0) ) = min .
df = 0 koristeći da je c = r (0) dobijamo dα (r (0) , r (0) ) (8) . α 0 = (0) (r , Ar (0) ) Na taj način imamo x (1) = x (0) + α 0 r (0) . (9) Posmatrajmo sledeću vektorsku jednačinu (10) J ( x ) = ( Ar (0) , x − x (1) ) = 0 . Jednačina (10) odreñuje hiperravan dimenzije n – 1. Očigledno je J ( x (1) ) = 0 ; zatim je J ( x * ) = J ( A−1b ) = ( Ar (0) , A−1b − x (1) ) = (r (0) , A( A−1b − x (1) )) = = (r (0) , b − Ax (1) ) = (r (0) , r (1) ), gde je r (1) = b − Ax (1) = b − A( x (0) + α 0 r (0) ) = (11) = b − Ax (0) − α 0 Ar (0) = r (0) − α 0 Ar (0) . Iz uslova
Može se pokazati da vektor r (1) ima pravac normale na hiperelipsoid f ( x ) = f ( x (1) ) u tački odreñenoj vektorom x = x (1) . Zaista. budući da vektor r (0) dodiruje taj hiperelipsoid u istoj tački, imamo da je r (0) ⊥ r (1) , tj. ( r (0) , r (1) ) = 0 . Dakle, J ( x * ) = 0 . Presek hiperravni (10) i hiperelipsoida f ( x ) = c , c – konstanta, je dijame-
tralna hiperravan dimenzije n – 1 koja sadrži tačku odreñenu vektorom x (1) . Označimo sa p (1) projekciju vektora r (1) na hiperravan (10). Odredimo tu projekciju u obliku p (1) = r (1) + β0 r (0) . (12) Budući da je vektor Ar (0) ortogonalan na hiperravan i da vektor p (1) pripada toj ravni, iz (12) dobijamo 0 = ( Ar (0) , p (1) ) = ( Ar (0) , r (1) ) + β0 ( Ar (0) , r (0) ) , odnosno ( Ar (0) , r (1) ) (13) . β0 = − ( Ar (0) , r (0) ) Odredimo vrednost α1 skalara α za koju je f ( x (1) + αp (1) ) = min .
287
Na analogan način, kao u prethodnom slučaju, iz uslova (14)
α1 =
df = 0 dobija se dα
(r (1) , p (1) ) , ( p (1) , Ap (1) )
i na taj način dobijamo (15) x (2) = x (1) + α1 p (1) . Dalje bismo posmatrali hiperravan dimenzije n – 2 koja je odreñena vektorskom jednačinom (16) J ( x ) = ( Ap (1) , x − x (2) ) = 0 i primenili bismo slično rezonovanje. Na taj način se dobijaju nizovi vektora: { x ( k ) } , {r ( k ) } , { p ( k ) } koji su definisani sledećim rekurentnim formulama p (0) = r (0) , (r ( k ) , p ( k ) ) αk = (k ) , ( p , Ap ( k ) ) x ( k +1) = x ( k ) + α k p ( k ) , (17) r ( k +1) = r ( k ) − α k p ( k ) , (r ( k +1) , Ap ( k ) ) βk = , ( p ( k ) , Ap ( k ) ) p ( k +1) = r ( k +1) + βk p ( k ) . Budući da u n–dimenzionalnom prostoru ne može biti više od n uzajamno ortogonalnih vektora, to će se u k, k ≤ n, koraka dobiti r ( k ) = 0 i tada je x ( k ) = A−1b . Dakle, u najviše n koraka dobija se tačno rešenje sistema linearnih algebarskih jednačina Ax = b . Ako matrica A sistema Ax = b nije simetrična i pozitivno definitna, onda možemo posmatrati sistem A′Ax = A′b , gde je A' transponovana matrica matrice A. Matrica ovog sistema je simetrična i pozitivno definitna.
Primer 1. Metodom konjugovanih gradijenata rešiti sledeći sistem linearnih algebarskih jednačina 2.20 x1 + 0.34 x2 + 0.36 x3 = 0.79, 0.34 x1 + 2.43 x2 + 0.25 x3 = 0.49, 0.36 x1 + 0.25 x2 + 2.14 x3 = 1.03. x
(0)
288
Rešenje. Uzmimo za početno približno rešenje sistema jednačina vektor = (0.36, 0.20, 0.48)'. (Dijagonalni elementi matrice sistema su dominantni i
0.79 0.49 1.03 ′ zbog toga smo uzeli x (0) ≈ , , ). 2.20 2.43 2.14
Računanje je dato u sledećoj tabeli: i 1 2 3
2.20 0.34 0.36
A 0.34 2.43 0.25
0.36 0.25 2.14
x (0)
0.3600
0.2000
0.4800
Ax (0)
1.0328
0.7284
1.2068
r (0) = p (0)
–0.2428
–0.2384
–0.1768
Ap (0)
–0.6789
–0.7061
–0.5254
x (1)
0.2762
0.1178
0.4190
r (1)
–0.8580·10–2
0.5204·10–2
0.4463·10–2
p (1)
–0.8691·10–2
0.5095·10–2
0.4382·10–2
Ap (1)
–0.1581·10–1
0.1052·10–1
0.7522·10–2
x (2) r (2)
0.2715 –0.0001
0.1205 0.0005
0.4213 0.0004
b 0.79 0.49 1.03 (r (0) , p (0) ) α 0 = (0) = ( p , Ap (0) ) 0.1470 = = 0.3450 0.4261 β0 = −
( r (1) , p (0) ) = ( p (0) , Ap (0) )
−0.01944 = 0.4261 = 0.4562 ⋅ 10−3 (r (1) , p (1) ) α1 = (1) = ( p , Ap (1) ) =−
=
0.1206 ⋅ 10−3 = 0.2240 ⋅ 10−3 = 0.5384
Rešenje sitema je x = (0.272, 0.120, 0.421)T. ▲
Napomena. Da bi bila obezbeñena tačnost rezultata, treba voditi računa o broju značajnih cifara meñurezultata. 10. METODA NAJSTRMIJEG SPUŠTANJA Neka je x (0) početni vektor, početno približno rešenje sistema linearnih algebarskih jednačina (1) Ax = b . Odredimo li sledeće aproksimacije x ( k +1) , k = 0, 1, 2, ... rešenja x koristeći formulu x ( k +1) = x ( k ) α k r ( k ) , (2) 289
gde je r ( k ) = b − Ax ( k )
(3) i
αk =
(4)
(r ( k ), r ( k ) ) ( r ( k ) , Ar ( k ) )
dobićemo metodu najstrmijeg spuštanja. Ova metoda je iterativnog tipa i, što nije teško primetiti, predstavlja ponavljanje prve etape računanja kod metode konjugovanih gradijenta. Iterativni proces se produžava sve dok se ne postigne zadovoljavajuća tačnost – dok se ne poklope dve uzastopne iteracije u granicama zadate tačnosti. Brzina konvergencije nije manja od brzine konvergencije geometrijske progresije.
Primer 1. Metodom najstrmijeg spuštanja rešiti sledeći sistem linearnih algebarskih jednačina 2.00 x1 + 0.16 x2 + 0.28 x3 = 2.37, 0.16 x1 + 2.00 x2 + 0.30 x3 = 2.41, 0.28 x1 + 0.30 x2 + 2.00 x3 = 2,55. Rešenje. Za početnu iteraciju uzimamo x = (1, 1, 1)'. Rezultati računanja dati su u sledećoj tabeli i 1 2 3
2.00 0.16 0.28
A 0.16 2.00 0.30
0.28 0.30 2.00
x (0)
1.0000
1.0000
1.0000
Ax (0)
2.4400
2.4600
2.5800
r (0) Ar (0)
–0.07000 –0.15640
–0.05000 –0.12020
–0.03000 –0.09460
x (1)
0.9706
0.9790
0.9874
α1 =
2.374312
2.409516
2.540268
=
–0.004312 –0.005822 0.96820
0.0004840 0.003198 0.979300
0.009732 0.018400 0.992800
Ax
(1)
r (1) Ar (1) x (2)
290
b 2.37 2.41 2.55 ( r (0) , r (0) ) α 0 = (0) = ( r , Ar (0) ) =
0.8300 ⋅ 10−2 = 1.9796 ⋅ 10−2 = 0.4193 (r (1) , r (1) ) = (r (1) , Ar (1) )
1.1354 ⋅ 10−4 = 2.0572 ⋅ 10−4 = 0.5519
Ax (2) r
(2)
Ar (2) x (3) Ax (3) r (3)
2.371072
2.411352
2.550486
α2 =
–0.001072
–0.001352
–0.0004860
=
–0.002496 0.96770 2.36992 0.0001
–0.003021 0.97870 2.410012 –0.0001
–0.0016780 0.992600 0.549766 0.002
(r (2) , r (2) ) = (r (2) , Ar (2) )
0.3213 ⋅ 10−5 = 0.7575 ⋅ 10−5 = 0.4242
Rešenje sistema je x = (0.968, 0.979, 0.993)T. ▲
11. METODA ITERACIJE Kod iterativnih metoda rešavanja sistema linearnih algebarskih jednačina (1) Ax = b uopšte uzevši, polazi se od proizvoljnog, početnog vektora x (0) – približnog rešenja ili aproksimacije sistema jednačina (1) i nalaze se vektori x (1) , x (2) , ..., x ( k ) , ... – sledeća približna rešenja ili aproksimacije koristeći rekurentnu formulu x ( k +1) = Fk ( x (0) , x (1) , ..., x ( k ) ) , k = 0,1, 2, ... , (2) gde je Fk funkcija koja, uopšte govoreći, zavisi od matrice A i vektora b sistema (1), rednog broja aproksimacije k i prethodnih aproksimacija x (1) , x (2) , ..., x ( k ) . Metoda je prvog reda ako je x ( k +1) = Fk (α k ) , k = 0, 1, ... ,
dakle, ako Fk zavisi samo od x ( k ) ; ako ne zavisi od k, onda je metoda stacionarna. Ako funkcija F zavisi linearno od svojih argumenata, metoda je linearna. Najjednostavniji oblik je metoda proste iteracije, kratko, metoda iteracije. Metoda se sastoji u sledećem. Sistem jednačina (1) ćemo zapisati u sledećem, ekvivalentnom obliku (3) x = Bx + c , gde je b11 b12 … b1n c1 x1 b x b … b2 n c B = 21 22 , c = 2, x = 2. ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ bn1 bn 2 … bnn cn xn Neka je na neki način odreñeno početno približno rešenje, početna iteracija x (0) = ( x1(0) , x2(0) , ..., xn (0) )T . Sledeća približna rešenja, sledeće iteracije nala291
zimo koristeći rekurentnu formulu x ( k +1) = Bx ( k ) + c , k = 0,1, 2, ...
(4)
Na taj način je dobijen niz približnih vednosti: x (0) , x (1) , ..., x ( k ) , x ( k +1) , ... tačnog rešenja x sistema jednačina (3), odnosno (1). Ovaj niz pod odreñenim uslovima konvergira ka rešenju x * . Potreban i dovoljan uslov konvergencije iterativnog procesa (4) za proizvoljno x (0) daje sledeća teorema.
Teorema 1. Da bi iterativni proces (4) za rešavanje sistema jednačina (3) konvergirao potrebno je i dovoljno da su sve sopstvene vrednosti matrice B po apsolutnoj vrednosti manje od jedinice. Početno približno rešenje x (0) je proizvoljno, a brzina konvergecije nije manja od brzine konvergencije geometrijske progresije. Dokaz videti, na primer, u knjizi: Фаддеев, Фаддеева – Вычислительные методы линейной алгебры, Moskva, 1960. □ Ako niz iteracija x (0) , x (1) , ..., x ( k ) , ... ima graničnu vrednost ξ = lim x ( k ) , k →∞
tada je ta granična vrednost rešenje sistema jednačina (3), odnosno (1), tj. ξ = x * . Zaista, prelaskom na limes u jednakosti (4) dobijamo
lim x ( k +1) = B ⋅ lim x + c , ξ = B ξ + c , tj. x * = Bx * + c .
k →∞
k →∞
Ovaj uslov konvergencije ima veliku teorijsku ali malu praktičnu vrednost. Naime, vrlo je teško proveriti da li je uslov ispunjen. Zbog toga ćemo navesti neke dovoljne uslove konvergencije. Ti uslovi će biti iskazani u odnosu na normu iterirajuće matrice B. Norma vektora i norma matrice može se definisati na više načina a u zavisnosti od uslova zadatka i cilja ispitivanja. Meñutim, svaka definicija mora zadovoljavati odreñene uslove ili aksiome norme. Normom vektora x = ( x1 , x2 , ..., xn ) naziva se realni broj || x || koji zadovoljava uslove: 1) || x || > 0 ako x nije nula–vektor i || x || = 0 ako i samo ako je x nula– –vektor; 2) || c ⋅ x || = | c | ⋅ || x || za svaki brojni množitelj c; 3) || x + y || ≤ || x || + || y || . Iz ovih aksioma sledi vrlo jednostavna ali korisna osobina || x − y || ≥ || x || − || y || .
292
Kao što znamo, pod normom matrice A = aij podrazumeva se realan n× n broj || A || koji zadovoljava uslove: 1) || A || > 0 ako A nije nula–matrica i || A || = 0 ako i samo ako je A nula– –matrica; 2) || c ⋅ A || = | c | ⋅ || A || za svaki brojni množitelj c. Specijalno, || − A || = || A || ; 3) || A + B || ≤ || A || + || B || ; 4) || A ⋅ B || ≤ || A || ⋅ || B || . Ako je ispunjen i uslov | aij | ≤ || A || , norma je kanonska. Norma matrice A je saglasna s normom vektora ako je za svaki vektor x = ( x1 , x2 , ..., xn )T tačna jednakost || Ax || ≤ || A || ⋅ || x || .
(5)
Meñu saglasnim normama matrica često, specijalno kod dobijanja tačnih ocena, treba birati najmanju normu. Kako u nejednakosti (5) slučaj kada je x nula– vektor nije od posebnog interesa, to možemo smatrati da je vektor x takav da je || x || ≠ 0 . Sada nejednakost (5) možemo posmatrati u obliku x , || y || = 1 . || Ay || ≤ || A || , y = || x || Dakle, minimalna saglasna norma matrice će biti gornja granica norme vektora Ay ako je || y || = 1 , pa možemo uzeti da je || A || = max || Ax || .
(6)
|| x || =1
Za ovu normu matrice kaže se da je indukovana normom vektora. Primetimo da je u relaciji (5) Ax neprekidna funkcija x i da se ona posmatra na ograničenom zatvorenom skupu vektora za koje je || x || = 1 . Zbog toga se maksimalna vrednost || Ax || dostiže i postoji takav vektor x0 za koji je || x0 || = 1 i || Ax0 || = max || Ax || = || A || . Navedne aksiome apstraktne norme vektora i matrica omogućavaju široke mogućnosti izbora i definisanja normi. Najčešće se koriste sledeće norme: 1) || x ||I = || x ||m = max | xi | , m – norma vektora, i
n
|| A ||I = || A ||m = max Σ | aij | , m – norma matrice; i
j =1
n
2) || x ||II = || x ||l = Σ | xi | , l – norma vektora, i =1
n
|| A ||II = || A ||l = max Σ | aij | , l – norma matrice; j
i =1
293
1
3) || x ||III = || x ||k = | x | = [ ( x , x ) ]
1 2
n 2 = Σ | xi |2 , k – norma vektora, i =1
1
|| A ||III = Σ | aij |2 2 , k – norma matrice. i , j Koriste se i nazivi, redom: kubna, oktaedarska i sferna ili euklidska norma. Može se pokazati da su sve tri uvedene norme kanonske.
Teorema 2. Iterativni proces (4) za rešavanje sistema jednačina (3) za proizvoljno početno rešenje x (0) konvergira ako je bilo koja kanonska norma matrice B manja od jedinice, tj. || B || < 1 je dovoljan uslov konvergencije. Dokaz. Konstruišimo niz približnih rešenja, niz iteracija x (1) = Bx (0) + c , x (2) = Bx (1) + c , ⋮ x ( k ) = Bx ( k −1) + c . ⋮
Sada nalazimo da je x ( k ) = Bx ( k −1) + c = B ( Bx ( k − 2) + c ) = B 2 x ( k − 2) + ( B + E ) c = = B 2 ( Bx ( k −3) + c ) + ( B + E ) c = B 3 x ( k −3) + ( B 2 + B + E ) c = = ⋯ = B k x (0) + ( B k −1 + B k − 2 + ⋯ + B + E ) c ,
tj. x ( k ) = B k x (0) + ( B k −1 + B k − 2 + ⋯ + B + E ) c .
Kako je || B || < 1 , to je lim || B k || = 0 , pa je lim B k = 0 i k →∞
lim ( B
k −1
k →∞
+B
k −2
k →∞
+ ⋯ + B + E ) = lim ( E − B k ) ⋅ ( E − B ) −1 = ( E − B ) −1 . k →∞
Na taj način dobijamo x * = lim x ( k ) = ( E − B ) −1 ⋅ c , k →∞
pa iz jednakosti x * = ( E − B ) −1 ⋅ c , det ( E − B ) ≠ 0 ,
imamo ( E − B ) x * = c ili x * = Bx * + c .
Rešenje x * je jedinstveno. ■ Dovoljni uslovi konvergencije su: n
(I)
|| B ||m = max Σ | bij | ≤ q1 < 1 , i
294
j =1
n
(II) || B ||l = max Σ | bij | ≤ q2 < 1 , j
i =1
1
n 2 (III) || B ||k = Σ | bij |2 ≤ q3 < 1 . i , j =1 Ako za približno rešenje sistema jednačina x = Bx + c uzmemo iteraciju (k ) x , ocenimo razliku izmeñu tačnog i približnog rešenja: x * − x ( k ) . Radi toga prvo ćemo oceniti razliku izmeñu dve uzastopne iteracije: || x ( m +1) − x ( m ) || = || ( Bx ( m ) + c ) − ( Bx ( m −1) + c ) || = || B ( x ( m ) − x ( m −1) ) || ≤ ≤ || B || ⋅ || x ( m ) − x ( m −1) || ≤ ⋯ ≤ || B ||m − k ⋅ || x ( k +1) − x ( k ) ||, m > k ≥ 1.
Za p ≥ 1 imamo || x
(k + p)
− x ( k ) || = || ( x ( k + p ) − x ( k + p −1) ) + ( x ( k + p −1) − x ( k + p − 2) ) + ⋯ + ( x ( k +1) − x ( k ) ) || ≤
≤ || x ( k + p ) − x ( k + p −1) || + || x ( k + p −1) − x ( k + p − 2) || +⋯ + || x ( k +1) − x ( k ) || ≤ ≤ || B || p −1 ⋅ || x ( k +1) − x ( k ) || + || B || p − 2 ⋅ || x ( k +1) − x ( k ) || + ⋯ + || x ( k +1) − x ( k ) || = = || x ( k +1) − x ( k ) || (|| B || p −1 + || B || p − 2 + ⋯ + 1) = = || x ( k +1) − x ( k ) || ⋅
1− || B || p , 1− || B ||
dakle, || x ( k + p ) − x ( k ) || ≤
1− || B || p ⋅ || x ( k +1) − x ( k ) || . 1− || B ||
Ako p → ∞ , onda iz prethodne nejednakosti dobijamo 1 || x * − x ( k ) || ≤ ⋅ || x ( k +1) − x ( k ) || , 1− || B || odnosno, za k ≥ 1 imamo || B || (5) || x * − x ( k ) || ≤ ⋅ || x ( k ) − x ( k −1) || . 1− || B || 1 Za || B || ≤ iz (5) dobijamo 2 || x * − x ( k ) || ≤ || x ( k ) − x ( k −1) || , odnosno, tačna je implikacija (6)
|| x ( k ) − x ( k −1) || < ε ⇒ || x * − x ( k ) || < ε .
Dakle, tačnost ε > 0 je dostignuta kada je norma razlike dveju uzastopnih iteracija manja od ε. Kaže se da važi „kriterijum poklapanja“ dveju uzastopnih iteracija. U opštem slučaju ne važi „kriterijum poklapanja“ dveju uzastopnih itera-
295
cija, tj. u opštem slučaju nije tačna implikacija (6). U opštem slučaju važi implikacija 1− || B || (7) || x ( k ) − x ( k −1) || ≤ ⋅ ε ⇒ || x * − x ( k ) || ≤ ε , || B || naravno, || B || < 1 . Na potpuno isti način se dobija sledeća ocena greške || B ||k (8) || x * − x ( k ) || ≤ ⋅ || x (1) − x (0) || . 1− || B || Ako se uzme da je x (0) = c , što se najčešće radi, onda imamo || B ||k +1 || x * − x ( k ) || ≤ ⋅ || c || . (8') 1− || B || Za primenu metode iteracije značajno je sistem jednačina (1) zapisati u ekvivalentnom obliku (3) tako da bude ispunjen neki od dovoljnih uslova konvergencije. To je uvek moguće uraditi. Posebno je pogodan slučaj kada su dijagonalni elementi matrice A dominantni po apsolutnoj vrednosti.
Primer 1. Metodom iteracije rešiti sistem linearnih algebarskih jednačina 2.46 x1 + 0.28 x2 + 0.26 x3 = 0.76, 0.38 x1 + 3.57 x2 + 0.36 x3 = 1.72, 0.50 x1 + 0.48 x2 + 4.68 x3 = 3.11. Tačnost 10–5. Rešenje. Podelimo redom jednačine sistema dijagonalnim elementima 2.46, 3.57, 4.68 i napišimo sistem u sledećem obliku x1 = x2 = − 0.10644 x1 x3 = − 0.10684 x1
− 0.11382 x2
− 0.10569 x3 − 0.10084 x3
− 0.10256 x2
+ 0.30894, + 0.48179, + 0.66453.
Sabiranjem apsolutnih vrednosti elemenata matrice B, npr. po kolonama, dobijamo da je norma matrice || B ||l = max(0.21328, 0.21638, 0.20653) = 0.21638 < 1 ,
pa će proces iteracije konvergirati. Za početnu aproksimaciju možemo uzeti x (0) = c = (0.30894, 0.48179, 0.66453)T .
Budući da je || c ||l = 1.45526 , broj iteracija za postizanje zadate tačnosti odreñujemo iz nejednakosti || B ||lk +1 || c ||l ≤ 10−5 , 1− || B ||l
odnosno 296
0.21638k +1 ⋅ 1.45526 ≤ 10−5 , 1 − 0.21638
odakle je k + 1 ≥ 7.9256..., odnosno k ≥ 6.9256... i možemo uzeti k = 7. Rezultati računanja su dati u sledećoj tabeli. A
B
x (0) x (1) x (2) x (3) x (4) x (5) x (6) x (7) x (8)
x1 2.46 0.38 0.50 0 –0.10644 –0.10684 0.30894 0.18387 0.20395 0.19899 0.19991 0.19964 0.19979 0.19979 0.19979
x2 0.28 3.57 0.48 –0.11382 0 –0.10256 0.48179 0.38190 0.40352 0.39900 0.39992 0.39978 0.39982 0.39980 0.39980
x3 0.26 0.36 4.68 –0.10569 –0.10084 0 0.66453 0.58211 0.60572 0.60188 0.60225 0.60216 0.60220 0.60218 0.60218
b 0.76 1.72 3.11 0.30894 0.48179 0.66453
Napomena 1. Primetimo da teorijska ocena broja iteracija za obezbeñivanje zadate tačnosti može biti praktično veća! Treba računati sve dok se ne poklope dve uzastopne iteracije u granicama zadate tačnosti. Napomena 2. Metoda iteracije je samokorigujuća, što znači da učinjena greška u procesu računanja ne utiče značajnije. Može se jedino dogoditi da treba napraviti nekoliko iterativnih koraka više ili nekoliko manje. Napomenimo da je u posmatranom zadatku konvergencija sporija zbog cikličnog približavanja rešenju.
Primer 2. Sistem linearnih algebarskih jednačina x1 5 x1 −2 x1 x1
+ 2 x2 − 4 x2 + 3 x2 + x2
+ − − −
3 x3 2 x3 8 x3 4 x3
+ 2 x4 − x4 − 2 x4 + 7 x4
= 6.11, = −2.99, = −6.65, = 4.64.
zapisati u ekvivalentom obliku tako da bude ispunjen dovoljan uslov za konvergenciju metode iteracije. 297
Rešenje. Ako jednačine označimo redom: (1), (2), (3) i (4), onda sledeći ekvivalentni sistem (1) + (2) : 6 x1 3 ⋅ (1) + (3) : x1 (3) : −2 x1 x1 (4) :
− 2 x2 + 9 x2 + 3 x2 + x2
+ x3 + x3 − 8 x3 − 4 x3
+ x4 + 4 x4 − 2 x4 + 7 x4
= 3.12, = 11.68, = −6.65, = 4.64,
ima dominantne dijagonalne elemente (veće po apsolutnoj vrednosti od zbira apsolutnih vrednosti koeficijenta uz ostale nepoznate: |6| > | − 2| + |1| + |1| = 4 , |9| > |1| + + |1| + |4| = 6 , | − 8| > | − 2| + |3| + | − 2| = 7 , |7| > |1| + |1| + | − 4| = 6 uz nepo-znate, redom x1, x2, x3, x4. Dakle, imamo 2 1 1 3.12 x1 = x2 − x3 − x4 + , 6 6 6 6 1 1 4 11.68 x2 = − x1 − x3 − x4 + , 9 9 9 9 2 3 2 6.65 x3 = − x1 + x2 − x4 + , 8 8 8 8 1 1 4 4.64 x4 = − x1 − x2 + x3 + . 7 7 7 7 Ponekad je pogodnije ne računati aproksimacije već razlike uzastopnih aproksimacija. Uvedemo li oznake ∆ ( k ) = x ( k ) − x ( k −1) , k = 1, 2 , ..., ∆ (0) = x (0) ,
dobićemo iz x ( k +1) = Bx ( k ) + c
i x ( k ) = Bx ( k −1) + c
da je za x (0) = c ∆ ( k +1) = B∆ ( k ) , k = 1, 2, ...,
pa je m–ta aproskimacija m
x ( m ) = Σ ∆ ( k ) , ∆ (0) = c . k =0
Slično bismo imali za ∆
(0)
=x ≠c : ∆ ( k ) = B k −1∆ (1) , k = 1, 2, ... (0)
i k
k
s =0
s =1
x ( k ) = Σ ∆ ( s ) = x (0) + Σ B s −1∆ (1) .
298
12. ZAJDELOVA METODA Jedna od modifikacija metode proste iteracije je Zajdelova metoda. Osnovnu ideju je razradio Gaus 1843., a Zajdel je 1874. predložio metodu, pa se, ponekad, i naziva Gaus–Zajdelova metoda. Metoda se sastoji u sledećem: za izračunavanje (k + 1)–ve aproksimacije komponente xi vektora x ( k +1) koriste se već izračunate komponente x1( k +1) , x2( k +1) , ..., xi(−k1+1) . Naime, iterativni proces za sistem jednačina x = Bx + c je definisan na sledeći način: i −1
n
j =1
j =i
xi( k +1) = Σ bij x (jk +1) + Σ bij x (jk ) + ci ,
(1)
i = 1, n , k = 0, 1, 2, ..., x (0) = ( x1(0) , x2(0) , ..., xn(0) ) – proizvoljna, početna iteracija. Sistem jednačina (1) možemo predstaviti u sledećem obliku x ( k +1) = M x ( k +1) + N x ( k ) + c ,
(2) gde je 0 0 b 0 21 M = … … bn1 bn 2
… 0 0 b11 b12 0 b … 0 0 22 , N = … … … … … … bn ,n −1 0 0 0
… … … …
b1n b2 n . … bnn
Iz (2) se dobija (3)
x ( k +1) = ( E − M ) −1 N x ( k ) + ( E − M ) −1 c ,
što znači da je Zajdelova metoda ekvivalentna metodi proste iteracije s matricom B = ( E − M ) −1 N i slobodnim članom ( E − M ) −1 c . Na taj način imamo: potreban i dovoljan uslov konvergencije je da su sve sopstvene vrednosti matrice (4)
S = ( E − M ) −1 N
po modulu manje od jedinice, tj. da su rešenja jednačine (5)
det ( S − λE ) = 0
manja od jedinice. Rešenja jednačine (5) se poklapaju s rešenjima jednačine (6)
det ( N − ( E − M )λ ) = 0 .
Dovoljni uslovi konvergencije Zajdelove metode i metode proste iteracije su isti. 299
Teorema. Ako matrica B sistema linearnih algebarskih jednačina x = Bx + c
(7) ispunjava uslov
n
|| B ||m < 1 , || B ||m = max Σ | bij |
(8)
j =1
i
tj. ako je m–norma manja od jedinice, onda Zajdelov iterativni proces konvergira ka jedinstvenom rešenju sistema (7) nezavisno od izbora početnog vektora x (0) . Dokaz. Neka je x ( k ) = ( x1( k ) , x2( k ) , ..., xn( k ) )T k–ta aproksimacija dobijena Zajdelovom metodom. Dakle, i −1
n
j =1
j =i
xi( k ) = Σ bij x (jk ) + Σ bij x (jk −1) + ci , i = 1, n , k = 1, 2, ...
(9)
Pod uslovom (8) sistem jednačina (7) ima jedinstveno rešenje x = ( x1 , x2 , … , xn )T koje možemo izračunati metodom proste iteracije: n
xi = Σ bij x j + ci , i = 1, n .
(10)
j =1
Ako oduzmemo (9) od (10) dobićemo i −1
n
j =1
j =i
xi − xi( k ) = Σ bij ( x j − x (jk ) ) + Σ bij ( x j − x (jk −1) ) , i = 1, n , a odavde je (11)
i −1
n
j =1
j =i
| xi − xi( k ) | ≤ Σ | bij | ⋅ | x j − x (jk ) | + Σ | bij | ⋅ | x j − x (jk −1) | , i = 1, n .
Saglasno m–normi max| xi − xi(l ) | = || x − x (l ) ||m i
imamo | x j − x (jk −1) | ≤ || x − x ( k −1) ||m i | x j − x (jk ) | ≤ || x − x ( k ) ||m pa iz nejednakosti (11) dobijamo (12)
| xi − xi( k ) | ≤ pi || x − x ( k ) ||m + qi || x − x ( k −1) ||m ,
gde je i −1
n
j =1
j =i
pi = Σ | bij | i qi = Σ | bij | . Neka je s = s (k ) vrednost indeksa i za koji je | xs − xs( k ) | = max | xi − xi( k ) | = || x − x ( k ) ||m . i
300
Stavimo li i = s u nejednakost (12), dobićemo || x − x ( k ) ||m ≤ ps || x − x ( k ) ||m + qs || x − x ( k −1) ||m
ili || x − x ( k ) ||m ≤
Na taj način je (13) gde je
qs || x − x ( k −1) ||m . 1 − ps
|| x − x ( k ) ||m ≤ µ ⋅ || x − x ( k −1) ||m , µ = max
(14)
i
Dokažimo da je
qi . 1 − pi
µ ≤ || B ||m < 1 .
Kako je n
pi + qi = Σ | bij | ≤ || B ||m < 1 , j =1
to je
qi ≤ || B ||m − pi ,
pa je
qi || B ||m − pi || B ||m − pi ⋅ || B ||m ≤ ≤ = || B ||m . 1 − pi 1 − pi 1 − pi
Dakle, qi ≤ || B ||m < 1 . 1 − pi Koristeći nejednakost (13) zaključujemo da je || x − x ( k ) ||m ≤ µ ⋅ || x − x ( k −1) ||m ≤ µ 2 ⋅ || x − x ( k − 2) ||m ≤ ⋯ ≤ µ k ⋅ || x − x (0) ||m , dakle, || x − x ( k ) ||m ≤ µ k ⋅ || x − x (0) ||m , odnosno lim x ( k ) = x , µ = max i
k →∞
što znači da Zajdelov iterativni proces konvergira ka rešenju sistema jednačina x = Bx + c , odnosno Ax = b . ■
Napomena 1. Kako imamo za metodu proste iteracije || x − x ( k ) ||m ≤ || B ||m ⋅ || x − x ( k −1) ||m ,
a za Zajdelovom metodu || x − x ( k ) ||m ≤ µ k ⋅ || x − x ( k −1) ||m
i µ ≤ || B ||m , to pod uslovima ove teoreme sledi da Zajdlov iterativni proces 301
konvergira nešto brže od iterativnog procesa metode proste iteracije.
Napomena 2. Prethodni zaključak treba shvatiti vrlo uslovno. Naime, oblasti konvergencije ovih dveju metoda se ne poklapaju, što ćemo kasnije razmatrati. Postoje slučajevi kada iterativni proces konvergira po jednoj metodi a ne konvergira po drugoj. Napomena 3. Na potpuno sličan način mogu se razmatrati prethodna pitanja i u bilo kojoj drugoj normi. Prepuštamo da to uradite, na primer, u l–normi i k–normi. Ako za približno rešenje sistema jednačina x = Bx + c uzmemo iteraciju x dobijenu primenom Zajdelovog iterativnog procesa, ocenimo razliku izmeñu tačnog i približnog rešenja x * − x ( k ) , na primer, u m–normi. Neka su x ( k ) i x ( k +1) dve uzastopne iteracije dobijene Zajdelovim iterativnim procesom. Dakle, (k )
i −1
n
j =1
j =i
(15)
xi( k ) = Σ bij x (jk ) + Σ bij x (jk −1) + ci ,
(16)
xi( k +1) = Σ bij x (jk +1) + Σ bij x (jk ) + ci , i = 1, n , k = 1, 2, ...
i −1
n
j =1
j =i
Ako oduzmemo (15) od (16), dobićemo i −1
n
j =1
j =i
xi( k +1) − xi( k ) = Σ bij ( x (jk +1) − x (jk ) ) + Σ bij ( x (jk ) − x (jk −1) ) , i = 1, n , a odavde je i −1
n
j =1
j =i
(17) | xi( k +1) − xi( k ) | ≤ Σ | bij | ⋅ | x (jk +1) − x (jk ) | + Σ | bij ⋅ | ⋅ | x (jk ) − x (jk −1) | , i = 1, n . Saglasno m–normi max | xi( k ) − xi( k −1) | = || x ( k ) − x ( k −1) ||m i max | xi( k +1) − xi( k ) | = || x ( k +1) − x ( k ) ||m , i
i
pa iz nejednakosti (17) dobijamo (18)
| xi( k +1) − xi( k ) | ≤ pi ⋅ || x ( k +1) − x ( k ) ||m + qi || x ( k ) − x ( k −1) ||m ,
gde je i −1
n
j =1
j =i
pi = Σ | bij | i qi = Σ | bij | . Neka je s = s (k ) vrednost indeksa k za koji je | xs( k +1) − xs( k ) | = max | xi( k +1) − xi( k ) | = || x ( k +1) − x ( k ) ||m , i
| xs( k )
−
xs( k −1) | =
max | xi( k ) − xi( k −1) | = || x ( k ) − x ( k −1) ||m . i
Stavimo li i = s u nejednakost (18), dobićemo 302
|| x ( k +1) − x ( k ) ||m ≤ ps ⋅ || x ( k +1) − x ( k ) ||m + qs || x ( k ) − x ( k −1) ||m
ili || x ( k +1) − x ( k ) ||m ≤
qs ≤ || x ( k ) − x ( k −1) ||m . 1 − ps
Na taj način je || x ( k +1) − x ( k ) ||m ≤ µ ⋅ || x ( k ) − x ( k −1) ||m .
(19)
Za p ≥ 1 imamo || x − x ( k ) ||m = || ( x ( k + p ) − x ( k + p −1) ) + ( x ( k + p −1) − x ( k + p − 2 ) + ⋯ + ( x ( k +1) − x ( k ) )||m ≤ (k + p)
≤ || x ( k + p ) − x ( k + p −1) ||m + || x ( k + p −1) − x ( k + p − 2) ||m +⋯ + || x ( k +1) − x ( k ) ) ||m ≤ ≤ µ p ⋅ || x ( k ) − x ( k −1) ||m +µ p −1 ⋅ || x ( k ) − x ( k −1) ||m +⋯ + µ⋅ || x ( k ) − x ( k −1) ||m = =
µ (1 − µ p ) ⋅ || x ( k ) − x ( k −1) ||m , 1− µ
odnosno, kada p → ∞ , || x * − x ( k ) ||m ≤
(20)
µ ⋅ || x ( k ) − x ( k −1) ||m , 1− µ
a odavde se dobija i ocena || x * − x ( k ) ||m ≤
(21)
µk ⋅ || x (1) − x (0) ||m , 1− µ
gde je n
µ = max i
Σ | bij |
j =i i −1
1 − Σ | bij |
≤ || B ||m .
j =1
Napomena 4. Na potpuno isti način se mogu razmatrati prethodna pitanja i u bilo kojoj drugoj normi. Primer 1. Zajdelovom metodom rešiti sistem linearnih algebarskih jednačina 4.00 x1 + 0.16 x2 + 0.32 x3 = 1.06, 0.15 x1 + 5.00 x2 + 0.20 x3 = 2.15, 0.18 x1 + 0.24 x2 + 6.00 x3 = 3.72. Rešenje. Napišimo sistem u sledećem obliku x1 = − 0.04000 x2 − 0.08000 x3 + 0.26500, x2 = − 0.03000 x1 − 0.08000 x3 + 0.43000, x3 = − 0.03000 x1 − 0.04000 x2 + 0.62000. Lako se proverava da će proces iteracije konvergirati. Rezultati računanja su dati u sledećoj tabeli. 303
A
B x (0) x (1) x (2) x (3)
x1 4.00 0.15 0.18 0 –0.0300 –0.0300 0.2650 0.1982 0.2012 0.2012
x2 0.16 5.00 0.24 –0.0400 0 –0.0400 0.4300 0.3993 0.4000 0.4000
x3 0.32 0.20 6.00 –0.0800 –0.0400 0 0.6200 0.5981 0.5980 0.5980
b 1.06 2.15 3.72 0.2650 0.4300 0.6200
▲
Napomenimo da se oblasti konvergencije metode proste iteracije i Zajdelove metode ne poklapaju. Razmotrimo sledeće primere.
Primer 2. Ispitati konvergenciju metode proste iteracije i Zajdelove metode za sistem jednačina x1 5 −5 x1 c1 x = 1 0.1 x + c . 2 2 2
Rešenje. Sopstvene vrednosti matrice B se dobijaju iz jednačine −5 5 − λ = 0, 1 0.1 − λ
odnosno (5 − λ )(0.1 − λ ) + 5 = 0 ,
ili λ 2 − 5.1λ + 5.5 = 0 ,
odakle je λ1 = 3.551... i λ 2 = 1.548... . Dakle, max | λ i | > 1 , i = 1, 2 , pa proces i
iteracije ne konvergira. Za ispitivanje konvergencije Zajdelovog procesa posmatrajmo matricu −1
1 0 0 0 5 −5 5 −5 S = ( E − M ) N = − = . 0 1 1 0 0 0.1 5 −4.9 −1
Sopstvene vrednosti matrice S se dobijaju iz jednačine −5 5 − λ = 0, 5 −4.9 − λ
304
odnosno (5 − λ )(−4.9 − λ ) + 25 = 0 ,
ili λ 2 − 0.1λ + 0.5 = 0 ,
odakle je λ1, 2 = 0.05 ± i ⋅ 7.05... Dakle, max| λ i | < 1 , i = 1, 2 , pa Zajdelov iterai
tivni proces konvergira. ▲
Primer 3. Ispitati konvergaciju metode proste iteracije i Zajdelove metode za sistem jednačina x1 2.3 −5 x1 c1 x = 1 −2.3 x + c . 2 2 2
Rešenje. Sopstvene vrednosti matrice B se dobijaju iz jednačine (2.3 − λ )( −2.3 − λ ) + 5 = 0 , ili λ 2 − 0.29 = 0 ,
odakle je λ1, 2 ≈ ±0.5385 . Dakle, max| λ i | < 1 , i = 1, 2 , pa proces iteracije i
konvergira. Za ispitivanje konvergencije Zajdelovog procesa posmatrajmo matricu 2.3 −5 S = ( E − M ) −1 N = . 2.3 −7.3 Sopstvene vrednosti se dobijaju iz jednačine (2.3 − λ )( −7.3 − λ ) + 11.5 = 0 ,
ili λ 2 + 5λ − 5.29 = 0 , odakle je λ1 ≈ −5.897 i λ 2 ≈ 0.897 . Dakle, max| λ i | > 1 , i = 1, 2 , pa Zajdelov i
iterativni proces ne konvergira. ▲
Primer 4. S obzirom na konvergenciju metode iteracije i Zajdelove metode ispitati sledeći sistem jednačina x1 = px1 + qx2 + c1 , x2 = − qx1 + px2 + c2 , gde su p, q, c1 , c2 zadati brojevi a x1 i x2 nepoznate veličine. Rešenje. Sopstvene vrednosti matrice B se dobijaju iz jednačine q p−λ =0, −q p − λ 305
odnosno ( p − λ)2 + q 2 = 0 ,
odakle je
λ1, 2 = p ± iq .
q
Da bi metoda proste iteracije konvergirala, potrebno je i dovoljno da bude | λ1 | = | λ1 | < 1 ,
B 1
odnosno p 2 + q 2 < 1 , što možemo zapisati na sledeći način
A –1
p2 + q2 < 1 ,
p
1
0
što u koordinatnom sistemu Opq predstavlja unutrašnjost kruga p 2 + q 2 = 1 (to je oblast A na sl. 1). Da bismo našli oblast konvergencije Zajdelove metode, formiraćemo matricu
–1 Sl. 30 p N − ( E − M )λ = 0
q 1 0 0 0 p−λ − − ⋅ λ = p 0 1 −q 0 − qλ
q , p − λ
pa, zatim, jednačinu p−λ det( N − ( E − M )λ ) = −q
q = ( p − λ)2 + q 2 λ = 0 , p − λ
odnosno D (λ ) ≡ λ 2 + ( q 2 − 2 p )λ + p 2 = 0 .
Da bi rešenja jednačine D (λ ) = 0 zadovoljavala uslove | λ1 | < 1 i | λ 2 | < 1 potrebno je i dovoljno da bude (v. А. Г. Курс A. G. Kuroš – Kurs высшей алгебры, Москва, 1969). | q2 − 2 p | < 1 + p2 i p2 < 1 , a odavde je | p | < 1 i |q| < 1 + p (to je oblast B na sl. 1). Očigledno, vrednosti p i q mogu se izabrati tako da: 1) obe iterativne metode konvergiraju ( A ∩ B – osenčeno na sl. 1); 2) prosta metoda iteracije konvergira, a Zajdelova ne konvergira; 3) Zajdelova metoda konvergira, a metoda proste iteracije ne konvergira; 4) nijedna od ove dve metode ne konvergiraju. ▲
306
13. OPTIMIZACIJA BRZINE KONVERGENCIJE ITERATIVNIH PROCESA Da bismo rešili sistem linearnih algebarskih jednačina Ax = b , A = [aij ]n×n , x = [ xi ]n×1 , b = [bi ]n×1 , (1) nekom iterativnom metodom, kao što znamo, treba ga zapisati u ekvivalentnom obliku, pogodnom za primenu iterativnih metoda (2) x = Bx + c ili (3) x = x − D( Ax = b ) , gde je D nesingularna matrica, dakle det D ≠ 0, istih dimenzija kao i matrica A. Posmatrajmo iterativni proces definisan na sledeći način x ( k ) = x ( k −1) − D( Ax ( k −1) = b ) , k = 1, 2, ...; x (0) – početna iteracija.
(4)
Postavimo sledeći zadatak: Kako treba izabrati nesingularnu matricu D da bi iterativni proces (4) najbrže konvergirao? Rešenje ovog zadatka je vrlo složeno, pa ćemo razmotriti njegov specijalan slučaj, slučaj kada je D = τI , gde je I jedinična matrica istih dimenzija kao i matrica D a τ parametar. Dakle, specijalni zadatak glasi: Kako treba izabrati parametar τ da bi iterativni proces x ( k ) = x ( k −1) − τ( Ax ( k −1) − b ) , k = 1, 2, ...
(5)
najbrže konvergirao? Pretpostavimo da je matrica A realna, simetrična i pozitivno definitna. Tada su sve sopstvene vrednosti λ i , i = 1, n , realne i pozitivne. Neka su poznate granice sopstvenih vrednosti (6) 0 < m ≤ λi ≤ M < ∞ . Označimo sa x * tačno rešenje sistema. Oduzmemo li x * od obeju strana jednakosti (5), dobićemo x ( k ) − x * = x ( k −1) − x * − τ( Ax ( k −1) − b ) , ili x ( k ) − x * = x ( k −1) − x * − τ( Ax ( k −1) − Ax * ) , odnosno x ( k ) − x * = ( I − τA) ( x ( k −1) − x * ) .
(7)
Koristeći (7) nalazimo x ( k ) − x * = ( I − τA) ( x ( k −1) − x * ) = ( I − τA)(( I − τA) ( x ( k − 2) − x * )) = = ( I − τA) 2 ( x ( k − 2) − x * ) = ( I − τA) 2 (( I − τA) ( x ( k −3) − x * )) = = ( I − τA)3 ( x ( k −3) − x * ) = ⋯ = ( I − τA) k ( x (0) − x * ).
dakle x ( k ) − x * = ( I − τA) k ( x (0) − x * ) .
307
Ocenimo prethodnu razliku u normi: 1/ 2
n || x ||3 = Σ xi2 i =1
, || A||3 = (max λ ( A* ⋅ A)1/ 2 = (max λ ( A2 ))1/ 2 = max | λ ( A)| .
Iskoristićemo činjenicu da su sopstvene vrednosti matrice I = τA jednake 1 − τλ i a matrice ( I − τA) k jednake (1 − τλ i ) k . Dakle, || x ( k ) − x * ||3 ≤ ||( I − τA) k ||3 ⋅ ||( x (0) − x * ) ||3 ,
(
)
k
||( I − τA) k ||3 = max |1 − τλ i |k = max |1 − τλ i | , 1≤ i ≤ n
1≤ i ≤ n
pa je k || x ( k ) − x * ||3 ≤ (max |1 − τλ i |k ⋅ || x (0) − x * ||3 ≤ max |1 − τλ i | ⋅ ||( x (0) − x *)||3 .
(
1≤i ≤ n
)
λ∈[ m , M ]
Znači, treba izabrati vrednost parametra τ da bude max |1 − τλ| = min , λ∈[ m , M ]
što možemo zapisati na sledeći način (8) min max |1 − τλ i | . τ
λ∈[ m , M ]
Posmatrajmo funkciju f (λ ) =|1 − τλ i | . Očigledno je (sl. 2)
max f (λ) = max {|1 − τm |, |1 − τM |} .
λ∈[ m , M ]
Posmatrajmo sada funkciju ϕ(τ) = max {|1 − τm |, |1 − τM |} . f (λ) ϕ(τ)
1 ϕ(τ0) 0
m
1 τ
M λ
0
1 M
τ0
1 m
τ
Sl. 31 Sl. 32 Treba naći min ϕ(τ) . Ako u istom koordinatnom sistemu Oτϕ predstavimo τ
grafički funkcije:
|1 − τm | i |1 − τM | ,
onda možemo zaključiti da se minimum postiže u preseku ovih grafika (sl. 3), dakle, |1 − τm | = |1 − τM | , 308
ili
± (1 − τm) = 1 − τM ,
odnosno
−(1 − τm) = 1 − τM ,
a odavde je τ = τ0 =
2 . M +m
M −m . Jasno je da je M +m M −m < 1. M +m
Vrednost minimuma je ϕ(τ) = ϕ(τ0 ) = |1 − τ0 m | =
ϕ(τ0 ) =
M −m >0 i M +m
Dakle,
M −m . τ λ∈[ m , M ] M +m Na taj način dobijamo da je najbolja ocena min max |1 − τm |=
k
(9)
|| x
(k )
M −m (0) * − x ||3 ≤ ⋅ || x − x ||3 . M +m *
k
M −m M −m Kako je 0 < < 1 , to je lim = 0 . Brzina konvergencije k →∞ M +m M +m M −m iterativnog procesa, očigledno, zavisi od veličine . Tako, na primer, ako M +m M −m blisko 1 i konvergencija je vrlo spora. je M veliko, onda je M +m Problem precizne ocene veličina m i M je, očigledno, vrlo značajan.
14. OCENA GREŠKE PRIBLIŽNOG REŠENJA SISTEMA LINEARNIH ALGEBARSKIH JEDNAČINA Posmatrajmo sistem linearnih algebarskih jednačina (1)
Ax = b ,
gde je A = [aij ]n×n matrica sistema, b = [bi ]n×1 jednokolona matrica ili vektor slobodnih članova i x = [ xi ]n×1 jednokolona matrica ili vektor nepoznatih. Za rešavanje sistema (1) koriste se dve osnovne grupe metoda: tačne ili direktne i iterativne metode. Koeficijenti aij i slobodni članovi bi ( i, j = 1, n ) su tačni ili približni brojevi. Ako su koeficijenti aij i slobodni članovi bi tačni brojevi, onda je rešenje x = ( x1 , x2 , ..., xn )T sistema (1) moguće izračunati s proizvoljnom, unapred zadatom tačnošću. Ako su koeficijenti aij ili slobodni 309
članovi bi približni brojevi, onda je maksimalno moguća tačnost rešenja x = ( x1 , x2 , ..., xn )T sistema (1) ograničena tačnošću najnetačnijeg podatka.
Tačno rešenje x * sistema jednačina (1), uopšte govoreći, nije moguće izračunati. Naime, pri rešavanju sistema jednačina (1) tačnim ili direktnim metodama čak i u slučaju kada su i koeficijenti aij i slobodni članovi tačni brojevi dobija se približno rešenje zbog grešaka zaokrugljivanja. Uticaj grešaka zaokrugljivanja može biti vrlo velik. Osim toga, u procesu računanja može doći do gubljenja tačnosti zbog deljenja brojevima koji su bliski nuli ili zbog gubljenja značajnih cifara u rezultatu oduzimanja bliskih brojeva. Delimično eliminisanje velikog uticaja grešaka zaokrugljivanja je moguće promenom sheme računanja. Meñutim, potpuno eliminisanje uticaja grešaka zaokrugljivanja, uopšte govoreći, nije moguće. Greške zaokrugljivanja su neotklonjive greške. Ako su koeficijenti aij ili slobodni članovi približni brojevi, onda se ne može ni govoriti o tačnom rešenju. Dobijamo približno rešenje x′ sistema jednačina (1) možemo posmatrati kao tačno rešenje nekog drugog sistema jednačina (2) gde je (3)
A' x ' = b ' , A = A '+ δ , b = b '+ η , x * = x '+ ε .
Prirodno je postaviti pitanje ocene greške x * − x′ u zavisnosti od veličina A − A′ = δ i b − b′ = η . Ocena greške x * − x′ = ε ne može se dobiti zamenom približnog rešenja x′ u sistemu (1). Naime, ako je veličina r = b − Ax′ malena u nekom smislu, u smislu izabrane norme, onda to ne mora da znači da je greška x * − x′ = ε malena. Ako veličine definisane relacijama (3) uvrstimo u (2), imaćemo ( A − δ) ( x * − ε ) = b − η , odnosno (4)
Ax * − δx * − Aε + δε = b − η .
Oduzimanjem (4) od Ax * = b dobijamo: δx * + Aε − δε = η, Aε = −δ( x * − ε ) + η, Aε = −δx′ + η, a odavde je ε = A−1 (η − δx′) ,
odnosno (5) 310
|| ε || ≤ || A−1 || (|| η|| + || δ || ⋅ || x′ ||) .
Ako je A = A′ , tj. ako je matrica δ nula–matrica, što znači da su koeficijenti sistema aij tačni brojevi, onda iz (5) sledi da je (6)
|| ε || ≤ || A−1 || ⋅ || η|| ,
a ako su slobodni članovi bi tačni brojevi, tj. ako je η = 0 , onda je (7)
|| ε || ≤ || A−1 || ⋅ || δ || ⋅ || x′ || .
Primer 1. Zadat je sistem jednačina 3 x1 + 2 x2 4 x1 + 3 x2
= 5, = 7.
Koeficijenti sistema i slobodni članovi su tačni brojevi. Ako umesto tačnih vrednosti slobodnih članova uzmemo, redom, približne vrednosti 5.02 i 7.01, dobićemo sistem jednačina 3 x1 + 2 x2 = 5.02, 4 x1 + 3 x2 = 7.01. Koeficijenti ovog sistema su tačni a slobodni članovi približni brojevi. Oceniti razliku izmeñu tačnog rešenja x * zadatog sistema jednačina i približnog rešenja x′ koje se dobija rešavanjem promenjenog sistema jednačina. Rešenje. Iskoristićemo formulu (6). Redom nalazimo 3 −2 −1 A−1 = , || A ||m = max (|3| + | − 2|, | − 4| + |3|) = max(5, 7) = 7 , − 4 3 η = b − b′ = ( −0.02 − 0.01)T , || η|| = max(| − 0.02|, | − 0.01|) = 0.02 ,
pa je || ε ||m ≤ || A−1 ||m ⋅ || η||m = 7 ⋅ 0.02 = 0.14 . ▲
15. MERA USLOVLJENOSTI MATRICA I SISTEMA LINEARNIH ALGEBARSKIH JEDNAČINA Posmatrajmo sistem linearnih algebarskih jednačina (1)
Ax = b
gde je A = [aij ]n×n matrica sistema, b = [bi ]n×1 jednokolona matrica ili vektor slobodnih članova i x = [ xi ]n×1 jednokolona matrica ili vektor nepoznatih. Pretpostavimo da je sistem jednačina (1) nehomogen, tj. b ≠ 0 . Kao što je poznato sistem jednačina (1) ima jedinstveno rešenje ako i samo ako je det A ≠ 0 Ako je det A = 0 , tj. ako je matrica A sistema jednačina (1) singularna, onda za neke vektore b sistem jednačina (1) nema rešenje a za neke vektore b sistem jednačina (1) ima beskonačno mnogo rešenja. 311
Kao što smo videli tačno rešenje x * sistema jednačina (1) nije moguće izračunati zbog približnosti koeficijenta aij matrice A ili slobodnih članova bi ( i, j = 1, n ) i zbog uticaja grešaka zaokrugljivanja. Dobijeno približno rešenje x′ sistema jednačina (1) možemo posmatrati kao tačno rešenje nekog drugog sistema jednačina A′ x′ = b′ ,
(2) gde je (3)
A = A′ + δ , b = b′ + η , x * = x′ + ε .
Meñutim, prirodno se postavlja sledeće pitanje: Ako sistem jednačina (1) ima jedinstveno rešenje, da li sistem jednačina (2) ima jedinstveno rešenje? I obrnuto, ako sistem jednačina (2) ima jedinstveno rešenje, da li sistem jednačina (1) ima jedinstveno rešenje? Jasno je da iz činjenice da je det A ≠ 0 ne mora slediti da je det A′ ≠ 0 . Naravno, iz činjenice da je det A = 0 ne mora slediti da je det A′ = 0 . Dakle, možemo zaključiti da je rešenje x * sistema jednačina (1) „osetljivo“ na promene koeficijenata aij i slobodnih članova bi sistema. Na neki način se nameće zaključak da je ta „osetljivost“ veća ako je matrica A sistema jednačina (1) „bliža“ singularnoj matrici i da bi det A mogla predstavljati neku meru regularnosti matrice A. Na žalost, odstupanje det A od nule ne može se uzeti za meru regularnosti matrice A. Naime, ako svaku jednačinu sistema pomnožimo konstantom C ≠ 0 , karakteristike sistema se neće bitnije promeniti ali će determinanta biti veća C n puta. Pouzdanu meru regularnosti daje tzv. uslovljenost matrice. Prvo ćemo razmatrati sledeći primer.
Primer 1. Posmatrajmo sistem linearnih algebarskih jednačina 5 x1 7 x1 6 x1
+ 7 x2 + 10 x2 + 8 x2
+ 6 x3 + 8 x3 + 9 x3
= 37, = 51, = 49.
Ispitati uticaj malih promena elemenata matrice sistema ili slobodnih članova na postojanje rešenja sistema jednačina. Rešenje. Determinanta sistema je 5 7 6 det A = 7 10 8 = 1 ≠ 0 , 6 8 9
pa sistem jednačina ima jedinstveno rešenje. Inverzna matrica je 312
26 −15 −4 A = −15 9 2 . −4 2 1 −1
Rešenje sistema je x1 26 −15 −4 37 1 x = x2 = −15 9 2 ⋅ 51 = 2 . x3 −4 2 1 49 3
Na taj način, ako su koeficijenti matrice A tačni brojevi, onda svaki nehomogeni sistem jednačina Ax = b ima jedinstveno rešenje i to rešenje se jednostavno nalazi. Meñutim, ako se samo element a11 = 5 matrice A promeni za ε, onda ćemo imati 5+ε 7 6 det A(ε) = 7 10 8 = 1 + 26ε , 6 8 9
1 = −0.03846... ≈ −0.0385 možemo smatrati da je matrica A(ε) sin26 gularna i ne postoji A−1 (ε) . Dakle, ako su elementi aij matrice A zadati s i za ε = −
tačnošću 0.03846... ≈ 0.0385, onda sistem jednačina Ax = b nema rešenje. Drugim rečima, mala izmena koeficijenata sistema dovodi do velike izmene rešenja sistema jednačina. Tako, na primer, determinanta sistema jednačina 4.9615 x1 7 x1 6 x1
+ 7 x2 + 10 x2 + 8 x2
+ 6 x3 + 8 x3 + 9 x3
= 37, = 51, = 49,
je D = –0.001, tj. praktično jednaka nuli i sistem jednačina nema rešenja. Rešenje sistema jednačina je „osetljivo“ i na male promene slobodnih članova. Na primer, rešenje sistema jednačina 5 x1 7 x1 6 x1
+ 7 x2 + 10 x2 + 8 x2
+ 6 x3 + 8 x3 + 9 x3
= 37.1, = 51, = 49.
je x = (3.6, 0.5, 2.6)T . ▲ Za kvantitativno karakterisanje zavisnosti greške ε = x * − x′ rešenja sistema jednačina od greške η = b − b′ vektora slobodnih članova uvodi se pojam uslovljenosti sistema i uslovljenosti matrice sistema. 313
Neka je || x || norma vektora x i || A || njom indukovana norma matrice A. Posmatrajmo količnike || ε || || x *− x′ || || η|| || b − b′ || i . = = * * || b || || b || || x || || x ||
(4)
Količnici (4) su, očigledno, analogoni relativnim greškama. Meru uslovljenosti sistema jednačina definisaćemo jednakošću || ε || || ε || || η|| || b || , || η|| ≤ 1 . µ = sup * : = * sup || x || η || η|| η || x || || b ||
(5)
Budući da je || ε || || ε || || b || || η|| || η|| , ≤ * ⋅ ⋅ ≤ µ⋅ * || b || || x || || x || || η|| || b ||
to je (6)
|| x * − x′ || || b − b′ || || ε || || η|| ili . ≤ µ ⋅ ≤ µ⋅ * * || b || || b || || x || || x ||
Dakle, granica relativne greške približnog rešenja x′ sistema jednačina Ax = b je proporcionalna relativnoj grešci desne strane, a koeficijent proporcionalnosti je uslovljenost sistema µ . Kako izračunati uslovljenost sistema µ ? Kako je ε = A−1 ⋅ η , to je || ε || || ε || = || A−1 || ⋅ || η|| i ≤ || A−1 || , || η|| pa možemo uzeti da je || ε || sup ≤ || A−1 || η || η || i zbog toga je || b || (7) µ = * ⋅ || A−1 || . || x || U nekim slučajevima pogodno je okarakterisati uočena svojstva sistema samo pomoću svojstava matrice sistema. Radi toga uvodimo meru uslovljenosti matrice A cond( A) = sup µ . b
Tada iz nejednakosti
dobijamo (8)
314
|| ε || || η|| ≤ µ⋅ * || b || || x || || ε || || η|| . ≤ cond( A) ⋅ * || b || || x ||
Kako je sup b
|| b || || Ax * || = sup = || A || , || x * || || x * || x
to je cond( A) = sup µ = sup b
b
|| b || ⋅ || A−1 || = || A|| ⋅ || A−1 || . * || x ||
Dakle, uslovljenost matrice A je broj (9) cond( A) = || A|| ⋅ || A−1 || . Za jediničnu matricu I je cond( I ) = 1 , a za singularnu matricu uzimamo da je cond( A) = ∞ . Iz 1 = || I || = || A ⋅ A−1 || ≤ || A|| ⋅ || A−1 || = cond( A) očigledno je cond( A) ≥ 1 . Ako je cond( A) bliska jedinici, kaže se da je matrica dobro uslovljena. Ako je cond( A) ≫ 1 , kaže se da je matrica slabo uslovljena, tj. bliska je singularnoj matrici. Vrlo značajna je osobina uslovljenosti matrice cond(C ⋅ A) = cond( A) , gde je konstanta C ≠ 0 . Dakle, uslovljenost matrice ne zavisi od skalarnog množitelja. (Prisetimo se da je det (C ⋅ A) = C n ⋅ det A .) Može se dobiti opštija ocena greške približnog rešenja: || b − b′ || || ε || || x * − x′ || || b′ || || δ || = ≤ cond( A) + cond( A′) ⋅ ⋅ , * * | b || || A′ || || x || || x || || b ||
gde je A = A + δ, b = b′ + η , x * = x′ + ε . Razmotrimo, na primer, treću ili sfernu normu vektora i pretpostavimo da je matrica A simetrična. Tada je || A|| = max | λ ( A)| . Kako su sopstvene vrednosti matrica A i A–1 uzajamno recipročne, to je 1 1 || A−1 || = max = | λ ( A)| min | λ ( A)| i zbog toga je max | λ ( A)| . cond( A) = min | λ ( A)|
315
16. METODA RELAKSACIJE Sistem linearnih algebarskih jednačina Ax = b
(1) zapišimo u sledećem obliku i −1
n
j =1
j =i +1
− aii xi − Σ aij x j − Σ aij x j + bi = 0 , i = 1, n ,
(2)
ili, ako je aii ≠ 0 (što se može pretpostaviti bez smanjenja opštosti), i −1
n
j =1
j =i +1
− xi + Σ bij x j + Σ bij x j + ci = 0 , i = 1, n .
(3)
Neka je x (0) = ( x1(0) , x2(0) , ..., xn(0) )T početno približno rešenje. Izračunajmo sledeće ostatke i −1
n
j =1
j =i +1
Ri(0) = − xi(0) + Σ bij x j(0) + Σ bij x j(0) + ci , i = 1, n .
(4)
Ako su svi ostaci (4) jednaki nuli, onda je x (0) tačno rešenje sistema jednačina (1). Uopšte govoreći takav izbor vektora x (0) je nemoguć. Meñutim, postoje takve metode kod kojih se ostaci Ri prelaskom od k–te na (k + 1)–vu aproksimaciju minimiziraju tako da ostaci Ri → 0 , i = 1, n kada k → ∞ . Naime, ako komponenti xs(0) , 1 ≤ s ≤ n, dodamo veličinu δ xs(0) , onda se odgovarajući ostatak Rs(0) umanji za δ xs(0) a ostali ostaci Ri(0) , i ≠ s , se uvećaju za bis δ xs(0) . Na taj način, da bi sledeći ostatak Rs(1) bio jednak nuli, dovoljno je uzeti δ xs(0) = Rs(0) ,
pa je Rs(1) = 0, Ri(1) = Ri(0) + bis δ xs(0) , i ≠ s.
Na sledećem koraku dodajemo komponenti xt(1) veličinu δ xt(1) = Rt(1) , t ≠ s ,
tada je Rt(2) = 0, Ri(2) = Ri(1) + bit δ xt(1) , i ≠ t.
Proces se nastavlja sve dok svi ostaci Ri , i = 1, n , ne budu jednaki nuli u granicama tačnosti računanja. 316
Od redosleda izjednačavanja s nulom ostataka Ri , tj. od „upravljanja“ relaksacionim procesom, zavisi koju metodu ćemo dobiti. Najčešće se uzima za kriterijum izbora: maksimalni po modulu ostatak Ri ili se ostaci Ri , i = 1, n , ciklično biraju ili na neki drugi način. Na primer, ako sistem jednačina ima deset jednačina numerisanih brojevima od 0 do 9, tada za „upravljanje“ relaksacionim procesom možemo uzeti npr. dekadni zapis broja π = 3.14159 26535 89793 23846 26433 83279..., tj. na prvom koraku bismo uzeli R3(1) = 0 , na drugom R1(2) = 0 , na trećem R4(3) = 0 , i tako dalje. O uslovima konvergencije videti u knjizi Д. К. Фаддеев, В. Х. Фаддеева – Вычислительные методы линейной алгебры, Москва, 1960.
Primer 1. Metodom relaksacije rešiti sistem linearnih algebarskih jednačina. 2.00 x1 0.22 x1 0.24 x1
+ 0.25 x2 + 2.00 x2 + 0.26 x2
+ 0.35 x3 + 0.28 x3 + 2.00 x3
= 1.08, = 0.87, = 0.70.
Rešenje. Podelimo redom jednačine dijagonalnim elementima i napišimo sistem u sledećem obliku − x1 −0.110 x1 −0.120 x1
− 0.125 x2 − x2 − 0.130 x2
− 0.175 x3 − 0.140 x3 x3 −
+ 0.540 = 0, + 0.435 = 0, + 0.350 = 0.
Za početno rešenje uzmimo vektor x (0) = (0.540, 0.435, 0.350)T , a za kriterijum izbora izjednačavanja ostatka Ri s nulom izaberimo max Ri , i = 1, 2, 3 . Rezultati računanja su dati u sledećoj tabeli. ai1 2.00 0.22 0.24 –1 –0.110 –0.120 0.540
ai 2 0.25 2.00 0.26 –0.125 –1 –0.130 0.435
ai 3 0.35 0.28 2.00 –0.175 –0.140 –1 0.350
ai 4 1.08 0.87 0.70 0.540 0.435 0.350 x3(0)
R (0) x (1)
–0.116
–0.108
–0.121
–0.121
0.540
0.435
0.229
x1(1)
R (1) x (2)
–0.0944
–0.0915
0
–0.0944
0.446
0.435
0.229
x2(2)
i 1 2 3 1 2 3 x (0)
317
R (2) x (3)
0
–0.0811
0.0109
–0.0811
0.446
0.354
0.229
x3(3)
R (3) x (4)
0.00968
0
0.0215
0.0215
0.446
0.354
0.250
x1(4)
R (4) x (5)
0.00600
–0.00306
0
0.00600
0.452
0.354
0.250
x2(5)
R (5) x (6) R (6) x
0 0.452 0.000 0.452
–0.00372 0.350 0 0.350
–0.000 0.250 0.000 0.250
–0.00372
▲
17. METODA NAJMANJIH KVADRATA U praksi se često rešavanje nekog problema svodi na tzv. „preodreñene“ sisteme linearnih algebarskih jednačina, tj. na sisteme sledećeg oblika a11 x1 + a12 x2 + ⋯ + a1m xm = b1 , a21 x1 + a22 x2 + ⋯ + a2 m xm = b2 , (1) ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ an1 x1 + an 2 x2 + ⋯ + anm xm = bn , gde je broj jednačina n veći od broja nepoznatih m (n > m). Sistem jednačina (1), uopšte uzevši, nije saglasan, tj. nije moguće naći takve vrednosti nepoznatih x j , j = 1, m , za koje sve jednačine sistema postaju identiteti. Meñutim,
činjenica da veličine bi , i = 1, n , a ponekad i koeficijenti aij , i = 1, n , j = 1, m , nisu tačni nego približni brojevi omogućava da se mogu odrediti vrednosti nepoznatih x j , j = 1, m , tako da budu sve jednačine sistema (1) zadovoljene s izvesnom greškom. Jedna od metoda rešavanja „preodreñenih“ sistema oblika (1) je metoda najmanjih kvadrata. Ova metoda se sastoji u tome da se traže one vrednosti nepoznatih x j , j = 1, m , za koje je suma kvadrata razlika izmeñu desnih i levih strana jednačina sistema (1) minimalna, tj. da je (2)
2
m S = Σ bi − Σ aij x j = min . i =1 j =1 n
Uslovi minimuma veličine S su (3)
318
∂S = 0 , k = 1, m , ∂xk
ili n m ∂S = −2 Σ bi − Σ aij x j aik = 0 , k = 1, m . i =1 j =1 ∂xk Sistem jednačina (3), odnosno (4), ima m jednačina i m nepoznatih i zove se normalan sistem jednačina, a sistem (1) se zove sistem uslovnih jednačina. Rešimo li normalni sistem jednačina (4) nekom od poznatih metoda, dobićemo rešenje uslovnog sistema (1) za koje je veličina S minimalna.
(4)
Primer 1. Metodom najmanjih kvadrata rešiti sistem linearnih jednačina x1 + x2 = 3.00, x1 + 3 x2 = 7.00, 2 x1 − x2 = 0.20, 3 x1 + x2 = 5.00. Rešenje. Formirajmo sistem normalnih jednačina. Uslovi minimuma sume S = ( x1 + x2 − 3.00) 2 + ( x1 + 3 x2 − 7.00) 2 + (2 x1 − x2 − 0.20) 2 + (3 x1 + x2 − 5.00) 2 su ∂S ≡ 2 [ ( x1 + x2 − 3.00) + ( x1 + 3 x2 − 7.00) + 2(2 x1 − x2 − 0.20) + ∂x1 + (3x1 + x2 − 5.00) ] = 0, ∂S ≡ 2 [ ( x1 + x2 − 3.00) + 3( x1 + 3 x2 − 7.00) − (2 x1 − x2 − 0.20) + ∂x2 + (3 x1 + x2 − 5.00) ] = 0, ili, posle sreñivanja, 15 x1 5 x1
+ 5 x2 + 12 x2
= 25.40, = 28.80.
Rešenje ovog sistema je x1 = 1.04 , x2 = 1.97 . ▲ Primetimo da smo normalni sistem jednačina mogli formirati na sledeći način: pomnožimo li redom uslovne jednačine brojevima 1, 1, 2, 3 i saberimo li tako dobijene jednačine, dobićemo prvu jednačinu normalnog sistema; pomnožimo li redom uslovne jednačine brojevima 1, 3, –1, 1 i saberemo li tako dobijene jednačine, dobićemo drugu jednačinu normalnog sistema jednačina. Dakle, može se uočiti da se k–ta jednačina normalnog sistema dobija tako što se svaka uslovna jednačina pomnoži koeficijentom uz xk te jednačine pa se dobijene jednačine saberu.
Primer 2. Zadat je sistem linearnih algebarskih jednačina x + 2 y = 5, x − y = −1, 2x + y = 7. 319
a) Rešiti sistem metodom najmanjih kvadrata. b) Formirati sve podsisteme od dve jednačine s dve nepoznate i rešiti ih. U pravouglom koordinatnom sistemu 0xy predstaviti graficima prave koje su odreñene jednačinama zadatog sistema. Naći temena A, B, C trougla ∆ABC koji je odreñen odsečcima ovih pravih. Naći težište T ovog trougla. Rešenje. a) Da bismo dobili sistem normalnih jednačina, formiraćemo sumu S = ( x + 2 y − 5) 2 + ( x − y + 1) 2 + (2 x + y − 7) 2 ,
pa, zatim, naći njen minimum. Uslovi minimuma su: ∂S ≡ 2( x + 2 y − 5) + 2( x − y + 1) + 2 ⋅ 2 ⋅ (2 x + y − 7) = 0, ∂x ∂S ≡ 2 ⋅ 2 ⋅ ( x + 2 y − 5) − 2( x − y + 1) + 2(2 x + y − 7) = 0. ∂y
Posle sreñivanja imamo sistem normalnih jednačina 2x + y = 6, x + 2 y = 6.
Rešenje ovog sistema je: x = 2, y = 2. b) Podsistemi od dve jednačine s dve nepoznate su: x + 2 y = 5, x + 2 y = 5, x − y = −1, 2 x + y = 7,
2x + x −
y = 7, y = −1.
Rešenje ovih sistema jednačina su, očigledno, koordinate temena A, B, C trougla ∆ABC (sl. 4). Dakle, A(1, 2), B(3, 1), C(2, 3). y Težište trougla ima koordinate
=5
3 2.5 2 1
–1
0
y –
C
dakle, T(2, 2). A
T
1
Sl. 33 320
x
=7
2y
=
+y
x+
1 xT = ( x A + xB + xC ) = 2, 3 1 yT = ( y A + yB + yC ) = 2, 3
–1
2x
7
B 3
3.5 5
x
Primetimo da je rešenje dobijeno metodom najmanjih kvadrata upravo ureñen par (2, 2). Da li je ovaj zaključak opšteg karaktera? ▲
VI NUMERIČKE METODE REŠAVANJA PROBLEMA SOPSTVENIH VREDNOSTI I SOPSTVENIH VEKTORA MATRICA
0.
O PROBLEMU SOPSTVENIH VREDNOSTI I SOPSTVENIH VEKTORA MATRICA
U mnogim zadacima, kako teorijskog tako i praktičnog karaktera, matematike i njenih primena u mehanici, fizici, astronomiji i drugim prirodnim naukama i tehnici potrebno je izračunati sopstvene ili karakteristične vrednosti i odgovarajuće sopstvene ili karakteristične vektore zadate matrice A. Naime, potrebno je izračunati vrednosti parametra λ za koje postoje netrivijalna rešenja sistema homogenih linearnih algebarskih jednačina (1) Ax = λx , gde je
(2)
a11 a A = 21 ⋮ an1
a12 ⋯ a1n a22 ⋯ a2 n ⋮ an 2 ⋯ ann
zadata matrica, a x = ( x1 , x2 ,… , xn )T nepoznat vektor. Sistem jednačina (1) može se zapisati i na sledeći način (1')
( A − λE ) x = 0 ,
gde je E jedinična matrica istih dimenzija kao i matrica A. Kao što je poznato, sistem jednačina (1), odnosno (1'), uvek ima trivijalno rešenje x = (0, 0, … , 0)T . Uslov postojanja netrivijalnog rešenja je da je determinanta tog sistema jednaka nuli, dakle,
(3)
a11 − λ a12 ⋯ a1n a21 a22 − λ ⋯ a2 n D (λ ) = det(A − λ E ) = =0. ⋮ ⋮ an1 an 2 ⋯ ann − λ
Determinanta (3) je karakteristična determinanta matrice A.
Definicija 1. Vrednosti parametra λ za koje homogeni sistem jednačina (1) ima netrivijalna rešenja nazivaju se sopstvene ili karakteristične vrednosti a odgovarajuća netrivijalna rešenja sopstveni ili karakteristični vektori matrice A. 321
Na prvi pogled zadatak je vrlo jednostavan. Potrebno je karakterističnu determinantu (3) razviti u tzv. karakteristični polinom matrice A (4) ili
D (λ ) = (−1) n [λ n − σ1λ n −1 + σ 2 λ n − 2 − ⋯ + ( −1) n σ n ]
(4')
D (λ ) = (−1) n [λ n − p1λ n −1 − p2 λ n − 2 − ⋯ − pn ] ,
rešiti karakterističnu jednačinu matrice A (5)
λ n − p1λ n −1 − p2 λ n − 2 − ⋯ − pn = 0 ,
tj. naći nule ili korene karakterističnog polinoma λ i , i = 1, n , sopstvene vrednosti matrice A i, zatim, rešiti n sistema homogenih linearnih algebarskih jednačina oblika (6) ( A − λ i E ) xi = 0 , i = 1, n tj. naći odgovarajuće sopstvene vektore xi , i = 1, n . Meñutim, već samo razvijanje karakteristične determinante (3) u karakteristični polinom (4) nije jednostavno za veće vrednosti n (na primer, za n > 4) i osnovna teškoća je što parametar λ figuriše u svakoj vrsti i u svakoj koloni determinante D (λ ) . A rešavanje karakteristične jednačine (5) povezano je s dobro poznatim problemima rešavanja algebarskih jednačina n–tog stepena (n > 4). Ovde postoji još jedan veliki problem. Naime, rešavajući karakterističnu jednačinu (5), po pravilu, umesto tačnih sopstvenih vrednosti λ i , i = 1, n , dobijaju se približne vrednosti λɶ , pa je karakteristična determinanta i
det(A − λɶ i E ) ≠ 0 , a tada, kao što je poznato, sistem homogenih jednačina (1) ima samo trivijalno rešenje x = 0 . Zadaci i metode rešavanja problema sopstvenih vrednosti i sopstvenih vektora matrica dele se u dve osnovne grupe: 1) nalaženje svih sopstvenih vrednosti i odgovarajućih sopstvenih vektora, što zovemo potpunim problemom sopstvenih vrednosti i sopstvenih vektora matrica, 2) nalaženje jedne ili nekoliko, ali ne svih, sopstvenih vrednosti i odgovarajućih sopstvenih vektora matrice, što zovemo delimičnim problemom sopstvenih vrednosti i sopstvenih vektora matrica. Delimičan problem sopstvenih vrednosti i sopstvenih vektora najčešće se sastoji u nalaženju najveće po apsolutnoj vrednosti sopstvene vrednosti – prve sopstvene vrednosti λ1 i odgovarajućeg sopstvenog vektora x1 . Najveći broj metoda rešavanja potpunog problema sopstvenih vrednosti matrica sadrži sledeće tri etape: a) nalaženje karakterističnog polinoma, dakle, koeficijenata pi , i = 1, n , polinoma D (λ ) = (−1) n [λ n − p1λ n −1 − p2 λ n − 2 − ⋯ − pn ] ;
322
b) nalaženje sopstevnih vrednosti matrice A, tj. nalaženje korena ili nula λ i , i = 1, n , karakterističnog polinoma; c) nalaženje odgovarajućih sopstevnih vektora xi , i = 1, n , matrice A. Razvijanje karakteristične determinante D (λ ) u karakteristični polinom neposredno daje: n
σ1 = Σ akk – suma svih dijagonalnih minora prvog reda matrice A; k =1
σ2 = Σ
k
akk amk
akk σ3 = Σ amk k < m
akm – suma svih dijagonalnih minora drugog reda matrice A; amm akm amm alm
akl aml – suma svih dijagonalnih minora trećeg reda matrice all
A; ⋮ σ n = det A . Predstava o obimu računskog procesa može se steći na osnovu činjenice da je broj dijagonalnih minora p–tog reda jednak n( n − 1)(n − 2)⋯ (n − p + 1) , p = 1, n Cnp = p! i da treba izračunati Cn1 + Cn2 + ⋯ + Cnn = 2n − 1
determinanata različitog reda (od reda 1 do reda n). Dakle, neposredno razvijanje karakteristične determinante u karakteristični polinom je vrlo komplikovano. Radi toga su konstruisane posebne metode za rešavanje tog zadatka. Takve metode su: metoda Danilevskog, metoda Krilova, metoda Leverijea, metoda interpolacije i mnoge druge metode.
1.
METODA DANILEVSKOG
Jedna od metoda rešavanja potpunog problema sopstvenih vrednosti i sopstvenih vektora matrica je metoda Danilevskog. Suština metode sastoji se u transformisanju karakteristične determinante
(1)
a11 − λ a12 ⋯ a1, n −1 a21 a22 − λ ⋯ a2, n −1 D (λ ) = det(A − λ E ) = ⋮ an1 an 2 ⋯ an , n −1
a1n a2 n ⋮ ann − λ
323
u tzv. normalni oblik Frobenijusa p1 − λ p2 p3 ⋯ pn −1 pn 1 −λ 0 ⋯ 0 0 (2) D (λ ) = 0 1 −λ ⋯ 0 0 . ⋮ 0 0 0 ⋯ 1 −λ Iz (2), razvijanjem po elementima prve vrste, dobijamo D (λ ) = ( p1 − λ )(−λ ) n −1 − p2 (−λ ) n − 2 + p3 (−λ ) n −3 − ⋯ + ( −1) n −1 pn ili, posle sreñivanja, (3)
D (λ ) = (−1) n [λ n − p1λ n −1 − p2 λ n − 2 − … − pn ] .
Dakle, treba zadatu matricu a11 a12 ⋯ a1,n −1 a a22 ⋯ a2,n −1 21 (4) A= ⋮ an1 an 2 ⋯ an , n −1
a1n a2 n ⋮ ann
transformisati u njoj sličnu matricu Frobenijusa p1 p2 p3 ⋯ pn −1 1 0 0 ⋯ 0 (5) P=0 1 0 ⋯ 0 ⋮ 0 0 0 ⋯ 1
pn 0 0 , 0 tj. da važi P = S −1 AS , gde je S nesingularna matrica. Budući da slične matrice imaju jednake karakteristične polinome, tj. det(P − λ E ) = det(A − λ E ) gde je E jedinična matrica, dovoljno je pokazati kako se, polazeći od date matrice A, transformacijama sličnosti dolazi do matrice P. To se postiže pomoću (n – 1)–ne transformacije sličnosti matrica. Polazi se od poslednje vrste, dakle, potrebno je umesto vrste an1 an 2 … an , n −1 ann
dobiti vrstu 0 0 … 1 0. Pretpostavimo da je an , n −1 ≠ 0 . Podelimo li elemente (n – 1)–ve kolone matrice
A elementom an , n −1 , poslednja vrsta matrice A će imati oblik an1
an 2 … 1 ann .
Ako sada (n – 1)–vu kolonu transformisane matrice A, pomnoženu redom sa an1 , an 2 , ..., an , n − 2 , ann , oduzmemo od svih ostalih kolona, poslednja vrsta 324
dobiće traženi oblik 0 0 ... 1 0 . Jednostavno se može pokazati da se isti rezultat dobija ako matricu A pomnožimo zdesna matricom 1 0 ⋮ M n −1 = − an1 an , n −1 0
(6)
⋯ ⋯
0 1 −
0 0
an 2 1 ⋯ an , n −1 an , n −1
⋯
0
. ann − an , n −1 1
0 0
0
Dakle, b12 b11 b22 b21 B = AM n −1 = ⋮ bn −1,1 bn −1, 2 0 0
(7)
⋯
b1, n −1
⋯
b2, n −1
⋯ bn −1, n −1 ⋯
1
b1n b2 n , bn −1, n 0
gde je (8)
bij = aij − ai , n −1 ⋅
anj an , n −1
, 1 ≤ i ≤ n , j ≠ n − 1 ; bi , n −1 = ai , n −1 ⋅
1 an , n −1
, 1≤ i ≤ n .
Kako matrica B nije slična matrici A, to matricu B treba pomnožiti s leve strane matricom 0 ⋯ 0 0 1 0 1 ⋯ 0 0 . M n−−11 = ⋮ (9) an1 an 2 ⋯ an , n −1 ann 0 0 ⋯ 0 1 Na taj način se dobija c12 ⋯ c1, n −1 c1n c11 c22 ⋯ c2, n −1 c2 n c21 (10) C = M n−−11 B = M n−−11 AM n −1 = ⋮ ⋮ , cn −1,1 cn −1, 2 ⋯ cn −1, n −1 cn −1, n 0 ⋯ 1 0 0 gde je (11)
cij = bij , 1 ≤ i ≤ n − 2,
n
cn −1, j = ∑ ank bkj , 1 ≤ j ≤ n . k =1
325
Očigledno, matrica C ima n–tu vrstu jednaku n–toj vrsti matrice P i slična je matrici A. Pretpostavimo da je cn −1, n − 2 ≠ 0 . Ako izvedemo analogne operacije nad matricom C uzimajući (n – 2)– gu vrstu za osnovu, u rezultatu ćemo dobiti matricu (12)
D = M n−−12CM n − 2 = M n−−12 M n−−11 AM n −1M n − 2 .
Matrica D ima poslednje dve vrste jednake poslednjim dvema vrstama matrice P i slična je matrici A. Ako proces nastavimo, onda posle (n – 1)–nog koraka dobijamo traženu matricu Frobenijusa, matricu (5), dakle, (13)
P = M 1−1 ⋯ M n−−12 M n−−11 AM n −1M n − 2 ⋯ M 1 ,
odakle jednostavno dobijamo karakteristični polinom matrice A. Proces je moguć ako su svi elementi: an , n −1 , cn −1, n − 2 , … različiti od nule. Šta će biti ako je na nekoj etapi, recimo k–toj, element d k , k −1 = 0 ? Tada nije moguće produžiti proces neposredno, ali ga je moguće produžiti u modifikovanom obliku. 1) Neka je neki od elemenata koji stoji levo od elementa d k , k −1 = 0 matrice d11 d 21 ⋮ D = d k1 0 ⋮ 0
⋯ d1k
⋯ d1, n −1
d 22 ⋯ d 2 k
⋯ d 2, n −1
d k 2 ⋯ d kk
⋯ d k , n −1
d12
0
⋯
1
⋯
0
0
⋯
0
⋯
1
d1n d2n d kn 0 0
različit od nule, na primer d kl ≠ 0, l < k − 1 . Tada treba permutovati (k – 1)–vu i l–tu kolonu matrice D i istovremeno (k – 1)–vu i l–tu vrstu. Na taj način dobijamo matricu D', sličnu matrici D, i proces metode Danilevskog je moguć. 2) Svi elementi koji stoje levo od elementa d k , k −1 = 0 matrice D su jednaki nuli: d kl = 0 , l = 1, 2, ..., k − 1 . Tada je D1 L D= 0 D2 i det(A − λ E ) = det(D1 − λ E1 ) ⋅ det(D2 − λ E2 ) , dakle, proces Danilevskog treba primeniti na matricu D1. Neka su λ1, λ2, ..., λn rešenja karakteristične jednačine D (λ ) = 0 , tj. neka su λ1, λ2, ..., λn sopstvene vrednosti matrice A. Kako su matrice P i A slične matrice, to su λ1, λ2, ..., λn sopstvene vrednosti i matrice P. Pokažimo kako se nalaze sopstveni vektori matrice A. Prvo ćemo naći sopstvene vektore matrice
326
P. Neka je y = ( y1 , y2 , ..., yn )T sopstveni vektor matrice P koji odgovara sopstvenoj vrednosti λ, dakle, y je netrivijalno rešenje vektorske jednačine (P − λ E) y = 0 , odnosno, ( y1 , y2 , ..., yn ) je netrivijalno rešenje sistema homogenih jednačina ( p1 − λ ) y1 y1
+ −
p2 y2 λ y2 y2
+
p3 y3
−
λy3
+
⋯ +
pn yn
= 0, = 0, = 0,
−
λ yn
= 0.
⋱ yn −1
Zbog homogenosti ovog sistema jednačina jednu nepoznatu možemo izabrati proizvoljno, na primer, možemo uzeti da je yn = 1 . Tada redom nalazimo: yn −1 = λ , yn − 2 = λ 2 , ..., y1 = λ n −1 , dakle, y = (λ n −1, ..., λ 2, λ,1)T , pa je iz Py = λy , tj. M 1−1 ⋯ M n−−12 M n−−11 AM n −1M n − 2 ⋯ M 1 = λy
sopstveni vektor x matrice A koji odgovara sopstvenoj vrednosti λ jednak x = M n −1M n − 2 ⋯ M 2 M 1 y .
Primer 1. Zadata je matrica 2.00 2.10 2.20 A = 0.90 3.00 2.20 . 0.90 1.20 4.00 Metodom Danilevskog rešiti potpun problem matrice A. Rešenje. Nañimo karakteristični polinom matrice A. Računaćemo sa šest decimala i u rezultatu zadržati pet decimala. Dakle, redom računamo: 1 0.90 M 2 = − 1.20 0
0 1 1.20 0
0 4.00 − , 1.20 1
M 2−1
0 0 1 = 0.90 1.20 4.00 , 0 0 1
0.425000 1.750000 −4.800000 B = AM 2 = −1.350000 2.500000 −7.800000 , 0 1 0 C=
M 2−1 B
0.425000 1.750000 −4.799999 = −1.237500 8.574999 −13.679997 , 0 1 0
327
1 −1.237500 M1 = 0 0 M 1−1
−
8.574999 −1.237500 1 0
−
−13.679997 −1.237500 0 , 1
−1.237500 8.754999 −13.679997 , = 0 1 0 0 0 1
−0.343634 4.694949 −9.498180 , D = CM 1 = 1 0 0 0 1 0 8.999999 −19.489996 11.753998 . P= = 1 0 0 0 1 0 Karakteristični polinom je M 1−1 D
D (λ ) = (−1)3 [λ 3 − 9.00000λ 2 + 19.49000λ − 11.75400] .
Da bismo izračunali sopstvene vrednosti, trebamo rešiti karakterističnu jednačinu D (λ ) = 0 . Posmatranjem date matrice A može se uočiti da ako od dijagonalnih elemenata oduzmemo 1.80, onda će 2. i 3. vrsta biti jednake, a to znači da je det(A – 1.80E) = 0, odnosno 1.80 je jedno rešenje jednačine D (λ ) = 0 . Dalje je (λ 3 − 9.00000λ 2 + 19.49000λ −11.75400) : (λ −1.80) = λ 2 − 7.20000λ + 6.53000 , pa druge dve sopstvene vrednosti nalazimo rešavanjem kvadratne jednačine λ 2 − 7.20000λ + 6.53000 = 0 . Odavde nalazimo da su druge dve sopstvene vrednosti 6.135744 i 1.064256. Dakle, sopstvene vrednosti su: λ1 = 6.135744 , λ 2 = 1.800000 , λ 3 = 1.064256 . Odgovarajući sopstveni vektori su xi = M 2 M 1 yi , gdje je
yi = (λ i2, λ i ,1)T , i = 1, 2, 3 .
Izračunajmo, na primer, x2 . 1 0.90 x2 = − 1.20 0
328
0 1 1.20 0
1 0 −1.237500 4.00 ⋅ − 0 1.20 0 1
−
8.574999 −1.237500 1 0
−
−13.679997 2 −1.237500 1.800000 0 ⋅ 1.800000 = 1 1
−0.808081 6.929292 −11.054543 3.240000 −1.200000 = 0.606061 −4.363636 4.957574 ⋅ 1.80000 = −0.933333 , 0 0 1 1 1
dakle, x2 = (−1.20000, − 0.93333,1)T . ▲
2.
METODA KRILOVA
Ideja metode Krilova sastoji se u transformisanju karakteristične determinante
(1)
a11 − λ a12 ⋯ a1n a21 a22 − λ ⋯ a2 n D (λ ) = ⋮ an1 an 2 ⋯ ann − λ
u determinantu sledećeg oblika
(2)
D1 (λ ) =
b11 − λ
b12
b21 − λ 2 ⋮
b22 ⋯ b2 n
bn1 − λ n
bn 2 ⋯ bnn
⋯ b1n ,
pri čemu pod odreñenim uslovima karakteristične jednačine D (λ ) = 0 i D1 (λ ) = 0 imaju ista rešenja, ekvivalentne su, a D1 (λ ) = 0 je jednostavnijeg oblika. Transformisanje determinante (1) u determinantu (2) Krilov je razmatrao uvodeći odreñene diferencijalne jednačine povezane s datom matricom A. Kasnije je razrañena čisto algebarska varijanta metode (Н. Н. Лузин, И. Н. Хлодовский, Д. К. Фаддеев, …). Ovde ćemo izložiti upravo tu varijantu metode Krilova. Jednakost a11 − λ a12 ⋯ a1n a21 a22 − λ ⋯ a2 n D (λ ) = =0 (3) ⋮ ⋯ ann − λ an1 an 2 je potreban i dovoljan uslov da bi sistem homogenih linearnih jednačina a11 x1 + a12 x2 + ⋯ + a1n xn = λx1 , a21 x1 + a22 x2 + ⋯ + a2 n xn = λx2 , (4) ⋮ an1 x1 + an 2 x2 + ⋯ + ann xn = λxn , imao netrivijalna rešenja ( x1 , x2 , ..., xn ) .
329
Transformišimo sistem jednačina (4) na sledeći način. Pomnožimo prvu jednačinu sistema jednačina (4) sa λ: a1λx1 + a12 λx2 + ⋯ + a1n λxn = λ 2 x1 . Zamenimo li λx1 , λx2 , … , λxn izrazima iz (4), posle sreñivanja dobijamo b21 x1 + b22 x2 + ⋯ + b2 n xn = λ 2 x1 ,
(5) gde je
n
b2 k = ∑ a1s ask , k = 1, n .
(6)
s =1
Pomnožimo li jednačinu (5) sa λ i zamenimo li, opet, λx1 , λx2 , … , λxn izrazima iz (4), posle sreñivanja dobijamo b31 x1 + b32 x2 + ⋯ + b3n xn = λ 3 x1 . Ponovimo li ovaj postupak (n – 1)–an put, dobićemo umesto sistema jednačina (4) sledeći sistem b11 x1 + b12 x2 + ⋯ + b1n xn = λx1 , + ⋯ + b2 n xn
= λ 2 x2 ,
bn1 x1 + bn 2 x2 + ⋯ + bnn xn gde se koeficijenti bik računaju po formulama:
= λ n xn ,
(7)
+ b22 x2
b21 x1 ⋮
b1k = a1k ,
(8)
n
bik = ∑ bi −1, s ask , i = 2, 3, … , n, k = 1, 2, … , n. s =1
Očigledno, determinanta sistema jednačina (7) je oblika (2). Sistem homogenih jednačina (7) ima netrivijalna rešenja za one vrednosti parametra λ za koje je D (λ ) = 0 . Na taj način, D1 (λ ) = 0 za sve one vrednosti
λ za koje je D (λ ) = 0 .
Napomena. Na potpuno isti način determinanta (1) se može transformisati u determinantu kod koje parametar λ figuriše u bilo kojoj drugoj koloni. Pokažimo da je 1 0 ⋯ 0 b11 b12 ⋯ b1n D1 (λ ) = = C = const. (9) ⋮ D (λ ) bn −1,1 bn −1,2 ⋯ bn −1,n Ako je C ≠ 0, onda je
D1 (λ ) = C ⋅ D (λ ) , tj.
D1 (λ )
je jednaka
karakterističnom polinomu D (λ ) do na konstantan množitelj. Neka su koreni D (λ ) različiti. Kako su svi koreni D (λ ) istovremeno i koreni D1 (λ ) , to je D1 (λ ) deljivo sa D (λ ) . Osim toga, stepeni D1 (λ ) i D (λ ) 330
su jednaki, njihov količnik je konstantan (ne zavisi od λ). Uporeñivanjem koeficijenata uz λ n , dobijamo D1 (λ ) =C . D (λ ) Ako D (λ ) ima višestruke korene, opet važi jednakost (10)
D1 (λ ) = C ⋅ D (λ ) .
Ovu jednakost možemo i neposredno proveriti izračunavanjem odgovarajućih determinanti. Ako je C = 0, onda je D1 (λ ) identički jednaka nuli i transformacije nisu dovele do cilja. Tada je moguće naći neki polinom stepena manjeg od n kojim je deljiv karakteristični polinom, tzv. minimalni polinom. Mi se ovde nećemo tim baviti, a možemo se upoznati sa odgovarajućim postupkom, na primer, u knjizi: Фаддеев, Фаддеева – Вычислительные методы линейной алгебры, Москва, 1960. Pokažimo sada kako se transformacija može izvesti da na neki način budu obuhvaćena oba slučaja i C ≠ 0 i C = 0. Posmatrajmo vektore bi = (bi1 , bi 2 , ..., bin ) ' , Jednakosti (8) b1k = a1k n
bik = ∑ bi −1, s ask , i = 2, 3, … , n s =1
pokazuju da je (11)
bi = A '⋅ bi −1 ,
gde je A' transponovana matrica date matrice A. Kako je još i b1 = A ' b0 , gde je b0 = (1, 0, ..., 0) ' , to imamo da je (12)
bi = A 'i ⋅ b0 , i = 1, 2, … , n .
Umesto vektora b0 = (1, 0, … , 0) ' mogli bismo uzeti proizvoljan vektor b0 = (b01 , b02 , ..., b0 n ) ' . Neka je (13)
b01 x1 + b02 x2 + ⋯ + b0n xn = u ,
gde je ( x1 , x2 , ..., xn ) rešenje sistema jednačina (4). Tada, ponavljajući prethodno rasuñivanje, rasuñivanje kod transformisanja (1) u (2), nalazimo b01 x1 + b02 x2 + ⋯ + b0 n xn = u , b11 x1 + b12 x2 + ⋯ + b1n xn = λu , (14) ⋮ bn1 x1 + bn 2 x2 + ⋯ + bnn xn = λ n u , gde je bi = (bi1 , bi 2 , ..., bin ) ' = A 'i ⋅ b0 . 331
Posmatrajući (14) kao sistem linearnih homogenih jednačina po nepoznatim x1, x2, ..., xn, u (n + 1 jednačina s n + 1 nepoznatom) dobijamo da je netrivijalno rešenje moguće u tom i samo tom slučaju kada je
(15)
b02 ⋯ b0 n b12 ⋯ b1n
1 λ
bn1 bn 2 ⋯ bnn
λn
b01 b11 D1 (λ ) = ⋮
=0.
Ponavljajući prethodno rasuñivanje nalazimo da je D1 (λ ) = C ⋅ D (λ )
a
(16)
b01 b02 ⋯ b0 n b11 b12 ⋯ b1n . C= ⋮ bn −1,1 bn −1,2 ⋯ bn −1,n
Dakle, i u ovom slučaju transformacije ne dovode do cilja ako je C = 0. Pretpostavimo da je C ≠ 0. Tada iz jednakosti D1 (λ ) = C ⋅ D (λ ) zaključujemo da su koeficijenti pi karakterističnog polinoma D (λ ) = ( −1) n [λ n − p1λ n −1 − ⋯ − pn ]
jednaki pi = (−1) n −i
Ci , i = 1, 2, … , n , C
gde su Ci algebarski komplementi elemenata λ n −i determinante (15). Dakle, odreñivanje koeficijenata pi karakterističnog polinoma je povezano s izračunavanjem minora ali nije jednostavno zbog velikog obima računanja. Meñutim, imajući u vidu da su vrste determinante (16) upravo komponente vektora b0 , b1 , ..., bn −1 , to uslov C ≠ 0 je uslov linearne nezavisnosti ovih vektora, pa ovi vektori čine bazu prostora. Prema tome, (17)
bn = q1bn −1 + q2bn − 2 + ⋯ + qn b0 .
Pokažimo da su koeficijenti qi , i = 1, n u relaciji (17) upravo koeficijenti karakterističnog polinoma D (λ ) = ( −1) n [λ n − p1λ n −1 − ⋯ − pn ]
Zaista, oduzevši od poslednje vrste determinante (15) linearnu kombinaciju prethodnih vrsta s koeficijentima q1, q2, ..., qn dobijamo, koristeći (17), da je
332
1 ⋮
D1 (λ ) =
λ n −1
b01 ⋮
b02 ⋮
⋯
b0 n ⋮
bn −1,1 bn −1,2 ⋯ bn −1,n
0 0 λ n − q1λ n −1 − q2 λ n − 2 − ⋯ − qn n n n −1 n−2 = (−1) [λ − q1λ − q2 λ − ⋯ − qn ] ⋅ C.
⋯
=
0
Zbog toga je D (λ ) =
D1 (λ ) C
= ( −1) n [λ n − q1λ n −1 − q2 λ n − 2 − ⋯ − qn ] ,
što je i trebalo dokazati. Dakle, qi = pi , i = 1, n . Jednakost (17) povezuje metodu Krilova i Keli–Hamiltonovu teoremu.
Teorema. Svaka kvadratna matrica X anulira svoj karakteristični polinom D (λ ) = (−1) n [λ n − p1λ n −1 − ⋯ − pn ] , tj. D ( X ) = (−1) n [ X n − p1 X n −1 − ⋯ − pn E ] ≡ 0 , gde je E jedinična matrica istih dimenzija kao i matrica X.
Dokaz izostavljamo, a može se naći gotovo u svakom udžbeniku linearne algebre. Tvrñenje teoreme važi i za odgovarajuću transponovanu matricu. Dakle, polazeći od relacije A 'n = p1 A 'n −1 + p2 A 'n − 2 + ⋯ + pn E
nalazimo A 'n b0 = p1 A 'n −1 b0 + p2 A 'n − 2 b0 + ⋯ + pn b0 ,
odnosno (18)
bn = p1bn −1 + p2bn − 2 + ⋯ + pn b0 .
Vektorskoj jednačini (18) odgovara sistem od n lineranih jednačina sa n nepoznatih: p1, p2, …, pn. Rešavanjem sistema dobijamo koeficijente karakterističnog polinoma. Umesto vektorske jednačine (18) za nalaženje koeficijenata karakterističnog polinoma može se koristiti jednačina (19) cn = p1cn −1 + p2 cn − 2 + ⋯ + pn c0 , gde je ck = Ak c0 , tj. ck = Ack −1 , k = 1, 2, … , n, c0 = (c01 , c02 ,… , c0 n ) ' – početni, proizvoljni vektor. Vektorskoj jednačini (19) odgovara sistem linearnih algebarskih jednačina 333
(20)
cn −1,1 p1
+
c01 pn
= cn ,1 ,
cn −1, 2 p1
+ cn − 2, 2 p2
+ ⋯ + c02 pn
= cn , 2 ,
+ cn − 2, n p2
+ ⋯ + c0 n pn
= cn , n .
cn − 2,1 p2
+ ⋯ +
⋮ cn −1, n p1
Za nalaženje koeficijenata pi karakterističnog polinoma pomoću (18) ili (19) potreban broj množenja i deljenja je 32 n 2 (n + 1) a ako se koristi prva varijanta metode Krilova taj broj je 13 (n 4 + 4n3 + 2n 2 − n − 3) . Sistem jednačina (20) možemo rešiti, na primer, Gausovom metodom eliminacije. Ako sistem ima jedinstveno rešenje, karakteristični polinom je jednoznačno odreñen. Ako sistem nema jedinstveno rešenje, onda treba uzeti drugi početni vektor c0 . Ako sistem nema jedinstveno rešenje za proizvoljan izbor vektora c0 , onda se primenom metode Krilova može dobiti minimalni polinom matrice. Tada će se neke jednačine sistema (20) svesti na oblik 0 = 0. Ako je takvih jednačina m, onda treba odbaciti toliko jednačina sistema i rešivši sistem jednačina sa c0 , c1 , ..., cm −1 i cm kao slobodnim članovima, dobićemo minimalni polinom. Kako se nalaze sopstveni vektori matrice? Neka su odreñeni koeficijenti p1, p2, ..., pn krakterističnog polinoma. Neka je c0 polazni vektor a x0 , x1 , ..., xn −1 su sopstveni vektori koji odgovaraju sopstvenim vrednostima λ1 , λ 2 , ..., λ n koje se nalaze rešavanjem karakteristične jednačine matrice D (λ ) ≡ (−1) n [λ n − p1λ n −1 − ⋯ − pn ] = 0 . Sopstveni vektori su linearno nezavisni, dakle, čine bazu, pa se vektor c0 može razložiti na sledeći način (21) c0 = α1 x1 + α 2 x2 + ⋯ + α n xn .
Tada za već izračunate vektore važi c1 = Ac0 = α1λ1 x1 + α 2 λ 2 x2 + ⋯ + α n λ n xn , c2 = A2 c0 = α1λ12 x1 + α 2 λ 22 x2 + ⋯ + α n λ n2 xn , (22) ⋮ cn −1 = An −1c0 = α1λ1n −1 x1 + α 2 λ n2 −1 x2 + ⋯ + α n λ nn −1 xn . Pokažimo kako se sopstveni vektori mogu naći u obliku linearne kombinacije (23)
xi = βi 0 cn −1 + βi1cn − 2 + ⋯ + βi , n −1c0 , i = 1, n
gde koeficijente βij treba izabrati na pogodan način. Dakle, na osnovu (22) relacija (23) je jednaka xi = βi 0 cn −1 + βi1cn − 2 + ⋯βi ,n −1c0 = βi 0 (α1λ1n −1 x1 + α 2 λ 2n −1 x2 + ⋯ + α n λ nn −1 xn ) +
+ βi1 (α1λ1n − 2 x1 + α 2 λ 2n − 2 x2 + ⋯ + α n λ nn − 2 xn ) + ⋯ + βi ,n −1 (α1 x1 + α 2 x2 + ⋯ + α n xn ) =
334
= α1 (βi 0 λ1n −1 + βi1λ1n − 2 + ⋯ + βi ,n −1 ) x1 + α 2 (βi 0 λ n2 −1 + βi1λ n2 − 2 + ⋯ + βi ,n −1 ) x2 + ⋯ +
+ α n (βi 0 λ nn −1 + βi1λ nn − 2 + ⋯ + βi ,n −1 ) xn = α1ϕ(λ1 ) x1 + α 2 ϕ(λ 2 ) x2 + ⋯ + α n ϕ(λ n ) xn ,
gde je ϕ(t ) = βi 0t n −1 + βi1t n − 2 + ⋯ + βi , n −1 . Izaberimo koeficijente βi 0 , βi1 , ..., βi , n−1 redom tako da bude: 1) ϕ(λ1 ) ≠ 0, ϕ(λ 2 ) = 0, ..., ϕ(λ n ) = 0, 2) ϕ(λ1 ) = 0, ϕ(λ 2 ) ≠ 0, ..., ϕ(λ n ) = 0, ⋮ n) ϕ(λ1 ) = 0, ϕ(λ 2 ) = 0, ..., ϕ(λ n ) ≠ 0.
U slučaju 1) dovoljno je uzeti u svojstvu polinoma ϕ(t ) polinom (t − λ1 )(t − λ 2 )(t − λ 3 )⋯ (t − λ n ) = (t − λ1 ) ( −1) n D (t ) t n − p1t n −1 − ⋯ − pn = = t − λ1 t − λ1
ϕ(t ) = (t − λ 2 )(t − λ 3 )⋯ (t − λ n ) =
(24)
gde je D (t ) karakteristični polinom matrice A, a koreni ovog polinoma su ranije izračunati. Koeficijenti količnika se mogu izračunati, na primer, koristeći Hornerovu shemu i jednaki su β10 = 1, β1 j = λ1β1, j −1 − p j , j = 1, 2, … , n − 1 .
Na taj način je (25)
β10 cn −1 + β11cn − 2 + ⋯ + β1,n −1c0 = α1ϕ(λ1 ) x1 ,
što znači da je leva strana jednakosti (25) jednaka sopstvenom vektoru x1 do na konstantan činilac. Na analogan način se postupa i u ostalim slučajevima, pa imamo n −1
(26)
xi = ∑ βij cn −1− j , j =0
gde je (27)
βi 0 = 1, βij = λ1βi , j −1 − p j , j = 1, 2, … , n − 1 .
Primer. Metodom Krilova rešiti sopstvenih vektora matrice 2 A = 1 3
potpun problem sopstvenih vrednosti i 1 3 2 3 . 2 1
335
Rešenje. Uzmimo za početni vektor vektor c0 = (1, 0, 0) ' . Redom računamo 2 1 3 1 2 2 1 3 2 14 c1 = Ac0 = 1 2 3 ⋅ 0 = 1 , c2 = Ac1 = 1 2 3 ⋅ 1 = 13 , 3 2 1 0 3 3 2 1 3 11 2 1 3 14 74 c3 = Ac2 = 1 2 3 ⋅ 13 = 73 . 3 2 1 11 79
Odgovarajući sistem linearnih algebarskih jednačina je p3 + 2 p2 + 14 p1 = 74, p2 + 13 p1 = 73, 3 p2 + 11 p1 = 79. Rešimo ovaj sistem jednačina, na primer Gausovom metodom eliminacije. c0 c1 c2 c3 i ∑ 1 1 2 14 74 91 2 0 1 13 73 87 3 0 3 11 79 93 2 1 13 73 87 3 28 140 168 3 1 5 6 3 1 5 6 2 1 8 9 1 1 –12 –11 Rešenje sistema je: p1 = 5, p2 = 8, p3 = –12, pa je karakteristični polinom matrice A D (λ ) = ( −1)3 [λ 3 − 5λ 2 − 8λ + 12] . Koreni polinoma, sopstvene vrednosti matrice, su: λ1 = 6, λ2 = –2, λ3 = 1. Sopstvene vektore nalazimo koristeći formulu 2
xi = ∑ βij c2 − j , βi 0 = 1, βij = λ i βi , j −1 − p j , i = 1, 2, 3 . j =0
Dakle,
x1 = β10 c2 + β11c1 + β12 c0 , β10 = 1, β11 = λ1β10 − p1 = 6 ⋅ 1 − 5 = 1, β12 = λ1β11 − p2 = 6 ⋅ 1 − 8 = −2,
pa je
x1 = (14, 13,11) '+ (2, 1, 3) '− 2(1, 0, 0) ' = (14,14, 14) ' . Na isti način nalazimo x2 = β20 c2 + β21c1 + β22 c0 , β20 = 1, β21 = λ 2β20 − p1 = ( −2) ⋅ 1 − 5 = −7, β22 = λ 2β21 − p2 = (−2) ⋅ (−7) − 8 = 6, x2 = (14,13,11) '− 7(2,1, 3) '+ 6(1, 0, 0) ' = (6, 6, − 10) ' ;
336
x3 = β30 c2 + β31c1 + β32 c0 , β30 = 1, β31 = λ 3β30 − p1 = 1 ⋅ 1 − 5 = −4, β32 = λ 3β31 − p2 = 1 ⋅ (−4) − 8 = −12, x3 = (14,13,11) '− 4(2,1, 3) '− 12(1, 0, 0) ' = (−6, 9, − 1) ' . ▲ Budući da su sopstveni vektori odreñeni tačno do na konstantan faktor, možemo uzeti da su sopstveni vektori x1 = (1,1,1) ' , x2 = (3, 3, − 5) ' , x3 = ( −6, 9, − 1) ' ili x1 = (1,1,1) ' , x2 = (1, 1, − 53 ) ' , x3 = (6, − 9,1) ' (vektor xi ima i–tu komponentu jednaku jedinici).
3.
METODA LEVERJEA
Najstarija metoda za rešavanje potpunog problema sopstvenih vrednosti matrica je metoda Laverjea (Leverrier, 1840.). Metoda se zasniva na Njutnovim formulama za zbirove stepena rešenja ili korena algebarskih jednačina. Neka je (1)
D (λ ) = det( A − λE ) = (−1) n [λ n − p1λ n −1 − ⋯ − pn ]
karakteristični polinom matrice A. Ako su λ1 , λ 2 , ..., λ n sopstvene vrednosti matrice A (meñu kojima može biti i jednakih), onda važe sledeće, Njutnove formule (2) kpk = sk − p1sk −1 − ⋯ − pk −1s1 , k = 1, n , gde je n
(3)
sk = S p Ak = ∑ λ ik i =1
trag matrice Ak. Dakle, ako su poznate vrednosti sk, onda iz (2) nalazimo koeficijente karakterističnog polinoma (1): p1 = s1 , 1 p2 = ( s2 − p1s1 ), 2 1 (4) p3 = ( s3 − p1s2 − p2 s1 ), 3 ⋮ 1 pn = ( sn − p1sn −1 − p2 xn − 2 − ⋯ − pn −1s1 ). n Kako se izračunavaju zbirovi s1 , s2 , ..., sn – tragovi matrica A, A2 , ..., An ? Pre svega, koeficijent p1 karakterističnog polinoma (1) je jednak zbiru svih minora prvog reda determinante matrice A, tj. p1 = a11 + a22 + ⋯ + ann ,
a na osnovu prve od Vietovih formula je p1 = λ1 + λ 2 + ⋯ + λ n , 337
dakle
p1 = s1 = a11 + a22 + ⋯ + ann = S p A .
Dokažimo sledeću lemu.
Lema. Ako su λ1 , λ 2 , ..., λ n sopstvene vrednosti matrice A (meñu kojima može biti i jednakih) i f (t ) = a0 + a1t + ⋯ + am t m zadati polinom, onda su f (λ1 ), f (λ 2 ), ..., f (λ n ) sopstvene vrednosti matrice f ( A) . Dokaz. Neka su t1 , t2 , ..., tm koreni polinoma f (t ) , tada je f (t ) = am (t − t1 )(t − t2 )⋯ (t − tm ) , pa je
f ( A) = am ( A − t1 E )( A − t2 E )⋯ ( A − tm E ) . Izračunajmo determinantu matrice f ( A) . det f ( A) = f ( A) = amn A − t1 E ⋅ A − t2 E ⋯ A − tm E = amn D (t1 ) ⋅ D (t2 )⋯ D (tm ) , gde je D (t ) karakteristični polinom matrice A. Karakteristični polinom možemo zapisati na sledeći način D (t ) = (λ1 − t )(λ 2 − t )⋯ (λ n − t ) . Zbog toga je n
m
n
m
n
i =1
j =1
i =1
f ( A) = amn ∏∏ (λ i − t j ) = ∏ (am ∏ (λ i − t j )) = ∏ f (λ i ) , i =1 j =1
dakle, f ( A) = f (λ1 ) f (λ 2 )⋯ f (λ n ) . Poslednja jednakost je identitet u odnosu na koeficijente polinoma f (t ) . Ako primenimo ovaj identitet na polinom f (t ) − u , dobićemo f ( A) − uE = ( f (λ1 ) − u )( f (λ 2 ) − u )⋯ ( f (λ n ) − u ) f ( A) a to znači da su sopstvene vrednosti matrice f (λ1 ), f (λ 2 ), ..., f (λ n ) . ■
Specijalno, ako je
f (t ) = t k , dakle,
jednake
f ( A) = Ak , zaključujemo da su
sopstvene vrednosti matrice Ak jednake λ1k , λ k2 , ..., λ nk , pa je sk = S p Ak = λ1k + λ 2k + ⋯ + λ nk . Stepeni matrice A se računaju neposrednim množenjem matrica: A = Ak −1 ⋅ A . Računski proces je vrlo obiman. Potreban broj množenja je 1 (n − 1) ⋅ (2n3 − 2n 2 + n + 2) . 2 Meñutim, može se primetiti da za izračunavanje traga matrice Ak nije neophodno računati sve njene elemente, dovoljno je izračunati samo njene dijagonalne elemente. k
338
Primer 1. Metodom Leverjea naći karakteristični polinom matrice 7 3 2 1 5 0 3 4 . A= 4 3 2 1 1 2 3 4 Rešenje. Izračunajmo tragove matrica A, A2, A3 i A4. s1 = S p A = 7 + 0 + 2 + 4 = 13 ; 7 5 2 A = 4 1
3 0 3 2
2 3 2 3
1 7 4 5 ⋅ 1 4 4 1
3 0 3 2
2 3 2 3
1 73 4 51 = 1 52 4 33
29 32 20 20
30 28 24 26
25 24 , 22 28
s2 = S p A2 = 73 + 32 + 24 + 28 = 157 ; 73 51 A3 = A2 ⋅ A = 52 33
29 32 20 20
30 28 24 26
25 7 24 5 ⋅ 22 4 28 1
3 0 3 2
2 3 2 3
25 73 24 51 ⋅ 22 52 28 33
29 32 20 20
30 28 24 26
1 801 4 285 , = 1 278 4 251
s3 = S p A3 = 1615 ; 73 51 A4 = A2 ⋅ A2 = 52 33
29 32 20 20
30 28 24 26
25 9193 24 3543 , = 22 3268 28 2661
s4 = S p A4 = 18665 ; D (λ ) = det( A − λE ) = (−1) n [λ n − p1λ n −1 − ⋯ − pn ] ,
kpk = sk − p1sk −1 − ⋯ − pk −1a1 , k = 1, n . p1 = s1 = 13,
1 1 p2 = [ s2 − p1s1 ] = [157 − 13 ⋅ 13] = −6 , 2 2 1 1 p3 = [ s3 − p1s2 − p2 s1 ] = [1615 − 13 ⋅ 157 − (−6) ⋅ 13] = −116 , 3 3 1 1 p4 = [ s4 − p1s3 − p2 s2 − p3 s1 ] = [18665 − 13 ⋅ 1615 − ( −6) ⋅ 157 − ( −116) ⋅ 13] = 30 4 4 4 4 2 2 D (λ ) = (−1) [λ − 13λ + 6λ + 116λ − 30] . ▲
339
4.
JEDNA MODIFIKACIJA METODE LEVERJEA
Fadejev je dao jednu modifikaciju metode Leverjea (Д. К. Фаддеев, И. С. Соминскй – Сборник задaч по высшей алгебре, 1949, задача 979.). Ova metoda omogućava jednostavnije izračunavanje koeficijenata pi karakterističnog polinoma D (λ ) = (−1) n [λ n − p1λ n −1 − p2 λ n − 2 − ⋯ − pn ] .
(1)
Ako je matrica A nesingularna, onda se jednostavno nalazi inverzna matrica A−1 . Isto tako, ako su izračunate sopstvene vrednosti λ1 , λ 2 , ..., λ n matice A, metoda omogućava nalaženje i odgovarajućih sopstvenih vektora x1 , x2 , ..., xn . Umesto niza matrica A, A2 , A3 , ..., An treba izračunati niz matrica A1 , A2 , A3 , ., An na sledeći način: A1 = A, S p A1 = q1 , B1 = A1 − q1 E , 1 A2 = AB1 , S p A2 = q2 , B2 = A2 − q2 E , 2 1 A3 = AB2 , S p A3 = q3 , B3 = A3 − q3 E , 3 (2) ⋮ 1 An −1 = ABn − 2 , S p An −1 = qn −1 , Bn −1 = An −1 − qn −1 E , n −1 1 An = ABn −1 , S p An = qn , Bn = An − qn E. n Dokažimo da je: a) q1 = p1 , q2 = p2 , q3 = p3 , … , qn = pn ; b) Bn je nula–matrica; B c) A−1 = n −1 ako je A nesingularna matrica. pn Dokažimo tvrñenje a) metodom matematičke indukcije. Očigledno, p1 = S p A = q1 . Pretpostavimo da je qk −1 = pk −1 , k ≥ 2 i dokažimo da je qk = pk . Zaista, na osnovu načina konstruisanja niza matrica imamo Ak = ABk −1
= A( Ak −1 − qk −1 E ) = A( ABk − 2 − qk −1 E ) = A( A( Ak − 2 − qk − 2 E ) − qk −1 E ) = = A( A( ABk −3 − qk − 2 E ) − qk −1 E ) = A( A( A( Ak −3 − qk −3 E ) − qk − 2 E ) − qk −1 E ) = = ⋯ = Ak − q1 Ak −1 − q2 Ak − 2 − ⋯ − qk −1 A = = Ak − p1 Ak −1 − p2 Ak − 2 − ⋯ − pk −1 A.
Prema tome, (3)
S p Ak = kqk
= S p Ak − p1S p Ak −1 − p2 S p Ak − 2 − ⋯ − pk −1S p A = = sk − p1sk −1 − p2 sk − 2 − ⋯ − pk −1s1 ,
pa je na osnovu Njutnove formule kqk = kpk , tj. qk = pk . 340
Dalje, na osnovu Keli–Hamiltonove teoreme Bn = An − p1 An −1 − p2 An − 2 − ⋯ − pn E = 0 , gde je 0 nula–matrica dimenzija n × n, tj Bn je nula–matrica i tvrñenje b) je tačno. Na kraju, iz jednakosti (3) imamo da je ABn −1 = An = Bn + pn E = pn E , odnosno 1 1 A⋅ Bn −1 = E , tj. A−1 = Bn −1 . pn pn Dakle, tačno je tvrñenje c).
Primer 1. Modifikovanom metodom Leverjea naći karakteristični polinom matrice 3 4 2 A = 2 5 2 . 2 3 4 Naći inverznu matricu A−1 . Rešenje. Redom računamo 4 2 3 4 2 −9 A1 = A = 2 5 2 , p1 = S p A1 = 12 , B1 = A1 − 12 E = 2 −7 2 ; 2 3 4 2 3 −8 −15 −10 −2 1 1 A2 = AB1 = −4 −21 −2 , p2 = ⋅ S p A2 = ( −58) = −29 , 2 2 −4 −1 −22 14 −10 −2 B2 = A2 − (−29) E = −4 8 −2 ; −4 −1 7 18 0 0 0 0 0 1 A3 = AB2 = 0 18 0 , p3 = ⋅ S p A3 = 18 , B3 = A3 − 18 ⋅ E = 0 0 0 . 3 0 0 18 0 0 0
Karakteristični polinom je D (λ ) = (−1)3 [λ 3 − 12λ 2 + 29λ − 18] . Inverzna matrica je 14 −10 −2 1 1 −1 A = B2 = −4 8 −2 . p3 18 −4 −1 7 Jednostavno se proverava da je A ⋅ A−1 = E . ▲ 341
Neka su λ1 , λ 2 , ..., λ n sopstvene vrednosti matrice A i neka su različiti meñu sobom. Konstruišimo matricu Qk = λ nk −1 E + λ nk − 2 B1 + ⋯ + Bn −1 , (4) gde su Bi izračunate matrice (2), a λ k k–ta sopstvena vrednost matice A. Ako Qk nije nula–matrica, onda se njene kolone sastoje od komponenata vektora xk koji odgovara sopstvenoj vrednosti λ k . Zaista, (λ k E − A)Qk = (λ k E − A)(λ nk −1 E + λ nk − 2 B1 + ⋯ + Bn −1 ) = = λ nk E + λ nk −1 ( B1 − A) + λ nk − 2 ( B2 − AB1 ) + ⋯ − ABn −1 = = λ nk E − p1λ nk −1 E − p2 λ nk − 2 E − ⋯ − pn E = 0.
Odavde sledi da je (λ k E − A)u = 0 , gde je u bilo koja kolona matrice Qk, tj. λ k u = Au ,
(5)
što i dokazuje da je u sopstveni vektor matrice A.
Napomena. Za izračunavanje kolone u matrice Qk pogodno je koristiti rekurentnu formulu u0 = e1 , ui = λ k ui −1 + bi ( k )
(6)
gde je bi ( k ) vektor–kolona matrice Bi a ei odgovarajuća vektor–kolona jedinične matrice.
Primer 2. Izračunati sopstveni vektor matrice iz prethodnog primera. Rešenje. Rešavanjem karakteristične jednačine λ 3 − 12λ 2 + 29λ − 18 = 0 nalazimo sopstvene vrednosti: λ1 = 1, λ 2 = 2, λ 3 = 9 . Odgovarajuće sopstvene vektore nalazimo pomoću (6). Dakle, za λ = λ1 = 1 je 1 1 −9 −8 (1) u0 = e1 = 0 , u1 = λ1 ⋅ u0 + b1 = 1 ⋅ 0 + 2 = 2 , 0 0 2 2
u2 =
λ1 ⋅ u1 + b1(2)
−8 14 6 = 1 ⋅ 2 + −4 = −2 , 2 −4 −2
x1 = (6, − 2, − 2)T ili x1 = (3, − 1, − 1)T ; 0 0 4 4 (1) u0 = e2 = 1 , u1 = λ 2 ⋅ u0 + b2 = 2 ⋅ 1 + −7 = −5 , 0 0 3 3
342
u2 =
λ 2 ⋅ u1 + b2(2)
4 −10 −2 = 2 ⋅ −5 + 8 = −2 , 3 −1 5
x2 = ( −2, − 2, 5)T ; 0 0 2 2 (1) u0 = e3 = 0 , u1 = λ 3 ⋅ u0 + b3 = 9 ⋅ 0 + 2 = 2 , 1 1 −8 1
u2 =
λ 3 ⋅ u1 + b3(2)
2 −2 16 = 9 ⋅ 2 + −2 = 16 , 1 7 16
x3 = (16, 16,16)T ili x3 = (1,1,1)T . ▲
5.
METODA INTERPOLACIJE
Metoda interpolacije omogućava matrice a11 a12 a a22 (1) A = 21 ⋮ an1 an 2
nalaženje karakterističnog polinoma ⋯ a1n ⋯ a2 n . ⋯ ann
Dakle, treba naći karakteristični polinom a11 − λ a12 ⋯ a1n a21 a22 − λ ⋯ a2 n D (λ ) = det( A − λE ) = = (2) ⋮ an1 an 2 ⋯ ann − λ n n n −1 = ( −1) [λ − p1λ − ⋯ − pn ]. Iskoristimo činjenicu da je polinom n–tog stepena D (λ ) = ( −1) n [λ n − p1λ n −1 − ⋯ − pn ] odreñen ako su poznati njegove vrednosti za λ = ti , i = 0, n , ti ≠ t j , i ≠ j . Izračunajmo vrednosti D (ti ) , i = 0, n , a11 − ti a21 D (ti ) = ⋮ an1
a12 ⋯ a22 − ti ⋯ an 2
a1n a2 n
.
⋯ ann − ti
343
Ako konstruišemo polinom koji je odreñen tačkama (ti , D (ti )) , i = 0, n , dobićemo karakteristični polinom matrice A.
Primer 1. Naći karakteristični polinom matrice 1.30 0.30 2.10 A = −0.50 0.50 2.30 . 2.20 2.20 9.80 Rešenje. Računaćemo sa četiri decimale. Izaberimo čvorove interpolacije: t0 = 0, t1 = 1, t2 = 2 , t3 = 3 i izračunajmo sledeće determinante: 1.30 0.30 2.10 0.30 0.30 2.10 D (0) = −0.50 0.50 2.30 = −1.8400 ; D (1) = −0.50 −0.50 2.30 = 0.0000 ; 2.20 2.20 8.80 2.20 2.20 9.80 −1.70 0.30 2.10 −0.70 0.30 2.10 D (2) = −0.50 −1.50 2.30 = 19.0400 ; D (3) = −0.50 −2.50 2.30 = 49.2800 . 2.20 2.20 6.80 2.20 2.20 7.80
Sastavimo tablicu konačnih razlika D (λ )
λ 0
–1.8400
1
0.0000
∆D (λ )
∆ 2 D (λ )
∆ 2 D (λ )
1.8400 17.2000 19.0400 2
19.0400
3
49.2800
–6.0000 11.2000
30.2400 Prvi Njutnov interpolacioni polinom je 1.8400 17.2000 −6.0000 (λ − 0) + (λ − 0)(λ − 1) + (λ − 0)(λ − 1)(λ − 2) = 1!⋅ 1 2!⋅ 12 3!⋅ 13 = −1.8400 − 8.7600λ + 11.6000λ 2 − λ 3 ,
D (λ ) = −1.8400 +
dakle, karakteristični polinom je D (λ ) = (−1)3 [λ 3 − 11.6000λ 2 + 8.7600λ + 1.8400] . ▲
Metoda interpolacije je jednostavna, ali je računski proces obiman. Broj množenja i deljenja je n +1 ( n − 1)(n 2 + n + 3) . 3
344
Meñutim, metoda je važna jer se može primeniti i za rešavanje opštijeg problema det( A − λB) , gde B nije jedinična matrica. Potrebno je znati stepen odgovarajućeg polinoma.
Primer 2. Naći karakteristični polinom uopštenog problema ako su zadate matrice 3 1 8 2 4 9 A = 5 5 9 i B = 5 8 3 . 8 7 0 9 5 0 Rešenje. Izračunajmo vrednosti determinante 3 − 2λ 1 − 4 λ 8 − 9λ D (λ ) = det( A − λB ) = 5 − 5λ 5 − 8λ 9 − 3λ 8 − 9λ 7 − 5λ 0 − 0λ
za λ = 0,1, 2, 3, 4, 5, ...
3 1 8 D (0) = 5 5 9 = −157 ; 8 7 0
1 −3 −1 D (1) = 0 −3 6 = 9 ; −1 2 0
−1 −7 −10 D (2) = −5 −9 3 = 1151 ; −10 −3 0
−3 −11 −19 D (3) = −10 −19 0 = 5339 ; −19 −8 0
−5 −15 −28 D (4) = −15 −27 −3 = 14643 , −28 −13 0
−7 −19 −37 D (5) = −20 −35 −6 = 31133 ,... −37 −18 0
Sastavimo tablicu konačnih razlika λ 0
D (λ )
1
9
∆D (λ )
∆ 2 D (λ )
∆ 3 D (λ )
∆ 4 D (λ )
–157 166 976 1142
2
1151
2070 3046
4188 3
5339
5116 9304
4
0 2070
14643
0 2070
7186 16490
5 ⋮
31133
345
166 976 2070 λ+ λ (λ − 1) + λ (λ − 1)(λ − 2) = 2 1!⋅ 1 2!⋅ 1 3!⋅ 13 = −157 + 368λ − 547λ 2 + 345λ 3 . ▲ D (λ ) = −157 +
Metoda interpolacije može se primeniti i u sledećem, najopštijem slučaju. Da bismo našli karakteristični polinom matrice a11 (λ ) a12 (λ ) ⋯ a1n (λ ) a (λ ) a (λ ) ⋯ a (λ ) 22 2n , (7) A(λ ) = 21 ⋮ an1 (λ ) an 2 (λ ) ⋯ ann (λ ) gde su aij (λ ) zadati polinomi, tj. da bismo izračunali det A(λ ) , treba znati kojeg je najviše stepena karakteristični polinom det A(λ ) . Neka je stepen polinoma najviše jednak m. Tada treba izabati (m + 1)–nu različitu vrednost λ = t0 , λ = t1 , λ = t2 , ..., λ = tm i izračunati vrednosti det A(ti ) , i = 0, m , i konstruisati interpolacioni polinonom koji za λ = ti ima vrednosti det A(ti ) , i = 0, m . Na taj način se dobija karakteristični polinom matrice (7).
6.
ITERATIVNA METODA ZA REŠAVANJE POTPUNOG PROBLEMA SOPSTVENIH VREDNOSTI MATRICA
Ova metoda omogućava nalaženje svih sopstvenih vrednosti date realne matrice A bez prethodnog nalaženja njenog karakterističnog polinoma. Potrebno je poznavanje karaktera sopstvenih vrednosti, pa se, saglasno tome, razmatraju tri slučaja: a) sve sopstvene vrednosti su realne i meñu sobom različite, b) sve sopstvene vrednosti su realne i meñu njima ima jednakih, c) meñu sopstvenim vrednostima ima konjugovano–kompleksnih. Razmotrimo slučaj a). Poznato je da važi (1) si = S p Ai = λ1i + λ i2 + ⋯ + λ in , gde su si tragovi matrice Ai , i = 1, n . Posmatrajmo sledeći sistem nelinearnih algebarskih jednačina f1 (λ1 , λ 2 , ..., λ n ) ≡ λ1 + λ 2 + ⋯ + λ n − s1 = 0, (2)
f 2 (λ1 , λ 2 , ..., λ n ) ≡ λ12 + λ 22 + ⋯ + λ n2 − s2 = 0, ⋮
f n (λ1 , λ 2 , ..., λ n ) ≡ λ1n + λ n2 + ⋯ + λ nn − sn = 0. Ako uvedemo oznake λ = (λ1 , λ 2 , ..., λ n )T , f = ( f1 , f 2 , ..., f n )T , onda sistem jednačina (2) možemo kratko zapisati u sledećem obliku f (λ ) = 0. (2')
346
Važi sledeća teorema.
Teorema 1. Karakteristična jednačina (3)
D (λ ) ≡ det( A − λE ) ≡ (−1) n [λ n − p1λ n −1 − ⋯ − pn ] = 0
i sistem jednačina (2), odnosno (2'), su povezani na sledeći način: ako su λ1 , λ 2 , ..., λ n rešenja (koreni) jednačine (3), onda sistem jednačina (2), odnosno (2'), ima n! rešenja ( λ p1 , λ p2 , ..., λ pn ), gde je p1 , p2 , ..., pn proizvoljna permutacija brojeva 1, 2, ..., n. Drugih rešenja sistem jednačina (2) nema. Važi i obrnuto: ako je (µ1 , µ 2 , ..., µ n ) rešenje sistema jednačina (2), odnosno (2'), onda su µ1 , µ 2 , ..., µ n rešenja (koreni) jednačine (3). Dokaz ove teoreme ovde izostavljamo, a može se naći, na primer, u knjizi: Болтянский, Виленкин – Симметрия в алгебре, Наука, Москва, 1967. Rešenje sistema jednačina (2), odnosno (2'), potražićemo Njutnovom metodom za rešavanje sistema nelinearnih algebarskih ili tanscedentnih jednačina. Neka je λ ( k ) = (λ1( k ) , λ (2k ) , ..., λ (nk ) )T
k–ta aproksimacija rešenja λ = (λ1 , λ 2 , ..., λ n )T sistema jednačina (2), odnosno (2'). Tada, saglasno Njutnovoj metodi, imamo (4)
λ ( k +1) = λ ( k ) − Wn−1 (λ ( k ) ) ⋅ f (λ ( k ) ), k = 0,1, 2,… ,
gde je
(5)
1 2λ 1 f ′(λ ) = Wn (λ ) = ⋮ n −1 nλ1
1 2λ 2 nλ 2n −1
1 2λ n . ⋯ nλ nn −1 ⋯ ⋯
Determinanta Jakobijeve matrice (jakobijana) (5) je det Wn (λ ) = n !
∏
n ≥ i > j ≥1
(λ i − λ j ) ≠ 0 ,
što znači da postoji Wn−1 (λ ) . Specijalna struktura matrice (5) omogućava jednostavno izračunavanje Wn−1 (λ ) . Za ilustraciju posmatraćemo slučaj n = 3. Tada je 1 1 1 W3 (λ ) = 2λ1 2λ 2 2λ 3 3λ 2 3λ 2 3λ 2 2 3 1 i det W3 (λ) = 3!(λ 3 − λ 2 )(λ 3 − λ1 )(λ 2 − λ1 ) ≠ 0 , pa je 347
W3−1 (λ )
2 ⋅ 3λ 2 λ 3 (λ 3 − λ 2 ) −1 ⋅ 3(λ 2 + λ 3 )(λ 3 − λ 2 ) 1 ⋅ 2(λ 3 − λ 2 ) 1 = = −2 ⋅ 3λ1λ 3 (λ 3 − λ1 ) 1 ⋅ 3(λ1 + λ 3 )(λ 3 − λ1 ) −1 ⋅ 2(λ 3 − λ1 ) det W3 (λ ) 2 ⋅ 3λ1λ 2 (λ 2 − λ1 ) −1 ⋅ 3(λ1 + λ 2 )(λ 2 − λ1 ) 1 ⋅ 2(λ 2 − λ1 )
Iskoristimo li oznake f1( k ) = f1 (λ1( k ) , λ (2k ) , λ 3( k ) ) ,
f 2( k ) = f 2 (λ1( k ) , λ (2k ) , λ 3( k ) ) ,
f 3( k ) = f3 (λ1( k ) , λ (2k ) , λ 3( k ) ) , imaćemo prema (4), ali u razvijenoj formi,
6λ (2k ) λ 3( k ) f1( k ) − 3(λ (2k ) + λ 3( k ) ) f 2( k ) + 2 f3( k ) , 6(λ 3( k ) − λ1( k ) )(λ (2k ) − λ1( k ) ) −6λ1( k ) λ 3( k ) f1( k ) + 3(λ1( k ) + λ 3( k ) ) f 2( k ) − 2 f 3( k ) − , 6(λ 3( k ) − λ (2k ) )(λ (2k ) − λ1( k ) ) 6λ ( k ) λ ( k ) f ( k ) − 3(λ1( k ) + λ (2k ) ) f 2( k ) + 2 f3( k ) − 1 2 1 (k ) , 6(λ 3 − λ1( k ) )(λ (2k ) − λ1( k ) )
λ1( k +1) = λ1( k ) − (6) λ (2k +1) = λ (2k ) λ 3( k +1) = λ 3( k )
k = 0,1, 2,…
Primer. Naći sve sopstvene vrednosti matrice 3 4 2 A = 2 5 2 . 2 3 4 Rešenje. Imamo 21 38 22 183 , 3 341 A = 20 39 22 i A = 20 35 26 214 2
pa je s1 = 3 + 5 + 4 = 12, s2 = 21 + 39 + 26 = 86 i s3 = 183 + 341 + 214 = 738. Odgovarajući sistem jednačina je f1 (λ1 , λ 2 , λ 3 ) ≡ λ1 + λ 2 + λ 3 − 12 = 0, f 2 (λ1 , λ 2 , λ 3 ) ≡ λ12 + λ 22 + λ 32 − 86 = 0, f 3 (λ1 , λ 2 , λ 3 ) ≡ λ13 + λ 32 + λ 33 − 736 = 0. Uzmemo li za početnu aproksimaciju λ (0) = (9.5, 2.5,0.5)T i primenimo li iterativne formule (6), dobićemo: k λ1( k ) λ1( k ) λ 3( k ) 0 9.50000 2.50000 0.50000 1 9.03042 2.05060 0.91898 2 9.00009 2.00467 0.99536 3 9.00000 2.00002 0.99998 –4 Dakle, s tačnošću 10 imamo: λ1 = 9.0000, λ2 = 2.0000, λ3 = 1.0000. (Inače, sopstvene vrednosti su: λ1 = 9, λ2 = 2, λ3 = 1.) ▲ 348
Slučaj b) se razmatra eliminišući jednake sopstvene vrednosti koristeći veze: λn = λn–1 = … = λn–l > λn–l–1 = λn–l–2 = … = λn–l–m > … i uzimajući odgovarajući broj jednačina u sistemu (2). Slučaj c) se rešava posmatranjem parova konjugovano–kompleksnih sopstvenih vrednosti i traženjem veličina: τ1 = (a + ib) + (a – ib) = 2a i τ2 = (a + ib)(a – ib) = a2 + b2.
Napomena. Metoda može biti primenjena i za istovremeno nalaženje svih rešenja (korena) jednačine x n + a1 x n −1 + ⋯ + an = 0
posmatranjem matrice − a1 1 P= ⋮ 0
7.
− a2 ⋯ − an −1 0 ⋯ 0 0
⋯
1
− an 0 . 0
METODA PROIZVOLJNOG VEKTORA
Kao što smo ranije napomenuli, delimičan problem sopstvenih vrednosti matrica sastoji se u nalaženju jedne ili nekoliko, ali ne svih, sopstvenih vrednosti i odgovarajućih sopstvenih vektora. U mnogim zadacima matematike i njenih primena upravo se traži nalaženje najveće, ponekad najmanje, po modulu sopstvene vrednosti i odgovarajućeg sopstvenog vektora date matrice. Radi toga navešćemo nekoliko metoda rešavanja delimičnog problema sopstvenih matrica. Kod većeg broja metoda pretpostavlja se postojanje baze prostora koju čine sopstveni vektori, odnosno pretpostavlja se linearna nezavisnost vektora. Jedna od metoda rešavanja delimičnog problema sopstvenih vrednosti i sopstvenih vektora matrice je metoda proizvoljnog vektora. Pretpostavimo da je matrica A proste strukture, drugim rečima, neka matrica A ima n linearno nezavisnih sopstvenih vektora xi , i = 1, n . Dalje, neka su λ i , i = 1, n , odgovarajuće sopstvene vrednosti.
1. slučaj. Neka za sopstvene vrednosti matice A važi (1)
| λ1 | > | λ 2 | ≥ | λ 3 | ≥ ⋯ ≥ | λ n | ;
neka treba izračunati sopstvenu vrednost λ1 , dakle, najveću po apsolutnoj vrednosti. Sopstvenu vrednost λ1 zvaćemo prva sopstvena vrednost, a odgovarajući sopstveni vektor x1 prvi sopstveni vektor. 349
Proizvoljan vektor v0 može biti razložen po sopstvenim vektorima xi , i = 1, n , tj. v0 = α1 x1 + α 2 x2 + ⋯ + α n xn ,
(2)
gde su α i i = 1, n , skalari od kojih je bar jedan različit od nule. Formirajmo niz vektora
(3)
v1 = Av0 = α1 Ax1 + α 2 Ax2 + ⋯ + α n Axn = = α1λ1 x1 + α 2 λ 2 x2 + ⋯ + α n λ n xn , v2 = A2 v0 = Av1 = α1λ1 Ax1 + α 2 λ 2 Ax2 + ⋯ + α n λ n Axn = = α1λ12 x1 + α 2 λ 22 x2 + ⋯ + α n λ n2 Axn , v3 = A3v0 = A2 v1 = Av2 = α1λ12 Ax1 + α 2 λ 22 Ax2 + ⋯ + α n λ 2n Axn = = α1λ13 x1 + α 2 λ 32 x2 + ⋯ + α n λ 3n Axn , ⋮ vk = Ak v0 = Avk −1 = ⋯ = α1λ1k x1 + α 2 λ k2 x2 + ⋯ + α n λ kn Axn , vk +1 = Ak +1v0 = Avk = ⋯ = α1λ1k +1 x1 + α 2 λ 2k +1 x2 + ⋯ + α n λ nk +1 Axn , ⋮
Pretpostavimo da je u (2) α1 ≠ 0 . Tada imamo: k
λ1k
vk = A v0 = Avk −1 =
k +1
λ1k +1
k k λ λ α1 x1 + α 2 2 x2 + ⋯ + α n n xn λ1 λ1
i vk +1 = A
v0 = Avk =
k +1 k +1 λ2 λn α1 x1 + α 2 x2 + ⋯ + α n xn , λ1 λ1
odnosno, za dovoljno veliko k, vk =
λ1k α1 x1
λ k + O 2 λ1
i λ k +1 vk +1 = λ1k +1α1 x1 + O 2 . λ1
Dakle, za dovoljno veliko k vektori vk i vk +1 postaju „bliski” sopstvenom vektoru x1 matrice A, odnosno, kolinearni su mu, što znači da su odgovarajuće koordinate proporcionalne. Neka su i–te koordinate vektora vk i vk +1 različite od nule. Tada imamo 350
k +1 λ λ α1 x1 + α 2 2 x2 + ⋯ + α n n λ1 λ1 (vk +1 )i = λ1 ⋅ k (vk )i λ λ α1 x1 + α 2 2 x2 + ⋯ + α n n λ1 λ1
k +1
xn λ k 2 , = λ + O 1 k λ1 xn
što znači da je (vk +1 )i = λ1 . k →∞ (v ) k i
(4)
lim
Za dovoljno veliko k je λ1 ≈
(5)
(vk +1 )i ( Ak +1v0 )i . = (vk )i ( Ak v0 )i
Naravno, mogu se koristiti količnici i drugih koordinata koje su različite od nule; obično se za λ1 uzima aritmetička sredina količnika koordinata.
Napomena 1. Učinjena pretpostavka (1) ima smisla jer je to ispunjeno, na primer, kod matrica koje imaju realne i pozitivne elemente (Peronova teorema: Ako su svi elementi realne kvadratne matrice pozitivni, onda je najveća sopstvena vrednost pozitivna i jednostruka, a odgovarajući sopstveni vektor ima pozitivne koordinate.) Napomena 2. Zbog proizvoljnog izbora vektora v0 može se desiti da je u (2) α1 = 0 . Meñutim, u procesu računanja niza vektora (3) zbog grešaka zaokrugljivanja pojaviće se skalar – koeficijent α1 uz vektor x1 koji je različit od nule, pa će, opet, prvi sabirak kod vektora vk i vk +1 postati dominantan. Dakle, važiće relacija (4). Napomena 3. Zbog proizvoljnog izbora vektora v0 konvergencija može λ biti spora, što posebno dolazi do izražaja kada je količnik 2 blizak jedinici. λ1 Tada treba izabrati drugi početni vektor. Napomena 4. Za ubrzavanje iterativnog procesa koristi se sledeća shema: A, A2, A4, A8, …, A2k, A2k+1 i v2 k = A2 k v0 , v2 k +1 = A2 k +1v0 , pa se onda traži približna vrednost sopstvene vrednosti λ1 . 2. slučaj. Neka za sopstvene vrednosti matrice A važi (6)
| λ1 | = | λ 2 | = ⋯ = | λ m | > | λ m +1 | ≥ | λ m + 2 | ≥ ⋯ ≥ | λ n | .
U ovom slučaju imamo
351
k +1 λ λ ( α1 x1 + α 2 x2 + ⋯ + α m xm ) + α m +1 m +1 xm +1 + ⋯ + α n n λ1 λ1 (vk +1 )i = λ1 ⋅ k (vk )i λ λ ( α1 x1 + α 2 x2 + ⋯ + α m xm ) + α m +1 m +1 xm +1 + ⋯ + α n n λ1 λ1
k +1
xn i k xn i
k
λ Za ( α1 x1 + α 2 x2 + ⋯ + α m xm )i ≠ 0 i m +1 → 0 kada k → ∞ , pa opet imamo λ1 λ k (v ) λ1 = k +1 i + O m +1 . λ1 (vk )i i Odgovarajući sopstveni vektor je približno jednak Ak v0 ≈ α1λ1k x1 , tj. Ak v0 odreñuje sopstveni vektor x1 do na konstantan množilac.
Primer. Naći prvu sopstvenu vrednost λ1 i njoj odgovarajući sopstveni vektor x1 matrice 8 4 5 A = 1 5 6 . 4 3 96
Rešenje. Uzmimo za proizvoljan vektor v0 = (1,1,15)T . Redom računamo: 8 4 5 1 87 v1 = Av0 = 1 5 6 ⋅ 1 = 96 , 4 3 96 15 1447
1 87 96 1447 λ1(1) = + + = 93.156 ; 3 1 1 15 8 4 5 87 8315 v2 = Av1 = 1 5 6 ⋅ 96 = 9249 , 4 3 96 1447 139548 1 8315 9249 139548 λ1(2) = + + = 96.119 ; 3 87 96 1447 8 4 5 8315 801256 v3 = Av2 = 1 5 6 ⋅ 9249 = 891848 , 4 3 96 139548 13457615 1 801256 891848 13457615 λ1(3) = + + = 96.409 ; 3 8315 9249 139548
352
8 4 5 801256 77265515 v4 = Av3 = 1 5 6 ⋅ 891848 = 86006186 , 4 3 96 13457615 1297811608
1 77265515 86006186 1297811608 λ1(4) = + + = 96.434 3 801256 891848 13457615
Radi lakšeg računanja za vektor v4 uzećemo kolinearan vektor vektoru Av3 : v4 = v4 = (77.2655, 86.0062,1297.8116)T . Dakle, dalje imamo 8 4 5 77.2655 7451.2068 v5 = Av4 = 1 5 6 ⋅ 86.0062 = 8294.1661 , 4 3 96 1297.8116 125156.9942
1 7481.2068 8294.1661 125156.9942 λ1(5) = + + = 96.437 . 3 77.2655 86.0062 1297.8116 Uzećemo v5 = (74.5121, 82.9417,1251.5699)T . 8 4 5 74.5121 7185.8131 v6 = Av5 = 1 5 6 ⋅ 82.9417 = 7998.6400 , 4 3 96 1251.5699 120697.5839
1 7185.7131 7998.6400 120697.5839 λ1(6) = + + = 96.437 3 74.5121 82.9417 1251.5699
Dakle, λ1 ≈ 96.437 . Odgovarajući sopstveni vektor je x1 ≈ v6 = (7185.7131, 7998.6400,120697.5839)T .
Kako je sopstveni vektor odreñen do na konstantan množilac, to možemo uzeti, na primer, x1 = (1,1.113,16.797)T . ▲
8.
METODA TRAGOVA
Jedna od metoda rešavanja delimičnog problema sopstvenih vrednosti matrica je metoda tragova. Neka realna matrica A ima sopstvene vrednosti λ i , i = 1, n , takve da je | λ1 | > | λ 2 | ≥ | λ 3 | ≥ ⋯ ≥ | λ n | ;
(1) m
Neka je, dalje, A , m = 1, 2, 3, ..., m–ti stepen matrice A. Poznato je da važi (2)
sm = S p Am = λ1m + λ 2m + ⋯ + λ mn . 353
Relaciju (2) možemo zapisati na sledeći način m λ m λ m λn m 3 2 sm = λ1 1 + + + ⋯ + . λ1 λ1 λ1 S obzirom na relaciju (1) za dovoljno veliko m imamo λ m m (3) sm = λ1 + O 2 , λ1 pa je λ1 = lim m sm , m →∞
odnosno, za dovoljno veliko m, je λ1 ≈ m sm .
(4)
Stepene matrice A praktično je računati po sledećoj shemi: A, A2, A4, A8, …, A2k, …, pa je (4')
λ1 ≈ 2k s2k .
Da bismo izbegli izračunavanje korena visokog stepena, možemo izračunati sledeći stepen matrice Am +1 = Am ⋅ A i posmatrati sledeću relaciju sm +1 = S p Am +1 = λ1m +1 + λ m2 +1 + ⋯ + λ mn +1 = m +1 λ m +1 λ m +1 λn 3 2 1 + + + ⋯ + , = λ1 λ1 λ1 odnosno, s obzirom na relaciju (1), λ m +1 m +1 sm +1 = λ1 + O 2 . λ1 Za dovoljno veliko m je λ m s λ1 = m +1 + O 2 , sm λ1 odnosno sk s (6) λ1 ≈ m +1 = 2 +1 . sm s2 k
(5)
λ1m +1
Relacija (6) je, očigledno, praktičnija: nema korenovanja, a ni problema s odreñivanjem znaka sopstvene vrednosti. Odredimo li na ovaj način dve uzastopne aproksimacije λ1( m −1) i λ1( m ) koje se poklapaju u granicama zadate tačnosti, imaćemo λ1 ≈ λ1( m ) , a odgovarajući sopstveni vektor je x1 ≈ Am +1v0 , gde je v0 proizvoljan vektor. 354
Primer. Naći prvu sopstvenu vrednost λ1 i njoj odgovarajući sopstveni vektor x1 matrice 2 1 3 A = 3 4 3 . 4 4 3
Rešenje. Redom računamo stepene matrice A: 2 1 3 19 18 18 2 A = 3 4 3 , A = A ⋅ A = 30 31 30 , 4 4 3 32 32 33 1477 1476 1476 A = A ⋅ A = 2460 2461 2460 , 2624 2624 2625 4
2
2
13286 , A = A ⋅A= 22144 23619 5
4
119575 119574 119574 A = A ⋅ A = 199290 199291 199290 , 212576 212576 212577 6
4
2
1076168 i tragove stepena matrice A: 1793614 A = A ⋅A= 1913487 s1 = 2 + 4 + 3 = 9, s2 = 19 + 31 + 33 = 83, s4 = 1477 + 2461 + 2625 = 6563, s5 = 13286 + 22144 + 23619 = 59049, s6 = 119575 + 199291 + 212577 = 531443, s7 = 4782969. Primenom obrasca (4) nalazimo: 7
6
λ1(1) = 9.00000 ,
λ1(2) = 83 = 9.11043 ,
λ1(4) = 4 6563 = 9.00069 ,
λ1(5) = 5 59049 = 9.00000 ,
λ1(6) = 6 531443 = 9.00001 , λ1(7) = 7 4782969 = 9.00000 ;
primenom obrasca (6) nalazimo: 83 59049 λ1(1) = = 9.22222 , λ1(4) = = 8.99726 , 9 6563 531443 4782969 λ1(5) = = 9.00003 , λ1(6) = = 8.99997 . 59049 531443 355
Uočavamo da niz oscilira – neparne aproksimacije su veće, a parne manje; 9.00003 + 8.99997 uzećemo λ1 ≈ = 9.00000 . Uzmemo li proizvoljan vektor 2 v0 = (1,1,1)T , onda dobijamo odgovarajući sopstveni vektor x1 = A6 v0 = (358723, 597871, 717729)T ili x (1) = (1,1.66666, 2.00079)T .
Napomenimo da je trebalo koristiti A7 v0 ; meñutim, imali smo izračunat najviši stepen A6. ▲
9.
METODA SKALARNIH PROIZVODA
Ova metoda za rešavanje delimičnog problema sopstvenih vrednosti matrica zasniva se na izračunavanju sledećih skalarnih proizvoda ( Am v0 , A 'm v0 ) i ( Am −1v0 , A 'm v0 )
gde je A' transponovana matrica date matrice A, a v0 proizvoljan vektor. Neka realna matrica A ima sopstvene vrednosti λ i , i = 1, n , takve da je (1)
| λ1 | > | λ 2 | ≥ | λ 3 | ≥ ⋯ ≥ | λ n | .
Neka su xi , i = 1, n , odgovarajući sopstveni vektori matrice A, a x ' j , j = 1, n , odgovarajući sopstveni vektori matrice A'. Kao što je poznato, vektori {xi } i {x ' j } čine baze u prostoru En i pri tome je 1, i = j , ( xi , x ' j ) = δij = 0, i ≠ j.
(2)
Proizvoljan vektor v0 može biti prikazan na sledeće načine: v0 = α1 x1 + α 2 x2 + ⋯ + α n xn , v0 = β1 x '1 + β2 x '2 + ⋯ + βn x 'n .
Formirajmo nizove iteracija (3)
vm = Am v0 = Avm −1 = α1λ1m x1 + α 2 λ 2m x2 + ⋯ + α n λ nm xn , v 'm = A 'm v0 = A ' v 'm −1 = β1λ1m x '1 + β2 λ m2 x '2 + ⋯ + βn λ mn x 'n ,
m = 1, 2, 3,… , pri čemu je v '0 = v0 . Formirajmo sada skalarne proizvode: (vm , v 'm ) = ( Am v0 , A 'm v0 ) = α1β1λ12 m + α 2β2 λ 22 m + ⋯ + α nβn λ 2n m , (vm −1 , v 'm ) = ( Am −1v0 , A 'm v0 ) = α1β1λ12 m −1 + α 2β2 λ 22 m −1 + ⋯ + α nβn λ 2n m −1.
356
Pretpostavimo da je α1β1 ≠ 0 . Tada imamo 2m 2m λ2 λn α1β1 + α 2β2 + ⋯ + α nβn λ 2 m λ1 λ1 (vm , v 'm ) 2 = = λ + O 1 2 m −1 2 m −1 (vm −1 , v 'm ) λ1 λ λ λ12 m −1 α1β1 + α 2β2 2 + ⋯ + α nβn n λ λ 1 1
λ12 m
što znači da je (4)
lim
m →∞
(vm , v 'm ) = λ1 . (vm −1 , v 'm )
Za dovoljno veliko m je (vm , v 'm ) ( Am v , A 'm v0 ) . = m −1 0 (vm −1 , v 'm ) ( A v0 , A 'm v0 ) Ako je matrica A simetrična, onda je (v , v ) ( Am v , Am v ) (5') λ1 ≈ m m = m −1 0 m 0 . (vm −1 , vm ) ( A v0 , A v0 )
(5)
λ1 ≈
Napomena. Zbog proizvoljnog izbora vektora v0 može se desiti da je α1 ⋅β1 = 0 . Meñutim, u procesu računanja niza vektora {vm } i {v 'm } zbog grešaka zaokrugljivanja pojaviće se skalari – koeficijenti α1 i β1 uz vektore, redom, x1 i x '1 koji su različiti od nule, pa će, opet, prvi sabirci kod (vm , v 'm ) i (vm −1 , v 'm ) postati dominantni. Dakle, važiće relacija (5). Odgovarajući sopstveni vektor je približno jednak Am v0 ≈ α1λ1m x1 , tj. Am v0 odreñuje sopstveni vektor x1 do na konstantan množilac.
Primer. Naći prvu sopstvenu vrednost λ1 i njoj odgovarajući sopstveni vektor x1 matrice 7 12 5 A = 12 13 −1 . 5 −1 4
Rešenje. Matrica A je simetrična, tj. A' = A, pa ćemo koristiti (5'). Uzmimo v0 = (1,1, 0) ' . Redom računamo: 7 12 5 1 19 v1 = 12 13 −1 ⋅ 1 = 25 , 5 −1 4 0 4
(v0 , v1 ) = 44 , (v1 , v1 ) = 1002 , λ1(1) =
1002 = 22.773 ; 44 357
7 12 5 19 453 v2 = 12 13 −1 ⋅ 25 = 549 , 5 −1 4 4 86
(v1 , v2 ) = 22676 , (v2 , v2 ) = 514006 , λ1(2) = 22.667 ; 7 12 5 453 10189 v3 = 12 13 −1 ⋅ 549 = 12487 , 5 −1 4 86 2060
(v2 , v3 ) = 11648140 , (v3 , v3 ) = 263984490 , λ1(3) = 22.663 .
Može se pokazati (što ovde nismo uradili) da je i λ1(4) = 22.663 . Dakle, λ1 ≈ 22.663 ; sopstveni vektor je x1 ≈ (0.816,1.000, 0.165) ' . ▲
10. METODA ISCRPLJIVANJA Neka realna matrica A ima sopstvene vrednosti λ i , i = 1, n takve da je | λ1 | > | λ 2 | > | λ 3 | ≥ | λ 4 | ≥ ⋯ ≥ | λ n | .
(1)
Neka je poznata prva sopstvena vrednost λ1 , odgovarajući sopstveni vektor x1 matrice A i odgovarajući sopstveni vektor x '1 transponovane matrice A'. Bez smanjena opštosti možemo uzeti da je x1 = 1 i x '1 = 1 . Poznato je da važi 1, i = j , xi ⋅ x ' j = δij = 0, i ≠ j.
Posmatrajmo matricu
(2)
x11 x A1 = A − λ1 x1 ⋅ x '1 = A − λ1 12 ⋅ [ x '11 x '12 ⋯ x '1n ] . ⋮ x1n
Može se pokazati da matrica A1 ima sopstvene vrednosti: 0 i λ i , i = 2, n . Pokažimo to. Pomnožimo li relaciju (2) vektorom x1 , dobićemo A1 x1 = Ax1 − λ1 ( x1 ⋅ x '1 ) ⋅ x1 = Ax1 − λ1 ⋅ x1 ⋅ ( x '1 ⋅ x1 ) = = Ax1 − λ1 ⋅ x1 ⋅ 1 = λ1 x1 − λ1 x1 = 0 ⋅ x1 , što znači da je 0 sopstvena vrednost matrice A1. Pomnožimo li relaciju (2) vektorima xi , i = 2, n , dobićemo A1 xi = Axi − λ1 ( x1 ⋅ x '1 ) ⋅ xi = Axi − λ1 ⋅ x1 ⋅ ( x '1 ⋅ xi ) = Axi − λ1 x1 ⋅ 0 = Axi = λ i xi , što znači da su λ i , i = 2, n , sopstvene vrednosti matrice A1. 358
Dakle, matrica A1 ima sopstvene vrednosti 0 i λ i , i = 2, n , pa za sopstvene vrednosti matrice A1 važi | λ 2 | > | λ 3 | ≥ | λ 4 | ≥ ⋯ ≥ | λ n | ≥ 0 = λ1 ( A1 ) . Primenom bilo koje metode za nalaženje prve sopstvene vrednosti matrice A1 mi smo našli drugu sopstvenu vrednost matrice A. Na primer, metodom proizvoljnog vektora bismo imali ( Ak v ) (3) λ 2 ≈ k1−1 0 i , x2 ≈ C ⋅ A1k v0 , C ≠ 0 , ( A1 v0 )i gde je v0 proizvoljan vektor. Primetimo da je za računanje iteracija A1k v0 , k = 1, 2, 3, … , pogodno koristiti formulu A1k v0 = Ak v0 − λ1k x1 ⋅ x '1 ⋅ v0 . Metoda se može primeniti i za nalaženje sledećih sopstvenih vrednosti: A2 = A1 − λ 2 x2 ⋅ x '2 , … , što, na odreñen način, opravdava naziv metode: metoda iscrpljivanja.
Primer. Neći drugu sopstvenu vrednost λ 2 i odgovarajući sopsteni vektor x2 matrice 8 1 3 A = 2 7 3 2 4 6 1 1 1 1 1 1 ako je poznato: λ1 = 12 , x1 = , , , , , x '1 = . 3 3 3 3 3 3
Rešenje. Nañimo matricu A1 1 8 1 3 4 −3 −1 3 1 1 1 1 = −2 3 −1 . A1 = A − λ1 x1 ⋅ x '1 = 2 7 3 − 12 ⋅ 3 ⋅ 3 3 3 2 4 6 −2 0 2 13 Primenimo metodu proizvoljnog vektora na matricu A1. Uzmimo v0 = (1, 0, 0) ' . Redom računamo: 4 −3 −1 1 4 v1 = A1v0 = −2 3 −1 ⋅ 0 = −2 , −2 0 2 0 −2 4 −3 −1 4 24 v2 = A1v1 = −2 3 −1 ⋅ −2 = −12 . −2 0 2 −2 −12
359
1 24 −12 λ (1) + + 2 = 3 4 −2 4 −3 v3 = A1v2 = −2 3 −2 0
−12 = 6.000 ; −2 −1 24 144 −1 ⋅ −12 = −72 , 2 −12 −72
1 144 −72 −72 λ (2) + + = 6.000 . 2 = 3 24 −12 −12 Dakle, λ 2 = 6.000 , a x2 = (144, − 72, − 72) ' ili x2 = (2.000, − 1.000, − 1.000) ' . ▲
11. NALAŽENJE DRUGE SOPSTVENE VREDNOSTI I ODGOVARAJUĆEG SOPSTVENOG VEKTORA Neka su sopstvene vrednosti matrica A takve da je (1) | λ1 | > | λ 2 | > | λ 3 | ≥ | λ 4 | ≥ ⋯ ≥ | λ n | , i v0 proizvoljan vektor, dakle (2)
v0 = α1 x1 + α 2 x2 + α 3 x3 + ⋯ + α n xn ,
gde su x1 , x2 , x3 , ..., xn odgovarajući sopstveni vektori, a α1 , α 2 , α 3 , ..., α n skalari. Pomnožimo li relaciju (2) matricom A, dobićemo v1 = Av0 = α1 Ax1 + α 2 Ax2 + α3 Ax3 + ⋯ + α n Axn , odnosno, budući da je Axi = λ i xi , i = 1, n , (3)
v1 = Av0 = α1λ1 x1 + α 2 λ 2 x2 + α 3λ 3 x3 + ⋯ + α n λ n xn ,.
Pomnožimo li relaciju (3) matricom A, dobićemo v2 = Av1 = A2 v0 = α1λ1 Ax1 + α 2 λ 2 Ax2 + α3λ 3 Ax3 + ⋯ + α n λ n Axn , odnosno, budući da je Axi = λ i xi , i = 1, n , (4)
v2 = Av1 = A2 v0 = α1λ12 x1 + α 2 λ 22 x2 + α3λ 32 x3 + ⋯ + α n λ 2n xn .
Produžimo li ovaj postupak, dobićemo (5)
vm = Avm −1 = Am v0 = α1λ1m x1 + α 2 λ m2 x2 + α 3λ 3m x3 + ⋯ + α n λ nm xn
i (6) vm +1 = Avm = Am +1v0 = α1λ1m +1 x1 + α 2 λ m2 +1 x2 + α 3λ 3m +1 x3 + ⋯ + α n λ mn +1 xn . Neka je poznata prva sopstvena vrednost λ1 . Eliminacijom prvog sabirka iz (5') 360
λ1vm = α1λ1m +1 x1 + α 2 λ1λ 2m x2 + α3λ1λ 3m x3 + ⋯ + α n λ1λ mn xn
i vm +1 = α1λ1m +1 x1 + α 2 λ m2 +1 x2 + α 3λ 3m +1 x3 + ⋯ + α n λ mn +1 xn
(6') dobijamo
(7) vm +1 − λ1vm = α 2 λ m2 (λ 2 − λ1 ) x2 + α3λ 3m (λ 3 − λ1 ) x3 + ⋯ + α n λ nm (λ n − λ1 ) xn . Definišimo tzv. λ–razlike veličine vm = Avm −1 = Am v0 na sledeći način ∆ λ vm = ∆ λ Am v0 = Am +1v0 − λAm v0 .
(8)
Pretpostavimo da je λ 2 ≠ 0 , tada imamo ∆ λ1 Am v0 ≈ α 2 λ m2 (λ 2 − λ1 ) x2
(9) i
∆ λ1 Am −1v0 ≈ α 2 λ m2 −1 (λ 2 − λ1 ) x2 ,
(10) pa je
λ2 ≈
(11)
( ∆ λ1 Am v0 )i (∆ λ1 Am −1v0 )i
=
( Am +1v0 − λ1 Am v0 )i , i = 1, n . ( Am v0 − λ1 Am −1v0 )i
Odgovarajući sopstveni vektor je x2 ≈ ∆ λ1 Am v0 = ∆ λ1 vm .
(12)
Napomena 1. Ako je imenilac u izrazu (11) malen, onda može doći do gubljenja tačnosti. Tada treba dobijeni izraz transformisati ili, ako to nije moguće, onda možemo odrediti samo grubu približnu vrednost λ2. Napomena 2. Na sličan način bi bilo moguće odrediti i sledeću sopstvenu vrednost λ3, naravno, ako su poznate sopstvene vrednosti λ1 i λ2. I tako dalje. Primer. Izračunati drugu sopstvenu vrednosti matrice 3 4 5 A = 6 7 8 . 5 1 5 ako se zna da je λ1 =
13 + 217 ≈ 13.86546 . 2
Rešenje. Neka je v0 = (1, 1, 1) ' . Tada imamo: v1 = Av0 = (12, 21,11) ' , λ (1) 2 =
( A2 v0 − λ1 Av0 )i . ( Av0 − λ1v0 )i
v2 = Av1 = A2 v0 = (175, 307,136) ' . A2 v0 − λ1 Av0 = (8.61448,15.82534, − 16.52006) ' ,
Av0 − λ1v0 = ( −1.86546, 7.13454, − 2.86546) ' ,
1 8.61448 15.82534 −16.52006 λ (1) + + = 1.12183 , … 2 = 3 −1.86546 7.13454 −2.86546
361
12. NALAŽENJE SOPSTVENIH VREDNOSTI I SOPSTVENIH VEKTORA POZITIVNO DEFINITNE I SIMETRIČNE MATRICE Poznato je da su sopstvene vrednosti λ1, λ2, ..., λn pozitivno definitne i simetrične matrice A realne i pozitivne vrednosti i da za sopstvene vektore x1 , x2 , ..., xn važi n
( x j , xk ) = ∑ x jk ⋅ xkj = 0 za j ≠ k , i =1
(uslov ortogonalnosti). Napišimo sistem homogenih linearnih jednačina za nalaženje sopstvenog vektora x1 = ( x11 , x12 , ..., x1n ) ' , dakle, ( a11 − λ1 ) x11 + a12 x12 a21 x11 + ( a22 − λ1 ) x12 ⋮ an1 x11 + an 2 x12
+ ⋯ + + ⋯ +
a1n x1n = 0, a2 n x1n = 0,
+ ⋯ + (ann − λ1 ) x1n = 0,
što možemo zapisati i u sledećem obliku 1 x11 = (a11 x11 + a12 x12 + ⋯ + a1n x1n ), λ1 1 x12 = (a21 x11 + a22 x12 + ⋯ + a2 n x1n ), λ1 ⋮ 1 x1,n −1 = (an −1,1 x11 + an −1,2 x12 + ⋯ + an −1,n x1n ), λ1 1 λ1 = (an1 x11 + an 2 x12 + ⋯ + ann x1n ). x1n Budući da su koordinate vektora x1 odreñene s tačnošću do na konstantan množitelj, to jedna od njih (isključujući singularan slučaj) može biti uzeta proizvoljno, na primer x1n = 1 ; tada prethodni sistem sadrži n jednačina sa n nepoznatih: x11, x12, ..., x1,n–1, λ1 i može biti rešen, na primer, metodom iteracije x1(ik +1) =
1 λ1( k )
n −1 ⋅ ∑ aij x1( kj ) + ain , j = 1, n − 1, j =1
n −1
λ1( k +1) = ∑ anj x1( kj ) + ann , k = 0,1, … j =1
Može se, takoñe, koristiti i Zajdlova metoda. Na taj način dobijamo: (k ) (k ) λ1 ≈ λ1( k ) i x1 = ( x11 , x12 , … , x1(nk ) ) ' . 362
Za nalaženje x2 = ( x21 , x22 , … , x2 n ) ' ( a11 − λ 2 ) x21 a21 x21 ⋮ an1 x21
sopstvene vrednosti λ2 i sopstvenog vektora imamo sistem homogenih linearnih jednačina: + a12 x22 + ⋯ + a1n x2 n = 0, + (a22 − λ 2 ) x22 + ⋯ + a2 n x2 n = 0, +
an 2 x22
+ ⋯ + (ann − λ 2 ) x2 n = 0. n
Koristeću uslov ortogonalnosti ( x1 , x2 ) = ∑ x1i x2i = 0 jednu nepoznatu, na i =1
primer x2 n , možemo eliminisati, a jednu nepoznatu, na primer x2, n −1 , možemo uzeti proizvoljno, x2, n −1 = 1 . Na taj način, za odreñivanje ostalih komponenata sopstvenog vektora x2 i sopstvene vrednosti λ2 imamo sistem od n – 1 jednačine sa n – 1 nepoznatom. Komponentu x2 n nalazimo iz pomenutog uslova ortogonalnosti. Analogno se nalaze ostali sopstveni vektori i ostale sopstvene vrednosti. Dakle, metoda služi i za rešavanje potpunog problema sopstvenih vrednosti i sopstvenih vektora.
Primer. Rešiti potpun problem sopstvenih vrednosti i sopstvenih vektora matrice 4 2 2 A = 2 5 1 . 2 1 6 Rešenje. Matrica je simetrična. Kako je: 4 2 2 4 2 ∆1 = 4 = 4 > 0 , ∆ 2 = = 16 > 0 , ∆ 3 = 2 5 1 = A = 80 > 0 , 2 5 2 1 6
matrica je pozitivno definitna. Nañimo λ1 i x1 . Odgovarajući sistem je 1 (4 x11 + 2 x12 + 2 x13 ), λ1 1 x12 = (2 x11 + 5 x12 + x13 ), λ1 1 λ1 = (2 x11 + x12 + 6 x13 ). x13 x11 =
(0) (0) Uzmimo: x13 = 1 i početne vrednosti x11 = 1, x12 = 1 , a iz poslednje jednačine
je λ1(0) = 9 . Računanje je dato u sledećoj tabeli 363
(k ) x11 1 0.8900 0.8500 0.8300 0.8100 0.8050 0.8060 0.8070 0.8074 0.8076 0.8076 0.8077
k 0 1 2 3 4 5 6 7 8 9 10 11
(k ) x12 1 0.8900 0.8300 0.8000 0.7800 0.7700 0.7710 0.7710 0.7715 0.7717 0.7719 0.7720
λ1( k ) 9 8.6700 8.5300 8.4600 8.4000 8.3800 8.3830 8.3850 8.3863 8.3869 8.3871 8.3874
(k ) x13 1 1 1 1 1 1 1 1 1 1 1 1
Dakle, λ1 = 8.3874 , x1 = (0.8077, 0.7720,1)T . Nañimo λ 2 i x2 . Odgovarajući sistem je 1 x21 = (4 x21 + 2 x22 + 2 x23 ), λ2 1 x22 = (2 x21 + 5 x22 + x23 ), λ2 1 (2 x21 + x22 + 6 x23 ). λ2 = x23 Iz uslova ortogonalnosti ( x1 , x2 ) = 0 nalazimo 0.8077 x21 + 0.7720 x22 + x32 = 0 ,
odakle je x32 = −0.8077 x21 + 0.7720 x22 . Uzmimo: x22 = 1 ; posle eliminisanja x32 dobijamo 1 (2.3846 x21 + 0.4560), x21 = λ2 λ 2 = 1.1923 x21 + 4.6280. (0) Neka su početne aproksimacije: x21 = 1 , λ (0) 2 = 5.42 . Računanja su data u sledećoj tabeli
k 0 1 2 3 4 5 6
364
(k ) x21 1 0.5200 0.3500 0.2800 0.2500 0.2300 0.2230
(k ) x22 1 1 1 1 1 1 1
λ (2k ) 5.4200 4.8500 4.6400 4.5600 4.5300 4.5000 4.4900
7 8 9 10 11
0.2200 0.2180 0.2174 0.2131 0.2130
1 1 1 1 1
4.4900 4.4880 4.4870 4.4868 4.4867
Dakle, λ 2 = 4.4867 i x2 = (0.2130,1, x23 )T . x23 nalazimo iz uslova ortogonalnosti: x23 = −0.8077 ⋅ 0.2130 + 0.7720 = −0.9473 .
Dakle, x2 = (0.2130, 1, − 0.9473) ' . Sopstveni vektor x3 nalazimo samo na osnovu uslova ortogonalnosti. 0.8077 x31 0.2130 x31
+ 0.7720 x32 + x32
+ x33 − 0.9473 x33
Ako uzmemo x31 = 1 , tada je x32 = −0.5673 , = (1, − 0.5673, − 0.3698) . Iz jednačine
= 0, = 0.
x33 = −0.3698 , tj.
x3 =
λ 3 x33 = 2 x31 + x32 + 6 x33
nalazimo λ 3 = 2.1260 . Kontrola: λ1 + λ 2 + λ 3 = 15.0001 = S p A = 15 . ▲
13. METODA REDUKCIJE PROBLEMA SOPSTVENIH VREDNOSTI MATRICA Ideja metode redukcije za rešavanje problema sopstvenih vrednosti matrica sastoji se u svoñenju problema sopstvenih vrednosti date matrice A = {aij }n × n na problem sopstvenih vrednosti matrice C = {cij }( n −1)×( n −1) , dakle, u snižavanju reda problema. Pretpostavlja se da je poznata prva sopstvena vrednost λ1 matrice A i njoj odgovarajući sopstveni vektor x1 . Neka je data matrica A a11 a12 ⋯ a1n a a22 ⋯ a2 n A = 21 ⋮ ⋮ an1 an 2 ⋯ ann i neka je poznata njena prva sopstvena vrednost λ1 i njoj odgovarajući sopstveni vektor x1 = ( x11 , x12 , ..., x1n )T . Pretpostavimo da je x11 = 1 (što ne smanjuje opštost izlaganja; slučaj x11 = 0 razmotićemo posebno). Posmatrajmo matricu 365
1 0 ⋯ 0 x 1 ⋯ 0 21 S= . ⋮ ⋮ xn1 0 ⋯ 1 Nije teško proveriti da je det S = 1 ≠ 0 i da je
0 ⋯ 0 1 − x 1 ⋯ 0 21 −1 . S = ⋮ − xn1 0 ⋯ 1 Matrica B = S −1 AS je slična matrici A; sopstvene vrednosti su im jednake λ ( A) = λ ( B ) . Meñutim, koristeći činjenicu da je Ax1 = λ1 x1 jednostavno dobijamo 0 ⋯ 0 a11 1 − x 1 ⋯ 0 a21 21 −1 B = S AS = ⋅ ⋮ ⋮ ⋮ − xn1 0 ⋯ 1 an1 0 ⋯ 0 λ1 1 − x 1 ⋯ 0 λ1 x21 = 21 ⋮ ⋮ ⋮ − xn1 0 ⋯ 1 λ1 xn1
a12 ⋯ a1n 1 0 ⋯ 0 a22 ⋯ a2 n x21 1 ⋯ 0 ⋅ = ⋮ ⋮ an 2 ⋯ ann xn1 0 ⋯ 1
a12 ⋯ a1n λ1 a22 ⋯ a2 n 0 = ⋮ ⋮ an 2 ⋯ ann 0
a12 ⋯ a1n a22 − x21a12 ⋯ a2 n − x21a1n = an 2 − xn1a12 ⋯ ann − xn1a1n
λ1 a12 ⋯ a1n λ1 a12 ⋯ a1n 0 c ⋯ c2 n 0 22 , c = a − x a , i, j = 2, n . = = ij i1 1 j ⋮ ⋮ ij C 0 cn 2 ⋯ cnn 0 Na taj način imamo det( A − λE ) = det( B − λE ) = (λ1 − λ ) det(C − λE1 )
gde je E1 jedinična matrica dimenzija (n – 1)×(n – 1). Sopstvene vrednosti matrice A su λ1 i (n – 1)–na sopstvena vrednost matrice C: λ 2 , λ 3 , ..., λ n . Da bismo izračunali drugu sopstvenu vrednost λ1 matrice A, treba izračunati prvu sopstvenu vrednost matrice C nekom od metoda za nalaženje prve sopstvene vrednosti matrica. Neka je λ 2 ( ≠ λ1 ) prva sopstvena vrednost matrice C i njoj odgovarajući sopstveni
vektor
z2 = ( z22 , z32 , … , zn 2 )T .
y2 = ( y12 , y22 , … , yn 2 ) matrice B. Kako je T
366
Odredimo
sopstveni
vektor
c22 c Cz2 = 32 ⋮ cn 2
c23 ⋯ c2 n z22 c22 z22 + c23 z32 + ⋯ + c2 n zn 2 λ 2 z22 c33 ⋯ c3n z32 c32 z22 + c33 z32 + ⋯ + c3n zn 2 λ 2 z32 = = = λ 2 z2 ⋮ ⋮ ⋮ ⋮ cn 3 ⋯ cnn zn 2 cn 2 z22 + cn 3 z32 + ⋯ + cnn zn 2 λ 2 zn 2
i λ1 a12 a13 ⋯ a1n y12 0 c c23 ⋯ c2 n y22 22 By2 = 0 c32 c33 ⋯ c3n y32 = ⋮ ⋮ ⋮ ⋮ 0 cn 2 cn 3 ⋯ cnn yn 2 λ1 y12 + a12 y22 + a13 y32 + ⋯ + a1n yn 2 λ 2 y12 c22 y22 + c23 y32 + ⋯ + c2 n yn 2 λ 2 y22 = c32 y22 + c33 y32 + ⋯ + c3n yn 2 = λ 2 y32 = λ 2 y2 , ⋮ ⋮ cn 2 y22 + cn 3 y32 + ⋯ + cnn yn 2 λ 2 yn 2
to je dovoljno uzeti λ1 y12 + a12 y22 + a13 y32 + ⋯ + a1n yn 2 = λ 2 y12 λ 2 y22 = λ 2 z22 λ 2 y32 = λ 2 z32 ⋮ λ 2 yn 2 = λ 2 z n 2 , odnosno: yn 2 = zn 2 , … , y32 = z32 , y22 = z22 i y12 =
a12 z22 + a13 z32 + ⋯ + a1n zn 2 . λ 2 − λ1
Dakle, T
a z + a z + ⋯ + a1n zn 2 y1 = 12 22 13 32 , z22 , z32 , … , zn 2 . λ 2 − λ1 T Sopstveni vektor x2 = ( x12 , x22 , … , xn 2 ) matrice A je y12 1 0 ⋯ 0 y12 x 1 ⋯ 0 y22 x21 y12 + y22 x2 = Sy2 = 21 ⋅ = . ⋮ ⋮ ⋮ xn1 0 ⋯ 1 yn 2 xn1 y12 + yn 2
Ako je komponenta x11 = 0 vektora x1 = ( x11 , x21 , … , xn1 )T , a xi1 ≠ 0 (i > 1) , onda treba posmatrati matricu A1 = E1−i 1 AE1i = E1i AE1Ti koja je slična matrici A, dakle, ima iste sopstvene vrednosti a sopstveni vektor je E1i x1 .
367
14. GERŠGORINOVA TEOREMA O rasporedu sopstvenih vrednosti proizvoljne matrice A govore sledeće dve teoreme. (S. Gerschgorin – Über die Angrenzung der Eigenwerte einer Matrix, 1931.)
Teorema 1. Svaka sopstvena vrednost matrice A pripada u krajnjem slučaju jednom od krugova s centrom akk i poluprečnikom rk = Σ | akj | , tj. j≠k
K k akk , rk = Σ | akj | . (Ki se zovu Geršgorinovi krugovi, a teorema j ≠k Geršgorinova teorema.)
Dokaz. Neka je λ proizvoljna sopstvena vrednost matrice A. Tada postoji bar jedan vektor x , x ≠ 0 , takav da je (1) Ax = λx . Pretpostavimo da je k–ta komponenta vektora x najveća po modulu, tada možemo normirati vektor x uzimajući da je x T = ( x1 , x2 , … , xk −1 ,1, xk +1 , ..., xn )T , xi ≤ 1, i ≠ k , pa iz (1) uporeñujući k–te komponente dobijamo 1
Σ akj x j = λxk = λ ⋅ 1 = 1 .
(2)
j =1
Sada iz (2) nalazimo
λ − akk = Σ akj x j j≠k
i λ − akk ≤ Σ akj x j ≤ Σ akj ⋅ x j ≤ Σ akj , j ≠k
j≠k
j≠k
tj. λ pripada krugu K k akk , Σ | akj | . ■ j≠k Teorema 2. Ako s krugova iz teoreme 1 obrazuje povezanu oblast, izolovanu od ostalih krugova, onda se u toj oblasti nalazi tačno s sopstvenih vrednosti matrice A. Dokaz u knjizi J. H. Wilkinson – The Algebraic Eigenvalue Problem, 1965.
15. LR I QR ALGORITAM Iterativne metode rešavanja potpunog problema sopstvenih vrednosti matrica su po pravilu bolje od direktnih metoda kod kojih je prvo potrebno naći karakteristični polinom. Naime, poznato je da greške zaokrugljivanja koeficijenata polinoma mogu mnogo uticati na tačnost izračunavanja sopstvenih vrednosti. Većina iterativnih metoda se zasniva na svoñenju date matrice A transformacijama sličnosti na neki specijalni oblik za koji se problem sopstvenih vrednosti jednostavno rešava. Jedna od takvih metoda je LR 368
algoritam koji je razradio Rutishauzer (Heinz Rutishauser) 1958. godine u radu Solution of eigenvalue problems with the LR–transformation, Appl. Math. Ser. nat. Bur. Stand. 1958;49, 47–81; M.R., 19, 770). Neka je data matrica A1 = {aij }n×n . Razložimo matricu A1 na proizvod dve trougaone matrice (leve i desne) (1)
A1 = L1 ⋅ R1
gde je L1 donje trougaona koja ima jedinice na glavnoj dijagonali, a R1 je gornje trougaona matrica, dakle 0 0 1 0 ⋯ l 1 ⋯ 0 0 21 L1 = ⋮ ln1 ln 2 ⋯ ln , n −1 1
r11 0 R1 = ⋮ 0
r12 ⋯ r1, n −1 r22 ⋯ r2, n −1 0
⋯
0
r1n r2 n rnn
Pretpostavimo da smo transformacijama sličnosti L1−1 A1 L1 našli sličnu matricu A2 datoj matrici A1, dakle (2)
A2 = L1−1 A1 L1 = L1−1 ( L1 R1 ) L1 = R1 L1 .
Drugim rečima, ako smo matricu A1 razložili na proizvod trougaonih matrica L1 i R1, pa ih, zatim, pomnožili u obrnutom poretku, onda se dobija slična matrica matrici A1. LR algoritam se sastoji u beskonačnom procesu razlaganja matrica na proizvode trougaonih i množenje u obrnutom poretku. Dakle, LR algoritam je A1 = L1 ⋅ R1 , A2 = R1 ⋅ L1 = L2 ⋅ R2 , A3 = R2 ⋅ L2 = L3 ⋅ R3 , (3) ⋮ Ak = Rk −1 ⋅ Lk −1 = Lk ⋅ Rk , ⋮ Očigledno, matrica Ak je slična matrici Ak–1 i, prema tome, po indukciji slična je matrici A1. Rutishauzer je pokazao da pri nekim ograničenjima λ1 X λ2 , kada k → ∞ (4) Lk → E i Rk → Ak → T = ⋱ O λn Razmotrimo neke relacije izmeñu uzastopnih iteracija. Kako je
(5)
Ak = L−k1−1 Ak −1 Lk −1 ,
to je (6)
Ak = L−k1−1 ( L−k1− 2 Ak − 2 Lk − 2 ) Lk −1 = ⋯ = L−k1−1 L−k1− 2 ⋯ L−21 L1−1 A1 L1 L2 ⋯ Lk − 2 Lk −1
369
ili (7)
L1 L2 ⋯ Lk − 2 Lk −1 Ak = A1 L1 L2 ⋯ Lk − 2 Lk −1
Matrice Tk = L1 L2 ⋯ Lk i U k = Rk Rk −1 ⋯ R1
(8)
su redom donje trougaone s jedinicama na glavnoj dijagonali i gornje trougaone. Posmatrajmo njihov proizvod Tk ⋅ U k = L1 ⋅ L2 ⋯ Lk −1 ( Lk ⋅ Rk ) Rk −1 ⋯ R2 R1 = = L1 ⋅ L2 ⋯ Lk −1 ⋅ Ak ⋅ Rk −1 ⋯ R2 ⋅ R1 = = A1 ⋅ L1 ⋅ L2 ⋯ Lk −1 ⋅ Rk −1 ⋯ R2 ⋅ R1 = A1 ⋅ Tk −1 ⋅ U k −1 ,
(9)
gde smo iskoristili relaciju (7). Dalje imamo Tk ⋅ U k = A1 ⋅ L1 ⋅ L2 ⋯ ( Lk −1 ⋅ Rk −1 )⋯ R2 ⋅ R1 = = A1 ⋅ L1 ⋅ L2 ⋯ Lk − 2 ⋅ Ak −1 ⋅ Rk − 2 ⋯ R2 ⋅ R1 = = A12 ⋅ L1 ⋅ L2 ⋯ Lk − 2 ⋅ Rk − 2 ⋯ R2 ⋅ R1 i na kraju (10) Tk ⋅ U k = A1k , što znači da Tk ⋅ U k predstavlja razlaganje matrice A1k u proizvod dve trougaone matrice.
Teorema. Ako sopstvene vrednosti matrice A1 zadovoljavaju uslov (11) | λ1 | > | λ 2 | > ⋯ > | λ n | , onda važi λ1 X λ2 . lim Lk = E i lim Rk = lim Ak = k →∞ k →∞ k →∞ ⋱ O λn Dokaz. Videti u knjizi J. H. Wilkinson – The Algebraic Eigenvalue Problem, 1965. Razmotrimo teoremu na primeru matrice A = {aij }3×3 .
Neka sopstvene vrednosti matrice A zadovoljavaju uslov | λ1 | > | λ 2 | > | λ 3 | i neka su sopstveni vektori
x1 = ( x11 , x21 , x31 )T ,
x1 = ( x11 , x21 , x31 )T
x3 = ( x13 , x23 , x33 ) . Matricu sopstvenih vektora označimo sa T
x11 X = x21 x31
370
x12 x22 x32
x13 x23 x33
i
a njoj inverznu matricu sa X
−1
y11 = y21 y31
y12 y22 y32
y13 y23 y33
Iskoristimo činjenicu da je λ1k 0 0 λ1k x11 λ k2 x12 λ 3k x13 y y12 y13 k 11 −1 k k k k F = A1 = X 0 λ 2 0 X = λ1 x21 λ 2 x22 λ 3 x23 ⋅ y21 y22 y23 = k y k k k y32 y33 0 0 λ 3 λ1 x31 λ 3 x32 λ 3 x33 31 k k k k k k λ1 x11 y11 + λ 2 x12 y21 + λ 3 x13 y31 λ1 x11 y12 + λ 2 x12 y22 + λ 3 x13 y32 λ1k x11 y13 + λ 2k x12 y23 + λ 3k x13 y33 = λ1k x21 y11 + λ k2 x22 y21 + λ 3k x23 y31 λ1k x21 y12 + λ k2 x22 y22 + λ 3k x23 y32 λ1k x21 y13 + λ k2 x22 y23 + λ 3k x23 y33 . k k k k k k k k k λ1 x31 y11 + λ 2 x32 y21 + λ 3 x33 y31 λ1 x31 y12 + λ 2 x32 y22 + λ 3 x33 y32 λ1 x31 y13 + λ 2 x32 y23 + λ 3 x33 y33
Kako je Tk ⋅ U k razlaganje matrice A1k na proizvod trougaonih matrica, to su elementi prve kolone matrice Tk jednaki: (k ) t11 = 1, (k ) t21
(k ) t31
λ k λ1k x21 y11 + λ k2 x22 y21 + λ 3k x23 y31 x21 = k = + O 2 , λ1 x11 y11 + λ k2 x12 y21 + λ 3k x13 y31 x11 λ1 k λ λ k x y + λ k2 x32 y21 + λ 3k x33 y31 x31 2 , = 1k 31 11 = + O k k λ1 x11 y11 + λ 2 x12 y21 + λ 3 x13 y31 x11 λ1
gde se pretpostavlja da je x11 ⋅ y11 ≠ 0 . Dakle, elementi prve kolone matrice Tk konvergiraju odgovarajućim elementima koji se dobijaju pri razlaganju matrice X u proizvod trougaonih matrica. Za elemente druge kolone matrice Tk imamo: (k ) t22 = 1, (k ) t32 = ( f11 f 32 − f12 f31 ) /( f11 f 22 − f12 f 21 ) =
λ k (λ1λ 2 ) k ( x11 x32 − x31 x12 )( y11 y22 − y21 y12 ) + ⋯ x11 x32 − x31 x12 = = + O 3 , (λ1λ 2 ) k ( x11 x22 − x21 x12 )( y11 y22 − y21 y12 ) + ⋯ x11 x22 − x21 x12 λ 2
gde se pretpostavlja da je ( y11 y22 − y21 y12 )( x11 x22 − x21 x12 ) ≠ 0 . Dakle, elementi druge kolone matrice Tk konvergiraju odgovarajućim elementima koji se dobijaju pri razlaganju matrice X u proizvod trougaonih matrica. Na taj način zaključujemo: Ako je X = T ⋅ U , onda uz gornja ograničenja Tk → T , kada k → ∞ . Iz (7) i (8) imamo Ak = Tk−−11 A1Tk −1 → T −1 A1T = UX −1 AXU −1 = U ⋅ diag(λ i ) ⋅ U −1 ,
odakle sledi da je granična matrica matrice Ak kada k → ∞ gornje trougaona s 371
dijagonalnim elementima λ i , i = 1, n .
Napomena. 1) Ako su neke sopstvene vrednosti bliske po modulu, onda je konvergencija vrlo spora; 2) Ako matrica ima konjugovano–kompleksnih sopstvenih vrednosti, onda imamo odgovarajuću blok–dijagonalnu matricu; 3) Ako se kod razlaganja zahteva da matrice Lk = Qk budu unitarne, tj. Qk ⋅ Qk* = E ili Qk* = Qk−1 ( aij* = a ji ), a Rk gornje trougaona, onda dobijamo QR
algoritam (Francis i Кублановска, 1961. nezavisno jedno od drugog).
372
LITERATURA
1.
M. Bertolino – NUMERIČKA ANALIZA, Naučna knjiga, Beograd, 1981.
2.
B. Jovanović – NUMERIČKA ANALIZA, PMF, Beograd, 1984.
3.
D. Radunović – NUMERIČKE METODE, Grañevinska knjiga, Beograd, 1991.
4.
I. S. Berezin, N. P. Žitkov – NUMERIČKA ANALIZA, Naučna knjiga, Beograd, 1963.
5.
И. С. Березин, Н. П. Жидков – МЕТОДЫ ВЫЧИСЛЕНИЯ, T. 2, Физматгиз, Москва, 1962.
6.
Б. П. Демидович, И. А. Марон – ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ, Наука, Москва, 1970.
7.
Б. П. Демидович, И. А. Марон, Э. З. Шувалова – ЧИСЛЕННЫЕ МЕТОДЫ АНАЛИЗА, Наука, Москва, 1967.
8.
Н. С. Бахвалов – ЧИСЛЕННЫЕ МЕТОДЫ, I, Москва, 1973.
9.
Д. К. Фаддеев, В. Н. Фаддеева – ВЫЛИСЛИТЕЛЬНЫЕ МЕТОДЫ ЛИНЕЙНОЙ АЛГЕБРЫ, Moskva, 1960
10.
J. Scheid – NUMERICAL ANALYSIS, New York, St. Louis, …, 1968.
11.
A. M. Cohen, J. F. Cutts, R. Fielder, D. E. Jones, J. Ribbans, E. Stuart – NUMERICAL ANALYSIS, McGraw–Hill Book Company, New York, St. Louis, San Francisco, Düsseldorf, …, 1973.
12.
Н. В. Копченова, И. А. Марон – ВЫЧИСЛИТЕЛЬАЯ МАТЕМАТИКА В ПРИМЕРАХ И ЗАДАЧАХ, Москва, 1972.
13.
A. R. Gourlay, G. A. Watson – COMPUTATIONAL METHODS FOR MATRIX EIGENPROBLEMS, John Wiley and Sons, London, New York, Sydney, Toronto, 1973.
14.
David L. Powers – BOUNDARY VALUE PROBLEMS, Academic Press, New York, London, 1972.
15.
Н. Н. Калиткин – ЧИСЛЕННЫЕ МЕТОДЫ, Наука, Москва, 1978.
16.
Н. С. Бахвалов, Н. П. Жидков, Г. Б. Кобельков – ЧИСЛЕННЫЕ МЕТОДЫ, Наука, Москва, 1987.
17.
Г. И. Марчук – МЕТОДЫ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ, Наука, Новосибирск, 1973.
18.
D. Tošić – UVOD U NUMERIČKU ANALIZU, Naučna knjiga, Beograd, 1978. 373
19.
D. Herceg, Z. Stojaković – NUMERIČKE METODE LINEARNE ALGEBRE – ZBIRKA ZADATAKA, Grañevinska knjiga, Beograd, 1981.
20.
Z. Stojaković, D. Herceg – NUMERIČKE METODE LINEARNE ALGEBRE, Grañevinska knjiga, Beograd, 1982.
21.
Ж. Кунцман – ЧИСЛЕННЫЕ МЕТОДЫ, Наука, Москва, 1979.
22.
Л. В. Канторович, В. И. Крылов – ПРИБЛИЖЕННЫЕ МЕТОДЫ ВЫСТЕГА АНАЛИЗА, ФМ, Москва, 1962.
23.
J. B. Scarborough – NUMERICAL MATHEMATICAL ANALYSIS, The John Hopkins Press, Baltimore, 1966.
24.
K. L. Nielsen – METHODS IN NUMERICAL ANALYSIS, The MacMillan Company, New York, 1957.
25.
Н. И. Данилина, Н. С. Дубровская, О. П. Кваша, Г. Л. Смирнов, Г. И. Феклисов – ЧИСЛЕННЫЕ МЕТОДЫ, Висшая школа, Москва, 1976.
26.
G. Engeln-Muellges, F. Uhlig – NUMERICAL ALGORITHMS WITH C, Springer–Verlag, Heidelberg, 1996.
27.
А. А. Гусак – ЭЛЕМЕНТЫ МЕТОДОВ ВЫЧИСЛЕНИЙ, БГУ, Минск, 1982.
28.
Е. А. Волков – ЧИСЛЕННЫЕ МЕТОДЫ, Наука, Москва, 1982.
29.
Н. Я. Виленкин – МЕТОД ПОСЛЕДОВАТЕЛЬНЫХ ПРИБЛИЖЕНИЙ, Наука, Москва, 1968.
30.
Josef Stoer – NUMERISCHE MATHEMATIK 1, 7. Auflage, Springer– Lehrbuch, Berlin, Heidelberg, New York, London, …, 1994.
31.
J. H. Wilkinson – THE ALGEBRAIC EIGENVALUE PROBLEM, Clarendon Press, Oxford, 1965.
32.
E. Durand – SOLUTIONS NUMÉRIQUES ÉQUATIONS ALGÉBRIQUES, TOME I, Masson et Cie, Paris, 1971.
33.
E. Durand – SOLUTIONS NUMÉRIQUES ÉQUATIONS ALGÉBRIQUES, TOME II, Masson et Cie, Paris, 1971.
34.
А. Х. Золич – ОДИН ИТЕРАТИВНЫЙ МЕТОД ДЛЯ РЕШЕНИЯ ПОЛНОЙ ПРОБЛЕМЫ СОБСТВЕННЫХ ЗНАЧЕНИЙ МАТРИЦЫ, Математички весник 11 (26), str. 165–177, Beograd, 1974.
35.
A. H. Zolić – A NEW VARIANT OF AN ITERATIVE METHOD FOR SOLVING THE COMPLETE PROBLEM OF EIGENVALUES OF MATRICES, Математички весник 56 (2004), str. 17–21, Beograd, 2004.
374