Praktikum iz
Praktikum iz jednadžbi Tražimo riješenje sistema jednadžbi, tj. za dani F : R n R n želimo naći x R n takava da je F(x ) = 0. Pretpostavit ćemo da je F neprekidno diferencijabilna. Najčešće se koriste, njezine varijante i. Kažemo da je x k aproksimacija od x sa točnošću ε ako vrijedi x k x ε u nekoj normi na R n.
jednadžbi Praktikum iz jednadžbi jednadžbi, se kao i kod jednodimenzionalnog slučaja, dobiva pronalaženjem korijena afine aprosimacije funkcije F u trenutnoj točki x k. Promotrimo jednakost xk +p F(x k + p) = F(x k ) + J(z) dz, x k gdje je J = D F Jacobijeva matrica, tj. za F = (f 1,..., f n ) T je J(x) i j = f i x j (x), i, j = 1,..., n.
U prethodnom izrazu integral aproksimiramo sa linearnim izrazom J(x n ) p, čime dobijemo afinu aproksimaciju od F u perturbaciji p točke x k, jednadžbi M k (x k + p) = F(x k ) + J(x k ) p. Zatim tražimo korak s k za koji je M k (x k + s k ) = 0, te na taj način dobivamo Newtonovu iteraciju za naš sustav jednadžbi. Dakle, počevši od točke x 0, u svakoj iteraciji računamo J(x k )s k = F(x k ), x k+1 = x k + s k, sve dok nismo našli zadovoljavajuću aproksimaciju nultočke.
jednadžbi Problemi: 1 Jacobijeva matrica ne mora biti analitički izračunljiva (na primjer, u primjeni, sam F nije u analitičkom obliku). U tom slučaju J(x k ) se aproksimira podjeljenim ma ili nekom drugom manje skupom metodom. 2 J(x k ) može biti singularna ili loše uvjetovana, tako da se sustav J(x k )s k = F(x k ) ne može pouzdano riješiti. Problem se rješava perturbiranjem matrice J(x k ) tako da se dobije bolje uvjetovan sustav, ili bolje, koristi se neka globalna metoda.
jednadžbi Prednosti Newtonove metode: 1 Kvadratna konvergencija ako startamo dovoljno blizu nultočke x i ako je J(x ) regularna. 2 Točno rješenje u jednom koraku ako je funkcija F afina. Nedostaci Newtonove metode: 1 Za mnogo problema metoda nije globalno konvergentna. 2 Metoda zahtjeva računanje J(x k ) u svakom koraku. 3 Svaki korak zahtjeva rješavanje linearnog koji može biti singularan ili loše uvjetovan.
Lokalna konvergencija Newtonove metode Praktikum iz jednadžbi Označimo sa: normu na R n, N(x, r) otvorenu kuglu radijusa r oko x, tj. Teorem (1) N(x, r) = {y R n : y x < r}. Neka je F : R n R n neprekidno diferencijabilna na nekom otvorenom konveksnom skupu D R n. Pretpostavimo da postoji x R n i r, β > 0, takvi da je N(x, r) D, F(x ) = 0, J(x ) 1 postoji uz J(x ) 1 β, i J Lip γ (N(x, r)), tj za svaki x, y N(x, r) vrijedi J(x) J(y) γ x y.
jednadžbi Teorem (nastavak) Tada postoji ε > 0 takav da je za sve x 0 N(x, ε) niz x 1, x 2,... generiran sa x k+1 = x k J(x k ) 1 F(x k ), k = 0, 1,... dobro definiran, konvergira ka x, i vrijedi x k+1 x βγ x k x 2, k = 0, 1,....
jednadžbi Teorem Neka je D R n otvoren skup. Nadalje, Neka je D 0 konveksnan skup uz D 0 D, i neka je F : D R n diferencijabilna za svaki x D 0 i neprekidna za svaki x D. Za x 0 D 0 neka su dane pozitivne konstante r, α, β, γ, h za koje vrijedi: N(x 0, r) D 0, h := αβγ 2 < 1, r := α 1 h, i neka F ima slijedeća asvojstva: J(x) J(y) γ x y za svaki x, y D 0, J(x) 1 postoji i zadovoljava J(x) 1 β za svaki x D 0, J(x 0 ) 1 F(x 0 ) α.
jednadžbi Teorem (nastavak) Tada 1 počevši za x 0, svaka točka x k+1 = x k J(x k ) 1 F(x k ), k = 0, 1,... je dobro definirana i zadovoljava x k N(x 0, r) za svaki k 0, 2 lim k x k = x postoji i zadovoljava x N(x 0, r) i F(x ) = 0, 3 za svaki k 0 je x k x α h2k 1 1 h 2k. Pošto je 0 < h < 1, je barem kvadratično konvergentna.
jednadžbi Uz malo jače pretpostavke može se pokazati da je x jedina nultočka u N(x 0, r): Teorem (Newton Kantorovich) Neka je dana funkcija F : D R n R n i konveksan skup D 0 D, te neka je F neprekidno diferencijabilna na D 0 i neka zadovoljava uvjete J(x) J(y) γ x y za svaki x, y D 0, J(x 0 ) 1 β, J(x 0 ) 1 F(x 0 ) α, za neki x 0 D 0. Definirajmo konstante h := αβγ, r 1,2 := 1 1 2h α. h
jednadžbi Teorem (nastavak) Ako je h 1 2 i N(x 0, r 1 ) D 0, tada niz {x k } definiran sa x k+1 = x k J(x k ) 1 F(x k ), k = 0, 1,... ostaje unutar N(x 0, r 1 ) i konvergira jedinstvenoj nultočki od F u D 0 N(x 0, r 2 ).
Praktikum iz jednadžbi konvergira kvadratično, ali samo ako je početna aproksimacija x 0 dovoljno blizu traženom rješenju x. Kako bi se izbjegao problem uskog izbora početne aproksimacije koristi se modificirana Newtonova metoda koja je kombinacija Newtonove metode pretraživanje po pravcu optimizacijska metoda metode raspolavljanja i za koju se može dokazati globalna konvergencija za veliku klasu funkcija F.
jednadžbi Definirajmo f (x) := F(x) T F(x) = F(x) 2 2. Modifikacija algoritma se satoji u uvo denju dodatnog parametra λ, i smjera traženja s da bi definirali niz x k+1 := x k λ k s k, gdje je u našem slučaju s k := d k := J(x k ) 1 F(x k ), a λ k se odabire tako da niz {f (x k )} bude strogo padajući i da x k konvergira minimumu funkcije f. Pošto je f (x) 0 za svaki x f ( x) = 0 F( x) = 0.
jednadžbi Algoritam (Modificirana ) x 0 zadan; k = 0; while kriterij_zaustavljanja d k = J(x k ) 1 F(x k ); 1 γ k = κ 2 (J(x k )) ; Definiramo f (x) = F(x) T F(x) i f k (τ) = f (x k τd k ); Na di najmanji cijeli broj j 0 takav da je f k (2 j ) f k (0) 2 j γ k 4 d k 2 Df (x k ) 2 ; Na di i min {0, 1,..., j} takav da je f k (2 i min) = min i=0,...,j f k (2 i ); λ k = 2 i min; x k+1 = x k λ k d k ; k = k + 1; end x x k ;
Napomene Praktikum iz jednadžbi Odmah se vidi da je Df (x) = 2F(x) T J(x). Pri izvršavanju danog algoritma, može se desiti da λ k bude jako mali, tako da korak koji se dodaje na x k bude skoro zanemariv. U tom slučaju dobro je staviti ograničenje na λ k odozdo, tako da ako je λ k < 0.01 postavi se da je λ k = 0.01.
Praktikum iz jednadžbi Ponekad je problem izračunati Jacobijevu matricu J(x k ) jer ili nemamo analitički izraz za J(x k ), ili je njezino analitičko računanje prekomplicirano i preskupo. U tom slučaju može se J(x k ) zamijeniti sa aproksimacijom. Jacobijevu matricu matricu možemo aproksimirati tako da parcijalne derivacje zamijenimo podijeljenim ma, tj. matricu [ ] J(x) = DF(x) = F F x 1 (x) x n (x) zamijenjujemo sa matricom F(x) = [ 1 F(x) n F (x) ],
jednadžbi gdje su i F(x) = F(x 1,..., x i + h i,..., x n ) F(x 1,..., x i,..., x n ) h i = F(x + h ie i ) F(x) h i. Zbog toga za računanje elemenata matrice F(x) potrebno je još n puta izvrijedniti funkciju F. Preostaje još odrediti korake h i, i = 1,..., n. Ako je bilo koji h i prevelik, tada je F (x) loša aproksimacija od J(x), pa gornje iteracije mogu konvergirati puno sporije od egzaktne metode, ako uopće konvergiraju. Ako je bilo koji h i premali, tada je F (x + h i e i ) F(x), pa se kod računanja i F (x) može dogoditi fatalno kraćenje.
jednadžbi Kompromis je h i i F(x) 2 eps f (x) 2, gdje je eps mašinska točnost. h i onda možemo naći tako da krenemo od h i = eps x i, i vrtimo petlju while F(x 1,..., x i + h i,..., x n) F(x 1,..., x i,..., x n) 2 < eps F(x) 2 h i = h i 2; end Kod većine pristojnih funkcija dovoljno će biti h i = eps x i
Lokalna konvergencija metode podijeljenih Praktikum iz jednadžbi Teorem Neka F i x zadovoljavaju pretpostavke Teorema (1), uz normu 1. Tada postoje ε, h > 0 takvi da je realni niz {x k } definiran sa j F(x k ) = F (x k + h k e j ) F(x k ) h k, j = 1,..., n, x k+1 = x k ( F(x k )) 1 F(x k ), k = 0, 1,..., gdje je 0 < h k h i x 0 N(x, ε), dobro definiran i konvergira linearno prema x. Ako je lim h k = 0, k konvergencija je superlinearna.
jednadžbi Teorem (nastavak) Ako pak postoji konstanta c 1 takva da je h k c 1 x k x 1, ili analogno konstanta c 2 takva da je h k c 2 F(x k ) 1, tada je konvergencija kvadratična. Definicija Za niz {x k } kažemo da konvergira superlinearno prema x ako postoji niz {c k }, lim k c k = 0 takav da je x k+1 x c k x k x.
Modificirana sa podijeljenim ma Praktikum iz jednadžbi U modificiranu Newtonovu metodu se tako der može umjesto J(x) koristiti aproksimativni F(x). Sada iteracija Newtonove metode glasi x k+1 = x k λ k ( F(x k )) 1 F(x k ). Još moramo izračunati Df (x) = 2F(x) T J(x) za x = x k, što možemo aproksimirati izrazom f (x) = 2F(x) T F(x). Za kriterij zaustavljanja, kod obje varijante, možemo uzeti iteraciju k za koju je max x k (i) x k 1 (i) i=1,...,n x k 1 (i) eps.
Praktikum iz jednadžbi Ako je funkcija F toliko komplicirana, da je i preskupo računanje vrijednosti od F u n dodatnih točaka potrebnih za računanje F(x), umjesto J(x k ) upotrijebiti ćemo matricu A k koja je čak jednostavnija i od F(x k ). Prisjetimo se da zapravo kod Newtonove metode originalnu funkciju F u svakom koraku k zamjenjujemo afinim modelom M k (x) = F(x k ) + J(x k )(x x k ), i umjesto problema F(x) = 0 rješavamo M k (x) = 0.
jednadžbi Sada ćemo promatrati afini model M k (x) = F(x k ) + A k (x x k ). U jednodimenzionalnom slučaju zahtjev kojim smo dobili metodu sekante bio je da M k (x k 1 ) = F(x k 1 ), tj. F(x k 1 ) = F(x k ) + A k (x k 1 x k ), ili A k (x k x k 1 ) = F(x k ) F(x k 1 ). Prethodnu lednadžbu zovemo jednadžba sekante. Medjutim, za n > 1 jednadžba sekante nije dovoljna da bi odredili A k.
jednadžbi Pošto osim jednadžbe sekante mi nemamo nikakve druge informacije o Jacobijevoj matrici ili o modelu, mi ćemo u svakom koraku pokušati sačuvati što je više moguće od onog što već imamo. Zbog toga ćemo odabrati A k tako da minimiziramo promjenu afinog modela, uz uvijet da jednadžba sekante bude zadovoljena. Razlika modela u k-tom i k 1-om koraku za bilo koji x R n, dana je sa M k (x) M k 1 (x) = F(x k ) + A k (x x k ) F (x k 1 ) A k 1 (x x k 1 ) = F(x k ) F(x k 1 ) A k (x k x k 1 ) + (A k A k 1 )(x x k 1 ) = (A k A k 1 )(x x k 1 ), što slijedi iz jednadžbe sekante.
jednadžbi Označimo za s k 1 := x k x k 1 i y k 1 := F(x k ) F(x k 1 ). Izrazimo za bilo koji x R n gdje je t T s k 1 = 0. x x k 1 = αs k 1 + t, Tada izraz koji želimo minimizirati postaje jednak M k (x) M k 1 (x) = α(a k A k 1 )s k 1 + (A k A k 1 )t. Nemamo utjecaja na prvi izraz sa desesne strane, pošto jednadžba sekante implicira (A k A k 1 )s k 1 = y k 1 A k 1 s k 1. Ali možemo drugi izraz izjednačiti s nulom za svaki x R n, odabirom A k tako da je (A k A k 1 )t = 0 za svaki t okomit na s k 1.
jednadžbi Na taj način dobivamo da je A k A k 1 matrica ranga 1 koja se može zapisati u formi us T k 1, za neki u Rn. Matrica još mora zadovoljavati jednadžbu sekante u obliku (A k A k 1 )s k 1 = y k 1 A k 1 s k 1, iz čega slijedi da je u = y k 1 A k 1 s k 1 sk 1 T s. k 1 Konačno dobivamo da je A k = A k 1 + (y k 1 A k 1 s k 1 )s T k 1 s T k 1 s k 1 kao najmanja promjena afinog modela konzistentnog sa A k s k 1 = y k 1.
jednadžbi Prethodna jednadžba zove se Broydenova korekcija (update). Korekcija jer se aproksimacija od J(x k ) ne računa u svakom koraku iz početka, nego se korigira aproksimacija A k 1 od J(x k 1 ) da bi se dobila aproksimacija A k od J(x k ). Može se pokazati da je Broydenova korekcija A k minimalna promjena matrice A k 1 konzistentna sa A k s k 1 = y k 1, ako je promjena A k A k 1 mjerena u Frobeniusovoj normi. Sada smo dovršili konstrukciju afinog modela M k odabirom matrice A k. Očito, slijedeći korak iteracije se dobiva kao korijen ovog afinog modela. Na taj način smo u Newtonovoj metodi J(x k ) zamijenili sa A k.
jednadžbi Algoritam () % Dani su F : R n R n, x 0 R n, A 0 R n n k = 0; while kriterij_zaustavljanja Riješi A k s k = F(x k ) po s k ; x k+1 = x k + s k ; y k = F(x k+1 ) F(x k ); end A k+1 = A k + (y k A k s k )sk T sk T s k k = k + 1; ; Napomena Početni A 0 se obično računa pomoću podijeljenih.
Lokalna konvergencija Broydenove metode Praktikum iz jednadžbi Može se pokazati da ako je x 0 dovoljno blizu nultočki x, gdje je J(x ) nesingularan, i A 0 dovoljno blizu J(x 0 ), tada niz iteracija {x k } dobiven Broydenovom metodom konvergira superlinearno prema x. Tako der se može pokazati da je nužan i dovoljan uvijet za superlinearnu konvergenciju metode sekante (ne nužno Broydenove) J(x k )(sk N lim s k) = 0, k s k gdje je sk N = J(x k) 1 F(x k ) Newtonov korak za x k, tj. imamo superlinearnu konvergenciju metode sekante ako i samo ako koraci metode sekante po veličini i smjeru konvergiraju Newtonovim koracima iz iste točke. Za Broydenovu metodu ne mora nužno vrijediti lim k A k J(x ).
Kriterij zaustavljanja Praktikum iz jednadžbi Lema Neka je x k R n, k = 0, 1,.... Ako niz {x k }konvergira superlinearno prema x R n, tada u bilo kojoj normi vrijedi x k+1 x k lim k x k x = 1. Lema kaže da kada god algoritam postigne barem superlinearnu konvergenciju, tada se za kriterij zaustavljanja može koristiti s k = x k+1 x k umjesto e k = x k x.
linearnih u Broydenovoj metodi Praktikum iz jednadžbi Pošto je Broydenova korekcija oblika A k = A k 1 + uv T za u = y k 1 A k 1 s k 1 i v = s k 1, rješavanje s T k 1 s k 1 linearnih u Broydenovoj metodi može se implementirati puno efikasnije od računanja kompletne faktorizacije pojedinačnog u svakom koraku. Računati ćemo QR faktorizaciju Q k R k = A k = A k 1 + uv T, gdje su u, v R n, i A k 1 je nesingularna matrica za koju već imamo faktorizaciju Q k 1 R k 1. Za w = Q T k 1 u imamo A k = Q k 1 R k 1 + uv T = Q k 1 (R k 1 + wv T ), i još izračunamo QR faktorizaciju R k 1 + wv T = Q R.
jednadžbi Tada je R k = R i Q k = Q k 1 Q. Prednost je u tome da se QR faktorizacija od R k 1 + wv T može napraviti u O(n 2 ) operacija za razliku od O(n 3 ) operacija koliko bi nam trebalo da smo radili direktno QR faktorizaciju matrice A k. Kada imamo izračunate Q k i R k, sustav A k s k = (Q k R k )s k = F(x k ) množenjem matricom Q T k s lijeva postaje jednak R k s k = Q T k F(x k), koji se riješi povratnom supstitucijom.
QR faktorizacija matrice B = R k 1 + wv T Praktikum iz jednadžbi Ponište se svi reci u matrici wv T osim prvog, što se može napraviti sa n 1 Givensovih rotacija. To se postiže poništavanjem bilo kojeg stupca različitog od nulvektora u matrici wv T, a pošto su svi stupci oblika v(i) w, na taj način poništiti će se svaki stupac. Dakle dovoljno je Givensove rotacije primjeniti na n 1 matrici w, čime dobivamo w. Paralelno iste rotacije primjenimo na R k 1, koja će se transformirati u gornju Hessenbergovu matricu R k 1. Lako se vidi da je B := R k 1 + wv T matrica dobivena danim Givensovim rotacijama primijenjenim na matricu B, i tako der je gornje Hessenbergova. Sad još pomoću Givensovih rotacija treba poništiti dijagonalu ispod glavne u Hessenbergovoj matrici B, i to tako da element na poziciji (i, i 1) poništimo sa elementom na poziciji (i 1, i 1) za i = 2,..., n.
Napomene Praktikum iz jednadžbi se tako der koristi umjesto Newtonove u globalno konvergentnoj metodi. Može se desiti da se nakon puno koraka A k malo previše udalji od J(x k ) što može rezultirati da globalna iteracija ne može naći niti jednu zadovoljavajuću točku. U tom slučaju se resetira tako da se A k ponovno izračuna pomoću podijeljenih, i nastavi pomoću Broydenovih korekcija.
Praktikum iz jednadžbi Napomena Zadatak Za tolerancije koristite imena varijabli epsilon i delta jer je eps u MATLAB-u rezerviran za mašinsku točnost. Kao kriterije zaustavljanja koristite max x k (i) x k 1 (i) i=1,...,n x k 1 (i) < ε, ili F(x k) 2 < δ, ili k > N. Napišite M-file za funkciju Newton_sustav() koja pomoću Newtonove metode za sistem jednadžbi računa aproksimaciju nultočke dane vektorske funkcije. Ulazni i izlazni parametri su isti kao i kod Newtonove metode za jednu jednadžbu, uz odgovarajuće dimenzije, uz još dodatni ulazni parametar dim koji je dimenzija prostora nad kojim je definirana funkcija f.
jednadžbi Zadatak Napišite M-file za funkciju Newton_glob_sustav() koja pomoću modificirane Newtonove metode za sistem jednadžbi računa aproksimaciju nultočke dane vektorske funkcije. Ulazni i izlazni parametri su isti kao i kod Newton_sustav(). Zadatak Napišite M-file za funkciju podjel_razl_sustav() koja pomoću metode podijeljenih za sistem jednadžbi računa aproksimaciju nultočke dane vektorske funkcije. Ulazni i izlazni parametri su isti kao i kod Newton_sustav() samo bez df.
jednadžbi Zadatak Napišite M-file za funkciju QRgivens_Broyden() koja računa QR faktorizaciju matrice R k 1 + wv T. Ulazni parametri neka su gornje trokutasta matrica R, te vektori w i v, a izlazni matrice Qt i Rt. Zadatak Napišite M-file za funkciju Broyden_sustav() koja pomoću Broydenove metode za sistem jednadžbi računa aproksimaciju nultočke dane vektorske funkcije. Ulazni i izlazni parametri su isti kao i kod podjel_razl_sustav().
jednadžbi Zadatak Usporedite Newtonovu, modificiranu Newtonovu metodu, metodu podijeljenih i Broydenovu metodu za rješavanje F(x) = 0, gdje je F(x) = [ x 2 1 + x 2 2 2 e x 1 1 + x 3 2 2 ], za koji je točno rješenje x = [1, 1] T. Uzmite da je ε = δ = 10 10 i N = 50. Za početne točke isprobajte: 1 x 0 = [1.5, 2] T, i 2 x 0 = [0.5, 0.4] T,
jednadžbi Zadatak Provjerite da za F(x) = [ x1 + x 2 3 x 2 1 + x 2 2 9 čiji su korijeni [0, 3] T i [3, 0] T, ako primjenite Broydenovu metodu uz početnu iteraciju x 0 = [1, 5] T, vrijedi da je [ ] 1 1 lim A k = k 1.5 7.5 ], dok je J(x ) = [ 1 1 0 6 ]. Istovremeno x k vrlo brzo konvergira ka [0, 3] T.