7. Równania nieliniowe (non-linear equations) Marian Bubak Department of Computer Science AGH University of Science and Technology Krakow, Poland bubak@agh.edu.pl dice.cyfronet.pl Contributors Dawid Prokopek Paweł Matejko Kamil Doległo
Plan wykładu 1 Wstęp 2 Metoda bisekcji (połowienia) 3 Metody iteracyjne 4 Metoda Newtona-Raphsona 5 Przyspieszanie zbieżności - metoda Aitkena 6 Metody interpolacyjne 7 Literatura
Wstęp Wstęp Szukamy pierwiastków równań typu f (x) = 0 (1 zmienna) f (x): - o wartościach rzeczywistych - ciągła Pierwiastek - liczba α : f (α) = 0 Np: 1. e x sin(x) = 0 2. x 3 3x + 1 = 0 zera wielomianu (przypadek szczególny) Istota - znajomość f (x): papier, ołówek, kalkulator! - warto na początku!
Wstęp Wstęp Analiza typowego przykładu - nie ma pierwiastków ujemnych - liczba pierwiastków > 0 - pierwiastki: α n n - parzyste: α n < n π - nieparzyste: α n > n π (bliskie n π) Morał z powyższego: The purpose of computing is insight, not numbers -R. Hamming
Wstęp Wstęp
Wstęp Wstęp
Wstęp Wstęp
Wstęp Wstęp Należy więc: znać przebieg f (x) bracket a root przedział, w którym zmiana znaku funkcji, nie dopuszczać wyjść poza ustalony przedział. procedura szukania α nie może być czarną skrzynką dla jej użytkownika!
Wstęp Wstęp
Metoda bisekcji (połowienia) Metoda bisekcji (połowienia)
Metoda bisekcji (połowienia) Metoda bisekcji (połowienia) Dane: a < b : f (a) f (b) < 0 N - liczba iteracji (ustalona) d := b a for i := 1 to N do c := (a + b) / 2 f(c) f(a) < 0 > 0 b := c a := c α := c E := d/2 N detekcja f(c) = 0 α : początkowo : w [a 0, b 0 ] b 0 - a 0 po N krokach : w [a N, b N ] błąd E = b N a N = b N 1 a N 1 2 =... = b 0 a 0 2 N
Metoda bisekcji (połowienia) Metoda bisekcji (połowienia) Charakterystyka: gwarancja zbieżności wolno zbieżna wykorzystywana informacja: znak funkcji > niż 1 zero znajduje jedno z nich osobliwość znajduje? kryterium zbieżności: E 10 6 dobre dla α 1, złe α 10 26 zwykle: E = ɛ a0+b0 2 ɛ - maszynowe! α 0 specjalny przypadek
Metody iteracyjne Metody iteracyjne x = φ(x) f (x) = 0 zapisujemy jako x = φ(x) - liczbę sposobów: Np: x + ln(x) = 0 x = ln(x), x = e x,... x 3 3x +1 = 0 x = 1 3 (x 3 +1), x = 1, x = (1 k) x + k 3 x 2 3 (x 3 +1) x 0 - początkowe przybliżenie pierwiastka α generujemy ciąg {x i } stosując proces iteracyjny: { y = φ(xi 1 ) x i = φ(x i 1 ), i = 1, 2,... lub y = x i
Metody iteracyjne Metody iteracyjne x = φ(x)
Metody iteracyjne Twierdzenie o zbieżności procesu iteracyjnego Twierdzenie o zbieżności procesu iteracyjnego x i+1 = φ(x i ) Twierdzenie Niech: 1 x = φ(x) ma pierwiastek α 2 na przedziale I = [α a, α + a] zachodzi φ (x) L < 1, gdzie L jest stałą Wtedy: dla dowolnego x 0 I : 1 x i I, i = 1, 2,... 2 lim i x i = α 3 α jest jedynym pierwiastkiem x = φ(x) w I
Metody iteracyjne Twierdzenie o zbieżności procesu iteracyjnego Twierdzenie o zbieżności procesu iteracyjnego x i+1 = φ(x i ) Dowód: 1 Niech x i 1 I x i α = φ(x i 1 ) φ(α) = (x i 1 α) φ (η i 1 ) z Tw. o wartości średniej; η i 1 I x i α = x i 1 α φ (η i 1 ) x i 1 α L x i I ( ) 2 ( ) używamy wielokrotnie x i α L x i 1 α L 2 x i 2 α... L i x 0 α L < 1, lim i L i = 0 lim i x i α = 0
Metody iteracyjne Twierdzenie o zbieżności procesu iteracyjnego Twierdzenie o zbieżności procesu iteracyjnego x i+1 = φ(x i ) 3 Niech w I oprócz pierwiastka α będzie pierwiastek β α β = φ(α) φ(β) = (α β) φ (η) α β = α β φ (η) < α β sprzeczność! }{{} <1 Zawsze: x i 1 α = (x i α) + (x i 1 x i ) Monotoniczna zbieżność x i 1 α x i α + x i 1 x i L+fakt: x i α x i 1 α x i α L 1 L x i 1 x i L 1 L < 1 dla L < 1 2
Metody iteracyjne Rząd zbieżności procedury iteracyjnej x i = φ(x i 1 ) Rząd zbieżności procedury iteracyjnej x i = φ(x i 1 ) 1 {x i } - zbieżność do α 2 szybkość zbieżności ɛ i ɛ i 1 =? rozwinięcie względem α φ(x i 1 ) = p 1 j=0 η i 1 (x i 1, α) ɛ i = ɛ i = x i α = φ(x i 1 ) φ(α) 1 j! (x i 1 α) j }{{} ɛ i 1 φ (j) (α) + p 1 j=1 1 p! (x i 1 α) p φ (p) (η i 1 ) 1 j! ɛj i 1 φ(j) (α) + ɛp i 1 p! φ(p) (η i 1 )
Metody iteracyjne Rząd zbieżności procedury iteracyjnej x i = φ(x i 1 ) Rząd zbieżności procedury iteracyjnej x i = φ(x i 1 ) Jeżeli: φ (α) = φ (α) =... = φ (p 1) (α) = 0, φ (p) (α) 0 to: ɛ i = ɛp i 1 p! φ(p) (η i 1 ) lim i ɛ i ɛ p = 1 p! φ(p) (α) i 1 ɛ i ɛ p - p-th order of convergence i 1 1 p! φ(p) (α) - asymptotic error constant p = 1 - linear 2 - quadratic 3 - cubic
Metody iteracyjne Rząd zbieżności procedury iteracyjnej x i = φ(x i 1 ) Rząd zbieżności procedury iteracyjnej x i = φ(x i 1 ) Można konstruować metody iteracyjne x i = φ(x i 1 ) dowolnego rzędu p - lecz: konieczne wyliczanie 0, 1,..., p 1 pochodnych: np. Richmod s: x i = x i 1 2 f (x i 1 ) f (x i 1 ) 2 (f (x i 1 )) 2 f (x i 1 )f (x i 1 )
Metoda Newtona-Raphsona Metoda Newtona-Raphsona f (x) = 0, α - prosty pierwiastek x i 1 - przybliżenie α niech α = x i 1 + h f (α) = 0 = f (x i 1 + h) = f (x i 1 ) + h f (x i 1 ) + }{{} pomijamy h = f (x i 1) f (x i 1 ) x i = x i 1 f (x i 1) f (x i 1 ) } f (x) f (x)
Metoda Newtona-Raphsona Metoda Newtona-Raphsona więcej informacji f (x i 1 ) h = tg(θ) = f (x i 1 ) wzór iteracyjny: x = φ(x), czyli φ(x) = x f (x) f (x) Warunek zbieżności: φ (x) = f (x) f (x) (f (x)) 2 dla x = α : f (α) 0, φ (α) = 0 bo f (α) = 0 Powinno istnieć otoczenie α, w którym φ (α) < 1 tj. przy odpowiednim doborze x 0 met. N-R jest zawsze zbieżna do α
Metoda Newtona-Raphsona Metoda Newtona-Raphsona
Metoda Newtona-Raphsona Twierdzenie o wyborze przedziału dla m. N-R Twierdzenie o wyborze przedziału dla m. N-R Jeżeli: I = [a, b] w którym: 1 f (a) f (b) < 0 - jest min. 1 pierwiastek 2 f (x) 0, x I - pierwiastek 1-krotny 3 f (x) 0 lub f (x) 0 dla wszystkich x I (convex - wypukła) (concave = wklęsła) 4 f (a) f (a) < (b a) i f (b) f (b) < (b a) - styczna przecinająca x w I to: m. N-R jest zbieżna dla dowolnego x 0 I do α
Metoda Newtona-Raphsona Rząd zbieżności metody N-R Rząd zbieżności metody N-R φ(x) = x f (x) f (x) φ (x) = f (x) f (x) (f (x)) 2 ; φ (α) = 0 φ (x) =; φ (α) 0 ZAD - 2gi rząd tzn: ɛ i ɛ 2 i 1
Metoda Newtona-Raphsona Dla m-krotnego pierwiastka Dla m-krotnego pierwiastka x i = x i 1 m f (x) f (x) - też o zbieżności kwadratowej ZAD
Metoda Newtona-Raphsona Warunek zakończenia dla m. N-R Warunek zakończenia dla m. N-R w procedurach bibliotecznych - rozbudowane zabezpieczenia wyznaczanie: - x i x i 1 x i - f (x i ) - f (x i ) - zbyt mały - to może:
Metoda Newtona-Raphsona Warunek zakończenia dla m. N-R Warunek zakończenia dla m. N-R Niebezpieczeństwa: a) lokalne ekstrema b) rozbieżny cykl iteracji możliwe, gdy f - wynik interpolacji inne x 0 kombinacja: bisekcja (gdy kłopoty) + N-R
Przyspieszanie zbieżności - metoda Aitkena Przyspieszanie zbieżności - metoda Aitkena x i, x i+1, x i+2 - kolejne iteracje x i α = φ(x i 1 ) φ(α) = (x i 1 α) φ (η i 1 ), η i 1 (x i 1, α) x i+2 α = (x i+1 α) φ (η i+1 ) x i+1 α = (x i α) φ (η i ) }{{} ( ) ( ) - nieznane, ale w pobliżu α; φ (x) stałe
Przyspieszanie zbieżności - metoda Aitkena Przyspieszanie zbieżności - metoda Aitkena x i+2 xi+2 x i+1 xi+2 = x i+1 x i+2 x i x i+2 x i+2 = x i x i+2 x 2 i+1 x i+2 2 x i+1 + x i niedogodna: L, A 0 x i+2 = x i (x i+1 x i ) 2 x i+2 2 x i+1 +x i ( ) ( ) - zbieżność kwadratowa bez obliczania 2-gich pochodnych równość pochodnych ze stałości: x i x i 1 x i+1 x i
Metody interpolacyjne Regula falsi Metody interpolacyjne - Regula falsi
Metody interpolacyjne Regula falsi Regula falsi 1 x 0, x 1 : f (x 0 ) f (x 1 ) < 0 2 linia prosta: 3 sprawdzenie f 0 f 1 x 0 x 1 = f 0 f 1 f 2 < 0 f 0 f 2 < 0 x 0 x 2 x 2 = f 1 f 1 f 0 x 0 + f 0 } x 3... f 0 f 1 x 1 - wolno zbieżna do poj. pierwiastka (zbieżność liniowa) ZAD
Metody interpolacyjne Regula falsi Regula falsi Wyjątkowo trudny przypadek: ważne dla RF: wszystkie iteracje po tej samej stronie pierwiastka
Metody interpolacyjne Metody Illinois i Pegasus - ulepszenie RF Metody Illinois i Pegasus - ulepszenie RF 1 x i, x i+1, x i+2 : { fi f i+1 < 0 obejmują pierwiastek f i+1 f i+2 > 0 2 stosujemy RF do x i, x i+2 x i+3 ale z: f i = f i 3 gdy f i+2 f i+3 { < 0 - RF dla xi+2, x i+3 > 0 - zmodyf. RF dla x i, x i+3 = α f i
Metody interpolacyjne Metody Illinois i Pegasus - ulepszenie RF Metody Illinois i Pegasus - ulepszenie RF Illinois α = 1 2, Pegasus α = f 0 f 1 +f 0
Metody interpolacyjne Metoda siecznych Metoda siecznych
Metody interpolacyjne Metoda siecznych Metoda siecznych - (x 0, x 1 ) - f 0 f 1 - nie badamy linie prosta (x 0, f 0 ), (x 1, f 1 )... x i+2 = x i+1 x i+1 x i f i+1 f i+1 f i }{{} ( ) ( ) - jak N-R z takim przybl. f (x i ) - rząd zbieżności 1.62 ZAD - lepsza od RF - gorsza od NR - lecz bez f!
Literatura Literatura B. N. Datta Numerical Methods for the Root Finding Problem http://www.math.niu.edu/ dattab/math435.2013/ ROOT_FINDING.pdf C. T. Kelley Iterative Methods for Linear and Nonlinear Equations https: //archive.siam.org/books/textbooks/fr16_book.pdf