8. Wyznaczanie pierwiastków wielomianów Marian Bubak Department of Computer Science AGH University of Science and Technology Krakow, Poland bubak@agh.edu.pl dice.cyfronet.pl Contributors Magdalena Nowak Paweł Taborowski Arkadiusz Placha
Plan wykładu 1 Wstęp 2 Deflacja dzielenie syntetyczne 3 Metoda Laguerre a znajdowania pierwiastków wielomianu 4 Techniki wygładzania pierwiastków (root polishing) 5 Bibliografia
Wstęp Wstęp f (x) = m a i x i = 0; a m 0 i=0 Wielomian stopnia m m pierwiastków, Jeżeli a i rzeczywiste, to ewentualne pierwiastki zespolone są parami sprzężone: α + i β, α i β Jeżeli a i zespolone, to brak związku między pierwiastkami.
Wstęp Szukanie zer dobór metody: Dowolny Ze względu na postać f (x) metody specjalne (zwłaszcza dla w. zespolonych). Trudności: Wielokrotne pierwiastki trudno obramować, łatwiej, gdy znana krotność, Blisko położone pierwiastki trudności jak wyżej. Nie wiadomo z góry, jaki typ patologii wykazuje wielomian. Uwaga Zadanie wyznaczania zer wielomianów może być źle uwarunkowane. (Wilkinson).
Wstęp
Deflacja dzielenie syntetyczne Deflacja dzielenie syntetyczne Deflacja bardzo użyteczny element wyznaczania pierwiastków wielomianów. Nested form (Horner) f (x) = m a i x i = ((... ((a m x+a m 1 ) x+a m 2 )... ) x+a 1 ) x+a 0 i=0
Deflacja dzielenie syntetyczne Rekurencyjny algorytm obliczania wartości wielomianu dla x = λ ma postać: Algorytm b m 1 = a m b i = a i+1 + λ b i+1, i = m 2, m 3,..., 0 f (λ) = a 0 + λ b 0
Deflacja dzielenie syntetyczne Twierdzenie Dowód: f (x) f (λ) x λ = m 1 i=0 b i x i mnożenie przez (x λ) b i 1 = a i + λ b i Zadanie: Przeprowadzić dowód.
Deflacja dzielenie syntetyczne Deflacja czynnikiem liniowym Deflacja czynnikiem liniowym m 1 f (x) = (x λ) b i x i i=0 }{{} g(x) Gdy f (λ) = 0, wtedy x = λ pierwiastek funkcji f. +f (λ) (1) Pozostałe m 1 zer w g(x) = m 1 i=0 b ix i deflated equation Uwaga Następuje kumulowanie błędów: λ z błędem, b i z błędem itd...
Deflacja dzielenie syntetyczne Deflacja czynnikiem liniowym Pochodna Różniczkując równanie (1) f (x) = (x λ) g (x) + g(x) f (λ) = g(λ) = m 1 i=0 b i λ i
Deflacja dzielenie syntetyczne Deflacja czynnikiem kwadratowym: x 2 + px + q Deflacja czynnikiem kwadratowym: x 2 + px + q f (x) = m i=0 m 2 a i x i = (x 2 + px + q) c i x i + Rx + S i=0 Dowód: Przez porównanie współczynników: c m 2 = a m c m 3 = a m 1 p c m 2 c i = a i+2 p c i+1 q c i+2, i = m 4, m 5,..., 0 R = a 1 p c 0 q c 1 S = a 0 q c 0
Deflacja dzielenie syntetyczne Deflacja czynnikiem kwadratowym: x 2 + px + q Można to zapisać wygodniej, przyjmując c m = c m 1 = 0, c 1 = R: { ci = a i+2 p c i+1 q c i + 2, i = m 2, m 3,..., 0, 1 S = a 0 q c 0 Zadanie: Sprawdzić. Oczywiście: c i, R, S zależne od wybranego p i q. Jeżeli p, q takie, że R = 0 i S = 0 to x 2 + px + q czynnik kwadratowy f, Z niego otrzymujemy dwa pierwiastki funkcji f (ewentualnie zespolone).
Deflacja dzielenie syntetyczne Przydatność deflacji Przydatność deflacji P(x) wielomian, r znaleziony pierwiastek wielomianu P. Realizujemy faktoryzację: P(x) = (x r) Q(x) Zmniejszenie złożoności obliczeniowej (Q niższego stopnia niż P) Uniknięcie pomyłki powrotu do pierwiastka już znalezionego.
Deflacja dzielenie syntetyczne Przydatność deflacji Stosowanie deflacji musi być ostrożne! Powód: pierwiastki są wyznaczane ze skończoną dokładnością (kilka deflacji pociąga kumulację błędu). Forward deflation nowe współczynniki Q(x) obliczane od najwyższych potęg x... Stabilna, gdy zaczynamy od pierwiastków o najmniejszej wartości bezwzględnej, Backward deflation współczynniki Q(x) wyznaczane poczynając od wyrazu wolnego... Stabilna, gdy zaczynamy od pierwiastków o największej wartości bezwzględnej. Zadanie: Dlaczego?
Deflacja dzielenie syntetyczne Przydatność deflacji Podejście minimalizujące błędy Kolejne pierwiastki uzyskane w procesie deflacji są próbnymi (tentative), Polishing (re-solving) wygładzanie z użyciem pełnego P(x) np. metodą Newtona-Raphsona, Niebezpieczeństwo zlanie się dwóch pierwiastków w jeden. Dodatkowa deflacja tylko jeden raz.
Metoda Laguerre a znajdowania pierwiastków wielomianu Met. Laguerre a znajdowania pierwiastków wielomianu Metoda ogólna dla pierwiastków rzeczywistych i zespolonych, dla pierwiastków pojedynczych i wielokrotnych, most straightforward, sure-fire.
Metoda Laguerre a znajdowania pierwiastków wielomianu Istota wynika z poniższych związków między: wielomianem, jego pierwiastkami, jego pochodnymi: I. P n (x) = (x x 1 ) (x x 2 )... (x x n ) II. ln P n (x) = ln x x 1 + ln x x 2 +... + ln x x n III. IV. d ln P n(x) dx = 1 x x 1 + 1 x x 2 +... + 1 x x n d2 ln P n(x) = 1 dx 2 (x x 1 + 1 ) [ ] 2 P n (x) 2 P n(x) P n (x) P H n(x) (x x 2 ) 2 +... + 1 = P n(x) P n(x) G (x x n) 2 =
Metoda Laguerre a znajdowania pierwiastków wielomianu W oparciu o te związki drastyczne założenie: Założenie x a = x x 1 b = x x i, i = 2, 3,..., n odgadnięte (bieżące) położenie pierwiastka odległość od pierwiastka odległość pozostałych pierwiastków Wniosek wtedy z III. 1 a + n 1 b 1 IV. + n 1 a 2 b 2 = G = H } G, H wyznaczone dla aktualnego x (z P, P, P )
Metoda Laguerre a znajdowania pierwiastków wielomianu Rozwiązanie układu a = n G ± (n 1)(nH G 2 ) Zadanie: Sprawdzić a odległość od szukanego pierwiastka. Bierzemy rozwiązanie dające mniejsze a, a może być zespolone metoda sama z siebie zaczyna przeszukiwać C, Rozpoczynamy od przybliżenia x, potem (x a), itd. aż do osiągnięcia żądanej bliskości.
Metoda Laguerre a znajdowania pierwiastków wielomianu Zaleta: Dla P(x) o współczynnikach rzeczywistych zbieżna niezależnie od wyboru początkowego x. Wada: Potrzebne P, P, P w każdym kroku. Więcej o metodzie przykłady konkretnych rozwiązań [ADAMS]
Techniki wygładzania pierwiastków (root polishing) Pierwiastki rzeczywiste metoda Newtona-Raphsona Techniki wygładzania pierwiastków (root polishing) Pierwiastki rzeczywiste metoda Newtona-Raphsona p wielomian stopnia n, Wykonujemy schemat Hornera dla punktu t. a i = b i b i+1 t, i = 0, 1,..., n 1 p(x) = a n x n + a n 1 x n 1 +... + a 0 = = b 0 + (x t)q(x) p (x) = q(x) + (x t)q (x) p (t) = q(t) Dla t pochodną p (t) można obliczyć przy wyliczaniu p(t).
Techniki wygładzania pierwiastków (root polishing) Pierwiastki rzeczywiste metoda Newtona-Raphsona Pojedynczy krok algorytmu: 1 // Horner b [ n ] := a [ n ] 3 c [ n ] := b [ n ] f o r k = n 1 downto 1 5 b [ k ] := a [ k ] + t b [ k + 1 ] c [ k ] := b [ k ] + t c [ k + 1 ] 7 b [ 0 ] := a [ 0 ] + t b [ 1 ] 9 //b [ 0 ] == p ( t ), // c [ 1 ] == p ( t ) 11 p := b [ 0 ] p1 := c [ 1 ] 13 i f p1 == 0 15 r a i s e e r r o r ( D e r i v a t i v e s h o u l d not v a n i s h. ) 17 //Newton Raphson s t e p t := t p / p1 19
Techniki wygładzania pierwiastków (root polishing) Pierwiastki zespolone metoda Bairstowa Pierwiastki zespolone metoda Bairstowa (Można użyć również metody N-R.) Metoda Bairstowa polega na szukaniu czynników kwadratowych x 1 = α + iβ, x 2 = α iβ (x x 1 )(x x 2 ) = x 2 2 αx + (α 2 + β 2 ) = x 2 + p x + q Czynnik kwadratowy może objąć 2 pierwiastki rzeczywiste lub zespolone. P(x) = (x 2 + p x + q) Q(x) + R x + S (2)
Techniki wygładzania pierwiastków (root polishing) Pierwiastki zespolone metoda Bairstowa R(p, q) = 0 S(p, q) = 0 } met. Newtona-Raphsona ( p (n+1) q (n+1) ) ( p (n) = q (n) ) ( R p S p R q S q ) 1 ( ) R (n) S (n)
Techniki wygładzania pierwiastków (root polishing) Pierwiastki zespolone metoda Bairstowa Pochodne znajdujemy w następujący sposób: P(x) nie zależy od p, q, Z równania (2) mamy: 0 = (x 2 + p x + q) Q q + Q + x R q + S q 0 = (x 2 + p x + q) Q p + x Q + x R p + S p (x 2 + p x + q) Q q + R q x + S q = Q(x) (x 2 + p x + q) Q p + R p x + S p = x Q(x) } ( ) P ( q ) P p } (3)
Techniki wygładzania pierwiastków (root polishing) Pierwiastki zespolone metoda Bairstowa (3) mają podobną strukturę jak (2) pochodne R p, R q, S p, S q mogą być uzyskane przez syntetyczne dzielenie wielomianów } Q(x) przez czynnik kwadratowy. xq(x)
Techniki wygładzania pierwiastków (root polishing) Procedura Maehly ego technika wygładzania pierwiastków Pro. Maehly ego technika wygładzania pierwiastków Zapobiega zlewaniu się w jeden dwóch różnych pierwiastków (na etapie wygładzania) równocześnie unikamy deflacji. Zredukowany wielomian P j (x) P(x) (x x 1 )... (x x j ) Wykorzystujemy znane pierwiastki do znalezienia kolejnych. P j (x) = P (x) (x x 1 )... (x x j ) P(x) (x x 1 )... (x x j ) j i=1 1 x x i
Techniki wygładzania pierwiastków (root polishing) Procedura Maehly ego technika wygładzania pierwiastków Pojedynczy krok metody Newtona-Raphsona można zapisać: x k+1 = x k P j(x k ) P j (x k) x k+1 = x k zero suppression. P(x k ) P (x k ) P(x k ) j i=1 1 (x k x i )
Bibliografia Bibliografia Adams, Arthur G. Remark on Algorithm 304 [S15]: Normal Curve Integral Commun. ACM, 1969