WYKŁAD 4 PODSTAWOWE METODY PRZYBLIŻONEGO ROZWIĄZYWANIA NIELINIOWYCH RÓWNAŃ ALGEBRAICZNYCH
MOTYWACJA Wykład r 4 jest poświęcoy omówieiu elemetarych algorytmów wyzaczaia przybliżoych rozwiązań (pierwiastków) ieliiowego rówaia algebraiczego postaci f( ) 0 gdzie symbol f ozacza zadaą fukcję. Zwykle rozwiązaia takiego rówaia ie mogą być wyzaczoe ściśle metodami aalityczymi. Oto kilka przykładów takich rówań 5 e 4 0, si( ) 0, 4 ta ( ) 0 Wspóla cechą wszystkich zaprezetowaych dalej algorytmów jest to, że są to metody iteracyje. W metodach iteracyjych, rozwiązaie wyzaczae jest a drodze kolejych przybliżeń, a liczba powtórzeń (iteracji) iezbędych do uzyskaia przybliżeia o satysfakcjoującej precyzji ie jest a ogół a priori zaa. Wyika stąd, że w metodzie iteracyjej potrzebe są: (a) przybliżeie początkowe (pukt startowy) i (b) kryterium stopu, tj. waruek przerwaia obliczeń oparty a jakimś kryterium jakości przybliżoego rozwiązaia. UWAGA: zajmiemy się tu wyłączie przypadkiem pojedyczego rówaia metody dla układów algebraiczych rówań ieliiowych są tematem kolejych, bardziej zaawasowaych kursów metod umeryczych.
METODA BISEKCJI Zacziemy od bardzo elemetarego (i ituicyjego) sposobu zaego pod azwą Metody Bisekcji (dalej MB). Mechaikę tej metody wyjaśiają poiższe rysuki. Wyzaczamy przedział zawierający pierwiastek, dzielimy go a połowy i określamy, w której z ich położoy jest pierwiastek. Kryterium wyboru polega a określeiu a końcach której połowy fukcja f przyjmuje wartości o przeciwym zaku. Poieważ fukcja f jest z założeia ciągła to zmiaa zaku w przedziale gwaratuje istieie w im miejsca zerowego.
Przebieg obliczeń wg MB pokazuje przedstawioy obok pseudokod. Zadaie domowe: apisać w pełi fukcjoaly program w języku C/C++ realizujący algorytm MB Co z warukiem stopu w MB? Załóżmy, że chcemy wyzaczyć z błędem ie większym iż, czyli godzimy się przerwać obliczeia jeśli zajdzie waruek M. Zauważmy, że po M krokach obliczeń MB mamy oszacowaie M b a Zatem, licza iteracji iezbęda do uzyskaia założoej dokładości to log b a START : f : f ( ) ; f : f ( ) if ( f f 0) the L R while ( ) do R : ( ) / f : f ( ) if ( f f 0) the : ; f : f : ; f : f retur( ) chage the iterval [, ]; retur to START; edif L L R R L M R L M else L edif eddo else M M R M R M L M L M M L R
Plusy i miusy Metody Bisekcji: Plus: jeśli początkowy przedział poszukiwań jest wybray poprawie to MB zawsze zbiegie do miejsca zerowego (jakiegoś miejsca zerowego) fukcji ciągłej f Mius: MB jest ieczuła a lokale cechy (takie p. achyleie wykresu) fukcji f w otoczeiu jej miejsca zerowego; uzyskaie rozwiązaia dobrej jakości wymaga zaczącej liczby iteracji, które mogą być kosztowe obliczeiowo, jeśli obliczaie wartości fukcji f jest złożoe.
METODA STYCZNYCH (NEWTONA) Metoda Styczych (MST) to bardzo wydaja metoda wyzaczaia miejsc zerowych fukcji ciągłych wraz z pochodymi do rzędu rówego dwa lub więcej. Ideę MST ilustruje poiższy rysuek. Tak więc astępe przybliżeie pierwiastka jest określoe jako odcięta puktu przecięcia styczej wystawioej do wykresu fukcji f w poprzedim pukcie i osi O. Rówaie liii styczej ma postać y f ( )( ) f ( ) Wobec tego, rówaie dla ma postać 0 f ( )( ) f ( ), a stąd f f( ) ( )
Pokażemy, że jeśli fukcja f spełia odpowiedie waruki, to MST wykazuje kwadratową zbieżość. Zaczijmy od formalego wykorzystaia Twierdzeia Taylora. Jeśli fukcja f jest klasy C w pewym przedziale zawierającym i to istieje taka liczba [mi(, ),ma(, )], że ma miejsce rówość f ( ) f ( ) f ( )( ) f ( )( ) Dalej, korzystamy z faktu, że f( ) 0. Rachuki przebiegają astępująco: 0 ( ) ( )( ) ( )( ) f f f f ( ) f ( ) f ( ) f ( )( ) f( ) f ( ) f ( ) f ( )( ) f ( ) f ( )( ) f ( )( ) Z otrzymaej rówości wyika kokluzja: f ( ) f( )
Przeprowadzoy wyżej rachuek uprawia do sformułowaia twierdzeia o lokalej zbieżości Metody Styczych (Newtoa): Załóżmy, że w pewym przedziale I (, ) fukcja f spełia waruki: Wówczas, dla każdego 0 oszacowaie ) f ( ) M, ) f ( ) m M 0 I m0 I I i takiego, że M m 0 M m 0 0 zachodzi zastępujące z którego wyika, że I, a także - a podstawie argumetu idukcyjego - że Wobec tego 0 (ma miejsce zbieżość) Poadto M m
UWAGA: Zauważmy, że powyższe twierdzeie gwaratuje jedyie zbieżość lokalą. Iymi słowy, MST będzie typowo osiągać kwadratową zbieżość, o ile początkowe przybliżeie 0 jest już dostateczie blisko rozwiązaia. Jeśli jedak tak ie jest, to ie mamy gwaracji ie (,,..,,,..) może być w ogóle rozbieży! tylko zbieżości kwadratowej, ale ciąg 0 Co się dzieje jeśli iektóre założeia twierdzeia ie są spełioe? Rozważmy przykład: Mamy f ( ), f () 0, a zatem f ( ) 0 f ( ) ( ) ( ) f ( ) ( ) Wioskujemy z powyższego, że ( ). Widzimy, że odległość kolejych przybliżeń geerowaych przez MST od ścisłego rozwiązaia maleje w tempie liiowym (o czyik ½ a każdą iterację), a ie kwadratowym. Zbieżość kwadratowa ie jest osiągaa poieważ f( ) 0 wbrew drugiemu z założeń twierdzeia.. Niech f ( ) ( a) m. Pokazać, że MST prowadzi do formuły dużych wartości m zbieżość będzie bardzo powola! a a. Zauważmy, że dla ( )( ) m. Przeaalizować zbieżość (do rozwiązaia zerowego) MST zastosowaej do rówaia 3/ 0
Rozważymy teraz ie sceariusze patologiczego zachowaia MST. Przykład : Przedział lokalej zbieżości może być bardzo wąski, tak jak to ma miejsce dla fukcji f ( ) l( ) / z. Jak widać, a rysuku obok, wybraie jako puktu startowego MST wartości a prawo od ekstremum zawsze kończy się rozbieżością iteracji do ieskończoości. Z drugiej stroy, wybraie puktu zbyt blisko po lewej stroie ekstremum prowadzi do wyzaczeia liczby ujemej, a zatem ie ależącej do dziedziy fukcji (R + ) Przykład : Iteracje MST mogą się zapętlić. Zachowaie takie demostruje astępujący przykład (rysuek po prawej). Rozważmy f ( ) si( ) i załóżmy, że pukt początkowy 0 to t g( ) 0 0
Wówczas f ( ) si( ) t g( ) f ( ) cos( ) 0 0 0 0 0 0 0 0 0 f( ) si( ) t g( ) f ( ) cos( ) 0 0 0 0 0 0 Tak więc przyajmiej w teorii iteracje MST będą aprzemieie zwracać tylko dwie wartości: 0 ad 0. Zadaie: Jaka jest wrażliwość opisaego wyżej cyklu a ieuikioe błędy zaokrągleń arytmetyki komputera? Przeprowadź taką aalizę aalityczie (trude!) lub za pomocą eksperymetu w komputerze.
METODA SIECZNYCH (MSC) Słabą stroą metody Newtoa (MST) jest koieczość obliczaia pochodej. W pewych zastosowaiach fukcja f może ie być zadaa wzorem, ale raczej jako pewa procedura obliczeiowa. Trudość tę moża obejść stosując metodę sieczych (MSC). Mechaikę tek metody wyjaśia rysuek obok. Tym razem, astępe przybliżeie pierwiastka jest zdefiiowae jako odcięta puktu przecięcia osi O przez sieczą (, f ( )) przechodzącą przez pukty ad (, f ( )). Nietrudo pokazać (ćwiczeie), że rówaie liii sieczej ma postać f y f ( ) f ( ) ( ) ( )
Przyrówaie y do zera prowadzi do wzoru ogólego metody sieczych, a miaowicie f ( ) f ( ) 0 ( ) f ( ) f f ( ) f ( ) ( ) Zajmiemy się teraz aalizą zbieżości MSC, która jest ieco bardziej złożoa iż dla metody styczych (MST). Stosując (formalie) rozwiięcie z szereg potęgowy Taylora, możemy apisać f f f f ( ) ( ) ( ) ( )... f ( ) f ( ) f ( ) f ( )... Trzy kropki po ostatim plusie symbolizują pomiięte człoy wyższych rzędów.
Dalsze rachuki przebiegają astępująco: f( ) [ ( )] f ( ) f ( ) f ( ) f ( )... [ f ( ) f ( )...] [ f ( ) f ( )...]( ) f( ) f ( ) f ( )...... f( ) f ( ) ( ) f ( )( )... f ( )... f( ) f ( ) f ( )... ( )... f ( ) f ( ) f ( ) f ( ) f( ) ( )...... f ( ) f ( ) f( )
W te sposób otrzymaliśmy przybliżoą formułę a błąd aproksymacji miejsce zerowego: f( ) K f( ) Korzystiej byłoby wyrazić wielkość odwołując się wyłączie do wielkości błędu z poprzediej iteracji, czyli. W tym celu, załóżmy, że poszukiway związek da się zapisać w postaci K gdzie iezae a razie wielkości α i β są stałe, tj. iezależe od umeru iteracji. Wyika stąd, że przyjmie oa postać astępującą K K. Po podstawieiu do pierwotej formuły / / / / K K ( K ) K
Poieważ oba otrzymae związki pomiędzy astępująca rówość dla liczby α i musi w szczególości zachodzić 0 Poieważ jedyie dodatia wartość ma ses, mamy ostateczie Mamy też przy okazji wartość β (miej istotą) 5.68. Poieważ wykładik α spełia waruek, mówimy, że Metoda Sieczych jest superliiowo zbieża (lepiej iż liiowo, ale gorzej iż kwadratowo). Moża rówież powiedzieć, że ceą za uikięcie koieczości obliczaia pochodej w MST jest utrata kwadratowej zbieżości.
Metoda Sieczych jest wrażliwa a patologie podobe do tych, które opisaliśmy przy okazji Metody Styczych. W praktyce zbieżość MSC ma rówież charakter lokaly, tj. początkowe pukty startowe (są tym razem dwa tj. 0 i ) muszą być dostateczie blisko pierwiastka.
METODA FAŁSZYWEGO PUNKTU (MFP) - REGUŁA FALSI Podstawowa różica pomiędzy stadardową MSC a MFP polega a iym wyborze pary puktów. W sytuacji przedstawioej a rysuku po lewej, pukt + w metodzie sieczych byłby położoy tam, gdzie siecza w kolorze zieloym przecia oś O. W MFP, pukt + jest w tym przypadku miejscem przecięcia osi O przez sieczą w kolorze czerwoym (stąd false positio ). Iymi słowy: liia siecza jest przeprowadzoa przez ajowsze pukty położoe po przeciwej stroie osi O.
Jeśli dwa pierwsze pukty (startowe) obramowują rozwiązaie to zbieżość MFP jest zagwaratowaa. Z drugiej stroy, MFP jest a ogół jedyie liiowo zbieża. Praktykoway jest rówież wariat, w którym rzęda puktu zamrożoego (w tym przykładzie - ) jest sukcesywie dzieloa przez, dopóki ie pojawi się owy pukt po tej samej stroie osi O. Wyrafiowaym wariatem MFP jest rówież metoda Riddersa (licze opisy w iterecie). Zadaie: opracować sposób efektywej implemetacji metod MSC i MFP w języku C/C++ i porówać ich osiągi a kilku przykładach.
METODA ITERACJI PROSTEJ MIP to metoda dla rówań ieliiowych zapisaych w postaci g( ) Naturalym jest zdefiiować astępujący proces iteracyjy g( ) Jeśli proces te jest zbieży do pewego puktu wówczas automatyczie g( ) Iymi słowy: rozwiązaie jest puktem stałym tego procesu iteracyjego. Przypadek taki ilustruje powyższy rysuek.
Kiedy proces iteracji prostej jest zbieży? Jakie jest tempo zbieżości? Okazuje się, że. odpowiedź a oba pytaia odosi się do jedej i tej samej wielkości, a miaowicie g ( ) W celu oszacowaia tempa zbieżości procesu iteracji prostej przeprowadzamy astępujący rachuek: g( ) g( ) g( ) g( )( )... Zatem, dla puktów położoych dostateczie blisko pierwiastka mamy g( ) Skąd wioskujemy, że jest puktem przyciągającym (atraktorem) procesu iteracyjego wtedy i tylko wtedy, gdy g ( )
Ma też miejsce astępujący fakt: jeżeli w pukcie fukcja g spełia waruki g( ) 0, g( ) to proces iteracji prostej jest kwadratowo zbieży. Istotie, możemy apisać g g g g ( ) ( ) ( )( ) ( )( )... 0 g( ) Przykład: Metoda styczych (Newtoa) może być iterpretowaa jako metoda iteracji prostej zapisaa dla astępującej fukcji g f( ) g( ). f ( ) Obliczmy pochodą tej fukcji g( ) [ f ( )] [ f ( )] [ f ( )] f ( ) f ( ) f ( ) f ( )
Jeśli teraz pierwsza pochoda fukcji f w pukcie jest róża od zera, to mamy f( ) g( ) f ( ) 0 [ f( )] czyli metoda styczych jest zbieża kwadratowo (co już skądiąd wiemy). UWAGA: jeżeli g ( ) 0 to metoda iteracji prostej będzie a ogół rozbieża. Jeśli fukcja g ma ie miejsca zerowe to metoda iteracji prostej może doprowadzić czasami zbiec do iego pierwiastka iż,,pożąday. Możliwe są rówież ie zachowaia p. cykle, a awet przebiegi chaotycze. Klasyczym przypadkiem procesu iteracyjego o bardzo bogatej dyamice jest tzw. odwzorowaie logistycze ( ) które ma postać iteracji prostej dla rówaia kwadratowego ( ). Aaliza zachowaia tego procesu iteracyjego (lub jak mówią matematycy układu dyamiczego z dyskretym czasem ) w fukcji parametru μ ależy do żelazego repertuaru iemal każdego kursu tzw. dyamiki chaotyczej (p. trzeci rozdział moografii Chaos determiistyczy. Wprowadzeie H.G. Schustera, PWN 993).