W przekładzie i pod redakcją STEFANA PASZKOWSKIEGO DAVID KINCAID WARD CHENEY ( analiza nu111e19Yczna ' i •:-„ t':. „ ' J ·.' -.~: • „ Wydawnictwa Nauk...
Metody najszybszego spadku i sprzężonych gradientów . . Analiza błędów zaokrągleń w metodzie eliminacji Gaussa działy
numerycznej algebry liniowej podstawowych pojęć . . . . . . Metoda potęgowa dla zadania własnego Twierdzenia Schura i Gerszgorina . . . . Ortogonalizacja i zadanie najmniejszych kwadratów Rozkład względem wartości szczególnych i pseudoodwrotność Metoda QR obliczania wartości własnych
w Polsce podręczniki analizy numerycznej, jak (włączone do bibliografii) książki Ralstona, Dahlquista i Bji:ircka, Stoera i Bulirscha oraz Dryi i Jankowskich, ukazały się ponad dwadzieścia lat temu. Nowsza jest książka Kiełbasińskiego i Schwetlicka, ale ta dotyczy tylko metod numerycznych algebry liniowej. Potem ukazywały się co najwyżej skrypty wydawane przez niektóre uczelnie i ukierunkowane głównie na dydaktykę. Tymczasem analiza numeryczna jest dziedziną matematyki nie tylko stale stosowaną, ale i rozwijającą się nieustannie, o czym świadczą chociażby coraz to nowe czasopisma naukowe jej poświęcone. Dlatego dobrze się stało, że Wydawnictwa Naukowo-Techniczne postanowiły wydać niniejszy podręcznik. Jest to przekład trzeciego wydania amerykańskiego, w którym moż na znaleźć - w porównaniu z podręcznikami wymienionymi wyżej - sporo nowości. Wiele tematów ujęto inaczej, na co innego położono nacisk. Jak zwykle, dobór materiału i sposób jego prezentacji wynika z indywidualnych poglądów i zainteresowań autorów. Nawet tak obszerna książka nie może choćby w skrócie objąć wszystkich najważniejszych działów i metod analizy numerycznej. Żałuję na przykład, że teoria i praktyka przyspieszania zbieżności - tematu ważnego w całej analizie numerycznej - zasłużyły tylko na skąpe wzmianki. Mam nadzieję, że w przyszłości uda się zapełnić tę i inne luki. Na razie zaś, jako tłumacz i redaktor książki, spodziewam się, że jej lektura będzie pożyteczna i dla studentów różnych dyscyplin, i dla osób, które w swej pracy zawodowej posługują się metodami numerycznymi. Tłumacząc książkę, usunąłem bardzo dużo drobnych usterek różnego typu. Jako redaktor przekładu wprowadziłem - za zgodą autorów - sporo zmian nienaruszających oczywiście autorskiej koncepcji książki, ale mających na celu ułatwienie jej lektury i uwzględniających wiedzę polskich czytelników. Skróciłem więc lub pominąłem szczególnie elementarne rozważania, zbędne dla czytelników ze standardowym poziomem wiedzy matematycznej. Dowody kilku twierdzeń zastąpiłem prostszymi lub bardziej
OD
xii
OD
TŁUMACZA
I REDAKTORA
TŁUMACZA
I REDAKTORA
PRZEKŁADU
xiii
PRZEKŁADU
naturalnymi. W kilku miejscach przestawiłem fragmenty tekstu, np. poprzedziłem twierdzenie używanymi w nim lematami. Przejrzałem krytycznie listy zadań (a jest ich w książce wyjątkowo dużo!) do poszczególnych podrozdziałów, usunąłem zadania powtarzające się lub wyraźnie banalne, dostosowałem - gdzie było to wskazane - porządek zadań do kolejności wprowadzanych pojęć, metod i twierdzeń. Aby ułatwić czytelnikom lekturę, wprowadziłem w obrębie każdego podrozdziału wspólną numerację twierdzeń, wniosków, przykładów itd. Oryginalny podrozdział 6.11, dający tylko bardzo ogólnikowe wiadomości o ułamkach łańcuchowych, zastąpiłem za zgodą autorów nieco szerszym podrozdziałem o aproksymacji wymiernej, który zawiera wstępne wiadomości nie tylko o taldch ułamkach, ale również o interpolacji wymiernej i aproksymacji Padego. Bibliografia w oryginale zawiera ok. 360 pozycji niecytowanych w tekście. Usunąłem je, bo w wielu przypadkach na podstawie tytułów nie można nawet ustalić, z jakimi dziedzinami te prace się wiążą. Przed przedmową autorów umieściłem krótką listę symboli używanych dalej, a wyjaśnianych w różnych miejscach książki. W przekładzie pominąłem dodatek zawierający komentowaną listę adresów kilkudziesięciu stron z informacjami o towarzystwach naukowych, czasopismach, programach, wykładach itd. z dziedziny analizy numerycznej; informacje na ten temat zawiera przypis do przedmowy autorów .. Z podobnych powodów usunąłem też z podrozdz. 2.1 fragment o hipotetycznym komputerze Marc-32, a z dalszych partii książki wszelkie wzmianki o nim (zresztą w końcowych rozdziałach były one coraz rzadsze). Tam, gdzie jest to potrzebne, czytelnicy są informowani o precyzji stosowanej arytmetyki. Jedną z najważniejszych metod numerycznych algebry liniowej jest metoda Cholesky'ego rozkładu macierzy na czynniki. Czytelnicy znający tę metodę z innych podręczników zauważyli zapewne, że nie cytuje się w nich oryginalnej pracy Cholesky'ego. Profesor Claude Brezinski uprzejmie przekazał mi wyniki swych poszukiwań w bibliotekach i archiwach. Teraz już wiadomo, kim był Andre Louis Cholesky oraz gdzie i kiedy opublikował swą metodę; notabene jest bardzo prawdopodobne, że pochodził on z rodziny polskich emigrantów Cholewskich, osiadłych we Francji w XIX w. Metoda ta w wielu polskich publikacjach nosi imię Tadeusza Banachiewicza, który wynalazł ją niezależnie, ale znacznie później. Profesor Krystynie Ziętak zawdzięczam wiele istotnych uwag dotyczą cych zarówno oryginału, jak i przekładu, głównie rozdziałów 2-5. Żałuję, że z równie istotnych powodów nie wszystkie takie uwagi mogłem uwzględ nić. Kilka osób pomogło mi rozstrzygnąć wątpliwości terminologiczne i inne; byli to: prof. Edward Neuman, dr Andrzej Wakulicz i mgr inż. Tymon
·'
Godzwon. Dzięki uprzejmości personelu Biblioteki Instytutu Matematycznego PAN w Warszawie udało mi się sprawdzić kilka istotnych informacji. Należne podziękowania składam również mgr Liliannie Szymańskiej kierują cej Redakcją Matematyki i Fizyki WNT, mgr Małgorzacie Jachymek z tejże Redakcji oraz p. Grażynie Miazek z Redakcji Technicznej WNT za współ pracę przy nadaniu przekładowi jego ostatecznej, oby optymalnej postaci.
Wrocław, kwiecień
2005
Stefan Paszkowski
· Oznaczenia i konwei1cje
l
.·„:
" . ::o.··. :•' '
~('
„. \
i.' . ... . • •'~ „ .
.
I
·,,.
„.
'.'
1.
zbiór liczb naturalnych 1, 2, 3, ... . zbiór liczb całkowitych ... ; -3, -2, -1, O, 1, 2, 3, ... zbiór liczb rzeczywistych . zbiór liczb zespolonych część rzeczywista i urojona liczby zespolonej z· przestrzeń n-wymiarowa punkt.ów. (x1, x2, ... , xn) o współ rzędnych rzeczywistych. (wektor?w o takich składowych) przestrzeń n-wymiar.owa pl,lllktó:w .(x~, x2, .. „, Xn) o współ. rzędnych zespolo:riy,Ćh (wektorów.~ takich składo'wych) symbąl iloczynu kartezjańskiego duże i małe o; symbole używane w porównywaniu elementów ciągów lub wartości funkcji równe z definicji . .. . symbol używany w definicji friclc~ji (odwzorowania); np. x 1-+ x 2 -1 symbol funkcji .wykładniczej:: expx :=ex przestrzeń funkcji zmiennej rzeczywistej (odpowiednio: ciąg łych, mających m-tą pochodną ciągłą, mających wszystkie pochodne ciągłe} . macierz transponowana. względem macierzy A iloczyn s~ralarny wektorów u i V· delta K roneckera, rów~a 1 dl~· j :: k i O dla j i= k signum (znak): sgnx ;= · -1, O, 1 odpowiednio dla x < O, x=Oix>O symbol Pochhammera: (x)n .- x(x + 1) ... (x +n - 1) dla n EN, (x)o := 1
„.
OZNACZENIA I KONWENCJE
.
'"'~.
symbol liczby m x 10c (m - ułamek dziesiętny skończony, c - liczba całkowita) n·
L
Bk :=
O· dla m = n - 1
Bk :=
1
k=m n
IT
k=m
dla m = n - 1
Przedmowa Książka powstawała przez wiele lat z notatek do wykładów z matematyki i informatyki na ostatnim roku studiów podstawowych lub na studiach magisterskich na University of Texas w Austin. Te wykłady wprowadzały studentów w dziedzinę algorytmów i metod najczęściej potrzebnych w obliczeniach naukowych. Zwracaliśmy uwagę zarówno na matematyczne podstawy tych metod, jak i na ich algorytmiczne aspekty. Słuchaczami byli studenci studiów podstawowych z matematyki, nauk technicznych lub ścisłych i informatyki oraz studenci różnych typów studiów magisterskich. Fragmenty książki stanowiły też podstawę wielu wykładów poświęconych poszczególnym działom analizy numerycznej, takim jak rozwiązywanie numeryczne . równań różniczkowych, metody numeryczne algebry liniowej i teoria aproksymacji. Nasze podejście polegało zawsze na traktowaniu przedmiotu z matematycznego punktu widzenia; pokazywaliśmy szeroką paletę twierdzeń, dowodów i ciekawych pomysłów. Wynika stąd wiele procedur numerycznych i intrygujących problemów analizy numerycznej. Oczywiście, motywował nas obszar praktycznych zastosowań tej dziedziny, narzucający wybór tematów i sposób ich ujęcia. Tak na przykład, w pewnych działach bardziej pouczające jest rozważanie podstaw teoretycznych niż próba szczegółowego analizowania algorytmów. W innych przypadkach jest na odwrót i studenci wiele wynoszą, programując samodzielnie proste algorytmy i testując je; popieramy jednak bez zastrzeżeń korzystanie ze starannie sprawdzonego oprogramowania, na przykład z bibliotek programów, dotyczącego problemów wynikających z zastosowań. 'Ireść tej książki i treść naszego bardziej elementarnego podręcznika Numerical Mathematics and Computing (wyd. 4, Brooks/Cole) częściowo się pokrywają. Jednak wymieniony podręcznik jest adresowany do studentów mających skromniejsze przygotowanie matematyczne (a często także mniej zapału do studiowania teoretycznych aspektów przedmiotu). Zestaw tematów jest tam inny, a żadnego z nich nie analizuje się zbyt głęboko. Niniejsza książka zaś jest przeznaczona do wykładu dającego bardziej akademickie ujęcie przedmiotu; pewne tematy są opisane szczegółowo. Tu i ówdzie
xviii
PRZEDMOWA
poruszamy zagadnienia, które nie znalazły wcześniej swego. miejsca w standardowych podręcznikach na tym poziomie. Do tej kategorii należą metody wielosiatkowe, procedury interpolacji funkcji wielu zmiennych, metody homotopii (lub kontynuacji), równania różniczkowe z opóźnionym argumentem i optymalizacja. Algorytmy w niniejszej książce wyrażamy w symbolice zawierającej nie . tylko wzory, ale i dodatkowe elementy. Czytelnik może łatwo przetłumaczyć_ · .,. taki algorytm na dowolny typowy język programowania. Sądzimy, że stu- : denci najlepiej nauczą się metod numerycznych i zrozumieją je, widząc, jak algorytmy wynikają z teoretycznych rozważań, oraz pisząc i testując programy komputerowe. Zapewne nie będą one zawierały wszystkich skomplikowanych procedur i wyszukanych sposobów kontroli, jakimi charakteryzują się. · · programy biblioteczne. Przykłady bibliotek oprogramowania można znaleźć· w dodatku Al). W wielu zastosowaniach odwołanie się do tych bibliotek jest znacznie bardziej sensowne niż pisanie własnych programów. Ważną częścią składową książki (i niezbędną dla celów dydaktycznych) jest obfitość zadań do rozwiązywania przez studentów; znajdą tu oni dwa. . ·1 rodzaje zadań: analityczne i komputerowe. Te ostatnie z kolei dzielą .się ·· ·· .. na takie, gdzie student ma napisać własny program i takie, gdzie należy. ·.. i:'\· zastosować istniejące oprogramowanie. Uważamy, że oba rodzaje praktyki-~ .. ';„. komputerowej są konieczne. Z jednej strony, użycie cudzego programu nie · ' zawsze jest banalnym ćwiczeniem, nawet wtedy, gdy jest on dobrze udo--· kumentowany, jak to bywa w dużych bibliotekach czy pakietach. Z drugi"ej strony, studenci zdobywają głębszą wiedzę o algorytmie, jeśli go sami programują i testują, niż wtedy, gdy tylko korzystają z programu bibliotecznego. W większości przypadków zadania komputerowe wymagają stosowania arytmetyki zmiennopozycyjnej z liczbami co najmniej 32-bitowymi. Oprogramowanie opisane w książce, erratę do niej i pewne· pomoce dydaktyczne można znaleźć w Internecie. Wydawca2) udostępnia też zbiór rozwiązań zadań wykładowcom, którzy zechcą oprzeć się na tej książce. 'Irzecie wydanie zawiera nowe zadania, inny jest też ich układ. Usu~ \~: · ': · · nęliśmy wszystkie błędy zauważone w poprzednich wydaniach. Bibliografia : .· :„. · została zaktualizowana3 >. Stronę graficzną zaprojektowano na nowo. Wpro·. :. · · l)
xix
PRZEDMOWA
wadziliśmy
wiele innych ulepszeń. W szczególności w tym nowym wydaniu o optymalizacji z takimi tematami, jak metody spadku, algorytmy przybliżania kwadratowego, algorytm Neldera-Meada, symulowane wyżarzanie, algorytmy genetyczne, optymalizacja Pareto i programowanie wypukłe. . Standardowy wykład jednosemestralny można oprzeć na wybranych · ·:'.,,„ fragmenta~h rozdziałów 1-4 i 6-8.,'Wykład dwusemestralny, może obejmo·„ ' wać fragmenty rozdziałów 1-9 i dodatkowe interesujące tematy. Rozdziały 4 i 5 można uważać za niezależny od poprzednich krótki podręcznik numerycznej algebry liniowej. Ze względu na obszerny zakres tematów lektura pewnych podrozdziałów stawia czytelnikom większe Wymagania. Na ogół podrozdziały takie zamieściliśmy n!'L końcu.rozdziałów, aby na począt ku lekt~ry nie zniechęcać czytelnika, który według własnego uznania może trudniejsze partie pominąć. dodaliśmy rozdział
..
.',•
·
•.'
„
Nie ma go w polskim wydaniu, autorzy uznali bowiem, że obecnie stal się on już
zbędny wobec łatwości wyszukiwania w Internecie potrzebnych informacji. Tłumacz pominął więc kilka następnych wzmianek o tym dodatku 2
(przyp. tłum.).
J Chodzi o wydawcę oryginału, tzn. wydawnictwo BROOKS/COLE (przyp. red.
. „ .„
WNT). 3 ) W polskim wydaniu rozszerzono ją o pozycje polskich autorów, przekłady na język polski kilku ważnych prac pominiętych przez autorów i pewne książki wydrukowane po ukazaniu się trzeciego wydania oryginału. W bibliografii i odwołaniach do niej te dodat- ' kowe pozycje są oznaczone gwiazdką*• poprzedzającą rok wydania (przyp. tłum.).
'.
,>. •.
-~·
„
\·
··:
;'
Podziękowania
;·
Z radością wyrażamy naszą wdzięczność wielu osobom, które nam przy pisaniu tej książki.
towarzyszyły
Pierwsze wydanie
Pomoc administracyjną zapewnili nam: Sheri Brice, Margaret Combs, Jan Duffy, Katherine Mueller i Jenny Tsao z University of Texas w Austin. Przede wszystkim chcemy podkreślić rolę Margaret Combs z Wydziału Matematyki, która przepisywała w 'TEX-u niezliczone wersje każdego podrozdziału i cierpliwie przygotowywała nowe, gdy tylko były potrzebne jako skrypty w kolejnych latach. Żaden problem techniczny nie był dla niej zbyt trudny, tak świetnie opanowała umiejętność dopasowywania makr 'TEX-a do nietypowych celów. Jest tu właściwe miejsce na nasze publiczne podziękowa nia dla Donalda Knutha za to, co zrobił dla społeczności uczonych, tworząc system składu drukarskiego 'IEX· Thomas A. Atchison, Frederick J. Carter, Philip Crooke, Jim D'Archangelo, R. S. Falk, J. R. Hubbard, Patrick Lang, Giles Wilson Maloof, A. K. Rigler, F. Schumann, A. J. Worsey i Charles Votaw byli dociekliwymi krytykami wstępnych wersji rękopisu; doceniamy zgłaszane przez nich sugestie. Jesteśmy też winni podziękowania kilku osobom za pomoc techniczną i krytyczne przejrzenie rękopisu; byli to: Victoria Hunter, Carole Kincaid, Tad Liszka, Rio Hirowati Shariffuddin i Laurette Tuckerman. David Young służył zawsze uwagą i radą. Bardzo nam też pomogli studenci starszych lat, którzy prowadzili ćwiczenia do naszych wykładów. Oto oni: David Bruce, Nai-ching Chen, Ashok Hattangady, Ru Huang, Wayne Joubert, Irina Mukherjee, Bill Nanry, Tom Oppe, Marcos Raydan, Malathi Ramdas, John Respess, Phien 'Iran, Linda Tweedy i Baba Vemuri. Ściśle z nami współpra cowali i służyli pomocą wydawcy i redaktorzy techniczni z Brooks/Cole Publishing Company. W szczególności z przyjemnością dziękujemy za wsparcie Jeremy'emu Hayhurstowi i Marlene Thom. Stacey Sawyer z firmy Sawyer
xxii
PODZIĘKOWANIA
PODZIĘKOWANIA
, ~W.y9,awcą., Brooks/Cole:-J'hqmsqi+ Leap:llngj, jęgo ,redę.ktofZY ~echnicz ni, a szczególnie Bob Pirtle, Janet Hill i Molly Nance, służyli nam wszelką pomocą, gdy przygotowywaliśmy to poprawione wydanie. Don DeLand, Leslie Galen, Joe Albrecht z firmy Integre Technical Publishing Company wykonali świetną robotę, za którą im _d~iękujemy. . . Będziemy wdzięczni czytelnikom, którzy zechcą się z nami skontaktować, za wszystkie komentarze, sugestie, P)'tania, uwagi krytyczne lub poprawki.
and Williams odpowiadał za staranne przygotowanie maszynopisu, a Ralph Youngen z Amerykańskiego Towarzystwa Matematycznego zapewnił pomoc techniczną i nadzór nad przekształceniem plików '!EX-owych w końcową drukowaną postać.
Drugie wydanie Recenzentami, którym jesteśmy wdzięczni za cenne uwagi, byli: Dan Boley z University of Minnesota, Min Chen z Pennsylvania State University, John Harper z University of Rochester, Ramon Moore z Ohio State University, Yves Nievergelt z Eastern Washington University i Elinor Velasquez z University of California-Berkeley. Szczególnie dziękujemy Ronovi Boisvertowi za wyjaśnienie nam różnych kategorii oprogramowania matematycznego i przykłady podane w dodatku. Chcemy też podziękować wszystkim, którzy zadali sobie trud i przekazali nam uwagi lub poprawki do pierwszego wydania. Wśród tych osób są: Victor M. Afram, Roger Alexander, A. Awwal, Carl de Boor, T. P. Brown, James Caveny, George J. Davis, Haka.n Ekblom, Mariano Gasca, Bill Gearhart, Patrick Goetz, Gary L. Gray, Bob Gregorac, Katherine Hua Guo, Cecilia Jea, Liz Jessup, Grant Keady, Baker Kearfott, Junjiang Lei, Teck C. Lim, Julio Lopez, C. Lu, Taketomo Mit- . sui, Irina Mukherjee, Teresa Perez, Robert Piche, Sherman Riemenschnei- ..... der, Maria Teresa Rodriquez, Ulf Roennow, Larry Schumaker, Wei-Chang''_ '.: Shaun, Christopher J. van Wyk, Kang Zhao i Mark Zhou.
David Kincaid Ward Cheney
,•.
,'·!.
Trzecie wydanie
.·
.:':
Chcemy podziękować wszystkim, którzy przekazali nam propozycje i po- · · . :· · prawki do drugiego wydania. Byli to: Eyal Arian, Carl de Boor, Yung-l\fing Chang, Antonella Cupillari, Paul Eenigenburg, Leopoldo P. Franca, Henry Greenside, R. J. Gregorac, Scott A. King, Robert Piche, N. Shamsundar, Topi Urponen i Yuan Xu. Jesteśmy wdzięczni Patrickowi Goetzowi, Shashankowi Khandelwalowi i przede wszystkim Durene Ngo, którzy pomagali przygotować nowe wydanie. · Nasze wyrazy podziękowania należą się też następującym instytucjom za pomoc techniczną i stworzenie doskonałych warunków pracy na kompute- ,:_-:. '' rach: Center for Numerical Analysis, Texas Institute of Computational and Applied Mathematics oraz dwóm wydziałom University of Texas w Austin:. .•. Computer Sciences Department i Mathematics Department.
XXlll
.·
„•
. ,.,
.. . '
'
:·:
..
c.
~ .~„
•.
·· ...
.
.·.;
li'
I' "Ir . ,i„
:fi',,
I
Czym jest analiza numeryczna? Analiza numeryczna obejmuje tworzenie, badanie i analizę algorytmów, których celem jest otrzymywanie rozwiązań numerycznych różnorodnych zadań matematycznych. Często analizę numeryczną nazyi.va się matematyką obliczeń naukowych 1). Badane przez nas algorytmy są nieuchronnie przeznaczone do stosowania na szybkich komputerach i dlatego pewien decydujący etap musi poprzedzać rozwiązanie zadania: trzeba napisać program, aby przekazać w tej postaci algorytm komputerowi. To jest oczywiście nietrywialny problem, ale mamy teraz do wyboru tyle komputerów i języków programowania, że progrą.mowanie pozostaje poza obrębem analizy numerycznej w ścisłym sensie tego terminu. Poza rozwiązywaniem numerycznym zadań matematycznych komputery mają oczywiście wiele innych zastosowań, jak komunikacja, tworzenie wielkich baz danych, gry, „surfowanie" w sieci, pisanie powieści, rachunkowość itd. Rozwiązywanie zadań matematycznych numerycznie na komputerze - to obliczenia naukowe. Tworzenie odpowiednich algorytmów (procedur) i badanie ich własności - to matematyka obliczeń naukowych. Konstrukcja algorytmu jest nierzadko stymulowana przez konstruktywny dowód w matematyce. W klasycznej analizie są często stosowane metody niekonstruktywne, ale te na ogół nie prowadzą do algorytmów. Na przykład, twierP,zenia dotyczące istnienia i jednoznaczności dowodzi się przypuszczając, że są one fałszywe i dochodząc poprzez logiczne rozumowanie do sprzeczności. Nie każdy jednak konstruktywny dowód prowadzi do efektywnego algorytmu. Trudność, która wtedy się pojawia, bierze się stąd, że rozwiązanie analityczne danego zadania może być zupełnie odmienne od rozwiązania numerycznego. To pierwsze może być bezużyteczne, gdy prowadzi do wolnej zbieżności albo zmusza do długotrwałych obliczeń.
J
1 !
J
W polskiej literaturze matematycznej ta nazwa nie jest używana, natomiast dawne analizy numerycznej (np. wymienione w dodatkowej bibliografii od tłumacza) miały w tytule metody numeryczne (przyp. tłum.). 1)
podręczniki
xxvi
CZYM JEST ANALIZA NUMERYCZNA?
CZYM JEST ANALIZA NUMERYCZNA?
Jako przykład luki między twierdzeniem o istnieniu i rozwiązaniem numerycznym zadania ro~ważmy wszechobecne równanie macierzowe Ax = Wiemy, że ma ono jedyne rozwiązanie, jeśli tylko macierz A jest nieosobliwa. To jednak jest niewielką pociechą, gdy stajemy przed wielkim układem liniowym zawierającym dane empiryczne i chcemy znaleźć numerycznie jego
Wielkości h
i k są tu odległościami sąsiednich punktów siatki, odpowiednio kierunku t i w kierunku x. -Zmiana symbolu-funkcji na v przypomina, że zamiast pierwotnego modelowego zadania rozwiązujemy jego przybliżenie. Po zastąpieniu pochodnych cząstkowych podanymi wyrażeniami przybliżo ny.mi i uproszczeniach' dochodzimy do równania liniowego w każdym punkcie (xi, tj) .siatki. Używając prostszego oznaczenia Vij zamiast v(xi, tj), wyrażamy to. równanie 'w postaci
::»;„.lill!1i1>'1
przybliżone rozwiązanie.
W tej książce będziemy z reguły zaczynać każdy temat od tych podstawowych zadań matematycznych, które pojawiają się często w zastosowa- · , niach praktycznych. Aby dojść do algorytmu rozwiązania takiego zadania,": · • będziemy musieli przejść przez pewne rozważania analityczne. Algorytmy są . · zwykle dane w postaci programu napisanego w pewnym fikcyjnym języku · programowania2>. N a końcu może być podana dodatkowa analiza algorytmu, która ma . ułatwić zrozumienie jego własności, takich jak zbieżność lub odporność na błędy zaokrągleń. Ta analiza błędów może przybierać formę analizy bezpośredniej lub analizy pozornych równoważnych zaburzeń 3 >. Za każdym ważnym zadaniem matematycznym stoją zawsze zMtoso~ wania fizyczne. Przykładem może być zadanie przewodnictwa cieplnego.·. Temperaturą w metalowym pręcie, dla różnych warunków brzegowych, rz~·. · :·.". . , dzą równania matematyczne, które muszą być spełnione w każdym punkcie'':•,/:~' ~ i w każdej chwili. Zasadniczym równaniem może być równanie przewodnie.:.·:·:; twa cieplnego
EPu
au
ax2
at.
Jest to równanie różniczkowe cząstkowe typu parabolicznego, liniowe, dru- · giego rzędu. Opisuje ono rozchodzenie się ciepła w pręcie przy pewnych. założeniach o rzeczywistym zadaniu fizycznym. W równaniu x jest zmienną.· .·. .. / · „ przestrzenną, t oznacza czas, a u = u(x, t) jest temperaturą. Rozwiązują<:: ../"~··:' zadanie modelowe na komputerze, dyskretyzujemy obszar czasoprzestrze- ·,·"· ::„.„~ '· ··. ·. ni wprowadzając siatkę punktów i szukamy rozwiązania w każdym z nic~.. Pochodne cząstkowe w równaniu można aproksymować za pomocą różnfo '· skończonych, np. tak:
...
. vi;ji1 = SVi-1,j
+. (1 ....:. 2s )Vij
+SVi+l,j'
gdzie s = k/h 2 • Dzięki niemu możemy tworzyć rózwiązanie numeryczne, posuwając się krok po kroku w lderunku t. Taką procedurę nazywamy jawną, gdyż nowe wartości Vi,j+l ·wyrażają się jawnym· wzorem przez poprzednie wartości "Vi-1,j, Vij i Vi+l,j· Metoda jest bardzo elegancka· i trudno przewidywać jaldeś kłopoty w jej zastosowaniu. A jednak zarówno analiza jak ·i doświadczenie numeryczne dowodzą, że i:netoda ma fatalną wadę! Dlatego .przechodzimy do met9dy niejawnej. Polega ona na wyznaczeniu węzystkich wartośc~ jedn9cześn,ie.ze .sz~zególnego typu .układu liniowego
'"I.~;<~,.. ';~~
•'
'
••
„ •'
.„
+ v(x -
,''
'.':•'·
a Vj = (vji, Vj 2, ... ,'Vjn)· Dla takiej metody trzeba zbadać jef stabilność, dzięki" cżemu określamy . dopuszczalne wielkości dla h i k i ustalamy rodżaj zbieżności. Tu metoda · · jawna sprawuje się kiepsko. Szczegóły można· znaleźć w rozdz. 9. każdej
W oryginale tak wyrażony program jest nazywany pseudocode, ale w polskiej ter-. minologii taki termin wyszedł już z użycia (przyp. tłum.). 3 ) W oryginale jest to odpowiednio forward i backward error analysis. Oba te rodzaje . ·. ·:. '., analizy błędów definiuje i stosuje Wilkinson [1963]; zob. też Higham [2002] (przyp. tłum.): . , 2)
•.
·..
„. \-
·'
•. •• •
>
.·,
..·
.
"
ROZDZIAŁ
1
Narzędzia
1.0.
matematyczne
Wstęp
.Rozdział zaczyna się od przeglądu kilku ważnych tematów analizy matematycznej, które będą potrzebne w następnych rozdziałach. Zachęcamy czytelników, aby bez wahania pominęli te tematy, które są już im znane. Zapewne niektórzy z nich przejdą od razu do rozdz. 2.
1.1. Podstawowe
pojęcia
i wzór Taylora
Zaczynamy od przeglądu pewnych ważnych pojęć analizy. Ktoś może zaDlaczego trzeba rozważać takie kwestie, skoro interesują nas przede wszystkim obliczenia naukowe i algorytmy numeryczne? Dobra znajomość podstawowych pojęć matematycznych jest potrzebna dla zrozumienia więk szości algorytmów numerycznych. Wzór Taylora w różnych wariantach odgrywa fundamentalną rolę w wielu procedurach numerycznych i stanowi doskonały punkt wyjścia do studiowania obliczeń naukowych, gdyż nie odwołuje się do zaawansowanych pojęć matematycznych. pytać:
Granica, ciągłość i pochodna
f jest funkcją zmiennej rzeczywistej i ma wartości rzeczywiste, to jej granica w punkcie c jest określona (jeśli istnieje) w następujący sposób:
Jeśli
3
1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA
1. NARZĘDZIA MATEMATYCZNE
2
y
równość
y=l
lim f(x) = L
x-~c
oznacza, że dla każdego c dodatniego istnieje takie ó dodatnie, iż odl~głość f (x) i L jest mniejsza odc, jeśli odległość między x i c jest doc)atnia i mniejsza od ó, czyli
o
między
lf(x) Jeśli żadna
LI
jeśli
< c,
O< lx -
cl
. ·...
X
y=-1'
< ó.
liczba L nie ma takiej własności, to granica funkcji
RYS. 1.2. y
f .w c nie
istnieje.
= g(x) :=.lxl/x
Tak.więc funkcjaf(x) = x 2 jest ciągła w punkcie 2, natomiast funkcja lxl/x . nie jest C;iągła ~ o i to niezależnię od t'ego, jak byśmy ją określili w· tym .. punkcie„. Wynika to. z poprzednićh. ~:wag. ·. '.· Poniższe twierdzenie, intuicyjnie ocżywiste, wyraża tzw. własność Darr boux funkcji ciągłych: TWIERDZENIE· l.1.1. Punkcja ciągła f w przedziale [a, b] przyjmuje w nim . ,wsŻystkie wartości zawarte międzyf(a) i f(b) .
.••:.r"
3
-3
.·• .
•
można sprawdzić, że
np.
lim x = 4 X->2
(rys. 1.1). Natomiast funkcja
:=Et = { x
1,
-l,
.~e~l~
Jesh
.'
.. ·• •
.
X~
X->C
c
P~niewa:;/ta ·granica istnieje nie dla' hidej funkcji i .nie -w każdym ·punkcie, 'vrięc_J.pod:iodna nie.zawsze istnieje. Jeśli dla listnieje f'(c), to mówimy, że '.· f 'jest ~i-diczkowalria w c. W takim prżypa,dk'u f jest' na pewno ciągła w c. Twier~zenie przeciwne nie jeąt jednalc ·prawd~iwe .. Jeśli na przykład
„ .
2
g(x)
• .' .
•
J'(c) :=lim f(x) - f(c) .. '
z definicji granicy,
•ł
Pocf:o1ną funkcji f w .c (jeśli.istnieje) okreŚlamy wzorem
X
RYS. 1.1. y = f(x) := x 2 Korzystając
.
„. •
~ .:~·„.': : ·,
<
•
'
•
~
„
f(x):=·lxl, . · x >O x
(rys. 1.2) nie ma granicy w punkcie Ol). . Jeśli f jest określona tylko w pewnym podzbiorze X osi rzeczywistej, .'„ .. to definicję granicy modyfikujemy tak, że lf(x) - LI < c, jeśli tylko x E·X:t:··:··: i O < lx - ci < ó. Mówimy, że funkcja f jest ciągła w c, jeśli lim f(x) = f(c).
x->c
1) Ma onajednak w punkcie O granicę lewostronną, równą -1, i prawostronną, równą~ (przyp. tłum.).
„~·=.
. ·: .··
.
' :·
.to f'(O) nie istnieje; zob. wykres tej funkcji na rys. 1.3. .. . :.zb,i9r wszystkich funkcji ciągłych na· całej prostej rzeczywistej !Ił oznajest wszędzie ciągła, . czamy. G(llł).. Zbiór funkcji, dla których pocJ?.Ód;na oznacŻamy C 1 (llł). Tę przestrzeń tworzą'.więc wszystlae funkcje różniczko ·'·~: : walne. na ca:łej prostej rzeczywistej. Po11i.eyraż z różniczkowalności funkcji .· „.,' wpunkcie wynika jej ciągłość w tymże 'punkcie, więc C 1 (Jlł) c Ó(llł). Zbiór · ". C 1 (!Ił) jest podzbiorem właściwym ,zhi~r~ C(R)J gdyż liczne funkcje ciągłe nie ?ą rózniczkowalne; przykładem jest:iunkcja f(x) = lxl. ;· . ". :: 7 Symbolem c2 (llł) oznaczamy zbi6~ ~~i5'$t'kicłi funkcji, których druga :. 'pocliodna jest wszędzie ciągła~ Roz'umując jak poprzednio, wnioskujemy, że
i
„ .. •
>
·'.„
n
• '•',
'„ • ••
C2 (llł)
,
c C 1 (R) c C(R).
·,
J
"!
''
a
,.ł.
.„
·•
'
'
[I.
'lifl!!llW~~
4
5
1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA
1. NARZĘDZIA MATEMATYCZNE
i.
t
W ważnym szczególnym przypadku, gdy c =O, wzór (1.1.1) nazywamy wzorem M aclaurina dla f ( x):
y
n 1 1 f(x) = ,{; k!f(k)(O)xk+En(x), gdzie En(x) = (n+ l)!f(n+l)(e)xn+l.
'··
Uwzględniając we wzorze Taylora lub Maclaurina nieskończenie wiele skład ników, otrzymujemy (jeśli to przejście graniczne jest dopuszczalne) szereg Taylora. Można go otrzymać dla wielu ważnych funkcji taldch jak
X
RYS.
1.3. y = f(x)
:=
jxj
L (2k(-l)lc x + 1)! oo
sin x = Określony właśnie zbiór jest podzbiorem właściwym zbioru C 1 (llł), bo istnieją funkcje różniczkowalne tylko raz; tak jest dla f(x) = x 2 sin(l/x).
c ... c
C2 (llł)
c
C 1 (llł)
c
l)k L ----x (2k)! oo (
cos x =
Podobnie definiujemy, .dla dowolnej liczby naturalnej n, cn(llł) jako zbiór wszystkich funkcji mających n-tą pochodną ciągłą. Na koniec, C 00 (llł) jest zbiorem funkcji mających wszystkie pochodne ciągłe. Jest c00 (llł)
oo
log(l+x)=l=:
2k
(-oo< x
l+x Są
to
xk
(-l)kxk
(-l
przykłady
szeregów potęgowych (zob. podrozdz. 6.7).
1.1.3. Korzystając z tw. 1.1.2, podać wzór Taylora dla
f(x) := logx
Jest to ważny wzór dotyczący funkcji z cn[a, b], którym posługujemy się bardzo często w rozważaniach z analizy numerycznej i badaniu algorytmów numerycznych. 1.1.2. Jeśli f E Cn[a, b] i jeśli j(n+l) istnieje W przedziale otwartym (a, b), to dla dowolnych punktów c i x z przedziału domknię tego [a, b]
przyjmując, że
a = 1, b = 2 i c = 1.
Rozwiązanie. Trzeba obliczyć pochodne funkcji f(x) f'(x) = x- 1, f"(x) = -x- 2 , f"'(x) = 2x- 3 itd„ a ogólnie
f(k)(x) = (-l)k- 1(k- l)!x-k
TWIERDZENIE
Oczywiście
dla x = 1 mamy
leżącego między C
i
X
logx =
l f(n+l)(e)(x - cr+i. (n+ 1)!
Wyrażenie
(k
> 1),
L
(-l)k-1 k (x - l)k + En(x)
(1
< x < 2),
k=l
En(x) nazywamy resztą Lagrange'a wzoru Taylora. Słowa „leży między" użyte W twierdzeniu należy rozumieć tak, że albo C < < X, albo X < < c, zależnie od wa;t~Ści Ci X (przypadek X= C można pominąć).
e
> 1).
jest też j(O)(l) = /(1) =log 1 = O. Uwzględniając to wszystko we wzorze Taylora (1.1.1), otrzymujemy wyrażenie n
n
(k
logx. Mamy
równości
f(k)(l) = (-l)k-l(k -1)! (1.1.1)
E (x) =
(-1
k
k=O
PRZYKŁAD
Wzór Taylora
(-l)k-1
k=l
f
_1_ =
Znaną funkcją
gdzie dla pewnego punktu e
(-oo< x
k=O
C(llł).
z C00 (llł) jest J(x) =ex. w ten sam sposób określamy cn[a, b] jako zbiór funkcji f' dla których f(n) istnieje i jest ciągła w przedziale domkniętym [a, b].
2 k+l
k=O
e
gdzie
•
6
NARZĘDZIA
1.
MATEMATYCZNE
1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA
W wyrażeniu otrzymanym dla log x suma I:~=l jest wielomianem..
Dla x = b i c = a wynika stąd wa$na równość
Można go interpretować jako proste przybliżenie bardziej skomplikowanej
funkcji logx. Ostatni składnik w tymże wyrażeniu, czyli En(x), jest błędem„ .. „ .. tego przybliżenia, informującym nas, jak bardzo różni się ono od log x. Zauważmy, Że ten składnik nie jest wielomianem, gdyż zależy od X W sposób niewielomianowy. . .. Wzór Taylora pozwala obliczać przybliżone wartości funkcji w konkretnych punktach. We wzorze dla logarytmu, tj.
e
logx = (x-1)mamy
IEn(x)I = gdyż 1
n:
1
< e i e-(n+l) <
<
n:
n
(
.
.
J(x - h);
~
~
!'Ce)= o.·
1.
l)k-1
+ h) -
1.1.6. Jeśli f jest ciągła·~ [a,b], jeśli f' istnieje w (a,b) i'jeśli f(a) = J(b), to dla pewnego ez.przedziału otwartego (a,b) jest
+E
e
w
obu ostatnich twierdzeniach może istnieć więcej niż jeden punkt .spełniający odpqwiednie związki. .. . . ·· : . ·:; · .. :Wpoc;J.~ozd~iale 7.6 bę~zie nam' potrzebny inny wariant wzoru Taylora, .·: ·\:róż:tl~cy:.'się'od:pOprzedniego wyrażeniem res~ty w postad całkowej:
Dla x = 2 mamy
L -k
·.. .f'(x).'Rj f(x
TWIERDZENIE
1.1.4. Ile składników wielomianu we wzorze Taylora z przykł. 1.1.3 jest potrzebnych, aby obliczyć log 2 z dokładnością do 10-8 ?
log2 =
a to daje wyrażenie przybliżone dla f'(x):
1 (x - 1r+l,
PRZYKŁAD
Rozwiązanie.
< b,
je w podrozdz. 7.1. Szczególnym przypadkiem twierdzenia o wartości średniej jest twierdzenie Rolle 'a:
3
1 c
·"'' 'f(b)'~}(a) = J'(e)(b- a);• gdzie''··a::.:::t
rozważamy
1 (-1r- 1 (x-1) 2 + (x-1) 3 -.„+ n (x-lr+En(x),
2
7
..
11 (2),
Jeśli f E cn+l[a, bj, to dla dowolnych punkt6w
TWIERDZENIE,1.1.7.
k=l
przedziału domkniętego
gdzie IEn(2)1 < l/(n + 1). Założoną dokładność otrzymamy wybierając takie n, żeby wartość bezwzględna błędu En(2) nie przewyższała 10-8 . Ma . zatem być 1/(n + 1) .;:;; 10-8 , czyli n+ 1 ~ 108 . Musimy więc wziąć co<.'.· najmniej sto milionów składników (!), gdy chcemy znaleźć log2 z żądaną '. dokładnością. Wnioskujemy stąd, że wzór Taylora nie daje dobrego sposobu'.-.:·:·· . obliczania log 2 i potrzebna jest jakaś inna metoda. Dodajmy jednak, że jeśl~. ~;:..:~;~:: stosujemy ten sam wzór dla log 1.5, to powyższą dokładność zapewniają już · '. · .„ · 22 składniki (zob. zad. 1). •
W rozumowaniach matematycznych stosujemy często szczególny przy-· padek wzoru Taylora dla n= O. Odpowiada mu tzw. twierdzenie o wartości
Jeszcze innY. wariant obu części składowych wzoru Taylora można otrzymać, zmieniając w (1.1.1) x na x + h oraz cna x:
średniej:
1.1.5. Jeśli f E C[a, b] i jeśli f' istnieje w przedziale otwartym (a, b), to dla x i cz przedziału domkniętego [a, b] jest · ·, , „... : ,: f(x) = f(c) + !'(e)(x - c), ·.:.
TWIERDZENIE
'
•
„:· .
~
!
·~
gdzie e
leży między C
i
X.
'
•I
·„
. TWIERDZENIE
1.1.8. Dla funkcji
f
Z
Cn+l (a, b] oraz dowolnych punkt6w X jest
+ h przedziału domkniętego [~, b] . · n hk ·. · • · J(x + _h) = L kl J(k)(x) + En(h),
·i x
k=O
.
.
.
·..;. ;··'( „·.• .. , ' .• :.·
. ,_.
_:.·
~
.• ·„.·
· · (1.1.2)
8
1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA
, '1: NARZĘDZIA MATEMATYCZNE
Symbolikę zastosowaną
gdzie ,hn+l JCn+l)(c)· (n+ 1)!, '" '
E (h) = n
punkt
e
leży między X
i
X
+ h.
PRZYKŁAD 1.1.9. Za pomocą wzoru Taylora wyrazić A'v+h i znaleźć wartość przybliżoną
ka,
dla 10i.0001.
Rozwiązanie. Dla f(x) = Ax jest j(x) = Ax(logAr.,z'(l.1.2) wyni,:
że
'i
)o f (x, y)
8 ( h 8x
+ k 88y
8 ( h 8x
+ k 88y )
8 8 ) ( h 8x + k 8y
:::::!
10(1 + 2.30258 5093
:::::!
10.00230 285.
X
! ·10-8 (log 10) 2 + ... ) 4
10- + 2.650949
X
10-
) :::::!
'
• •·· ••
•\\fa
1.1.10. Jeśli funkcja f należy do Cn+l ([a, b] X (c, dj) i jeśli punkty (x, y) i (x + h, y + k) leżą w prostokącie [a, b] x [c, d] ~ llł 2 , to
TWIERDZENIE
)i f (x + h, y + k) = 'L 7i h - + k - J(x, y) + En(h, k), 8 8 1 (
i=O i.
8
X
8
= f + (hfx
(1.1.3)
y
)n+l
1 ( 8 8 h-+ k-• ··'· · f(x (n+ 1)! 8x. 8y
2 + kfy) + !(h2 fxx + 2hkfxy + k fyy) + .. ·
f i jej pochodne cząstkowe są obliczane w punkcie
Rozwiązanie.
Dla tej funkcji
. (xy ) , -8f = -ysm 8X
. ( xy ) , -8f = -xs1n 8y
82 J
x 2 = -y2 cos(xy),
8 82! 2 = -x cos(xy). 8y2
ax 1y = 2
8 8
-xycos(xy) - sin(xy),
Dlatego ze wzoru (1.1.3) dla n= 1 wynika,
że
cos[(x + h)(y + k)] = cos(xy) - hy sin(xy) - kx sin(xy) + E1 (h, k), gdzie reszta Ei jest
sumą
trzech
składników:
1 - 2.h 2(y + Ok)2 cos[(x + Oh)(y +Ok)]-
gdzie En(h, k) =
(
PRZYKŁAD 1.1.11. Jakie są początkowe składniki wzoru Taylora dla funkcji f (x, y) = cos(xy)?
:::::J
8
Wzór Taylora odnosi się także do funkcji, których argumenty i wartości są wektorami. Ściślej, jeśli f jest odwzorowaniem z Jlłn w Jlłm, to są znane wyrażenia dla f(x + h) przez f(x), f'(x), f"(x) itd. Oczywiście główna trudność polega tu na właściwym określeniu pochodnych. Ten temat jest omawiany w wielu podręcznikach; zob. na przykład Bartle [1976], Smith [1971], Dieudonne [1960], Rudin [*1998]. Niżej ograniczono się do szczególnego przypadku użytecznego dalej. Dla funkcji f: llł2 ----> Jlł wzór Taylora upraszcza się, jeśli stosujemy w nim szczególną symbolikę:
n
h 8f x + k 8f) y (x,y), 8 8 2 2 2 ( 28 J 8 J 2 8 J) f(x,y) = h 8x2 + 2hk 8x8y + k 8y2 (x,y), ...
Po prawej stronie funkcja (x,y).
Dla A= 10, x = 1ih=10-4 jest zatem
= f(x, y),
f(x,y) = 2
wyjaśniają przykłady:
Oznaczenia: fx = 8f/8x, fv = 8f /8y, fxx = 8 2f /8x 2, fxv = 8 2f /(8x8y), f YY = 8 2f I 8y 2 upraszczają postać początkowych składników wzoru (1.1.3): f(x + h, Y + k)
1. (a) Znaleźć szereg Taylora w O dla funkcji f(x) log(x + 1). Podać dwa wyrażenia reszty wzoru Taylora. (b) Wyznaczyć najmniejszą liczbę składników szeregu niezbędną do obliczenia log 1.5 z błędem mniejszym od 10-s. (c) Wyznaczyć liczbę składników potrzebną do obliczenia logl.6 z błęd<:m··_,: . równym co najwyżej 10- 10 . :.'/!' ·~ ·;
2.
Udowodnić, że jeśli
r
h~
f (x + h) - f (x 2h
'
f jest różniczkowalna w x, to h) =
·'
!'( ) X.
Pokazać, że dla pewnych funkcji, które nie są różniczkowalne w x, powyższa':. granica jednak istnieje. (Zob. Eggermont [1988] albo następne zadanie). 3. Sprawdzić, czy następujące zdanie jest prawdziwe, czy fałszywe: Jeśli f jest różniczkowalna w x, to dla a i= 1
11
15. Znaleźć wzór Taylora dla f(x) = exp(cosx) i n= 2 w otoczeniU punktu 7r. 16. Zakładając, że lxl < ~ i ·stosując wzór Taylora, znaleźć' najlepsze oszacowanie z góry dla: (a) lcosx - (1 - x 2 /2)1, (b) lsinx - x(l - x 2 /6)1. 17. Ile składników trzeba uwzględnić·w szeregu •.
oo
1
e=~·-, . „L.,, .kl
.
.k=O· ·
'·
.
.
•. „ ·
. . aby otrzymać e z błędem nie większym od 0.610-20? . 18. Znaleźć dwa początkowe skład~iki wzoi:u T~ylora dla x 115 w otdczeniu punktu 32. Jak dokładne będzie wynikające stąd przybliżenie dla pierwiastka piątego stopnia z 31.999999? 19. Wyznaczyć resztę Lagrange'a wżoru Taylor~. dla funkcji f(x) = cosx, gdy n= 2 i c = 7r/2. Jak małe musi być lx - -n:/21,.żeby wartość bezwzględna tej reszty nie pr~ewyższała 0.510-4? · . · 20 .. W przykładzie 1.1.3 ilustrującym wzór Taylora otrzymano resztę Lagrange'a. i:'orównać z nią odpowiednią resztę.całkową.
J'(x)= lim f(x+h)-f(x+ah). h-o h-ah „ '.
4. Znaleźć szereg Taylora dla f(x) = coshx w otoczeniu punktu c =O. 5. Jeśli szeregu dla log x obciętego po składniku z (x - 1) 1000 użyto do obliczenia „· : :~ 1 log 2, to jak można oszacować błąd? . :. : • ~ • 6. Niech k będzie liczbą naturalną i niech O< a< 1. Do jakich klas cn(JR) należy : ....funkcja xk+°'? 7. Udowodnić, że jeśli f E cn(JR), to f' E cn-l(JR.), a f(t) dt należy do cn+l(JR). .
I:
f E cn(JR) i f (xo) = f (x1) = ... = f (xn) = O, gdzie xo < x1 < ... < Xn, to f(n)(Ę,) =O dla pewnego Ę, E (xo,xn)· Wskazówka: " Zastosować n razy twierdzenie Rolle'a. 9. Dla małych x używa się często przybliżenia sinx ::::; x. Korzystając ze wzoru Taylora, oszacować błąd tego przybliżenia. Dla jakich x przybliżenie jest dokładne aż do sześciu cyfr dziesiętnych? 10. Jak dobre jest przybliżenie cosx ::::; 1 - ~x 2 dla małych x? Dla jakich x to przybliżenie daje poprawne wyniki zaokrąglone do trzech cyfr dziesiętnych?
8.
wzór Taylora z resztą dla f(x) = logx w otoczeniu punktu e. Założyć, że lx - el < 1 i że trzeba uzyskać dokładność 0.5 10 -1. Ile składników wzoru trzeba uwzględnić? 14. Znaleźć wzór Taylora dla funkcji f(x) = e 2 "' sinx i n= 2 w otoczeniu punktu 7r/2. 13.
Znaleźć
.
W obliczeniach nu~er;~~nych, szdzęg~ini~ na ~~pe;~zybkich komputerach, często się zdarza, że zamiast ostatecznej odpowiedzi otrzymujemy ciąg przybliżonycli wyników, zwykle coraz dokładniejszych. Zbieżność ciągów jest ważnym pr9blemem i powróeimy do nięgo w dalszym ciągu. Tutaj zaś prezentuje~y tylko kilka pojęć wprowadzających w temat.
Wykazać, że jeśli
11. Korzystając ze wzoru Taylora dla n = 2, wykazać, że nierówność 1 +'.i: < e"' . • ·. jest prawdziwa dla wszystkich x rzeczywistych różnych od O. · ·;, 12. Ile składników szeregu dla e"' trzeba uwzględnić, aby obliczyć e 2 z dokładnością,···· do czterech cyfr dziesiętnych (po zaokrągleniu)? · .
~
1.-2.· Rząd zbieżności i inne po~sta~~we po~ęc~a
•
J
~iągi ·zbieżne Rozważmy wyidealizowaną sytuację, w ~tórej wynikiem zadania jest tylko jedna liczba rzeczywista. Może to być pierwiastek skomplikowanego równa. nia albo wartość całki oznaczonej, której nie potrafimy obliczyć analitycznie. :W taki~h pr~ypadl~h program· komputerowy może generować ciąg liczb rze~zywistych X1, X2, .. :, które ~ą tylko przybliżeniami dokładnego wyniku. · . Pis~emy · ·· · ·: „ · • >
lim
n->oo
Xn
= L,
. jeśli każdemu dodatniemu c odpowiada takie rżeczywiste ~~. . dla każdego całkowitego n > r. Jest, na przykład, : , "•
. /"'" n+ i
·.
lim·--= 1. n->qo. n
„.
''R
r, że lxn - LI < c
''\ 12
1.
Mniej banalny
NARZĘDZIA
przykład wiąże się
z
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA
MATEMATYCZNE
Rząd zbieżności
definicją
e := lim (1 +.!.)n
n
n-+oo
ważnej
liczby niewymiernej e. Oto niektóre elementy
= 2.00000 0,
Xl
XlQ
= 2.59374 2,
X30
ciągu Xn =
(1+1/n)n:
= 2.674319,
Opisując prędkość, z jaką ciąg dąży do granicy, używamy specjalnej terminologii. Niech {xn} będzie ciągiem liczb rzeczywistych lub zespolonych, zbieżnym do granicy x*. Mówimy, ie zbieżność jest co najmniej liniowa, jeśli istnieją stała c < 1 i liczba całkowita N takie, że
X50 = 2.691588, XlQOO = 2.716924.
lxn+l - x*I ~ cixn - x*I
Ten ciąg jest zbieżny bardzo wolno, skoro ma granicę e = 2.7182818 ... , a jego tysięczny element przybliża ją z błędem 0.00135 8. Wykonując obliczenia w podwójnej precyzji, można postawić hipotezę, że
I
i'Ii
, I
Zbieżność
i liczba
lxn+l - ei l lxn - ei -+ ·
·,\
+1 Xn-1 + Xn
lxn+l - x*I ~ Clxn - x*l 2
wartości początkowych
Ogólniej, takie, że
mamy
= ~.o, x1 = 2.00, x2 = 0.5, x3 = 0.8, x 4 = 1.07692 3077, X5 = 0.99180 3278, X6 = 0.99969 5214, X7 = 1.00000 1254. Można więc przypuszczać, że
ten ciąg jest szybko zbieżny (do punktu 1).
rzeczywiście, gdyż
Xn+1-l Xn -1
----=
Xn-1-l
nazywamy nadliniową. Jeszcze szybciej jest zbieiny 'ciąg określony wzorami: 1
X1 = 2,
Xn+l = - xn 2
początkowe
elementy
X1
= 2.00000 0,
X2
jeśli istnieją stała
(n):
N).
1
+-
Xn
dodatnia C,
lxn+l - x*I ~ Clxn - x*I°' to mamy zbieżność co najmniej cimy w rozdz. 3 2).
Symbole O i
-+O
Xn-1 +xn
Taką zbieżność
Jego
(n;,;;. N).
Zbieżność jest co najmniej kwadratowa, jeśli istnieją stała dodatnia C (niekoniecznie mniejsza od 1) i liczba całkowita N takie, że
xo
Jest tak
jest co najmniej nadliniowa, jeśli istnieją ciąg {en} zbieżny do O N takie, że
całkowita
Xn-lXn
Dla wybranych dwóch
'i
(n): N).
lxn+l - x*I ~ enlxn - x*I
Taka zbieżność (zwana logarytmiczną) jest znacznie wolniejsza od określonej dalej zbieżności liniowej. Rozważmy teraz ciąg Xn+l =
13
stała
a > 1 i liczba
całkowita
N
(n;,;;. N), rzędu
a. Do wprowadzonych tu
pojęć
wró-
o
Poznamy teraz pewne typowe sposoby porównywania dwóch ciągów lub dwóch funkcji. Zacznijmy od ciągów. Niech {xn} i {an} będą dwoma różnymi ciągami. Piszemy
(n): 1).
są następujące:
= 1.50000 0,
X3
= 1.41666 7,
X4
= 1.414216.
jeśli istnieją stałe że Xn
Ci no takie, że lxnl ~Cl ani dla każdego n): no. Mówimy, jest równe „O dużemu" od an.
Granicą ciągu jest v'2 = 1.414213562 ... , a jego szybka zbieżność wynika
z
równości
Z numerycznego punktu widzenia ciąg zbieżny co najmniej nadliniowo pozwala na dostatecznie łatwo obliczyć jego granicę. Natomiast ciągi zbieżne liniowo, dla których stała c jest bliska 1, a tym bardziej ciągi zbieżne logarytmicznie, sprawiają wiele kłopotów. W takich przypadkach obliczenie granicy w rozsądnym czasie i z żądaną dokładnością może wymagać zastosowania jednej z metod przyspieszania zbieżności. Należy do nich metoda 6. 2 Aitkena opisana w podrozdz. 5.1 (przyp. tłum.). 2)
vf2
Xn+l 1 1 (xn - v'2) 2 = 2xn -+ 2v'2
ogół
~ 0 ·354 ·
Mamy tu do czynienia ze zbieżnością kwadratową.
li
14
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA
1. NARZĘDZIA MATEMATYCZNE
Równość
Relacja
f(x) oznacza, że limn_, 00 (xn/an) = O. Mówimy w takim przypadku, że Xn jest równe „o małemu" od an· Aby jednak uniknąć możliwego dzielenia przez zero, określamy ściśle symbol o: dla pewnego ciągu {en} liczb nieujemnych zbieżnego do O jest lxnl < cnlanl· Te pojęcia pozwalają porównywać z grubsza dwa ciągi. Jest to często potrzebne dla ciągów zbieżnych do zera. Jeśli Xn --t O, an-> Oi Xn = O(an), to ciąg {xn} dąży do O co najmniej tak szybko jak {an}· Jeśli Xn ~ o(an), to ciąg {xn} jest zbieżny do O szybciej niż {an}· Oto kilka przykładów:
=
O(g(x))
(x
--t
oo)
oznacza, że.istnieją takie stałe r i O, że lf(x)I Jest na przyJdad · ·.·
·
< ··:·. . J~2.+~ ~ o(x') . (x . .. . . . 2 gdyż -Jx + 1 < 2x dla x
. : .
.··
-7
'
oo);·.:
Ogólniej, piszemy
..
·
·
~
f(~) = O(g(~))
(x
--t
x*),
. ' · jeśli istnieją stała C i otoczenie punktu x* takie, że w. tym otoczeniu jest ._.·'.•· lf(x)I ~.Glg(x)I· Podobnie, równoś~. „
(1.2.2) 1.1.4 prowadzi do wniosku,
log 2 -
n-1 (-l)k-1 k
2=
{f
jest
(l)
= o ;, .
--t
równość
(lxl
sinx = x -
Rozumiemy to tak, otoczeniu sinx - x
I
+
że istnieją
(x ·~:i;*)
rów~~ważna temu,
Twier~zenie
ie limx-+x•.[J(x)/g(x)]= O.
o
. • . tości.średniej:
··
.TWIERDZENIE 1.2.L Jeśli funkcje r~ic.zywiste.u i v są ciągle w[a, b] i jeśli . · v ;;;;. 0, to istnieje p~nkt E [a, b] taki, ze .
< 1)
ilustruje bardzo szybką zbieżność pewnych sum do ex. Wprowadzone oznaczenia są używane nie tylko dla ciągów. przykład napisać, że
x3 5 6 + O(x )
· •.•••
" wartości średniej-dla .całek .. · : \;W analizie numerycznej jest często potrzebne następujące twie_rdzenie o war-
.
oo podane wyżej sumy są zbieżne bardzo wolno do log2. Natomiast>".':~ . . . „ " ·· · ::-'·
::: •
•• •
,•f(x) .. ' = „o(g(x))
że
k=l
Dla n
< Clg(3t)I dla każdego x > r.
;;;;. 1. Używając oznaczeń f(x) = O(g(x)) lub f(x) = o(g(x)), trzeba: koniecznie ppdać punkt, do którego dąży x. Jest na przykład x- 2 = o(x- 1 ) dla x --t oo, ale x- 1 = o(x- 2 ) dla x --t O.
(1.2.1)
Przykład
15
.b 1
.. Możemy
na ,: · · ·./ · ;._~·."· · ·· .
e
. . a·
1b ..
~(x)v(x) dx = u(e) a ~(x)dx. ,. ·
Kt:e~y· ~olny .i górny
~-.
(x
--t
O).
otoczenie punktu O i
stała
C takie,
że
5 x31 6 < Cjxj •
Można to sprawdzić, korzystając ze wzoru Taylora dla n= 4 i
w tym"..:' ·:,,
. Przypomnimy teraz inne ważne pojęcia, które często występują w analizie numerycznej. Są to kres górny (supremum) i kres dolny (infimum). Niech S będzie zbiorem niepustym i ograniczonym z dołu liczb rzeczywistych, czyli takim, że dla pewnej liczby rzeczywistej a jest . a
„ .. . : .:·.a.·"
f(x)
„.. '
*;'
•'•.
dl?- wszystkich
x E S.
~, „ ·WśrÓd liczb a o tej własności istnieje największa; nazywamy ją kresem dol-;:,.:·~.:..:„nym z)::>igru
= sinx.:
. .'·.i„
,,
~·
s. ~·oznaczamy symból!'l~)nf.S.
·
..
i'!/
l li J
I
ł6
1.
NARZĘDZIA
Podobnie, jeśli S jest zbiorem niepustym i ograniczonym z góry liczb . rzeczywistych, czyli takim, że dla pewnej liczby rzeczywistej b jest
x
~
b dla wszystkich
.
smx =
O
co daje dwie jawne funkcje. Podobnie, z równania sin(y + 7) = x 3
-
2
x E S,
to wśród liczb b o tej własności istnieje najmniejsza; nazywamy ją kresem górnym zbioru Si oznaczamy symbolem supS. Istnienie kresu dolnego i kresu górnego zbioru ograniczonego liczb rzeczywistych jest jedną z jego głębszych charakterystyk; na przykład zbiór liczb wymiernych nie ma takiej własności. Jeśli f jest funkcją, to symbol supxEA f(x) oznacza sup{f(x): x EA}. Możemy na przykład wykazać, że sup
17
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA
MATEMATYCZNE
1 2.
określona
wynika funkcja
y = arc sin ( x 3
-
jawnym wzorem:
2) - 7;
w istocie jest tu wiele funkcji, gdyż można wybrać różne gałęzie funkcji odwrotnej do sinusa. Ogólnie, jeśli G jest daną funkcją, a (xo, Yo) jest punktem takim, że G(xo, y0 ) =O, to spodziewamy się, że w jego pobliżu są inne punkty speł niające równanie G(x, y) = O. Dlatego y jest zapewne funkcją zmiennej x w pewnym otoczeniu punktu xo. Typową sytuację pokazuje rys. 1.4. z
Funkcje jawne i uwikłane
2
2
,/l/z=l-x -y =G(x,y)
Funkcje są zwykle definiowane za pomocą jawnego wyrażenia, które pozwala obliczać wartość funkcji dla dowolnego argumentu. Przykładem jest definicja
_„„„
f(x) := V7x 3 - 2x.
Istnieje jednak wiele innych metod definiowania funkcji, np. za pomocą równania różniczkowego, całki lub szeregu nieskończonego. Można na przykład określić poprawnie funkcję y = f(x) za pomocą równania różniczkowego z warunkiem początkowym:
y' = 1 +siny,
y(O) =O.
Inny przykład, to tzw. funkcja erf x =
błędu,
oznaczana erf x i określona przez całkę:
Jrr fox e-t dt.
Poniższe ważne
twierdzenie opisuje
taką sytuację.
2
y 2 +3xy-7=0
y =
X
H.YS. 1.4. Powierzchnia G przecina płaszczyznę xy wzdłuż krzywej G(x, y) =O
W tym podrozdziale rozważamy funkcje uwikłane, tj. zdefiniowane w sposób niejawny. Rozumiemy to tak, że dana jest funkcja G dwóch zmiennych i że z równania G(x, y) =O chcemy odtworzyć y jako funkcję x. W pewnych przypadkach możemy rozwikłać. to równanie i otrzymać y = f(x). Na przykład, z równania
wynika,
y
że
~ (-3x ± v'9x2 + 28) ,
TWIERDZENIE 1.2.2. Jeśli G jest funkcją dwóch zmiennych rzeczywistych, ·określoną i różniczkowalną w sposób ciągły w pewnym otoczeniu takie-
go punktu ( xo' Yo)' w którym G = o i aaI 8y f. o' to istnieje liczba i taka, dodatnia i funkcja f mająca pochodną ciągłą dla lx - xol że f(xo) =Yo i G(x, f(x)) =O dla lx - xol
o
PRZYKŁAD X7
określa
1.2.3. Czy równanie
+ 2y8 -
y3
= 0
y jako funkcję zmiennej x o pochodnej punktu x = -1?
ciągłej
w pewnym otoczeniu
18
1.
NARZĘDZIA
Rozwiązanie. Żeby odpowiedzieć na to pytanie, przyjmijmy, że G(x,y) = x 7 + 2y8 -y3
ZADANIA 1.2 1. Obliczanie elementów Xn = (1. + 1/n)1i ·ciągu poz~al~ wnioskować, Że ·t~n ciąg
i (xo, Yo)= (-1, 1). Jest zatem G(x 0 , Yo)= O i
ay = 16y1 -
8G
3y2
jeśli
,
'··' ••• „
+
8Gdy oy dx
funkcją rosnącą.
Na koniec, logt można określić jako
dt.
(cd.). WykRzać, że elementy ciągu z poprzedniego zadania są mniejsze od 3. 3. Udowodnić, że jeśli O<(}< 1, to (l+aBn)/(1+·a(}n-l) dąży do 1 liniowo, gdy
arctgx=x+O(xk),. gdy
x...:.+.~.
5. Niech ciąg {x,:,} będzie określony rekurencyjnie wzorem Xn+i = F(xn), gdzie funkcja F ma ciągłą pochodną. Zakładając, że {xn} ~ x dla n ~ oo ·i F'(x) =O, wykazać, że ·
=o, i..
dy=_ 8G/8G dx OX oy'
.··
Wskazówka: Zastosować ·twierdzenie o wartości sredniej. . . . 6. Udo~odnf.ć, ż~ każdą d~~tat~cznie ~egular~ą f~nk~ję moina:przybliżyć w prze: ·dziale długości h za pomocą wielómiańu stoprua n·ż błędem równym O(hn+l ), gdy h :.__.o . Rozważyć
7.
ac/ ac_ ax ay
Pochodna wyraża się przez x i y
·.
/'•
:·_:i"."· ....
czyli
etgx
3 ).
x +
x2
3x3
·
9x 4
2f + 3f + 4f + ...
(lx!< 7r/2).
=O.
X
i .
•
symbolu O(). dla jakich 'Y i ó całkowitych wykropkowane , n-1
dx Dla x = 2 i y = 1 (dane równanie jest wtedy spełnione) wynika stąd, że dy dy 12 - 7 - + 16 + 4- = o dx dx i że dy/dx = 28/3.
= 1+
trzy składniki szeregu, oszacować jego resztę najlepszym całkowitym wykładnikieIJ1 dla X ~ 0. _8 •. Powtórzyć poprzednie zadanie, ale ~la szeregu
o( )
Rozwiązanie. Różniczkowanie opisane wyżej daje równanie
+ 8x + 4y3 dy
szereg
Zachowując
PRZYKŁAD 1.2.4. Jaka jest wartość dy/dx w punkcie (2, 1), jeśli y(x) jest. funkcją uwikłaną określoną za pomocą równania x 3 -y7 +4x2 +y 4 -24 =O?
3x 2 - 7y 6 ddy
1
n~oo.
skąd
t'(x) = -
2:
f'(x) >O, to f jest
J; t-
tak jest. Wskazówki: Po pierwsze, je-
J(x) ma tę samą własnbść. Po drugie,
4. Wyznaczyć najlepszii, wartość całkowitą kw równaniu
f jest funkcją uwikłaną określoną za pomocą równania G(x, y)
= O, to dla x z pewnego przedziału jest G(x, f(x)) =O. Pochodną f'(x) może my obliczyć w sposób znany z analizy matematycznej. Różniczkujemy mianowicie względem x obie strony równania G(x,y) =O, pamiętając o tym, że y jest funkcją zmiennej x. Dlatego otrzymujemy równanie
8G ox
ściśle rosnący. Udowodnić, że
jest
śli logf(x) jest funkcją rosnącą; to
skąd 8G/8y = 13 w punkcie (xo, Yo). Na mocy tw. 1.2.2 y jest funk~ją zmiennej x, mającą pochodną ciągłą w pobliżu punktu x 0 = -1. • Jeśli
19
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA
MATEMATYCZNE
~ożna dla X ~
składniki
w szeregu
+· ... .
o zmienić na O(x'Y)
albo o(x8). 10. Czy dla niżej podanych par (xn,an) jest prawdą, że Xn ='O(an) dla n~ oo? {a) Xn = 5n2 + 9n3 + 1, an~ n 2 (d) Xn = 5n2 + 9n 3 + 1,
W podrozdziale 3.2 omawia się pewne zadania numeryczne związane z funkcjami uwikłanymi. ) W podobny sposób można znaleźć także pochodne wyższych rzędów funkcji uwildanej i dzięki temu obliczyć dobre przybliżenia jej wartości (przyp. tłum.). 3
•
.;
1. NARZĘDZIA·MATEMATYCZNE
11. Sprawdzić, które z następujących zdań są prawdziwe (w każdym n--> oo): . (a) (n+ l)/n2 = o(I/n) (d) l/(nlogn) = o(l/n) · ' · (b) (n+ i)/fo = o(l) (e) en/n5 = CJ(l/n) (c) l/(logn) = CJ(l/n) 12. Wyrażenia eh, (1- h 4 )- 1 , cosh i 1 +sinh 3 mają tę samą granicę dla h--> O. Przedstawić każde z nich w postaci
f(h)
26. Udowodnić, że jeśli Xn = o(an) i Yn = o(an), to Xn 27. Wykazać, że xr
najlepsze a i
f3
o(an)·
oo) dla dowolnego r >O.
= CJ(xr) (x--> oo) dla dowolnego r >O. Udowodnić, że jeśli an ........ o, Xn = CJ(an) i Yn = CJ(an), to XnYn = o(an)· Udowodnić, że jeśli Xn = CJ(an), to a;; 1 = CJ(x;; 1 ). Wykazać, że ta własność
29. 30.
zachowuje 31.
całkowite.
= CJ(e"') (x-->
+ Yn =
28. Wykazać, że logx
= c + CJ(h"') = c + o(hf3),
wybierając
21
1.2. RZĄD ZBIEŻNO~CI I INNE PODSTAWOWE POJĘCIA
13. (cd.). Jaka jest granica i jaka jest szybkość zbieżności dla h--> O wyrażenia
się
po zmianie relacji () na o.
Stosując twierdzenie o y E (O, 7f /2) jest
r12
J
e"' cos x dx
wartości średniej
dla
całek, wykazać, że
dla pewnego
= eY.
0
Przedstawić wyrażenie w postaci podanej w poprzednim zadaniu. 14. Wykazać, że następujące zdania są fałszywe:
(a) e"' - 1 = CJ(x 2 ) dla x--> O. (b) x- 2 = CJ(ctgx) dla x--> O. (c) ctgx = o(x- 1 ) dla x--> O.
15. Niech będzie {an}--> O i A> 1. Wykazać, że :E~=O akAk = o(.Xn) dla n--> oo. 16. Czy poniższe dwa zdania są równoważne? (a) IJ(x)I = CJ(lxl-n-e) dla pewnego e >O, gdy lxl--> oo. (b) lf(x)I = o(lxl-n). 17. Udowodnić, że Xn = x + o(l) wtedy i tylko wtedy, gdy limn-+oo Xn = x. 18. Wykazać, że wszystkie równości (1.2.1) i (1.2.2) są poprawne. 19. Wykazać, że dla ustalonego n
i.!
32.
34.
Wyrazić
w jawnej postaci dwie funkcje określone w sposób uwikłany za pomocą równania (x 3
35.
-
l)y + exy2
+ cosx -
1 =O.
Rozwiązania równań różniczkowych
Pokazać, że
otrzymuje
się często
w postaci
uwikłanej.
równanie
n
:L>k = 1/(1 -
x)
+ o(xn)
opisuje
(x--> O).
rozwiązanie
równania
różniczkowego
k=O
20. Wyznaczyć najlepsze
f3
dy dx
całkowite takie, że dla ustalonego n
gdy x--> O. Zrobić to samo dla o(xf3). Czy w tym przypadku istnieje najlepsze
f3
całkowite?
21. Wykazać, że jeśli Xn = CJ(an), to CXn = CJ(an)·
22. Wykazać, że jeśli Xn = CJ(an), to Xn/(logn) = o(an)· 23. Znaleźć najlepsze k całkowite takie, że cos x - 1 + x 2 /2 = CJ(xk) dla x -->O. 24. Udowodnić, że jeśli Xn = o(an), to Xn = CJ(an)· Wykazać, że twierdzenie przeciwne nie jest prawdziwe. 25. Udowodnić, że jeśli Xn
= CJ(an)
i Yn
= CJ(an), to Xn + Yn =
CJ(an)·
= -(6x2 y 2 + 2xy + ex)/(4x3 y + x 2 ).
36. W astronomii jest używane równanie Keplera: x - y + e siny = O, gdzie parametr e należy do przedziału [O, l]. Wykazać, że dla każdego x rzeczywistego istnieje y rzeczywiste spełniające to równanie. Wykazać, że dla O ~ e < 1 pochodna dy/dx jest wszędzie ciągła. Wskazówka: Napisać równanie w postaci x = y - e siny i zbadać własności prawej strony dla y --> +oo i y --> -oo. W drugiej części zadania zastosować twierdzenie o funkcji uwikłanej. 37.
Znaleźć
takie x, dla których równanie
y-log(x+y)=O określa
y jako
funkcję uwikłaną
zmiennej x. Obliczyć dy/dx.
23
1.3. RÓWNANIA RÓŻNICOWE
ZADANIA KOMPUTEROWE 1.2
Kl.
Rozważmy związek
Xo
W zbiorze V
Xn+l
Można wykazać, że jeśli c
= (1 + ,./5)/2, to
Krócej
= (1 - ,./5)/2, to .,
-(1-,./5)"
Xn -
wyrażamy
to tak:
jeśli
,
2
c
. (1)
= 1,
X=_!_
n,;g
(
v<
to
1+,./5 2
+ Yn,
Zbiór V zawiera element zerowy, mianowicie·O = {O, O, ... }. Dzięki przyję tym 'definicjoII). V staje się przest~~enią :wektorową. Jest ona nieskończenie ;_: wymi~rowa, bo następujący układ w~ktorów . . ., :-. .z V. jest liniowo nie~ależny: . v.
a
działania:
.Xx := {.Xx1,.Xx2,.Xx3, ... }.
= Xn + Xn-1 (n;;;;. 1).
· (x + Y)n := Xn (.Xx)n := AXn· Podobnie, jeśli c
dwa
·· ··x·+·1i := {x1 +y~,x2 +Y2;~~· +y;, .. .}:""''
rekurencyjny
= 1,
określamy
)
n+l _ _!_ (1-,./5 )n+l J5
2
= {1,0,0,0, .... }, .
> ={O,
1, O, O, ... },
(3) ':..:...'
.,. ..
2
Dla wszystkich n= 1, 2, ... , 30 obliczyć Xn zarówno ze wzoru rekurencyjnego, · jak i z jawnego wyrażenia. Wytłumaczyć wyniki. Ten wzór określa (dla c = 1) „ . sławny ciąg Fibonacciego. ·
·r „....
'·V . -:
.
.
{O, 0, 1, 0, ... }, ....
·. Interesują nas operatory liniowe L: •. jest operator przesunięcia o symbolu E,
v· .:..:+V. Jednym z najważniejszych określony
wzorem
,·.
„~
'J'ak więc ,. . ,•· .. '
1.3. Równania
różnicowe
."
·..-,, · (Ex)n = Xn+l· .•
Algorytmy numeryczne służą często do obliczania ciągów liczb. Dlatego jest celowe naszkicować tu teorię przestrzeni liniowych ciągów. Będzie ona po- .. · · · trzebna w rozdz. 8, w którym analizuje się metody liniowe wielokrokowe". '.; · .:-. · rozwiązywania równań różniczkowych. Zajmujemy się tą teorią już tu, gdy~ . jej zrozumienie nie wymaga dużej wiedzy matematycznej. pojęcia
W dalszym ciągu V nych, takich jak
będzie oznaczać
zbiór wszystkich
ciągów nieskończo-·
...
Operator E można stosować wielokrotnie; ·co daje ogólnie równość
. ·,(Ek .. ·X)n= Xn+k
(k
~·o) ..
. Oczywiście E 0 jest ~perat~rem identyczności (o symbolu I), czyli
(E 0x)n = (Ix)n
Podstawowe
'
. . ·.
• w-J'
=: Xn·
W pozostałej części tego podrozdziału ograniczamy się do operatorów liniowych, które można wyrazić jako kombinacje liniowe potęg operatora E_ 4 >: Nazywamy je operatorami różnicowymi (o stałych współczynnikach · i skończonego rzędu). Ich ogólna postać jest zat.em taka: m'.
Formalnie rzecz biorąc, ciąg jest funkcją o wartościach zespolonych, okre-" ., śloną na zbiorze N= (1, 2, ... ) liczb naturalnych. Tylko dla wygody wartoś.ć · takiej funkcji oznaczamy symbolem Xn, a nie x(n). .;. .; :S..1,·
L = 'I:c.;Ei. i=O
(1.3.1) •.
.~~J~dnym z nich jest bardzo często stosowany operator~; zob. zad. 14 (przyp. tłum.).
""lil!l'l!ll'
,.li !.
25
1. .NARZĘIJZIA MATEMATYCZNE
1.3. RÓWNANIA RÓŻNICOWE
Stąd wynika, że operatory różnicowe tworzą podprzestrzeń liniową zbioru· wszystkich operatorów liniowych z V do V. Potęgi operatora E są bazą tej podprzestrzeni. Zauważmy, że L (1.3.1) jest wielomianem względem E. Możemy więc
Te elementarne rozważania dowodzą, że istnieje jeszcze dokładnie jedno rozwiązanie szukanego typu, mianowicie {O, O, ... }. Nazywamy je rozwiązaniem trywialnym. Wydaje się teraz, że rozwiązania u i v określone odpowiednio wzorami Un = 1 i Vn = 2n tworzą bazę przestrzeni rozwiązań równania (1.3.2). Aby to sprawdzić, rozważmy dowolne rozwiązanie x tego równania. Szukamy stałych a i f3 takich, że x = au+ (3v, tzn. Xn = aun + f3vn dla wszystkich n. W szczególności dla n = 1 i n = 2 ma być
24
w
napisać, że
L =p(E), gdzie p jest wielomianem charakterystycznym operatora L, określonym wzorem
Ten
m
p(.\) =
x1
L C;Ai.
= a+ 2(3,
układ określa
x2
= a+ 4(3.
jednoznacznie a i (3,
gdyż
wyznacznik jego macierzy
i=O
Zadaniem, które tu rozważymy, jest wyznaczenie wszystkich rozwiązań równania różnicowego liniowego jednorodnego Lx = O, gdzie L jest operatorem postaci (1.3.1). Jest on linfo\vy, więc zbiór {x: Lx= O}, zwany jądrem operatora L, jest podprzestrzenią liniową przestrzeni V. Równanie Lx= O możemy uważać za rozwiązane, jeśli znajdziemy bazę jądra. Aby zobaczyć, czego można się spodziewać w ogólnym przypadku, rozważmy konkretny przykład operatora L taki, że m = 2, co = 2, c1 = -3 i c2 = 1. Wtedy równanie Lx= O ma postać Xn+2 - 3xn+l
+ 2xn =O
(n;;;;. 1).
{1,0, -2,-6,-14, -30, ... }, {1, 1, 1, 1, ... }, {2, 4, ą, 16, ... }. Trudno zgadnąć, jak wyraża się każdy element pierwszego ciągu. Natomiast dla drugiego i trzeciego jest oczywiście Xn = An, gdzie odpowiednio ,\ ~ 1 i A = 2. Jest naturalnym pytanie, czy istnieją inne podobne rozwiązania. Podstawiając Xn = An do (1.3.2), otrzymujemy An+2 - 3_\n+l
.\n(.\2
-
+ 2.\n =O,
3.\ + 2) =O,
.\n(.\ - 1)(.\ - 2) =O.
Xn
= 3xn-1 -
2Xn-2
= a(3un-l -
+ f3vn-2) = 2Vn-2) = aun + f3vn.
= 3(aun-1 + f3vn-d
2Un-2)
+ f3(3vn-1
-
- 2(aun-2
(1.3.2)
Konstrukcja ciągów spełniających to równanie jest bardzo prosta. Istotnie, możemy wybrać dowolnie x 1 i x 2 , a następnie obliczać x 3 , x 4 , ... z (1.3.2). Daje to na przykład ciągi
lr I..
jest różny od O (jest to przykład wyznacznika Vandermonde'a określonego w podrozdz. 6.1). Można udowodnić przez indukcję, że Xn = aun + f3vn dla wszystkich n. Istotnie, jeśli taka równość zachodzi dla wskaźników mniejszych od n, to
Ten przykład ilustruje przypadek wielomianu charakterystycznego o pierwiastkach pojedynczych 5).
A jest pierwiastkiem wielomianu p, to ciąg równanie różnicowep(E)x =O. Jeśli wszystkie -pierwiastki wielomianu p są pojedyncze i różne od O, to każde rozwiąza nie tego równania "jest kombinacją liniową tych szczególnych rozwiązań. Dowód. Jeśli A jest dowolną liczbą zespoloną i u= {A,.\2 ,.\ 3 , ••• }, to Eu= .\u, gdyż (Eu)n
= Un+l = An+l = AUn.
5 ) Będziemy używać terminu pierwiastek, gdy rzecz dotyczy wielomianu i terminu zero dla innych (bardziej ogólnych) funkcji. W matematyce wyższej w obu przypadkach mówi się o zerach; pierwszy termin był w użyciu dawniej.
26
1.
NARZĘDZIA
Stosując wielokrotnie operator E, otrzymujemy równość Eiu = >..iu. "Jes~: ... · . ,. '·" ,_,„.).,~. . ··~" tak również dla i = O. Jeśli zatem p(>..) = I:~o c,Y, to m
p(E)u =
.
i=O Jeśli
q(Eiu) =
i=O
p(>..) =O, to p(E)u =O, co
Różniczkowanie ,.
•
li;.. ,
•
L
q>..iu = p(>..)u.
równania różnicowego p(E)x =O. Niech x oznacza jego dowolne rozwiąza nie. Chcemy je wyrazić w postaci x = I:k=l aku(k). Dla rn początkowych elementów ciągów rna zatem być <(i <(
m).
k=l
.. .'x(>..)
Macierz kwadratowa stopnia m, o elementach >..1 jest nieosobliwa; gdyż' ·': ·: w przeciwnym razie zachodziłyby nietrywialne równości m
:Z::bi>-1
czyli
i=l
' • ...• : : .•"' 1•.'
o,
L bi>..1-I =O
(1
<(
k
<(
:= {>..,>..2,>..3, ... },
;;'(>..)':~_.{1;2:x',3>.. 2 , ... }, ''
•' : ..
x"(>..) :={O, 2, 6>.., .. .}, ... , .
m
=o,
równość
~,'i·, . "~
czyli.po obcięciu ciągów do dwóch początkowych elementów wynikająca stąd para· wektorów w JR.2 jest liniowo niezależna. Kontynuując to rozumowanie, możemy udowodnić, że.jeśli >..jest k-krotnym pierwiastkiem wielomianu p, to następujące ciągi spełniają równanie różnicowe p(E)x =O:
"'
m
(1
~
· ale i x'(~) = {1, 2>.., 3>..2, ... } jest rózwiązanie]ll równania różnicowego. Jeśli . >.. =f. O, to te dwa rozwiązania są liniowo niez~leżne, gdyż
należało udowodnić.
I
L ak>..1
>.. .daje . „
: •. t.
. • '
Niech >.. będzie pierwiastkiem co najmniej podwójnym wielomianu p. Wtedy p(>..) = p'(>..) = O i z dwóch ostatn~ch równości wynika, że nie tylko x(>..),
i=O
>.. >..21 1 2>.. =I-
=
względem
·~. ..
p(E)x'(>..) = p'(>..)x(>..) + p(>..)x'(>..).
·.; · Niech teraz wszystkie pierwiastki >..i, >..2, ... , Am wielomianu p będą ·po-. jedync7.e i różne od O. Każdemu z Ak odpowiada rozwiązanie
Xi
stronami " '
m
m
(L qEi)u = L
27
1.3. RÓWNANIA RÓŻNICOWE
MATEMATYCZNE
'
m),
•
(k-1) X
i=l
z których by wynikało, że wielomian stopnia rn -1 ma rn pierwiastków. Tak więc równania (1.3.3) określają jednoznacznie ~spółczynniki ai, a2, .. . , am. Pozostaje wykazać, że (1.3.3) są spełnione dla wszystkich i. Niech będzie. · z = x - I:'k=l aku(k). Stąd p(E)z = O, czyli równoważnie I:~o CiZri+i =:O ...:. dla wszystkich n. Inaczej mówiąc, ·
.
;.. ..
'
' k-1. ·-
.
d
2
.
'3 .
.
~>..) .- d>.k-1 {A, A 'A ' ... }.
1.3.2. Niech p będzie wielomianem takim, że p(O) =/:- O. Wtedy dla każdego k-krotnego pierwi'astka ;Ą tego wielomianu do bazy jądra operatora p(E) należą określone ·wyżej ciągi x(>.), x'(>.), ... , x..).
Zauważmy, że Cm =I- O, gdyż wielomian p ma rn różnych pierwiastków, a więc.-.,. .
jest stopnia m. Ponieważ Zi =O dla i= 1, 2, ... , rn, więc stosując wielokrot- · .· nie równość (1.3.4), wnioskujemy, że Zm+l = Zm+2 = ... =O. •
PRZYKŁAD
. .•..• ;
równania
różnicowego
~' „
równani~ p(E)x·~ Q,
gdzie
2 · ·p(>.) := 4>.3 + 7>.2 +·2>. -1 =·(X+ . 1) .(4>.. . - i): Ten wielomian ma pierwiastek pbdwÓjny -1 i pierwiastek pojedynczy . Bazowymi rozwiązaniami są ciągi
Pierwiastki wielokrotne Pozostaje rozwiązać równanie rozmcowe p(E)x = O wtedy, gdy p. mą. ·.. ·: pierwiastki wielokrotne. Niech będzie x(>..) = {A, >.. 2, >.. 3, ... }. W dowodzi~."· · :...; '' tw. 1.3.1 wykazaliśmy, że dla dowolnego wielomianu p jest '
Rozwiązanie. Wiemy, że dla tego równania wielomian p ma pierwiastek podwójny -1 i pojedynczy Równanie jest zatem niestabilne. •
t·
mówiąc,
Przykład znaleźć
Równania różnicowe stabilne
t'
Sprawdzić,
stabilne.
• t
1.3.5.
29
równania różnicowego o zmiennych współczynnikach można w teorii funkcji Bessela. Punkcja Bessela Jn jest określona wzorem
Jn(x) := -1
Ciąg x = {x1, x2, ... } należący do przestrzeni V nazywamy ograniczonym, jeśli istnieje taka stała c, że lx~I ·~ c dla wszystkich n. Równanie różnicowe p(E)x =O nazywamy stabilnym, jeśli jego wszystkie rozwiązania są ograniczone. Równanie (1.3.2) nie jest stabilne, gdyż dla jednego z jego rozwiązań Xn = 2n. (Uwarunkowanie i stabilność rozważane w innych miejscach książld nie mają związku z pojęciem stabilności równania różnicowego). Prosta metoda ustalenia, czy równanie różnicowe jest stabilne, wynika z poniższego twierdzenia.
1.3.4. Jeśli wielomian p jest taki, że p(O) =f. O, to równanie p(E)x = O jest stabilne wtedy i tylko wtedy, gdy wszystkie pierwiastki tego wielomianu leżą w kole lzl ~ 1, a pierwiastki wielokrotne w kole lzl < 1.
TWIERDZENIE
różnicowe
Dowód. Załóżmy, że wielomian p ma własności opisane w twierdzeniu~ Niech >. będzie jego pierwiastkiem. Wtedy jednym z rozwiązań równania różnicowego jest x(>.) = {A, >.2 , >. 3 , ••• }. Ponieważ I.Al ~ 1, więc ten ciąg jest ograniczony. Jeśli >. jest pierwiastkiem wielokrotnym, to co najmniej pierwszy z ciągów x'(>.),x"(>.), ... też spełnia równanie różnicowe. W tym przypadku zakładamy, że I.Al < 1. Znana reguła de l'Hospitala pozwala
•
nB) dB. ~
1. Nie jest tak oczywisty (ale
Jeśli
dla pewnego x znamy wartości Jo(x) i J1(x), to stosując ten wzór J2(x), Js(x), ... , Jn(x). To postępowanie staje się jednak niestabilne i nieskuteczne dla 2n > lxl, gdyż nieuniknione błędy zaokrągleń są mnożone przez czynnik 2nx- 1 , a ten wtedy może być duży (zob. zad. K2). Dalsze informacje o obliczaniu funkcji za pomocą związków rekurencyjnych można znaleźć w następujących publikacjach: Abramowitz i Stegun [1964, s. xiii], Cash [1979], Gautschi [1961, 1967, 1975], Wimp [1984]. możemy obliczyć
ZADANIA
1.3
Wyrazić pierwszy z trzech ciągów podanych po (1.3.2) przez dwa pozostałe. 2. Niech p będzie wielomianem stopnia m. Czy przestrzeń rozwiązań równania p(E)x =O ma zawsze wymiar m?
1.
wielomianem stopnia m i niech będzie p(O) i O. Udowodnić, że x zawieram kolejnych zerowych elementów i p(E)x =O, to x =O. Czy operator E jest iniektywny? Czy ma on prawą lub lewą odwrotność? Czy jest suriektywny? Odpowiedzieć na te same pytania dla operatora F określo nego wzorami (Fx)n. = Xn-1 i F(x)i = O. Wyjaśnić związek między E i F. Przypuśćmy, że V jest określone na nowo jako przestrzeń wszystkich funkcji na zbiorze liczb całkowitych i zdefiniujmy F wzorem (Fx)n = Xn-1· Czy to zmienia odpowiedzi na postawione pytania? Jakie są wartości własne i wektory własne operatora E? Rozważmy szereg nieskończony I::'=l XnV(n). Co można powiedzieć o jego zbieżności? Wykazać, że x = 2::'= 1 XnV(n) w sensie zbieżności punktowej. Niech układ (v< 1l, v< 2 l, ... ) ciągów określonych na początku podrozdz. 1.3 bę dzie bazą zbioru V. Wykazać, że sumę I:~o ciEi można wyrazić za pomocą macierzy nieskończonej.
3. Niech p
będzie
jeśli ciąg
(k;;;;. O), czyli każdy z ciągów x'(>.),x"(>.), ... jest ograniczony (zob. zad. 20). Załóżmy teraz, że wielomian p nie ma własności podanych w twierdzeniu. Jeśli pierwiastek ). wielomianu p jest taki, że I.Al > 1, to ciąg x(>.) nie jest ograniczony. Jeśli p ma pierwiastek wielokrotny ). taki, że I.Al ; ; . 1, to ciąg x'(>.) nie jest ograniczony, gdyż jego elementy spełniają nierówność
o
Z tej definicji wynika od razu, że IJn(x)I jest prawdziwy) wzór rekurencyjny
4.
wykazać, że
lo7r cos(xsinB -
7f
5. 6. 7.
30
1.
NARZĘDZIA
8. (cd.). Wykazać, że dowolne dwa operatory postaci opisanej w poprzednim zadaniu komutują. 9. Wykazać, że jeśli L1 i L2 s~~ kombinacjami liniowymi potęg operatora E oraz jeśli L 1 x = O, to LiL 2 x = O. 10. Opracować pełną teorię równania różnicowego E"x =O. 11. Podać bazy złożone z ciągów o elementach rzeczywistych dla przestrzeni ro~-, wiązań każdego z poniższych równań różnicowych. (a) (4E 0 - 3E2 + E 3 )x =O (b) (3E 0 - 2E + E 2 )x =O (c) (2E 6 - 9E5 + 12E4 - 4E3 )x =O 12. Wykazać, że jeśli wielomian p ma współczynniki rzeczywiste i jeśli z jest rozwiązaniem (zespolonym) równania p(E)z = O, to ciąg sprzężony względem z oraz części rzeczywista i urojona ciągu z też spełniają to równanie. 13. 14.
15. (cd.). Udowodnić, że jeśli x = {A,>.2,>. 3 , ... }, ap jest wielomianem, to,_.·. p(.6.)x = p(>.-l)x. Opisać sposób rozwiązania równania wyrażonego w postaci · · p(.6.)x =O. 16. (cd.). Pokazać, że
.6.n = (-l)n[E 0 17.
Podać
-
ZADANIA KOMPUTEROWE
1.3 ...•.. „ .•
20. 21. 22. 23.
J
·Porównać wyniki. K5. Rozwiązać numerycznie równanie Xn-1-2 - (7r + 7r-l )xn+l + Xn =O dla Xo = 1 . i x 1 = 1T. Znaleźć błąd względny obliczonego x5 9 . Powtórzyć obliczenia dla .x 1 = 7r- 1 i wyjaśnić, dlaczego błędy względne ..w tych dwóch przypadkach się różnią.·
nE + łn(n - l)E2 - ;fin( n - l)(n - 2)E3 + ... + (-l)n En].
kompletny dowód tw. 1.3.2.
E (O, oo) i i>.I < 1, to limn-oo n 1' >.n= O. Udowodnić tw. 1.3.4, odrzucając założenie, że p(O) =/= O. Sprawdzić, czy równanie różnicowe Xn = Xn-l + Xn-2 jest stabilne. Udowodnić, że jeśli x spełnia równanie różnicowe p(E)x = O, to Ex ma
:,.
Udowodnić, że jeśliµ
'
., ,..
. -~.
tę
samą własność.
24.
Wykazać, że
ogólne rozwiązanie równania Xn 2(Xn-1 + Xn-2) ma postać-· a(l +var+ ,6(1 - var. Wykazać, że rozwiązanie z początkowymi wartościami X1 = 1 i X2 = 1 - va Otrzymujemy dla a= 0 i ,6 = (1 - va)- 1.. Zn
.
Kl. Jednym z rozwiązań równania różnicowego Xn+2 - 2xn+l - 2xn = O jest ciąg o elementach Xn = (1-va)n- 1, które są na przemian dodatnie i ujemne i które dążą do O. Obliczyć i wydrukować 100 początkowych liczb Xn, korzystając ze wzoru Xn-J-2 = 2(xn+l + Xn) dla X1 = 1 i X2 = 1 - va. Wyjaśnić, skąd bierze się 9sobliwe zachowanie wyników. K2. Przyjmuj~, i~ 0 (1) = 0.7651976866 i J 1(1) ·= 0.4400505857 są wartościami funkcji Bessela, obliczyć wartości J 2 (1), Ja(l), ... , J20(l) za pomocą wzoru rekurencyjnego podanego na końcu podrozdz. 1.3. Dlaczego jest oczywiste, że wyniki są obarczone dużymi błędami? K3. Sprawdzić, czy równanie 4xn+ 2 ~ 8xn+l + 3xn = O jest stabilne. Znaleźć jego·ogólne rozwiązanie. Dla x 0 =O i x 1 = -2 obliczyć xwo w najbardziej ekonomiczny sposób. K4. Obliczyć elementy do setnego włąc~nię rozwiązania szczególnego z zad. 24 trzema metodami: (a) Xn obliczane wprost ze związku rekurencyjnego. . {b) Yn = ,6(1- var. . (c) Zn = a(l + va)n + ,6(1 - var, gdzie a jest równe precyzji arytmętyki 'w użytym komputerze. (zob. P.Odrozdz. 2.1). .. ·
18. Podać jądro operatora p(E), gdy p jest wielomianem i p(O) =O. 19. Niech dla >. E C będzie x(>.) := {A, >. 2, ... }. Wykazać, że jeśli liczby zespolone„ ;, .• >.1, >.2, ... , Am są niezerowe i parami różne, to ciągi x(>.1), x(>.2), ... , x(>.m) 84' ·· · niezależne liniowo w V. ·
'' . ,i
31
1.3. RÓWNANIA RÓŻNICOWE
MATEMATYCZNE
=
. r.
-···
~
..
•,
2
ROZDZIAŁ
Arytmetyka komputerowa
:'i ,I
2.0.
Wstęp
W tym rozdziale wyjaśniamy, na czym polega arytmetyka zmiennopozycyjna ·i opisujemy podstawowe fakty dotyczące błędów zaokrągleń, które mogą zakłócać wyniki obliczeń. Omawiamy także przyczyny redukcji liczby cyfr znaczących (np. odejmowanie dwóch prawie identycznych liczb) i sposoby zapbbiegania temu niebezpiecznemu zjawisku. Na koniec, dajemy przegląd pewnych algorytmów stabilnych lub niestabilnych i zadań źle lub dobrze uwarunkowanych.
2.1. Arytmetyka zmiennopozycyjna Więlrnzość
komputerów pracuje w układzie dwójkowym, a nie dziesiętnym, którego używamy na co· dzień. Liczba 2 jest podstawą układu dwójkowego w takim samym sensie, jak liczba 10 jest podstawą układu dziesiętnego. Aby to zrozumieć, przypomnijmy sobie najpierw znany nam sposób wyrażania liczb. Symbol liczby rzeczywistej, na przykład 427.325, w układzie dziesiętnym znaczy tyle, że 427.325 = 4
X
102 + 2 X 10 1 +7
X
lOO + 3 X 10-l + 2 X 10- 2 + 5 X 10- 3 •
Suma po prawej stronie zawiera potęgi podstawy 10 i cyfry, którymi mogą być O, 1, 2, 3, 4, 5, 6, 7, 8, 9. Jeśli dopuścimy, że na prawo od kropki dziesięt nej może występować nieskończenie wiele cyfr, to każda liczba rzeczywista
34
: I,
2. ARYTMETYKA KOMPUTEROWA
2.1. ARYTMETYKA ZMIENNOPOZYCYJNA
da się wyrazić tak jak wyżej, wraz z odpowiednim znakiem ( + lub - ) . Na ,.. przykład, liczbę -7f wyrażamy tak: . . . ..... ::, . -7f
Zaokrąglanie
przykład
(1001.11101)2 = 1 X 23 + 0 X 22 + 0 X 21 + 1 X 20+ 1 + 1Xr +1Xr 2 +1 X r 3 +oXr 4 t1 X 2_-::- 5 . Ta sama liczba w układzie dziesiętnym wyraża się jako 9.90625. Ogólniej, każda liczba naturalna f3 > 1 może być podstawą (bazą) ukła- · du pozycyjnego. Liczby w tym układzie reprezentujemy używając f3 cyfr O, 1, · ·., f3 - 1. Jeśli z kontekstu nie wynika, w jakim układzie wyrażamy liczbę N, to możemy to uściślić za pomocą symbolu (N)(3 zastosowanego już .~ wyżej dla f3 = 2. Warto dodać, że inne często stosowane podstawy to (3 ~:8,,. ··; · :. :. (daje układ ósemkowy, w którym używa się cyfr O, 1, ... 7) i f3 = 16 (ukł~d . szesnastkowy z cyframi oznaczanymi tradycyjnie O, 1, ... , 9, A, B„ .. ,F): Te układy są związane w oczywisty sposób z układem dwójkowym: trójka (czwórka) bitów daje jedną cyfrę ósemkową (szesnastkową). Ponieważ typowy komputer pracuje wewnętrznie w układzie dwójkowym, a komunikuje się z ludźmi w przyjętym przez nich układzie dziesięt-. nym, więc musi on stosować procedury konwersji, czyli przejścia od jednego. układu do drugiego. Odbywa się to na wejściu i wyjściu. Zazwyczaj u$yt~··: kownik nie ma do czynienia z tymi konwersjami, powinien jednak wiedzieć,". że każda z nich może powodować pewne błędy. Komputery nie potrafią operować na liczbach rzeczywistych mających dowolną liczbę cyfr. Dokładność, z jaką można te liczby przedstawiać, zależy od długości słów w komputerze. Jednak nawet tak prosta liczba jak 1/10 nie. ·· może być zapamiętana dokładnie w jakimkolwiek komputerze dwójkowym,„. gdyż jej rozwinięcie dwójkowe jest nieskończone: ·· = (O.O 0011001100110011.
„
)2.
Dlatego, jeśli liczba 0.1 zostanie zapamiętana (w przybliżeniu) w postaci . dwójkowej, a następnie wydrukowana z 40 cyframi dziesiętnymi, to wynili:'·. może być następujący: · 0.10000 00014 90116 11938 4 7656 25000 00000 00000.
, ;;.;~:::W'7':'
Zwykle'nie zauważamy tego błędu konwersji, gdyż standardowy format dru" '"''''' •kowania\' uwzględniający specyfikę. komputera;~daje ·np .. 0.10000 OOO •. „ .. ,
= -3.14159 26535 89793 23846 26433 8 ...
Ostatnia podana tu cyfra 8 oznacza 8 x 10-26. .. W układzie dwójkowym stosuje się tylko dwie cyfry: O i l; nazywamy je bitami. Typową liczbę wyrażoną w układzie dwójkowym (czyli binarnym) interpretujemy podobnie jak wyżej liczbę w układzie dziesiętnym. Jest na
1~
,
3!i
..„
: Zaokrągląl{ie, będzie omawiane-.s:łiczegółO\yo dalej. Tu zajmujemy się nim ty]Jm o tyle,"o ile jest to istotne w obliczeniach ręcznych lub na kalkulatorze. w~iki i>oś;ednie obliczeń mają· na ogół cor~ więcej cyfr, a liczba cyfr znaczących pozostaje stała lub maleje. Na przykład, iloczyn liczb mających po osiem cyfr po kropce· ma tam cyfr szesnaście. Zaokrąglanie jest ważnym pojęciem w obliczeniach naukowych. Rozważmy dodatnią liczbę dziesiętną x postaci O.ODO ... DOO z m cyframi po kropce . .Sposób zaokrąglenia liczby x do n cyfr dziesiętnych (n< m) zależy . od wartości (n+ 1)-szej cyfry. Jeśli jest nią o, 1, 2, 3 lub 4, to n-tej cyfry nie · żmieniamy, a pozostałe odrzucamy. JeŚli natomiast (n+ 1)-szą cyfrą jest 5, : 6, 7, 8 lub 9, to po odrzuceniu cyfrjak wyżej .dodajemy do liczby 10-n. (Jeśli · · (n+ 1)~~zą cyfrą jest 5, to przyjmuje się niekiedy inny sposób zaokrąglenia, mian'owicie zaokrąglenie w. górę tylko wtedy, gdy daje ono parzystą n-tą ~yfr~:-:'t~.zdar.za się ~niej więcej .w poło~ie p~zypadków. Dla uproszczenia . przyjmujemy powyższą jednolitą regułę.) . Oto kilka przykładów poprawnego zaokrąglenia liczb siedmiocyfrowych do czterech cyfr po kropce:
:.>·
0.1735499 ~ 0.1735 '.. 0.99995 oo ~ . 1.0000 0.43214 09 ~ 0.4321 , . Jeśli Hczba dodatnia x jest ' .. ·~~ kropce, to ;
·
'
„ .'
~
. :.
~.
.. •
· 1:c..,.·xl < ł
x 10-n.
zaokrąglona '
do
,··.··.li; „·..
przybliżenia
x mającego n cyfr
"·.:·. •„ , ••
(2.1.1)
. Istotnie; jeśli (n+ 1)-szą cyfrą liczby x. jest. O, 1, 2, 3 lub 4, to x = x + c, gdzie 0 < c < ł X 10-n. i (2.1.1) zachodzi; jeśli zaś tą cyfrą jest 5, 6, 7, 8 lub 9, to x = i; + 10-n, gdzie x powstaje z x przez odrzucenie wszystkich cyfr począwszy od (n+ 1)-szej. Wtedy x = x + ó x 10-n, gdzie ł < ó < 1, czyli x - x = (1 - ó) x 10-n i (2.1.1) zachodzi. Dla liczby dziesiętnej x > O jej obciętym n-cyfrowym przybliżeniem jest liczba x· określona wyżej. To pr;z;ybliżep.~~ jest tał<.ie, że ,.
„. ·' ·. l:x:.,.. xl.< 10-:'~. .„ .: . lstotnie,'x = x+ó X 10-n, gdzie O~ o< l,.więc jx-xl <·10~n. Jak widać,
.
. obcię~ie może spowodować· dwa razy. większy błąd niż zaokrąglenie.
·.
I~; .1. , I'
'li
36
11:11
2. ARYTMETYKA KOMPUTEROWA
2.1. ARYTMETYKA ZMIENNOPOZYCYJNA
37
11 111·
:
I:, ,. ,.· '
I
I
Reprezentacja zmiennopozycyjna liczb W układzie dziesiętnym każdą w postaci zmiennopozycyjnej: X=
±r X
liczbę rzeczywistą
x
-=/=
O
można wyrazić
lOn,
gdzie r E [l, 10) (w innym wariancie r E [0.1, 1)), a n jest liczbą całkowi tą (dodatnią, ujemną lub zerem) 1). Jeśli x = O, tor = O (a n może być dowolne); w przeciwnym razie n dobieramy tak, aby r leżało w wybranym przedziale. Liczbę r nazywamy mantysą, a n - cechą liczby x. W układzie dwójkowym postać zmiennopozycyjna liczby x różnej od O jest opisana podobnym wzorem: · X=
±q X 2m,
(2.1.2)
gdzie q E [l, 2) (w innym wariancie q E [0.5, 1)), am jest liczbą całkowitą. Przyjmuje się, że mantysa q i cecha m są wyrażone w układzie dwójkowym. W typowym komputerze liczby są reprezentowane tak jak to opisano wyżej, jednak z koniecznymi ograniczeniami na q im, które wynikają z ustalonej długości słowa. Opiszemy teraz taki sposób wyrażania liczb, który jest wzorowany na standardzie IEEE (Nr 754 z 1985 r.) arytmetyki zmiennopozycyjnej2). Wtedy pierwszy bit może sygnalizować znak (+ lub - ) liczby 8 następnych bitów- cechę m zwiększoną o 127, a pozostałe 23 bity są prze~ znaczone na część ułamkową mantysy q. Ta informacja wymaga pewnych uściśleń.
Po pierwsze, przyjmujemy, że cecha jest liczbą całkowitą z przedziału [:-126, 127]. yYtedy m + 127 E [l, 254]. Na ośmiu bitach można zapamiętać liczby całkowite od O czyli (00000000)2 do 255 czyli (11111111)2. Wyżej tych dwóch skrajnych wartości nie wykorzystano, bo rezerwuje się je dla specjalnych celów; wyjaśni się to nieco dalej. · Po drugie, mantysa liczby różnej od zera ma z założenia część całkowitą równą 1, więc nie warto na nią tracić miejsca. Dlatego właśnie zapamiętuje się tylko bity części ułamkowej mantysy. Dla najmniejszej mantysy, równej 1, wszystkie 23 bity tej części słowa są zerami, największą jest 2 - 2-23 i wtedy te bity są jedynkami. Wiadomo już, że wszystkie liczby, które można zapamiętać w komputerze i na których można wykonywać działania arytmetyczne, mieszczą się l) W
dalszym ciągu liczbę r x 10n będziemy na ogół pisać w postaci r 10 n
tłum.). 2 >IEEE
- Institute of Electrical and Electronic Engineers (przyp.
w przedziale od 2- 126 ~ 1.210-38 do (2 - 2- 23 ) x 2121 ~ 3.410 38 lub w analogicznym przedziale dla liczb ujemnych; do tego dochodzi wyróżniona liczba O. Prócz tego, część ułamkowa mantysy ma co najwyżej 23 bity. Każdą liczbę spełniającą te warunki nazywamy liczbą maszynową (nieco archaiczna, ale wygodna nazwa). Jest oczywiste, że nie każda liczba rzeczywista jest liczbą maszynową - nawet „prosta" liczba 1/100 nie da się dokładnie wyrazić w opisany wyżej sposób. Jeśli taka liczba ma być wprowadzona do komputera lub jeśli jest wynikiem działania arytmetycznego, to zastąpie nie jej przez możliwie bliskc1 liczbę maszynową wywołuje nieuchronny błąd. Szczegóły będą wyjaśnione nieco dalej. Powróćmy jeszcze do standardu IEEE. Przyjęto tam, że zero w pojedynczej precyzji ma dwie postaci, +o i -0, reprezentowane w komputerze jako słowa (OOOOOOOO)rn i (80000000)rn. Zero w jednej z tych wersji jest w szczególności skutkiem działania, którego dokładny wynik jest wprawdzie różny od O, ale ma zbyt małą cechę: m < -126. Mówimy, że wtedy powstał niedomiar. Nieskończoność ma również dwie odmiany, +oo i -oo, wyrażone odpowiednio słowami (7F800000)rn i (FF800000)rn. Nieskończoność może być skutkiem działania, którego dokładny wynik ma zbyt dużą cechę: m > 127. Mówimy, że wtedy powstał nadmiar. Nieskończoność jest traktowana jako bardzo duża liczba. Przypuśćmy np., że x jest liczbą maszynową z przedziału (O,oo). Wtedy wynikiem każdego z działań x +oo, x x oo i oo/x jest +oo, natomiast x/oo daje +O (tu oo rozumiemy jako +oo). Podobne informacje dotyczą wielkości -oo. Jeśli jednak nieskończoność miałaby być argumentem działania, które nie ma sensu, to w wielu komputerach wykonanie programu jest automatycznie przerywane. Natomiast niedomiar jest na ogół co najwyżej sygnalizowany użytkownikowi. Dodatkowo uznano za potrzebne kodowanie symbolu NaN (od słów angielskich Not a Number); sygnalizuje on, że pewne działanie, np. 0/0, oo-oo lub x + NaN, jest niewykonalne. NaN jest reprezentowane przez słowo komputerowe, w którym na 8 bitach przeznaczonych dla cechy występują same jedynki i gdzie co najmniej jeden z 23 bitów odpowiadających mantysie jest jedynką.
• Powyższe informacje, choć częściowo tylko przykładowe, ułatwiają zrozumienie tego, z jakimi liczbami mamy do czynienia, stosując w obliczeniach konkretny typ arytmetyki zmiennopozycyjnej. Może on zależeć od stosowanego komputera (ten pracuje z reguły w układzie dwójkowym) i używanego języka programowania. Języki takie jak Pascal, Fortran i C++ pozwalają na stosowanie liczb zmiennopozycyjnych kilku typów (zresztą liczb całkowitych : też). Wybierając jeden z nich, uwzględniamy przede wszystkim następujące \' informacje: .
38
2. ARYTMETYKA KOMPUTEROWA
39
2.1. ARYTMETYKA ZMIENNOPOZYCYJNA
(a) Jakie są dopuszczalne wartości cechy m? To określa z grubsza zakres liczb maszynowych, tj. ich najmniejszą (jeśli pominąć zero) i największą wartość bezwzględną. ' . I (b) Jaka jest długość części słowa przeznaczonego na mantysę q (bez jej znaku)? Ta informacja określa z grubsza dokładność obliczeń. Jeśli ta część składa się z t bitów (przy takiej konwencji jak w przykładzie, · gdzie było t = 23), to liczbę 2-t-l nazywamy precyzją arytmetyki dla· danego typu komputera i stosowanej przez nas arytmetyki. W dalszym ciągu ta wielkość będzie oznaczana symbolem e. Oczywiście warto też wiedzieć, czy działania arytmetyczne na liczbach danego typu są wykonywane sprzętowo, czy programowo, gdyż w tym drugim przypadku czas działania może być znacznie dłuższy. W .obliczeniach nie są natomiast istotne szczegóły reprezentacji liczb zmiennopozycyjnych w pamięci komputera - to np., czy cecha zajmuje początkowe, czy ostatnie bity w słowie (układzie bajtów) przeznaczonym na liczbę, albo jak jest pamiętany znak liczby. Nie wdając się w szczegóły, warto tu podkreślić, że w obliczeniach naukowych taka długość mantysy, jaką podano wyżej w przykładzie, inoże ' .. nas nie zadowalać. Wtedy pewne obliczenia powinny być wykonywane co . ··:. · . najmniej w podw6jnej precyzji. Jeśli np. liczba zmiennopozycyjna w poje- .. • . · dynczej precyzji jest pamiętana jako słowo 32-bitowe, to analogiczna liczba w podwójnej precyzji zajmuje dwa takie słowa, dzięld czemu mantysa jest. ponad dwukrotnie dłuższa. Także zakres możliwych cech może być znacznie większy. Działania wykonywane w podwójnej precyzji są też co najmniej dwa razy wolniejsze, gdyż na ogół są programowane, a nie wykonywane
Niech
Rozkład
liczb zmiennopozycyjnych w komputerze jest nierównomierny. kolejnymi potęgami dwójki znajduje się tyle samo liczb maszynowych. Dlatego znaczna ich część skupia się w pobliżu zera, ale pewne otoczenie zera stanowi lukę - liczb maszynowych (tzw. znormalizowanych) tam nie ma. Na zakończenie tego fragmentu podajemy listę książek i artykułów po- < święconych standardom IEEE i pojęciom z nimi związanym: ANSI/IEEE .. „ [1985, 1987], Cody [1988], Coonen (1981], Fosdick [1993], Rough [198'1],·,, ~ Overton [2001], Raimi [1969] i Scott [1985]; zob. też Biernat [*2001]. ·
Liczby rzeczywiste i liczby maszynowe ·:
Jak już podkreślono, nie każda liczba rzeczywista x jest liczbą maszynową.·. Trzeba więc na ogół zastąpić x jakąś bliską liczbą maszynową. Tę ostatnią ,-. można wybierać na kilka sposobów.
x >O i x
= q x 2m,
gdzie 1,,;;; q
< 2.
Stąd
gdzie wszystkie ai są równe O lub 1. Jeśli mantysy liczb maszynowych mają t bitów po kropce, to bliska względem x taka liczba powstaje przez odrzucep.ie zbędnych bitów ·at+l ,: at+2 ,: ' Taką czy1;m_ość na:żywaril.y' obcięciem. Daje ono liczbę .. . ; ..
„.
x_ = (1.a1a2 ... ath X 2m. Zauważmy, że x_,,;;; x. Inna bliska liczba maszynowa, leżąca na prawo od x, powstaje przez zaokrąglenie w g6rę; odrzucamy więc jak przedtem zbędne bity, ale do q dodajemy jedynkę na ostatniej zachowanej pozycji. Daje to liczbę X..j-
:·= [(l.a1a2 ... at)2 + rt] .X 2m.
''Jest oczywiścię x+ .- X- = 2m-~. . .,,; Najbliżsżą względem x liczbą maszynowi'!!, oznacŻaną symbolem fl(x), ':'. ·::iest"bliższajd z liczb x_ i x+.·Jeśli.bliż~zajest ~i~rwszaz nich, to fl(x) = x_ i . .. . .
.
~
·. · · • IX -
.
.
fl( X ) I ":, ~ -1 1X+ .2
-
X_
I~ -
fl_{x)J ,,;;;
~lx+ -
W obu przypadkach c;ujemy, tak:
·.· „
.. .
I = 2m...:t-i . .
= x+, i
, : W przeciwnym ::azie fl.(x)
sprzętowo.
Między
będzie
.x-1=2m-t-l':-;.
błąd względny rep~ezentacji t
· 1x-fl.(x)1~2m- X 2mq
1
maszynowej liczby x sza-
= ~2...:.t-l ,,;;;.rt-1. q .
: Wprowad~iwszy wielkość ó. = (x* - x)/x wnioskujemy 'stąd, że . . fl.(x) .= x(l
+ ó),
lóJ'.~
gdzie
1:·
· Użyto tu wprowadzqnego nieco wcześniej symboiu e precyzji arytmetyki . . .· . . . '._„„ „ . ' . • . . • >·,,·. ~' •• ·.: . . . ' . ' PRZYKŁAD 2.1.1. -Jaka jest postac dwójkowa'.liczby x. = 2/3 w przykła.
.·- d~wej .aryti:netyce, w której = 23? Jaltj.e są ~:lla niej d~ie bliskie lic~by maszynowe x_ i"x+? Którą z tych licŻbjest ;fl.(x )? Jald jest błąd zaokrągle iua, bezwzględny i względny, wywołany z~miartą'.x na fl(x)? .
t
2. ARYTMETYKA KOMPUTEROWA
Rozwiązanie.
odpowiedzieć
Aby
32 lub 36 bitów dla komputerów średniej wielkości, do 16 bitów w niektórych komputerach osobistych. Kalkulatory osobiste mogą mieć jeszcze mniejszą dokładność. Wiele komputerów stosuje arytmetykę dwójkową, ale szesnastkowa i ósemkowa też są używane. Stosuje się różne rodzaje zaokrąglenia; pewne kompilatory pozwalają nawet użytkownikowi wybrać jeden z tych rodzajów.
na pierwsze pytanie, napiszmy równość
~ = (O.a1a2a3 .. :h· Mnożenie
przez 2 daje
Część .całkowita
Powtarzając X=
~
te
obu stron jest równa 1
czynności,
X_
X+
= ai.
= (0.101010 ... )2 = (1.010101 ... )2 X
= (1.0101 ... 010)2 X = (1.0101 ... 011)2
są
X
T
1
T
1
X+ -
T
1
odjęciu
'
mamy
że .
,
,
X
ifl(x) -
= ( X+
-
= x+
i
xl =
ł
X- ) -
(X
daje
obcięcie, drugą
należy wybrać
- za-
jako fi(x), oblicza-
2.1.2. Dla ilustracji tych czynności rozważmy komputer dziana liczbach dziesiętnych zmiennopozycyjnych z mantysą pięciocy frową, należącą do przedziału [0.1, 1) (nie jest istotne, czy wybieramy ten przedział, czy (1, 10)). Należy znaleźć wyniki dodawania (+), odejmowania (,-),mnożenia ( x) i dzielenia (/) liczb maszynowych łający
xl
Równość
! = 3
X- )
= 2-24 - 32
X=
X
2-24 = 31
błąd bezwzględny zaokrąglenia
X
X
X
2-24 •
oraz ich
2-24 2
3
-
-
y = 0.92577105
błędy względne.
•
(2.1.3) dotyczy - ogólniej - komputerów, w których stosuje pozycyjny o podstawie (3, a liczby zmiennopozycyjne mają n-cyfrowe mantysy. Wtedy c = łf3l-n w przypadku zaokrąglenia i c = (3 1-n w przypadku obcięcia. W nowoczesnych komputerach wartość c zmienia się w szerokich granicach wobec różnych długości słowa, różnych układów pozycyjnych, rodzajów zaokrąglenia itd. Długość słowa waha się od 64 lub 60 bitów dla dużych komputerów, stosowanych w obliczeniach naukowych, przez
że
„surowe" wyniki
są
umieszczane w aku-
+y =
0.92891 26000105, X.-y = -0.9226274000105, X X y = 0.29093 24802108,
Rozważymy teraz skutki wykonywania działań arytmetycznych na liczbach zmiennopozycyjnych. Dokładny wynik takiego działania na ogół nie jest taką liczbą. Niech symbol 0 oznacza jedno z czterech działań arytmetycznych. Niech x i y będą liczbami maszynowymi. Mamy obliczyć x0y. Przyjmujemy, że komputer działa tak, że po wykonaniu tego działania mantysa wyniku jest normalizowana (tzn. sprowadzana do właściwego przedziału, np. [1, 2)) i zaokrąglana, a cecha odpowiednio korygowana. Tak więc w istocie wynik.iem działania jest fi(x 0 y).
równe
gdzie po kropce mamy 23 bity. Pierwszą okrąglenie w górę. Aby stwierdzić, którą z liczb x_ i x+ my różnice X -
Błędy względne tych liczb są odpowiednio równe: 2.810-6., 2.810-6, 8.510-ti i 6.010-6; wszystkie one są mniejsze od 10- 5 • •
W dobrze zaprojektowanym komputerze wyniki czterech metycznych spełniają związki
fl(x 0 y) = (x 0 y)(l + 8),
przy czym
181
~
działań
Przekonamy się teraz na prostym przykładzie,· jak można badać błąd:; wyniku długich obliczeń. Z grubsza mówiąc, poniższe twierdzenie . orzeka, że jeśli sumujemy 1 liczb dodatńich (czylr ~koń.ujemy "ii d0a.·;_· '·.' wań), to błąd względny nie przewyższa nc. względny
aryt-
n+
TWIERDZENIE 2.1.3. Jeśli xo, x 1 , .•• , Xn są liczbami maszynowymi dodat·ni-Tąi;··t~ błgd względny sumy
c,
gdzie c jest precyzją arytmetyki (ewentualne drobne odchylenia od tej włas ności są tak nieznaczne, że można je pominąć). Tak więc precyzja arytmetyki szacuje z góry błąd względny wyniku dowolnego działania arytmetycznego. Jeśli x i y mogą nie być liczbami maszynowymi, to powyższa równość komplikuje się:
n
L:xi i=O
)
obliczanej w
„.„
.. „
obli,czoną
następ~jące:
Współczesne komputery wykonują działania w specjalnych rejestrach, które są dłuższe od słów przeznaczonych na liczby maszynowe. Wyniki działań mają więc przejściowo dużą dokładność, którą zapewniają dodatkowe . bity chroniące. Oczywiście te wyniki są następnie zaokrąglane, co daje zwy~ kłe liczby maszynowe. Liczba bitów chroniących i inne szczegóły mogą być · dla każdego typu komputera inne i często trudno uzyskać informacje na ten temat. Można dowiedzieć się więcej o tym z książki Sternbenza [1974] . i licznych artykułów w czasopismach komputerowych; zob. także Feldstein · · · • i Turner [1986], Gregory [1980], Rall [1965], Overton [2001], Scott [1985] • oraz Waser i Flynn [1982].
~H~ie· O = .1 + c. Mamy zatem ciąg nierówno~ci . ·. l,·
~
będzie Wartością tej
~
·-:!
~
1
dla tych .wielkości
Pk~l ~ (Sic+i - Sk+i)/Sk+l ~ .•
'·Ponieważ
w porównaniu z c.
. . ..
.
z już otrzymanych wyników, możemy. badać wpływ błędów za- ·:1 · wartości bardziej złożonych wyrażeń arytmetycznych. Niech.':· .. najpierw x, y i z będą liczbami maszynowymi. Chcemy obliczyć x(y +z). Mamy ciąg równości
usunięto
+ ... + Xk i "niech Sic Wzory,rekur~ncyjne
+ c)n -
. ·. Tak więc IPk I jest błędem względnym przybliżenia Sic dokładnej k-tej. sumy Bk, a l8kl ·-.takim błędem dla przybliżenfa sumy Sic.+ xk+l za pomocą ' Wi'eiimści :ij($.ic + Xk+i)· Z tych ·definicj~ wynika, że · . . ·
Zadania 1-9 dotyczą przykładowej reprezentacji zmiennopozycyjnej, w której ~~~'- · tysy mają 23 bity po kropce, czyli jest c = 2- 24 . W pozostałych zadaniach e: jest dowolne albo podane explicite. 1. Czy poniższe liczby są liczbami maszynowymi? (a) 1040, (b) 2-1+2-26, (c) (d) ~' (e) 2~6· 2. Jeśli liczba 1~ jest poprawnie zaokrąglona do znormalizowanej liczby dwójkowej (1.a1 a2 ... a23)2 x 2m, to jaki jest błąd zaokrąglenia - bezwzględny i względ- : . · ny? .
g,
3. Znaleźć najbliższą liczbę maszynową dla: (a) ~' (b) ~'i błąd względny przybliżenia za pomocą takiej liczby. 4. Niech będzie x = (1.11 ... 111000 ... )2 x 216 , gdzie część ułamkowa zaczyna się od 26 jedynek, po których następują zera. Wyznaczyć: x_, x+, fl(x), x - x_, x+ - x, x+ - x_ i lx - fl(x)l/c. 5. Znaleźć fl(x) i lx - fl(x)I dla X= 216 + 2-s + r9 + 2-10. 6. Jaka jest dokładna wartość różnicy fl(x) - x, gdy x = I:~: 1 2-n7 7. Dla x = 2 12 + 2- 12 znaleźć liczby maszynowe x_ i x+· 8. Dla x = 23 + 2- 19 + 2- 22 znaleźć liczby maszynowe x_ i x+· Obliczyć fl(x) oraz błędy bezwzględny lx - fl(x)I i względny lx - fl(x)l/x. Sprawdzić, że ten ostatni nie przewyższa c. 9. Ile liczb maszynowych znajduje się jest wszystkich liczb maszynowych?
między
kolejnymi
potęgami
liczby 2? Ile
Znaleźć liczbę maszynową leżącą najbliżej liczby 1/9 po jej prawej stronie w arytmetyce zmiennopozycyjnej z mantysami mającymi 43 bity po kropce. 11. Jaka jest precyzja arytmetyki fl w komputerze dziesiętnym (pamiętającym liczby w po~taci x = ±r X 10n, gdzie 1~ ~ r < 1), gdy mantysy mają 12 cyfr? 12. Znaleźć oszacowanie z góry błędu względnego ilorazu (a x b)/(c x d), gdzie a, b, c, d - liczby maszynowe. 13. Jakim błędem względnym zaokrąglenia może być obarczony iloczyn n liczb maszynowych? Jak zmieni się odpowiedź na to pytanie, jeśli liczby nie muszą być maszynowe (ale mają dopuszczalną wielkość)?
10.
45
=
XZn-1 +an
(n ): 2)
(jest to tzw. schemat Hornera) . .Wykazać, że jeśli dane są liczbami maszynowymi, to liczby Zn można interpretować jako dokładne wyniki działań na zaburzonych danych. Wyrazić oszacowania tych zaburzeń przez precyzję aryt~1etyki fl . 15. Jeśli komputer nie zaokrągla poprawnie liczb, ale tylko odrzuca zbędne bity, to jaka jest precyzja arytmetyki fl? 16. Niech x1,x2, ... ,xn będą dodatnimi liczbami maszynowymi, Sn ich dokładną sumą, a s~ sumą obliczoną przez komputer. Udowodnić, że jeśli Xi+i ;;;;: cSi dla każdego i, to
17. Niech Sn = X1 + X2 + ... + Xn będzie sumą liczb maszynowych i niech s~ będzie wartością tej sumy obliczoną przez komputer. Wtedy s~ = fl(S~-1 + Xn)· Udowodnić, że
18. W twierdzeniu 2.1.3 występuje różnica (l+c)n-1. Wykazać, że jeśli nc
l
21. Wykazać, że fl(x) = x/(1+8), gdzie 181 ~ c. 22. x, y i z są liczbami maszynowymi. Sprawdzić, k.tóre z poniższych związków są prawdziwe. (d) lfl(xy) - xyl ~ lxyl x c (a) fl(xy) = xy(l + 8) (e) fl(x + y +z)= (x + y + z)(l + 8) (b) fl(x + y) = (x + y)(l + 8) (c) fl(xy) = xy/(1+8) · 23. Znaleźć liczby rzeczywiste x i y, dla których fl(x0y) # fl(fl(x)0fl(y)). Zrobić to dla każdego z czterech działań arytmetycznych, przyjmując, że w komputerze dziesiętnym mantysy są pięciocyfrowe. 24. Znaleźć takie liczby maszynowe x, y, z, że fl(fl(xy)z] # fl[x fl(yz)] (stąd wynika, że mnożenie maszynowe nie jest łączne). 25. Wykazać, że jeśli x i y są liczbami maszynowymi takimi, że IYI ~ ~c:lxl, to fl(x + y) = x.
46
2. ARYTMETYKA KOMPUTEROWA
2.2.
26. Znaleźć liczbę rzeczywistą x taką, że fl(x) = x(l +o) dla możliwie największego lol. Czy ta wielkość może być równa c? ..
to
Utrata cyfr
2.1
Kl. Napisać program, który oblicza wartość c precyzji arytmetyki zmiennopozy-:
cyjnej dla liczb określonego typu. Czy będzie to wartość dokładna czy przybliżona? Wskazówka: Wyznaczyć najmniejszą dodatnią liczbę maszynową c postaci rk, dla której 1.0 + c =I 1.0. K2. Napisać program znajdujący największą i najmniejszą liczbę maszynową. ..„. K3. (a) Znaleźć taką liczbę maszynową x, że 1 < x < 2 i x(l/x) =I 1, czyli . fl(xfl(l/x)) =I 1.
f.
X -
y = 0.00012 48121.
.µa,
fl(y) = 0.37202,
fl(x) - fl.(y) = 0.00013. ·
T~ różnica ma więc mniej, w ·porównaniu: z odjemną i odjemnildem, cyfr . znaczących 3 ). Inaczej mówiąc, różnica zost~ła obliczona z bardzo dużym błędem względnym:
I I
x - y - [fl(x) - fl(y)] = 0.00012 48121 - 0:000131 X - y 0:00012 4;8121
I
..
• „~ •
jest (dla x
y = 0.37202 30572, .
Jeśli te .obliczenia byłyby wykon~e .k?~puterze d~iesiętnym z pięciocyfrowymi mantysami, to mielibyśmy talde równości: · fl(x) =.0.37215,
Jx-x*I, błąd względny
znaczących
= 0.37214 78693,
X
2.2. Błędy bezwzględne i względne. Utrata cyfr znaczących
a
popełnił
Wprawdzie błędy zaokrąglenia są nieunilmione i trudno nimi sterować, ale : . inne typy b~ędów są pod naszą kontrolą. Analiza numeryczna wymaga ro: ·. zumienia błędów różnych rodzajów i panowania nad nimi. Tu zajmiemy się . . pewnym typem błędów; wynikającym częst_o z -niestarannego programowa,,:·nia.. . „.. . . ,· , · .. · Jako przykład sytuacji, w której mogą pojawiać .się duże błędy względ :;.·f,.n~, rozi;ażmy odejmowanie dw6ch.bliskicfrliczb. . . . . . • •
(b) Za pomocą prymitywnej metody przeszukiwania znaleźć najmniejszą taką liczbę. (Edelman [1994] pokazał, jak można to przeszukiwanie znacznie skrócić stosując metody analityczne).
30. Niech liczba c = ~13 1 -n odnosi się do komputera, który działa w układzie pozycyjnym z podstawą /3, w którym liczby zmiennopozycyjne mają n-cyfrowe mantysy i w którym stosuje się poprawne zaokrąglanie. Dla jakich /3 c jest liczbą maszynową? Jeśli nią jest, to czy jest to najmniejsza liczba maszynowa spełniająca nierówność fl(l + c) > 1?
Gdy liczbę rzeczywistą x przybliżamy inną liczbą tego przybliżenia jest z definicji równy
UTRATA CYFR
ność
29. Niech x E (-oo, O) będzie liczbą maszynową. Jakie wartości w standardowej
ZADANIA KOMPUTEROWE
WZGLĘDNE.
byłby zadziwiająco mały, ale któż by taki błąq,„,~ybi~rając !lliejsce cięcia!)'.
28. Jakie liczby mają reprezentację skończoną w układzie dwójkowym, ale nie mają jej w układzie dziesiętnym?
+x,
I
.i'"'' Ziemi
27. Wykazać, że jeśli x jest liczbą maszynową, to dla dowolnego naturalnego k jest fl(xk) = xk(l + o)k-:-1.
arytmetyce IEEE daje komputer dla (-oo)
BŁĘDY BEZWZGLĘDNE
O) .równy
1x~x*/.
3)
Ten' termin,
użyty już
w tytule podrozdz. 2.2, nie jest określony. Warto więc przypo-
mnieć jego sens: Niech ii będzie wartością przybliżoną pewnej wielkości a; pr.zyjmujemy, że a f= O i ii f= O. Jeśli te liczby s.ą.wyrażone w układzie pozycyjnym przy podstawie /3 (najczęściej f3 = 2 albo f3 = 10) i jeśli t jest największą liczbą całkowitą taką, że la-iii ,,;; ~13-t, to wszystkie cyfry przybliżenia ii, począwszy od pierwszej różnej od O aż do cyfry mnożo nej 'w' rozwinięciu tej ·liczby przez 13-t, nazywamy cyframi znaczącymi tego przybliżenia.
· kh liczba jest związana z błędem względnym (przyp. 'tłum.) .
• , ~I~
_ _ 0 04
·.Kiedy tylko .komputer musi przesuw~ć w lew<:> mantysę aby otrzymać liczbę . zmiennopozycyjną, na końcu ma:ntysy pojawiają się zera. ·Te zera są obce, '· ''tj. ni~ wjTnikaj·ą z różnićy dokładnycłiwartośei x i y. Wprawdzie fl(x)-,-fl(y) ,: ~ w st~sbw~nym tu komputerze jest ·rep~ezentowane przez 0:13000 x 10-3 , ale . . zera na koricu mantysy tylko ją uzupełniają do pięciu cyfr. :• ·
W pomiarach niemal zawsze istotny jest ten drugi błąd. Informacja o błędzie bezwzględnym jest rzadko użyteczna, gdy nic nie wiemy o rzędzie wielkości· liczby. (Błąd bezwzględny równy 1 m w określeniu odległości Jowisza od ·
Rj
48
2. ARYTMETYKA KOMPUTEROWA
Odejmowanie bliskich
2.2. BŁĘDY BEZWZGLĘDNE I WZGLĘDNE. UTRATA CYFR ZNACZĄCYCH
wielkości
Gdy tylko to jest możliwe, powinniśmy unikać ryzykownego odejmowania bliskich sobie liczb. Staranny programista jest na to uczulony. Aby zilustrować możliwe postępowanie w takich przypadkach, rozważmy pewien przy-
Ponieważ x > y, więc przed odejmowaniem komputer suwa mantysę liczby y tak, aby zrównać cechy tych
·
wyraża
49
w razie potrzeby przeliczb; inaczej mówiąc,
y w postaci
kład.
PRZYKŁAD
y +---
2.2.1. Instrukcja
Mamy
Jx 2 +1-1
powoduje dla małych x odejmowanie bliskich liczb i zmniejszenie liczby cyfr Jak można temu zaradzić?
znaczących.
Rozwiązanie. Przekształćmy wyrażenie
Y
=
więc
(J x2 + 1 -
1)
r - 2m-n s
y:
v'x2+1 + 1 = x2 . v'x2 + 1 + 1 v'x 2 + 1 + 1
Tu już nie ma niebezpiecznego odejmowania. Dlatego zamiast pierwotnej instrukcji należy zastosować następującą: 2
y +--- x / (
•
J x 2 + 1 + 1).
pytanie: ile dokładnie bitów znaczących tracimy, obliczając różnicę x-y bliskich liczb? Ścisła odpowiedź zależy od konkretnych wartości x i y. Można jednak otrzymać ogólne obustronne oszacowanie, wyrażone przez wielkość I1-y/ xl, która jest wygodną miarą bliskości liczb x i y. Twierdzenie dotyczy każdego komputera dwójkowego. Ciekawe jest
Tymczasowa mantysa te) liczby jest równa
następujące
2.2.2.
Jeśli
liczby maszynowe x i y
SQ:
takie,
że
(1 -
PRZYKŁAD
2.2.3.
utratę
y
=
S X
2m
(
< 2-P.
Rozważmy
podstawienie
cyfr znaczących. Jak można tego uniknąć?
Rozwiązanie.
y
Dowód. Udowodnimy tu lewą część powyższej nierówności; prawą część zostawiamy Jako ćwiczenie. Zgodnie z założeniem przyjmujemy, że
{.! < r < 1),
'X!!_)
Ponieważ dla małych x jest sin x ~ x, więc wtedy obliczenie y powoduj'il
Alternatywna postać różnicy x - sinx wynika z szeregu dla sin x:
=x
- sin x
x3
(p i q SQ: całkowite), to liczba bit6w znacz
2n
(1 -
y +--- x - sinx.
=x
X
X
=r
2nr
x > y >O i
rq < 1-'!!.. < rP
x = r
2 8 m )
Poprawna mantysa wynika z tej liczby przez jej przesunięcie co najmniej o P bitów w lewo. Na końcu mantysy pojawi się więc co najmniej p obcych zer, • co oznacza utratę co najmniej p bitów znaczących.
potęgowego TWIERDZENIE
=r
! < S < 1)
(w podrozdz. 2.1 częściej przyjmowano, że mantysa liczby dodatniej należy,;,J 1i~'' do przedziału [1, 2), ale zmiana warunku nie wpływa na postać twierdzenia).
= 3! -
x5
5f +
x3
- (x - I 3.
x5
+ I5.
x1
- I 7.
)
+ ··· =
x1
7! . - ...
Dla x bliskich O można użyć sumy częściowej tego szeregu, skąd wynika na przykład takie podstawienie:
y
+---
(x 3 /6){1 - (x 2/20)[1 - (x 2/42)(1 - x 2/72)]}.
Jeśli zmienna x przebiega szerszy przedział, to zależnie od jej wartości wy. 'bieramy tę wersję instrukcji podstawienia, która jest lepsza w danym przypadku. •
50
2.2.
2. ARYTMETYKA KOMPUTEROWA
W powyższym przykładzie trzeba by jeszcze zbadać dokładniej, dla jakich x mamy wykonywać każdą ze wspomnianych instrukcji podstawienia. Na mocy tw. 2.2.2 utrata bitów znaczących, gdy używamy pierwszej instrukcji, ogranicza się do co najwyżej jednego bitu, gdy sinx 1--X
~
to i tak pewne w nim
są
tylko trzy
początkowe
cyfry.
kontrolowania wielkości błędów zaokrąglenia daje arytmetyka przeZamiast na liczbach operuje się w niej na przedziałach, które zawierają ~okładne wartości. W ·id~a!nym przypadku te przedziały, także dla końcowych wyni~ów, są bardzo„ ~ałe. Koszt działania na. przedziałach (a nie na zwykłych liczbach maszynowych) jest jednak znaczny i dlatego arytmety}<:ę przedziałową. stosujemy, tylko wtedy,. gdy dokładne informacje · o wynikach mają szczególne znaczenie. Moze pyć też trudno zahamować rozszerz'ariie .się ~olejno tworzonych przedziałów; które coraz bardziej odbiegają .. „ 9d ·sensownych oszacowań wyni,k?w. W ostatnich latach opracowano pakie. ty programów stymulujące użycie arytmetyki przedziałowej w obliczeniach. f\.rytmetyka ta doczekała się wielµ publikacji, a nawet własnego czasopisma. Oto książki jej poświęcone: Alefeld 1 Grigorieff [1980], Alefeld i Herzberger :~. [19'ą3], Kuliscl?. i Miranker [1981] oraz Moore [1966, 1979]. Aktualne wyniki badań można znaleźć w Internecie. ~„„'
cos(-x) = cosx = - cos(7r - x).
.
~
.' :
·. ZADANIA .2.2 . ' . i ..Jeśli chcemy, aby obliczenie różllicy~~·'.; ~x~::+ 1,- i powodował~ zmniejszenie ' l
'
• •
. .
'
dokładności najwyżej o 2 bity, to jak trzeba ograniczyć wartości x?
o'·il~ bitów zmniejsza się dokład~oŚĆ rÓŻ~icy"x - ~in~ dla X 0
·2.
;,;·
~?
\ · .3. Wykorzystując postać reszty we wzorze Taylora, wykazać, że w przykł. 2.2.3 uzys~nie błędu poniżej 10- 9 wymaga użycia ~o najmniej siedmiu składników szeregu.
Na przykład, obliczając cos x dla x = 33278.21 redukujemy najpierw argu~ ment według wzoru 21f
51
działowa.
(n całkowite).
X
ZNACZĄCYCH
Metodę
:
5296
UTRATA CYFR
Arytmetyka przedziałowa
Dzięki temu obliczanie cosx dla dowolnego x można poprzedzić zredukowa-.... · niem argumentu do przedziału [O, 21f]. Procedury dostępne w komputerach \: wykorzystują tę możliwość. Dodatkowo można tu zastosować inne własnośc(•(:) cosinusa:
= 33278.21 -
WZGLĘDNE.
cos 2.46 = -0. 77657 02835,
1 -. 2
cos(x + 2mr) = cosx
I
komputer daje wynik
Używając kalkulatora, sprawdzamy, że tak jest dla lxl ~ 1.9. Dlatego wtedy obliczamy różnicę x - sin x, a dla lx! < 1.9 stosujemy sumę częściową szeregu. Możemy sprawdzić, że w najgorszym razie (dla x = 1.9) ·siedem początkowych składników tego szeregu daje y z błędem mniejszym od 10-9 (zob. zad. 3). W pewnych obliczeniach skutki utraty cyfr znaczących można zmniejszyć, stosując podwójną precyzję. Można to ograniczyć do szczególnie waż nych fragmentów obliczeń i dzięki temu skrócić ich czas. Trzeba bowiem wiedzieć, że działania w podwójnej precyzji są wykonywane od 2 do 4 razy wolniej, gdyż na ogół są programowane, a nie realizowane sprzę towo. Drastyczne zmniejszenie liczby cyfr znaczących występuje też wte<;I.~„./ gdy obliczamy wartości pewnych funkcji dla bardzo dużych argumentó~~;." Przykładem jest cosinus - funkcja okresowa taka, że
y
BŁĘDY BEZWZGLĘDNE
·: 4. O ile bitów zmniejsz~ się dokładność różnicy 1 - cos x dla x
= 2.46.
W y zachowano tylko dwie cyfry po kropce, przyjmując, że taka była dokład-:. , ność dla x. Tak więc zredukowany argument ma trzy cyfry znaczące, chociaż . "./ pierwotnie było ich siedem. Dlatego także wartość cosinusa ma co najwyżej · trzy cyfry znaczące. Niech nas nie zwiedzie to, że iloczyn 5296 x 27r można.'. obliczyć z dowolną dokładnością. Nie powinniśmy też wierzyć pozornie d_u~..;.>~„, żej dokładności drukowanej wartości cos x. Podprogram traktuje argume~t„:;.:_./ jako mający pełną dokładność maszynową, ale tu tak nie jest. Jeśli więc~.
.:.> :
" ~·..
,.
·.. „„·
5. (cd.). Dla funkcji z poprzedniego zadania jący pełną dokładność wyników.
znaleźć
szereg
= ł?
potęgowy
zapewnia-
·5. Znaleźć tożsamość· trygonometryczną, która pozwala. obliczać 1 - cosx dla " maiych x z pełną dokładnością'. przy użycłu procedur systemowych dla sin x . lub cos x. (Możliwe są dwa dobre rozwiązania).· ··
7. Znal~źć sposób obliczania ..Jx4 + 4 -'2 bez,niepotrzel;mej straty dokładności. "s.· ·Opier~jąc się na definicji sinh x. = ~ ( ~,; ~ !3.::_~), za~roponować rozsądny sposób
1
obli,c:zanfa wartości tej funkcji.
52
2:2. BŁĘDY BEZWZGLĘDNE I WZGLĘDNE. UTRATA CYFR ZNACZĄCYCH
2. ARYTMETYKA KOMPUTEROWA
17. Dla jakich (} przybliżenie sin(} ~ (} ma co najmniej trzy cyfry dziesiętne (za-
9. Równanie kwadratowe ax 2 + bx + c =O rozwiązujemy, stosując wzór
x
= (-b ±
)b2
-
okrąglone) dokładne?
4ac)/(2a).
Jeśli
4ac jest małe w porównaniu z b2 , to ten wzór dla jednego z pierwiastków powoduje utratę dokładności, gdyż wtedy Vb2
-
4ac ~Ibi.
Zaproponować metodę usunięcia
tej
f(x) = (etgx - ex)/x3.
Zaproponować takie metody obliczeń poniższych wyrażeń, które nie powodują niepotrzebnej- utraty dokładności. (a) .../x2 + 1 - x, (b) logx - logy, (c) x- 3 (sinx - x), (d) .../x +2 - y'x, (e) e"' - e, (f) logx - 1, (g) (cosx - e-x)/ sinx, (h) sinx - tgx, (i) sinhx - tghx, (j) log(x + .../x 2 + 1) (funkcja odwrotna względem sinhx). 11. Dla dowolnego x 0 > -1 ciąg określony wzorem rekurencyjnym Xn+l
= 2n+l
( Vl
• f
;;~," ;~
:• •
'!°
+ 2-nxn :.;,_ 1)
jest zbieżny do log(xo + 1) (zob. Henrici (1962, s. 243]). Przekształcić ten wzór tak, aby uniknąć straty dokładności. 12. Które z poniższych wyrażeń warto wykorzystać, obliczając tgx - sinx dla x bliskich O? (a) (sinx)(l/ cosx - 1), (b) łx 3 , (c) (sinx)/ cosx - sinx, (d) (x 2 /2)(1- x 2 /12) tgx, (e) łx 2 tgx, (f) tgxsin 2 x/(cosx+1). 13. Znaleźć sposoby obliczania wartości poniższych funkcji bez istotnej utraty dokładności.
(a) (1-x)/(l+x)-1/(1+3x), (b) Jl+ 1/x-Jl -1/x, (c) ex-cosx-sinx. 14. Rozważyć obliczanie e-x dla x > O za pomocą szeregu e-x
= 1-
x
+
Zasugerować standardową
x3 2! - 3!
x2
+ ...
lepszy sposób dla ex.
obliczeń, przyjmując, że
nie dysponujemy
x obliczanie f(x) = 1 + cosx powoduje tego uniknąć? 16. Rozważmy funkcję f(x) = x- 1 (1 - cosx). 15. Dla jakich ności? Jak
wartości
18. Jak dobre jest przybliżenie cos x ~ 1 dla małych x? Jak małe musi być x, żeby błąd tego przybliżenia nie przewyższał 0.510-8? 19. Zaldadając, że x jest małe, znaleźć sposób możliwie dokładnego obliczania wartości funkcji f(x) = x +ex - e 2 "'. 20. Znaleźć sposób obliczania, dla małych x, dokładnych wartości funkcji
trudności.
10.
•'I
53
funkcją
redukcję dokład
Wyjaśnić,
utratę
do-
(c) Jak można usunąć wadę z części (b) zadania? Nie odwoływać się do wzoru Taylora. (d) Nowe wyrażenie otrzymane w części (c) zadania powoduje być może złe w skutkach odejmowanie w jakimś innym punkcie. Usunąć i tę wadę.
równości przybliżo
x - sinx ~ (x 3 /6)[1- (x 2 /20)(1 - x 2 /42)] odejmowania nie grożą utratą dokładności. 22. Załóżmy, że sumę szeregu nieskończonego I::=l Xn mamy znaleźć z błędem bezwzględnym mniejszym od c:. Czy mamy prawo zakończyć sumowanie skład ników, gdy stają się one mniejsze od c? Odpowiedź zilustrować przykładem szeregu I::=l 0.99n. 23. (cd.). Rozważyć pytanie z poprzedniego zadania, zakładając, że składniki Xn są na przemian dodatnie i ujemne i że ciąg {lxnl} maleje do O. (Powołać się na odpowiednie twierdzenie z analizy matematycznej). '· ·24. Wykazać, że jeśli x > 225 7r jest liczbą maszynową w komputerze z precyzją arytmetyki c: = 2- 24 , to nie można obliczyć cos x nawet z jedną cyfrą dokładną. ZADANIA KOMPUTEROWE
Kl.
Napisać
i
wykonać
2.2
program
f(x)=Vx 2 +1-1,
obliczający
g(x)=x 2 /(./x 2 +1+1)
'dla x = s- 1 ,s- 2 ,s- 3 ,„. Chociaż f = g, to komputer daje różne wyniki. , Które z nich są wiarygodne, a które nie? K2. Napisać i sprawdzić procedurę, która dla liczby maszynowej x oblicza wartość y = x - sin x z dokładnością bliską maksymalnej dla wybranej precyzji. K3. Obliczyć i wydrukować wartości funkcji:
h(x)
kładności?
dlaczego w przypadku obliczania prawej strony
nej
f(x) g(x)
można
(a) Jaka definicja wartości f(O) zapewnia ciągłość tej funkcji? (b) W pobliżu jakich punktów użycie powyższej definicji powoduje
punktach, od 0.99 do 1.01. Każdą z tych funkcji nalez jej podanej wyżej postaci, bez żadnych przekształ ceii. Funkcje są identyczne. Wyjaśnić, dlaczego niektóre drukowane wartości są ujemne, choć nie powinno tale być. Jeśli to możliwe, wykreślić te trzy funkcje w pobliżu punktu 1 w powiększonej skali na osi wartości (zob. Rice [1992, s. 43]). w 101
równoodległych
ży obliczać korzystając
54
2. ARYTMETYKA KOMPUTEROWA
2.3. ALGORYTMY STABILNE I NIESTABILNE. UWARUNKOWANIE
K4. Napisać i sprawdzić procedurę obliczającą możliwie dokładne wartości różnicy) 1 - cosx dla -7f ~ x ~ 7r. Zastosować wzór Taylora w pobliżu zera i podprQ-iiiJ,\ł:~i..„ gram dla cosinusa w przeciwnym razie. Przedziały, w których należy stosować jedną z metod, wybrać tak, aby tracić najwyżej jeden bit.
Mówiąc
ściśle,
algorytm numeryczny określamy jako niestabilny, w jakimś etapie obliczeń rosną w następnych etapach i poważnie zniekształcają ostateczne wyniki. Aby wyjaśnić to pojęcie, posłużymy się przykładem. Rozważmy ciąg lic~b rze~z:y:wistych określony wzorem rekur~~cyjnym
K6. Interesującym doświadczeniem numerycznym jest obliczenie iloczynu skalarnego wektorów x i y, równych odpowiednio: '
K5. Napisać i sprawdzić procedurę obliczającą f(x) = x- 2 (1 - cosx). Uniknąć redukcji cyfr znaczących przy odejmowaniu i, oczywiście, zadbać o wyjątkowy punkt x =O.
Iloczyn skalarny I,:~=l
Niestabilność
1
Łatwo sprawdzić, że
te
ia"x .4x 3 n - 3 n-1
związki generują ciąg
(n~
1).
(2.3.1)
o elementach (2.3.2)
(a) sumując składniki w naturalnym porządku; (b) sumując składniki od ostatniego do pierwszego; (c) sumując oddzielnie dodatnie iloczyny od największego do najmniejszego, a ujemne iloczyny od najmniejszego do największego i dodając te dwie sumy częściowe;
Istotnie, to wyrażenie jest zgodne z (2.3.1) dla n= O i n= 1, a . 'dla n ~ to i dla n == m + 1, gdyż
m,
·
(a) Wykonać działania na liczbach całkowitych i liczbach zmiennopozycyJ- . nych w pojedynczej i podwójnej precyzji. ·
{xn} obliczamy korzystając z definiCji (2.3.1), to pewne wyniki są
horrendalnie niedokładne. Oto kilkanaście z nich, obliczonych w arytmetyce zmiennopozycyjnej z 24-cyfrowymi mantysami:
K7. (cd.). Powtórzyć zad. K6, skreślając końcową cyfrę 9 w x 4 i końcową cyfrę 7 w X5. Jak ta mała zmiana danych wpływa na wyniki? KS. Obliczyć !(40545, 70226), gdzie f(x, y) = 9x 4 -y4 + 2y 2 • Obliczenia wykonać .... na dwa sposoby: . ·~·.·,,.„„
W każdym z przypadków (a)-(d) wykonać obliczenia w pojedynczej i podwójnej precyzji. Porównać osiem otrzymanych liczb z wartością 1.00657110-9 iloczynu skalarnego, poprawną do siedmiu cyfr znaczących. Wyjaśnić te wyniki.
+ y2
jeśli
Xm+i -
(d) postępując podobnie jak wyżej, ale ze zmianą porządku sumowania na· przeciwny.
niestabilne.
Zajmiemy się teraz innym tematem przewijającym się przez analizę nume-:: algorytmów na stabilne i takie, które tej własności nie · · mają. Innym ważnym pojęciem, omówionym nieco dalej, jest uwarunkowa- „ .. ~„. nie zadań numenJcznych. .· · ryczną: podziałem
X n+l --
X1 = 3,
obliczyć czterema różnymi sposobami:
(b) Po sprawdzeniu, że f (x, y) = (3x 2 - y 2 + 1)(3x2 jak w części (a), ale używając tego wyrażenia.
2.3. ALGORYTMY STABILNE I NIESTABILNE. UWARUNKOWANIE
2. ARYTMETYKA KOMPUTEROWA
X14 =
Startując
0.91437 35,
... , Y15
(wartość fałszywa, błąd względny 108 ).
x15 = 3.657493
Y2
Algorytm jest więc oczywiście niestabilny. Wynika to stąd, że gdy obliczamy Xn+i. to błąd elementu Xn jest mnożony przez 13/3, czyli np. błąd wartości x1 może przenieść się na X15 z mnożnikiem (13/3) 14 . Ponieważ błąd bezwzględny wartości x 1 jest rzędu 10-8 , a (13/3) 14 ~ 109 , więc tylko ta część błędu elementu x15, za którą jest odpowiedzialne x1, może wynosić około 10. Do tego dochodzą błędy popełniane przy obliczaniu x2, x3, ... , które też przenoszą się na x15 z mnożnikiem (13/3)k dla odpowiednich k. Inny sposób wyjaśnienia, dlaczego wyniki są tak złe, wynika z faktu, że w (2.3.1) mamy równanie różnicowe o ogólnym rozwiązaniu. Xn = A ( ł
r+
B · 4n,
rując błędami względnymi.
= 4.00000 6,
x10 =
1.04857 6106,
x20
= 1.0995121012.
W tym przypadku poprawne wartości są na tyle duże, że „zagłuszają" błędy. Błędy bezwzględne są bez wątpienia duże (jak i przedtem), ale są pomijalne
= 0.7182817,
Yn =
fo
Całkowanie
niestabilności numerycznej wiąże się
1
xnex dx
przez
części
Yn+l = e - (n+ l)Yn· Stąd
(2.3.3)
(n:> O).
zastosowane do Yn+l daje
i z oczywistej równości Yo= e-1 wynika, że Y1
f(x
z obliczaniem całek
1
związek
rekurencyjny
(2.3.4)
= e-yo = e-(e-1) = 1.
= 1.422453,
Y15
= 39711.43.
Pojęcie uwarunkowania wiąże się, z grubsza mówiąc, z wrażliwością rozwią zania zadania na małe zmiany danych początkowych. Zadanie jest źle uwarunkowane, jeśli małe zmiany tych danych wywołują duże zmiany wyników. ·Dla pewnych typów zadań można zdefiniować wskaźnik uwarunkowania. Jeśli jest on duży, to wiemy, że zadanie jest źle uwarunkowane. Przykłady moż na znaleźć dalej, tu ograniczymy się do elementarnych uwag. Ilustrują one bardzo ważny fakt: wskaźnik uwarunkowania determinuje w znacznej mierze przebieg rozwiązywania danego zadania niezależnie od użytej w tym celu metody. Krótko mówiąc, jeśli jest on duży, to spodziewajmy się kłopotów! Niech naszym zadaniem będzie po prostu obliczenie wartości funkcji f w punkcie x. Stawiamy następujące pytanie: jak małe zaburzenie wartości x wpływa na f(x)? Aby na to odpowiedzieć, korzystamy z twierdzenia o wartości średniej, z którego wynika, że
względnie.
Inny przykład
Yu
Uwarunkowanie
może zdominować całe rozwiązanie.
To, czy algorytm jest czy nie jest •numerycznie stabilny, ustalamy opeTak więc duże bezwzględnie błędy wyników można zaakceptować, jeśli i wyniki są duże. Niech w ostatnim przykładzie war- .. tościami początkowymi będą x 0 = 1 i x1 = 4. Chociaż błędy przenoszą si<{:.:<:''·· i rosną jak przedtem, to szukanym rozwiązaniem jest teraz Xn = 4n i wyniki . obliczeń mają siedem cyfr znaczących. Oto trzy z nich:
od wartości Y1 = 1 i stosując wzór (2.3.4), obliczamy y2, y3, podobnie jak w przypadku (2.3.1). Daje tom.in. wyniki
Dwa ostatnie na pewno nie są poprawne. Rzeczywiście, wobec (2.3.3) jest Yl > Y2 > ... > O i limn-+oo Yn = O (dla O < x < 1 wyrażenie xn maleje do O). Dlatego z (2.3.4) wynika, że limn-•oo(n + l)Yn = .e. W tym przykładzie błąd wielkości Y2 wynoszący 8 pewnych jednostek jest mnożony przez 3, gdy obliczamy y3. Ten błąd 38 jest mnożony przez 4, gdy obliczamy y4. Wynikający stąd błąd 128 jest mnożony przez 5, gdy obliczamy y5 itd. Dlatego przy obliczaniu Y10 błąd może być rzędu !,10!8 ~ 2 · 106 8. Dla Y20 analogiczna wielkość wynosi już 10 188. W stosowanej arytmetyce jest 8 ~ 2- 23 , więc 1018 8 :::::! 10 10 . Jak widać, błędy kompletnie zniekształcają poprawne wartości Yn zbieżne do O tak jak liczby 1/(n + 1).
gdzie stałe A i B są określone przez wartości początkowe xo i x1 (teorię . równań różnicowych liniowych naszkicowano w podrozdz. 1.3). Wprawdzie chcemy znaleźć rozwiązanie szczególne (2.3.2), dla którego A= 1 i B =O, ale nie możemy uniknąć „zarażenia" go przez niechciany składnik 4n i to on
x1
57
+ h) -
f(x) = f'(Ę,)h
:::::!
hf'(x).
Jeśli zatem lf'(x)I nie jest zbyt duże, to wpływ na f(x) zaburzenia argumentu x jest bezwględnie mały. Zwykle jednak w takim zadaniu istotny jest błąd względny. Dodając do x wielkość h, mamy zaburzenie względne . argumentu równe h/x. To zaburzenie zmienia f(x) na f(x + h) i wielkość yvzględna zaburzenia wartości funkcji jest równa
il
f(x · I
+ h) f(x)
f(x) :::::!
hf'(x) [xf'(x)] f(x) = f(x)
(h) ;; ·
58
2. ARYTMETYKA KOMPUTEROWA
Dlatego
2.3. ALGORYTMY STABILNE I NIESTABILNE. UWARUNKOWANIE
wskaźnikiem
bezwzględna
uwarunkowania w dyskutowanym zadaniu jest wartość ilorazu xf'(x)/ f(x).
Rozwiązanie.
h PRZYKŁAD
2.3.l. Jaki jest
Rozwiązanie. Jeśli
f(x)
wskaźnik
= arcsinx,
uwarunkowania dla funkcji arc sin?
x(A) = llAll · llA- 1 11-
Rozważmy teraz zadanie wyznaczenia zera (pierwiastka) funkcji f; metody służące do tego są opisane w rozdz. 3. Niech f i g będą dwiema funkcjami klasy 0 2 w otoczeniu pierwiastka r funkcji f. Zakładamy, żer jest pierwiastkiem pojedynczym, czyli że f'(r) i- O. ~·,. Stawiamy pytanie: jeśli zaburzamy funkcję f, zmieniając ją na F = f +cg, · to jaki jest pierwiastek funkcji F? Niech będzie on równy r + h; znajdziemy przybliżone wyrażenie dla h. Zaburzenie h jest takie, że F(r + h) =O, czyli ...
Jeśli rozwiązanie ~ównania Ax = b jest niezbyt czułe na małe zmiany macie-
g E 0
,
1
w
więc możemy użyć wzoru Taylora dla F:
f(r) + hf'(r) + !h
2
J"(O +
teii
2 11
c[g(r) + hg'(r) + !h g (11)] =O.
Skreślając składnild z h 2 i uwzględniając, że f(r) =O, otrzymujemy
h:=::;;-c f'(r)
rzy A i prawej strony b, to mówimy, że macierz A jest dobrze uwarunkowana. mamy, gdy wskaźnik x(A)jest niezbyt duży. W przeciwnym razie A jest źle uwarunkowana i obliczone ro~wiązanie X równania Ax = b ;.. ·tr~eba traktować z dużą dozą sceptycyzmu. · . M.acjerz Hilberta n-tego stopnia, Hn, o elęmentach hij = 1/(i + j - 1) dla 1 ~ i ~ n i 1 ~ j ~ n, był.a przez lata przediniOtem intensywnych badań. -Ich historię opisują Hestenes i Todd [199l, r
f(r + h) + cg(r + h) =O.
f,
:.~
g(r) :=::;;-cg(r)_ + cg'(r) f'(r)
ani
PRZYKŁAD 2.3.2. Aby zilustrować powyższy wniosek, ny przykład podany przez Wilkinsona. Niech będzie
rozważmy
klasycz- : ~: ·: · ·
.
:-·.
=
IT (x -
k) = (x - l)(x - 2) ... (x - 20),
g(x) = x 20 •
..
2
fn .[:tajxi j=O
O
f(x)] dx. .
,.
.
Pr~yrówrianie do O pochodnych cząstkowych tego wyrażenia względem ai ·. . daJe. układ ;równań normalnych . ·' : · ··
k=l
Pierwiastkami wielomianu f są oczywiście liczby naturalne 1, 2, ... , 20. Jak· wpływa na pierwiastek r = 20 .zaburzenie funkcji f składnikiem cg (czyli1 , • zmiana współczynnika przy x 20 z 1 na 1 + c)? ·
. 1
20
f(x)
g(20) 20 20 ~ 9 - - - c = - - - c ~ -10 c. ~ !'(20) 19! ~
Jeszcze innym typem zadania; w którym występuje' wskaźnik uwarunkowania, jest rozwiązywanie układów równań liniowych Ax = b, szczegółowo .opisane w podrozdz. 4.4. Ściślej, w tym zadaniu jest istot~y wskaźnik uwa' runkowania macierzy A, oznaczany symbolem ,u(A) i określonyjako iloczyn · · ' ~~n;n m.aci~rzy A i jej odwrotności: ·
Dla x bliskich 1 jest arc sin x ::::;; 7f /2 i wskaźnik uwarunkowania równy tam w przybliżeniu 2x/(m/1 - x 2 ) jest bardzo duży. Wobec tego dla x ::::;; 1" małe błędy względne wartości x prowadzą do dużych błędów względnych ~ dla arc sin x. • ·
Ponieważ
odpowiedź:
Tak więc zaburzenie f(x) o cxwmoże Z!lburzy~ pierwiastek 20 nawet o 109 c. · ptąd wyn~l~, że :.pierwiastki wielo?Iianu f s.~ skrajnie czułe na zakłócenia "współczynników~ (Zob. zad. K5). · . . . •
to
xf'(x) x f(x) = v'l - x 2 arcsinx ·
2
Oto
59
·n "'
• · .1
Lai·1 xi+idx = )=O .
..... . ,,
O
1
1
O.
xif(x)dx
(O~ i~ n).
60
2. ARYTMETYKA KOMPUTEROWA
Ponieważ całka
xi+i+l
po lewej stronie jest równa
11 =
i+j+l o
1 i+j+l'
więc macierzą tego układu jest Hn+l· Funkcje xi tworzą bardzo źle uwa- · runkowaną bazę przestrzeni wielomianów stopnia niewiększego od n. Dobrą bazą jest natomiast układ wielomianów ortogonalnych; zob. podrozdz. 6.8. ZADANIA
= ax12 + (3x13
jest taka, że f{0.1) = 6.06 10 -13 i f{0.9) = 0.03577. Wyznaczyć a .i (3 oraz zbadać czułość tych parametrów na małe zmiany wartości funkcji f w podanych punktach. 2. Rozwiązać analitycznie poniższe równanie różnicowe z danymi warunkami początkowymi:
Xo = 1,
X1
= 0.9,
Xn+l
1
00
=
Spełniają
(e"'ttn)- 1dt
(n~
O, x > 0).
one równanie
nEn+l (x) = e-"' - xEn(x). Czy znając funkcję E1(x), można zastosować to równanie do obliczania E 2(x), E3(x), ... z dobrą dokładnością? Wskazówka: Sprawdzić, czy En(x) jest funkcją rosnącą czy malejącą wskaźnika n.
Kl. Punkcje Bessela Yn
spełniają taki sam związek rekurencyjny jak funkcje Jn na końcu podrozdz. 1.3. Wartości początkowe są tu jednak inne. 1 jest
określone
=
Stosując związek
rekurencyjny, obliczyć Y2(1), Y3(1), ... , Y20(l). wyników. Wskazówka: Liczby IYn(l)I powinny szybko rosnąć. Może uda się nierówność typu IY,,(l)/Yn-1(1)1 >n? K2. Niech będzie
(c) e"', (d) x- 1 e"', (e) arccosx. 6. Rozważyć· przykład podany w tekście, gdzie Yn+i = e - (n+ l)Yn· Ile cyfr dziesiętnych należy zachowywać obliczając y 1, y 2, ... , y 20 , żeby ostatnia z tych wielkości miała pięć cyfr znaczących? 7. Związek rekurencyjny Xn = 2xn-1 + Xn-2 ma ogólne rozwiązanie postaci Xn = AAn
Spróbować
ocenić wiarygodność
udowodnić
Wykazać, że xo =log 1.2 i Xn = n- 1 - 5Xn-l dla n~ 1. Stosując ten wzór rekurencyjny, obliczyć wielkości x 0 , x 1, ... , x 10 i oszacować dokładność ostatniej z nich. K3. (cd.). Znaleźć sposób dokładniejszego obliczenia x 20 , stosując na przykład do funkcji podcałkowej wzór Taylora. Po wyznaczeniu x 20 z pełną dokładnością maszynową zastosować rekurencję wstecz, tj. obliczyć kolejno xrn, x 1s, ... , xo. Czy otrzymane Xo jest poprawne? A inne Xn? Czy związek rekurencyjny stosowany wstecz ma inne własności, a jeśli tak, to dlaczego? K4. Funkcje Bessela Jo(x), J 1 (x), ... można obliczać, stosując wzór rekurencyjny z podrozdz. 1.3 dla malejących n. Ściślej, dla pewnego N przyjmujemy próbne wartości JN+i(x) =O i JN(x) = 1, a następnie stosujemy wzór
4. Wskaźnik.uwarunkowania dla funkcji f(x) = x" .nie zależy od x. Jaki on jest? 5. Jakie są wskaźniki uwarunkowania dla poniższych funkcji? Gdzie są one duże?
(a) logx,
2.3
= -0.2xn + 0.99Xn-1·
Nie obliczając rozwiązania {xn} ze wzoru rekurencyjnego, przewidzieć, czy te obliczenia będą stabilne., 3. Galki wykładnicze En określamy wzorem En(x)
ZADANIA KOMPUTEROWE
Y0(1) = 0.0882569642, Yi (1) = -0. 78121 28213.
1. Funkcja
f(x)
8. W zadaniu 1.2.Kl zdefiniowano ciąg Fibonacciego {xn} i podano, jak się wyrażają jego elementy dla c = (1- ./5)/2. Czy w tym przypadku związek rekurencyjny określający ciąg daje stabilną metodę obliczania wielkości Xn?
Dla x
2.3
61
2.3. ALGORYTMY STABILNE I NIESTABILNE. UWARUNKOWANIE
(b) sinx,
+ Bµn.
Obliczywszy >. i µ sprawdzić, czy ten związek daje dobrą metodę obliczania Xn dla dowolnych wartości początkowych x 0 i x 1 •
(n= N, N - 1, ... , 1). Obliczone wartości skalujemy, czyli zmieniamy Jn na AJn z takim A, aby
była
spełniona tożsamość oo
JJ(x)
+2L
J~(x) = 1.
n=l
Oczywiście N musi być na tyle duże, żeby założenie JN+i(x) =O było usprawiedliwione. Ten sposób obliczeń zaproponował J. C. P. Miller. Zastosować go dla N = 51 i x = 1.
62
2. ARYTMETYKA KOMPUTEROWA
KS. ( „Perfidny" wielomian, Wilkinson (1984]) (a) Korzystając z dostępnego programu obliczania zer funkcji, znaleźć wszystkie pierwiastki wielomianu P(x)
wielomian jest identyczny z wielomianem Wilkinsona
20
p(x) =
IT (x k=I
k)
.
:.·:
z przykł. 2.2.3. Sprawdzić otrzymane zera Zk dla 1 ~ k ~ 20, obliczając · ~ '. IP(zk)I, lp(zk)I i lzk - kl. Skomentować wyniki. . 20 (b) Powtórzyć osiem razy część (a), zmieniając współczynnik przy x w P~a 1 + e::, gdzie e:: = 10- 2 k i k = 8, 7, ... , 1. Czy otrzymane wyniki są zgodne, z informacjami z przykł. 2.2.3? · (c) Wilkinson wykazał, że zmiana współczynnika -210 przy x 19 w więlo-- o-.),• mianie P na -210 - 2- 23 powoduje zmianę zer 16 i 17 na parę liczb>,. ' zespolonych 16. 73 ... ± 2.812 ... i. Potwierdzić tę informację. .:. Nota historyczna. We wczesnych latach czterdziestych XX w. Jim wn.:.·~;.:·: kinson jako młody matematyk pracował z Alanem Turingiem i innymi nad, nowym komputerem o nazwie Pilot AGE w National Physical Laboratory'· w Wielkiej Brytanii. Testując ten komputer, napisał program obliczająĆy ·· '. pierwiastki tego wielomianu metodą Newtona. Nie przewidując trudności, zaczął obliczenia dla x 0 = 21 i spodziewał się natychmiastowej zbieżności·. 1 · do największego pierwiastka 20. Gdy te oczekiwania nie spełniły się, z.badał • zadanie głębiej. Ten test numeryczny wraz z wieloma innymi doprowadził go·." do stworzenia zupełnie nowej dziedziny analizy numerycznej - analizy po-:~'' zornych zaburzeń. Dodatkowe szczegóły o dziele Wilkinsona można znaleźć· „ ·; w pracy Foxa [1987]. ·.-.~~ :"..
. ·-:~··:. >
.~„;.i,•' .~
.'
.·.·
''
Wstęp
.. Rozdział 3 jest poświęcony lokalizacji pierwiastków r.~wnań (czyli zer funk•. cji). Jest to 'zadanie często potrzebne. Tu zajmujemy się rozwiązywaniem " równań nieliniowych lub układów takich równań, tj. obliczaniem takiego rze. czywis.tego x, że f(x) =O albo takiego X= (xi, x2, „ '., x11:), że F(X) =O. ·. Wtych.równaniach jedna lub'.więcej. ;;miennych występuje nieliniowo. Od. fuienne zadanie a mianowicie roz·wiązywanie układów liniowych postaci • ·!1' ~. -.Ax = b, rozwazamy·w rozdz. 4. · · · ·· . · · · Ogólne zadanie, sformułow:an.e w najprostszym przypadku funkcji rze-· czywistej .jednej zmiennej, jest . na8tępujące: ~la danej funkcji f: JR -ł JR ·~~a.leźć 'wartości x, dl8. którychj(x)'dO. Rozważymy kilka standardowych p~~cedur słu$ących do ~ozwiązania tego zadania. · '· · Przykłady równań nieliniowych można znaleźć w wielu zastosowaniach. teorii dyfrakcji światła są potrzebne pierwiastki równania y
Wyznaczaniem zer funkcji zajmowano się przez setki lat; w tym czasie znaleziono wiele metod związanych z tym zadaniem. Zaczynamy ten rozdział od trzech prostych ale użytecznych metod: metody bisekcji, metody Newtona i metody siecznych. Następnie zajmiemy się ogólną teorią metod punktu stałego i metod kontynuacji. Rozważymy też specjalne metody służące do obliczania pierwiastków wielomianów.
3.1. Metoda bisekcji (połowienia przedziału) . ;
." Jeśli f jest funkcją ciągłą w przedziale [a, b] i jeśli f(a)f(b) < O, a więc zmienia znak w [a, b], to ta funkcja musi mieć zero w (a, b). Jest to .kon-
J
sekwencja własności Darboux funkcji ciągłych (tw. 1.1.1). (a) f(a)
''
2•IO~1
X
: f(a)f(c)
f(c)
x.
f(x)
1.03
RYS. 3.1. Wykres wielomianu p 4 (x)
(b) f(a)
Używając komputera do znalezienia przybliżonego zera funkcji, może my otrzymać wiele takich wartości, jeśli nawet dokładne zero jest jedyne. Doskonale to ilustruje przykład wielomianu
b X
a
p4(x) := x 4 - 4x 3 + 6x2 ~4x+1. f(c)f(b)
przypomnimy sobie, że ten wielomian rozkłada się na czynniki tak, że p4(x) = (x - 1) 4 , to stanie się oczywiste, że jedynym (poczwórnym) zerem jest liczba 1. Przypuśćmy, że znamy tylko pierwotną postać tego wielomianu i że tego zera nie zauważyliśmy. Użyjmy komputera, w którym precyzja E: arytmetyki wynosi 2-24 (zob. podrozdz. 2.1) i obliczmy wartości wielomianu od 0.975 co 0.001 do 1.035. Te wartości zmieniają wiele razy znak, co zdaje się wskazywać na istnienie wielu zer. Rysunek 3.1 pokazuje wykres łamanej łączącej otrzymane punkty. Zamiast gładldej krzywej otrzymano zygzakowatą linię. Każdą wartość z przedziału [0.981, 1.026] można uznać za przybliżenie prawdziwego rozwiązania. Powody tkwią w przyjętym sposobie obliczania wartości wielomianu, ograniczonej dokładności użytej arytmetyki i wynikających stąd błędach zaokrągleń. Powyższy przykład, podobny do tego, jaki podali Conte i de Boor [1980, s. 73), ilustruje jedno z niebezpieczeństw, jakie grożą nam, gdy obliczamy pierwiastki równań.
"·--
f(b)
f(x)
RYS. 3.2. (a) Metoda bisekcji wybiera lewy podprzedział. (b) Metoda bisekcji
wybiera prawy podprzedział .. „
Oto jak metoda bisekcji (znana też jako metoda połowienia przedzia-
łu) korzysta z tej własności. Jeśli f(a)f(b) < O, to obliczamy c = !(a+ b)
i •sprawdzamy, czy f(a)f(c) < O. Jeśli tak, to f ma zero w [a, c]; wtedy pod b podstawiamy c. W przeciwnym razie jest f(c)f(b) O > f (b). Dzięki tym rysunkom rozumiemy, dlaczego metod.a 'bisekcji daje jedno zero funkcji, a nie wszystkie zawarte w [a, b]. Oczyw1ś1ćie, jeśli f(a)f(c) = O, to f(c) = O i zero zostało znalezione. Błędy za-
66
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
3.1. METODA BISEKCJI (POŁOWIENIA .PRZEDZIAŁU)
okrągleń powodują jednak, że otrzymanie zerowej wartości f(c) jest mało prawdopodobne. Dlatego równość f(c) =O nie powinna stanowić kryterium zakończenia obliczeń. 'frzeba dopuścić pewną rozsądną tolerancję, godząc się np. na to, żeby było lf(c)I < 10- 5 , gdy precyzja arytmetyki wynosi c=2-24. .
';"'···
PRZYKŁAD 3.1.1. Za pomocą metody bisekcji znaleźć pierwiastek równa- " nia ex = sin x najbliższy O. Rozwiązanie. Wykreśliwszy z grubsza funkcje ex i sinx, zauważamy. łatwo, że to równanie nie ma pierwiastków dodatnich i że pierwiastek ujemny najbliższy O znajduje się w przedziale [-4, -3]. Stosując metodę bisekcji na komputerze z c = 2- 24 i zaczynając od tego przedziału, otrzymujemy wyniki
podane k 1 2 3 4
usunąć ryzyko niekończących się obliczeń. Prócz tego obliczenia są przerywane, gdy błąd jest dostatecznie. mały lub gdy f (c) jest dostatecznie blislde O. Służą do tego parametry 8 i c. Można łatwo podać przykła dy, w których jedno z dwóch ostatnich kryteriów jest spełnione, _a drugie. nie. Ii;;totnie, r?ZVl_'ażmy rysunki 3.3(a) i 3.3(b). Na pierwszym z nich wykres ful!kcji jest płaski w pobliżu jef·zera, co świadczy o tym, że to , iero jest wielokrotne .. Metoda bisekcji .ż" t~µdem wyznacza takie zero z du·~ żą precyzją. Funkcja z ·rys. 3.3(b) jest·ocz;Ywiście nieciągła, ale sprawdzenie, że· tak jest, może być w praktyce trudne. Są to oczywiście przypad. ki patologiczne, ale uwzględnienie trzech kryteriów daje algorytm pewny w działaniu. ·
niżej:
c
f(c)
-3.5000 -3.2500 -3.1250 -3.1875
-0.321 -0.69410-l 0.60510-l 0.62510-l
......................... 13 14 15 16
67
-3.1829 -3.1830 -3.1831 -3.1831
0.12210-3 0.19310-4 -0.12410-4 0.34510-5
(a)
f
,'.
''··
X
••
f
Algorytm bisekcji Pewne fragmenty programu bisekcji podanego mzeJ wymagają dodatko-. wych wyjaśnień. Po pierwsze, punkt środkowy c obliczamy za pomocą . instrukcji c +- a+ (b - a)/2, a nie instrukcji c +- (a+ b)/2, gdyż w obliczeniach numerycznych lepiej jest obliczać nową wielkość, dodając do poprzedniej małą poprawkę. Forsythe, Malcolm i Moler [1977, s. 162] pq- .: dają przykład, w którym punkt środkowy obliczany jako (a+ b)/2 na kom.::~·"· puterze ze skończoną precyzją wychodzi poza przedział [a, b]! Po drugie;·· zmianę znaku wartości funkcji jest lepiej badać za pomocą nierówności . sgn(w) i- sgn(u) zamiast wu < O, gdyż w tym drugim przypadku wyko- · nujemy zbędne mnożenie i możemy spowodować niedomiar lub nad.miar. Po trzecie, e jest oszacowaniem błędu zgodnym z następnym twierdz&- '. ,· niem. Zauważmy wreszcie, że program uwzględnia trzy kryteria zakończ~~ .; nia obliczeń. Po pierwsze, M jest maksymalną liczbą kroków dopuszczo- · · ną przez użytkownika. Takie zabezpieczenie trzeba zawsze uwzględnić, aby:t~ .; .
(b) „.
f
·:
.
X
;
•'
RYS. 3.3. (a) Kryterium jb -
!L.
al < ó zawó.dzi: {b) Kryterium lf(c)I
68
3.
ROZWIĄZYWANIE RÓWNA~
Program bisekcji
można napisać
_ 3.1. METODA BISEKCJI (POŁOWIENIA PRZEDZIAŁU)
NIELINIOWYCH
69
Jeśli obliczenia przerwano po znalezieniu przedziału [an, bnJ, to pierwiastek równania na pewno w nim się znajduje. Najlepszym przybliżeniem : tego pierwiastka nie jest ani an, ani bn, ale środek przedziału:
tak:
input a, b, M, ó, c
u <--- f (a) f(b) e<-b-a output a, b, u, v if sgn(u) = sgn(v) then stop for k = 1 to M do e <--- e/2 c<-a+e w<--- f(c) output k, c, w, e if lei < ó or lwl < c then stop if sgn(w) "I sgn(u) then b <--- c V <-W else a <-C U<-W end if end do V<---
Analiza
Cn :=(an+ bn)/2,
~·błąd tego przybliżenia szacujemy tak: Ir -
Następujące
bisekcji, oznaczmy kolejne otrzymywane bolami [ao, bo], [ai, bi] itd. Oczywiście
~(bn - an)
tę dyskusję:
3.1.2. Jeśli przedziały [ao, bo], [ai, bi], ... są tworzone metobisekcji, to granice limn-+oo an i limn-+oo bn istnieją, są identyczne i równe zeru funkcji f. Jeśli r := limn-+oo Cn, gdzie Cn := !(an+ bn), to Ir -
enl < r(bo -
ao).
PRZYKŁAD 3.1.3. Niech metoda bisekcji startuje od przedziału [50, 63]. e najwyżej kroków trzeba wykonać, aby otrzymać pierwiastek z błędem zględnym 10-i 2 7 przedziały
sym-
< ai < a2 < ... < bo, bo> bi> b2 > ... > ao, =
twierdzenie podsumowuje
dą
ao
bn+l - an+i
an)= r(bo - ao).
TWIERDZENIE
błędu
Badając metodę
enl < ~(bn -
Rozwiązanie. Żądanie dotyczące błędu względnego oznacza, że ma być
ierr~y, żer ;;i:
(ri ;;i: O).
Ciąg {an} jako niemalejący i ograniczony z góry jest zbieżny. Podobnie, jest zbieżny ciąg {bn}· Z ostatniej równości wyriika, że
50, wystarczy
więc zapewnić spełnienie
warunku
Ir - enl/50 < 10-12 • a mocy tw. 3.1.2 wystarczy, T(n+l) X
bn - an= rn(bo - ao).
(13/50)
żeby było
< 10-12 •
•
tak dla n ;;i: 37.
Stąd
lim bn -
n-+oo
Niech
lim an =
n-+oo
lim rn(b~ ~ ao) = o.
n-+oo
będzie
, l' .. Znaleźć pierwiastek dodatni równania
r := lim an = lim bn. n-+oo
ifc:. '1:,•'
n-+ oo
Przejście do granicy w nierówności O ;;i: f(an)f(bn) daje O ;;i: [f(r)]2, skąd
f(r) =O.
.
~:.'±2
J•;J;'';
z
-
4xsinx + (2sinx) 2 =O
dokładnością
do dwóch cyfr
znaczących. Użyć
kalkulatora.
70 2.
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
Rozważyć metodę
bisekcji
startującą
od
przedziału
3.2. METODA NEWTONA
[1.5, 3.5].
(a) Jaka jest długość przedziału w n-tym kroku metody? (b) Jaka· może być maksymalna odległość między pierwiastkiem r i tego przedziału?
3. Czy możemy obliczyć pierwiastek z błędem bezwzględnym mniejszym od 10-·6 , •• .':· używając metody bisekcji (z precyzją arytmetyki 2- 24 ), jeśli startujemy. od;". · przedziału [128, 129]? ·
is. Wykazać, że c obliczóne metodą bisekcji jest tym punktem, w którym odcinek · · · · łączący·punkty (a,sgnf(a)) i (b,sgnf(b)) przecina oś x.
Udowodnić nierówność
ZADANIA KOMPUTEROWE
, log(bo - ao) - logc _ 2 1 n"" log2
dla takiej liczby n kroków metody bisekcji, 5.
z poprzednich zadań, znaleźć wzór wiążący an, bn i Cn z dn. w którym ao < a 1 < a2 < ... lub wykazać, że to jest niemoż
11. środkiem
71
że
Kl. Napisać i sprawdzić podprogram lub procedurę implementującą algorytm bi_. sekcji: Do sprawdzenia użyć następujących funkcji i·przedziałów: . ··•{a); x- 1 - tg x w [O, 71-/2] (c) 2-:1" +e"'. +,;.zcos :i; .,... 6. w [1, 3] • ·~ · 1 .„ (b) x-: -2x w [O, 1] (d) x- tgx w [1,2] K2. Znaleźć pierwiastek równania ·· . : . ·
Ir - cni .;;; c.
Udowodnić nierówność
n>
log(bo - ao) - logc - logao -1 log2
dla takiej liczby n kroków metody bisekcji, że pierwiastek będzie wyznaczony: z błędem względnym .;;; c. Założyć, że a 0 > O. 6. (cd.). Co zmienia się w poprzednim zadaniu, jeśli a 0 < O < bo? 7. Ile kroków w metodzie bisekcji startującej od przedziału [2, 3] trzeba wyk~nać,' · aby obliczyć pierwiastek z błędem bezwzględnym < 10-6 ? Odpowiedzieć na'. to samo pytanie dla błędu względnego. Co będzie w obu przypadkach, jeŚU ' precyzja arytmetyki wynosi 2- 24 ? • -.·.. 8. Niech będzie Cn := ~(an+ bn), r := limn__, 00 Cn i en := r -en, gdzie przedziały . ·:· ,: [an, bn] (n > O) są przedziałami tworzonymi metodą bisekcji stosowaną. do . .. funkcji ciągłej f.
(a) Wykazać, że en .;;; 2-n(b1 - ai). (b) Czy jest prawdą, że leol > le1I >. · .? (c) Wykazać, że len - Cn+1I = 2-n- 2 (bo - ao). (d) Wykazać, że am..;;; bn dla dowolnych mi n. . : (e) Wykazać, żer jest jedynym elementem zbioru [an, bn]· 0 (f) Wykazać, że dla każdego n jest [an, bn] :J [an+I• bn+Il· 9. Sprawdzić, które z poniższych zdań mogą być fałszywe, gdy metodę bisekcji stosujemy do funkcji ciągłej: (a) Ir - 2- 1(an + bn)J.;;; 2-n(bo - ao) (n> O) (b) Ir - 2- 1(an+I + bn+1)J.;;; Ir - 2- 1(an + bn)I (n> O)
n:=
3.1
... ~
(c) Ir - Cni< Ir - Cn-11 (n> 1) 10. W metodzie bisekcji przedział [an_ 1 , bn-l] jest dzielony na połowy i jed.Ji.~.~ '.;'. z nich staje się następnym przedziałem [an, bn]· Przyjąć, że dn = O, jeśli jest'to '"' lewa połowa i dn = 1 w przeciwnym razie. Wyrazić pierwiastek obliczony meto- ·: ·. dą bisekcji przez liczby di, d 2 ,... Wskazówka: Rozważyć najpierw przypadek, gdy [ao, b0 ] = [O, 1] i pomyśleć o reprezentacji binarnej pierwiastka.
.· x 8 - '36x 7 + 546x6
-
4536x5 + 22449x4
-
67284x3 +
+118124x 2 -109584x + 40320 =O w przedziale [5.5, 6.5]. Powtórzyć obliczenia po 'zmianie współczynnika 36 na. 36.001. K3. Znaleźć liczby a i b (a < b) takie, że teoretycznie równoważne czynności c ~(a.+ b)/2 i c ~a+ 0.5(b- a) dają na użytym komputerze różne wyniki. Wybra.ć przykład, w którym nie W)'Stąpi ani niedomiar, ani naqmiar. K4. Napisać i sprawdzić rekursywną po~t~ algorytmu bisekcji: ·· · · ·
..
•·
.„.
·.
3.2~ . Metoda Newtona !,
.
•
„.
:
•
••
Metoda .New~ona jest ogólną procedurą, którą można zastosować w wie. .:ró~nych s.Yt.uacj ach.: Jej szc'zególny .w~iarit odnoszący. się do lokalizacji 'er funkcji rzeczywistych jest też n~zywany- metodą Newtona-Raphsona. Na gól metoda Newtona jest szybsza od metod bisekcji i siecznych, gdyż jej bieżność jest kwadratowa, a nie liniowa bądź nadliniowa. Gdy tylko przybliżenia tworzone metodą Newtona są dostatecznie bliskie pierwiastka, staje i:lię ona tak szybko zbieżna, że zaledwie kilka dodatkowych przybliżeń daje 'uż maksymalną dokładność. Niestety, metoda nie zawsze jest zbieżna. Dlatego często używa się jej w kombinacji - już numerycznie globalnie zbieżnej z, jakąś wolniejszą metodą. • . . . ·~ Jak .w. podrdzdz. :;J.1 m'.3:my funkcję f, której° zera należy wyznaczyć .:. erycŻtli.e. Nie.eh r będzi'3 takim·Żereni/a·x:]egó•przybliżeniem. Jeśli f" Iiieje, ta'·na mocy twierdzenia Taylora · 'i'"
'1
! •
.
·~
••
•
·Ó':::::: f(r)
='t(:: +·h) =
•
f(x)
•
+ hj':("x)+ O(h2 ),
72
=
(czyli jeśli x jest bliskie r), to jest rozsądne pominięcie składnika O(h 2 ) i rozwiązanie otrzymanego równania względem h. Daje to h = -f(x)/J'(x). Jeśli x jest przybliżeniem r, to x - f (x) / f' (x) powinno być lepszym przybliżeniem tego· zera. Dlatego z definicji ·metoda Newtona zaczyna od przybliżenia x 0 zera r i polega na rekurencyjnym stosowaniu wzoru
gdzie h
r - x.
Jeśli
·f(xn) Xn+l .- Xn - f'(xn)
h jest
małe
(n ;;;;i. O).
Zaprogramowano obliczanie funkcji fi f'(x) =ex - (1 +x 2 )- 1 . Jako punkt . początkowy wybrano xo = -7. Wyniki programu są następujące:
k
o 1 2 3 4 5 6 7 8
(3.2.1)
Algorytm Newtona Oto prosty algorytm tości początkowej
stosujący
M kroków metody Newtona dla danej war-
x:
o.ooo o.ooo
!.
. Zanim zbadamy teoretyczne podstawy metody Newtona, zajmijmy się jej ' · aficzną interpretacją. Wiemy już, że ta metoda opiera się na linearyzacji nkcji, tj. zastąpieniu f funkcją liniową. Jest nią suma dwóch początkowych składników we wzorze Taylora dla f. Jeśli zatem
f(x) = f(c)
+ J'(c)(x -
c)
1 + -,J"(c)(x 2.
to linearyzacja (w punkcie c) daje
l(x)
< c: then stop
Program komputerowy oparty na którymś z tych algorytmów musi procedury służące do obliczania f(x) i f'(x).
Te wyniki pokazują szybką zbieżność ciągu przybliżeń: w każdym kroku liczba poprawnych cyfr wyniku z grubsza się podwaja. Dalej wyjaśni się, ::, dlaczego tak jest. •
input x,M Y +- f(x) output O, x, y for k = 1 to M do X+- X - yjf 1(X) Y +- f(x) output k,x,y end do
input xo,M,ó,c: v +- f(xo) output O, xo, v if lvl < c: then stop for k = 1 to M do x1 +- Xo - v/ f'(xo); V+- f(x1) output k, xi, v if lx1 - xol < ó or lvl Xo +- X1 end do
73
3.2. METODA NEWTONA
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
3.2.1. Metodą Newtona, używając arytmetyki podwójnej prezero ujemne funkcji f(x) =ex -1.5 - arctgx.
Rozwiązanie. Podany wyżej algorytm zastosowano na komputerze, w którym liczby w pojedynczej precyzji mają mantysy 48-bitowe; podwójna precyzja to mantysy 96-bitowe, co odpowiada ok. 28 cyfrom dziesiętnym.
c) 2 + ... ,
funkcję liniową
= f(c) + J'(c)(x - c).
rzybliża ona dobrze f w pobliżu c. Istotnie, l(c) = f(c) i l'(c) = f'(c), zyli w c funkcja liniowa ma tę samą wartość i to samo nachylenie jak f. 'ak więc w metodzie Newtona konstruujemy styczną do wykresu funkcji f punkcie bliskim r i znajdujemy punkt, w którym ta styczna przecina oś x; ob. rys. 3.4. Pamiętając o tej graficznej interpretacji, możemy łatwo wyobrazić sobie aką funkcję i taki punkt początkowy, dla których metoda Newtona zawodzi. 11 8.ki przypadek pokazano na rys. 3.5. Kształt wykresu funkcji jest tu taki, dla pewnych punktów początkowych ciąg { xn} jest rozbieżny. Wobec go1 każde twierdzenie o zbieżności metody Newtona musi zakładać, że xo st dostatecznie bliskie zera funkcji albo że jej wykres ma pewien określony ztałt.
'
74
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
75
3.2. METODA NEWTONA
f(x)
• gdzie en jest liczbą zawartą między Xn i T. Stąd
Styczna: I (x) = f (x„) +f'(x„)(x - x11 )
.~.· Podstawiając to dó (3.2.2), otrzymujemy·:. •ł
••
•
.
(3.2.3)
X
RYS. 3.4. Interpretacja geometryczna metody Newtona ~---------~=--.-----f(x)
.
•/
Xz
X
"
·· . Przypuśćmy, że określone tu C jest równe w przybliżeniu 1 i że ; ąn ~ 10-4 • Wtedy z (3.2.3) wynika, że en+l ~ 10-8 i en+2 ~ 10- 16 • Jest .. zl:ląkakują:ce, że zaledwie parę dodatkowych iteracji wystarczy, aby otrzymać .· Yvięcej niż dokładność maszynową! .. . : . .' '"· Równość (3.2.3) mówi nam, że en+l jest z grubsza równe pewnej stałej pomnożonej prze~, e~. Taka korz;v~tna sytuacja jest nazywana zbieżnością 'kw~dratoiną. Dzięki niej właśnie w wielu zastosowaniach każda iteracja me.tody Newtona podwaja liczbę cyfr dokładnych. przybliżenia. · . . . ,:: M~ż~my już zbadać ,zbieżp.ość metody.. Wobec '(3.2.3) pomysł dowodu :Jest.pro~ty~ jeśli e,; jest małe,~ cz~~k·!f"(en)/f'(xn) nie'jest 'zbyt duży, ~t~ en~i jest mniejsze .co do modułu od en: Określmy wielkość c( ó) zależną od ó wzorem · ·
f(x)------
RYS. 3.5.
Przykład rozbieżności
max IJ"(x)I . . (ó) .:....: ~lx_-_r_l,,;;_ó _ _~ · c ·. -:-· 2 min lf'(x)I
metody Newtona
. (o> o).
. . lx:-rl,,;;ó
Analiza
błędu
Zbadajmy teraz błędy metody Newtona. Przez błąd rozumiemy tu wielkoś~ ·:. ·. · . -~·-
Załóżmy, że funkcja f 11 jest ciągła i że r jest zerem pojedynczym funkcji J, tj. f(r) =O=/= f'(r). Z definicji iteracji w metodzie Newtona wynika, że
en+l
„. ybieramy ó na tyle małe, aby mi.anownik·po•prawej stronie był dodatni, •: dodatkowo, jeśli to konieczne, zmniejszamy ó tak, żeby było óc( ó) < 1. 'o Jest możliwe, gdyż jeśli odąży do ~o·c(ó).d.ąży do !lf"(r)/J'(r)I, czyli k~o) ·,:(ązi:y: ~p O: _Dstaliwszy ~, przyj_~u~emy p. := ó~(ó). Przypuśćmy, że 'M:zynamy ·1teracJe Newtona od punktu xo ·t~iego, ze lxo - rl ,,;;; ó. Stąd I·,,;; 8 i !eo - rl,,;;; ó. Dlatego„wobec defihicji ~~elko~ci c(ó), mamy
o;
f (xn)
= Xn+l - T = Xn - f'(xn) - T =
.
f(xn) enf'(xn) - f(xn) =en - f'(xn) = f'(xn)
(3.2.2) .
..
'
·(równość (3.2.3) daje
h:
Na mocy wzoru Taylora O= f(r) = f(xn - en)= f(x;,,) - enf'(xn)
Ten wzór, poprzedzony redukcją zakresu liczby R, jest stosowany w pod, 'programach pierwiastkowania. (Wzór jest bardzo stary; przypisuje się go 'Heronowi, greckiemu inżynierowi i architektowi, który żył między 100. roldem p.n.e. i 100. rokiem n.e.). Jeśli np. chcemy obliczyć .JI7 i zaczynamy od punktu xo = 4, to kolejne przybliżenia są następujące:
Ogólniej,
Ponieważ
daje to
O :!( p
< 1, więc limn->eio pn = O, czyli limn-+oo en = O. Ostatecznie
następujące
twierdzenie: 1
3.2.2. Niech r będzie zerem pojedynczym funkcji f i niech jej druga pochodna f" będzie ci<1:9ła. Wtedy istnieje takie otoczenie punktur i taka stała C, że jeśli metoda Newtona startuje z tego otoczenia, to kolejne punkty są coraz bliższe r i takie, że TWIERDZENIE
(n;> O).
W pewnych przypadkach metoda Newtona jest punktu początkowego:
zbieżna
dla dowolnego
3.2.3. Jeśli f należy do C 2 (JR.), jest rosnąca, wypukła i ma zero, to jest ono jedyne, a metoda Newtona daje ciąg do niego zbieżny dla dowolnego punktu początkowego.
TWIERDZENIE
Xl
= 4.12,
x2
= 4.12310 6,
X3
= 4.12310 56256177,
X4
= 4.12310 5625617660 5498214098 56
(podano tu tylko poprawne początkowe cyfry). Wartość x4 ma 28 cyfr Jak widać, liczba cyfr znaczących podwaja się w każdej iteracji.
dokładnych.
•
· .i Funkcje uwikłane
' \ Qiekawym zastosowaniem metody Newtona jest obliczanie wartości funkcji uwikłanych, czyli określonych w sposób niejawny. Z twierdzenia 1.2.2 dotyczącego taldch funkcji wiadomo, że przy dość słabych założeniach równanie 'G(x, y) =O określa y jako funkcję zmiennej x. Dla ustalonego x można je 1 rozwiązać względem y, stosując metodę Newtona. Dla sensownego punktu 'p'oczątkowego Yo określamy yi, y2, ... wzorem Yk+l := Yk - G(x, Yk)
Dowód. Przypomnijmy, że funkcja f jest wypukła, jeśli f"(x) > O dla każdego x. Ponieważ f jest rosnąca, więc f' > O w JR.. Wobec (3.2.3) jest en+l > O, czyli Xn > r dla n ;> 1. Z tej samej własności funkcji f wynika, że f(xn) > f(r) =O. Dlatego, na mocy (3.2.2), en+l
Znaleźć
efektywny sposób obliczania pierwiastków
Rozwiązanie. Niech będzie R > O i x = ..JR. Wobec tego x jest pierwiastkiem równania x 2 - R =O. Gdy stosujemy metodę Newtona (3.2.1) do funkcji f(x) = x 2 - R, wzór iteracyjny można wyrazić w postaci
Xn+i :=
~ ( Xn + ~) .
77
3.2. METODA NEWTONA
fJG /
oy (x, Yk)
·
r,Tej metody można użyć do zbudowania tablicy funkcji y(x).
Jeśli
tablica za-
,,~iera pozycję (xn, Yn) i chcemy znaleźć bliską pozycję (xn+l, Yn+1), to w me-
todzie Newtona zaczynamy od punktu (xn+l,Yn)· Ponieważ G(xn,Yn) =O, ę. Xn+l jest bliskie Xn, więc możemy się spodziewać, że G(xn+l, Yn) jest małe f"ze parę kroków metody Newtona wystarczy, aby poprawić Yn i osiągnąć dokładną równość G(xn+1, Yn+l) =O. PRZYKŁAD 3.2.5. Zbudować tablicę wartości y, które dla danych x speł .,iiiają równanie G(x, y) =O, gdzie G(x, y) = 3x 7 +2y5 -x 3 +y3 -3. Począwszy dd x =O, zwiększać x o 0.1 aż do x = 10.
Rozwiązanie.
Niech będzie x = O i y = 1 (wtedy G(x, y) = O). Przycztery kroki metody Newtona wystarczą, aby uzyskać pełną .dokładność komputerową. W algorytmie M jest liczbą kroków dla zmien/nej x, a N jest liczbą iteracji w metodzie Newtona. Program oparty na algo-
•\puszczamy,
że
78
rytmie będzie wymagał dwóch podprogramów lub procedur - do obliczania G(x,y) i 8G/8y (w przykładzie ta pochodna nie zależy od x). Tu mamy
G(x, y) = 3x7 +2y 5
aa 8y (x, y) = Algorytm jest
-
x3
+ y3 -
3,
,0=/1 (x1
następujący:
.··.
funkcji
uwikłanej
obliczone za
pomocą
tego
G(x,y)
o
o.o
1 2
0.1 0.2
1.000000 1.000077 1.000612
20
2.0
-2.81063 9
80
8.0
-19.92365
0.5610-9
99 100
9.9 10.0
-26.85618 -27.23685
0.1210-7 -0.1510-8
Układy równań
a12
(3.2.4)
. + h1+ h28 x2 8 x1
[
·
-0.8210-10
l
•
.~:;: ~
o.oo o.oo 0.8910-15
'·1
•.
.''· [h1.J /:i2·
·· ·
.
.
~~ -::-J-1. [fi(x1,x2)]. ·· „
· · .'
.; .• :
.•
"
· .. .
h(x1, x2)
. .
, T~~ więc· metoda Newtona dla układ~ dwóch równań nieliniowych wyraża ··".i • . ' • . . • : ' . „„ ... ., 'l.~i,ę .wzorem . .
:\ \
,.
nieliniowych
.· .
"
.
·
. .
.
'.
"~:>[~lk'H)l
.. "· .
Metoda Newtona dla układów równań nieliniowych opiera się na pomyśle . zastosowanym już do pojedynczych równań. Tak więc równania linearyzu- ·· ·: ·. jemy, a następnie rozwiązujemy; w razie potrzeby robimy to wielokrotnie.· · Dla ilustracji rozważmy dwa równania z dwiema niewiadomymi: .
, ··
" . ·
•.
(k+l) .. . ~2 .
.
[f ((k)
:.· .. [h(k)l 1 „
. • . _J
= -
h(k)
• . :,
.2 .
. „
(k))] '
. 1 X1 ,x2 j ( (k) (k)) 2 X1 'X2· .
'
którego metod~ eliminacji Gaussa opi. 'macierzą'jest jakobian, rozwiązujemy . . saną w rozdz .. 4. Może to być kłopotliwe, gdy macierz J jest prawie osobliwa. Więksże'ukfady równań rozwiązuje się w taki sam sposób. Układ rów.
'
: „
fi(x1, x2', ... , ~n) =;='O ~ażamY.j·prościej
fi(x1,x2) =O, h(x1, x2) =O.
X2
·a12
: 'ilozwiązanie układu· (3.2.4) istnieje, jeśli ma~ierz J jest nieosobliwa. Wtedy jest ono równe
y
X
·
' . ,:, . , f=:=
end do output i,x,y,G(x,y) end do wartości
8f1
, Wszystkie pochodne cząstkowe tu występujące są obliczanJ w. (xi, x2). Układ (3.2.4) składa się z dwóch równań liniowych względem h1 i h2. Jego ., macier~fl: jest jakobian
y <-- y - G(x, y)/ ~~ (x, y)
podano niektóre algorytmu:
8fi X1
, + hi,x2 + h2) ~ fi(x1,.x2) + h1+ h28 8
. . · .. „ · h (x1 + hi,x2 + h2) ~ h(x1,x2)
o=
X <--O; y <-- 1; h <-- 0.1; M <-- 100; N <-- 4 output O,x,y,G(x,y) for i = 1 to M do X<--x+h for j = 1 to N do
i
Zakładając, że (xi, x2) jest przybliżonym rozwiązaniem tego układu, . .. ·. óbliczmy poprawki h1 i h2 takie, żeby (x1 + h 1, x 2 + h 2) było lepszym przy:: .. bliżeniem. Używając tylko liniowych członów rozwinięcia Taylora funkcji dwóch zmiennych (tw. 1.1.10), otrzymujemy równości
10y4 + 3y2.
Niżej
79
3.2. METODA NEWTONA
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
~:.
:
. ··...· ·.
. .F(X).=
...
..
o, ·
jako
80
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH 3.2. METODA NEWTONA
gdzie X= (x1, x2, ... , Xn) i F = (!1, f2, (3.2.4) jest
O= F(X
+ H)
~
F(X)
... , fn).
Odpowiednikiem równania
+ F'(X)H,
macierzą kwadratową
Wektor poprawek H
(3.2.5)
a F'(X) jest jakobianem J(X), tj. następującą stopnia n:
wyraża się
wzorem
wynikającym
W praktyce jednak wyznaczamy H, stosując do (3.2.5) metodę eliminacji Gaussa, bo obliczanie odwrotności macierzy jest bardziej kosztowne. Ostatecznie, metodę Newtona dla układu n równań nieliniowych z n niewiadomymi opisuje wzór x
== x + H,
(3.~.6)
gdzie H(k) jest rozwiązaniem układu
3.2.6. Zaczynając od punktu (1, 1, 1), wykonać sześć iteracji Newtona, aby znaleźć pierwiastek układu nieliniowego
xy = z 2 xyz
+ y2 =
Rozwiązanie.
Niech
Obliczenie pochodnych
F' (X) =
Używając kalkulatora, wykonać cztery iteracje metody Newtona dla wielomianu p(x) := 4x 3 - 2x2 + 3 i punktu początkowego x 0 = -1.
Udowodnić, że jeśli metodę Newtona stosujemy do funkcji f o drugiej pochodnej ciągłej i jeśli f(r) = O =/= f'(r), to granica limn-+oo en+le;:;- 2 istnieje i jest równa J"(r)/[2f'(r)). Jak można z tego skorzystać w programie do sprawdzania, czy zbieżność jest kwadratowa?
4. Zinterpretować wzór iteracyjny Xn+i := 2xn -x;,y jako opis metody Newtona dla pewnej funkcji.
będzie
5. Aby obliczać odwrotności liczb bez dzielenia, możemy rozwiązać równanie x = 1/R znajdując zero funkcji f(x) = x- 1 - R. Napisać krótki algorytm obliczania 1/ R metodą Newtona zastosowaną do f. Nie używać w nim dzielenia ani potęgowania. Jakie są odpowiednie punkty początkowe, gdy R jest dodatnie?
cząstkowych
daje jakobian
[x2x3x~ 2x1 x1x3x~ 2x2 ex1
•
2. Metodę Newtona stosujemy do funkcji f(x) = x 2 - q, gdzie q >O. Wykazać, że jeśli przybliżenie Xn ma k cyfr dokładnych po kropce dziesiętnej, to Xn+i ma co najmniej 2k - 1 takich cyfr, jeśli tylko q > 0.006 i k;;;. 1.
Rozwiązywanie układów równań nieliniowych jest często zadaniem niebanalnym. Standardowym podręcznikiem tej dziedziny jest książka Ortegi i Rheinboldta [1970]; zob. też Rheinboldt [1974], Ostrowski [1966], Byrne i Hall [1973], Schnabel i Frank [1984], Eaves, Gould, Peitgen i Todd [1983] oraz Allgower, Glasshoff i Peitgen [1981]. Zbieżność metody Newtona dla układów równań badają Goldstein [1967] oraz Ortega i Rheinboldt [1970].
Dla punktu początkowego X(O) = (1, 1, 1) stosujemy metodę Newtona opisaną wzorami (3.2.6) i (3.2.7). Daje to następujące wyniki:
= (hi, h2, ... , hn),
gdzie H
81
-ex2
6. Zaprojektować wzór iteracyjny Newtona służący do obliczania ifR dla R >O. Zbadać graficznie wybraną funkcję f, aby sprawdzić, dla jakich punktów początkowych metoda będzie zbieżna.
7.
Zaprojektować algorytm Newtona obliczania pierwiastka piątego stopnia z dowolnej liczby dodatniej.
82
3.2. METODA NEWTONA
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
=
:18. Metoda Halleya rozwiązywania równania f(x) =O korzysta ze wzoru iteracyj-''
8. Jeśli metodę Newtona stosujemy do f(x) = x 2 - 1 i x 0 1010 , to ile krokÓ~· trzeba wykonać, aby otrzymać pierwiastek z dokładnością do 10-s7 (Zadanie.„ ... rozwiązać analityc.znie, a nie numerycznie). 9. Niech r będzie podwójnym zerem funkcji f, czyli niech f(r) = f'(r) = O =f. f"(r). Wykazać, że jeśli funkcja f" jest ciągła, to w metodzie Newtona mamy . „ Jes . t l"m10wa . ). en+ 1 ~ 21 en ( z b.1eznosc . ; : ., :. .
.
.
-. li
10. Znaleźć najmniejszą liczbę dodatnią, która użyta jako punkt początkowy w·r.rie-: · todzie Newtona dla funkcji f(x) := arctgx daje ciąg rozbieżny przybliżeń.
12. Funkcja J(x) = x 2 +1 ma zera na płaszczyźnie zespolonej w punktach x =±i. Czy istnieje punkt początkowy rzeczywisty, dla którego metoda Newtona byJaby zbieżna do któregokolwiek z tych zer? Jakie punkty początkowe zespolone byłyby dobre? Znaleźć
=
... ··'gdzie· f n J(xn) itd. Wykaząć, że jest ~o metoda równoważna metodzie Newto1.1a·z~tci~ow~ej _do .funkcji.f fV'.17: . · . •:·. :..· . · · .
:: :t;;
11. Udowodnić, że dla każdego (rzeczywistego) punktu początkowego metoda Newtona jest rozbieżna, jeśli: (a) f(x) := x 2 + 1 (b) f(x) := 7x4 + 3x 2 + 7f
13.
xyz - x 2
+ y 2 = 2,
punkt początkowy (O, O, 1), jedna iteracja:: , (b) Układ ..
· · ·4· x 21
wzór iteracyjny
-
.x22. -_:_ O,
·punkt początko~ (O, 1), dwie iteracje. • (c) daje ciąg zbieżny liniowo do zera funkcji tego zera.
14.
f,
jeśli
punkt
początkowy leży
83
.
\.
Układ
blisko
Wykazać, że jeśli
r jest k-krotnym zerem funkcji f, to
metody Newtona
można utrzymać, wprowadzając następującą modyfikację:·
zbieżność kwadratową
punkt początkowy (1, 1), d~ie iteracje ..
ŻADANIA KOMPUTEROWE 3.2·
, J{l. Napisać krótki program ra'związywania ;ó~nania ~~ + 3x. = 5x2 +.7 .metodą : .. :· Newt.ona,_Wykon~ć dziesięćJcro).<~w,,zo/:z~~Jąe od.. xo ;== 5. ,; · . .:
15. (cd.). Jak, stosując metodę Newtona, można wykryć zero wielokrotne dzięl~i badaniu punktów (xn, f(xn))?
. K2. Napisać program rozwiązujący .równanie.„::i: ·~.tg X ~etódą Newtona. Znaleźć piei:wiastki bliskie punktów 4.5. ( 7: 1':. · · . . · · ·
16. Rozważyć wariant metody Newtona, wymagający obliczenia wartości pochodnej tylko w jednym punkcie:
„
. _ f(xn) Xn+I - Xn - f'(xo). Znaleźć
.
C i s takie, że en+I
17. (Metoda Stejfensena).
= C e:„
Rozważmy
wzór iteracyjny
K3. (cd.). Napisać i sprawdzić program, obliczania dziesięciu początkowych pier·wi?Stków równania x ~tg x. (To zadanie jes~ znacznie trudniejsze od poprzed. . niego) .. Nota. historyczna: Jeśli >11 1„>.2, •••• ęą:.;- 2 •= 1/10 (A;.ner. Math. Monthly, październik . 1986, s. 660).
K4. .•
Niech będzie f(x) := x- 2 tgx. Obliczając zera funkcji f' metodą Newtona, znaleźć najmniejszy dodatni punkt, w którym f osiąga minimum .
. ~5. Równanie 2x4 + 24x 3 + 6lx 2 - 16x · Wyznaczyć je metodą Newtona.
Wykazać, że wynikająca stąd metoda jest przy odpowiednich założeniach zbież- :. · . na kwadratowo.
.··
'>; Napisać
program dla metody Nevi,toną: w: aryt~etyG:~ zespolonej: " go dla podanych niżej funkcji i punktów poczii,~kowJ'.ch. ., „";i
Sprawdzić
84
85
3.3. METODA SIECZNYCH
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
:Inny pomysł polega na zastąpieniu w (3.3.1) pochodnej f'(x) ilorazem róż 'nicowym, na przykład takim:
(a) f (z) := z 2 + 1, z= 3 +i (b) f(z):=z+sinz-3, z=2-i (c) f(z) := z 4 +z2 + 2 + 3i, z= 1 KS. Wielomian p(x) := x 3 + 94x 2
powinien Newtona
więc być któregoś
- 389x + 294 ma zera: 1, 3 i -98. Punkt x 0 = 2 dobrym punktem początkowym do wyznaczenia metodą z mniejszych zer. Wykonać obliczenia i wyjaśnić, co one
'Ta
równość przybliżona,
metodę
dają.
K9. Zastosować metodę Newtona w dziedzinie zespolonej do funkcji f (z) := z4 -1 i do każdego punktu początkowego (0.lj, 0.lki) z koła lzl < 2 na płaszczyźnie zespolonej. Oznaczyć wspólnym kolorem te punkty siatki, które generują ciągi zbieżne do tego samego pierwiastka. Przedstawić wyniki w kolorze na ekranie monitora lub na wydruku.i KlO. Wykonać pięć iteracji metodą Newtona w dziedzinie zespolonej dla funkcji f(z) := 1 + z 2 +ez i punktu początkowego zo = -1+4i.
siecznych
opisaną
która wynika wprost z definicji pochodnej, daje wzorem
Xn - Xn-1 Xn+I := Xn - f (xn ) J(xn) - f (Xn-1) Ponieważ
wyraża się
Xn+l
przez Xn i Xn-
nie
I; ~
i
Jak
można się dowiedzieć, że są
to zera o najmniejszych
modułach
i
1, więc
1).
potrzebne
(3.3.2) są
dwa punkty
'~~czątkowe. Każde nowe Xn+I wymaga jednak obliczenia tylko jednej nowej 'wartości funkcji
f (w metodzie Steffensena trzeba
'·
znaleźć dwie).
f(x)
Kll. Znaleźć cztery zera funkcji z poprzedniego zadania o coraz większych modułach.
(n~
że
pominięto żadnego?
K12. Napisać program dla metody Steffensena (zob. zad. 17) i sprawdzić go dla
równania z zad. K2. K13. Używając metody Newtona, znaleźć rozwiązania poniższych układów nielinio-
wych. (a) 4y 2 + 4y + 52x = 19, 169x2 + 3y2 + lllx - lOy = 10 (b) x + e-"' + y3 = O, x 2 + 2xy - y2 + tg x = O (c) 1 + x 2 - y2 + e"' cos y = O, 2xy + e"' siny = O; punkt początkowy: xo = -1, Yo = 4. Czy to zadanie wiąże się z zad. KlO i czy obliczenia w obu przypadkach przebiegają podobnie? .:
r
I
I
X
RYS. 3.6. Interpretacja geometryczna metody siecznych
3.3. Metoda siecznych Przypomnijmy,
Interpretacja graficzna metody siecznych różni się od tejże interpretaNewtona tylko tym, że styczną do krzywej zastępujemy teraz eczną;· zob. rys. 3.6.
1
JJ, metody
że metodę iteracyjną
Newtona
określa
wzór
PRZYKŁAD
f(xn) Xn+I := Xn - f'(xn).
3.3.1.
Zastosować metodę
siecznych do funkcji
f(x) = x 3 - sinhx + 4x 2 + 6x + 9. Jedną
z jej wad jest to, że wymaga ona obliczania wartości pochodnej funkktórej zera szukamy. Aby usunąć tę wadę, proponowano wiele metod. Jedną z nich jest metoda Steffensena (zad. 3.2.17), opisana wzorem
cji
f,
·Xn+i .- Xn - f (xn
[f(xn)]2
+ f(xn)) -
f(xn).
Rozwiązanie.
Szkic wykresu funkcji sugeruje istnienie zera między 7 i 8, tęc te liczby uznajemy za przybliżenia początkowe xo i x1. Obliczenia wy''. ane na komputerze z precyzją arytmetyki równą 2- 24 dają następujące
fa<- f(a); fb <- f(b) output O, a, fa output 1, b, fb for k = 2 to M do if lf al > lfbl then a <--> b; fa <--> fb
fb <-fa a<- a - fa* s fa<- f(a) output k, a, fa if lf al < e or lb - al < ó then stop
= f(r +en)= f(r) + enf'(r) +-~~~f"(r) + O(e~).
f(xn)/en = f'(r)
input a, b, M, ó, e
<-
(3.3.3)
Na:, mocy tw~erdzenia. Taylora
Algorytm siecznych
s
87
3.3. METODA SIECZNYCH
NIELINIOWYCH
Pbnieważ Xn - Xn-1
,;ii't}. ':
•
.
.
= en - en-1, więc
...
·
ten program przestawia końce a i b przedziału (co sygnalizuje symbol+-->), gdy wymaga tego utrzymanie nierówności lf(a)I ~ lf(b)I:~.. Dzięki temu, począwszy od drugiego kroku, moduły wartości funkcji w punk:~·. tach Xn nie rosną.
. · · J~st'.to równanie podobne do róv:i.nania (3:2;3). odpowiadającego meto·~ie Newto:r;,~. Aby ustalić charakter zbież~oę,?,i n;i:~tody sie.cznych, przyjmij.y, $e iachódżi następująca róV{ność·asyniptotyczp.a: · . . . '' „
, ·....·: ,,
metody siecznych. Program uwzględnia przestawianie przybliżeń. Niżej jednak dla uproszczenia tę czynność pomijamy. Z definicji (3.3.2) metody siecznych wynika dla en= Xn - r, że
Zbadamy teraz
(3.3.4)
błędy
'
• „' .
. •.
.len+1l""'Alenl°', . .
\
/.
en+l = Xn+l - T = [f (xn)Xn-1 - f (xn-1)xn]/[f (xn) - f(Xn-1)] - T = · = [f (xn)en-1 - f (Xn-1)en]/[f(xn) - f(Xn-1)]. . ~·.
'
>
~
.
·.
·~
••.
•
•
• :.
_::
.~ ·
f
~-.
~
•
.
~ •
(3.3.5)
: zie ,A jest stałą dodatnią. Ta równość; qefiniująca zbieżność rzędu a, ozna··'it.·.';. że„ iloraz. je~+1l/(Alenl°') dąży do l,'gdy n-> oo'; Mamy. więc .
.
(3.3.6)
88
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
W (3.3.4) wyrażamy wartości asymptotyczne wielkości nie z (3.3.5) i (3.3.6):
ien+il i len-11 zgod-
Alenl°'"' IOllen:IA-l/alenl 1/°'. Po
przekształceniu
daje to
równość
(3.3.7) Lewa strona tego związku jest niezerową stałą, a en -+ O, więc musi być 1 - a+ 1/a = O, czyli a = (1 + Vf,)/2 ~ 1.62 (wybieramy piernia:stek dodatni). Tak więc zbieżność metody siecznych jest nadliniowa, tj. lepsza od liniowej. Możemy teraz wyznaczyć A, gdyż prawa strona (3.3.7) jest równa 1. Ponieważ 1+1/a =a, więc
Dla tego A mamy
ostateczną równość dotyczącą
89
3.3. METODA SIECZNYCH
metody siecznych:
Ponieważ (1 + Vf,)/2 ~ 1.62 < 2, więc metoda siecznych jest zbieżna wolniej od metody Newtona, ale szybciej od metody bisekcji. Zauważmy jednak, że każdy krok metody siecznych wymaga obliczenia tylko jednej wartości funkcji, a w metodzie Newtona trzeba obliczyć dwie takie wartości, mianowicie f (x) i f' (x ). W obu metodach najbardziej kosztowne jest właśnie obliczanie wartości funkcji i w tym sensie para kroków metody siecznych jest porównywalna z jednym krokiem metody Newtona. Dla dwóch kroków pierwszej metody jest zaś
To jest znacznie lepszy wynik niż dla zbieżnej kwadratowo metody Newtona, gdyż (3+V5)/2 ~ 2.62. Oczywiście, dwa kroki metody siecznych wymagają więcej pracy na iterację. Trzy rozważone już metody (bisekcji, Newtona i siecznych) ilustrują ogólne zjawisko w analizie numerycznej: konflikt między szybkością i wiarygodnością. Szybkość jest bezpośrednio związana z kosztem obliczeń. Dla pewnych zadań, wymagających bardzo długich obliczeń (na przykład rozwiązywania numerycznego równań różniczkowych cząstkowych), o jakości programu decyduje szybkość jego działania. W oprogramowaniu, które ma być stosowane przez wielu różnych użytkowników, istotne są wiarygodność
i odporność. Algorytm albo podprogram jest odporny, jeśli radzi sobie z bardzo rozmaitymi sytuacjami numerycznymi bez interwencji użytkownika. W ciągu wielu lat czyniono herkulesowe wysiłki, aby stworzyć biblioteki programów ogólnego użytku, mających obie te cechy. Dwa dobre przykłady takich bibliotek to zbiory IMSL [1995] i NAG [1995]. W obliczeniach naukowych zamiast własnych programów lepiej stosować znane pakiety programów; wyjątkiem są szczególne zastosowania. Najlepsze programy obliczające pierwiastki (zera) są raczej złożone, gdyż muszą zapewniać zbieżność zarówno globalną, jak i lokalnie szybką. Jak już wspomniano, te dwa cele niekiedy wzajemnie się kłócą. . Istniejących metod i ich odmian jest tyle, że niestety nie można uwzględnić ich wszystkich w tej książce. Pominięto tu na przykład interesujące algorytmy, które opracowali Brent [1973], Dekker [1969] i Le [1985]. Łączą one zalety metod bisekcji i siecznych i wymagają tylko założenia f(a)f(b) ,,;;; O o funkcji f, której zero mamy znaleźć. Brent łącząc wspo.mniane metody, stosuje odwrotną interpolację kwadratową, aby otrzymać procedurę bardziej odporną. Algorytm Le jest kombinacją metody bisekcji z metodami rzędu drugiego lub trzeciego, w których pochodne wyraża się w przybliżeniu przez wartości samej funkcji. Czytelnik zainteresowany tymi metodami może znaleźć ich pełny opis w pracach cytowanych wyżej. Ponieważ odpowiednie programy są długie i skomplikowane, warto ściągnąć je przez Internet. Nasza ogólna rada - aby używać, jeśli tylko to możliwe, znahych i sprawdzonych programów - pozostaje tu w mocy. Zwykle takie programy są dostępne bezpłatnie i były starannie zaprojektowane i sprawdzone. Możemy np. połączyć się ze stroną o adresie1) http: I I gams. ni st. gov („Guide to Available Mathematical Software" czyli „Przewodnik po oprogramowaniu matematycznym"). Programy są uporządkowane tematycznie; przechodząc w dół od F. Rozwiązywanie równań nieliniowych przez Fl. Pojedyncze równania do Flb. Równania niewielomianowe, znajdujemy wersję algorytmu Brenta w języku C, służącą do szukania minimum lub zera funkcji jednej zmiennej w danym przedziale.
:·.·L ,,., Wykazać, że wzór określający metodę siecznych można napisać w postaci
Wyjaśnić, 1)
dlaczego w praktyce ten wzór jest gorszy od (3.3.2).
Podany adres internetowy dotyczy
(przyp. red. WNT).
oryginału książki,
tzn. wydania w
jęz.
ang.
90
3.4. PUNKTY
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
2. Wykazać dla metody siecznych, że jeśli Xn -+ q, gdy n-+ oo, i jeśli f'(ą) :f. o,, to q jest zerem funkcji f. 3. Jak zamiana przybliżeń w programie metody siecznych wpływa na analizę błędu? Przedstawić szczegóły zmodyfikowanej analizy. 4. Korzystając ze wzoru Taylora dla f(x + h) i f(x + k), otrzymać następujące przybliżenie dla f'(x):
f'( ) ~ k 2 j(x + h) - h 2 f(x + k) + (h 2 X (k-h)kh
-
" ·
k 2 )f(x)
5. Relacja Xn ,...., Yn asymptotycznej równości elementów dwóch ciągów oznacza, że limn->oo Xn/Yn = 1. Udowodnić, że jeśli Xn rv Yni Un rv Vn i ci' o, 'to: (a) CXn rv cyn, (b) x; rv y';,., (c) XnUn rv YnVn, (d) jeśli dodatkowo Yn rv Un, to .." Xn rv Vn, (e) Yn rv Xn· . . • 6. (Wielomian bardzo wysokiego stopnia). Renta jest funduszem powstającym'" z wpłat (niekoniecznie identycznych) wnoszonych w regularnych okresach: W pewnej formie renty fundusz jest oprocentowany ze stałą stopą procen-· tową r, liczoną na okres. Odsetki są doliczane na końcu każdego okresu. Niech wpłaty wynoszą a1, az, . . . Niech Vi oznacza łączną wysokość renty obliczoną tuż po dokonaniu wpłaty ai. Stąd Vi = a 1 i .1.,.·.
Vi = Vi-1(1 + r) + ai (i= 2, 3, „
.).
Czynnik 1 + r odpowiada doliczeniu odsetek do Vr-1· Wykazać, że zachodzi równość Vn = 2:~=l aixn-i, gdzie x = 1 + r; zob. też zad. K6. 7. Dwóch ludzi stosuje różne strategie oszczędzania przez 44 lata. Pierwszy · ·• oszczędza 1000 $rocznie przez sześć lat, a przez pozostałych 38 lat do zgroma-„, dzonej sumy są tylko doliczane odsetki. Drugi nie wpłaca nic w ciągu początk~· wych sześciu lat, a potem oszczędza 1000 $ rocznie. Po 44 latach oszczędności: są takie same. Założyć, że stopa procentowa w obu przypadkach jest taka sa- · ma; odsetki są doliczane co roku. Jakie jest oprocentowanie i jaka suma jest·· zgromadzona na każdym rachunku?
o obliczenie zera dodatniego z pełną dokładnością maszynową. (b) Połączyć dwie z napisanych procedur, tak aby uzyskać mieszaną metodę o dobrych cechach globalnej .i lokalnej. {K4·i Wiązukać opracowany już· program, rozwiązujący równanie f(x) = O bez użycia' pochodnych, i sprawdzić jego działanie dla poniższych funkcji i przedzialó"'.: . „ . · · (a) x 20 - 1 w (O, 10], (b) tgx - 30x w [1,1.57], (c) x 2 - (1 - x) 10 w (O, 1], (d) x 3 +10- 4 w [-0.75,0.5], (e) x 19 +10- 4 w [-0.75,0.5], (f) x 5 w[-1,10], 2 (g) x 9 w(-1,10], (h) xe-:-x w [-1,4] (zob. Nerinckx i Haegemans (1976]). K5. Zaprogramować i sprawdzić metodę siecznych na przykładzie 3.3.l. Powtórzyć obl!<'.zenia, wybierając 3 i 10 jako punkty poc~ątkowe. Wyjaśnić, .co się wtedY: dzieje. · !K6. (zob ..zad. 6): Wpłacono 60 miesięcznych rat::W latach od pierwszego.do pią ' 1· tego te raty wyniosły odpowiednio: 200 $, 275 $, 312 $, 380 $ i 400 $. Tuż po ostatniej wpłacie na koncie znalazło się 24738 $. Jalde było miesięczne oprocentowanie wpłat? Użyć metody: siecznych do znalezienia zera wielomianu, ·któ~·'wynika z tych założeń. ,
)3.4.' Punkty
.(i: .
stałe
metody iteracyjne
etody Newtona i Steffensena są.przykładami procedur, w których dla da1~.go rówi:ania f(x) =O ciąg punktów jest o~liczany według wzoru :)·. (n~
O),
(3.4.1)
... „.
dzie F wyraża· się przez f. Algorytn;i określony takim wzorem nazywamy metodą "iteracy}ną 2 ). W metodzie N~~to~a . „
. „
. F(x)
3.3
Kl. Napisać podprogram realizujący metodę siecznych dla funkcji f i danych dwóch punktów początkowych. Sprawdzić go dla poniższych funkcji. .,,,. (a) sin(x/2) - 1, (b) ex - tgx, (c) x 3 - 12x2 + 3x + 1. K2. Zaprogramować i sprawdzić ulepszoną metodę siecznych wynikającą z użycia w metodzie Newtona przybliżonej wartości f'(x) podanej w zad. 4 zamiast wartości dokładnej. Są teraz potrzebne trzy punkty początkowe. Dwa z "nicµ mogą być dowolne, a trzeci można wyznaczyć metodą siecznych.. · K3. Napisać procedury dla metod bisekcji, Newtona i siecznych, działających dla' dowolnej funkcji F. W każdym przypadku wywołując procedurę należy pÓd~·;,, maksymalną liczbę kroków M akceptowaną przez użytkownika i wymaganą_ dokładność (t: i ó, jak w programie z tego podrozdziału). Należy użyć pojedynczej precyzji.
ożn~ by z~cytować wiele innych przyk~adów metod iteracyjnych. Niżej ,ę.s~ki~owano ich ogólną teorię. hl
· · · · .·,;. · · · · ; : •
.
'·
•. ·
i h; 2 >Ściślej, metodą itei:acyjną stacjonarną (tj ..taką, że ,F nie zależy od n), jednopunkto-
"1Ą (nowy punkt xn+i zależy bezpośrednio tylko' od jednego poprzedriiego punktu; nie jest
· wprzypadku metody siecznych). Aut~rzy używają·terminu iteracja funkcyjna (przyp.
''!Lm.). „
' :'!'.
.
.
,; '\ :. " • ..,.
~
; \ l ~.,
'l.'.
, -· „
.
....
'.
92
3.4. PUNKTY
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
Wzór (3.4.1) może generować ciągi rozbieżne. Nas interesują głównie przypadki, w których granica limn-+oo Xn istnieje i jest skończona. Załóżmy, że tak jest:
wiąże się
Własność
z F?
Jeśli
F jest
ciągła,
93
I METODY ITERACYJNE
(3.4.2) wraz ze wzorem (3.4.1) daje
związek
„.
'.~orzystając z niego wielokrotnie,
lim Xn = s. n-+oo Jak s
Dowód.
STAŁE
dostajemy
(3.4.3)
to
F(s) = F (lim xn) = n--+oo lim F(xn) = n-+ limoo Xn+I = s. n-too Dlatego F(s) =si s nazywamy punktem stałym funkcji F. Wiele problemów matematycznych można sprowadzić do poszukiwania punktu stałego pewnej funkcji. Bardzo ciekawych zastosowań dostarczają równania różniczkowe, teoria ·optymalizacji i inne dziedziny. Zwykle funkcja F, której punktów stałych szukamy, odwzorowuje jedną przestrzeń wektorową w inną. Zbadamy najprostszy przypadek, w którym F odwzorowuje pewien zbiór domknięty C c llł w siebie. Twierdzenie, które udowodnimy, dotyczy odwzorowań zwężających czyli kontrakcji. Tak nazywamy odwzorowanie (albo funkcję) F, jeśli istnieje liczba.>. E [O, 1) taka, że
IF(x) - F(y)I
< .Xlx -
YI
Xn = xo + (x1 - xo) + (x2 - x1) + ... + (xn - Xn-1), więc ciąg
wtedy i tylko wtedy, gdy jest
zbieżny
szereg
Xn-1).
n=l
udowodnić
'Aby
jego
zbieżność,
wystarczy
zrobić
to samo dla szeregu
oo
LIXn - Xn-11· n=l o zaś jest łatwe, gdyż możemy użyć kryterium porównawczego i nierównoci otrzymanej wcześniej: oo
oo
2::.:lxn - Xn-11
y F(b)
zbieżny
oo
L (xn -
(3.4.2)
dla dowolnych punktów x i y z dziedziny F. Funkcja zwężająca F przekształca więc odległość między x i y na mniejszą odległość między F(x) i F(y); zob. rys. 3.7.
{xn} jest
&il
n=l
F(x)
1
.xn-llx1 - xol = l - .Xlx1 - xol·
n=l
iąg
{xn} jest zatem zbieżny; niech s będzie jego granicą. Jak już zauwabno, F(s) = s. (Zauważmy, że funkcja zwężająca F jest ciągła). Jeśli x i y punktami stałymi, to
F(a)
a
RYS. 3.7.
Przykład
b
odwzorowania
X
zwężającego
lx -yl = IF(x) - F(y)I <>.lx - YI, onieważ .>.
< 1, więc lx - YI = O, czyli istnieje tylko jeden punkt stały. na koniec, że otrzymane s należy do C, gdyż sjest granicą ciągu ~~zQ •
uważmy
3.4.1. Niech C będzie podzbiorem domkniętym osi rzeczywistej. Jeśli F jest odwzorowaniem zwężającym zbioru C w siebie, to F ma jedyny punkt stały. Ponadto ten punkt stały jest granicą każde go ciągu otrzymanego_.~a pomocą wzoru (3.4.1) z punktu początkowego Xo EC. .. TWIERDZENIE
... Twierdzenie 3.4.1 jest prawdziwe dla odwzorowania dowolnej przestrzew siebie3 ).
~llietrycznej zupełnej 1.:'. 3 ) Udowodnił
to Stefan Banach (przyp. tłum.).
94
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
3.4. PUNKTY
PRZYKŁAD 3.4.2. Wykazać, że ciąg {xn} z tw. 3.4.1 spełnia warunek Cauchy'ego zbieżności (przypomnijmy, że jest on następujący: dla dowolnego c >O istnieje N całkowite takie, że lxn - xml < c, jeśli tylko n, m;;;;. N).
Na mocy tw. 3.4.1 określony wyżej ciąg jest zbieżny do jedynego punktu funkcji F, którym oczywiście jest liczba 2. W twierdzeniu zbiorem O może być dowolnie szeroki przedział. •
stałego
PRZYKŁAD
3.4.4.
F(x) = 4
+i sin2x
ma punkt
'······~··-"·"""'""':11.11 ..•
+-
en~-d9
Dla każdego c > O istnieje N takie, że lxn -xm I < c, gdy n, m ? N. Możemy bowiem wybrać N tak duże, żeby było >.Nlx 1 - xol(l - >.)- 1 < c. •.•
xo
·· · ··"
95
I METODY ITERACYJNE
4 + ł sin 2x output k,x
·x
że
lxn - Xml
rami
STAŁE
stały
i
Rozwiązanie.
Stosując
obliczyć
tw. 3.4.1,
udowodnić, że
funkcja
naliza
błęd~
badajmy teraz błędy metody iteracyjnej: Zakładamy, że F ma punkt sta;ś i że ciąg {xn} jest określony wzorem i~+l :=· F(xn)· Niech będzie
1
•
en:= Xn -
Z twierdzenia o
.:
~
. .
„
S.
·,eśli pochodna F' istnieje i jest ciągła, .to na mocy twierdzenia o wartości • ednie{ . . . " .·: · · · 1 ' •
1 IF(x) - F(y)I = - lsin2x - sin2yl = ~lcos2(llx -yl <~lx -yl 3 3 3 dla pewnego <; między x i y. To pokazuje, że F jest zwężająca, przy czym .. >. = j. Na mocy tw. 3.4.1 F ma punkt stały. Program obliczenia tego punktu stałego może opierać się na następującym algorytmie, który poleca wykonać. ·'. 20 iteracji dla punktu początkowego 4: · ·· ·
s:
zie Cn leży między Xn i Warunek IF'(x)I <: 1 spełniony dla każdego x pewJ:!.ia, ie moduły błędów maleją.„..·Jeśli en .jest }Ilałe, to (n leży blisko s . „ .• . . ... \. . • ' . • F,:'((n) ::::d F'(s). Można oczekiwać szypkiefzbieżrib"ści; gdy F'(s) jest bliie O.. Idealną sytuację mamy .dla, F'(;) = O. Wtedy trzeba uwzględnić datkowe składniki szeregu Taylora. Aby rozważyć jednocześnie wszystkie qzliwe przypadld, załóżmy, że dla pewnej liczby naturalnej q jest '~
.. F·~~>(s.) .. =O . . (1 < k. < ą);
'{·:....
'
.F(q~ ( s) 7(0 .. •. „
:
.,·
•.
.1'lL.:..:._1•
96
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
Stąd
i ze wzoru Taylora w punkcie s wynika,
3.4. PUNKTY
że
Udowodnić, że jeśli
4.
to F musi przedziału
równości
Wobec tego z
limn->
STAŁE
I METODY ITERACYJNE
F jest odwzorowaniem
mieć
punkt na IR.
stały. Zbadać,
97
ciągłym przedziału
czy ta własność
się
[a, b] w siebie, utrzymuje po zmianie
5. Niech F będzie odwzorowaniem zwężającym przedziału [a, b] w siebie, a s jego punktem stałym. Czy stąd, że a .; ; x .; ; bi IF(x) - xl .)- 1 , gdzie .>.jest stałą z (3.4.2).
że
lim len+il = _!_p(ą)(s). lenią . q! :
Udowodnić, że jeśli f ma punkt stały w [a, wszystkich x E [a, b].
6.
n->oo
Zgodnie z definicją podaną w podrozdz. 1.2 liczba q jest rzędem (do s) ciągu {xn}· Jeśfi na przykład F'(s) =O i F"(s) 'f. O, to q = 2 i mamy
zbieżności
jest ciągła w [a, b] i taka, że a .;;;; f(a), f(b) .;;;; b, to b]. Zauważmy, że nie zakłada się, iż a .;;;; f(x) .;;;; b dla
7. Jaki jest najsłabszy warunek dotyczący przedziału [c, d), de ciągłe odwzorowanie [a, b] w [c, d] ma punkt stały?
zapewniający, że każ-
Udowodnić
albo obalić następujące twierdzenie: Jeśli F: llł -+ [a, b) i jeśli F jest w [a, b], to F ma jedyny punkt stały, który można otrzymać metodą iteracyjną dla dowolnego rzeczywistego punktu początkowego.
8.
zwężająca
1 2 "( (n ) . en+l = 2,enF
To
się
kojarzy z
metodą
~ . 9. Podać przykłady funkcji, które nie mają punktu stałego, choć mają następujące
Newtona (por. (3.2.3)). Istotnie, jest w niej
własności:
1 • ··"
f(x) F(x) = x - f'(x),
(a) f: [O, 1]-+ [O, 1], (b) f: (O, 1)-+ (O, 1) i f jest ciągła, (c) f: A-+ A, gdzie A = [O, 1] U [2, 3] i f jest ciągła, (d) f: llł -+ llł i f jest ciągła . . Niech F ma ciągłą pochodną w przedziale otwartym i punkt stały s w tym przedziale. Wykazać, że jeśli IF'(x)I < 1, to ciąg określony za pomocą metody iteracyjnej jest zbieżny do s dla punktów początkowych dostatecznie bliskich s. Wskazówka: Wybrać >. takie, że IF'(s)I < >. < 1 i rozważyć taki przedział o środku ws, w którym IF'(x)I < >..
a wtedy
F'(x) Ponieważ
= 1_
punkt
f'(x)f'(x) - f(x)f"(x) [f'(x)] 2 stały
=
f(x)f"(x) [f'(x)]2
funkcji F jest zerem funkcji
f,
więc
F'(s) = O. Po-
nadto
„
[f'(x)]2[J(x)f"'(x)
FW= więc
F" (s) =
!" (s) / f' (s)
+ f"(x)f'(x)] ~~4
- 2f(x)f"(x)f'(x)f"(x) '
i na ogół ta wielkość jest różna od O.
ZADANIA 3.4
funkcje są zwężające w podanych obok przedziałach. najlepsze wartości·.>. z nierówności (3.4.2). (a) (l+x 2 )- 1 , dowolny przedżiał; (b) łx, [1,5]; (c) arctgx, dowolny przedział domknięty niezawierający zera; (d) lxl 3 12 , lxl .; ; ł. 2. Jeśli fui:ikcja F jest zwężająca z [a, b] w [a, b] i Xn+i = F(xn) dla xo E [a, b], to lxn - si .;;;; C>.n dla pewnego C (sjest punktem stałym dla F). Udowodnić to i podać oszacowanie z góry dla C.
1.
li l'i
Wykazać, że poniższe Wyznaczyć
3. Wykazać, że jeśli F: [a, b]-+ llł, F' jest ciągłai IF'(x)I < 1 w [a, b], to funkcjaF jest zwężająca. Czy taka F musi mieć punkt stały? Czy własność opisan w pierwszym zdaniu zachowuje się po zmianie przedziału na otwarty? ''
'
dla x E [O, 7r] i O < i:: < 1 równanie Keplera x = y - i:: siny (znane z astronomii) ma rozwiązanie y. Zinterpretować to zadanie jako dotyczące i,, punktu stałego. Wykazać, że
·;'Wprowadzamy do kalkulatora pewną liczbę i naciskamy wielokrotnie klawisz funkcji cos. Jakich wyników można się spodziewać? .~ Rozważyć metodę iteracyjną określoną przez funkcję F(x) = x + f(x)g(x), '' gdzie f(r) = O i J'(r) =/= O. Znaleźć ścisłe warunki, jakie powinna spełniać funkcja g, aby ta metoda była zbieżna sześciennie do r dla dostatecznie bliskich punktów początkowyc.h. Co otrzymamy? Obmyślić dowód. ..Wykazać, że ciąg 1.
IF'(x)I.;;;; >.
tworzony
według
< 1 w przedziale [xo -
wzoru Xn+l = F(xn) jest
zbieżny, jeśli
p,xo + p], gdzie p = jF(xo) - xol/(1- >.).
: Jakie szczególne własności musi mieć funkcja f, aby zastosowana do niej me' toda Newtona była zbieżna sześciennie do zera tej funkcji? . Jaki wzór iteracyjny wynika z próby znalezienia punktu stałego funkcji F metodą Newtona, zastosowaną do równania F(x) - x =O? fJeśli
f' jest ciągła i dodatnia w [a, b] oraz f(a)f(b) < O, to f ma dokładnie edno zero w (a,b). Udowodnić to i wykazać, że dla pewnego.>. to zero można . otrzymać, stosując dla F(x) = x + >.J(x) metodę iteracyjną.
3.5. OBLICZANIE PIERWIASTKÓW WIELOMIANÓW
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
98 18. Niech p
30. W którym z przedziałów: [ł,oo), (ł,1], [ł,2], [0,1], [i,~] funkcja f(x) := ..fii: jest zwężająca? 31. Ud~ir~'di:J.ić, że metóda Obliczarua VR za'po~~C:ą~~~ru ..
będzie liczbą dodatnią. Znaleźć wartość wyrażenia
y'p + Xn· 1. Znaleźć wartość ułamka łańcuchowego (podrozdz. 6.11)
rozumianą jako granica limn__, 00 Xn, gdzie
19. Niech będzie p
>
X1
:=
..JP, Xn+l
:=
1 x=----1--
p+
1
+ 3R) +R
·- Xn(x;
Xn+~ .-
3x~
nia ~ząd równy 3. ;32. FUnkcja F jest·nazywana'kontrakcją:it~~o~aną, jeśli IF(F(x)) - F(x)I
p+-p+ ...
rozumianą
podobnie jak w poprzednim zadaniu. 20. Za pomocą odpowiednio dobranej metody iteracyjnej obliczać pierwiastki równania kwadratowego x 2 + px + q =O. · · 21. Udowodnić, że funkcja F określona wzorem F(x) = 4x(l - x) odwzorowuje przedział [O, 1] na siebie, ale nie jest zwężająca. Wykazać, że ma ona punkt stały. Dlaczego nie przeczy to twierdzeniu o odwzorowaniu zwężającym? 22. Jaki rząd zbieżności ma metoda iteracyjna zastosowana do funkcji F(x) = 2 + (x - 2) 4 dla punktu początkowego x = 2.5? Znaleźć zakres wartości pQ:. czątkowych, dla których metoda jest zbieżna. Zauważyć, że 2 jest punktem stałym. · •: ,} " 23. Niech będzie F(x) = 2x - qx 2 , gdzie ł q < 1. Dla jakiego przedziału m~±~;; ·~ być pewnym, że metoda iteracyjna dla F daje ciąg zbieżny do punktu stałego? (Zadanie wiąże się z zad. 3.2.4). . · ' 24. Metodę iteracyjną stosujemy do F(x) = x 2 +x- 2. Jeśli daje ona ciąg zbieżny. liczb dodatnich, to jaka jest jego granica i jaki był punkt początkowy? · " · 25. Wykazać, że poniższe funkcje są zwężające w podanych zbiorach, ale nie mają ; tam punktów stałych. Dlaczego to nie przeczy twierdzeniu o odwzorciwanil). zwężającym? · · ·, · . · (a) F(x) = 3 - x 2 w [-ł, ł], (b) F(x) = -x/2 w [-2, -1] U [1, 2]. 26. Zero funkcji f jest równe punktowi stałemu funlwji F(x) = x- f(x)/ f'(x). Teń punkt możemy znaleźć, rozwiązując równanie F(x) - x =O metodą Newton·a.' Jaki jest wtedy wzór generujący ciąg { Xn}? .
.,:;
=·z
27. Czy zastosowanie metody iteracyjnej do funkcji f(x) = ł{H-x 2 )- dla xo daje ciąg zbieżny? Jeśli tak, to jaka jest jego granica? . 28. Wykazać, że dla funkcji f(x) = 2 + x - arctgx jest lf'(x)I < 1 i że f nie.\ ' ma punktu stałego. Wyjaśnić, dlaczego to nie jest sprzeczne z twierdzeni~ID;. o odwzorowaniu zwężającym. 29. Wykazać, że funkcja F taka, że F(x) = 10-2x, ma punkt stały. Dla dowolneg xo przyjmujemy, że Xn+i = F(xn) (n :;:;;, O). Znaleźć jawne wyrażenie dla x· Wykazać, że ciąg {xn} jest zbieżny tylko dla szczególnej wartości Xo- J ona jest? Dlaczego nie ma tu sprzeczności z twierdzeniem o odwzorowani 1
zwężającym?
99
< ",\IF(x) -
(,\ < 1).
xl
Udo.wodnić, że każda kontralccja jest kontrakcją iterowaną, al~ kontrakcja itemus~ być ani kontralccją,_ ani funk9ją ciągłą. ; f;roc~sJ;).teracyjne na.ogół nie wyrażają/się p:tc:istym "wz~rem Xn-1-1 := F(xn) "dla F: iR .,..... llł. Może być np. F: llł~ -+ l!ł2 : Wykazać, żę tak właśnie jeąt dla : metody bisekcji i metody siecznych.· W obt;t przypadkach podać jaw:ne wyraże. riie dla F. · · ··
rowana _nie
...
·Jlbli.czanie pierwiastków wielomianów ','ptly opisane w poprzednich podrozd~i~łach; a szcz~gólności ~etodę · ona, można oczywiście stc::iso!VaĆ do wielomianów. Szukając pierwiast.. (zer) wielomianów powinniśmy jednaj<:, jeśli to możliwe, uwzględniać 'jalną strukturę tych funkcji. Dodatkową komplikacją w przypadku wie·anów jest to, że często chcemy obliczać także pierwiastki zespolone (najeśli wielomian ma współczynniki rzeczywiste)" lub wszystkie pierwiastki e,go wieloin~anq. Dlatego poszukiwanie pierwiastków wielomianów budzi 'gólne ~ainteresowanie już niemal od 400 lat. „ . ;,.Z~~znlemy od pe~nych .:ważnych : ~~ików · t~oretycznych, zresztą iększości ·zapewne znanych czytelnikom. Wie~o~ian piszemy w postaci
w
:• p (z ) = anz n+ an-IZn-1 + ... + aiz + · ao,·
(3.5.1)
:'współczynniki ak i.zmienna z :ąiogą być.zespolone. Jeśli an f= O, to stOpień n. Szukamy pierwiastków wielomianu p. Czy jednak one ist? Na to pytanie odpowiada poniższe twierdzenie, zwane zasadniczym dzeniem. algebry, a udowodnione p~ raz pierwszy przez Gaussa w 1799 r. miast p9dany tu dowód pocho$fzi z·r. 1938. od Hardy'ego; zob. Hardy .j\.d~dą.tek I] } Feffer~an "[1967] .. ·'" · ł
•
j:~
'
<
•
:';)i'VIE!ł_DZENIE 3.5.1. .. Każdy
'
•
•
„.•
~-„ ~
wielomian r6żny. od sta~e} rria co najmniej je.n pierwiastek w ciele C':liczb 'ze,sp~lon'!)ch. · ·. ·
"
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
100
3.5. OBLICZANIE PIERWIASTKÓW WIELOMIANÓW
Dowód. Niech p będzie wielomianem różnym od stałej. Chcemy wykazać, że p(zo) = O dla pewnego zo E C. Ponieważ p nie jest stałą, v\rięc . jp(z)I --t oo, gdy I.z:! --t oo. Niech D będzie takim kołem o środku w O, że' poza nim lp(z)I ): jp(O)!. Niech z 0 będzie punktem, w którym jest osiąg nięte infzED!P(z)j. Ponieważ O E D, więc lp(zo)I < lp(O)j. Wobec tego jp(zo)I .;;;; lp(z)I dla wszystkich z E C. Niech będzie q(z) := p(z + zo). Chcemy wykazać, że q(O) = O, czyli p(zo) = O. Wyrażamy q w postaci q(z) = c0 + CjZj + ... + c,.,zn = c0 + CjZj + zj+lr(z), gdzie Cj f:. O, ar jest wielomianem (być może równym O). Chcemy teraz udowodnić, że co =O. Przypuśćmy, że co f:. O. Niech w będzie dowolną liczbą zespoloną, dla której CjWj =-co. Definiujemy N:= sup0
< lco + Cjejwil + ej+llwj+lllr(ew)I = = lco - coejl +eielwli+ 1 N< lcol(l - ei)+ ejlcol = · =!col= ią(O)I = lp(zo)I
< lp(zo + ew)I = ią(ew)j.
•
Historię tego twierdzenia i prób jego udowodnienia opisuje Kline [1972,
I
s. 597-606]. Zwykły nowoczesny dowód jest wnioskiem z twierdzenia Lio7 uville'a; zob. na przykład Bak i Newman (1982], Henrici [1974], Ahlforś (1966] i inne podręczniki analizy zespolonej. Zasadnicze twierdzenie algebry nie zapewnia istnienia pierwiastków rzeczywistych. Przykład tak prostego wielomianu jak z 2 +1 pokazuje, że nawet wielomian o wszystkich współczynnikach rzeczywistych może nie mieć pierwiastków rzeczywistych. •. Jeśli wielomian p sfopnfa. n ): 1 podzielimy przez czynnik liniowy z - c„ to otrzymamy iloraz q i resztę r. Iloraz jest wielomianem stopnia n - 1, a reszta - liczbą zespoloną. Wykonaną czynność opisuje równanie p(z) =(z - c)q(z)
+ r.
Stąd wynika (po podstawieniu z = c), że p( c) = r. Ten fakt jest Żnany · jako twierdzenie o reszcie. Jeśli c jest pierwiastkiem wielomianu p, to r = O i mamy równość
p(z)
=
;dodatni, pierwiastek, np. r2. Tak
więc ą1(z)
ma czynnik z - r 2 i
101 możemy
hJ.apisać, że p(z) =(z - ri)(z - r2)ą2(z). Kontynuacja takiego rozumowania
musi się zakończyć, gdyż stopnie kolejnych qk zmniejszają się o 1 w każdym ··kroku. Tak więc ąn jest stałą i dochodzimy ostatecznie do równości ~~!
p(z) = (z - ri)(z - r2) ... (z - rn)qn.
Dowodzi to, że wielomian p stopnia n rozkłada się na iloczyn n czynników l\niowych, z których każdy odpowiada pewnemu pierwiastkowi tego wielo~.ianu. Oczywiście p nie może mieć innych pierwiastków, gdyż jeśli z jest dowolną liczbą zespoloną różną Od ri, r2, ... , Tn, to iloczyn nk=l (z - Tk) :.~st różny od O. Ponieważ pewne pierwiastki Tk mogą być sobie równe, więc "elomian stopnia n ma co najwyżej n różnych pierwiastków. Krotność pier.·astka r jest liczbą czynników z-r występujących w rozkładzie pierwiastka. ączęc te uwagi z zasadniczym twierdzeniem algebry, otrzymujemy nastę hjący wniosek: 3.5.2. Wielomian stopnia n ma dokładnie n pierwiastków na płaszczyźnie zespolonej, gdy każdy z nich jest liczony tyle razy, ile wynosi jego krotność.
TWIERDZENIE
Często chcielibyśmy wiedzieć, jak z grubsza pierwiastki wielomianu rozmieszczone na płaszczyźnie zespolonej. Mamy tu zadanie lokaliza."i pierwiastków. Odnosi się do niego wiele wyników znanych z publikacji, ,tym reguła Descartesa znaków; zob. na przykład książki Younga i Gregoy'ego (1972, § 5.5] oraz Stoera i Bulirscha (1980, § 5.5], monografię Mardena !966], tom I trzytomowej monografii Henriciego (1974] i książkę Turowicza ,,1967]. Następujące twierdzenie daje łatwe do obliczenia oszacowanie z góry odułów pierwiastków:
TWIERDZENIE
otwartym o
3.5.3. Wszystkie pierwiastki wielomianu (3.5.1) leżą w kole środku w punkcie O płaszczyzny zespolonej i promieniu
(z - c)q(z).
Tak więc z - c jest czynnikiem wielomianu p(z). Ten wniosek jest nazywany , twierdzeniem o czynniku. Wiemy, że p(.z) = (z-r1)ą1(z), gdzie ri jest dowolnym pierwiastkiemp.. Na mocy zasadniczego twierdzenia algebry ą 1 ma, jeśli jego stopień jest
' Dowód. Niech będzie c = maxo:;;;kO, to twierdzenie jest oczywiście prawdziwe. W przeciwnym razie jest .::· 11 i dla Iz! .; ; p mamy nierówność
102
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH n-1
lp(z)I
> lanznl -
lan-lZn-l
+ ... + aol > lanznl -
c .'L:lzlk
ki wielomianu i sumowanie tych iloczynów, jest zbyt kosztowny, bo wymaga
>
;zn -1 mnożeń i n dodawań .. Nato~~.t .wyra~aj~c ~ielomia~ w postaci
PRZYKŁAD 3.5.4. Znaleźć koło o środku w punkcie O, zawierające wsz:v.st-.. ' kie pierwiastki wielomianu p(z) = z 4 - 4z 3 + 7z 2 - 5z - 2. · ·. ·; Rozwiązanie.
Na mocy tw. 3.5.3 to
koło
ma
•
p = 1 + ia41- 1 max laki = 8. o,,,;k<4
Inne wiadomości o lokalizacji pierwiastków wielomianu (3.5.1) funkcja
+ ... + ao] =
czyli wielomian stopnia niewiększego od n, o współczynnikach takich jak„ w p, ale uporządkowanych odwrotnie. Oczywiście dla różnej od zera liczby .. zespolonej zo warunki p(zo) =O i s(l/zo) =O są równoważne. Wynika.stąd.·.' poniższy wniosek. '
3.5.5. Jeśli wszystkie pierwiastki wielomianu s leżą w kole lzl < p, to wszystkie niezerowe pierwiastki wielomianu p leżą poza kołem lzl < p-1.
TWIERDZENIE
PRZYKŁAD 3.5.6. Znaleźć koło o środku w punkcie O, w którym ~jelo-
mian p z przykł. 3.5.4 nie ma żadnego pierwiastka. Rozwiązanie.
Wielomian s z tw. 3.5.5 jest 4 s(z) = -2z - 5z 3 + 7z 2 - 4z + l.
+ z(a1 + z(a2 + ... + z(an-1 + anz) .. .)),
0t'rzymtijemy:od ra~u taki algorytm obliczania v„ w którym wystarczy wykonać n rrillożeń i tyleż dodawań: · · · '
Na mocy tw. 3.5.3 wszystkie pierwiastki tego wielomianu leżą w kole Jzl < p; gdzie p = 1 + ia4j- 1 ma.xo,,,;k<4lakl = z tw. 3.5.5 wynika zatem, że pier-. wiastki wielomianu p leżą poza kołem o promieniu ~. Ostatecznie wnioskuje- , my, że wszystlde te pierwiastki leżą w pierścieniu~ < izl < 8 na płaszczyźnie . zespolonej. · • '
*;
Rozważmy proste zadanie: obliczanie wartości v = p(zo) wielomianu (3.5.1): stopnia n o danych współczynnikach ak w danym punkcie zo. Oczywisty al-.. gorytm, czyli obliczanie potęg wielkości z 0 , ich mnożenie przez współczynniT
an
.· for. k =n - 1 to O step -.1 do V+--
ak + ZoV
end do output v
Ten algorytm jest nazywany tradycyjnie schematem Homera. Jego wa·anty są użyteczne także w innych zadaniach: Jednym·z nich jest dzielenie ..·elomianu p(z) przez dwumian z - zo„a ściślej - wyznaczenie ilorazu q(z) eszty z tego dzielenia. Jest ona ;równa p( zo) '.co wynika .z tożsę.mości ' .
.
: , p(z) = ~Ż- zo)q(z) +·p(zo). ':
''•
'
.
.
•
c..
.
...
:
· •
·· •
·.,.
„.
··:
.
'
(3.5 ..2) .
·:
•.·
. , 'edstawriiy .wielomfari" q (jego stópień'.jest' . oczywiście o· 1 mniejszy od pnia wielomianu p) w postaci · · · · · '""· ·.
. q(z) =bo+ biz+ ... + bn-lZ
n-1
.
· półczynniki obu stron równości (3.5.2),przy tych samych potęgach zmien~iz mus~ą być identyczne. Wynikają stąd równości . . . '„·.;;.
,widać, współczynniki wielomia~~ qi' :-. na końcu - wartość p( zo) oblicza"wy;konując dokładnię te same działania,. które występują w podanym ·ej algorytmie. Różnica pÓlega tylko· na tym, że teraz zapamiętujemy że 'te wyniki pośrednie, które dają współczynniki bk: · input n, (ai : O ,,;;; i ,,;;; n), zo . '; bn-1 t-'..- an lff:"or k =n -1 to O step -1 do w:1'
Schemat Hornera
•.
ci< i< ń), zo
bk-1 +-- ak
+ zobk
··.. end do .. output (bi: -1,,;;; i,,;;; n-1)
Yf .tej ·wersji wartością p(zo) jes~ b-;l·
Stoęując powyższ:y algorytm Jj,czeniach ręcznych, rozmieszczatny· często dane i wyniki w następu. posób: , .
104
3.5. OBLICZANIE PIERWIASTKÓW WIELOMIANÓW
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
Wyznaczywszy wielomian q i resztę p(zo) (zob. (3.5.2)) za pomocą §chematu Hornera, można w ten sam sposób znaleźć iloraz r i resztę q(zo) z'dzielenia q przez z - zo. Iterując te czynności dla wielomianu p(z) postaci (3'.5.1), otrzymujemy współczynniki ck takie, że ~11,.
Liczba w ramce jest równa p(zo). PRZYKŁAD
3.5.7. Za pomocą schematu Hornera obliczyć p(3), gdzie wie: lomian p jest określony w przykł. 3.5.4. Rozwiązanie. Wielkości występujące
z
w obliczeniach ustawiamy zgodnie
p(z) =(z - 3)(z 3
Rozwiązanie.
-
•
z 2 + 4z + 7) + 19.
Schemat Hornera stosujemy również w deflacji. Jest to proces usuwa- ' nia z wielomianu jego czynnika liniowego4 >. Liczba zo jest pierwiastkiem wielomianu p wtedy i tylko wtedy, gdy z - zo jest czynnikiem tego wielomianu. Pozostałe pierwjastki wielomianu p są n - 1 pierwiastkami ilorazu
p(z)/(z - zo). !i
. . ,:
.
PRZYKŁAD
I
usuwając
2
.
3.5.8. Dla wielomianu p z jego pierwiastek 2.
Rozwiązanie.
Tworzymy
tablicę
przykładu
3.5.4
wykonać deflację 1
liczb jak w poprzednim
przykładzie.
1 -4 7 -5 -2 2 -4 6 2 3 1 [[] 1 -2
z 4 - 4z3 + 7z 2
-
5z - 2 =(z - 2)(z3
-
2z 2 + 3z + 1).
Ostatnia kolumna tablicy jest w istocie zbędna i może co najwyżej służyć ' do kontroli poprawności obliczeń, które powinny się zakończyć znalezieniem liczby O. • Niech p ma tylko pierwiastki rzeczywiste. Stosując wielokrotnie deflację, obliczamy po jednym pierwiastku wielomianów coraz niższych stopni, co zmniejsza koszt obliczeń. Jest jednak ważne, aby te pierwiastki wyznaczyć w kolejności rosnących wartości beZ:.: ·· względnych; zob. Dryja, Jankowscy [*1982, s. 111] i prace tam cytowane (przyp. tłum.).'· 4)
Algorytm opisany wyżej nazywamy kompletnym schematem Hornera. dpowiedni program działa tak, że współczynniki ck znajdują się po jego ·ykonaniu na miejscu danych ak.
Wobec tego
11
czyli określające rozwinięcie Taylora wielomianu w otoczeniu punktu z 0 . PRZYKŁAD 3.5.9. Znaleźć 3.5.4 w punkcie zo = 3.
input n, (ai: O.;;; i.;;; n), z 0 for j = O to n - 1 do for k = n - 1 to j step -1 do ak +- ak
+ zoak+I
end do end do output (ai : O .;;; i .;;; n) Jak wiemy, metodę iteracyjną Newtona dla równania f(x) =O opisuje
106
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
funkcja f jest wielomianem p, to powyższy program okrojony do warj = O, 1 daje ao = p(zo) i ai = p'(z0 ), czyli wielkości potrzebne w metodzie Newtona. W tym jednak przypadku warto przerobić ten frag-··' ment programu, łącząc etapy dla j = O i j = 1. Prócz tego rezygnujemy z zapisywania wyników na miejscu danych, gdyż współczynnild wielomianu będą potrzebne także później. Program daje a = p(zo) i /3 = p'(zo) dla wielomianu pokreślonego jak w (3.5.1) i dla danego zo: Jeśli tości
3.5.11 .. Niech Xk i Xk+l będą kolejnymi przybliżeniami pierwiastka otrzymanymi metodą Newtona dla wielomianu p stopnia n. Wtedy ten wielomian ma na· płaszczyźnie. zespolonej pierwiastek odległy qd Xk co naj'l,l)yżej o nlxk - Xk+il· . ...
t-
a+ zofJ + zoa
ten program (bez pierwszego wiersza)
Dowód. Niech ri, r2, ... , rn będą pierwiastkami wielomianu p. Wtedy - rj)· Poprawka.w.metoc;J.zie Newtona wyn~si -p(z)/p'(z). Pochodną wielomianu p wyrażamy w, postaci
p(z).:=:= cfij~ 1 (z
wywołujemy instrukcją
horner(n, (ai: O ,;;;; i ,;;;; n), zo, a, /3),
n
to program wykonujący M kroków metody Newtona dla danego i punktu początkowego zo może wyglądać tak:
wielomian~
: · •.\ · .
input n, (ai: O~ i~ n), z 0 ,M,c for j = 1 to M do . call horner(n, (ai: O~ i~ n), z 0 , a, fJ) z1 t-
Iz -
1
Dla zo = O podany już algorytm daje z jest
wartości
=
-2 O- -5
=
.•
rk)-
1
.
k=l
·. 1
< ;:;:IP'(z)/p(z)I
·1 =
n .
.
„" . ·'
. „.
niemożliwe, gdyż średnia
n liczb nie
.
.
"1·
n
;:;:l:LC~ ;:rkr 1 !.;;;;;:;: :Liz -rkl- 1 · k=l
może być większa
od •
: Powyższe twierdzenie podał Bodewig J1946].
przykł. J<
p(O) = -2·
Nową wartością
p(zo) zo - - p'(zo)
k=l
k=;l
To jest·jednak każdej z nich. '.':'.t.t:·:
Rozwiązanie.
· ril-
„
PRZYKŁAD 3.5.10. Zastosować metodę Newtona do wielomianu z 3.5.4 dla punktu początkowego zo =O.
n
= p(z) :L
LP(z)/(z - rk)
·i.
·:
Zo t - Z1
=
:: Qhceni~· wyka~ać; że dla d~wolnego (a więc i dla :ik). istnieje wskaźnik j, dla którego Iz - ril ~ nlp(z)/p'(z)f. w przeciwnym razie dla każdego j ''11-ielibyśmy nierówność Iz - ril > rilp(z)/p'(z)I, a ~tąd wynikałoby, że
zo - a/fJ
end do
n
(z - ri)
k=l i=l,i;"k
output a, fJ, z1 if lz1 - zol < c stop
i p'(O) = -5.
n
IJ
= cL
p'(z)
=
•
TWIERDZENIE
end do output a,fJ
z1
-0.27591 -0.27568 -0.27568
: Ciąg {zk} jest więc szybko zbieżny do pierwiastka -0.27568.
n), zo
a t - ak
Jeśli
-0.40000 .:.::0:29029 .....„ .. ~.·„
. 1 ~~·"·2
for k = n - 1 to O step -1 do
fJ
107
3.5. OBLICZANIE PIERWIASTKÓW WIELOMIANÓW
-0.4.
Wykonanie algorytmu na komputerze z precyzją arytmetyki równą, 2.- 24 ·: daje następujące wyniki: . , ;j ·
..
(Vletoda · Ba.irstowa
heśli wielomian ma tylko współczynniki rzeczywiste, to i tak jego pierwiast-
'fi mogą· być zespolone. Możemy wtedy obliczać je parami, używając tylko arytmetyld rzeczywistej. Służy do tego "metoda Bairstowa, która będzie podana nieco· dalej. . .. ;., · · .Dla dowolnej liczby zespolonej z = x + iy liczbą sprzężoną jest z = - iy. dalszym ciągu wykorzystamy·następujący podstawowy fakt:
w·
•
<
~
•
.•
108
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
TWIERDZENIE 3.5.12. Jeśli wielomianp ma współczynniki rzeczywiste, aw jest jego pierwiastkiem nierzeczywistym, to również w jest pierwiastkiem wielomianu p, a iloczyn (z -w)(z -w) jest jego czynnikiem kwadratowym o współczynnikach rzeczywistych.
Dowód. Niech będzie p(z) = anzn + an-IXn-I wszystkie ak są rzeczywiste. Z założenia wynika, że
O= anwn + an-iwn-i
+ ... + aiz + ao,
gdzie
a bardziej konkretnie n
L
związek
n
akzk
=(I: bkzk-2)(z2 -
k=O
+ ... + aiw + ao.
Dlatego w jest pierwiastkiem "'7ielomianu p. Ponieważ w nie jest rzeczywiste, w i w są różnymi pierwiastkami i p ma czynnik kwadratowy
więc
(z - w)(z - w)= z 2 - (w+ w)z +ww,
•
którego współczynniki -(w+ w) i ww są rzeczywiste.
Jak już wiemy, pierwiastki nierzeczywiste wielomianu rzeczywistego tworzą pary sprzężone, którym odpowiadają jego czynniki kwadratowe rzeczywiste. Warto zatem szukać takich czynników. Można to robić za. pomocą metody Newtona.
= bk - ubk-1-1 - vbk+2
an
Ograniczmy teraz rozważania do przypadku, w którym wszystkie ak są rzeczywiste. Szukamy czynnika kwadratowego rzeczywistego, czyli w ostatnim twierdzeniu u i v mają być rzeczywiste. Współ czynniki bo i bi obliczane w procesie dzielenia zależą od u i v, piszemy zatem bo= bo(u,v) i bi= bi(u,v). Wielomian q ma być czynnikiem wielomianu p, ... więc reszta r ma znikać: bo(u,v) =O, W metodzie Bairstowa ten układ dwóch równań rozwiązujemy .tona. Potrzebne pochodne cząstkowe
3.5.13. Dzielenie wielomianu
q(z) := bnzn- 2 + bn-iZn- 3 + ... + b3Z + b2,
8bk 8u'
dk
·.=
8b kv-i 8
rekurencyjnie
według
wzorów
rekurencyjny z tw. 3.5.13. Daje to do-
(Cn+i
=
Cn
=O),
(dn-1-1 = dn =O).
bo (u
+ óu, v + óv) = bi (u + óu, v + óv) =
O.
I
wiąże
+ r(z),
relacja
New-
onieważ są one identyczne, więc wystarczy rozważać pierwszy z nich. ZaPrzypisujemy wartości początkowe pa1metrom u i V. Szukamy takich poprawek, oznaczanych c5u i efo, które by pełniały równania
(n;;;:: k;;;:: O).
Dowód. Wielomiany p, q i r p(z) = q(z)(z 2 - uz - v)
wyniki tego i poprzednich przykładów, otrzymujemy rozkład na czynniki.danego„wielomianu: „ ,., "''" „ , . 4 3 2 2 z - 4z + 7z - 5z - 2 = (z - 2)(z + 0.276)(z - 2.28z + 3.63).
w postaci
Współczynniki zaokrąglono tu do trzech cyfr. Używając ich dokładniejszych wartości, można obliczyć dwa pierwiastki zespolone wielomianu p. Są one
co ci] [óu] =-[bo(u, v)] . [Ci C2 ÓV bi (u, V) Rozwiązanie
tego
układu wyraża się
1.13784 ll018 255 ± 1.5273122508 866
wzorami:
Aby
uzupełnić analizę
rozsądnych założeniach
J jest tu jakobianem pary funkcji nieliniowych b0 (u,v) i bi(u,v). Oto program, który startując z danego punktu (u, v), wykonuje M kroków metody Bairstowa. Jest on zgodny z powyższym opisem. · „ input n, (ai : O ~ i ~ n), u, v, M bn <-an en·<- o Cn-1 <-an for j = 1 to M do bn-1 <- an-1 + Ubn for k = n - 2 to O step -1 do bk <- ak + ubk+l + vbk+2 Ck <- bk+l + UCk+l + VCk+2 end do J <- CoC2 - et u<- u+ (c1b1 - c2bo)/ J v <- v + (c1bo - cob1)/J output j, u, v, b0 , bi end do
TW!ERDZENIE
s"ą .·zarazem
pierwiastkami pojedynczymi tego ostatniego;. to w punkcie (uo, vo) jakobian dla metody Bairstowa jest różny od O.
8u ·· . 8u · · 8u 8q obi 8bo 0=-q(z)+(z -uz-v)av+ 8v(z-u)+ av.· Niech wielomian z 2 - uoz - vo .ma pierwi~tki zi i z2. Stąd p(zi) = O, p(z2) = · b, bi·=' O i bo = O. Przyjmijmy,, $e w poprzednich ·równaniach = uo, v = vo i z= zi albo z= z2. Wynikają stąd cztery równania: 11·. :· ··
bo i bi
są
= -3.62736 50847118,
bi =O.O.
praktycznie zerami,
więc możemy zaakceptować
przybliżone wartości współczynników czynnika kwadratowego
,.· koi:zyitan~ tu z ozn~c~eń i rozw~~. ~odanyhh po yrażamy te równania w postaci macierzoweJ.: ·
Ponieważ
.
ł
W programie komputerowym wzorowanym na algorytmie podanym wyżej użyto arytmetyki podwójnej precyzji. Siódma iteracja dała· następujące wyniki:
bo= -0.210-14,
·
2
Rozwiązanie.
V
3.5.15. Jeśli pierwiastki czyn~ika.z 2 ..,.-uoz-vo wielomianu p
_,·p(~) =;= (Ż 2 - uz_:_ v).q(z) bi(z...:. u)·+ bp .. Ohiiczenie; pochodnych cząStkow}rch względem u i v daje równania
3.5.14. Wyznaczyć czynnik kwadratowy rzeczywisty wielomianu z poprzednich przykładów, stosując metodę Bairstowa dla punktu początkowego (u, v) = (3, -4). ·~.
2.27568 22036 510,
metody: Bairstowa, musimy ustalić, przy jakich jakobian J nie znika w szukanym rozwiązaniu.
Dowód. W każdym kroku procesu jest
PRZYKŁAD
U=
•
c
:[:
• •
.
·a~wodzie t~ .. 3.5:13.
~] [z1 ~UO ~ uo] '° bc;:{.~c;:))r Z2
by wykazać, że macierz Jacobiego jest nieosobliwa, wystarczy udowodnić, . taka jest macierz po prawej stronie tego rf>wnania. Jej wy?lnacznik jest wny (zi - z2)ą(zi)ą(z2). Ponieważ· zi i z2' są "pierwiastkami pojedynczymi ielomian~ p, więc nie mogą one być-pierwiastkami wielomianu q. Jest też i i- z2, czyli wspomniany _wyznacznik nie znika. . . • Opis metody Bairstowa zaczerpnlęto ·z '1{siążki Henricieg~ [1964).
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
112
·Metoda Laguerre'a Przejdźmy teraz do metody Laguerre 'a obliczania pierwiastków wielomianu p stopnia n. Używa się jej w wielu nowych pakietach oprogramowania, gdyż jest raczej odporna, ajej zbieżność jest sześcienna w otoczeniu każdego pierwiastka pojedynczego. Jest to metoda iteracyjna, a przejście od danego przybliżenia z pierwiastka do nowego przybliżenia następuje według wzorów
A:= -p'(z)/p(z),
C := n- 1 [A±
B := A
p"(z)/p(z),
-
V(n - l)(nB_-:- A
2 )],.
n2C2
Dowód. Niech rl, r2, ... , rn będą, jak w tw. 3.5.11, pierwiastkami wielomianu p. Możemy założyć, że p(x) = ITj= 1 (x - rj), tj. że współczynnik wiodący wielomianu jest równy 1, bo wyrażenia dla A, B, C nie zależą od wartości tego współczynnika. Niech będzie Uj = (rj - z)- 1 . Różniczkowa nie p daje znany już wzór n
równanie wraz z wyrażeniami dla A i B daje relacje
(n - l)IC - Dl 2 = lnB - A 2 I = n- 1 ln 2 B - 2nA2 + nA2 1 = n
= n_ 1 ,L(n2 u]- 2nAuj
+ A 2 )1
=
j=l
n
(z - rk) = LP(z)/(z -
+ A2 ,
2CA + A 2 •
-
równości zastępujemy
=
Z (3.5.5),
n
2nCA + A 2 =(n - l)nB - nA2
(n - l)B = nC2 +[(n- l)D + C][(n - l)D - C] =
p jest wielomianem stopnia n, z jest dowolną liczbą zespoloną, a C jest określone jak wyżej, to p ma pierwiastek na płaszczyźnie zespolonej odległy od z co najwyżej o vn!ICI.
n
-
(n -l)B = nC2
:=z+ l/C.
Jeśli
3.5.16.
(3.5.4)
z (3.5.3) wynika, że
W ostatniej
Znowe
D = (A - C)/(n - 1), czyli
A= (n - l)D + C.
Znak w definicji wielkości C wybieramy tak, żeby ICI było jak największe. Poniższe twierdzenie Kahana [1967] jest dla metody Laguerre'a tym, czym dla metody Newtona było tw. 3.5.11. TWIERDZENIE
będzie
Niech jeszcze
2
113
3.5. OBLICZANIE PIERWIASTKÓW WIELOMIANÓW
n
Uj·
n
= n- 1 12.:(nuj -A) 2 1
j=l
j=l
j=l
n
Stąd
= n- 1 2.:ln21uil 2 - 2n~(Auj) + IAl 2] = p'(z) p z
Różniczkując
to
j=l
n
A = - .,...---( ) =
L Uj. j=l
wyrażenie
n
=;n 2.:lui12
i
korzystając
z definicji B,
- 2.AA + IAl2
< n2 mę.xlujl2 -
j=l
wyrażamy tę wielkość
2
IAl2
=
J
= n mę.xluil - IC - D + nDl =
w postaci
2
2
J
=
. _ )-2 = ~ ~ B = -p(z)p"(z)z)]+2 [p'(z)]2 -_ ~( !---- r3 z !---- ur [p( J=l
Z definicji C wynika,
n 2 mę.xluil 2 - IC - Dl 2 - 2n~[D(C - D)] - n 2IDl 2· J
J=l
nlC- Dj 2 < n 2 m?-xlui1 2 - n 21Dl 2 - 2n~(DC) + 2nlDj 2,
lepsze od tego, które podano w twierdzeniu. Powyższy
dowód podał Kahan [1967). Oto prosty program realizujący metodę Laguerre'a dla danego wielomianu i wybranego punktu początkowego z 0 : input n, (ai: O,,;; i,,;; n),z0 ,M,c for k = 1 to M do
I<- O
zo/ + /3
o pokazuje, że funkcja kwadratowa q(x) := nx 2 - 2ax + a 2 - (n -1)/3 jest aka, iż ą(v1) O. Dlatego v1 leży '·ędzy dworna pierwias~kami wielomianu q, a są nimi punkty (3.5.7). •
[np(~)J- 1 {p'(x) ± .j[(n -
zo/3 +a a<- zoa +aj
end do
l)p'(x)]2 - n(n - l)p(x)p"(x) }·'.,
n
+ l/C
L Vj =a,
output k,z if lz1 - zol< c then stop
p'(x)/p(x) =
zo
{(p'{;i;)] 2 -:p(x)p"(x)}j[p(x)] 2 =
<-
(3.5.8)
•:, Dowód. Jest p(x) = cIJj= 1 (x -.rj)· Wyrażenie (3.5.8) nie zależy odc; iech będzie c"= 1. Jak w dowodzie twY3.5.16 mamy, dla Vj = (x -"rj)- 1, · · ~n ' ·· · .. "/3 ~n . 2 · . = L.Jj"."1 'Ilf 1 = L...Jj=l vj, relacje :
A<- -/3/a B <-A2 - 21/a 2 )] /n C <- [A± J,.,--(n----..,..,.l)~(n~B~-~A= <- Zo
nvi - 2av1 + a 2 - (n - 1)/3 < O..
. Jącym pierwiastki rzeczywiste r1, r2, ... , rn.. Dla dowolnego x rzeczy'.\" wistego i różnego od wszystkich Tj liczb·{(x - rj)-l leżą W przedziale ·· · · . o końcach
for j = n - 1 to O step -1 do
Z1
P.rzekształceniach ·
1~·{ ' ~EMAT 3~~~18 .. Nie~h p będzi~ inielo~i~nem rzeczywistym stopnia n, ma-
a<- an /3 <-o
I
zyJi po O?zywistych
„~.
j=l '
.
z1
end do
Wielkościom p(zo), p'(zo) i !P"(zo) odpowiadają wyżej a, f3 i 'Y·
3.5.17. Niech v1, v2, . .. , Vn będą dowolnymi liczbami rzeczywisty-<' mi i niech będzie a := I:~ 1 Vi, f3 := I:f=l v'f. Wtedy liczby Vj lę,żq/~(, w przedziale domkniętym o końcach ' " · · ·.. LEMAT
(3.5.7)
.
n
L vJ = f3 •.• . ·. j=l.
:· ..
a rnocylern. '3.5.17 wszystkie liczby Vj leżą w przedziale o końcach (3.5.7) . .·odstawienie tam wyrażeń otrzyrnany~h. dia.a ·i :/3 daje (3.5.8). • . Tw1ERD~ENIE
3.5.19. Jeśli wielomian rzeczywisty p ma wszystkie pierwiastki. rzeczywiste, to ciąg generowany za pomocą algorytmu Laguerre '~ dla dowolnego punkt~ p~~zątko'weg~ jest zbieżny monotonicznie do j~dnego z. nich.
116
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
3.5. OBLICZANIE PIERWIASTKÓW WIELOMIANÓW
Dowód. Niech pierwiastki Tj wielomianu p będą uporządkowane tak; że · Tl
< T2 < ... < Tn. Niech x nie będzie pierwiastkiem. Na mocy lematu 3.5.18
wszystkie liczby (x -
u(x) = [p'(x)
Ti)- 1 leżą
w przedziale o końcach
+ w(x)]/[np(x)J,
v(x) = [p'(x) - w(x)J/[np(x)J, ·
gdzie
w(x) = V[(n - l)p'(x)J2 - n(n- l)p(x)p"(x). Rozważmy najpierw przypadek, w którym Tj < x < Tj+I dla pewnego j. Przypuśćmy, że p(y) >O w (Tj, Tj+i)i dlap(y)
Mamy wtedy ,
v(x).;;; (x'Stąd
wynika,
Tj+i)-
1
że
1
1
Tj
.,
·1·.'
t:
Jeśli więc zaczynamy od punktu x E (Tj, Tj+i) i, jak w metodzie Laguerre'a, obliczamy x -1/u(x) i x -1/v(x), to te dwa nowe punkty leżą w [Tj, Tj+i]· Oczywiście, jeśli którykolwiek z nich jest końcem tego przedziału, to pierwiastek wielomianu p został już znaleziony. W przeciwnym razie dwa nowe punkty leżą w (Tj, Tj+i) i obliczanie pierwiastka można kontynuować. Formalnie rzecz biorąc, określamy dwa ciągi {yk} i {zk} wzorami
Yo = x, zo = x,
Yk+l = Yk - lju(yk) Zk+l = Zk - 1/v(zk)
(k >= 1), (k >= 1).
Powyższe rozważania pokazują, że
Tj .;;; Yk+l < Yk < ... < Y1 .
Z1
< ... <: Zk < Zk+l
< Tj+I·
Ponieważ ciąg {yk} maleje i jest ograniczony z dołu przez zbieżny: Yk "\, y. Ze wzoru iteracyjnego wynika, że
Tj, więc jest
lju(yk) = Yk - Yk+l - O, więc u(yk) - oo. Wzór dla u pokazuje, że p(yk) - O, czyli p(y) =O i y =Tj· W podobny sposób stwierdzamy, że Zk / Tj+I · Pozostaje rozważyć przypadek, gdy punkt początkowy nie leży między dwoma pierwiastkami; jest więc na przykład x > Tn. Przypuśćmy też, że p(y) >O w (Tn, oo). Rozumując jak poprzednio, otrzymujemy nierówność
O < (x - Tn)- 1 < u(x),
117
stąd zaś wynika, że Tn < X - 1/u(x) < x. Ciąg {Yn} określony jak wyżej maleje i jest zbieżny do Tn. •
. Rozważania dotyczące metody Laguerre'a. można znaleźć w następuj1ących artykułach i książkach: Bodewig [1946], van der Corput [1946], Dutand [1960], Foster [1981], Galeone [1977], Householder [1970], Kaban [1967], strowski [1966], Parlett [1964], Ralston [*1971], Redish [1974], Wilkinson '965].
" etąda Newtona w dziedzinie zespolonej
I
la wielomianów o współczynnikach zespolonych metodę Newtona trzeba · rogramować w arytmetyce zespolonej. Znalazłszy jeden pierwiastek, nalewykonać deflację, zaprogramowaną w tejże arytmetyce. Metodę Newtona ożna wtedy zastosować do zredukowanego wielomianu. Te czynności potarzamy aż do znalezienia wszystkich pierwiastków. Głębsza analiza i dowiadczenie dowodzą, że na ogół taka procedura daje zadowalające wyniki, eśli tylko uwzględnimy dwa zalecenia: ' 1. Pierwiastki należy obliczać w kolejności rosnących modułów. i:·.; 2. Każdy pierwiastek zredukowanego wielomianu obliczony metodą Newtona trzeba od razu poprawić stosując tę samą metodę do pi!3rwotnego wielomianu; startuje się przy tym z uzyskanego przybliżenia.· Dopiero wtedy wykonujemy następną deflację. Zainteresowani czytelnicy znajdą w pracach Wilkinsona [1984] oraz etersa i Wilkinsona [1971] dalsze porady dotyczące tej ogólnej strategii. Można by opisać wiele innych metod obliczania pierwiastków wieloianów. Metoda Laguerre'a jest jednak szczególnie atrakcyjna, gdyż jej 'lobalna zbieżność ma korzystne własności. Odporną metodę nadającą się o szerokiego zastosowania opracowali Jenkins i Tra.ub [1970a]. Inne niemienione jeszcze prace to: Allgower, Glasshoff i Peitgen [1981], Gautschi l979, 1984], Henrici [1974], Householder [1970], Ostrowski [1966], Jenkins 1 Traub [1970b], Marden [1966], Smale [1981], Stoer i Bulirsch [1980], Ralton i Rabinowitz [1978] oraz Traub [1964]. • ·1 Z metodą Newtona w dziedzinie zespolonej wiąże się rys. 3.8. Dodajmy o niego krótki komentarz. · Niech p będzie wielomianem stopnia co najmniej drugiego i niech f; bę zie jednym z jego pierwiastków. Metoda Newtona startująca od punktu z ~aszczyzny zespolonej tworzy ciąg określony wzorami
zo :=z, eśli
Zn+l :=Zn - p(zn)/p'(zn)
(n:> O).
limn-+oo Zn = f;, to mówimy, że punkt początkowy z jest pTzyciąga y ·przez f;. Zbiór wszystkich punktów z przyciąganych przez f; nazywamy
118
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
3.5. OBLICZANIE PIERWIASTKÓW WIELOMIANÓW
119
ają szczególną strukturę fraktalną.
Polega ona na tym, że na powiększo dwa zbiory widzimy powtórzone ogól~~. w~o~c~. Utrzy~uje. się to. przy. pÓnownym. powifiiksżaniu. Co· więcej,' . każdy punkt brzegowy dowolnego z pięciu zbiorów jest zarazem punktem brzegowym trzech innych zbiorów! · t : W ostatnich latach opublikowano-wiele artykułów i książek o fraktalach tchaósiE:, .m ..in.: Barnsley [l988l, Cillry, Garnett i Sullivan (1983], Dewd~ey [1988]; Glieck [1987], Kudrewicz [*i993], Mandelbrot [1982], Peitgen, Jiirgens i Saupe [*1995-6], Peitgen i Richter [1986], Peitgen, Saupe i Ha~s,eler [1984], Pickover [1988], Sander [1987]. Można tam znaleźć dodatkowe informacje. r· m fragmencie
RYS. 3.8. Zbiory przyciągania dla p(z) = z 5
+1
zbiorem przyciągania dla t;. Każdy pierwiastek wielomianu p ma swój zbiór przyciągania. Te zbiory są parami rozłączne, gdyż ciąg zbieżny do jednego , pierwiastka nie może być zbieżny do innego. Pewne liczby zespolone nie n~. leżą do żadnego zbioru przyciągania; są to punkty początkowe, dla któfych metoda Newtona nie jest zbieżna. Te wyjątkowe punkty tworzą zbiór Julii wielomianu p, nazwany tak na cześć francuskiego matematyka (Gaston Julia), który w 1918 r. opublikował ważną pracę na ten temat. Jeśli wszystkie pierwiastki wielomianu p są pojedyncze, to zbiory przyciągania są otwarte; a zbiór Julii składa się z brzegów tych zbiorów. N a rysunku 3.8 pokazano z_biory przyciągania dla wielomianu p(z) · = z 5 + 1, który ma pierwiastki . wk
= cos(~7rk) + isin(~7rk)
(k
=o, 1, 2, 3, 4).
Aby otrzymać ten rysunek, wygenerowaliśmy dużą liczbę punktów siatld '. · pokrywającej pewien obszar kwadratowy na płaszczyźnie zespolonej. Pla. :. każdego z nich wykonaliśmy zgrubny test, aby określić, do którego zbioru · przyciągania ten punkt należy. Test polegał na obliczaniu do dwudziestu. ' początkowych przybliżeń w metodzie Newtona i sprawdzeniu, czy któreś.· z nich leży w odległości nie większej od 0.25 od jednego z pierwiastków. : Jeśli tak jest, to następne przybliżenia są już zbieżne kwadratowo do tego pierwiastka. Wynika to z ogólnej teorii zbieżności metody Newtona w dzie-:· dzinie zespolonej. Powstała w ten sposób lista punktów siatki należących dQ,'; poszczególnych zbiorów przyciągania. Każdemu z pięciu zbiorów przypisa:-:.:. no inny kolor. Te zbiory (ściślej, punkty do nich należące) wyświetlono na,1 kolorowym ekranie i wydrukowano również w kolorach. Te kolorowe zbiory
płaszczyzny zawierającym
~+i:
;i.
Przyjmując definicję krotności
·(f jeśli .
.
P,ierwiastka
podaną
w .tekście, ·· ·
ii jest 'm-krotnyro pierwiastkiem wielomianu. p, to .
;: · p(z) = p'(z).
=... = p<=- l(z) =O,
udowodnić, że
·
p<=l(z) ~O.
1
:;:'.1(ćd:}. Udowodnić twięrqzenie przeciwne tlo·.tego z p~p~~edniego zadania. ,,:}.f Dla wielomianu p(z) := · 3z5 - 7z 4 ·-. 5z3 z 2 -· 8z + 2 Żnaleźć ,koła o środku
·. · wpunkcie O:
·
+
(a) zawierające wszystkie pierwiastki, (b) ni~ zawierające żadnego pier:wiastka. ·:4~ ·Czy tir. 3.5~3 może dać promień najniniejsz~go koła o środku w punkcie O, zawierającego wszystkie pierwiast).d danego wielomianu? !5; Za ·pomocą algorytmu Hornera znaleźć p(4) dla· wielomia~~ z zad. 3. '.6~ Dla wielomianu z zad. 3 znaleźć rozwinięcie Taylora w pu"ukcie zo = 4. '.'7. Napisać talti algoryti:n deflacji ,,;,iel~rni!'f.Il:q p(~), gpy jest dany jegQ pierwiastek · · z 0 , l~tóry oblicza wsp6łczynniki zredukowanego wielomianu według rosnących · p9tęg zmiennej, tj: począwszy ~d składnika stałego. 8. Dlaiwielomianu z zad. 3 i z 0 := 4 obliczyć rnętodą NeWtona z1 • .9.• Dla wielomianu p(z) = 9~ 4 ·--'.7z 3 ·+·z2 :""::2ż zńaleźć p(6), p'(6). i. następne · przybliżenie obliczone metodą Newtona startującą z z = 6. ·· Udowodnić, że każdy ~ielomian o współczynnikach rzeczywistych można rozL łożyć na iloczyn czynników liniowych lub kwadratowych, mających współczyn nilti rzeczywiste. ,,..;; Do .wielomianu z zad. 3 zastosować metodę Bairstowa, startując z punktu .; '(u,~).= (3, 1). Obliczyć poprawki óu i óv: · . . . . f2.:„.Sprawdzić związlti reJ\:urencyjne i wartości początkow~ dla Ck i dfe poda~e ':" opii1 , sie metody Bairstow!l-. ~ . „ ·: ;... •: , . . ! . · ·· ' '3. Czy Itl~.t~da Bairstowa: daj~ c'iąg (:u.k:; v~) "zbieżny kwadratowo?'" 1•.
+:·5
\>.
„.. ~
I-
120
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
3.6. METODY HOMOTOPII I KONTYNUACJI
są funkcjami zmiennej z i zależą od danego wielomianu p. Niech-r będzie jego pierwiastkiem. Wykazać, że funkcje A i B dla p(z)/(z - r) są równe odpowiednio
Metody homotopii i kontynuacji
14. W opisie metody Laguerre'a wielkości A i B
A+(z-r)- 1 , 15.
Wykazać, że jeśli
wielomian p ma
ZADANIA KOMPUTEROWE
i pierwiastld rzeczywiste, to
36x7 + 546x 6 + 118124x
2
-
3.5
4536x5 + 22449x4
-
67284x 3 +
.
109584x + 40320.
-
równe dokładnie 1, 2, ... , 8. Powtórzyć obliczenia po zmianie współczynnika przy x 1 na -37. Zauważyć, że małe zakłócenia współczynni ków mogą radykalnie zmienić pierwiastki, tj. że pierwiastki są niestabilnymi funkcjami współczynników. K5. Zmodyfikować metodę Laguerre'a tak, żeby współczynniki ilorazu wielomia- · nów, obliczane za pomocą schematu Hornera, ·były zapamiętywane. Wtedy nie trzeba oddzielnie obliczać współczynników zredukowanego wielomianu po znalezieniu pierwiastka. Sprawdzić program dla wielomianu Te ostatnie
z4
-
są
(10 + 26i)z3
-
(216 - 190i)z2 + (1140 + 636i)z - (72 - 68i).
K6. Stosując metodę Newtona do wielomianu p(z) = z 3 - 1, znaleźć trzy bliskie punkty początkowe (rozmieszczone co O.Ol) talde, żeby otrzymane ciągi przybliżeń były zbieżne do różnych pierwiastków. Łącząc odcinkami kolejne przybliżenia, pokazać, na przykład na ekranie monitora, jaką drogę przebywają te przybliżenia.
program, który dla danych współczynników wielomianu pi danego punktu Zo oblicza wartości p(zo), p'(zo) i p"(zo). Program ma zawierać tylko jedną pętlę. Sprawdzić go dla wielomianu z zad. 3 i zo = 4. K2. Napisać program realizujący metodę Newtona dla wielomianu o współczynni kach zespolonych, danego punktu początkowego z płaszczyzny zespolonej i danej liczby iteracji. Sprawdzić ten program dla wielomianu z zad. 3 i z 0 = 3-2i. K3. Napisać program, który stosując metodę Newtona i deflację, znajduje wszystkie pierwiastki wielomianu. Sprawdzić ten program dla „perfidnego" wielomianu Wilkinsona z zad. 2.3.K5. K4. Napisać i sprawdzić program obliczający metodą Laguerre'a wszystkie pierwiastki wielomianu zespolonego, w kolejności rosnących modułów. Stosować deflację i tą samą metodą dla pierwotnego wielomianu poprawiać każdy pierwiastek otrzymany z wielomianu zredukowanego. W celu sprawdzenia programu obliczyć wszystkie pierwiastki wielomianu z przykł. 3.5.4 oraz wielomianu , -
11"'
, gdzie
Napisać
x8
(3.6.1)
f(x) =O, współczynniki
(n - l)[p'(x)] 2 ;;i, np(x)p"(x).
Kl.
'.W- tym podrozdziale rozważamy problem szukania pierwiastków równania
B-(z-r) 2 .
·
Napisać program, który metodą Newtona w dziedzinie zespolonej oblicza zbiory przyciągania dla pierwiastków wielomianu f (z) = z 8 +1 tak, jak to opisano ·· w tym podrozdziale. Wyświetlać wyniki na ekranie monitora.
121
f:
Podstawowe
pojęcia
głównym pomysłem metody kontynuacji jest potraktowanie danego zadania
·ako szczególnego przypadku jednoparametrowej rodziny zadań, z parametrem t przebiegającym przedział [O, l]. Zadanie dane ma odpowiadać wartości t = 1, a inne zadanie, dla t =O, powinno mieć znane rozwiązanie. Jeśli ria p1;zykład pewne równanie g(x) = O ma znane rozwiązanie, to możemy przyj\1Ć, że
h(t,x) := tf(x)
+ (1- t)g(x).
(3.6.2)
:r{astępnym etapem jest wybór punktów to, t1, ... , tm takich, że
O = to
< ti < t2 < ... < tm = 1.
'\ ~óbujemy rozwiązać każde z równań h(ti, x) = O dla O < i ~ m. Jeśli tasujemy przy tym jakąś metodę iteracyjną (np. metodę Newtona), to jest ozsądne traktować rozwiązanie dla i-tego kroku jako przybliżenie począt. owe w obliczaniu rozwiązania w (i+ 1)-szym kroku. Takie postępowanie iił6:bna uważać za remedium na kłopot, z którym mamy do czynienia sto'sując metodę Newtona, a mianowicie na konieczność posiadania dobrego 11· unktu początkowego. . ~;~ Równość (3.6.2), dzięki której pierwotne zadanie (3.6.1) należy do szerej rodziny zadań, jest przykładem homotopii wiążącej dwie funkcje fig. gólniej, homotopią może być dowolny związek ciągły f z g. Formalnie rzecz iorąc, homotopią wiążącą dwie funkcje f,g: X~ Y, jest odwzorowanie iągłe
h: [O, l]
X X~
y
122
takie, że h(O,x) = g(x) i h(l,x) = f(x). Jeśli talde odwzorowanie istniej~; to mówimy, że funkcje fig są homotopijne. Jest to relacja równoważności' dla odwzorowań ciągłych z X do Y, gdzie X i Y mogą być dowolnymi. przestrzeniami topologicznymi. Prosta, często używana w metodzie kontynuacji homotopia jest opisana wzorem
h(t,x) := tf(x)
+ (1- t)[f(x) -
f(xo)] = f(x)
+ (t -
Rozwiązanie. Właściwa
:fzyjmujemy, ania (3.6.5),
{x(t): O~t~l}
'(3.6.4)
można uważać za łuk krzywej w X, sparametryzowany za pomocą t. Ten łuk prowadzi od znanego punktu x(O) do rozwiązania x(l) naszego. zadll.1„,. nia. Metodą kontynuacji próbujemy wyznaczyć tę krzywą, obliczając punkty x(to), x(t1), ... , x(tm) leżące na niej. . .·· t ' Jeśli funkcja t ł-t x(t) jest różniczkowalna i jeśli h jest różniczkowalna; to twierdzenie o funkcji uwikłanej pozwala nam obliczyć x'(t). Idąc tym tropem, możemy opisać krzywą (3.6.4) za pomocą równania różniczkowego .. Dla dowolnej homotopii mamy O = h(t,x(t)). Różniczkując obie strony ' względem t, otrzymujemy
en układ można rozwiązać numerycznie (stosując jedną z metod opisanych. rozdz. 8) w przedziale O~ t ~ 1; dla t' = 1 daje to punkt (-2.961, 1.978). ' iiważmy, że f ma pierwiastek ( -3, 2). " • Aby· zakończyć obliczenia, moż~my teraz użyć metody Newtona star1 'jącej z punktu otrzymanego metodą homotopii. Metoda Newtona zmienia ")bliżenie x pierwiastka na.x-:-- 8, gdzie pol?ra":'ka ó·wyraża się wzorem
Jest to równanie różniczkowe dla x. Wartość początkowa jest z założe~ia· znana. Całkując to równanie (zwykle numerycznie), dochodzimy do szu~. nego rozwiązania x(l). · PRZYKŁAD 3.6.1.
~
\,':'
cząstkowe. Stąd
(3.6_.~),.
1 _(f'(x)r =
cieżka prowadząca
tym
= -[hx(t,x(t))r 1 ht(t,x(t)).
f'(x) jest
~,6.5). Ściślej, jest to para równań różniczkowych zwyczajnych:
+ hx(t, x(t))x'(t),
wskaźniki oznaczają
tu homotopia jest dana wzorem {3.6.3), gdzie występujące po prawej stronie rów-
xo =:= (1, 1). Pochodne
są następujące:
dwrotnością
,:,
gdzie
że
l)f(xo). (3'.6.3)
" xo jest tu dowolnym punktem przestrzeni X; jest oczywiste, że xo jest rÓzwiązaniem zadania dla t =O. . Jeśli równanie h(t, x) =O ma jedyny pierwiastek dla każdego t E (O, 1], to jest on funkcją parametru t i możemy określić x(t) jako jedyny element przestrzeni X, dla którego h(t,x(t)) =O. Zbiór
Poniższe twierdzenie Ortegi i Jµieinboldta [1970] ·p~daje warunki za-
,ewniające skuteczność
.. .
,·:''.-
:.;-.
metody homotopii. ·
'·
.„
,, 124
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
Rozwiązanie.
3.6.2. Jeśli funkcja f :. JR.n - t JR.n jest różniczkowalna w spo1 sób ciągły i jeśli li [f'(x)r li < M na JR.n, to dla każdego xo E llł7t istnieje jedyna krzywa {x(t): O < t < 1} w JR.n taka, że f(x(t)) + (t - l)f(xo) ~ O dla O <; t <; 1. Funkcja t i-> x(t) jest rozwią zaniem różniczkowalnym w sposób ciągły zagadnienia początkowego x' = -[f'(x)J-l f(x), x(O) = xo. TWIERDZENIE
Wykreślanie ścieżki
Inny sposób wykreślania ścieżki x(t) opisali Garcia i Zangwill [1981]. Zaczy.:. namy od równania h(t, x) = O, zakładając, że x E JR.n i t E [O, 1]. Wektor , y E JR.n+l jest określony jako
1 2.;i [1
e2
t' =
gdzie 6' 6, ... 'en są składowymi wektora X. Dlatego nasze równanie przybiera prostszą postać h(y) =O. Każda składowa wektora y, w tym t, może być teraz funkcją zmiennej niezależnej s, piszemy więc h(y(s)) = O. Róż niczkując to równanie względem s, otrzymujemy podstawowe równanie róż niczkowe
początkowe.
· odwzorowaniami JR.n w JR.n, więc h jest odwzorowaniem JR.n+l w JR.n. Dlatego pochodna h'(y) jest reprezentowana przez macierz A o rozmiarach nx (n+l). Wektor y(s) man+l składowych, które oznaczamy teraz symbolami 7]1, 7]2, ••. , 7Jn+l· Powołując się na Iem. 3.6.4, możemy znaleźć inną postać równania (3.6.6):
h(t,x)
zastosować związek
3.6.3. Dla
= [er-3e~ + 2
+t].
66-1+7t
wyrazić
równania
róż
2ei + 6d,
t = 0.969, t = 1.010,
się względem
6
= -2.94,
6 = -3.02,
s.
Całkowanie
6
numeryczne
= 1.97,
6 = 2.01.
ażdego z nich można użyć jako punktu początkowego w metodzie Newtona, ak to zrobiono w poprzednim przykładzie. Ścieżkę generowaną przez tę motopię pokazuje rys. 3.9. •
.;2
Finisz
2.0
I.O
Start
(3.6.7)
(1<;j<;n+1),
f i xo jak w poprzednim
(3.6.7) i
= -6-426, 6(0) =
chodne w tym układzie oblicza aje następujące dwa punkty:
gdzie Aj jest macierzą kwadratową stopnia n, wynikającą z A przez wykreślenie j-tej kolumny; symbol det oznacza wyznacznik macierzy. Zilustrujmy ten formallzm za pomocą zadania z przykł. 3.6.1. PRZYKŁAD
postać
[~~i [o] .
są
7J} = (-l)i+l det Aj
(3.6.6) ma teraz
-66] = 6 ~~ o
s = 0.087, s = 0.088,
s zmienia się od O, jak t. Wartością początkową dla x jest x(O) = xo. Tak więc dla równania różniczkowego (3.6.6) są dostępne odpowiednie wartości
różniczkowe
t(O) =O, 1, e~ = -146 +6, 6(0) = 1. e~
h'(y(s))y'(s) =O.
f ig
Równanie
Jest jednak wygodniej ~iczkowe w postaci ~~\i~
y = (t,6,6, ... ,en),
Ponieważ
125
3.6. METODY HOMOTOPII I KONTYNUACJI
przykładzie
-3.0
-2.0
-I.O
o
RYS. 3.9. Krzywa generowana w
I.O przykł.
3.6.3
mamy Wadą metody zastosowanej w powyższym przykładzie jest to, że a prio.e znamy wartości s odpowiadającej wartości t = 1. W praktyce może \wymagać wielu prób obliczeń.
:
126
3. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
LEMAT 3.6.4. Niech A będzie macierzą nx (n+l). Rozwiązanie równania jednorodnego Ax = O jest dane wzorem x j = ( -1 )j det Aj, gdzie Aj jest macierzą A bez j-tej kolumny.
przykład
i-ty, wiersz macierzy A: i do1, · oczywiście osobliwą, skoro jej dwa wiersze są identyczne. Rozwijając wy~· :.•. znacznik macierzy B względem górnego wiersza, otrzymujemy Dowód. Wybierzmy dowolny, na
łączmy jego kopię nad A. Daje to macierz kwadratową B stopnia
n+l j=l
Ponieważ
Związki
L llijXj.
j=l
więc
jest tak dla i = 1, 2, ... , n,
•
Ax = O.
z metodą Newtona metodami homotopii i Newtona są ściślejsze na pierwszy rzut oka. Zacznijmy od homotopii
niż może się
h(t,x) = f(x) - e-tf(xo). Parametr t zmienia na której
się
tu od O do oo. Szukamy krzywej
(ścieżki)
x = x(t),
x'(t) =
, ·r·" ....
,
~
, . .
,
=b i • Zan;i.ierza~y przesuwać się od
••
,
x ~O} ...,
x<0 > .kolejno do .innych punktów, pozostając zawsze w :Fi zwiększając funkcję celu cT x. Jest oczywiste, że jeśli przesu'·~amy się' ż!. x<0>'do x musi leżeć w jądrze macierzy .A ':(zob. przypis nas. 141), tj. ma być A(x< 1) ·:-' ·x<0 >) = O. Powinrtiśmy szukać krzywej t H x(t) w zbiorze dopuszczalnym, startując· z x< 0> i zmierzając do rozwiązania zadania na ekstremum. Ma .przy ty:L9. być }vi. ·x(t) >:o dla t >:o. · ~. 3 •.. cT x(t).rośnie dla t;?: O.
. .„. ... · KrzY-wą' określimy za pomocą zagad~ieńia .początko:wego
różniczkowanie względem
t prowadzi do równania różniczkowego: '
opisującego ścieżkę:
O= f'(x(t))x'(t)
.'..Metodę homotopii illożlla zastosować takze w zadanf~cii p~ogramowanfa' liniowego (rozważanych w podrozdz .. 10.3). Takie podejście prowadzi w naturalny sposób do algorytmu Karmarka~a (1984]. Komentując w tym kontekście metodę homotopii, wzorujemy się ściśle na opisie, który podali Brophy , i Smith (1988]. Czytelnik, który zechce zbadać te pomysły dokładniej, może \ pożytkiem wykorzystać inne publikacje. ' „ · Rozważmy standardowe zadanie programowania liniowego: znaleźć maksimum cT x przy ograniczeniach Ax =bi x;?: O. Wyżej jest c E llłn, x E llłn, b E JR~, a A jest macierzą rri X n. Zaczynamy od : jakiegąkolwiek punktu dopuszczal./iego x< 0 >, spełniając:ego z definicji podane wyżej ogr'aniczenia. Zbiór dopuszc~alny jest określony wzorem·
.2. Ax(t)" = b dla t;?: O.
O= h(t,x(t)) = f(x(t)) - e-tf(xo). Jak zwykle,
·, Programowanie liniowe
F·.= {x E llłn: Ax
Związki między wydawać
n+
n+l
O= detB = L:(-l)i+ 1 aij detAj = -
127
3.6. METODY HOMOTOPII I KONTYNUACJI
x' = f(x),
x(O)
= x(o).
(3.6.9)
'
+ e-tf(xo) =
f'(x(t))x'(t)
+ f(x(t)),
(3.6.8)
-[!' (x(t))r 1 f (x(t)).
Rozwiązując to równanie różniczkowe metodą Eulera rozdz. 8.2) z krokiem 1, otrzymujemy wzór
(opisaną
Z.adaniem, jakie przed nami stoi, jest wyznaczenie właściwego f. Aby spełnić warunek 1, postępujemy tak, żeby ~Ówczas gdy jakaś składowa Xi zbliża _'się do O, p~ędkość x~(t) jej zmiany także dążyła do.O: .. Można to osiągnąć P,rzyjmując, że dla macierzy przekątniowej ·
w pod-
D(x) = diag(x1, x2, ... , Xn) · .dla p'ewnej funkcji ograniczonej G jest . (3.6.10)
f(x) = D(x)G(x). który oczywiście określa metodę Newtona. Rzecz jasna, można oczekhyać, . że rozwiązując równanie (3.6. 7) bardziej wyrafinowaną metodą numeryczn'ą · i ze zmiennym krokiem, otrzymamy lepsze wyniki (te tematy są omawiane . w rozdz. 8).
tal~m
·>
""· .~-l'
przypadku z (3.6.9) i (3.6:10)
f
·xi;;=,xiGi(x) •
.oczy-Wiście x~ -+ O, jeśli Xi -+O.
wy~ika, że
'
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
132
Wygodnym cierze. Powyższy
narzędziem upraszczającym układ można wyrazić
opis w postaci
4.1. ALGEBRA MACIERZY
układów równań są
ma-
Jeśli A jest macierzą, to jej element znajdujący się na przecięciu i-tego wiersza i j-tej kolumny oznaczamy symbolami aij lub (A)ij. Jeśli więc A jest ·
a po oznaczeniu odpowiednich macierzy symbolami A, x i b - w postaci
AT=
Ax=b.
4.1. Algebra macierzy Zapoznamy się teraz z podstawowymi pojęciami teorii macierzy. Uzupełnia;.\
133
3.0 6.2 1.1 o.o [ -0.12 0.15
0.6 9.3] -4.0 2.1 . 1.3 8.2
'.Macierz A taką, że A= AT, nazywamy macierzą symetryczną; oczywiście ''est ona kwadratowa. Macierz stopnia n
jący materiał znajdzie się w następnych podrozdziałach, tam gdzie to będzie~
potrzebne 1>. Większości czytelników wystarczy zapewne pobieżne przejrze-] · nie tego podrozdziału.
I:=
r~o .~o .:...: .~1 1
Podstawowe
pojęcia
Macierz jest prostokąt~~ tablic~ li.czb, np. jedną z następujący~h: 3.0 1.1 -0.12] 6.2 o.o 0.15 0.6 -4.0 1.3 ' [ 9.3 2.1 8.2
[ 3 6
11
7
-17]'
[
3.2 -4.7 0.11
l
.
Są
to odpowiednio macierze: 4 x 3, 1x4 i 3 x 1. Określamy w ten sposób roz~ miar macierzy: na pierwszym miejscu liczbę jej wierszy (linii poziomych)\ a na drugim - liczbę kolumn (linii pionowych). Macierz 1 x n nazywamy także wektorem wierszowym, a macierz m x 1 - wektorem kolumnowym al.; bo po prostu wektorem 2 ). Macierz n x n nazywamy macierzą kwadratową,· a liczbę n - jej stopniem (jest on zatem określony tylko dla takich właśnie' macierzy). W tym rozdziale, poza fragmentem podrozdz. 4.6, autorzy ograniczają się do dziedziny rzeczywistej, jednak większość definicji pozostaje poprawna w dziedzinie zespolonej, której dotyczy rozdz. 5 (przyp. tłum.). 2) Wektor kolumnowy o składowych Xi, x 2 , ... , Xn, czyli [x1 x2 ... Xn]T, będzie - tr . dycyjnie - oznaczany prościej: (x 1 , x 2 , ••• , xn). Te właśnie wektory są elementami pd strzeni ]Rn lub, w przypadku zespolonym, en (przyp. tłum.).
ywamy macierzą jednostkową. Ma ona własność I A = A = AI dla dolnej macierzy A stopnia n 3 ). · Jeśli A jest macierzą, a >. skalarem (czyli tu: liczbą rzeczywistą), to cierz >.A jest zdefiniowana wzorem (>.A)ij := >.aij· Oczywiście, -A znay to samo, co (-l)A. Jeśli A= (aij) i B =(bij) są macierzami m x n, to eh suma A+ B jest określona wzorem (A+ B)ij := aij +bij· Jeśli A jest acierzą m x p, a B jest macierzą p x n, to ich iloczyn AB jest macierzą x n o elementach p
(AB)ij :=
2: aikbkj
(1
< i < m, 1 < j < n)
k=l
rzeba pamiętać, że mnożenie macierzy - w przeciwieństwie do mnożenia zb - nie jest przemienne, tj. zwykle AB "I BA, a nawet istnienie jednego tych iloczynów nie implikuje istnienia drugiego). Oto kilka przykładów
1J.
1)
I'
Ogólniej, macierz A = ( a;j) (kwadratowa lub nie) jest przekątniowa, jeśli a;j = O przekątniową kwadratową o elementach a;; na jej głównej przekątnej acza się symbolem diag(aii)· Macierz trójprzekątniowa jest taką macierzą kwadratową, i:l.;j =O, jeśli tylko li- il > 1. Macierz trójkątna górna (dolna) jest taka, że aii =O dla J (odpowiednio, dla i < j) (przyp. tłum.). 3)
'i# j. Macierz
134
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
" ,'/
tych
działań
3 [; 4
[ ;4
na macierzach:
-~] -4
= [
~ 12
erwszego
9]
, Aai1X1
-3
2
[
~
12
układu
/',~
odpowiada i-te równanie
+ ... + AainXn =
Abi
ugiego układu. Te równania mogą być spełnione tylko jednocześnie, gdyż A -:f O. Na koniec rozważmy operację typu 3, wyk~naną na wnaniu (4.1.1) i równaniu
-12
-~] + [~8 -~]
-4
135
4.1. ALGEBRA MACIERZY
·założenia
-:]
-2
[~ !=il H!l [-~~ Dla układów równań liniowych ność. Niech będą dane dwa układy n
(4.1.2)
1~
aje ona następujące i-te równanie drugiego układu:
13] .
ważnym pojęciem równań
+ .. : + (ain + Aajn)xn·~ b.i + Abj·;· t~ ·rów~~ńie oczywiści~ nie. zmienia si~. JeŚli x ~~ei~i~ . , (ail.~ Aaj.1)x1
-2 jest ich równoważ z n niewiadomymi:
(4.1:3)
pierwszy ul~h;1d, m.in. jego i-te i j-te równanie„ to spełnia też równanfo (4.1.3). td.tugiej strony, jeśli x jest .rozwiązaniem układu Bx. = d, to zachodzi {2) i (4·:1:3). Odejmując stron..aini od (4.l.3) ·.i-ów:nanie (4.1.2) pomnożo :prze~ Ą, ~ostajemy i-te róv.:nanie.(4.1.1) p~ęrwszego układu. • więc
0
Ax=b,
Bx=d.
Takie układy są równoważne, jeśli mają identyczne rozwiązania. Tak więc, zamiast pewnego układu równań możemy rozwiązywać dowolny, równow~ż-·,'. ny mu układ; nie stracimy przez to żadnego rozwiązania, żadne nowe też.się.' nie pojawi. Ten prosty pomysł jest podstawą stosowanych procedur nume-. rycznych. Chcąc mianowicie rozwiązać dany układ równań, przekształc~~ go za pomocą pewnych elementarnych operacji na prostszy układ rówriO.. ' ważny i dopiero ten rozwiązujemy. . . \ ,. Operacje elementarne zapowiedziane w poprzednim akapicie dzielą sii;; · na trzy rodzaje (w ich opisie ei oznacza i-te równanie układu): · 1. Przestawienie dwóch równań w układzie: ei ł--7 ei. 2. Pomnożenie obu stron równania przez liczbę różną od O: Aei-+ ei. 3. Dodanie stronami do równania wielokrotności innego równania, czyli.· ei+ .Ąt:i -+ei, gdzie i -:f j.
ot
l
'
•
••
•
·.4 i~B.są fa~mi macierzanli;•że
AB= I, to ~{>wimy,·że B jest prawą rotn:óścią macierzy A, natomiast A jest lewą 'odwrotnością macierzy B. 'fnp. '"
" . ·.·
·i
'
.
. go przykładu wynika, że jeśli macierz ma prawą odwrotność, to nie musi ~ 1 .ona określona jednoznacznie. Prostsza sytuacja, jak zobaczymy niżej, a miejsce dla macierzy kwadratowych. "
"'
4.1.1. Jeśli układ równań wynika z innego układu przez .ci'qfl.' skończony operacji elementarnych, to te dwa ·układy są równoważne.. '
TWIERDZENIE
••.•
Dowód. Wystarczy rozważyć skutek zastosowania pojedynczej operac]i,.~·.J Niech przekształca ona układ Ax = b w układ Bx = d. W przypadku_: operacji typu 1 te dwa układy składają się z tych samych równań, chociaż, inaczej uporządkowanych. Dlatego rozwiązanie x pierwszego układu spełnia•. drugi układ i na odwrót. W przypadku operacji typu 2 i-temu równaniu .r. ai1X1 + ... + ainXn = bi (4 ..1.1),
TWIERDZENIE
4.1.2. Macierz kwadratowa· ma co
najwyżej jedną prawą
od-
wrotność.
s„'Dowód .. Nie.ch będzie AB= I, gdzie A, B, I są macierzami stopnia n. 'ch AU) oznaczaj-tą kolunmę niacierzY,.A, ~. !(~) ~ .~-tą,,k~lumnę macie1; 'z ·r
1
" n
L
i=cl.
bjkA (j) = J(k)
(1
~
k
~n) .
136
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
[~ o ~] ["li o [~ Ol ["11
Każda kolumna macierzy I jest więc kombinacją liniową kolumn :rri.acierzy A:
o
>.
Ponieważ
kolumny macierzy jednostkowej są bazą przestrzeni llłn, więc to samo jest prawdą dla kolumn macierzy A. 'l'o zaś oznacza, że współczynniki bjk w powyższych równościach są określone jednoznacznie. • 4.1.3. Jeśli A i B I, to BA =I.
TWIERDZENIE
AB
=
Dowód. Niech
będzie
C
są
~BA-
macierzami kwadratowymi takimi,
1
że
Z dwóch ostatnich twierdzeń wynika, że jeśli macierz kwadratowa Ą. · ma prawą odwrotność B, to jest ona jedyna i BA= AB= I. Macierz I{ nazywamy wtedy krócej odwrotnością macierzy A albo macierzą odwrotną , względem A, o tej ostatniej zaś mówimy, że jest nieosobliwa. Qczywiśei~ wtedy B też jest nieosobliwa, a jej odwrotnością jest A. Wyrażamy. to, pisząc B = A- 1 i A = B- 1 • Oto przykład taldej zależności: ..
[-; ;] [1 2] [1 2] [-i }] [1o o] . 3 4
=
3 4
2
-2
=
1
Jeśli macierz A jest nieosobliwa, to układ równań Ax = b ma rozwiąza,.: = A- 1 b. Gdy znamy już odwrotność A- 1 , to ostatnia równość pozwala, znaleźć wektor x. Nie należy jednak obliczać tej odwrotności tylko w tym celu. Dalej opisano inne metody rozwiązywania układu Ax = b, które są bardziej efektywne i dają dokładniejsze wyniki. Operacje elementarne, o których już była mowa, można interpretować - jak zaraz zobaczymy- jako mnożenie macierzy. Macierzą elementarną jest taka macierz stopnia n, która powstaje z macierzy jednostkowej stopnia iiJ przez wykonanie którejś z operacji elementarnych. Te operacje, wyrażone za · pomocą wierszy As macierzy A, są następujące; 1. Zaiµiana dwóch wierszy: As~ At. 2. Mnożenie wiersza przez niezerową stałą: >.As-+ As. 3. Dodanie do wiersza wielokrotności innego wiersza: As+ >.At-+ As. Każdą z tych operacji można wykonać, mnożąc macierz A z lewej strony przez pewną macierz elementarną. Oto przykłady ilustrujące trzy typy operacji: nie x
[H ~]
ai2 a22 a32
a13] a23
a33
=
[au
a31
a21
a12
a21
a22
a31
a32 a12
a21
a22
a31
a32
""] ""] a23
[au
>.a21
>.a22
a33
a31
a32
a23
=
a33
[
ai2
a13
a12
a11
a21
>.a21
l
>.a23 , a33 a22
+ a31
>.a22
+ a32
013
l
a23 . >.a23 + a33
· . Aby wykonać na A ciąg operacji elementarnych, wprowadzamy odpoednie macierze elementarne E1, E2, ... , Em i tworzymy macierz
I+ B. Wtedy
Dlatego C (jak i B) jest prawą odwrotnością macierzy A. Na mocy tw. 4.1.2 jest B = C, czyli BA = I. •
-2
O 1
>.
AC = ABA - AI+ AB = A - A+ I= I.
2
137
4.1. ALGEBRA MACIERZY
Jeśli macierz A jest nieosobliwa, to stosując do niej ciąg operacji ele, entarnych można ją zredukować do macierzy jednostkowej:
'
·1
ąd wynika, że A- 1
= EmEm-1 ... E2E1: Inaczej
mówiąc, odwrotność A- 1
'ożna otrzymać stosując
kazujący
do macierzy I ten sam ciąg operacji. Oto przykład obliczanie macierzy odwrotnej: korzystając z macierzy elemen-
nych
E1 :=
E3
:=
A=
1oo ~]
H [~
[:
1o ~]
E2 :=
o 1 [j o ~]
E4 :=
[~
1oo -~i
[~
1oo ~]
-2
2 3 4
[~
~] 1 ~] 2
4
[~ ~l · 2
1o
=I,
1oo ~]
H
[-:
-2
=E1I,
1oo ~] =
E2E1I,
138
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
o
E3E2E1A=
[~ o ~] [-i o [~ o gl· [-~ 1
-2 1
o
-2
1
E4E3E2E1A=
1
TWIERDZENIE
'przypadku wszystkie wartości własne macierzy (określone dalej) są rzeczyDodajmy, że na og9J..nię.jęęt łatwo ustaliG I].ą pqds.tą.w.ię, .. definicji, czy macierz jest dodatnio określona, gdyż wymaga to sprawdzenia pewnej własności dla każdego x '=f. O. . . Nieco szerszą klasę tworzą macierze dodatnio półokreślone, tj. takie, że .xT Ax ;;>-: O dla każdego x E ]Rn~
~:,..y.ri13tęj. <;ląqa~nie.
= E3E2E1I,
o -~i
-2 1
-2
~]
= E4E3E2E1I = A- 1 .
4.1.4. Dla macierzy kwadratowej A stopnia n następują&~:
własności są równoważne:
Często jest wygodnie podzielić macierze na podmacierze czyli bloki i mnożyć macierze tak, jakby te bloki były liczbami: 6 )
1. Istnieje odwrotność macierzy A, czyli ta macierz jest nieosobliwa. 2. Wyznacznik macierzy A jest różny od O4 ).
3. Wiersze macierzy A
tworzą bazę
przestrzeni ]Rn. przestrzeni ]Rn. ]Rn określone przez macierz A jest (jest wzajemnie jednoznaczne). Odwzorowanie z 5 jest suriekcją (odwzorowanie „na"). Z równości Ax =O wynika, że x =O. Dla każdego b E ]Rn istnieje dokładnie jedno x E ]Rn Ax=b. Macierz A jest iloczynem macierzy elementarnych. Liczba O nie jest wartością własną macierzy A 5 ).
4. Kolumny macierzy A 5. Odwzorowanie ]Rn na 6.
7. 8.
9.
10.
1-i
iniekcją
·
. ~.
2 -3 1
=
7
2
5]
~I
1 o 1 2. -1„1 ·· 2 o 1 o 1 1 -1 1 o o 2 1 o -2
o„ .„1, l
··~1
1 1 2 1 1· 1
=
3 o 2 . 2 -2 1 4 o -1 o 1 2 1 6 2 3
r
-3 3
o.~naczając powyższe bloki prostszymi 'symbolami, można tę równość napi-
.sać
tak:
.
·
·
·
[~ ~]'
gdyż
.. xTAx= [x1
x2]
[~ ~] [~~]
r'
=(x1+x2) 2 +xi+x~>0,
jeśli tylko x1 =/:- O lub x 2 =j:. O. Występujący wyżej iloczyn x T Ax nazywa-
my nio
2 1 -1 o 1 1 o -1 1 -1 1 o l· -1 o o 1 1 o 1 2 1
tworzą bazę
Ważnym rodzajem macierzy są macierze dodatnio określone. Macierz A jest z definicji dodatnio określona, jeśli x T Ax > O dla Wdego niezerowego . wektora x E :!Rn. Taką własność ma na przykład macierz
A=
139
4.1. ALGEBRA MACIERZY
formą kwadratową.
Z
zadań
-1
15-17 wynika, że badając macierze dodatdo macierzy symetrycznych. W takim
określone możemy ograniczyć się
Autorzy przyjmują, że pojęcie wyznacznika jest znane. Można zapoznać się z' nhn :. w wielu podręcznikach algebry (przyp. tłum.). 5 ) Odwzorowanie wymienione w 5 polega na przekształceni u każdego wektora x. na wektor Ax. Wartości własne macierzy są zdefiniowane w podrozdz. 4.6 (przyp. tłum.).:, ;
. [ 1 o o 1]~~"i
: o'
4)
·"''
.;
6)
~] ~ [i
2 7] .
1
Macierz blokowa powstaje przez podział na części liniami p~ziomymi lub pionowymi
;zecinającymi całą macierz. Dlatego bloki leżące obok siebie mają tę samą liczbę wierszy,
blo~i le~ące jeden nad drugim - tę samą' liczbę kolumn. (prZYP.· tłum).
·
140
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Aby sformułować ogólny wynik dotyczący mnożenia macierzy blok0wych, przyjmijmy, że macierze A, B i C są w następujący sposób podzielone na bloki:
A =
[.~:: -~~ ..
Ami
c=
.. : : : .
Am2
~::]
B
=
Bn2
Cm2
5.
i
jeśli
Dowód. Niech Aij będzie macierzą rozmiaru mi x nj, a Bij - macierzą Ponieważ iloczyn AisBsj istnieje, więc ns = ms dla każdego s. Stąd wynika, że Cij jest macierzą mi X nj. Rozważmy teraz dowolny element Cij macierzy C. Przypuśćmy, że Cij leży w bloku Crs, a dokładniej w jego p-tym wierszu i ą-tej kolumnie. Stąd
dodawanie i mnożenie macierzy trójkątnych górnych (dolnych) takich macierzy przez skalar dają macierze tego samego typu.
Rozważmy układ równań liniowych Ax = b, gdzie A jest macierzą m x n, x wektorem n x 1, ab - wektorem m X 1. Niech A1, A2, ... , An będą kolumnami macierzy A. Udowodnić, że układ ma rozwiązanie wtedy i tylko wtedy, gdy b należy do przestrzeni rozpiętej na tych kolumnach. Udowodnić, że jeśli są ,one liniowo niezależne, to układ ma co najwyżej jedno rozwiązanie.
8. Niech E(p, q, >.), gdzie p =/= q, będzie macierzą, która powstaje z macierzy I przez dodanie ą-tego wiersza pomnożonego przez>. do p-tego wiersza. Wykazać,
(4.1.5)
że:
. jej n
taką samą
zmianę,
nt
(b) dla dowolnej macierzy A iloczyn AE(p, q, >.)wynika z A przez dodanie p-tej 1 kolumny pomnożonej przez >. do ą-tej kolumny, (c) E(p, q, >.)- 1 = E(p, q, ->.).
L (Art)pa(Bts)aą·
(W (a) i (b) rozmiary macierzy A i E muszą pozwalać na ich mnożenie).
= L(ArtBts)pą =
(LArtBts) t=l
= L
odwrotności?
(a) dla dowolnej macierzy A iloczyn E(p, q, >.)A wynika z A przez
= (Crs)pą = n
od jej prawej
6 •. Wykazać, że jeśli macierz trójkątna górna (dolna) jest nieosobliwa, to jej odwrotność jest trójkątna górna (odpowiednio, dolna). Wykazać, że jeśli dana macierz powyższego typu ma jedynki na głównej przekątnej, to tę samą włas ność ma jej odwrotność.
temu
Cij
Udowodnić, że
oraz określony
może być różna
Udowodnić, że skutki każdej operacji elementarnej operacji tego samego typu.
··· Cmk
4.1.5. Jeśli każdy z iloczyn6w AisBsj jest Cij = I:~=l AisBsj, to C =AB.
macierzy
Wykazać, że operacja elementarna pierwszego typu jest równoważna złoże niu czterech operacji dwóch pozostałych typów, w których wystarczy dopuścić wartości >. = ± 1.
4.
TWIERDZENIE
odwrotność
3. Czy tw. 4.1.1 jest prawdziwe dla od liczby niewiadomych?
· · · Bnk
[~: . _g~ .. : :.. ~:1 Cml
1. Czy lewa
2.
[~::_ .. ~::_ ..·.· .· .. ~::] Bn1
··· Amn
141
4.1. ALGEBRA MACIERZY
pq
t=l
t=l a=l
9.
Wobec (4.1.4) elementy (Art)pa leżą w i-tym wierszu macierzy A i zapełniają go w całości, gdyż 1 ~ t ~ n i 1 ~ a ~ nt. Podobnie rozumując, stwierdzamy na mocy (4.1.5), że elementy (Bts)aą zapełniają, w naturalnym porządku, j-tą kolumnę macierzy B. Dlatego V
Cii = L(A)i,a(B),ej = (AB)ij, ,8=1
gdzie v jest liczbą kolumn macierzy A i zarazem (przed ich podziałem na bloki).
liczbą
wierszy macierzy B •
Udowodnić, że macierz, w której każdy wiersz i każda kolumna . kładnie jeden element •niezerowy, jest nieosobliwa.
zawierają
do-
!·!
i; 7) Podajemy definicje dodatkowych pojęć z teorii macierzy, potrzebne w tych zadaiach i dalej. Do przestrzeni wartości macierzy A rozmiaru m x n należy każdy wektor ,'Ę Rm taki, że dla pewnego x E Rn jest y = Ax. Jest to podprzestrzeń liniowa przestrzeRm. Jej wymiar (równy liczbie niezależnych liniowo kolumn (lub wierszy] macierzy A) ywamy rzędem macierzy A i oznaczamy rank A. Dla macierzy stopnia n rząd jest rówk wtedy i tylko wtedy, gdy jest ona nieosobliwa. Jądrem macierzy A rozmiaru m X n ywamy zbiór wszystkich wek.torów x E ]Rn takich, że Ax =O. Jądro macierzy kwadra. nieosobliwej zawiera tylko wektor zerowy. Ogólnie, dla macierzy rozmiaru m x n, jest podprzestrzeń liniowa przestrzeni JR". Jej wymiar, zwiększony o rankA, jest równy n , zyp. tłum.).
142
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
10. Czy
(a)
poniższe
[1 -1] 1
macierze
1 '
są
(b) [:
dodatnio
4.2.
określone?
ROZKŁADY
143
LU
21. Niech A będzie macierzą nieosobliwą stopnia n i niech u i v będą wektorami z ]Rn. Znaleźć warunki konieczne i dostateczne na to, żeby macierz
~ ~]
była
nieosobliwa i znaleźć wyrażenie dla jej odwrotności, /22.' Niech.n będzie.następującą maciąrzą. blokową: . .
11. Dla jakich a macierz
jeśli
istnieje.
.
[~ ~] . jest dodatnio
określona?
12. Czy z dodatniej określoności macierzy A wynika ta sama własność dla A-~7 13 . Zna1ezc „ warunlc1· na a,
bi· c gwarantujące, · ze ·
· macierz
[ab cb]
jest dodatnio
pół określona.
14. Udowodnić, że (AB)T = BT AT, jeśli tylko iloczyn AB istnieje. 15. Macierz kwadratowa A jest skośnosymetryczna, jeśli AT= -A. Udowodnić, że jeśli A jest tak,1 macierzą, to x T Ax =O dla każdego x. 16. (cd.). Udowodnić, że elementy przekątniowe macierzy skośnosymetrycznej są równe O. Ponadto udowodnić, że jeśli stopień tej macierzy jest nieparzysty, to jej wyznacznik znika. 17. (cd.). Dla macierzy kwadratowej A definiujemy Ao := HA+AT) i A1 := ~(A~, AT). Udowodnić, że macierz A 0 jest symetryczna, A 1 jest skośnosymetrycżna, A= Ao+A1 i xT Ax = xT A 0 x dla każdego x. To tłumaczy, dlaczego rozważają,ą;; formy kwadratowe, możemy ograniczyć się do macierzy symetrycznych. 18. Podać przykład macierzy symetrycznej A, której wszystkie elementy są dodat:.· nie i dla której pewne wartości x T Ax są ujemne. · 19. Niech
A:=[~ ~] '
...
będzie macierzą blokową, w której wszystkie bloki są kwadratowe stopnia Udowodnić, że jeśli macierz B - I jest nieosobliwa, to dla k): 1 jest
(Bk - J)(B I
J)-10]
n. „"'.
.
20. (cd.). Odwołując się do poprzedniego zadania, znaleźć strukturę blokową :rń;i.cierzy Ak, gdy .•
.Udowodnić, że jeśli różnica A - BC jest nieosobliwa, to taka jest również macierz D. 1 23. (cd.). Udowodnić mocniejszy wynik: że wy~iar jądra macierzy D jest nie więk szy od wyrn,iaru jądra ~acierzy A - By~. .ZADANIA KOMPUTEROWE
4.1
Czytelnikom, którycli interesują eksperymenty obliczeniowe, sugerujemy projekt !d~ielący się na kilka etapów i polegający na napisaniu procedur wykonujących ~·odstawowe zadania algebry liniowej. Zestaw tych procedur pozwoliłby rozwiązy 'wać układy równań liniowych, rozkładać macierze.:r;ia czynniki różnych typów oraz ~blicz8.ć. wartości i: ~ektory własne. Kolejnymi etapami projektu są następujące 1 ~adanią. komputero~e: Kl, 4.2.K2, 4.2.K4, wszystkie z podrozdz. 4.3 i zad. 4.4.Kl. ;Kl. Napis~ć i sprawdzić następufące procedury; . (a)· Store(n, x, y), która zastępuje wektory o n składowych takimże wektorem x: y +- x. „ .. .• .. (b) Prod(m, n,A,x;y), która mnoży macierz A'rozmiaru·m x n z pra:wej sti:o·:·ny przez wektor x o n składowych:i' zapamiętuje wynik jako wektory o. m składowych: y +- Ax. ' . .'.(c)"Mu,lt(k,m,n,A,B, O), która ol;>licza:'G;+- .AB dla macierzy A .rozmiaru .." · k)< '[1;' B rozmiaru m x n; O jest więc macierzą k x n.. · . (d) :Dot(;.,,, x, y, a),·która w arytmetyce podwójnej precyzji oblicza iloczyn skalarny wektorów x i yo n składowych w pojedynczej precyzji i podstawia .. 'VJ'.nik, skrócony do pojedynczej precyzji, pod a: a+- I:~=l XiYi·
.. „„ .
. :~2.. Rpzkłady LU
oz~aŻ!fiY układ n równań liniowycli; ~ .'Q- nie~i~domymi; który - jak 'ierp:y'...:. można napisać w postaci .·' ". .
,„ ... .
.„. ,:
[all
'. ;.:· .
ainl [x1] [b1.1
a12
~-2~ •. -~~2... ·•·.·. •• -~2-~ ~2.
ani . an2
···
ann
Xn
.
.,b.~. bn
.
już
l
144
1,
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Oznaczając występujące tu macierze symbolami A, układ
x. i b, wyrażamy ten
po prostu tak:
4.2.
do
O
[~~: .. ~ .. ···....g1 r~~-1 ~ ·r-~1 · O
· ..
ann
Xn
bn
Taki układ rozkłada się na n oddzielnych równań i ma rozwiązanie
O
ann
...
Xn
input n, (aij), (bi) for i = n to 1 step -1 do Xi<-- (bi - LJ=i+l aiixi)/aii end do output (xi) W podobny sposób można łatwo rozwiązywać także inne układy rówtakie mianowicie, których macierz powstaje z macierzy trójkątnej przez i-zestawienie wierszy. Do tej klasy należy m.in. układ ań,
~:
;)
[:~] [~]
dpowiednie przestawienie tych Jeśli dla pewnego i jest aii =O i bi= O, to Xi może być dowolną liczbą. Jeśli natomiast aii =O i bi i= O, to układ nie ma rozwiązania. Załóżmy teraz, że macierz A jest trójkątna dolna:
[~:.. -~~ ..··.... _g .1 r~~.1 r-~-1 =
an2
· · · ann
Xn
bn
Aby go rozwiązać, załóżmy, że aii i= O dla każdego i. Wtedy z pierwszego równania wyznaczamy x1. Znając już tę niewiadomą i podstawiając ją do drugiego równania, możemy wyznaczyć x 2. Postępując tak dalej, wyznaczamy kolejno x1, x2, ... , Xn - właśnie w tym porządku. Stosowany przy tym algorytm nazywamy podstawianiem w przód: input n, (Uij), (bi) for i = 1 to n do Xi <-- (bi - L::~:i llijXj) / aii end do output (xi)
bn
how załóżmy, że aii i= O dla 1 < i < n. Algorytm rozwiązania takiego kładu nazywamy podstawianiem wstecz:
[::
ani
trójkątna
[~~~ . ~~; . ·. ·.·. -~~~1 r~~.1 r-~-1
rozwiązania
Przyjrzymy się najpierw szczególnym układom, które można łatwo rozwią zać. Załóżmy na przykład, że macierz kwadratowa A stopnia n jest przekąt niowa:
O
145
LU
Ten sam pomysł można zastosować, gdy macierz układu jest órna, tj. gdy jej elementy poniżej głównej przekątnej znikają:
Ax=b. Układy łatwe
ROZKŁADY
równań dałoby układ
{4.2.1) z
macierzą trójkątną
olną:
„
[::~ a~2 ~ [~~] ]
a21
a22
a23
x3
= [::] b2
tóry można rozwiązać znaną już metodą. Możemy też jednak rozwiązywać ierwotny układ (4.2.1), chociaż nie w naturalnym porządku równań: 1, 2, 3, le w kolejności 3, 1, 2. Spróbujmy opisać dokładniej własność macierzy pokazaną wyżej na rzykładŻie. Niech pewien wiersz macierzy A, np. P1-szy, ma zera na pozy">1: ·ach 2, 3, ... , n. Niech inny, P2-gi, wiersz ma zera na pozycjach 3, 4, ... , n ''.Jeśli tak jest, to wierszy o numerachp1,p2, ... używamy odpowiednio do ·liczenia x1, x2, . . . Gdybyśmy ustawili wiersze w kolejności Pl, P2, ... , Pn, 1 powstałaby macierz trójkątna dolna. , , Jak można rozwiązać układ Ax = b, jeśli A jest spermutowaną macierzą ójkątną dolną lub górną? Załóżmy, że permutacja (p1,p2, ... ,pn) układu „2,. ':.,n) jest już w jakiś sposób wyznaczona. Modyfikując znany już '·,?~ytm, otrzymujemy algorytm podstawiania w przód dla spermutowanego ł,adu o macierzy trójkątnej dolnej:
146
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
J1;1 1 ~anej
input n, (aij), (bi), (pi) for i = 1 to n do Xi +- (bp, - I:~:i ap;jXj) /ap, i end do · output (xi)
Tu macierz A jest z założenia taka, że ap;j = O dla j > i oraz ap;i =/:- O dla·:, każdego i. Natomiast algorytm podstawiania wstecz dla spermutowanego układu o macierzy trójk<1:tnej górnej jest następujący: · · input n,(%), (bi), (Pi) for i = n to 1 step -1 do Xi +- (bp, - I:;j=i+l ap,jXj) /ap, i end do output (xi)
ROZKŁADY
4.2.
LU
Przypuśćmy, że macierz A można wyrazić jako iloczyn macierzy trójkątnej, dolnej Li trójkątnej górnej U: A= LU. Wtedy rozwiązywanie układu rów'-' nań Ax = b dzieli się na dwa etapy: ., . " rozwiązywanie Lz = b względem z, rozwiązywanie U x = z względem x. Wiemy już, że jest to łatwe, gdyż każdy z tych układów ma macierz tróf: kątną. · ·•·.' Pokażemy teraz, jak można znaleźć rozkład A= LU, jeśli tylko w ktc)-'. · rymś momencie obliczeń nie wystąpi dzielenie przez O. Nie każda mader.z'· 1 ma taki rozkład i kłopot z tym związany przedyskutujemy nieco później;." .•
.'li one istnieją, to mówimy, że A ma rozkład LU. Okazuje się, że równość = LU nie określa czynników L i U jednoznacznie. Istotnie, dla każdego i żna wybrać dowolną wartość różną od O dla jednej z liczb lii, uii (ale nie ~.obu). Byłoby np. naturalne przyjąć, że lii = 1 dla i= 1, 2, ... , n. Wtedy }est.jedynkowa trójk(/:tna dolna . .Inny oczywisty wybór jest taki, że Uii = 1 5J-.. każdego i. Wtedy .U jęst jedynkowa trójk<1:tna górna. Te dwa przypadki · .szczególnie ważne. · Aby opracować algorytm dla rozkładu LU, zaczynamy od wzoru na I/
.
•
,
n . '·
•
min(i,j)
'· · Uij ,;,,, 'EksUsj · s=l
=
·
L
l~sUsj.
;
. (4.2.2)
s=l
ykorzystano tu równości lis = O dla s > i oraz Usj = O· dla s > j. Każdy etap obliczeń wyznacza jeden nowy wiersz macierzy U i jedną wą kolumnę macierzy L. W k-tym kroku możemy więc założyć, że znamy ż poc~ątkowych k - 1 wierszy macierzy U i tyleż początkow}rch kolumn "acierzy L (dla k = 1 założenie jest ·oczywiście spełnion~). Przyjmując · (4.2.2), że i= j = k, mamy .
,, akk
·, ::;=
k-1.
L
lksUsk
+ lkkUkk·
s=l
·, ust~liwszy wartość jednego z elementów ukk, lkk, wyznaczamy drugi ~h. Znając już oba, stosujemy równość (4.2.2) ą.o obliczenia k-tego wier.macierzy U (wtedy i= k) i k-:tej kolumny ma~iei:zy L (wtedy j = k): k-1 I
Ukj
=
L lksUsj + lkkUkj
s=l k-1
L
„
·.
(4.2.3)
..
• aik lisU~k · · s=l ·
:=:
(k +1 <, j <,n),
.
+ likUkk
(4:2.4)
..
.,'." ~·'
;
'
"··-· .. „ ..
148
4.2.
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Jeśli lkk -=/:- O, jeśli Ukk -=/:-.O,
to na podstawie (4.2.3) obliczamy elementy Ukj· Podobnie" to (4.2.4) pozwala obliczyć elementy lik· Warto zauważyć, że te dwie czynności można wykonywać równolegle (tzn. w tym samym czasie). Pewne komputery to umożliwiają, co daje istotną oszczędność czasu; Kincaid i Oppe [1988] podają szczegóły takiego postępowania. Obliczenie k-tego wiersza macierzy U i k-tej kolumny macierzy L w opisany wyżej sposób zamyka k-ty krok obliczeń. W obliczeniach występuje dzielenie przez lkk i Ukki jeśli któraś z tych liczb znika, to na ogół, choć nie zawsze, nie możn~ zakończyć obliczeń; zob. zad. 38. . Algorytm opisany wyżej jest znany jako rozkład Doolittle 'a, jeśli macierz L ma być taka, że lii = 1 dla 1 ~ i ~ n i jako rozkład Grouta, gd~ macierz U ma być taka, że Uii = 1 dla 1 ~ i ~ n. Gdy U = LT, więc lii = u~r dla 1 ~ i ~ n, mówimy o rozkładzie Gholesky'ego 8 >. Metodę Cholesky'ego opiszemy szczegółowo później, gdyż wymaga specjalnych założeń o macieJ· rzy A: powinna ona być rzeczywista, symetryczna i dodatnio określona. .\. Który z wymienionych rozkładów jest lepszy? Powiemy tylko, że każd~ wiąże się z innym wariantem eliminacji Gaussa (podrozdz. 4.3) i że trzeba je wszystkie poznać, aby w pełni zrozumieć rozważane tu zagadnienie. Algorytm dowolnego rozkładu LU jest następujący: input n, (aii) for k = 1 to n do
·czególne własności komputerów o architekturze typu MIMD (multiple-intruction multiple-data), stosuje się różne techniki. I tak np., algorytmy ope.ujące na macierzach podzielonych na bloki pozwalają zmniejszyć częstość rzesyłania danych między różnymi poziomami pamięci. Specjalne wersje ozproszone podstawowych podprogramów algebry liniowej (BLAS) służą ako bloki obliczeniowe bądź komunikacyjne. Te możliwości wykorzystano ., takich bibliotekach programów jak LAPACK i ScaLAPACK. Odpowied~ informacje podają Anderson i in. [1995] oraz Dongarra i Walker [1995]. Dla rozkładu A= LU z (4.2.2) wynika n 2 równań z n 2 +n niewiadoymi elementami tych czynników; n elementów trzeba ustalić w znany już posób. Inny ich wybór może dać równania nieliniowe (zob. zad. 32). Algorytm rozkładu Doolittle' a jest następujący: input n, ( aij) for k = 1 to n do lkk .__
Przypomnijmy, że można równoczesme obliczać k-ty wiersz macierzy i k-tą kolumnę macierzy L; zob. zad. 35. Szczegóły algorytmów rozkładu macierzy na czynniki trójkątne dobiera się tak, aby jak najlepiej wykorzystać właściwości nowoczesnych koni~ puterów dużej mocy. Aby opracować algorytmy skalowalne, wykorzystując&
.„>
dalszym ciągu używa się też określenia metoda (lub algor1jtm) Doolittle'a, Crouta, Cholesk1J'ego rozkładu na czynniki. Ta ostatnia metoda jest też nazywana metodą pierwiastk6w kwadratow7Jch. Jej opis znajduje się w rękopisie Oholesky'ego z 1910 r., od-· nalezionym niedawno w archiwach paryskiej Ecole Polytechnique przez O. Brezinskiego. On też ustalił, że metodę, z powołaniem się na Oholesky'ego, opublikował Benoit w Bull.• Geodesique 2(1924), s. 67-77. Metodę odkrył na nowo Tadeusz Banachiewicz, polski astr nom, w latach 1938-39 (prz1Jp. tłum.)': · 8 >W
+ 1 to n
lik <-- ( aik -
= akk - L:!.:i lksUsk + 1 to n do
Ukj <-- ( akj -
k to n do
end do for i = k
lkkUkk
for j = k
1
=
Ukj <-- akj -
Wybrać wartość niezerową
i
149
LU
ROZKŁADY
.ozkład
podanym
wyżej
algorytmem, otrzymujemy
Doolittle'a:
Ol
30 5
1
o o i
O 1 O [60 O
1
20] 5 =:LU.
·'miast obliczać bezpośrednio dwa pozostałe rozkłady, można je otrzymać 'pbprzedniego. Umieszczając elementy przekątniowe macierzy U w macie·y- przekątniowej D, możemy napisać, że \,
1
2 1
o
-
150
~·-
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Przyjmując
LD, otrzymujemy rozkład Crouta:
L=
60 [20
4.2.
=/;O i za pomocą algorytmu Doolittle'a można wykonać · tępny etap obliczeń; w którym występują dzielenia ·przez ·te wielkości, ·' zyli znaleźć Lk+l i Uk+i· Prowadzi to ostatecznie do wniosku, że rozkład ·u macierzy A istnieje. •
O OOl [1o !1 ł
151
LU
ięc uu, u22, ... , ukk
A= 30 5
5
ROZKŁADY
o o
Aby otrzymać rozkład Cholesky'ego z iloczynu LDU, wyrażamy macierz·D·:· w postaci D 112 D 112 i mnożymy pierwszy czynnik przez L, a drugi przez U:··
.!] . 1 1
. o_zkład Choles~y' ego ·I•
.
··~·· .
.
.
.
•"
..
z
ak jui wspomniano, Andre Louis Cholesky zaproponował jedną wersji : zkładu macierzy na czynniki, typu LLT; użyteczną w pewnych sytuacjach . .dowodnił on następujący wynik:
=
TWIE~DZENIE 4.2.3. Jeśli macierz A.jest J·z.eczywi.sta, symetr'ljczna i do-
dafaio."ok~eślona, to ma ona jedyiw··~ozk}ad .na czynniki A = LLT, gdzie 'L jest macierzą trójkątną doln
W dalszym ciągu pisząc o rozkładzie LU, będziemy mieli na uwadze . jego najważniejszy typ, a mianowicie rozkład Doolittle' a A= LU, w który~·.· L jest macierzą jedynkową trójkątną dolną, a U - macierzą trójkątną górną'.·· Oto warunek dostateczny istnienia rozkładu LU macierzy kwadra-: towej: 4.2.2. Jeśli wszystkie minory główne macierzy kwadrata.-/ nieosobliwe, to ma ona rozkład LU.
TWIERDZENIE
wej A
są
Dowód. Zacznijmy od przypomnienia, cierzy A jest macierz
Ak =
że
. . ::. . ak2
=
(det Lk)( det Uk) =uu u22 ... Ukk>
„
x
'':·Lu= A =.Ar= uTLT
.
•::-·
·-
.•'.
.
'
bee czego
..
U(LT)-1 = L-1uT~·
"wa strona tej równości jest macierzą trójkątną górną, a prawa - trójkątną
''~ą (zob. zad. 4.1.6). Dlatego obie strony są równe pewnej macierzy prze-
iowej D. Ponieważ U(LT)- 1 = D, więc U= DLT i A= LDLT. Zgodnie d. 19 macierz D jest dodatp.io .określońa, czyli jej elementy dii są dodat.. Nie~h będzie D 112 := diag(y'dii). Wt~dy A= j,,j_,T, gdzie L = LD 112 . ·ę to .rozkład Cholesky'ego~ Dowód '.iegq jednoznaczności pozostawiamy zadanie. · . •
1
. . . akk
W algorytmie Doolittle'a można zmienić porządek obliczeń, a miano:.· wicie kolejno dla k = 1, 2, ... , n obliczać elementy lk1, lk2, ... , lkk macierzy L i elementy u1k, u2k, ... , Ukk macierzy U. Jest to wykonalne dla k = 1 i daj~ lu = 1 i uu = au = det Al =/; O. Załóżmy, że dla pewnego k naturalnego,· udało się obliczyć k początkowych wierszy macierzy L i k początkowycł:( kolumn macierzy U. Daje to rozkład minora Ak na czynniki Lk (jedy;nkowy · trójkątny dolny) i Uk (trójkątny górny). POnieważ
O=/; det Ak
x
k-tym minorem głównym ma-
l~~; ~~~ ~~~1 ak1
Dowód. Przypomnijmy, że macierz·A jest symetryczna i dodatnio okreona, jeśli A = AT i x T Ax > O dla każdego wektora x =/; O. St.ąd od razu '.··"ka, że ta macierz jest nieosobliwa, gdyż riie mo'ie 'przekształcić żadnego · k:tora =/;O :µa·o (tw. 4,t.4, yvłasność 7). Co. więcej, :rozyvażając szczególne 'J.Ctory postaci = (x1, x 2, .„ .. , Xb O,.: .. O),,w;ni~skujemy, że rów:nież mity wiodące główne macierzy A są dodatnio określone. . Na mocy tw. 4.2.2 ona rozkład .LU. Z symetrii macierŻy wynika, że t• • . •
o
'" W przypadku rozkładu LU Choles1:
. . '
lkk
i
.
= (akk ·
"
k-1
L
l~s)
·:s=l'
1/2
„
.. „.., . . ,„ . ~
.
łiły algorytm jest następujący:·. ':I.
,.
. :,-
(4.2.5)
!
I
152
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
4.2.
input n, (Uij) for k = 1 to n do <-- ( Ukk
i/lub dzieleń potrzebnych do odwrócenia macierzy jedynkowej trójkątnej dolnej. !5. Niech A będzie macierzą stopnia n, a (p1,P2, ... ,Pn) - taką permutacją zbioru (1, 2, ... , n), że i-ty wiersz macierzy zawiera niezerowe elementy tylko w ko.'.. lumnach pi,p 2 , ••• ,pi (i = 1, 2, ... , n). Napisać algorytm rozwiązania układu
-
end do end do output (lij) Twierdzenie 4.2.3 zapewnia, że oszacowanie
." Ax=b.
lkk'
> O.
Zauważmy, że
•· Niech układ Ax = b ma następującą własność: istnieją takie permutacje ··' (p 1 ,p2„ .. ,pn) i (ą1,ą2, ... ,ąn) zbioru (1,2„.„n), że dla każdego i równa. nie o numerze Pi zawiera tylko zmienne Xą,, Xą 2 , • •• , Xą 1 • Napisać efektywny ·i; alg9rytm rozwiązywania takiego układu. . Sprawdzić poprawność poniższego algorytmu rozwiązania układu U x = b.
(4.2.5)
k
akk
=
L
153
LU
'ii~ Znaleźć liczbę mnożeń
l:::i [~ 8 ) l/ 2 for i = k'+ 1 to n do lik <-- ( aik - 'l:::i lislks) /lkk lick
ROZKŁADY
l~ 8 ~ l~j
(j
~
k),
for j = n to 1 step -1 do
s=l
Xj <-- bj/Ujj
z którego wynika,
for i = 1 to j - 1 do
że
bi <-- bi -
UijXj
end do end do
(l~j~k).
Tak więc każdy element macierzy L jest ograniczony z góry przez pierwiastek kwadratowy z odpowiedniego elementu przekątniowego macierzy A. Dziękj temu elementy obliczanej macierzy nie są duże w stosunku do elementów danej macierzy, i to nawet bez wyboru elementów głównych (to pojęcie jes~ opisane w następnym podrozdziale). ;· Dodajmy, że w algorytmach Cholesky'ego i Doolittle'a iloczyny skalar- ' ne wektorów powinny być obliczane z podwójną precyzją; unikamy wtedy · nadmiernych błędów zaokrągleń; zob. zad. komputerowe 2.2.K6 9).
„
Opracować algorytmy rozwiązywania . cych przypadkach: ;·,(a) aii =O dla i+ j .:;;; n,
(b) Uij .
liniowego Ax = b w
następują
= O dla i + j > n + 1.
Udowodnić, że jeśli
pod warunkiem, .
układu
że
macierz nieosobliwa A ma rozkład LU, to jest on jedyny czynnik L jest macierzą jedynkową.
Udowodnić, że dla macierzy
A
= [~
i]
nie istnieje
rozkład
LU (to nie jest
prosta konsekwencja tw. 4.2.2). ZADANIA
4.2 IO) \','
1. Udowodnić, że algorytmy podstawiania wstecz i w przód w wersji z permuta.'. ; cjami pozwalają rozwiązać każdy:układ Ax = b z macierzą nieosobliwą A. '
2. (cd.). Znaleźć mach.
liczbę działań arytmetycznych .;.ykonywanych w tych algoryt~ .·.
3. Korzystając z równości = I, opracować algorytm obliczania odwrotnośc~· macierzy trójkątnej górnej. Założyć, że u- 1 istnieje, tj. że elementy przekl;!,t~. niowe macierzy U są niezerowe.
uu-
9 ) Jeśli
1
arytmetyka podwójnej precyzji nie jest dostępna, to można zalecić sumow~ nie składników w pojedynczej precyzji, ale za pomocą algorytmu Gilla-Mollera. Wtedy oszacowanie błędu sumy jest niezależne od liczby jej składników; zob. Jankowscy (1981*, s. 30] (przyp. tlum.). IO) We wszystkich zadaniach tego podrozdziału symbole L, U i D oznaczają odpowied-. nio macierz trójkątną dolną, trójkątną górną i przekątniową. Dlatego niżej podaje si~ explicite tylko, dodatkowe założenia o tych macierzach (przyp. tlum.).
) 1Pokazać, że każda macierz postaci
A
= [~ ~]
ma
rozkład
LU.
Pokazać, że
jeśli nawet
L jest macierzą jedynkową, to rozkład nie jest jedyny. (To zadanie ilustruje zasadę Olgi Taussky: Jeśli jakieś przypuszczenie dotyczące macierzy jest fałszywe, to na ogół można to wykazać już na przykładzie macierzy 2 X 2). • Pokazać, że każda z niżej podanych macierzy ma rozkład LU. Czy tak jest ':przy dodatkowym założeniu, że L jest macierzą jedynkową? wraz z
następnym
~\(~)A=[~ ~l
Udowodnić, że jeśli
{b)
A=[~ ~],
(c)
A=[~ ~l
macierz A jest nieosobliwa i ma rozkład LU, to jej wszystkie minory główne są też nieosobliwe. "··Sprawdzić, czy jeśli A ma rozkład LU, gdzie L jest macierzą jedynkową, to ma ••też taki rozkład z macierzą U jedynkową. :Podać algorytm odwracania macierzy A, której rozkład LU jest znany. Odwołać się do zad. 3 i zad. K2.
154
16. Udowodnić, że jeśli wszystkie minory wiodące główne macierzy A są nieosóbli-' 17. 18.
19.
20.
'·'""' we, to A= LDU, gdzie macierze L i U są jedynkowe. (cd.). Przy dod.atkowym założeniu, że A jest symetryczna, wykazać istnienie jej rozkładu LDLT, gdzie L jest jedynkowa. (cd.). Dla macierzy z poprzedniego zadania napisać algorytm konstrukcji podanego tam rozkładu; algorytm powinien być z grubsza dwukrotnie szybszy od standardowego algorytmu rozkładu na czynniki. Uwaga: Algorytm może. zawieść, jeśli pewne minory główne macierzy A są osobliwe. (Ta modyfikacja' algorytmu Cholesky'ego nie wymaga pierwiastkowania). Udowodnić, że A jest dodatnio określona, a B nieosobliwa wtedy i ty~ko wtedy, gdy iloczyn BABT jest dodatnio określony. · ·· Dla macierzy
A= [
~ -4
-4]
6
-17 -20
17 -17
znaleźć bezpośrednio (tj. nie korzystając z podanych dalej algorytmów elimi~ nacji) rozkład A= LDLT z macierzą L jedynkową. 21. Opracować algorytm bezpośredniego obliczania rozkładu A = UL, gdżie ina-:. cierz L jest jedynkowa. Podać algorytm rozwiązywania układu U Lx = b. . ' 22. Znaleźć rozkład LU (U - macierz jedynkowa) dla
A~[~-~~] 23.
17 16 1
4
25.
[;
~].
26 9
' ' • •
'
1 ~] znaleźć wszystkie rozkłady ~U i UL z macierzą L jedynkową. ~
.
.
• I "
.
'
•
.
30. ·z ~efinicji P-macierz 'jest taka, że aii = O ą1a "i·!f- j <,'n, a Q-macierz jest · P-macierzą, w której dodatkowo. ai,n-'-i+I" 1 dla i 1, 2, ... , n. Znaleźć ' . [ 3 15] rozkład PQ macierzy A = . _ 1 _ 1 · . algorytm rozkładu PQ danej macierzy oraz algorytm rozPQx = b. 2~ Wykazać, że jeśli w rozkładzie LU macierzy 2 x 2 ustalamy elementy l22 i u22, ' ,. to równania służące do wyznaczenia pÓzostałych elementów czynników L i U "f. · są nieliniowe. 3. Udowodnić, że jeśli macierz A jest symetryczna i dodatnio półokreślona, to ma ·.~ . rozkład LLT. · ,•; ; '·<~· ~ ._:. · • ·
1. (cd.).
Opracować
wiązywania układu
4„Znal~ź? 'warunki
konieczne i
do~~a~~~zne
rozkład LLT. l
na
te;, żeby macierz [~ ~] miała
· ·
•
.
.
•
• · ·.
•
5.. Niech Xi:j,k oznacza część k-tej kolumny, od elementu i-tego do ,i-tego, macie/ „ rzy X. Niech Xk,i:j będzie analogiczną częścią k-tego wiersza tej macierzy. (a) Po~ać, że równości (4.2.3) można wyrazić w postaci
gdzie M jest ·macierzą o wierszach Ui,k+I:n dla 1 ~ i ~ k __: 1. (b) W podobny sposób przekształcić równości (4.2.4).
-' .
~] ·
Znaleźć rozkład LU macierzy A= [~
10
,
Uk,k+l:n = (Ak,k+l:n - Lk,l:k-1M)/lkk,
33 64
jedynkowe. Powtórzyć zadanie, 26. Dla macierzy
~9. ma.A.,=,[~
.
24. Znaleźć bezpośrednio rozkład LLT (L - macierz z dodatnimi elementai:ni'n~ głównej przekątnej) dla 1
155
LU
7. Dla macierzy A symetrycznej i dodatnio określonej udowodnić jednoznaczność . rozkładu A= LLT takiego, że elementy. przekątniowe·<:zynnika L są dodatnie."'"·''" 8. Udowodnić, że jeśli macierz A jest symetryczna, to w jej rozkładzie LU kolumny czynnika L są wielokrotnościami wierszy czynnika U.
1
Znaleźć rozkład LLT dla macierzy A=
2
ROZKŁADY
4.2.
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
1 ~], w którym obie macierze Li ~-są,
zmieniając
16 na 15.
.
,~]
znaleźć rozkład LU z macierzą L o elementach przekątniowych równych. 2:· ,·
.
y".-
'Oblicze1;1ia rozważane w tym zadaniu maj~ postać y - Mx i mogą być . bardzo efektywnie .wykonane na superkomputerze wektorowym. (Szczegóły '. . zob: Kincaid i Oppe [1988) oraz Oppe i Kincaid [1988]). · '(;. (~) Napisać wersję wierszową algorytmu Doolittle'a; obliczającą w k-tym kro··. : · : ku k-,tY. wiersz macierzy L. i U. (ti:n kr~~ ma zatem dawać kolejno elementy ".' „ '. lk1, lk2, · · ·; lk,k-11 Ukk, :•: ·, Ukn)•" ' „ •.' . '. ·. . (b) Napisać wersję kolumnową tegoż algorytmu,' która w k-tym kroku oblicza k-tą kolumnę macierzy U i L (ten krok ma zatem dawać kolejno elementy U1k, U2k, · · ·, Ukk, lk+l,k, · · ·, lnk)• 7_. Sprawdzić, czy jeśli macierz osobliwa ma rozkład Doolittle' a, to jest on jedyny. 8 .. Znaleźć wszystl~ie rozkłady Doolittle'a ·macierzy
39. Jak wyraża się wyznacznik macierzy A, jeśli jest znany jej rozkład: (a} Doo'lit~ . tle'a, (b) Cholesky'ego? 40. Niech będzie
o [ 25 A=
:J{A.
o o
27 o 4 54 58 108 116
O
o
o
100
3
o o o o
157
1]
Zaprogramować algorytm ogólnego rozkładu LU, zakładając, że tablica D zawiera dane elementy przekątniowe, a związana z nią tablica boolowska wskazuje, w którym z czynników L, U te liczby mają się znaleźć. Sprawdzić program dla kilku macierzy Hilberta o elementach aij = (i+ j - 1)- 1 . W każdym przypadku wyznaczyć rozkłady Doolittle'a, Crouta i Cholesky'ego oraz jeden lub więcej rozkładów określonego wyżej typu.
Znaleźć najogólniejszy rozkład LU tej macierzy z czynnikiem L jedynkowym..· metoda Doolittle'a daje jeden z tych rozkładów. 41. Korzystając z tw. 4.2.3, udowodnić równoważność: macierz symetryczna A jest dodatnio określona wtedy i tylko wtedy, gdy istnieje układ wektorów liniowo niezależnych a;{l}, x< 2 >, ... ,x(n) w !Rn taki, że aij = (x(i))T x(j): . Wykazać, że
42. Macierz A symetryczna i dodatnio 2
(X =A) o
określona
tejże własności. Znaleźć X
ma pierwiastek kwadratowy X
dla A=
'.
[i~ i~].
43. Macierz A o elementach aij równych zeru dla j < i-1 i dla j > i jest nazywana · macierzą Stieltjesa. Zaprojektować efektywny algorytm jej odwracania. 44. Opracować algorytm odwracania macierzy o elementach taldch, że aij = O dla . i +j ~n. 45. Niech A będzie macierzą symetryczną o nieujemnych minorach głównych. Czy macierz A + el dla c > O ma tę samą własność? 46. Sprawdzić, czy macierz symetryczna jest dodatnio półokreślona wtedy i tylko wtedy, gdy wyznaczniki jej wszystkich minorów głównych są nieujemne. · ZADANIA KOMPUTEROWE
Kl.
Rozważyć
A
macierz
136.01 90.86
= [
Znaleźć
o.o o.o
4.2
symetryczną trójprzekątniową
90.86 98.81 -67.59
o.o
o.o -67.59 132.01 46.26
dodatnio
następujące rozkłady:
.
(a) LU, gdzie L jest jedynkowa; (b) LDU, ., gdzie Li U są jedynkowe; (c) LU, gdzie U jest jedynkowa; (d) LLT. K2. Opracować efektywny algorytm odwracania macierzy A trójkątnej dolnej· stopnia n. Sugestia: Wykorzystać to, że ta odwrotność też jest trójkątna dolna. Zaprogramować algorytm i sprawdzić go dla macierzy o elementach aij = (i + j) 2 (i ;;;. j) i n = 10. Dla kontroli odwrotności obliczyć AA- 1 . K3. Stosując rozkład Cholesky'ego, rozwiązać układ jej
głównych pisany w podrozdz. 4.2 rozkład LU macierzy można traktować jako pewną eliminacji Gaussa. Jej tradycyjna wersja będzie opisana niżej i poiązana z tamtą. Następnie zajmiemy się modyfikacjami koniecznymi do ~yskania zadowalających programów. Słowa „równanie" i „wiersz macie.," u.kładu bliJdą używane zamiennie. Dlaczego opisano rozkłady Doolittle'a, Crouta i Cholesky'ego, skoro irnin.:i,cja Gaussa dobrze działa? W epoce przedkomputerowej każda z tych 'ocedur miała jakieś zalety w porównaniu z innymi. W miarę doskonalenia '~ " ,.mputerów i ich oprogramowania te drobne różnice zanikały. Dlatego opis 'zkładów Doolittle'a i Crouta ma przede wszystkim uzasadnienie histo1.czne. Natomiast algorytm Cholesky'ego działa szczególnie dobrze w odsieniu do macierzy symetrycznych dodatnio określonych. ersję
określoną
o.o o.o ] 46.26 177.17
Eliminacja Gaussa z wyborem elementów
odstawowa eliminacja Gaussa '' liminację Gaussa poznamy na przykładzie ań
z
tyluż
1~
l
-6
prostego układu czterech rów-
niewiadomymi:
-2 2 -8 6 -13 4
9 1
4l
10
-1~
lx1] l X2
::
34 12]
-~~
pierwszym kroku postępowania odejmujemy stronami pierwsze równa~e ~omnożone przez 2 od drugiego, pomnożone przez odejmujemy od zec1ego i pomnożone przez -1 od czwartego. Liczby 2, 2 i -1 nazywamy nożnikami dla pierwszego kroku eliminacji, a liczbę 6 używaną jako dzielk przy ich obliczaniu - elementem głównym. Po wykonaniu pierwszego
l
158
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
kroku
układ
przybiera
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
postać
ro~ -~~ ~
rx1]
2 4] 1 2 3 -14
X2 X3
X4
. auważmy, że każdy mnożnik występuje tu na pozycji tego zera w macierzy ładu, do którego powstania posłużył. Końcowy układ (4.3.1) ma macierz y;rójkątną górną U= (uij):
r
10 12] . 21 -26
Pierwszy wiersz, chociaż użyty w obliczeniach, nie zmienił się. Jest to wiersz główny dla pierwszego kroku. W drugim kroku wierszem głównym jest drugi wiersz, a elementem głównym liczba -4. Odejmujemy ten wiersz pomnożony: przez 3 od trzeciego i pomnożony przez -! od czwartego. Liczby -4 i -! są zatem mnożnikami w drugim kroku. Wynik jest następujący: \;,_
; [ ~ =~
o o
o o
X2 X3
4 -13
W ostatnim kroku odejmujemy trzecie równanie pomnożone przez czwartego; element główny i mnożnik są równe 2:
[~ =~ L~j [: j [~~] . 0
0 0
-3
-3
X4
Otrzymaliśmy układ o macierzy trójkątnej górnej, równoważny pierwotn&'
to samo rozwiązanie. Nowy układ. można łatwo rozwiązać, wyznaczając niewiadome od ostatniej do pierwszejf Daje to rozwiązanie mu w tym sensie,
Mnożniki, których użyliśmy przekształcając układ, są elementami ma:
L=
! HJ.
r i -! -1
2 1
dolnej:
współczynników
! Hj. [~ =H jj .
4] . [. 12
10
-1~
=·
~t -!
b. A(l) :=A-+ A(2) -+ ... -+ acierz owują
2 1
o
o o
-3
A(n) . . ·
powstaje w (k-1)-szy~ kroku: Pokazano.ją niżej. Linie obrak-ty wiersz i poprzedz~ją k-tą ~olumrię, wyróżnione w tym kroku:
A(k)
„
(k) al,k-1
..
trójkątnej
ze
·
powstaje z A. OdÓdwszy to postępowanie, możemy otrzYJ?ać A z U. Oznaczmy wiersze ch.'inacierzy odpowiednio symbolami Ari Uj. Eliminacja daje nam np. ..z.I = .Ą2- - 2A1. Stąd. A2 = 2A1 + .U2· ~ 2U1 + .U2. Współczynniki 2 ;1 znajdują się yv drugim wierszu rrtaeierzy L. Podobnie, działania dają . ;trzeci wiersz wyrazają się 'wzorem;U3 ·=JĄ.a ::-:!A1) - 3U2, czyli mamy }~ !A1 +3U2 + U3·= !U1 +3U2·+·U3. Współczynniki!, 3 i 1 znajdują ę więc ·W L w trzecim wierszu itd. ·. :,,>' _., . . . Aby ściśle opisać algorytm Gaussa:, intei:pretv.jemy gojako sekwencję :.!..: 1 kroków. dających ciąg macierzy: · . · ·· .
(k) au ·
cierzy L = {lij) jedynkowej
·.„.
-3
.r;i ·. Nietr~dno wykazać, że tak musi być. Wiemy jak U
-21
X4
U=
r
4]2 [Xll [ -91012] . -5
2
159
(k) alk
•.· ·'.;"
..
O·
(k) . ak-1,k-1
.o. o·.
o o
o
o
(k) aik
o
o
(k) ank
(k)
ak-l~k
.
~(k) ' lj
..
.
(k) aln
·~
.
. (k) ak-1,n
a(k) . !Ck (k) (k) ' ak+l,k · · · · · ak+l.i„
. (k) .aAf+l,n
(k) ann
l
j
160
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Naszym celem jest wyjaśnić jak A(k+l) wynika z A(k)_ Aby otrzymać zera w k-tej kolumnie pod elementem głównym ai~, odejmujemy odpowiedn'ie '. wielokrotności k-tego wiersza od wierszy leżących niżej (wiersze 1, 2, ... , k ·. nie zmieniają się):
Algorytm opisanej już podstawowej eliminacji Gaussa jest - przy zajak w tw. 4.3.1 - następujący:
łożeniu
input n, (aij) for k
~
((::kk)+ 1, J. k + 1) •~ ~ (i> k + 1, j ~ k).
aiZ) /at,! 1 { O
Równość A
{i> k
aij <- aij -
+ 1)
(i= k) (i~
Mnożniki
LU z macierzą jedynkową trójkątną dolną L i trójkątną • górną U opisuje standardowy rozkład Gaussa macierzy A. Zarówno z (4.3.2) i (4.3.3), jak i z wcześniejszego przykładu numerycznego, wynika jasno, Ż
sany
wyżej
4.3.1. Jeśli wszystkie elementy główne ai~ oblicza~e w opisposób są różne od O, to A= LU.
Dowód. Zauważmy, że ałJ+l) = ałJ), jeśli i ~ klub j ~ k-1. Zauważmy · · (n) = akj (k) i, · na kon1ec, · · lik = O dl a k > i · i· Ukj = O dl a t ez, ze Ukj = akj ze k > j. Niech teraz będzie i ~ j. Wtedy · n
(LU)ij
=
i
L likUkj k=l i-1
=
L
=
k=l
dobrano tak, żeby wyzerować wszystkie elementy leżące pod macierzy. Obliczać ich nie trzeba, wystarczy instrukcja
{-o.
lika~) + liiał}) = L(a~Z) /ak~))ak~) +a~;)= 1
Gaussa w najprostszej, już opisanej wersji nie jest zadowalający, zawodzi dla układów, które w istocie można łatwo rozwiązać. Aby to · asadnić, rozważmy trzy proste przykłady. Oto pierwszy:
1lgorytm
··yż
.
[
~ ~] [ :~] = [ ~] .
spomniana wersja zawodzi, .(zob. też zad. 4.2.10). Rozważmy teraz układ
'
= aW = aij·
k=l
Podobnie,
jeśli
>
i j
(LU)ij = L k=l
gdyż ał;> = O dla i
j, to
likak~)
j
=
:LCa~J> - a~J+i)) k=l
> j + 1 i k > j + 1.
= aW -
a~;+ 1 > = aU>
gdyż już
pierwszy element
główny
jest równy
(4.3.4)
zie e jest małą liczbą różną od O. Układ na pierwszy rzut oka nie powiien sprawiać takich kłopotów jak poprzedni. Stosując do (4.3.4) algorytm aussa, otrzymujemy następujący układ o macierzy trójkątnej górnej:
k=l
:LCa~j> - a~J+ >) + a~j
.naczenie elementów głównych
[~ ~] [:~] [~]
k=l i-1
k=l i-1
=
i
likuk~) =.. L likak~)J = ' J
L
zakj
'łówną przekątną
k -1).
=
TWIERDZENIE
= 1 to n - 1 do for i = k + 1 to n do z+- aik/akk aik +-O for j = k + 1 to n do
end do end do end do output (aij)
Dlatego przyjmujemy, że U= A(n) i określamy L wzorem
lik=
161
= aii•
on
rozwiązanie dokładne
162
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
W obliczeniach komputerowych, gdy c jest dostatecznie małe, wartością obu . różnic 2 - c- 1 i 1 - c- 1 jest -10- 1, czyli otrzymujemy x2 = 1, a wobec tego .„· x1 =O. Jednak rozwiązanie dokładne jest inne: 1- 2c 1-c
1
X1=---~1, -E:
1
Można
x2 = - - -
zaakceptować
zatem
1.
obliczone x2, ale otrzymane x1 jest
zupełnie
fałszywe!
Przypomnijmy, że przed odejmowaniem liczb zmiennopozycyjnych 2 i c- 1 trzeba wyrównać ich cechy, a to wymaga przesunięcia mantysy pierwszej liczby. Jeśli np. używany komputer pracuje w układzie dziesiętnym, a mantysy są siedmiocyfrowe i jeśli c = 10- 8 , to 10-
1 = 0.1000000109,
, bliczone x2 jest znów równe 1, ale x1 oblic~amy ze .wzoru x1
2 = 0.2000000101 = 0.000000002109,
=
2 - x2,
Powyższe
proste przykłady prowadzą do wniosku, że dobry algorytm przestawianie równań układu, gdy wymagają tego okozności. W istocie nie przenosimy wierszy macierzy w pamięci komputera, · to przedłpżałoby obliczenia. Zamiast tego wybieramy inaczej wiersze ówne - nie. w naturalnym porządku 1,.2, ... , n --: 1, ale kolejno. wiersze wskaźnikach pi,p2, ... ,Pn-i. gdzie (pi,p2,: .. ,pn) jest pewną permutacją bioru (1, 2, ... , n); jej wybór uzasadnimy nieco później. Tak więc w pierwym kroku odejmujemy wielokrotności wiersza Pl od wszystkich innych, .. wskaźnikach p2,p3, ... ,Pn· W drugim kroku odejmujemy wielokrotności 'iersza P2 od tych o wskaźnikach p3, ... ,pn itd. '. . Qto. algorytm, który dla danej tablicy. permutacji p wykonuje elimi~~ ' usi
~
163
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
uwzględniać
.„
input n, (aij ), (pi) for k = 1 to n - 1 do · for i = k + 1 tó n do
2 - 10- 1 = -0.099999998 10 9 i ostatecznym wynikiem odejmowania ·jest w komputerze -0.1000000109 = -c- 1. Ostatni przykład pokazuje, iż kłopoty sprawia w istocie nie to, i'e współczynnik an jest mały, ale że jest on taki w porównaniu z innY.IlJ:i · elementami pierwszego wiersza. Rozważmy układ równoważny poprzednie..: •. mu:
.z
f-
ap;k/apkk · .·.
~...
0• for j = k +. 1 to n'do ..•
·Up;k
.„
~
:
.
f-
ap;j
f-
ap;j -·zaPki
end do . end do ~nd do :\(· output (aij) h
Zastosowanie
zwykłej
eliminacji Gaussa daje
układ
f..:.
'/
Rozwiązując go na komputerze, otrzymujemy znów x2 = 1 i x1 = O; wartóść
i tym razem jest fałszywa. . Trudności, na jakie napotkaliśmy w tych przykładach, znikają po prze;· stawieniu równań. W szczególności dla (4.3.4) daje to układ . x1
[! i] [~~] [~] . Zastosujmy tu
eliminację
Gaussa:
.
. . . . . . „:~. Algorytm . ten różni się od poprzedniego tylko pod jednym względem: '~szy "wskaźnik każdego elementu tablicy a zależy od wyboru.permutacji . .i~iś~ie, dla permutacji identycz;nej"(pi =i: i) i;lówy algorytm redukuje się o poprzedniego. ·
kalowany wybór w~~rs~y głównych iszemy teraz ·algorytm rozwiązy\..;ania układu Ax ·= b z macierzą kwaatową A stopnia n, nazY'r"any eliminacją Gaussa ze skalowanym wyborem · rszy głównych. Algorytm dzi'eli się na dwa etapy. (, · Pierwszym z nich jest rozkład stosowany tylko do macierzy A. Ści j, wynikiem tego etapu jest znalezienie (w sposó!:> opisany niżej) pewnej mutacji (p1,P2, ... ,pn) zbioru (1, 2, ... ;.n) i'rozkładu LU.iloczynu PA, ·e macier~ kwadratowa P jest taka, ż.e (P)ij =. Óp;j (inaczej mówiąc, P staje·z /.przez przestawienie wierszy ·zgodnie i p). Rozkfad PA= LU .zy:r,nujerriy ·za pomocą algorytmu zmodyfikowanej eliminacji Gaussa, opi.
sanego w poprzednim fragmencie tego podrozdziału (z tą jednak różnicą, że permutacja pnie jest z góry dana). W drugim etapie obliczeń rozwiązujemy kolejno dwa układy: Lz ~ Pb i Ux = z. Pierwszy układ ma macierz trójkątną dolną, a jego prawa stro.· na różni się od b porządkiem składowych. Z tym zastrzeżeniem mamy t · do czynienia z podstawianiem w przód opisanym już wcześniej. Rozwiąza;; nie tego układu wpisujemy na miejscu wektora b. Natomiast podstawianiQ wstecz zastosowane do układu U x = b daje kolejno Xn, Xn-1, ••• , x1. '.I Trzeba teraz określić dokładnie sposób tworzenia permutacji p w pierw. szym etapie obliczeń. Zaczynamy od wyznaczenia skali każdego wiersza, tj wielkości
s· i
= 1,;;;;jis;;n max la„I '3
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
1
rn [w
1;
m
_2~1
23
_16 3
3
165
3· 1
-2
tczby w ramkach na pozycjach au i a21 są mnożnikami. . W następnym kroku wybór wiersza głównego zależy od liczb
lap22I/ Sp2 = 1::3 /8 = i, lapa2l/sp3 = 1f /6= i~· i'ększa jest ta ostatnia. Dlatego j = 3 i przestawiamy P2 z p3, co daje
(1
~i~
n).
Zapamiętujemy
je w tablicy s i korzystamy z nich w dalszym ciągu. Tw rzymy też wstępny wariant (1, 2, ... , n) permutacji (p1, p2, ... ,pn)· W pierwszym kroku rozkładu wyznaczamy pierwszy wiersz główn - ten mianowicie, dla którego iloraz laill/si jest największy. Niech jeg wskaźnikiem będzie j. W tablicy p przestawiamy Pl z Pj, czyli teraz p będzie wskaźnikiem wybranego wiersza głównego. Stąd lap1 1l/sp1 > laill/ dla 1 ~ i ~ n. Następnie odejmujemy odpowiednie wielokrotności wiers głównego od pozostałych wierszy macierzy A, aby wyzerować w nich el menty jej pierwszej kolumny. W dalszych obliczeniach wiersz Pl nie zmi nia się. Ogólniej, przypuśćmy, że po k - 1 przekształceniach macierzy A j • steśmy gotowi do zerowania elementów jej k-tej kolumny. Porównując licz by lap;kl/sp; dla k ~ i ~ n wybieramy największą z nich. Niech j będzi wskaźnikiem takiej liczby. Przestawiamy Pk z Pi w tablicy p i odejmujem wiersz Pk pomnożony przez ap;k/apkk od wiersza Pi (k + 1 ~i~ n). ' Zobaczymy teraz, jak pierwszy etap obliczeń przebiega dla macierzy
~
(3, 1, 2). Nowa macierz jest
następująca:
133 _20] 3
m w
I- i~ I -
[ [l] 3
7 13
-2
·a miejscu
a22
•
1
występuje
w niej mnożnik użyty w przekształceniu.
Powyższe obliczenia dały macierz permutacji
o o
[~ ~]
P·.-
1
.ozkład
LU macierzy PA:
PA=
[~
-2 3
-6
-~] [i
o 1
-13
16
o o -2 1; _230'] . 0][3 1
o o -i.3
Algorytm rozkładu dla eliminacji Gaussa ze skalowanym wyborem rszy głównych jest następujący: · input n, ( aij) jest p = (1, 2, 3) i s = (6, 8, 3). Aby wybrać pierwszy wier porównujemy ilorazy 2/6, 1/8 i 3/3. Największy jest trzeci z ni (j = 3) i ten wiersz będzie pierwszym wierszem głównym. Dlatego przes wiamy Pl z p3, co daje p = (3, 2, 1). Od wierszy pierwszego i drugiego o ' mujemy takie wielokrotności trzeciego wiersza, aby w tamtych wyzero elementy pierwszej kolumny. Przekształcona macierz A jest następująca: Na
początku
główny,
.\'. for i = 1 to n do Pi<- i Si<-
max1~j~nlaijl
end do for k = 1 to n - 1 do wybór takiego j ;;;. k,
że
lapjkl/ sPj ;;;. jap,kl/ sp, dla i= k, k + 1, ... , n Pk <-+Pi
166
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
for i = k
+ 1 to n
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
ozkłady
do
for j = k ap,j end do end do end do output (%),(pi)
'
k już wiemy,
+ 1 to n ~
PA = LU
i,,~il)'''.•,",'i1·~·""•~•·
z~ ap,k/apkki ap,k ~z
do ap,j - zaPki
Zauważmy, że algorytm zapamiętuje mnożniki na miejscu zerowanych elementów macierzy A. Dzięki temu w A znajdują się wszystkie wielkości potrzebne do odtworzenia rozkładu LU. Stosując algorytm, musimy wię9. pamiętać, że niszczy on pierwotną macierz. Jeśli byłaby ona potrzebna póź: niej, to trzeba by zapamiętać ją w dodatkowej tablicy. "\ Aby rozwiązać układ Ax = b po znalezieniu rozkładu PA= LU, sto-' sujemy następujący algorytm:
'
•
,u
,,,
•,~. .,;<.',"f.'\,'.';..l>f~"b,',:ł••';·t'łł•
,„
•.• .-i'·
'•I
167
,,_..,\,';.„f',.,\
(skalowany) wybór wierszy głównych włączony do algorytu Gaussa daje rozkład LU macierzy PA, gdzie P jest pewną macierzą rmutacji. Poznamy teraz formalny dowód tego faktu, wz,orowany na , A( 3 ), ... , A(n) wzorem (i
< klub i > k > j)
(i°> k, j > k)
= k).
(i> k, j
4.3.2. Niech macierze: permutacji P, trójkątna górna U i jedynkowa trójkątna dolna L będą określone odpowiednio wzorami
TWIERDZENIE
input n,(%), (Pi), (bi) for k = 1 to n - 1 do for i = k + 1 to n do bp, ~bp, - ap,kbPk end do end do for i = n to 1 step -1 do Xi ~ (bp, - '2:j=i+l ap,jXj) /ap, i end do output (xi)
~ '(P)ij 1
:,= Óp;j' Uij := a;::] dla j ;;i: i oraz
•'dy.PA= LU.„
··. '1. . -;: .. ; ~~ :· . „
.
·· · .
. ..
.,
Częściowy
głównych
. . "'
.t: • ',... . • .
o .
.
(j
;;i: k),
(i~ k).
otnie, wiersz Pk macierzy ustala się w k-tym kroku, a k-tą kolumnę ' (k +.1)-szym kroku. Powyższy wzór.dla lik jest poprawny dla i= k, bo je, wtedy wartość 1. Załóżmy teraz, że . i j. Wtedy
<
' .,
.
i
.
·i-1
.„
„ .•.
. 11
wybór elementów głównych polega na tym, że k-ty z nich jest1 tym spośród n - k + 1 elementów dolnej części k-tej kolumny macier~y' A(k), który ma największą wartość bezwzględną. To określa wiersz główny.: W wyborze skalowanym, opisanym wcześniej, zamiast elementów porównuje się ich ilorazy przez czynniki skalujące Sj. Inną strategią jest pełny wybó, elementów głównych. W tym przypadku badamy (n - k + 1) 2 elementów w dolnej prawej części macierzy A(k), ewentualnie z uwzględnieniem ska Na ogół uważa się, że pełny wybór, oczywiście bardziej kosztowny, niem istotnych zalet w porównaniu z wyborem częściowym.
Jego pierwsza część rozwiązuje układ Lz = Pb z macierzą trójkątną dolną. Druga część oblicza x z układu U x = z o macierzy trójkątnej górnej. W obu przypadkach trzeba oczywiście używać tablicy permutacji p. · · ·'Pełny
l~j
k=l .
..
t
"'""" ( {k)
•
•
'
;• „.~ ..:... ,
„__ '
(k+l)) ..
- L..J . ap;j - apd . k=l
.. • ':
.
··.
(i).:_ {1) - . . + a'J?ii -;-:- ap;j -:-- ap;J.
. . ',
•
".. .
.
lfnat~miast i > j, to
... .„,. „.. ·•.
..i„.
'
168
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
TWIERDZENIE 4.3.3. Jeśli eliminację Gaussa wykonano ze skalowanym .\· wyborem elementów głównych, to rozwiązanie m układów Ax = b ol wspólnej macierzy A i m różnych wektorach b wymaga wykonania
Z drugiej strony n
(PA)ij
=
n
2JP)ikakj k=l
=
L Óp,kakj = ap;j·
.ol};oło
k=l
W ten sposób wykazaliśmy, że dla wszystkich par (i,j) jest (PA)ij . .
..
169
=
(LU)ii:
~
Koszt obliczeń Aby oszacować koszt rozwiązywania układu równań liniowych, obliczymy; ilu działań arytmetycznych wymagają etapy rozkładu i rozwiązywania. PÓ: nieważ czas wykonania mnożenia i dzielenia jest zwykle podobny, ale wy-• raźnie dłuższy niż dla dodawania i odejmowania, przyjęło się mierzyć koszt obliczeń liczbą długich działań (w skrócie op) czyli par mnożenie-dodawanie itp. Rozważmy pierwszy krok (k = 1) w procesie rozkładu; dotyczy on macierzy stopnia n. Określenie wskaźnika Pl wiersza głównego wymaga n dzie-' leń (n op). Dla każdego z n - 1 wierszy o wskaźnikach p2, ... ,Pn obliczamy mnożnik (1 op) i odejmujemy wielokrotność wiersza Pl od wiersza Pi (2 ~i~ n). Zera w pierwszej kolumnie nie obliczamy. Tak więc utworzenie jednego nowego wiersza kosztuje n op, a n - 1 wierszy kosztuje n( n - 1) op:. Łącznie z obliczeniem Pl daje to n 2 op. · Dalszy ciąg rozkładu można uważać za powtórzenie pierwszego.kroku, ale dla macierzy coraz niższego stopnia. Dlatego cały rozkład wymaga
'.
łh3
+ (m + !)n2
długich działań.
Aby uzasadnić tezę tego twierdzenia, zauważmy, że jeśli mamy roz' ązać m układów Ax(i) = b(i) dla i = 1, 2, ... , m, to rozkład PA = LU konujemy tylko raz. Układy z macierzami trójkątnymi trzeba już rozwią . ać oddzielnie i to kosztuje mn 2 op. Stąd wynika liczba podana w twiereniu. Zauważmy, że odwrotność A- 1 można obliczyć rozwiązując n ukła ' w Ax(i) = ei (daje to jej poszczególne kolumny). Na mocy tw. 4.3.3 am= n koszt tych obliczeń wynosi O(~n 3 ) op. Oczywiście, aby rozwią ć układ Ax = b, nie należy obliczać odwrotności A- 1 - byłoby to zbyt sztowne!
. acierze dominujące przekątniowa la pewnych macierzy eliminacja Gaussa może być bezpiecznie wykonywana 'ez wyboru elementów głównych. Jest tak w szczególności dla macierzy minujących przekątniowa, tzn. takich, że n
laiil >
L
(1
laiil
~i~
n).
(4.3.5)
j=l,#i
Oto długich działań.
Analiza drugiego etapu algorytmu pokazuje, że rozwiązywanie układu Lz = Pb rozpada się na n - 1 kroków. W pierwszym z nich wykonujemy n - 1 długich działań, w drugim n - 2 itd., czyli łącznie
U x = z wymaga w kolejnych a więc łącznie jest ich
długich działań,
1 + 2 + 3 + ... + n = łn2
I
-
+ !n,
a w całym drugim etapie n 2 op. Uwzględniając to wszystko, formułujemy! następujący nieco ogólniejszy wynik:
l
przykład
4
-1
-1
4
-1
o
o
-1
macierzy o tej
o 4
-1
własności:
-11 -1
-1 .
4
lde macierze wynikają w naturalny sposób z dyskretyzacji równań róż czkowych cząstkowych, wiążą się też z funkcjami sklejanymi itd. Jeśli macierz układu równań ma określoną wyżej własność, to w pierwkroku eliminacji Gaussa wierszem głównym może być pierwszy wiersz, yż wtedy na mocy (4.3.5) element główny au jest różny od O. Chcemy zywiście wiedzieć, czy w drugim kroku taką samą rolę może odgrywać Ugi wiersz. Poniższe twierdzenie wyjaśnia tę wątpliwość. f,>ąWIERDZENIE
zachowuje
4.3.4. Eliminacja Gaussa bez wyboru elementów macierzy.
dominację przekątniową
głównych
170
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Dowód. Wystarczy rozważyć skutki wykonania pierwszego kroku·eli~ minacji Gaussa, gdyż następne kroki są podobne, choć dotyczą macierzy niższych stopni. Zakładamy więc, że A jest macierzą stopnia n, dominującą przekątniowo. Ponieważ pierwszy krok tworzy zera w pierwszej kolumnie i nie zmienia tegoż wiersza, więc trzeba wykazać, że dla i = 2, 3, ... , n jest
171
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
Dowód. Na mocy tw. 4.3.4 i 4.3.1 macierz A dominująca przekątniowo LU, gdzie L jest jedynkowa ti;ójkąt:Qa,, d 0 lµa .. Zgodni13 .z.01?.tatnim ierdzeniem macierz U jest dominująca przekątniowo, więc jej elementy f:iekątniowe są różne od zera. Dlatego ~ i U są nieosobliwe. • rozkład
WNIOSEK
4.3.6. Niech macierz
·:.'
będzie dominująca przekątniowa. Jeśli
weliminacji Gaussa ze ska'towanym wyborem wierszy głównych tablicę
Wyrażamy
" · skat oblicza się na nowo po każdym krok'!!-, to wiersze główne mają naturalny porządek: 1, 2, ... , n, czyli można p'ominąć czynności określające wybór tych wierszy.
to przez elementy macierzy A: n
L
>
laii - (ail/a11)a1il
(ail/a11)a1jl·
laij -
j=2,jf.i nierówności
Zamiast tej
udowodnimy
L
>
[laijl
+ l(aii/a11)a1jl].
j=2,#i Jest ona
laijl
>
j=2,jf.i Z dominacji
laijl
w i-tym wierszu wynika,
że
·
·
<
laiil =Si,
.
•
' .... W t~ierdzeniU: 4.2.3 wykazan~, że macierz A syrric:Myczna· i dodatnio·
eślona i:tia jedyny rozkład Cholesky'ego:·A·~·LLT'.(jest to szczególny ypadek rozkładu LU). W tym przypadku wybór wierszy głównych jest 'ędny, gdyż dzięki nierówności llijl ~ ..,fiiii, udowądni0nej w podrozdz. 4.2 ~merity ~~derzy 'L są stosunkowo i:na~e.w·porównaniu z elementami A.
> laill,
i=2,jf.i wystarczy
i> 2
n
n
L
laiil więc
i. Stąd la11l/s1=1. Dla
L
Ll(aii/a11)a1jl· j=2
przekątniowej
główny
zięki dominacji przekątniowej wiemy, że laiil = maxjlaijl = Si dla każde-
laill ~ laijl . j=l,jf.i
n
L
laiil -
pierwszy wiersz
..
równoważna nierówności
n
że
mocniejszą:
n
laiil - l(aii/au)alil
Dowód. Wobec tw. 4.3.4 wystarczy wykazać, .a ~skaźnik 1, tj. że· . . ·
udowodnić, że
n
laill
> Ll(ail/a11)a1jl·
kłady trójprzekątniowe
j=2
Tak istotnie jest
dzięki
dominacji
n
laul
1
j=2
wa i ma
4.3.5.
w pierwszym wierszu:.
n
> 2::la1jl =*'
WNIOSEK
przekątniowej
> 2::la1j/a111j=2
J( ażda
rozkład
macierz dominująca przekątniowa jest nieosĆ!b~j~ LU. ·· ·
.acierze układ(>w.występujących w zastosowaniach mają często szczególną rukturę. Rozwiązując takie układy, warto zażwjczaj stosować algorytmy, 're bio~ą ją·pod uwagę: Rozważymy: jako·przykład {i.kład o macierzy A jprzeką~niowej, tj. takiej, że aij = O·dla.'li - il > 1. Wtedy w i-tym rszu dfo. ·'i < i < n tylko trzy eleme~ty (ąi,i-1, ci.ii i ai,i+l)' są różne · O„ a pierwszym i ostatnim wierszu "tylkó' dwa. Do zapamiętania tych . : zerowych elementów w)rstarczy użyć trzech'.wektorów i układ o takiej ; cierzy W;Yrażamy w następ.ujący sposób: ·
w
'
i
172
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
di
ci
ai
d2
c2
il2
d3
C3
xi
b1
x2
b2
1.
b3
X3
= an-2
dn-i an-i
Cn-i
dn
Xn-i Xn
2.
że
dla danej permu-
Napisać algorytm rozwiązywania układu- Ax = b poprawny przy dla danych permutacji pi q zbioru (1, 2, ... , n) i dla każdego i:
założeniu, że
(a) równanie Pi-te zawiera tylko niewiadomą Xą„ (b) zmienne Xą 1 , Xą2 , •.• , Xq,_ 1 nie występują w Pi-tym równaniu, (c) zmienna xą, występuje tylko w równaniach o wskaźnikach pi,p2, ... ,Pi· .· '3. Wykazać, że wzór (4.3.2) definiujący eliminację Gaussa można również wyrazić w•postaci "f' ,„,. .t
są dokładnie
algorytm rozwiązywania takiego układu Ax = b, tacji p zbioru (1, 2, ... , n) i dla każdego i:
(a) równanie Pi-te zawiera tylko niewiadomą Xi, (b) równanie i-te zawiera tylko niewiadomą Xp,, (c) równanie Pi-te zawiera tylko zmienną Xp"
bn-i bn
Elementy macierzy nie pokazane wyżej są zerami. Załóżmy, że ta macierz nie wymaga stosowania wyboru elementów · głównych, bo np. jest symetryczna dodatnio określona. Używamy wtedy zwykłej eliminacji Gaussa z dodatkiem jednoczesnego przetwarzania prawej strony (wektora b). W pierwszym kroku od wiersza 2 odejmujemy taką wielokrotność wiersza 1, żeby wyzerować element na pozycji zajmowanej dotąd przez ai. Zauważmy, że d2 i b2 zmieniają się, ale nie c2. Mnożnikiem jest aif di. Tak więc w tym kroku wykonujemy podstawienia
Wszystkie następne kroki eliminacji w przód stawianie wstecz zaczyna się od czynności
Napisać
173
i
(k+1) · -
aij
.-
{
(k)
aij (k) ( (k)/ (k)) (k) aij - aik akk akj
(i,;;;; klub j
(i> k, j
< k)
> k).
takie same. Podb warto niekiedy zmodyfikować, wprowadzając nowe zmienne Yi =dixi> gdzie di są dodatnie. Jeśli Xi są wielkościami fizycznymi, to oznacza to zmianę jednostek, w których wyrażają się Xi. Jeśli np. x1 ma być mierzone nie w centymetrach, ale w metrach, to y 1 = 10- 2 x 1. W symbolice macierzowej mamy tu wzór y = Dx, gdzie D = diag(di)· Nowym układem równań jest AD- 1 y = b. Jeśli dj = max1,;;i,;;nlaijl, to przekształcenie nazywamy wyważeniem kolumn. Włączyć je do obu etapów algorytmu rozwiązywania układu
drugim krokiem jest
Ax=b. ~· Jeśli znamy czynnik U rozkładu LU macierzy A, to jaki algorytm daje L? pozostałe
jest
podstawienia
są
podobne. Kompletny algorytm (o nazwie
następujący:
input n, (ai), (bi), (ci), (di) for i = 2 to n do di <--di - (ai-i/di-1)Ci-l bi +-bi - (ai-i/di-1)bi-1 end do Xn <-- bn/dn for i = n - 1 to 1 step -1 do Xi+- (bi - CiXi+i)/di end do output (xi)
tr~)
.
6. ·
Rozwiązać dwukrotnie każdy z podanych układów, stosując najpierw zwykłą eliminację Gaussa i uzyskując rozkład A = LU, a następnie stosując ten al' gorytm, ale ze skalowanym wyborem wierszy głównych, co ma dać rozkład PA=LU.
(a)
(b)
n i -~i [::] m [~ ! ~] [;;]
[:]
11 >We wszystkich zadaniach tego podrozdziału p = (p1,p2, ... ,pn) jest pewną pertacją zbioru (1, 2, ... , n), a P odpowiadającą jej macierzą permutacji, o elementach P)ij = Óv
174
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
(c)
n 1
o
1
3 -1 1
o o
(d)
[·!
-2 -8 -13 4
[~
o
-6
(e)
2 2
-9 16 3
7. Niech A
6
2
-~1 [~:1 -1 2
2 4 3 2
X3 X4
<,iN1J]\t~1;\';,1łC\'~':,
[~]
. cX1 + 2x_2 .= 4,
·1 [~~] r-·~1 -39 -16
f.
~1 mi Hl
będzie dowolną macierzą stopnia
n. Jak
wyrażają się macierze: PA,l ·:
8. Niech dla macierzy A stopnia n czynniki skalujące Si := max1~j~nlaijl będą dodatnie. Niech B będzie macierzą o elementach aij / s 1 . Udowodnić, że elimi-
nacja w przód zastosowana do A i B daje tę samą macierz L. Znaleźć wzory A i B (po eliminacji). . ,·
wiążące końcowe
9. Wykazać, że w eliminacji Gaussa z pełnym wyborem elementów głównych,: mnożniki należą do przedziału (-1, 1); zob. zad. Kl. ;
10. Niech eliminacja w przód zastosowana do macierzy A stopnia n daje tnacie~z' B i permutację p. Udowodnić, że rozkład LU iloczynu PA można otrzymać tak: dla C = PB przyjmujemy (L)ii = (C)ii dla j < i i (U)ii = (C)ij dla i <;;; j (prócz tego (L)ij =O dla j >i, (L)ii = 1, (U)ij =O dla i> j.) 11. Wykonać eliminację w przód ze skalowanym wyborem wierszy głównych dl~ każdej z macierzy ·.
[i -i 3
Podać
7 skale
=i],
(b)
5
[~4 1~
!]o ,
3 Bi, końcową permutację
.
(c) [-; ; 6 8
pi
właściwych miejscach.
~i], 1
końcową tablicę
I
=! ":~]···
(d) [; 3 -5'~1 .• ~ . A, z mnożnikami.na '·
Zaprojektować algorytm rozwiązywania układu Ax = b za pomocą eliminacji Gaussa, bez wyboru elementów głównych, dostosowany do przypadku, gd aij = O dla i > j + 1. Znaleźć liczbę wykonywanych operacji. 13. Znaleźć liczbę operacji dla algorytmu w tekście, rozwiązującego układ o m . cierzy trójprzekątniowej.
12.
14. Zmodyfikować wspomniany wyżej algorytm, odwracając kolejność przeksz~ał
cania
równań
X2
'li
· · ·:
= -1
n
Rozwiązać układ
·~ ~:1 [~:1
AP, p- 1 i PAP- 1 ?
(a)
X1 -
,; k;
rozwiązanie układu
:, otrzymanego numerycznie za pomocą algorytmu ·Gaussa bez wyboru elementów głównych, jeśli c: jest dost.atecznie ma.łe"'w. po_rÓWJlaniu z precyzją aXytme' . tyki? . „ . . : '. :.•,. . „ . ., ·. . ... : ' .
10
-1~
'"
(Stoer i Bulirsch (1980, s. 185)). To zadanie pokazuje, że równań 'może być niestabilne względem zaburzeń· danych. 6. Jakie jest rozwiązanie układu
175
i obliczania niewiadomych.
15. Rozwiązać układ Ax = b dla b = (100, l)T i dla każdej z macierzy
sfosując eliminację
[JJ. Gaussa z
peln~~ ~bore~ el~me:r,;tó~·· giÓwnych
(por.
"· zad. Kl); j,
s:
'
Rozwiązać układ
· 0.2{i41x1 + 0.1735x2 + 0.8642x3 = -0. 7521 0.94llx1 + 0.0175x2 + 0.1463x3 = 0.6310 .,,-0.8641±1 - 0.4243x2 + 0.071lx3 =' 0.2501 · .. za pomocą eliminaeji Gaussa: ·(a) bez .wyboru _elementów głównych, (b) ze 1 -~'skalowanym wyborem wierszy głównych. • (a) Wykazać, że eliminacja Gaussa bez wyboru elementów głównych, zastoso. wana do macierzy symetrycznej A, daje li 1 = ali/a11.· I (b) Stąd wywnioskować, że po usunięciu pierwszego wiersza i tejże kolumny J. . . z A( 2) otrzymujemy macierz symetryczną stopnia n - 1, a więc nie trzeba c:: obliczać jej eleme.ntów pod główną przekątną. Wykazać przez indukcję, że to '!1pi:oszczenie jest. możliwe w każdym z następnych kroków obliczania r'ozkładu. · · ·;.· '(c) Wykazać, że koszt opisanych wyżej obliczeń jest prawie dwukrotnie mniejszy niż dla macierzy niesymetrycznych: · .,,(d) Wykorzystać to uproszczenie, rozwiązując układ ,
· wskazać ~lement, który będzie użyty jako pierwazy element głó:wny w eliminacji ' Gaussa ze skalowanym wyborem wierszy głó~p.ych, ·gdy tablicą skal jest s = (80, ą9, 160, 30). . .. . .. , I'
''i
.'j
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
176 21.
Podać macierz, która powstaje po zastosowaniu eliminacji w przód ze skalowanym wyborem wierszy głównych do macierzy
[~ 22.
4.3. ELIMINACJA GAUSSA Z WYBOREM ELEMENTÓW GŁÓWNYCH
-2 1
-1
5
Wynik ma zawierać Znaleźć wyznacznik
2 1
o
1
1 2
4 1
o
mnożniki
na odpowiednich pozycjach.
Wykazać, że
p-l =PT.
:2s. Macierze A i B
odpowiednio wymiary n x n i n x m. Ilu mnożeń i dzie= B za pomocą eliminacji Gaussa ze skalowanym wyborem wierszy głównych? To samo pytanie dla B =I. 29. Załóżmy, że skale są obliczane na nowo przed każdym krokiem eliminacji Gaus;: sa ze skalowanym wyborem wierszy głównych. Udowodnić, że dla macierzy symetrycznej i dominującej przekątniowa te same wyniki daje eliminacja bez wyboru elementów głównych.
..
-4i ·
7
•
177
mają
leń wymaga rozwiązanie układu AX
".O• Niech skale będą określone wzorem
nie korzystając z jego rozwinięcia Laplace'a (czyli wyrażenia przez wyznaczniki niższego stopnia). 23. Stosując eliminację Gaussa ze skalowanym wyborem elementów głównych do macierzy:
Si := I:j= 1 laiil· Udowodnić, że wtedy eliminacja Gaussa ze skalowanym wyborem elementów głównych, zastosowana do macierzy dominującej przekątniowa, daje takie same wyniki jak bez tego wyboru. d!' 1. Sprawdzić, czy eliminacja Gaussa bez wyboru elementów głównych zachowuje własność macierzy opisaną nierównościami
n
o =F 1aii1 >
2:
j=l,#i
(1
1%1
~i ~n).
Udowodnić, że obliczenie wyznacznika za pomocą jego rozwinięcia Laplace'a wymaga wykonania (n - l)n! op. (b) Udowodnić, że rozwiązując układ n równań liniowych za pomocą wzorów Cramera, trzeba wykonać (n 2 - l)n! op. (c) Metoda Gaussa-Jordana (w najprostszej wersji, tj. bez wyboru elementów głównych) polega na tym, że w k-tym kroku wielokrotności k-tego wiersza są odejmowane od wszystkich innych wierszy; mnożniki wybieramy tak, aby wyzerować tam składniki z Xk. Dlatego metoda daje układ o macierzy przekątniowej, a nie trójkątnej górnej, jak w eliminacji Gaussa. Udowodnić, że ta metoda wymaga wykonania łn(n+ 1) 2 ~ łn 3 op, czyli jest o ok. 503 bardziej kosztowna od eliminacji Gaussa. 3:, Dla macierzy trójprzekątniowej A, jak w (4.3.6), przyjmujemy dodatkowo, że : ·· Co '= O i an = O. Wykazać, że jeśli A jest dominująca przekątniowa w kolumnach, tj. jeśli
2. (a)
otrzymać rozkład
PA
LDU, gdzie L, U i D
są
odpowiednio macierzami: i przekątniową. 24. Znaleźć algorytm rozwiązywania układu Ax = b przy założeniu, że tylko t~ elementy % są różne od O, dla których li - Jl ~ 1 lub (i,j) = (1, n), lub (i,j) =(n, 1). Zastosować eliminację Gaussa bez wyboru elementów głównych. 25. Niech A będzie macierzą stopnia n, dominującą przekątniowo w kolumnach, tj. taką, że =
.~:.·to zwykła eliminacja Gaussa jest - w teorii - skuteczna, gdyż żaden element nie znika.
· Sprawdzić, czy jeśli macierz A jest trójprzekątniowa, to PAP- 1 ma tę samą
1%1·
·własność.
w dowodzie tw. 4.3.4 jest n
laii - aila1ifa11I;;;.
+ lci-11
I
.·i, główny
n
ei= laiil -
w i-tym wierszu jest okre-
L
laij -
aila1j/a11I + e1,
i=2, j,&i ' .
l
czyli nie zmniejsza się ona
weliminacji Gaussa.
ADANIA KOMPUTEROWE
4.3
1. Napisać program eliminacji Gaussa z pełnym wyborem elementów głównych; będą w nim potrzebne dwa wektory permutacji. '2. W związku z zad. 19 napisać program obliczający rozkład macierzy symetrycznej bez wyboru elementów głównych.
178
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
4.4. NORMY I ANALIZA
program eliminacji Gaussa ze skalowanym wyborem wierszy głównyc}i.: go dla macierzy z zadań 15, 17, 18 i 19d. K4. Napisać i sprawdzić programy uwzględniające w eliminacji Gaussa wyważanie· kolumn (zob. zad. 4). KS. Napisać i sprawdzić programy rozwiązujące układy Ax = b i y TA = cT. Należy · ograniczyć się do jednego rozkładu (macierzy A, ze skalowanym wyboi;em elementów głównych). Dwa oddzielne podprogramy mają obliczać x i y. · · ··· K3.
Napisać
i
sprawdzić
i sprawdzić program rozwiązujący układ Ax = b. Zastosowap wywa.> żanie kolumn (zob. zad. 4), analogicznie określone wyważanie wierszy i pełny wybór elementów głównych. K7. Napisać procedurę GaussJ(n,A,b,x,p,s,d), która rozwiązuje układ Ax =·b z macierzą stopnia n metodą Gaussa-Jordana (zad. 32c), jednak uzupełriioną o wyważenie kolumn na początku (zad. 4) i skalowany wybór \Vierszy głównych (Pk-ty wiersz ma służyć do eliminacji niewiadomej Xk z pozostałych równali). Mnożniki niezbędne w tym postępowaniu należy zapamiętać w tablicy d, gdyż będą potrzebne na końcu do obliczenia x. KB. Napisać i sprawdzić wersję rekurencyjną skalowanej eliminacji Gaussa, z obliczaniem skal przed każdym krokiem. K6.
dpowiadą ona naszemu intuicyjnemu pojęciu długości. Wskaźnik 2 odróż-_,_. ,.. , a tylko tę normę od innych, używanych w analizie numerycznej. Najprost-
. zecią
(4.4.4)
ważną normą w llłn jest :no'rma· li ~kr~Ślona wzorem n
llxll1
:=
~]xil· i=l .
. PRZYKŁAD
;,i
, . . .
~. ł . ·.
"'
Rozwiązanie.
V:= (0,5,5,5),
Wyniki podano
„.
.
: „
niżej:
11'% 11·112 ll·lloo 16 15 6
8 8.66
·5
4 5 6
•
'. · ·Aby lepiej "zrozumieć sens w~~owa;dz~:riych no~I-9.; foz~ażmy przestrzeń . Rysurie~c 4.1-polm:zuje dla każdej z nich zbiór · · '
..
to kostka (kula) jednostkowa w tej dwuwymiarowej przestrzeni.
.
'
llxll > O dla x =/. O, x E V, 11-Xxll = 1-Xlllxll dla AE JR, x EV, llx + Yll ~ llxll + llYll dla x, y E V
• ~
W:= (6,0,0,0).
Normy wektorów W przestrzeni wektorowej V norma jest funkcją 11·11 określoną na V, o war~. tościach rzeczywistych nieujemnych, która ma trzy własności:
.
4.4.1. Obliczyć trzy określone wyżej' normy dla wektorów
X:~ (4,4,-4,4),
V
Badając błędy w zadaniach numerycznych dotyczących wektorów, używ~i;ny ich norm. Wektory, którymi będziemy się zajmować, należą do llłn, ale norm można określić w dowolnej przestrzeni wektorowej. .":
wzorem
llxlloo := l~i~n m~ lxil·
X
błędów
określona
. z nich jest norma l 00
Napisać
4.4. Normy i analiza
179
BŁĘDÓW
(nierówność trójkąta). . I
wektora x. Norma wekt' ra uogólnia pojęcie wartości bezwzględnej (modułu) lrl liczby rzeczywist lub zespolonej r. Najbardziej znaną normą w llłn jest norma euklidesovJ (norma l2) określona wzorem Możemy uważać
Normy macierzy Przejdźmy teraz do określenia normy macierzy. Ogólnie rzecz biorąc, wystarczy, żeby taka norma spełniała warunki (4.4.1)-(4.4.3). Właściwsze jednak są definicje powiązane z normami wektorów. Dla ustalonej normy 11·11 wektora indukowana przez nią norma macierzy kwadratowej A stopnia n jest określona wzorem
llAll
sup {llAull: u E llłn} llull=l
:=
określa się normę
(ogólniej, tak
(4.4.5)
macierzy m x n).
4.4.2. Dla dowolnej normy li· li w llł.n wz6r (4.4.5) w przestrzeni liniowej macierzy stopnia n.
TWIERDZENIE normę
określa
Dowód. Mamy sprawdzić, że norma (4.4.5) spełnia aksjomaty (4.4.1)(4.4.3)7 Po pierwsze, jeśli A =f O, to A ma co najmniej jedną kolumnę, np. A(j), niezerową. Niech x będzie j-tym wektorem jednostkowym. Oczywiście x =f O, a wektor v := x/llxll ma normę 1. Dlatego z definicji (4.4.5) wynika, że
llAll
llAvll =
>->
""'
Następnie,
z
11>-All = Korzystając
skujemy,
llxll
własności
= l>-1
sup llAull llull=l
nierówności trójkąta
llull=l
Ważnym
dla normy wektorów i z zad. 51, wnio-
+
sup llBulJ llull=l
= llAll + llBll·
•
wnioskiem z definicji (4.4.5) (a właściwie powodem, dla któmacierzy) jest to, że
llAll llxll
Istotnie, jest tak dla x = O. Jeśli zaś x 1 i na mocy (4.4.5) jest
(4.4.7) Korzystamy tu z faktu, że w złożeniu dwóch maksimów można je przestawiać (zob. zad. 52). Korzystamy też z tego, że kres górny wyrażenia l'E}=l aijUjl dla ustalonego i oraz llulloo = 1 jest osiągnięty dla Uj = 1, gdy aij > O i Uj = -1 w przeciwnym razie. W ten sposób udowodniliśmy następujące twierdzenie:
4.4.3. Norma macierzowa indukowana przez (4.4.4) wyraża się wzorem
TWIERDZENIE rową
normę
wekto-
(4.4.6)
=f
O, to wektor v := x/llxll ma
llABll
~
llAll llBll.
(4.4.8)
Pierwsza z nich wynika wprost z definicji (4.4.5), a druga z (4.4.5) i (4.4.6). Inną ważną normą macierzową jest norma spektralna, indukowana . · . przez normę euklidesową wektorów, czyli określona wzorem
llAll2 =
+ llBull) ~
określono normę
llAxll ~
llAll
= l>-1 llAll.
sup ll(A + B)ull ~ sup (llAull llull=l . llull=l
~ sup llAull
llAlloo =
llill = 1,
że
że
IJA + Bii =
rego tak
·
(4.4.2) normy wektora wynika,
sup 11>.Aull llull=l z
llxll
Niech np. normą wektorową będzie ll·lloo z (4.4.4). Jaką normę macierzy ona indukuje? Wynika to z następującego rozumowania:
Norma macierzowa indukowana przez dowolną normę wektorową ma ·• oprócz (4.4.1)-(4.4.3) - jeszcze inne własności, m.in. następujące:
(") 3
= llA li > O
llAxll
181
4.4. NORMY I ANALIZA BŁĘDÓW
sup llAxll2. 1lxll2=l
W twierdzeniu 5.4.10 udowodnimy,
że
gdzie ai są wartościami szczególnymi macierzy A określonymi po tw. 5.4.1. Z podanych tam informacji wynika, że normę spektralną można określić równoważnym wzorem
i1Ai12 =
Jp(AT A),
.gdzie promień spektralny p(AT A) macierzy AT A jest z definicji jej najwięk'C1 szą wartością własną. .
182
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Wskaźnik
uwarunkowania
Wielkość
Zobaczymy teraz, do czego się przydają określone już normy. Rozważmy_,,,.. Ax = b o macierzy kwadratowej nieosobliwej.
układ
macierz A- 1 jest zaburzona, co zmieniają na macierz B, to zaburzenie przenosi się na rozwiązanie x = A- 1 b, zamiast któ-„„ rego otrzymujemy wektor x = Bb. Jak duże jest zaburzenie rozwiąza~ia, · · mierzone bezwzględnie i względnie? ' PRZYKŁAD 4.4.4. Jeśli
x(A) nazywamy wskaźnikiem uwarunkowania macierzy A.
•
Rozwiązanie. Dla dowolnej normy wektorowej i indukowanej przez nią normy macierzowej wielkość zaburzenia bezwzględnego wynika z nierów-
'.•:
\
llx - xll = llx - Bbll = llx - BAxll = ll(I - BA)xll wynika oszacowanie dla zaburzenia
< III -
względnego:
.'
bezwzględnie i względnie?
r
1
llx - xll < IJA- 11 llb- bll = llA- 1 Jl llAxll
: torem
.
'·
.
~
·. . . .
'""
x(A) := llAll · llA- 11-
i jego przybliżeniem X nazywamy wek-
są powiązane ważną zależnością: .·
x jest
dokładnym .rozwiązaniem µkładu
Ax
=
bz
za-
burzoną prawą stroną ·b := b - r. Znajdziemy teraz i~ązki między błę_
darni ~zględnymi wektorów x i b, tj. między„wielkościami llx - xll/llxll 'i llb - bll/llbll = llrll/llbll· Poniższe twierdze~ie' pokazuje, że ważną rolę od-
(4.4.9)_ ·.
.. ' '~
1
te wektory
· '. ·, .: " Zauważmy, że
·~
gdzie
błędu . .Oba
X
· Ae=r.
llbll~llbll <
llAll llxll llb- bll llbll .
(A) llb - bll llbll 1
x ..:
. X
.
'.
A-l =c_ 2 .[ 1. . -1-c] -1 + c 1 '
między dokładnym rozwiązaniem
Stąd
llx - xll ~ llxll ~
~·
x.
•
macierz A jest nieosobliwa, to
Jest to oszacowanie zaburzenia bezwzględnego. Zaburzenie względne wyniiro.' z dalszych rozumowań (poprawnych, gdy bi= O): . ··
~
'
:.
r := b-Ax:·
'
e ::= x -
~
.
••
x.:·
PRZYKŁAD 4.4.5. Załóżmy, że zamiast b mamy wektor zaburzony b. Niech.
llA- 1 11
.
'!
(4.4.7) ~~ika: że llAll 00 :::: 2+;d llA- 1 11 00 = c- 2 (2+c), skąd )'.i~{:A) = [(2 + c)/c] 2 > 4/c2 • Jeśli' c 40000. W tym · przyp1;1dku małe zaburzenie względne wektorą. b może spowodować 40 OOO },azy więks;z;e zaburzenie względne rozwiązania {i.kładu Ax = b. · .. · ·.Rozwiązując numerycznie układ;r.ównań Ax = b, otrzymujemy zamiast : ~p~wiązania dok~adnego x jeg? priybliże~ie Aby: sprawdŻić jego dokład Il()ŚĆ, I?orównujemy Ax z b, a ściślej - obliczamy wektor residualny
x spełniają odpowiednio równania Ax =bi Ax = b. Jak różnią się x i X Rozwiązanie. Jeśli
.
1.
l+c], 1
1 -: c.
.g~~ie.c >O. Ż
BAll llxll.
llx-xll llxll
xi
.,,
A= [ 1
ności
Stąd zaś
183
4.4. NORMY I ANALIZA BŁĘDÓW
grywa tu
wskaźnik
uwarunkowania x( A) .
~
TWIERDZENIE
wania
4.4.6. Wektory residualny i błędu oraz wskaźnik uwarunko-
spełniają nierówność
·
·.
.. · „. : .• .•
.„ ~·
.
~·.
-
.
4.4. NORMY I ANALIZA BŁĘDÓW
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
184
Dowód. Prawa
a tak jest,
część
tej
nierówności
jest
równoważna
temu,
6. Wykazać, że zbiór H := {x E Rn: llx - all 2 = llx - bll 2} jest hiperpłaszczyzną, tj. przekształceniem przez przesunięcie przestrzeni liniowej wymiaru n - 1, ale że na ogół tak nie jest dla innych norm. Zilustrować to dla n = 2.
że
7. Wykazać, że każda z norm: ll·llcxn 11·112, 11·111 ma własności (4.4.1)-(4.4.3). 8. Wykazać, że llxll 00 < llxll2 < llxll1 dla każdego x E Rn i że równość jest tu możliwa nawet dla pewnych wektorów niezerowych. 9. Znaleźć wszystkie wektory x takie, że odpowiednio: , (a) llxlloo = llxll1, (b) llxlloo = 1lx1l2, (c) llxll1 = llxll210. Wykazać, że llxll1 < nllxlloo i llxll2 < y'ii llxlloo dla każdego x E Rn . . 11. Wykazać, że norma ~ektora musi zależeć od jego wszystkich składowych.
gdyż
(w istocie mamy tu nierówność (4.4.9)). nia można napisać w postaci
Lewą część nierówności
185
z twierdze-.-• '
12. Sprawdzić, czy poniższe wyrażenia definiują normę w Rn.
a to wynika natychmiast
(a) I:~=1lxi13
stąd, że
(b) (I:~= 1 lxil 1 1 2 ) (c) max{lx1 - x2I, lx1 2
•
(d) I:~=l 2-ilxil 13. Niech będzie
Macierz A o dużym wskaźniku x(A) nazywamy źle uwarunkowaną. Dla takich macierzy rozwiązanie układu Ax = b może być bardzo czułe na małe zmiany wektora b. Inaczej mówiąc, aby wyznaczyć x z pewną dokładnością, musimy znać znacznie dokładniejsze b. Jeśli wskaźnik uwarunkowania jest niezbyt duży, to macierz jest dobrze uwarunkowana 12 ).
A :=
2
(a) llOll =O, (b) llx + Yll;;;,, lllxll - llYlll, (c) llI:: 1 x(i)ll < I:: 1llx(i)ll dla dowolnych wektorów x< 1>,x< 2>, ... ,x(m). 2. Podać przykład normy w R 2, której wartość dla (1,0) byłaby równa·2, a dla (1, 1) równa 1. 3. Czy istnieje taka norma w R 2, że 11(1,0)ll = 11(0, 1)11 = ll(ł, ł)ll? 4. Niech 11·11 będzie normą w Rn. Udowodnić, że wzór
·
gdzie wagi w 1, w2, ... , Wn są ustalonymi liczbami dodatnimi. Udowodnić, że ona warunki (4.4.1)-(4.4.3) i znaleźć normę indukowaną macierzy.
spełnia
' 15. Dla każdego p;;;,, 1 wzór llxllp := (2::~= 1 lxilP) /P określa pewną normę (dowód podaje np. Bartle [1976, s. 61]). Udowodnić, że dla każdego x E Rn
1
sup uT x ueJRn. llull=l
12 ) Autorzy rozważają skutki zaburzenia macierzy A- 1 (przykład 4.4.4) lub prawej strony układu Ax = b. Ten układ rozwiązujemy jednak na ogół nie korzystając z obliczonej macierzy odwrotnej. Dlatego istotne jest również to, jak zaburzenia samej macierzy A wpływają na rozwiązanie układu; zob. Dryja, Jankowscy [*1982, s. 23] (przyp. tłum.).
~i
-2
< 1, znaleźć ten, dla którego llAxlloo jest maksymalne. Obliczyć wartość llAlloo· 14. Norma ważona l 00 wektora x E Rn jest określona wzorem
1. Udowodnić, że dowolna norma.wektorowa ma następujące własności:
określa pewną normę. Udowodnić, że powtórzenie przejścia od 11·11do11·11' powoduje powrót do pierwotnej normy, tj. że (11·11')' = 11·11· Udowodnić, że dla dowolnych x, y E Rn jest lx T YI < llxll llYll'. 5. Niech li· li będzie normą wektorową w Rn, a A macierzą stopnia n. Podać ścisłe warunki, zapewniające, że także llAxll jest normą w tejże przestrzeni.
6
Wśród wektorów x takich, że llxll 00
ZADANIA 4.4
llxll' :=
[-i -~
+ x2I, lx3I, lx4I, · · ·, lxnl}
lim llxllp = llxlloo, p->oo ,
co uzasadnia stosowanie symbolu ll·lloo· 16. Niech 11·11 będzie normą w przestrzeni wektorowej V. Dla x, y EV przyjmujemy, że d(x,y) := llx -yll· Sprawdzić, że d ma następujące własności: (a) d(x,x) =O, (b) d(x,y) = d(y,x), (c) d(x,y) >O dla x =I y, (d) d(x,y) < d(x,z) + d(z,y). (Taką funkcję d nazywamy metryką). 17. Dla wektora x = (xi, x 2, ... , Xn) E Rn określamy jego wartość bezwzględną jako wektor (lx 11, lx 21, ... , lxnl). Prócz tego dla wektorów x i y definiujemy relację <; jest x < y, jeśli Xi < Yi dla i = 1, 2, ... , n. Udowodnić, że każda z norm 11·111, 11·112 i ll·lloo jest taka, że jeśli lxl < lyl, to llxll < llYll·
186 18.
19. 20. 21.
22.
Udowodnić, że każdej normie wektorowej i indukowanej przez nią normie macierzowej dowolnej macierzy A stopnia n odpowiada wektor x =fa O taki, że llAxll = llAll llxll. Czy normy indukowane macierzy spełniają równość llABll = llBAll? Udowodnić, że jeśli macierz A ma nietrywialny punkt stały (tzn. jeśli Ax = x dla pewnego x =I O), to llAll ;;;, 1 dla dowolnej normy indukowanej. Wykazać, że norma indukowana llAll jest najmniejszą liczbą M taką, że llAxll .·.;;; Mllxll dla każdego x. • .,_..„ Norma F'robeniusa macierzy A stopnia n jest określona wzorem n
llAllF =
n
(L:L:a~i) i=l j=l
23. 24.
25. 26.
27.
1/2
32. Niech A będzie macierzą m X n. Jeśli x E Jlłn, to Ax E Jlł"'. Można przyjąć, ... że A określa odwzorowanie liniowe przestrzeni Jlłn z normą 11·11 1 na przestrzeń llł"' z normą 11·11=· Jak należy wtedy rozumieć llAll? 33. (cd.). Powtórzyć poprzednie rozumowania, zamieniając miejscami normy 11·11 1 i li ·li=· 34. Udowodnić, że wzór n
.. '
~
określa normę
.
28. Dla normy macierzowej z tw. 4.4.3 sprawdzić, czy llABll= = llAll=llBll=· .Jak. jest w szczególnym przypadku A = B?
30.
Wykazać, że
n
==.2: L:Ja~il ·
norma wektorowa 11·11 1 indukuje
macierzy stopnia n. Wykazać, że nie jest ona indukowana przez Czy warunki (4.4.8) są tu spełnione? 35. Udowodnić, że x(>.A) = x(A) (>.i= O). . · 36. Udowodnić, że x(A) = supllxll=llYllllAxll/IJAyll: . 37. ·Stosując normę li· li 1 z zad. 30, obliczyć· wskaźnik uwarunkowania macierzy jakąkolwiek normę wektorową.
ó := inf llAxll. llxll=l
Udowodnić, że
llAll
i=l j=l
Udowodnić, że spełnia ona warunki (4.4.1)-(4.4.3) i sprawdzić, czy jest indukowana przez jakąś normę wektorową. Zrobić to samo, przyjmując, że llAll = max1,;;i,j,;;nl%I· Czy wartość każdej normy induk<;>wanej jest równa 1 dla macierzy permutacji? Udowodnić, dla dowolnej normy wektorowej i indukowanej przez nią normY. macierzowej, następujące twierdzenie: jeśli dla pewnego O > O i dla każdego· wektora x macierz kwadratowa A spełnia nierówność llAxll ;;;, Ollxll, to jest oria·:.„ · nieosobliwa i taka, że IJA- 1 11.,;; 0- 1. =·:/ (cd.). Udowodnić, że macierz A dominująca przekątniowo ma własność pocl~n4~·: w poprzednim zadaniu. Jakie O odpowiada normie 11·11=? · Udowodnić, że dla dowolnej macierzy nieosobliwej A istnieje takie ó > O, że· A+ E jest nieosobliwa, jeśli tylko llEll < ó, gdzie 11·11 jest dowolną norniąi: macierzy. ,. (cd.). Wykazać, że dla dowolnej normy wektorowej i indukowanej przez nią normy macierzy w poprzednim zadaniu można przyjąć
. 41: Znaleźć wskaźnik uwarunko~ania XOC> mad~rzy stopnia n trójkątnej dolnej, . „mającej na głównej przeką~nej elementy 1, a pod nią -1. „.42. uą.owodnić, że wskaźnik uwarunkowania:·spełnię: nierówność t···
.
.
.
.
'
„
„
. x(AB)...,;; x(A)x(B). 43.
Obliczyć wskaźniki
(a)[a!l
uwarunkowania x1, x2 i x= dla
następujących
macierzy:
a~ll (b)[_~ ~], (c)[~·il
44. Podać przykład macierzy dobrze uwarunkowanej, mającej bardzo mały wyznacznik. .45. Niech C = (c.;j) będzie odwrot:q.ością macierzy. A. Wykazać, że dla. układu I';::'. Ax = 6 zaburzenie ó wielkości bj powoduje zaburzenie C;jÓ" niewiadomej Xi· : 46:. {cd.): Wykaz~ć, że z~burzeni~ ó eleni~~tu·aik ~aburza: x, ·z grubsza o -CijXkÓ· 47. Jako wskaźnik uwarunkowania: maćierzy. A st.opnia n stosuje się" c~asem wiel. · kość
normę macierzową
M(A)
===n· rr:ia:x
·1%1
~~i,J~n
gdzie C = A- 1. Udowodnić, że jeśli Ax =bi jeśli tylko jedna składowa wektora b jest·zaburzona, np. o c, to zabi,iJ:zone rozwiązanie_x jest takie, że 31. Korzystając z wyników zadań 8 i 10, udowodnić, że :
.
.. I•
rr:ia:x lcijl, . l~i,3~n
llx - xll= lei llxll= .;;;; M(A) llbll=.
.„
i
•;•q1
'
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
188
48. Udowodnić, że dla każdej macierzy nieosobliwej A nierówność {4.4.9) staje się równością dla pewnych wektorów b i b (oczywiście chcemy, żeby było b =f. O i b =f. b). Wskazówka: Prześledzić dowód tej nierówności i sprawdzić, kiedy w przekształceniach może wystąpić równość. 49.
Rozwiązując układ
Ax
=
bz
macierzą A =
[i
~.Ol], przewidzieć wpływ
małych zaburzeń wektora b na rozwiązanie x. Sprawdzić te przewidywania na konkretnym przykładzie: b = {4, 4) i b = (3, 5). 50. Udowodnić, że jeśli macierz A jest nieosobliwa, to istnieje macierz osobliwa B taka, że llB -All2 = llA- 1 112· 51. Udowodnić, że dla dowolnych funkcji fig o wartościach rzeczywistych
sup[f(x)
52. (a)
+ g(x)]
.;;;; sup f(x)
Udowodnić, że
czonej,
+ sup g(x).
dla dowolnych zbiorów A i Bi funkcji rzeczywistej ogranina A x B jest
określonej
supsupf{a,b) aEA bEB
= supsupf(a,b). bEB aEA ·
(b) Pokazać na przykładzie, że na ogół nie można przestawiać kresu górnego i kresu dolnego. (c) Wykazać, że bEB aEA
ZADANIA KOMPUTEROWE
Kl.
Napisać normę
4.4
procedury obliczające macierzy kwadratowej.
normę
Rozważmy przykład w JR4 . Jeśli v(k) :=
(3 - k- 1 , -2
+ k- 1/ 2 , (k + l)k- 1 , e-k),
V
:=
(3, -2, 1, O),
(-k-1 , k-1/2 , k-1 ,e-k) .
V (k) - V--
, Dla normy ll·lloo określonej w podrozdz. 4.4 jest oczywiście llv(k) -vlloo-+ O, gdy k -+ oo. Wobec tego v jest granicą ciągu {v(k)} w przestrzeni liniowej unormpwanej (JR4 , ll·lloo)· Vi! tym miejscu warto przypomnieć (bez dowodu) ważny wynik dotyczący takich przestrzeni: dowolne dwie normy w skończeniewymiarowej przestrzeni wektorowej określają zbieżność w ten sam sposób. Sprawdziws~y więc, że llv(k) - vlloo -+ o, wiemy bez dodatkowych obliczeń, że dla ;dowolnej normy w JR4 jest llv(k) - vll -+ O. To twierdzenie nie stosuje się .jednak do nieskończeniewymiarowych przestrzeni liniowych unormowanych (zob. zad. 22). A oto inny ważny fakt dotyczący skończeniewymiarowych przestrzeni liniowych unormowanych: każdy ciąg spełniający warunek Cauchy'ego jest zbieżny. Inaczej mówiąc, jeśli ciąg {v(k)} jest taki, że lim sup
k->ooi,j~k
llv(i) -
v
ma on granicę. Zastosujemy te wiadomości do wektorów z ]Rn i macierzy stopnia n. . poniższych twierdzeniach li· li jest dowolną normą w JRn i ten sam symbol Oznacza normę indukowaną macierzy, określoną w podrozdz. 4.4.
sup inf f(a,b),;;;; inf sup f(a,b). aEA bEB
189
4.5. SZEREGI NEUMANNA I POPRAWIANIE ITERACYJNE
llxi1 00 wektora x i
indukowaną
przez
nią
4.5.1. Jeśli A jest macierzą stopnia n taką, że macierz I - A jest nieosobliwa i
TWIERDZENIE
(I -A)- 1
=
llAll < 1, to
oo
L Ak.
(4.5.1)
k=O
4.5. Szeregi Neumanna i poprawianie iteracyjne
Szereg po prawej stronie (4.5.1) nazywamy szeregiem Neumanna. Ważnym
zastosowaniem norm jest ścisłe określenie zbieżności w przestrzeni wektorowej V. Jeśli wprowadzono w niej normę 11·11, to para (V, 11·11) jest przestrzenią liniową unormowaną. Ciąg wektorów v< 1), v< 2 >, ... z tej przestrzeni jest zbieżny do v, jeśli lim
k->oo
llv(k) -
1
= llxll = llAxll < llAll llxll = llAll,
·co przeczy założeniu. Udowodnimy teraz, . eumanna jest zbieżny do (I - A)- 1 :
vll = O.
Jest to zgodne z naszym intuicyjnym przekonaniem, że odległości wektorami v(k) i granicą v powinny dążyć do O, gdy k-+ oo.
Dowód. Przypuśćmy, że macierz I - A jest osobliwa. Wtedy istnieje ,'\Ve.ktor x taki, że llxll = 1 i (J - A)x = O. Stąd wynika, że
x<0 >' jest przybliżonym rozwiązaniem równa~ia A~ =
ozwiązanie
0.6, więc szereg Neumanna L:k::o Ak jest zbieżny do B- 1~;: algorytm z zad. 19, obliczamy początkowe sumy częściowe:
[1o
I
•
:. opra~iańie iteracyjne
0.2 O.O -0.2
llAlloo =
EAk = k=O
oo
B- 1 = L(I - AB)k A. k=O . ,
A- 1 .
'
Ponieważ
oo
L(I ~ AB)k, k=O
ma-
0.9 -0.2 -0.3] B := 0.1 1.0 -0.1 . [ 0.3 0.2 1.1
0.1 A :=I - B = -0.1 [ -0.3
III -ABll < 1,
(A.E1)- 1 ~ 2:(I -AB)k.
.• 'J• ..
Niech
4.5.3. Macierze kwadratowe A i B takie, że
.. oo
llAll.
cierzy
Rozwiązanie.
0.82142 857
Dowód. Na mocy tw. 4.5.1 ma9ierz AB jest nieo~obliwa i
1
k
li~ ~llA li~ ~llAll =
4.5.2.
-0.21428 571
S
''.'
PRZYKŁAD
0.14285 714 0.28571429]
Niżej podano inny wariant tw. 4.5.1:
Twierdzenie 4.5.1 praktycznie bez zmian obowiązuje w teorii operatorów liniowych ciągłych w dowolnej przestrzeni Banacha. Ma ono ważne . , skutki, zarówno praktyczne, jak i teoretyczne. Zauważmy, że z (4.5.1) wy-'_/ nika oszacowanie ·„ -1
1.00000 ooo
[
·.·.
m
(I -A) L Ak Ponieważ
19
Ostatnia suma daje elementy macierzy B- 1 z ośmioma dokładnymi cyframi po kropce. •
A- 1 (b-Ax< 0 )) jest wekto_rem błędu. Natomiast wektor residu\.iy odpowiadający przybliżeniu x
dzie
.
e(O) :=
·1.
,\.
<..: · Ae(O) ~
·uwagi
r(o).
prowadzą.do -~rocedury numery~z~ej; zwa~ej .popra.wianie,,;.,,· itera-. t.
)
:.
'
192
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Przypuśćmy, że równanie Ax = b rozwiązano numerycznie, stosując np.· eliminację
Gaussa (podrozdz. 4.3). Ponieważ błędy zaokrągleń powodują, że wynik x(o) jest tylko przybliżony, więc obliczamy następnie r< 0 ), e< 0 ) i x< 1), stosując relacje · r(o)
=
b - Ax<0>,
Iterowanie tych czynności daje lepsze przybliżenia x< 2), x< 3), ••• Ściślej, aby ta procedura była skuteczna, musimy obliczać składowe bi ; L,7J= 1 aijXJk) wektora residualnego r(k) w podwójnej precyzji, bo wtedy unikamy utraty cyfr znaczących powodowanej odejmowaniem. (Przypomnijmy, że w idealnej sytuacji r(k) =O, więc wyżej musi występować różnica prawie identycznych liczb). PRZYKŁAD
193
4.5. SZEREGI NEUMANNA I POPRAWIANIE ITERACYJNE
gdzie B jest
przybliżoną odwrotnością
więc opisać
wzorem
macierzy A. Proces iteracyjny
można
(4.5.3) Pokażemy teraz, że te wektory są sumami częściowymi szeregu Neumanna, a to pozwoli udowodnić, że ciąg {x(k)} jest zbieżny do rozwiązania układu lf).x = b (jeśli działania w (4.5.3} są wykonywane dokładnie). iy Jeśli B jest na tyle dobrym przybliżeniem macierzy A- 1 , że III -ABll < 1, .tb na mocy tw. 4.5.3
A-
oo
1
=B
°'IJI - AB)k k=O
'~l:lokładne rozwiązanie układu Ax = b wyraża się wzorem
Gaussa ze skalowanym wyborem wierszy głównych, znajdujemy rozkład macierzy układu, a następnie za pomocą podstawiania wstecz znajdujemy przybliżone rozwiązanie X(O)
=
Kilka kroków poprawiania iteracyjnego daje
następujące
wyniki:
ffi
I
czyli
:==
III -ABll < 1, to metoda poprawiania iteracyjwzoru (4.5.3) daje ciąg wektorów
4.5.5. Jeśli
według
B L(I -AB)kb k=O
x(m) :=
(0.99998 0, 1.00013 7, 0.99967 0, 1.000215).
(4.5.4)
ciąg
sum
częściowych
(m;:;;: O), szeregu (4.5.4) jest
zbieżny
do x.
Dowód. Ponieważ x(O) = Bb, więc twierdzenie jest prawdziwe dla O. Przyjmując, że jest tak dla ustalortego m ~ O, obliczamy
jest x = (1, 1, 1, 1). Ponieważ operowano na licz~ bach z siedmiocyfrowymi mantysami, więc końcowy wynik możemy uznać za zupełnie dobry. •
= B [b +(I -AB) E(I - AB)kb] = B } ; (I
Dokładnym rozwiązaniem
yli twierdzenie pozostaje prawdziwe po zmianie m na m )
Aby zbadać teoretycznie ten algorytm, przyjmijmy, że wektor leziono ze wzoru
x< 0> := Bb,
m
B L(I -AB)kb+ Bb- BAB L(I -AB)kb k=O . k=O
•
=
- AB)kb,
+ 1.
•
. Zbieżność ciągu {x(m)} do x można też wykazać bezpośrednio, ale przy ym założeniu. Z (4.5.3) wynika, że
x< 0 > zna.'
x(m+l) -
x
= x(m)
-
x
+ B(Ax -
Ax(m)) =(I - BA)(x(m) - x).
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
194
4.5. SZEREGI NEUMANNA I POPRAWIANIE ITERACYJNE
ięc także
Stąd
III ~ III · · · ~ III -
llx(m+l) - xll .~
BAll llx(m) - xll ~
i błędy llx(m) - xll dążą do O dla m --> oo, jeśli tylko III - BAll < 1. · · Rozwiązując zad. 8, można się dowiedzieć, czy nierówności III - ABll i III - BAii < 1 są równoważne.
2.
Wstępne wyważanie
3. 4.
Pełny
kolumn.
wybór elementów głównych. Wyważanie lub skalowanie w każdym kroku eliminacji.
5. Poprawianie iteracyjne
końcowego rozwiązania.
Wyważanie wierszy polega na dzieleniu wszystkich elementów każdego .: wiersza macierzy współczynników przez ten z nich, który ma największą : wartość bezwzględną; inaczej mówiąc, elementy i-tego wiersza mnożymy. przez Ti := 1/ max1~j~nlaijl (1 ~ i ~ n). Nowe elementy iiij spełniają warunek max1,,:;j,,:;nliiijl = 1. W praktyce, gdy komputer pracuje w ukła, · dzie dwójkowym, bardziej celowe jest przyjąć, że ri jest równe tej z liczb-. 2m (m całkowite), która jest najbliższa wartości l/max1,,:;j,,:;nlaijl· Wtedy unikamy dodatkowych błędów zaokrąglenia przy przejściu od aij do:iiij~;·: Ponieważ i-tym równaniem układu jest n
n
LaijXj =bi, j=l
(RA)x =Rb, 1 '.' · ,: ·
: :==
czyli
L(riaij)Xj
= ribi,
j=l
13 ) W oryginale punkty 1, 2 i 4 zaczynają się słowem preconditioning, które nigdzie ~ie' · jest zdefiniowane. Tylko z kontekstu wynika, że autorzy mają na myśli wstępne przekształ cenie macierzy A lub wektora b przed procesem eliminacji lub analogiczne przekształcenia, macierzy tworzonych w poszczególnych krokach eliminacji, wykonywane przed każdym jej krokiem. Te przekształcenia mają poprawiać własności układu (zmniejszać wskaźnik uwar:; runkowania macierzy) i tym samym zwiększać dokładność wyników (przyp. tłum.). ' '
należy
przecho-
gdzie R := diagh).
Wy:w,aża~ie kolumn określamy podobnie: j-tą kolumnę mnożymy przez
l/maX:1~i~nlaijl (1 ~ j ~n), a raczef- co jest bardziej wskazane rzez bliską tej wartości liczbę 2m. Pierwotne równania zmieni~ją się na astępujące: ,\
.
j=l
Dla układów równań liniowych o szczególnie kłopotliwych macierzach pro- .· cedury rozkładu i rozwiązywania znane z podrozdz. 4.3 można wzbogacić · 1 o dodatkowe czynności. Oto pięć takich technik: ·' 1 1. Wstępne wyważanie wierszy 3).
przez Ti· Dlatego liczby Ti
układu. W symbolice macierzowej wyważanie wierŚzy'Opisujeiny i:ówn~nie~
. E(cjaij)
Wyważanie
pomnożyć
._a,ć. na. cz~. rozkładu, fl:?Y póź~ej. n;<;>~~y być użyte w fazie rozwiązywania
BAll2 llx(m-1) - xll ~ ... BAllm llx(O) - xll
bi trzeba
195
(x~)
=bi
(1
~i~
n).
C3
: aza rozwiązywania daje wielkości Xj / Cj, które trzeba jeszcze pomnożyć !Z!3Z Cj; te ostatnie liczby należy więc zapamiętać do końca obliczeń. symbolice macierzowej wyważanie kolumn jest opisane równaniem
(AC)(d- 1 x) = b,
gdzie C := diag(cj)· ..
. . Pełny wybór elementu głównego na początku obliczeń polega na zna. ieniu największego co. do modułu eleID:entu macierzy. Określa on zarówno :·erwszy wiersz główny, jak i pierwszą_tal-ą kolumnę, której elementy będą ~rowane w czasie eliminacji. Te kolumny będą zatem vrybierane nie w natu' n~m .porz~dlm 1, 2, ... , n., ale zgodnie.z dokł~dniejs;zą strategią. Wymaga . uzycia dwoch tablic permutacji;jedna·zawiera wskaźniki wierszy, a druga · wskaźniki kolumn zawierających kolejne elementy główne (zob. zad. 4.3.4 4.3.Kl). ',; .· ·· Czwartą z wy.mienionych technik jest wyważanie lub skalowanie w każ ym kroku obliczania rozkładu macierzy; daje to bardziej logiczną strukturę ·,rogramu. Piątą technikę (poprawianie iteracyjne· rozwią~ania)··omówiono już· cześniej.· · · . · Z~l~ty wstępnego :wyważania wierszy i ··kólunin są. c~Mem wąt~liwe. ożemy się' przekonać, że wyważenie 'wierszy i. następująca po nim elimi~ ~cja Gaussa z nieskalowanym ich. wyborem jest w istocie tym samym co , e~i~nacja, ale z wyborem. skalowanym. DJ~tego rozsądną sti:ategią jest wazeme kolumn i następująca po nim eliminacja tego ·ostatniego typu. · . Poniższy przykład pokazuje różnicę między wyważaniem :O:ajpierw ierszy, a potem kolumn:
·. ·[; 1~8] ~ [101-8 ~]---> [101-8 ~], .„ :"•.
.,
,1•111
\.~!!!·
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
196 a
wyważaniem
w odwrotnej
4.5. SZEREGI NEUMANNA I POPRAWIANIE ITERACYJNE
kolejności:
7. Sprawdzić, czy z nierówności 1 nieosobliwa.
=
llAll > l!Bll wynika,
że
197
macierz A - B jest
'·s. Sprawdzić, czy nierówności III -ABll < 1· i III -
BAll < 1 są równoważne. 9. Wykazać, że jeśli macierz A jest nieosobliwa i llA- Bii < llA- 111- 1, to
Pierwszy wariant polega na wstępnym i końcowym skalowaniu pomocą macierzy przekątniowych, np. R i B: 0
układu
~Q• Rozwinąć A- 1 w szereg, zakładając, że III - aAll
(S(AC))(c- 1 x) =Sb,
ZADANIA
są przekątniowe.
4.5 14)
1. Udowodnić, że zbiór macierzy nieosobliwych stopnia n jest: (a) otwarty, (b) gę
sty w przestrzeni wszystkich macierzy tego stopnia. Tale więc, (a) jeśli A jest nieosobliwa, to istnieje takie e dodatnie, że każda macierz B spełniająca wa,.. runek llA - Bii < c jest także nieosobliwa; (b) dla dowolnej macierzy A i do, wolnego c >O istnieje macierz nieosobliwa B taka, że llA- Bii < c• · .' 1Y 2. Udowodnić, że jeśli macierz A jest nieosobliwa i llA - Bii < llA- 1 11-1, to również B jest nieosobliwa. 1,1;
3. Udowodnić, że jeśli llAll
< 1 dla pewnej liczby a. inf.>.ER!II - >.All < 1, to macierz A jest nieosobliwa. •2: Udowodnić, że jeśli III - ABll < 1, to macierz BA jest nieosobliwa. Czy można H · to uogólnić na przypadek macierzy niekwadratowych? 13. Udowodnić, że jeśli III - cAnll < 1 dla pewnego ci pewnej liczby naturalnej n, · to A jest nieosobliwa. 4. Udowodnić, że jeśli dla pewnego wielomianu p takiego, że p(O) = O, jest III p(A) li < 1, to macierz A jest nieosobliwa. Uogólnić to twierdzenie na wielomian , o współczynnikach macierzowych. '.H
wzorem
gdzie macierze C i S
L(I- BA-1)k. k=O
((RA)B)(B- x) =Rb, wyraża się
B-1 = A-1 (11;,
1
a drugi
oo
za ·
Udowodnić, że jeśli
.5, Wykazać, że jeśli dla pewnego wielomianu p jest lp(O)I + III - p(A)ll < 1, to ·: macierz A jest nieosobliwa. . Wykazać, że dla ustalonej macierzy A operacja x 1-> Ax jest ciągła, tj. że jeśli ciąg {x(k)} jest zbieżny do x, to {Ax(k)}--+ Ax. 7. Udowodnić, że dla macierzy nieosobliwej A jest llAxll;;;. llxll llA- 111- 1.
·s. Udowodnić, że jeśli III1 żeniem macierzy A-
< 1, to
ABll < 1, to 2B - BAB jest lepszym od B przybliw tym sensie, że iloczyn A(2B - BAB) jest bliższy I.
9: Niech będzie Bk = L;~=D Ai. Wykazać, że te macierze można obliczać reku·'' rencyjnie według wzorów Bo= I, Bk+l =I+ ABk. 'o. Udowodnić, że jeśli ciąg punktów przestrzeni liniowej unormowanej jest zbież ny, to spełnia warunek Cauchy'ego. 1
4. Wykazać, że jeśli III -ABll = c llA-1 -
< 1, to
Bii ~ 1 ~ c llBll.
5. Udowodnić, że jeśli macierz A jest nieosobliwa, to dla dowolnego B ll
B-A-111 ~ "'
III -ABll llAll
.
6. Udowodnić, że jeśli macierz E ma dostatecznie małą normę (jak małą?), to
ll(I - E)- 1 - (I+ E)ll ~ 3llEll 2 . 14 ) We wszystkich zadaniach macierze A, B, ... są kwadratowe, a ich norma jest indukowana przez pewną normę wektorową, co pozwala korzystać np. z własności (4.4.8·
(przyp. tłum.).
~·Rozważyć układ
[i!
ó
;]
[:~]
= [3
!
8] dla
małych ó >O.
(a) Niech x = (3, O) będzie jego przybliżonym rozwiązaniem. Porównać normę , ll·lloo wektora residualnego z takąż normą wektora błędu. Co stąd wynika? (b) Wyznaczyć wskaźnik uwarunkowania x 00 (A). Co się dzieje, gdy ó--+ O? (c)' Wykonać jeden krok poprawiania iteracyjnego wektora x. ~;„Niech V będzie przestrzenią wszystkich funkcji ciągłych na (O, l]. Dwie ważne normy w V są następujące: llxlloo = max lx(t)J, o.;;;t,.;1 Wykazać, że Stąd
wynika,
dla funkcji Xn(t) = tn jest llxnlloo = 1 i llxnlli --+ O dla n --+ oo. że te normy generują różne pojęcia zbieżności.
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
198
ZADANIA KOMPUTEROWE
Kl.
Napisać
wania
i
Ax = b podane w
(a)
Wyważanie
(b) (c)
Wyważanie Pełny
4.5
Dla wielkich
sprawdzić następujące
układu
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
procedury
ulepszające
algorytmy
tekście:
rozwiązy-
·
kolumn.
wierszy. wybór elementów
głównych.
(d) Dwa kroki poprawiania iteracyjnego na końcu obliczeń. Alternatywnie,' napisać oddzielną procedurę, która dla danych A, x i b poprawia rozwi!f' zanie dwukrotnie (albom-krotnie). Residua bi - 'L,'j= 1 aijXj powinny być' obliczane w podwójnej precyzji i zaokrąglane do pojedynczej. Pamiętać, że pierwotna postać macierzy A i wektora b jest potrzebna do obliczani~., tych residuów. · .,· Do testów
użyć
trzech
układów.
W pierwszym n= 10,
:=
W drugim n = 4, % := 1/(2n - i - j + 1) i bi := 'L,'j= 1 aij· Rozwiązaniem: jest x := (1, 1, 1, 1). 'Thzeci test różni się od drugiego tylko tym, że n.= 10,, Przewidzieć drukowanie wynil~ów pośrednich pokazujących szczegóły obliczeń,;. w tym rozwiązania pierwotne i poprawione. · K2.
K3.
Używając macierzy testowej A stopnia trzeciego (takiej, że pewna norma in_'; dukowana IJAIJ jest mniejsza od 1) i metod z poprzedniego zadania, obliczyć B = 'L,~~o Ai i sprawdzić, czy (I - A)B ~I. " Rozwiązać poniższy układ
i do wyniku zastosować trzy kroki poprawiailia iteracyjnego. Wydrukować r, ei x po każdej iteracji. · ~·~··;~;: 60
30
[ 20
~~15 i~] [:~i = [1 47~~i 12 X3
·
Algorytm Gaussa i jego warianty są określane jako metody bezpośrediiie· rozwiązywania zadania macierzowego Ax = b. Każdy z nich po skońc~onej liczbie kroków daje rozwiązanie x, które byłoby dokładne, gdyby nie błędy zaokrągleń. . . Metoda iteracyjna działa inaczej: tworzy ciąg wektorów zbieżny. .dp,. rozwiązania. Obliczenia przerywamy, gdy rozwiązanie przybliżone osiągnęł?1 wymaganą dokładność lub po ustalonej liczbie iteracji.
metody iteracyjne
nie jest zbyt duża, to niekiedy kosztem stosunkowo niewielu iteracji. Metody iteracyjne ą też często efektywne dla układów rzadkich, tj. takich, w których elementy inacierzy są na ogół zerami. Dzięki temu można.ją pamiętać w szczególnym, oszczędnym formacie. W pewnych przypadka.eh -,, np. wtedy, gdy rozwią ujemy numerycznie równania różniczkowe cząstkowe - tej macierzy wcale nie trzebę.· pamiętać. Każdy jej wiersz tworzy· się tylko na czas, gdy jest to ~otrzebne. Inną zaletą metod iteracyjnych jest ~ci,· że są zazwyczaj stabilne; łędy z:.:i-okrągleń są wygaszane w dalf)zych obliczeniach. Aby dać ogólne wyobrażenie o ,metodach iteracyjnych, opiszemy teraz ;~rie: z nich„ najpierw na ·najprostszym przykładzie. · farni co do
pamięci. Jeśli żądana dokładność
ożna ją uzyskać
i,l .
·, • ·\• .' .:,
.
.
'
•• . ~
•
• "·.
"
PRZYKŁAD 4.6.1. Jak można rozwiązać iteracyjnie układ . :· '.
Rozwiązanie.
Najprostsza procedura. wynika z ' ornej z !,-~ego .róyvnania:
wyrażenia
i-tej niewia-
„.··
(k) .. 6. (k-i)'+ 3· '.:·Xi =.7X2 7•
'.
f'!•
· ·e ,wzory opisują metodę lub iterację Jacobiegoi 5 ). Jej p~cząt~iem jest wyór· przybliżeń·.początkowych 0 ) i x~iJ); w bra!<:u lepszych mogą to _być ze,.. 11· Powyższe równania generują dokładniejsze - przynajmniej tego byśmy hcieli :-:- przybliżenia i x~i). Procedurę powtarzamy albo ustaloną liczbę
xi
xii)
azy, ~lbo do osiągnięcia odpowiedniej dokład,ności wek:tÓi:a (x~), x~k)). Ni'ej podano wartości-wybranych przybliżeń, otrzymanych metodą Jacobiego: . . . •
4.6. Rozwiązywanie układów metodami iteracyjnymi
tysięcy równań,
z
'órują często nad metodami bezpÓśred'hh:rii 'szyblćo~cią '
(1 <,i, j <,n), (1 <,i<, n).
(i/ll)i bi := i[l - (i/11)1°]/(33 - 3i)
aij
układów, złożonych
199
' .: .:.' . .
k ·.
(k) Xi
.
. . (k)" X2
'
·..
„
.
"'..~
.
'
. o 0.00000 0.00000 · 10 . ;0.14865 -0.19820 20 0.18682 -0.24909 . : 30 „.. 0.19662 -0.26215 40 0.19913 -0.26551 '.. .·· 50 0.19978 -0.26637 ,ęn·proces iteracyjny można by oczywiście zin9dyfikować tak, żeby·ostatnio bliczone xik) było od razu użyte do wy~naczenia:~~k): . · · .· ~
. 15)
...
Jest też używana nazwa iteracja prosta (przyp. •tłum.).
,,I'
200
(k) _ !!x(k) _ .1
X2
-
9
1
9·
Jest to metoda lub iteracja Gaussa-Seidela. W wyniki:
Zauważmy najpierw, że jeśli ciąg {x(k)} jest zbieżny, to musi dążyć , o x. Istotnie, przechodząc w (4.6.2) do granicy i uwzględniając ciągłość J>'eracji algebraicznych, otrzymujemy układ (4.6.1), czyli Ax = b. , Aby zapewnić istnienie rozwiązania układu Ax = b dla dowolnego b, akładamy, że macierz A jest nieosobliwa. To samo zakładamy o Q, dzięki zemu z (4.6.2) można obliczyć wektor x(k). Mamy więc prawo zastosować 11 f .rozważaniach teoretycznych wzór
~;·
x(k) :=(I - Q-1 A)x(k-1)
obie metody iteracyjne dają ciągi przybliżeń zbieżne do dokładnego rozwiązania (i, - ii) i że druga z nich jest zbieżna szybciej. Zauważmy też, że w przeciwieństwie do metod bezpośrednich dokładność wyników zależy tu od momentu przerwania procesu iteracyjnego. • ·
Ponieważ dokładne rozwiązanie spełnia
ięc
x jest punktem x
1-+
stałym
odwzorowania
(I - Q- A)x + Q- 1b. stronami (4.6.4) od (4.6.3), otrzymujemy
x(k) - x =(I - Q-i A)(x(k-l) - x).
, la dowolnej normy wektorowej i indukowanej przez 'aje to nierówność
Ogólna metoda iteracyjna Poznamy teraz ogólną definicję metody iteracyjnej, służącej do rozwiązywar- , nia układu Ax = b. Dla ustalonej macierzy Q wyrażamy ten układ w rów- , noważnej postaci
+ b.
z niej wynika,
Wektor początkowy x< 0 ) może być dowolny; oczywiście warto wykorzystać jakąś przybliżoną informację o dokładnym rozwiązaniu x. Powiemy, że me-' toda iteracyjna oparta na (4.6.2) jest zbieżna, jeśli ciąg {x(k)} jest zbieżny do x dla dowolnego wektora początkowego x< 0 l. Macierz Q powinna spełniać dwa warunki: 1. Obliczanie przybliżeń x(k) jest łatwe. ;;: 2., Ciąg {x(k)} jest szybko zbieżny do rozwiązania. Tak więc układy równań liniowych z macierzą Q powinny być łatwo rozwi · zywalne. Zobaczymy, że drugi warunek jest spełniony, jeśli Q- 1 jest dobry,· przybliżeniem macierzy A-i.
normy macierzowej
że
llx(k) - xll ~
III -
Q-i Allk llx(o) - xll.
III - Q-i All < 1, to
lim llx(k) - xll
równaniem
(k;;;:: 1).
nią
llx(k) - xll ~III - Q-i All llx(k-i) - xll,
eśli zatem opisać
(4.6.4)
1
Odejmując
+b
podobne do (4.6.3) równanie
x = (I - Q-i A)x + Q- 1b,
Naszkicowane wyżej dwie metody są szczególnymi przypadkami ogólnej metody iteracyjnej i będą nieco dalej ściśle określone i zbadane.
Qx(k) = (Q - A)x(k-i)
(4.6.3)
atomiast w praktyce numerycznej wektor x(k) oblicza się niemal zawsze
przypuszczać, że
Sugeruje to, aby proces iteracyjny
+ Q-1b.
~f•(4.6.2) bez użycia odwrotności Q- 1 .
wyżej pominięto, gdyż procedura z niej nie korzysta). Można
a dowolnego x< 0 l. Zauważmy, że to założenie implikuje nieosobliwość maierzy Q-: 1 A i A. W ten sposób udowodniono 4.6.2. Jeśli III -Q-i All < 1 dla pewnej normy indukowanej macierzy, to ciąg określony r6wnaniem (4.6.2) jest zbieżny do rozwią zania układu Ax = b dla dowolnego wektora początkowego x< 0 l.
TWIERDZENIE
, Zakładając, że norma ó := III - Q- 1 All jest mniejsza od 1, możemy ezpiecznie zakończyć proces iteracyjny, gdy tylko wielkość llx(k) - x
h
xll ~ _ó_llx(k) - x
'
' '
---------~"·"------~~~--
-
202
203
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Metoda Richardsona
· -l A)ij '; •
',
•
,'
=
i ta macierz ma jedynki na głównej przekątnej. Dlatego.
aij/aii
11"
• _,
•
•'
Jedną z metod iteracyjnych jest metoda Richardsona, w której Q jest m;_;.
•,
I
•
~·
'
"~
'
1
•
•
•
"
'•
"°' • „
•'
(4.6.5)
cierzą jednostkową:
x(k) :=
(I -
A)x(k-1)
+b=
x
+ r(k-1)'
" ' " *!fi' 4:6.4. Jeśli macierz·A'jest,domjnująca przekątniowa, to dla dowolnego wekto~a początkowego metóda 'J~Ćobiego tworzy ciąg ;bieżny do rozwiązania układu Ax = b. .
gdzie r(k-l) := b - Ax(k-l) jest określonym już w podrozdz. 4.4 wektorem:': residualnym. Zgodnie z tw. 4.6.2 ta metoda daje w granicy rozwiązanie;· ' jeśli dla pewnej normy indukowanej jest III - All < 1. W zadaniach 15 i 16 podano dwie klasy macierzy A o takiej własności. Algorytm, który wykonuje M kroków metodą Richardsona, jest nastę;, pujący: ·
Dowód .. Wynikająca z
i
f-
t-
laijl
~az z (4.6.5) prowadzi do wniosku, że llI-Q- 1 All=·< 1 i metoda Jacobiego st zbieżna na mocy tw. 4.6.2. •
'. Algoryt:m oparty na metodzie Jacóbiego jest" następujący (M jest liczbą ,9ków., które naleiy ·wykonać}:
end do for i = 1 to n do
Xi
L
laiil > );:
I:.i=l aijXj
bi -
założenia nierówność
n
·j=1,jfi
input n, (aij ), (bi), (xi), M for k = 1 to M do for i = 1 to n do
Ti
„
'TWIERDZENIE
Xi+ Ti
r .input n, (aii ), (bi), (xi), M
end do output k, (xi), (ri) end do
for k.= 1.to M do for i = 1 to n do
·
".
. Ui
PRZYKŁAD 4.6.3. Wykonać 100 kroków metodą Richardsona, zaczynając'
od x = (O, O, O), dla układu
(bi -
f-
I:.i=l, #i aijXj) I aii.
end do for i = 1 to n do
'
Xi
f-
·
Ui
end do output k, (xi) .end do
'·'·!" Rozwiązanie.
k
o 1
10 40 80
(k)
X1
0.00000 0.61111 0.27950 0.33311 0.33333
Oto wybrane wyniki otrzymane (k)
Xz
0.00000 0.61111 0.27950 0.33311 0.33333
Ten algorytm i inne podobne· można ulepszyć, wykonując wszystkie 'elenia przed rozpoczęciem iteracji. S~użą do tego.instrukcje w;Ykonywane '.początku programu: '
tą metodą:
(k) X3
:·~·-' •. ., .· . . . .' "„ for i'= 1 to n do
0.00000 0.61111 0.27950 0.33311 0.33333
·, ·.
·~
•
' 1 ~'
· -.d t-·l/aii :bi f - dbi for j
=i aij
to n do t-
daii
end do , .. end do
· Dzięki temu
Metoda Jacobiego Innym przykładem ilustrującym ogólną teorię jest metoda Jacobiego, w kt : rej Q jest macierzą przekątniową o elementach aii takich, jak w A. Wte.d · -.·~·;·,i~
...
u~ ~ b~
główna
instrukcja podstawienia upraszcza
się
do postaci
n
-
. :.
L
. aijXj. . j=1, j f i .~
.; .
•···· :.
'
.,..
.
·.. " ~ ' '!'
.;., ł
..·: .
'
204
Te zmiany algorytmu
Ax
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
można interpretować
inaczej: pierwotny
układ
= b zmieniamy na
n- 1 Ax = n-1 b, gdzie D = diag(aii)· Można też uniknąć dzieleń, przygotowując układ w inny. sposób, np. przeskalowując go dwustronnie, czyli nadając mu postać
/ Macierz A jest podobna do macierzy B, jeśli istnieje taka macierz ieosobliwa S, że s- 1 AS = B; oczywiście B jest podobna do A, gdyż BS- 1 = A. Stąd wynika, że A i B mają te same wartości własne (tw. 5.0.2). · atwo też zauważyć, że wartościami własnymi macierzy trójkątnej są jej eleenty .Przekątniowe. TWIERDZENIE
macierzy
n±1/ 2
:=
diag(a~ 1 / 2 ) (zakładamy, że elementy
aii
Każda
macierz kwadratowa jest podobna do pewnej górnej (być może zespolonej) o elementach pozadowolnie małych.
4.6.5.
trójkątnej
przekątniowych
gdzie
205
są dodatnie). Za-
uważmy, że jeśli
macierz A jest symetryczna, to takie przeskalowanie nie narusza tej własności. W wielu metodach iteracyjnych jakieś proste przygotowanie układu do stosowania metody iteracyjnej może znacznie polepszyć jej efektywność.
Dowód. Na mocy tw. Schura 5.2.3 dowolna macierz kwadratowa A jest dobna do pewnej macierzy trójkątnej górnej T = (tij), której elementy gą być zespolone. Niech będzie O < c < 1 i D = diag( c, c 2 , ••• , en). Lao sprawdzić, że (D- 1TD)ij = tijE:j-i. Elementy tej macierzy pod główną rzekątną znikają, a nad nią, czyli dla j > i, są takie, że
Ogólna metoda iteracyjna Następnym tematem jest teoria dowolnej metody iteracyjnej, opisanej wzoJ rem x(k) := Gx(k-I)
o oszacowanie z góry
+ c,
TWIERDZENIE
gdzie G jest daną macierzą stopnia n, a c wektorem z m.n. nanie (4.6.2) prowadzi do takiego wzoru, mianowicie dla
Oczywiście,
rów„
p(A)
Promień
spektralny macierzy A jest
•
= infjjAli, się
po wszystkich normach indukowanych ma-
Dowód. Aby wykazać, że p(A) ~ inf11.11llAll, rozważmy dowolną wartość macierzy A. Niech odpowiada jej wektor własny x. Dla dowolnej ormy wektorowej i indukowanej przez nią normy macierzowej jest
}filmą
yli
= O.
małe.
równość
4.6.6. Zachodzi
gdzie kres dolny bierze cierzy.
Chcemy sprawdzić, jakie warunki powinna spełniać macierz G, żeby metoda opisana wzorem (4.6.6) była zbieżna dla dowolnego wektora początkowego. Najpierw jednak trzeba pożnać pomocnicze pojęcia i ich własności (o!l).Ó:'i . wione zresztą bardziej szczegółowo w podrozdz. 5.0). ... Wartość własna macierzy A jest z definicji taką liczbą zespoloną>., że macierz A- >.I jest osobliwa, tj. że istnieje wektor własny x #- O, spełniający równanie Ax = >.x. Wartości własne są więc pierwiastkami równania
dowolnie
11·11
G := I-Q- 1 A,
det(A - >.I)
może być
I.XI
~
llAll. Dlatego p(A)
~
llAll i
wzięcie
kresu dolnego daje zapowie-
ianą nierówność.
określony
wzorem
czyli jest to promień najmniejszego koła o środku w punkcie O na płaszczyź- · nie zespolonej, zawierającego wszystkie wartości własne macierzy A.
Aby udowodnić, że p(A);;;. inf11.11llAll, zauważmy, że na mocy tw. 4.6.5 la każdego c >O istnieje macierz nieosobliwa S taka, iż s- 1 AS= D + T, dzie D jest przekątniowa, a T ma niezerowe elementy tylko nad główną zekątną i spełnia warunek llTll 00 ~ c. Stąd
11s- 1 ASlloo = llD + Tlloo ~
llDlloo
+ llTlloo·
206
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Ponieważ na głównej macierzy A, więc
przekątnej
macierzy D
występują wartości własne
-Xi
Przypuśćmy teraz, że jest przeciwnie: p( G) ;;;,: 1. Wybieramy u i ,\ tak, Gu= ,\u, l>-1;>1, u-:/:- 0; Dla c :=u i x«n :=O z·(4.6.7) wynika,.że. ...„
11s- 1 ASlloo ~ p(A) + c:.
k-1
x(k) =
L
.
j=O
Zgodnie z zad. 1 funkcja li· li~ określona wzorem
llAll~ :=
207
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
k-1
Giu =
L
>.iu.
j=O
= 1' to x(k) = ku i ten ciąg jest roŻbieżny dla k 'a>.-:/:- 1, bo Wtedy x(k) = (>.k - 1)(>.' -'i)-1 u.
eśli >.
llS- 1 ASlloo
jest pewną normą indukowaną macierzy A. Wiemy, że llAll~ ~ p(A) +· e i tym bardziej inf11.11 llAll ~ p(A)+c:. Ponieważ c: jest dowolną liczbą dodatnią; więc daje to żądaną nierówność. • '.
-+ CXJ.
'
Tak samo jest . . . · . •.
4 ..6.8 . .Jeśli p(I ~ (l- 1 A) <. l, to. dla dowolnego x<~) wzór ite. racyjny (4.6.2) daje ciąg zbieżny d~ rozwiązania układu Ax = b. WNIOSEK
~ł'
Dowiemy się teraz, dla jakich macierzy G metoda iteracyjna (4.6.6),' jest zbieżna. · TWIERDZENIE
4.6.7. Warunkiem koniecznym i dostatecznym na to, żeby
dla każdego wektora początkowego x
+c
generował ciąg zbieżny
etoda Gaussa-Seidela adamy teraz dokładniej metodę Gaussa-Seidela, użytą na początku tego drozdziału w bardzo prostym przykładzie. Jest to metoda (4.6.2) w przyu, gdy Q jest częścią trójkątną dolną (wraz z główną pr_zeJ,<ątną) ma-
rzy A. :
(k ;;;,: 1) do (I - G)- 1 c, jest nierówność p(G) < 1. ..
· :. TWIERDZENIE
4.6.9. Jeśli macierz
= Gx(O)
+ c,
x( 2 )
=
G2 x(O) +Ge+ c,
A. je_st d_ominująca przekątniowQ, tó
i. ,. metoda Gaussa-Seidela jest zbieżna· dla aowolnego wektora początko·-
Dowód. Niech będzie p(G) < 1. Na mocy tw. 4.6.6 istnieje taka norma indukowana macierzy, że llGll < 1. Obliczamy ·
Dla tej normy wektorowej, która indukuje użytą wyżej normę macier~y, j~st~ dla k
.
eh >. będzie dowolną wartością własną macierzy I;,__ Q- 1 A, a .i odpoqającymjej wektorem własnym. Ni,e ogran,iczając ogólności, możemy ~żyć, że llxlloo = 1. Jest · . · · .
;.
·
.•
208
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
209
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
Niech wskaźnik i będzie taki, że lxil = 1 ;;;i, lxil dla wszystkich j. Stąd · n
i-1
IAI laiil.::;; IAI IJaijl Ponieważ
L
+
j=l
laiil·
j=i+l
A jest macierzą dominującą przekątniowo, więc ybrane
przybliżenia
otrzymane z tych
równań
podano
niżej;
ostatnie jest
ż dokładne:
Algorytm metody Gaussa-Seidela jest następujący: input n, (aij ), (bi), (xi), M for k = 1 to M do for i = 1 to n do
Xi
+-
(bi -
r:,;=l, #i aijXj) / aii
X1
1.000000 0.622836 0.620001 0.620000
-0.833333 -0.760042 -0.760003 -0.760000
-0.187500 0.028566 0.029998 0.030000
•
I·
end do output k, (xi) end do
· etoda nadrelaksacji (SOR) astęr.ny ważny przykład
Zauważmy, że w tej metodzie nowe wartości Xi natychmiast po ich znalezieniu zastępują stare i są używane przy obliczaniu Xi+l itd. Inaczej działa metoda· Jacobiego: tam nowe przybliżenia składowych rozwiązania (oznaczane w algorytmie symbolem ui) są wykorzystywane dopiero w następnej. iteracji i można je obliczać jednocześnie. Dzięki temu metoda Jacobiego lepiej nadaje się do obliczeń w komputerach pracujących równolegle lub wektorowo. Zauważmy też, że efektywność metody Gaussa-Seidela można zwiększyć, odpowiednio przekształcając układ przed jej zastosowaniem. .
PRZYKŁAD 4.6.10. Zastosować metodę Gaussa-Seidela dla x(O) = (0, 0, 0)',
do
(k)
k 1 5 10 13
·
układu
:'(
metody iteracyjnej jest znany jako nadrelaksacja skrótem SOR (od nazwy angielskiej successive overrelaxation). ·ólna teoria tej metody odnosi się do dziedziny zespolonej, więc najpierw · :YPomnimy kilka potrzebnych pojęć. Liczbę zespoloną 'Y można wyrazić w postaci 'Y = a+ /]i, gdzie a i /3 p;zeczywiste, i 2 = -1. Liczbą sprzężoną względem 'Y jest ;y := a - /]i. ądulem liczby 'Y jest l'YI := J a2 + f32 = ../Yf. '·' .Dla macierzy A:= (aij) o dowolnej liczbie wierszy i kolumn oraz o ele, ntach zespolonych definiujemy macierz sprzężoną AH := (i'iji) 16). Przezeń wektorów o n składowych zespolonych oznaczamy symbolem Te ktory identyfikujemy z macierzami jednokolumnowymi. w iloczyn skay wektorów x i y jest określony wzorem ~:r;iaczany
en
.
(x, y) := yHx =
en.
n L·XiYi· i=l
· Rozwiązanie. Układ
skalujemy, czyli wyrażamy w postaci
n- 1 b, gdzie D := diag(aii):
n-
1 Ax
Łatwo
(x, x)
spostrzec,
że
> O dla x =/= O,
(x, .Ąy)
= 5;(x, y),
16 ) SymboVAH stosują np. Golub i van Loan [1989] oraz Kiełbasiński i Schwetlick 992], ale rliektórzy autorzy używają symbolu A•; tak też jest w oryginale tej książ (przyp. tlum.).
210
a(y, Dy) - (y, Dy)+ (y, CHy)
(x,y) = (y,x),
(ax
+ f3y, z) = a(x, z) + f3(y, z)
(a, /3- liczby),
(x, Ay) = (AHx, y). Normą euklidesową
wektora XE
en jest liczba
211
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
=
AGx) . .
(y,
umujemy stronami te równości uwzględniając, że (Cy, y)
·korzystano: tu z tegq, $e macierz D jest hermitówska. Ponieważ y = (1:_>.)x 'a(c =;>.x, więc z (4.6.11)' wynika; że. ' Macierz A jest hermitowska, jeśli A = A H i dodatnio określona (pół określona), jeśli (Ax,x) >O (odpowiednio, (Ax,x) ~O) dla każdego x·=f= O.' Zauważmy, że dla macierzy hermitowskiej jest (Ax, y) = (x, Ay). Metoda nadrelaksacji jest kolejnym przypadkiem szczególnym meto.dy'· iteracyjnej służącej do rozwiązania układu Ax = b i opisanej .rów~ością (4.6.2). Zakładamy teraz, że występująca tam macierz Q jest równa aD-C, gdzie a jest parametrem rzeczywistym, D - macierzą hermitowską dodatnio określoną, a macierz C jest taka, że C + cH = D - A. Warunki zbieżno~p} tej metody podano niżej. · ·
4.6.11. Jeśli macierz A jest hermitowska dodatnio okreś[QL, na, a Q jest nieosobliwa i jeśli a > to dla dowolnego wektora· p°ót czątkowego metoda nadrelaksacji jest zbieżna. : . -.f ..
TWIERDZENIE
!,
Dowód. Jak w poprzednim dowodzie, chcemy wykazać, że promień spektralny macierzy G := I - Q- 1 A jest mniejszy od 1. Niech >. będzie jej wartością własną, a x odpowiednim wektorem własnym. Przyjmujemy; że y := (J - G)x. Łatwo sprawdzić, że : · rt
= x - Gx = x - >.x = Q- 1 Ax, Q - A = (aD - C) - (D - C - CH) = aD - D + CH. y
Korzystając
że
z (4.6.8), stwierdzamy,
(aD - C)y
= Qy = Ax,
(2a - 1)11 -
.Xl 2 (Dx, x)
= (1 - X)(Ax, x)
= (1 -
2
I.XI.
+ X(l -
)(Ax„x)
(aD - D
+ cH)y =
ciąg równości
(Q -A)y
= Ax -Ay = A(x - y) = 1
= A(x - Q- Ax) = AGx.
W metodzie nadrelaksacji przyjmuje się zwykle,"że D = diag(aii), a -C ~t' częś.cią trójkątną dolną, bez głównej prz.ekątnej, macierzy A W twier~eri.iu 4.6.11 nie ma jednak takiego zalOżenia: Warto 'też ostrzec czytelni6w, że ~ publikacjach zamiast. a występuje zwykle .iJoraz 1/w. Warunek odany w twierdzeniu znaczy więc, że O < w < 2." Problem wyboru parame~µ;w zapewnlającego najszybszą zbieżność inetody nad~elaksacji rozważają J.· . ·liung [1971], Varga [1962], Hageman.i Young [1981], Wachspreąs [1966], . . . . . aacson i Keller [1966] oraz wielu innych autorów. \l,• ' „
#.
~
•
•
i z (4.6.10) wynika,
a(Dy,y) - (Cy,y)
że
= (Ax,y),
.
•
„ ..
11
..
' acierz~ .określające metody.iteracyjne. 1
zypuśćmy, że A·:= ( aii) rozłożono na składniki .według wzoru
)\•
1.'
. .
.
•
A= D-CL-Cu, : zie. D.-:= diag(aii),»a -CL i -Cu są odpowiednio częścią trójkątną dolną górną', obie bez głó\vnej przekątnej, macierzy A. W innym wariancie wystę1,lją macierze blokowo przekątniowe i blokowo trójkątne. W dyskretyzacji ' wnań różniczkowych cząstkowych pierwszy wariant rozkładu odpowiada jedynczym punktom siatki, a drugi - ich układom. •'.; ,\Niżej streszczono informacje o kon,kretnych metodach iteracyjnych opinych w tym podrozdziale. · · · ·'··.
Metoda Richardsona: Stąd
(4.6.12)
J:n,.aeierz A,jeĘJt hennitowska). Jeśli 'A {.1,'.to lewli st.rona (4.6~12) jest doatnia. :prawa strona też musi być dodatnia, więc 1-\I < i. Jeśli natomiast ·~ 1, to y ~ (1 - >.)x '~ O i wobec (4.6.10) jest Ax = O. To przeczyłoby ·erównoŚ<'.i .(Ax,x) >O spełnionej dla ~żdego x. =/=.O. Tak więc p(G) < 1 jest zbieżna. . '· . . · ' · • .. metoda.. nadrelaksacji . : .
1
a to wraz z (4.6.9) i (4.6.8) daje
>.)(x, Ax) =
. Q :=I, G :=I - A, './· x<~) :=:.(J - A)x(k-1)_ + b. • t ·. . . ...
..
.•.
. '' ·„
\
•..„
212
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
213
Metoda Jacobiego:
Q := D,
G := D- 1 (CL +Cu),
Dx(k) := (C~
. G ""f := 1G + (1 - 1)I.
,I f,•
+ Cu)x(k-l) + b.
'etoda (4.6.13) wynika stąd dla I= 1. , Jeśli metoda określona wzorem (4.6.14) jest r~ejście do granicy daje równość
Metoda Gaussa-Seidela:
Q := D - CL,
G := (D - CL)- 1 Cu,
(D - CL)X(k) := Cux(k-l)
x = 1(Gx + c)
+ b.
G := (D - wCL)- 1 [wCu
(D - wCL)x(k) := w(Cux(k-l)
+ b) + (1 -
+ (1-. w)D],
w)Dx(k-l).
Nadrelaksacja symetryczna (SSOR): 1
4.6.12. Jeśli ,\ jest wartością własną macierzy A, a P jest wielomianem, top(.\) jest wartością własną macierzy p(A).
Q := (w(2-w)]- (D -WCL)D- (D -wCu), (D -
wCL)x(k-I/2 )
(D -wCu)x(k)
+ (1 -w)D](D - wcL)- 1 [wCu + (1 - w)D],
+ b) + (1 - w)Dx(k-l), + b) + (1-w)Dx(k-l/ 2 ).
:= w(Cux(k-l)
:= w(CLx(k-l/ 2 )
I
'•
W ostatniej metodzie, niedyskutowanej wcześniej, każda iteracja zawie~~ nadrelaksację w przód, w której niewiadome wyznacza się w pewnym pd;; rządku i nadrelaksację wstecz, w której ten porządek jest odwrotny. Odpói+ wiedź na pytanie, jak wybrać optymalne parametry metod SOR i SSOR, jes~ raczej skomplikowana i dyskutować jej nie będziemy. Metodę SOR rozurrii~ się wyżej tak, jak w komentarzu po tw. 4.6.11, podobnie SSOR. Warto te* zauważyć, że metoda Gaussa-Seidela jest szczególnym przypadkiem metody nadrelaksacji dla w = 1. ·
Ekstrapolacja
Zbieżność liniowych metod iteracyjnych można poprawić, stosując pewn~ ogólną technikę zwaną ekstrapolacją. Rozważmy
x(k)
znów wzór iteracyjny
·
:= Gx(k-l) + c.
Określamy jednoparametrową rodzinę
1)x,
TWIERDZENIE
1
G := (D - wCu )- 1 [wCL
do pewnego x, to
yli x = Gx + c, gdyż I f O. Tak więc ta ogólna metod~ _daje rozwiąz:~ie go samego równania dla każdego dopuszczalnego I· Jesh G :=I - Q A := Q- 1 b, to równanie x = Gx + c jest identyczne z Ax = b. . · Chcąc wyznaczyć optymalne I, posługujemy się pomocniczym tw1er'1eniem o wartościach własnych.
Nadrelaksacja (SOR):
Q := w- 1 (D -wCL),
+ (1 -
zbieżna
metod iteracyjnych, zależną od I -:/ O,
Dowód. Niech będzie Ax = ,\x i x f O. Wtedy A 2 x = .\Ax = .\2 x. :żez indukcję dowodzi się, że Akx = ,\x (k ~ O), czyli ,\k jest wartością łasną macierzy Ak. Jeśli p(z) = l:k=ockzk, to
.,
m
p(A)x =
L
m
ckAkx =
k=O
L
•
CkAkx = p(.\)x.
k=O
Na mocy tw. 4.6.7 warunkiem koniecznym i dostatecznym zbieżności ''\ody ekstrapolacyjnej (4.6.14) jest nierówność p(G7 ) < 1. Przypuśćmy, nie znamy dokładnie wartości własnych macierzy G, wiemy jednak, że · ą one w przedziale [a, b] na osi rzeczywistej. Zgodnie z tw. 4.6.12 wartości ~asne macierzy G 7 := 1G + (l-1)1 leżą w przedziale o końca:h 1a+ ~ -1 b+ 1-1. Poniższe twierdzenie wyjaśnia, kiedy można wybrac I tak, zeby ło p(G7 ) < 1. 4.6.13. Jeśli o wartościach własnych macierzy G wiadomo tylko, że leżą w przedziale rzeczywistym [a, b] i jeśli 1 tf. [a, b], to najlepszą wartością parametru I jest 2/(2 - a - b). Dla niej jest p(G7 ) ~ 1 - bid, gdzie d := min{la - li, lb - li}.
TWIERDZENIE
, Dowód. Niech A(A)
będzie
zbiorem
wartości własnych
macierzy A.
wzorem
p(G ) = 'Y
max
>.EA( G-i)
l.\I = >.EA( max 11.\ + 1- 11 G)
~ max li.\+ 1 - li· a,,;;;>.,,;;;b
214
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
rf. [a, b], więc albo a> 1, albo b < 1. Podamy dowód w·drugim przypadku; pierwszy zostawiamy jako ćwiczenie. Mamy więc a ~ b < i id= 1 - b. Niech będzie 'Y := 2/(2 - a - b). Wtedy 'Y >O i każda wartość własna A macierzy G 7 spełnia nierówność Ponieważ 1
"la
+1-
'Y ~ .Ą ~ 1b + 1 - 'Y.
Prawa część tego oszacowania daje nierówność A ~ 1 + 'Y(b - 1) = a z lewej wynika, że A~ 'Y(a + b - 2) + 1+1(1 - b)
=
i - 'Yd,
M(A) := m~Ai·
etoda Czebyszewa 1
~acznie ogólniejszy sposób przyspieszania zbieżności liniowych metod ite.cyjnych jest nazywany metodą Czebyszewa. ,J'ak przedtem, rozważamy merlę typu · . ·, ' · x(k) := adk-1) + c, ' '·: .·· . '
'
Rozwiązanie. W metodzie Richardsona Q =I i G =I - A. Jeśli A ma tylko wartości własne rzeczywiste, to jest tak i dla G. Z twierdzenia .4:6~12
,. ;· ·
'.
L a}k) x(i)'
gdzie
2
+ M(A)'
a ponieważ d = m(A), więc promień spektralny jest równy
M(A)-m(A) = M(A) + m(A).
i=O
znany już sposób obliczamy '
k
k·
i=O
i=O
' .~
'
· u
(4.6.16)
m(G) = 1 - M(A).
Jeśli m(A) > O albo M(A) < O, to można poprawić zbieżność metody Richardsona. Optymalne"'/, obliczone według tw. 4.6.13, jest równe
p(G7 )
''
.
u(k) :=
PRZYKŁAD 4.6.14. Wyznaczyć promień spektralny dla optymalnej eks~· trapolowanej metody Richardsona. ·
'
tóra ma dać· roiwiązanie x równ~cla. x.·.~i Gx.+ c. Po jej k-tym kroku. amy wektory x< 0 ), x< 1), ... , x(k). Chcielibyśmy znaleźć taką ich kombinację „Ówą 'która byłaby lepszym od x(k) przybliżeniem dla x. Szukamy jej ' '. ·: . ... ; postaci,
i=O
'Y = m(A)
•
.' k
W twierdzeniu 4.6.13 możemy więc przyjąć, że a= m(G) i b = M(G).
M(G) = 1- m(A),
n- 1 Ax
= ·. -1b, gdzie D := diag(a.ii) (zob. zad. 12). Z przykładu 4.6.14 wynika, że ···i m(D- 1 A)> Oalbo. M(n- 1 A)< O, t.6 można przyspieszyć zbieżność tej '~tody. Ponadto dla optymalnego 'Y := 2/[m(D- 1 A)+ M(D.- 1 A.)] promień .ektralny macierzy opisującej iterację jest równy '
i
że
spektralny dla optymalnej eksprzeskalowanego.
Rozwiązanie. Mamy tu metodę Richardsona dla układu
-1 +'Yd.
macierzy G były rzeczywiste i leżały po jednej stronie punktu 1. ' ·· Niech wartości własne A1, A2, ... , An macierzy A będą rzeczywiste. De~ finiujemy wielkości · ·
wynika,
układu
· . ·.M(D-1 A) -'-m(D- 1 A) ·.· p(G7 ) = M(D- 1 A)+m(D- 1 A)".
Warto zauważyć, że opisaną już procedurę ekstarpolacji można zastos~· wać nawet do metod rozbieżnych. Istotne jest tylko to, żeby wartości wł~rió~'
z
Wyznaczyć promień
apolowanej metody Jacobiego i
I
W ten sposób wykazaliśmy, że j.Ąj ~ 1 - 'Yd i p(G7 ) ~ 1 - 'Yd. . Wybrane 'Y jest w tym sensie optymalne, że jego przesunięcie w praw~ zmniejsza liczbę szacującą w (4.6.15) z dołu wartość A, a prze~unięcie w lewo zwiększa analogiczne oszacowanie z góry. W obu przypadkach otrzymane · oszacowanie dla p( G 7 ) pogorszyłoby się. •··. .'· • '.
m(A) := m.in.Ąi,
· ,„ .„ PRZYKŁAD 4.6.15.
215
hrma macierzowa jest tu indukowana przez wektorową, a ta jest dowolna. a mocy tw. 4.6.6 kres dolny• nor~y llP(G)ll wzjęty. po wszystkich nor.'ach indukowanych jest równy p(P( G)); chcemy, żeby ta wielkość' była jak ajmillejsza. Jeśli wartości własne µi macierzy G leżą w pewnym zbiorze granicz.ony~ na płaszczyźnie zespolonej, to .zgodnie z tw. 4.6.12
wielomian P, dla którego ta norma jest minimalna prż założeniu, że I:f=o ai = 1, czyli P(l) = 1. Jest to typowy problem teod aproksymacji. Jego rozwiązanie jest znane tylko dla pewnych S. . Jeśli S jest przedziałem [a, b] na osi rzeczywistej, nie zawierającyr:ri punktu 1, to rozwiązaniem jest wielomian Czebyszewa I rodzaju z odpowiednio przesuniętą i przeskalowaną zmienną. Klasyczny wielomian Czeby.:: szewa Tk jest jedynym wielomianem p stopnia k minimalizującym normę llPll[-l,1] przy założeniu, że jego współczynnik wiodący (przy zk) jest równY. 2k-l. Własności tych wielomianów są tematem podrozdz. 6,1. Tu są istotne dwie z nich: wielomiany Czebyszewa wyrażają się wzorem \\
i
= cos(narccosz)
spełniają związek
To(z)
= 1,
pokazuje, że wielomian aTk-P w k+l punktach to, tl, ... , tk ma wart~ści i ujemne, a więc ma co najmniej k zer w .prze~~1ale ··1, 1). Ten wielomian znika też w punkcie {3. Jest to jednak memozhwe, .YŻ jego stopień nie przewyższa k. · •
a przemian dodatnie
llPl!s := maxjP(z)I.
Tk(z)
217
4.6.17. Jeśli a 1/Tk(w(l)), gdzie
LEMAT
w(t)
:=
<
b
.
:=
E
Ilk i p(l) = 1, to llPll[a,b] ;;;;,:
(2t - b - a)/(b - a).
Nierówność
p(t)
< 1, p
dla normy staje Tk(w(t))/Tk(w(l)).
się równością
dla
Dowód. Niech będzie {3 := w(l) i p(t) := q(w(t)), gdzie q E Ilk· Za> 1. Z lematu 4.6.16 wynik.a, że 11[-l,l];;;;,: 1/Tk(fJ), czyli llPll[a,b];;;;,: 1/Tk(fJ). Jeślip(t) = Tk(w(t))/Tk(w(l)), •oczywiście p(l) = 1 i llPll[a,b] = llTkli[-1,1]/Tk(w(l)) = 1/Tk(w(l)). • 'ażmy, że 1 = p(l) = q(w(l)) = q({J) i f3
rekurencyjny
T1(z)
=z,
LEMAT
Tk(z)
4.6.18. Wielomiany
= 2zTk-1(z) -Tk-2(z) spełniają związek
Załóżmy
teraz, że wartości własne macierzy G przedziale [a, b], że b < 1. Chcemy znaleźć
są
rekurencyjny
zawarte w taki P1(t) = (2t - b - a)/(2 - b - a),
·· P 0 (t) = 1,
Pk(t)
= PkP1(t)Pk-1(t) + (1 - Pk)Pk-2(t)
(k
> 2),
gdzie dla a := [2w(l)]-2 jest gdzie Pk jest wielomianem ustalonego stopnia k. Łatwo przewidzieć, że wy7 nik wyraża się przez wielomiany Czebyszewa. Uzasadniają to dwa poniższ~ lematy, w których IIk oznacza zbiór wielomianów stopnia k. 4.6.16. Jeśli p E Ilk i p({J) = 1 dla pewnego {3 E llPll[-1,1] > lal, gdzie a:= 1/Tk(f3).
LEMAT
Jlł
\ (-1, 1), t
Dowód. Przypuśćmy, że p spełnia założenia, ale nie tezę. Z (4.6.l~f wynik.a, że l!Tkll[-l,l] = 1 i że w punktach ti := cos(i7r/k) (O < i < ~~. wielomian Tk osiąga wartości ekstremalne w przedziale [-1, 1]:
Tk(ti) = cos(karccosti) Stąd
= cosi7f =
(-lf
Pl := 2,
Pk
:=
(1 - apk_i)-l
(k;;;;,: 2).
Dowód. Niech będzie f3k = Tk(w(l)). Ze wzoru rekurencyjnego (4.6.19) ówności fJkPk(t) = Tk(w(t)) wynika, że
i otrzymany wzór rekurencyjny dla Pk można uprościć do postaci
= PkP1Pk-1 + (1 -
Pk
Pk)Pk-2· l
Można wykazać, że metoda Czebyszewa jest szybciej zbieżna od meody ekst:r;apolacjL Dogatkowe szczegóły podają Hagem~n i Young. [198.lJ. raz Kincaid i Young [1979].
Pozostaje sprawdzić, że współczynniki Pk też można obliczać rekurencyjnie;. 2 1 Pk = a-l/ fJ'k fJk-1 = a- 1l 2fJk-1(a- 1l 2[Jk-1 - fJk-2)- 1 = = a-1/2(a-l/2 - (J-1 k-1 /3k-2 )-1 -- a -le a -1 - a -1/2(3-1 k-1 fJk-2 )-1 =. =a -1 ( a -1 - Pk-l )-1
=
(1
PRZYKŁAD
-1 0 4 0 -1 -1
4.6.19. Wektory u(k) zdefiniowane w metodzie Czebysze"wa można ~bli.czać,, ~la dowol~ego wektora początkowego u(O), dla I := 2/(2-b-a) i wielkosci Pk okreslonych w lem. 4. 6.18, stosując wzory .. ~ · LEMAT
+ c) + (1 -1)u(O), = Pk[/(Gu(k-l) + c) + (1 -1)u(k-l)] + (1- Pk)u(k- 2)
u(k)
Dowód. u(k)
=
ażając
k
i
k
,
Pk(t) =
i=O
L
a~k)ti
·~
.
.
„
...
.
•
•
•
•
output O, u
.„
··;.call Extrap("(;n, G, c, u, v)
+ (1- Pk)u(k- 2) + Pk[I -
= .xeA(t;;(a))l>.I = .x~(a)IPk(>.)I ~
x) =
P1(G)]x.
llPkil[a,bJ
' output l,v .p ~ 1/(1 - 2a) · cali Ch13b(p, "(,n, G, c, u, v) . output 2,u for k = 3 to M step 2 do ·
·. p
1
2
+- 1/(1 - pa)
call Cheb(p, "f, n, G, c, v, u) output k,v . p <:-:-- 1/(1 - pa) call Cheb(p, "f, n, G, c, u, v)· output k + 1, u
= 1/n(w(1j)'. ;·
Skorzystaliśmy tu z Iem. 4.6.17. Obliczając wartość tego oszacowania moz . skorzystać z wyniku zad. 33, co daje wzory ' · ·I
+ ./t2=1,
Czebyszewa.
!] .
Jak w analizie metody ekstrapolacji, możemy oszacować z góry promie speJdralny macierzy Pk ( G): ·. ·
b := t
stosując metodę
:·'7+-2/(2-b-a) a+-. [12 (b-a)/(2-b--a) ]2
Ponieważ P1(G) = 1G + (1 -1)!, więc ostatni składnik jest równy Pk/ a całe wyrażenie dla u(k) przybiera szukaną postać. · ..
jak w metodzie Jacobiego. Daje to macierz o wa~tościach własnych przedziale [-!, Dla wektora początkowego u< 0 l := (O, O, O, O). po 10 '~a.cjac.h otrzymujemy przybliżone rozwiąza:r;ie
f;",' .,
u(k) - x = Pk(G)(u(O) - x) =
t
=
.;: . Algoryt~ "rriet~dy Czebyszewa można· u'apisać tak 17):
(druga równość wynika z definicji wielomianu Pk), to u(O) = x
p(Pk(G))
Roz.,.;,iązanie. Zaczynamy od wyraż~nia układu w postaci D- 1 Ax
.
~ a~k)x(i)
Rozwiązać układ
go jak w metodzie Jacobiego i
\ .... 1 b,
Jeśli
L..J
4.6.20.
[~~ -! -~ -~1 r:~1
- apk-l ) - 1 .
u(l) = 1(Gu(o)
219
.!
if Ilu - vi1 00 < 8 then stop end do i;>_Autorzy_.odstępują tu ~d konwencji stosowanej wcześniej w programach i w instrukb. wejścia i wyjścia używają symboli u, v tablic (wektorów) zamiast (ui}, (vi). 'Th.kże 'nstrukcjach podstawienia występują wektory i macierze (np. G), a nie ich składowe
:.eleme9-tr)przyp. tłum.). • ,
••
•
.·„
·
. . .. ,
•
•
„
••••, •
·,,..
~
,
,1 •
. •.
n. , ·. !
. „ ,
.vr11„K'.:~
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
220
4.6. ROZWIĄZYWANIE UKŁADÓW METODAMI ITERACYJNYMI
Obliczenia zaczynają się od wywołania poniższej procedury Extrap, która · oblicza u(I) według wzoru z Iem. 4.6.19: procedure E~trap('Y,n,G,c,u,v) V<-- /C + (1 - 1)u + 1Gu return
zapewniają użycie właściwych
danych bez zamiany wektorów u i v.
.,.
1. Wykazać, że jeśli 11·11 jest pewną indukowaną normą macierzy, to jest nią takż~' llAll' := llSAS- 1 11, gdzie Sjest macierzą nieosobliwą. .,
2. Wykazać, że jeśli f(z) := EJ=-m CjZj i jeśli >.jest wartością własną macie-. rzy A, to f(>.) jest takąż wartością dla f(A). 3. Udowodnić, że jeśli macierz A jest nieosobliwa i l>.I < llA- 1 11- 1 , to>. nie jestl jej wartością własną. W nierówności występuje dowolna norma indukowana. macierzy.
5.
udowodnić, że jeśli Q- 1 All= < 1.
Q jak w metodzie Gaussa-Seidela,
jest dominująca przekątniowo, to
llx(k) - xll ,;;;; 1
~ ollx(k)
- x
(I - Q- 1 A)z(k).
< 1, to
li·
Udowodnić, że metoda Richardsona zastosowana do układu Ax = b po podzieleniu w nim i-tego równania przez aii daje to samo co metoda Jacobiego bez takiej zmiany. 3. Wyjaśnić, dlaczego w dowodzie tw. 4.6.5 nie możemy przejść do granicy c: --> O ·, i uznać, że A jest podobna do macierzy przekątniowej . '. Udowodnić, że jeśli macierz A jest dominująca przekątniowo, a Q jest określona jak w metodzie Jacobiego, to p(I - Q- 1 A) < 1.
2.
4.6
Określając
'L ~1. Udowodnić, że jeśli ó := III - Q- 1 All J •
+
4.
(cd.). Wykazać, że z(k+l) =
procedura Cheb(p, 'Y, n, G, c, u, v) u<-- p(Tc + (1 - 1)v] (1 - p)u + PfGv return ZADANIA
·.9. Wykazać, że podstawowa procedura iteracyjna określona wzorem (4.6.2) jest rÓ'iVnoważna następującej: dla danego x(k) obliczamy r(k) := b-Ax(k), wyznaczamy z(k) z równania Qz(k) = rCk) i definiujemy x
·,:o.
Drugą użytą wyżej procedurą jest Cheb, która oblicza u(k) dla k ;;;,: 2 za pomocą u(k-l) i u
221
macierz A · .
III Znaleźć jawną postać macierzy G = I -Q- 1 A dla metody GaussarSeidela, gdy
n
I:j'fi 1%1
(1 .;;;; i .;;;; n),
j=l,
'to metoda Richardsona jest zbieżiia. . (cd.). Rozważyć poprzednie zadanie,
zmieniając założenie
na
następujące:
n
I: i=l, 1 •
1aij1
(1 .;;;; j .;;;; n).
i'fj
(cd.). Wykazać, że dla macierzy A z zad. 15 następująca metoda jest zbieżna: for k = 1 to ... for i = 1 to n do
6.
Scharakteryzować rodzinę macierzy nieosobliwych A stopnia n, dla któryc jeden krok metody Gaussa-Seidela dla zerowego wektora początkowego daj
rozwiązanie układu Ax Podać przykład
= b.
Xi <--Xi +bi ·
macierzy A, dla której metoda Gaussa-Seidela zastosowana do układu Ax = b jest zbieżna, chociaż A nie jest dominująca przekątniowo. 8. Niech macierz A będzie dominująca przekątniowo i niech Q będzie jej częścią trójkątną dolną, jak w metodzie Gaussa-Seidela. Udowodnić, że p(I - Q- 1 A) nie przewyższa największego z ilorazów 7.
E7= 1 aijXj
end do end do Którą
z własności normy ma promień spektralny p, a której nie ma? Podać dowody i przykłady. •Wykazać, że zbiór macierzy trójkątnych górnych, ustalonego stopnia n, jest przestrzenią wektorową. Udowodnić, że promień spektralny p jest w tej przestrzeni pseudonormą, tj. ma wszystkie własności normy z tym wyjątkiem, że 'dla A f= O może być p(A) =O. ,dowodnić, że p(A) < 1 wtedy i tylko wtedy, gdy limk_,"" Akx =O dla każde-
222
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
21. Czy istnieje taka macierz A,
że
p(A) <
llAll
dla
każdej
4.7. METODY NAJSZYBSZEGO SPADKU I SPRZĘŻONYCH GRADIENTÓW
normy indukowanej?
22. Czy nierówność p(AB) .:;;;; p(A)p(B) zachodzi dla dowolnych macierzy stop-· nia n? Czy odpowiedź będzie taka sama, jeśli ograniczymy się do macierzy trójkątnych górnych? 23. Wykazać, że jeśli macierze A i B są nieosobliwe, to p(AB) = p(BA).
223
Metody najszybszego spadku i sprzężonych gradientów · · :Metody opisane w tym podrozdziale odnoszą się do układów Ax = b z macierzą A rzeczywistą i dodatnio określoną, stopnia n. Zakładamy więc, że
24. Udowodnić, że wszystkie wartości własne macierzy hermitowskiej są rzeczywi-.: ste. Wskazówka: Rozważyć (x,Ax) i (Ax,x). ·
.L
25. Udowodnić, że jeśli macierz A jest nieosobliwa, to AAH jest dodatnio określona.:
żywa~y dalej iloczyn skalarny wektorów x i y z przestrzeni :Rn jest okrelony wzorem
~·
26. Udowodnić, że jeśli macierz jest dodatnio określona, to jej wartości .własne są.' dodatnie.
27.
Wykazać, że
twierdzenia z poprzedniego zadania nie
29. Czy zbiór macierzy hermitowskich stopnia n tworzy
przestrzeń wektorową
r
~~
30. Jakie warunki ma spełniać macierz przekątniowa D, żeby dla dowolnej macie~ rzy dodatnio określonej A tę samą własność miał iloczyn DA? . ·.:, ! r;·
31. Udowodnić, że macierz dodatnio olueślona A jest hermitowska, używaj~ definicji tej pierwszej, czyli spełnienia nierówności xH Ax > O dla każdego X =f. o E en. w szczególności przyjęcie takiej definicji (zamiast X T Ax > dla każdego x =f. O E llł") oznaczałoby, że macierz rzeczywista dodatnio olir' ślona musi być symetryczna. ·
:o
Udowodnić
dla. x·=j:.o.
xTAx>O
n
można odwrócić.
28. Udowodnić, że jeśli A jest dodatnio określona, to takie są również macierze A2,Aa, . .. i A-1,A-2, ...
32.
AT=A,
. ' f
(x, y) := X TY =
'L:>iYi· i=l
' a on następujące oczywiste własności:'
1l
1. (x,y)=(y,x). ;2. (x, ay + f3z) =.a(x; y) + f3(x„z) dla dowolnych.rzeczywistych a i '3 •.. (x,x)':;;;l~·o i (x,x) ="o wtedyi tylk~ ~tedy, gdy·±·= o.. "
4. (x"Ay) = (AT~, y). I'
•
; <)bee w.łasności 1 można w 2 i 3 przes~awić a,.rglimenty iloczynu skalarne. 18) . . • . .. o . Sprawdzimy najpierw, że pewne zadania nu~~:i;yczne zwią~ane z 'A i b
tw. 4.6.13 dla a> 1.
33. Udowodnić, że Tn(t) = Hbn
+ b-n), gdzie b = t + ../t2 -
1.
LEMAT
34. Jak upraszcza się metoda Czebyszewa, jeśli stosuje się ją do metody'Jacobiego
4.7.1. Jeśli macierz A.jest symetryczna i· dodatnio określona, to
rozwiązywanie układu Ax = b je'st ró~noważne. obliczaniu minimum formy kwadratowej'
ZADANIA KOMPUTEROWE 4.6
Kl.
K2.
/3.
Gaussa-Seidela i sprawdzić ją dla układów (a) 3x+y+z = 5 (b) 3x+y+z = 5 x + 3y - z = 3 3x + y - 5z = -1 3x + y - 5z = -1 x + 3y -- z = 3 1 Zbadać, co tu daje zastosowanie zwykłej eliminacji Gaussa bez wyboru el. mentów głównych. Gaussa-Seidela do
Przykład promienia ,.... ,. s) Warto zwrócić uwagę na różnice - i podobieńst~a - definicji iloczynu skalarnego . ektorów ]Rn (zob. wyżej) i en (podrozdz. ·4.6 _:fragment o meto?zie n~drelaksacji rozdz. 5.0). W szczególności tu zamia.st operacji A H. występuje jej wariant rzeczywisty . przyp. tłum.). ·· · · ·
4.7. METODY NAJSZYBSZEGO SPADKU I SPRZĘŻONYCH GRADIENTÓW
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
224
Dowód. Sprawdźmy najpierw, jak funkcja q zmienia się wzdłuż ustalonego promienia, tj. dla argumentu postaci x + tv, gdzie x i v są ustalonymi wektorami, at przebiega wartości rzeczywiste. Rysunek 4.2 pokazuje (linia przerywana) przykład takiego promienia. Uwzględniając równość AT= A,
Do metod określonych wyżej należy metoda najszybszego spadku, w której ,. ekto~em v(k) jest gradient, ze zmienionym znakiem, formy q w x(k). Trzeba przypomnieć, że gradient funkcji g: Jlłn -+ llł jest z definicji wektorem 'składowych 8g/8xi (i = 1, 2, ... , n). W takim przypadku gradient jest ;oporcjonalny do wektora residualnego r(k) := b - Ax(o) (zob. zad. 3). 'lgorytm najszybszego spadku jest więc następujący (M oznacza liczbę ·· konywanych kroków): •input x, A, b, M output 0,x for k = 1 to M do
a wartość minimalna tam osiągnięta jest równa
q(x + iv)
dający minimum formy q na tym promieniu. :.:' Dodajmy, że wzór (4.7.2) opisuje wiele metod iteracyjnych; różnią się 1 ~e sposobem wyznaczania liczb tk i wektorów v
v<-b-Ax t <- (v, v) / (v, Av) x<-x+tv
=
. output k,x end do
Ą
(v,b-Ax} 2 = q(x) - t(v, b - Ax) = q(x) (v, Av) Tak więc przejście od x do x + iv nie zmniejsza wartości formy q tylko wtedy, gdy wektor v jest ortogonalny względem residuum b - Ax, tzn. gdy (v, b - Ax) = O. Jeśli x nie jest rozwiązaniem układu Ax = b, to istnieje wiele wektorów v takich, że (v, b - Ax) '=fa O. Zatem takie x nie minimalizuje formy q. Jeśli natomiast Ax = b, to nie ma promienia wychodzącego z x, na którym q miałoby wartość mniejszą od q(x), czyli q osiąga minimum w x. • Przeprowadzony dowód sugeruje pewną metodę iteracyjną rozwiązy wania układu Ax = b. Startuje ona z pewnego wektora początkowego x< 0l. W k-tym kroku metody (k =O, 1, ... ) zgodnie z pewną regułą wybieramy kierunek v(k) promienia i wektor ,:l · ·'1
(4.7.2
\Vzględniono tu oczywisty fakt, że kolejny wektor x(k+l) można zapamiętać · . miejscu poprzedniego; to samo dotyczy wektorów kierunkowych v(k).
RYS. 4.3. Interpretacja geometryczna metody najszybszego spadku Wadą metody najszybszego spadku jest jej wolna zbieżność. Można to · zytać z rys. 4.3. Pokazuje on dla zadania dwuwymiarowego krzywe, na rych forma kwadratowa q ma tę samą wartość.
226
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Metody
sprzężonych
kierunków
Rodzina metod sprzężonych kierunk6w realizuje opisaną już strategię mini- · malizacji funkcji kwadratowej wzdłuż kolejnych promieni. Zwykle ich kierunki są wyznaczane w trakcie obliczeń, ale najpierw rozważymy przypadek, gdy wybiera się je z góry. Niech A będzie macierzą symetryczną dodatnio określoną stopnia n. Załóżmy, że znamy wektory u(l), u( 2 ), .•• , u(n), które są A-ortonormalne, tj.
(1 ~i, j ~ n).
(u(i), Au Ul) = Óij
Tak więc różnica Ax(n) - b jest ortogonalną; (w.zwykłym sensie) wzglę1) u< 2 ) • • • u(n) a zatem musi być zerem. dem u< •. '~! ·~t,_-.,-.',„„ '~ ,, o.I,,,_,_,'~ >I•-~'·•• >'„„,•o,G,.o,J,•""'*';•'•f,'.'.;
Opiszemy teraz
UTAU=I, gdzie kolumnami macierzy U stopnia n są wektory u< 1), u< 2 l, ... , u(n). Stąd . ' od razu wynika, że macierze A i U są nieosobliwe i że te wektory tworzą bazę przestrzeni llłn.
n
(x,y)A := (x,Ay) = L
(1 ~ i ~ n),
Ax(i-l), u(il)u(i)
Dowód. Dla ti := (b - Ax(i-l), u(i)) powyższy wzór rekurencyjny ma prostszą postać
który. prze1s~tałca dany układ wektorów 'iiniowo niezależnych na układ ortonormalny u< 1), u< 2 ), ••• , u(n)}. Przyjmijmy, że używamy .w tym algorytmie określone , wyżej iloczynu skalarnego. Jeśli wyjściowy układ tworzą wektory jednost' (5 .3 . 2) się · upraszcza.· owe e (l) , e <2) , ... , e (n) , t o wzor g~zie .'l!(i). := e(i) - L(AuUl)iu(j).
=
że
Ax(i-l)
Przekształcamy
j
-"
' · ·
·
'
· ·.
jeszcze ti:
~
i-1 (b - Ax(o), u(i)) - L (tj AuU), u(i)) j=l
' ·
'
TWIERDZENIE 4.7.3. Jeśli macierz A stopnia n jest symetryczna i dodat.n~o o.ipreśl?na, a uklad,wektor6w {v< 1l;v< 2); •.• ;v
i-1 . . ti = (b - Ax(i-l), u(i)) = (b - Ax(O), u(i)) + L (Ax(j-l) - Ax(j), u(i)) ~:i
=
.·
. . W· praktyce nm:n:erycznej są wygodniejs~e układy A-ort~gonalne. Na-· ' "amy tak układ wektorów niezależnych liniowo v< 1 ), v< 2), .•• , dla którego _(i), Av(i)) = O (i i= j) .. Daje on układ A-ortonormalny u(i) := llv(i) ll.A 1v(i).
- co łatwo sprawdzić - iloczyn skalarny, tj. funkcję zmiennych x, y, podane na początku tego podrozdziału. Temu iloczynowi . .. ;dpowiada norma określona wzorem
łównych.
+ tiu(i).
A-ortonormalności
~
. . . .czywiście każde u(i) jest kombinacją liniową, wektorów e< 1), e< 2 ), .•• , e(i), obec czego macierz U, której kolumnami są wektory u< 1), u< 2), ••• , u(n), t trójkątna górna. Wspomniana wcześniej rów:ność.[/T AU:= I daje ·wzór ~ (U.T)- 1,U;.""' 1, ~zyli rozkład typu .Lu.'bzięki"t~u ~kfod .Ax = b moż a rozwiązać, stosując wariant eliminacji· Gaussa beź''wyboru elementów
= b.
x(i) := x(i-1)
n
L:aijXiYj
mającą własności
4.7.2. Jeśli układ (u
to Ax(n)
tej metody. Wzór
i=l j=l
TWIERDZENIE
+ (b -
konkretną realizację
.
6kreśla
Ta własność jest oczywistym uogólnieniem zwykłej ortonormalności. Zoba- .. czymy, że jeśli takie właśnie wektory wyznaczają kierunki promieni uży wanych w stopniowej minimalizacji formy q, to n-ty krok daje ostateczne „ rozwiązanie. Przed ścisłym sformułowaniem tego faktu wart~ zauważyć, ż~ : ' A-ortonormalność można wyrazić jednym równaniem
x
227
4.7. METODY NAJSZYBSZEGO SPADKU I SPRZĘŻONYCH GRADIENTÓW
j=l
= (b -
.
Ax(O), u(il).
. •
.: ; .
'
.
::II
t'
,.
(~) ·._ ' (i-1) (b - Ax(i-1), v(i))· : (i) „- x .+ ( 0 A O) v ·
.·.·.
v•, v•
.'·'
~kreśla takie wektory, że 'A:z;(n)._ =.;b.
"
(.1 ~i:;;::; n)
228
4.7. METODY NAJSZYBSZEGO SPADKU I SPRZĘŻONYCH GRADIENTÓW
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Metoda sprzężonych gradie~~ów
V<- r
c <- (r, r) for k = 1 to M do if (v, v) < ó then stop
Metoda sprzężonych gradientów (H~stenes i Stiefel [1952]) należy do rodziny metod sprzężonych kierunków. Kierunki v(i) z tw. 4.7.3 wybiera się tu w trakcie obliczeń w taki szczególny sposób, że reszty rCi) := b-Ax(i) tworzą układ ortogonalny w zwykłym sensie, tzn. jest (rCi), r(j)) =O dla i =f. j.
z <-Av t <- c/(v,z) X<- X +tv
Metodę sprzężonych
gradientów można przedkładać nad zwykłą eliminację Gaussa, jeśli macierz A jest duża i rzadka. W teorii metoda daje rozwiązanie układu Ax = b złożonego z n równań po n krokach. W praktyc~ jednak, dla układów źle uwarunkowanych, błędy zaokrągleń uniemożliwiają znalezienie w tylu krokach dostatecznie dokładnego rozwiązania. To sprawiło, że entuzjazm wywołany opublikowaniem metody później znacznie osłabł.' Jednak około 20 lat po publikacji, gdy metodę sprzężonych gradientów zaczęto traktować jako metodę iteracyjną, generującą ciąg wektorów zbieżny do rozwiązania, doceniono jej wartość. Okazało się nawet, że dla macierzy dobrze uwarunkowanych zadowalające rozwiązanie otrzymujemy po mniejszej od n liczbie kroków. Historię metody opisują Golub i O'Leary [1989]. Pierwsza, „surowa", wersja programu dla metody sprzężonych gradientów jest następująca:
r
4.7.4. Jeśli dla pewnego m
Dowód. Udowodnimy nieco
+ 1, x
Jeśli rCk) = O, to - teoretycznie - xCk) jest rozwiązaniem układu Ax = b. •: Algorytm wymaga pamiętania czterech wektorów: x(k), rCk), vCk) i Av(k). ·
macierzy A nie jest konieczne. Koszt jednej iteracji jest niewielki; trzeba obliczyć iloczyn macierzy przez wektor oraz dwa iloczyny skalarne: (vCk), Av(k)) i llr(k+l) li§. Jest to dobrze widoczne w drugiej wersji programu: r<-b-Ax
że:
< m.
(vCm), Av(i)) = O dla O < i < m. r(i) = b - Ax(i) dla O< i< m. I
(rCm), rCi)) 6. r(i)
=f. O
=O
dla O < i
dla O < i
< m.
< m.
Dowód jest indukcyjny względem m. Dla m = O przy założeniu, że wystarczy wykazać prawdziwość zdań 2, 4 i 6. To wynika wprost definicji metody, gdyż rCO) = b - Ax(o) = v< 0 ) =f. O. Przypuśćmy, że a pewnego m ;> O zdania 1-6 są prawdziwe. Założymy też, że wektory J, v< 1), ... , v
) "#O,
=O
dla O < i
< m.
1
(rCm+l), vCi))
I.
(rCm+l), rCm+l)) = (rCm+l), vCm+l)).
1
(vCm+l), Av(i)) =O dla O< i< m.
Pamiętanie pełnej
input A,b,x,M,E:,Ó
a mianowicie,
(rCm),v(i)) =O dla O< i< m.
output O, x
output k end do
r - tz
TWIERDZENIE
r< 0 > <- b - Ax(o) v
Bk <-
<-
d <- (r, r) if d < E: then stop v <- r + (d/c)v c <- d output k,x,r end do
input A, b, x< 0 ), M, E:
if llr(k+l) li~
229
' rCm+l)
= b-
1
(rCm+l), rCi))
i
rCm+i)
=f. o.
Ax(m+l). =
O dla O < i
< m.
230
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
Zdanie 1': Dla i = m mamy, na mocy 2, (r(m+l), V(m)) = (r(m) -
tmAV(m), vCm>}
= (r(m), v(m)) -
tm (v(m), Av(m))
, Zdanie· 5' :·Przy dodatkowych ·oznaczeniach' jak w· dowodzie 3' ze zdania · 1' wynika, że
==
(r(~+l)' r{i)) = (r(m+l), v(i) - Sż-1 v(i-1>) =
= (r(m), v(m)) - (r(m), r(m)) =O.
Dla O ~ i
< m na mocy
= (r(m+l), ~(i)) - Si~l (r(~fP;.~i~~l).) =O.
1 i 3
(r(m+lJ, v(i)) = (rCmJ, vCil) -
tm(v(m),
Zdanie 6 1 : Z 3 1 i dodatniej
AvCil) =O.
Zdanie 3': Niech będzie s_ 1 :=O i v{-l) :=O. Dla O~ i~ m mri~y =
był lepiej uwa~unkowany. Ma on być taki, że A~ sT AS,
(v(m-1-1)' Av(m)) = Sm-1 v
'
Chcemy..rozwiązać układ Ax = b z. macierzą symetryczną i dodatnio okrepewien wariant metody sprzężonych gradientów. Jest celowe t'.akie wstępne przekształcenie układu 19 ), aby nowy układ
(v(m+l), Av(i)) =O. Przypadek i= m trzeba zbadać oddzielnie. Z ostatniego ciągu równości wynika, że ·
-
.,
I
'•
<
t;:;-,1 (r(m+l)' v(m)
•
śloną, stosując
m, to wobec 1 1 wektor rCm+l) jest ortogonalny względem v(i)' dla j =i - 1, i, i+ 1. Natomiast z 3 wynika, że (vCm), Av(i)) =O. Dlatego''
=
'
pr~ekształceniem
= til [(r(m+lJ, vCil) - Si-1 (r(m+lJ, v(i-1))v{i))]
Av(m+l)) =
~M~toda sprzężonych gradientów .ze 'wstępnym
+ sm(vCml,AvCil) =
+Si (r(m+lJ,
i
·.:
~
Si-1 vCi-l) - v(i+l) + SiV{i))+
- (r(m+lJ, v(i+l))
sm(v,
To twierdzenie i jego dowód wzorowano na· tekś~ie Stoera scha [1980] ..
(r(m+l), AvCil) + sm(vCmJ, Av(i)) = = ti 1 (r(m+l), r
Av(m+l)) =
4.7. METODY NAJSZYBSZEGO SPADKU I SPRZĘŻONYCH GRADIENTÓW
x
= s- 1 x, b = sTb
i;,;(A) < u(A). To przekształcenie rn:~że też spowodować szybszą zbieżność n.owego układu. · · '.·o· Układ Ax = bmożną ocz~iśc~e.rozwiązywać, st9sując pierwszy z progr~mów. podanycłi ·wcześniej dla .metody 'sprzężonych gradientów; zamiast A, b, x(k), r(k), v(k), tk, Sk w programie będą teraz wY-stępowały analogiczne Wielkości, ale opatrzone znakiem Ą. Macierz S nie może być dowolna. Z ·powodów, które częściowo·wyja śhią się dalej, dla pewnej macierzy symetrycznej i dodatnio określonej Q · kreślamy S tak, że . "t.
+
r(m) - (r(m) -
tmv(m)(
= b-
Ax(m) - tmAv(m)
r{m+l)) = r(m+l).
=
•
1.9 >W
oryginale. występuje tu preconditioning...Kiełbasi.ński'i '8ch~etlick [*1992] tłuma
zą. ten t.ermin j·ako _prekondicjoning, ale trudno;uzmi.ć tę propozycję za. udaną (przyp.
lum.).
·
."
..
. •„
·.~
o.
i!S~ •
232
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
W zastosowaniach macierz A bywa rzadka i przejście do A może tę istotną własność zniszczyć. Dlatego będziemy używać pierwotnego układu,
for k
b-
wyznaczenie
'
if
Aa;(k) = sTb _;(ST AS)(s- 1x(k)) = sT r(k)'
Wielkości ik i Bk zależą od określonych .wyżej podobnie jak we wspomnianym algorytmie.
Wielkości opatrzone znakiem wyrazimy przez analogiczne do nich, ale odnoszące się do pierwotnego układu (i przez macierz Q). Skorzystamy przy tym wielokrotnie ze znanej już tożsamości (x, Gy) = (OT x, y). Mamy więc· A
ik = (r, f(k)) / (v(k),Av
=
(ST r(k)' sT r(k)) I (s- 1v(k)' (ST AS)(s- 1 v(k))
= (Q-lr(k), r(k)) / (v
=
== (f:(k), r(k)) / (v
W podobny sposób obliczamy Bk
=
(r, r, r
=
I
= (ST r(k+l)' sT r(k+l)) (ST r(k)' sT r(k)) =
=
(Q-lr(k+l), r(k+l)) / (Q-lr(k), r(k))
=
(f(k+l), r(k+l)) / (r
Prócz tego, mnożąc stronami równości x
= x
r
= r
odpowiednio przez S, (ST)- 1 i S otrzymujemy. x(k+l)
= x(k) +ikv(k),
r(k+l)
= r(k) -ikAv(k),
Stąd wynika pierwsza wersja algorytmu sprzężonych gradientów ze wstęp,; 1 nym przekształceniem. Wśród danych znajduje się macierz Q: ·' · input A, b, x< 0>, Q, M, c r< 0 > +- b - Ax<0 >
. wyznaczenie v
f(O)
output O, x<0 >
+ ikv(k)
r(k+l) +- r
z
układu Qf(O)
= r< 0 >
f(k+l)
z
układu Qf(k+l) = r(k+l)
< c then if (r(k+l), r(k+l)) < c then stop
(f(k+l), r(k+l))
end if Bk +- (f(k+l), r(k+l)) / (f(k), r(k)) v
.p(k) := Q-lr(k).
już
233
= O to M - 1 do if v
V(k) := s-lV(k)' f(k) :=
11!'!'!!!;~~
4.7. METODY NAJSZYBSZEGO SPADKU I SPRZĘŻONYCH GRADIENTÓW
ukrywając jego wstępne przekształcenie w algorytmie. Aby zrozumieć sens tego postępowania; przyjmijmy, że a;(k) := s-lx(k)
.j•
+
+
end do
Dla Q = I ten algorytm jest taki jak dla zwykłej metody sprzężonych gradientów. Jeśli Q =A i S = A- 112 , to przekształcony układ (4.7.3) redukuje się do postaci x = b, ale to nic nie daje, gdyż wyznaczenie wektora $ = sTb jest tak samo trudne jak rozwiązanie układu Ax = b. Ponieważ w każdym kroku powyższego algorytmu trzeba rozwiązać kład Qx = y, więc powinniśmy wybrać macierz Q tak, żeby to było łatwe. ogłaby to zatem być macierz przekątniowa, ale w innych przypadkach bieżność bywa szybsza. Im lepszym przybliżeniem macierzy A jest Q- 1 , ty~ lepiej uwarunkowany jest układ (4.7.3) i tym mniej kroków procesu fteracyjnego trzeba wykonać. Z drugiej strony, rozwiązanie układu Qx = y ~taje się wtedy trudniejsze. Ilustruje to typowy dylemat, jaką metodę itera(::yjną wybrać: wymagającą niewiele kosztownych kroków, czy taką, w której .te kroki są mało kosztowne, ale trzeba ich wykonać wiele. Komentarza wymaga jeszcze moment zakończenia obliczeń. W przeciwieństwie do (f(k+l), r(k+l)) iloczyn (r(k+l), r(k+l)) nie jest w algorytmie ~ptrzebny do innych celów. Dlatego ten drugi iloczyn znajdujemy tylko wte'dy, gdy pierwszy jest dostatecznie mały. Program komputerowy może bazować na następującym uproszczonym algorytmie: input A,b,x,Q,M,c,ó r
<--
b-Ax
;wyznaczenie z z układu Qz = r V+- Z
c +-(z, r) for k = 1 to M do if (v, v) < ó then stop z<-- Av
t <----ej (v, z) X<---- X+ tv
4.8. ANALIZA BŁĘDÓW ZAOKRĄGLEŃ W METODZIE ELIMINACJI GAUSSA
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
234
r
<-
o.
r - tz
wyznaczenie z z układu Qz = r d <- (z,r) if d < c: then if (r, r) < c: then stop end if v <-z+ (d/c)v C<- d output k, x, r end do
Dla układu równań
.['2 0 -li [Xll
symetrię
+tv, gdzie i jest
i
dodatnią określoność.
określone w (4.7.1), to wektory
j
1··
2
X3
••
Udowodnić, że w metodzie sprzężonych gradientów z równości v
3,
iż
.\..
Ax(b) = b.
ADANIA .KOMPUTEROWE
4. 7
~. Zaprogram0wać metodę sprzężonych»gradi~i;;,tów i sprawdzić ją
,
.
.
'
.
aij .:=(i+ j + 1)- 1
(1. <;i, j <;n),'·
• 1 bi := '3
.
w metodzie najszybszego spadku jest
q(x(k+I>) = q(x)- llr(k)llV(r
j=l
i.. ~
10-·1. 2 1 9 -1 2 -1 7
l 3
2
3
4
-3
-5
32 .'-3 . 4J 3
-5
12 -1
-1 15
l~l]
:l
'·
-27 12j
X2
X3
14
-17 12
X4 X5
(z macierzą symetryczną i dodatnio .określoną, ale nie dolninującą przekąt niC>Wo). stosując dla .x<0 > ::;:= O me~o'tlę: (a)" Jacobiego, (b) Gaussa-Seidela, (c) _sprzężonych gradientów.·
. v(k)
i
v
(1 <; i <; n) ,· .
'. 2·.,· R~~~i~zać .układ·
gdzie r(k) := b - Ax(k). 7. Wykazać, że w metodzie najszybszego spadku wektory nalne.
n . L:>ij
(A j~st tu macierzą Hilberta).
v :
.· · · ·
5. Udowodnić, że jeśli macierz A jest symetryczna, Ax = b, a y jest dowolnym' wektorem, to (x-y,A(x-y)) = (b,A- 1 b)+ą(y). Stąd wynika, że minimalizacja funkcji q jest równoważna z tymże zadaniem dla (x - y,A(x - y)). ·· Udowodnić, że
'
'. :
3. Udowodnić, że gradient funkcji q(x) := (x, Ax) - 2{x, b) dla macierzy sy~~ · trycznej A jest równy 2(Ax - b). 4. Udowodnić, że najmniejszą wartością funkcji q jest -(b, A- 1 b).
6.
~
2. Udowodnić, że w metodzie sp~zężonycli-~adientów
1. Udowodnić, że istnienie układu A-ortonormalnego {u U>, u< 2 ), • •• , u(n) }, gdzi~ ":
2. Wykazać, że jeśli y := x i b - Ay są ortogonalne.
[-121]
„ . . .. . . ,, „,..
iloczyn skalarny (b-: Ax, A- 1 b - x) jest dodatni, jeśli tylko Ax ;I= b.
~.
stopnia n, implikuje jej
X2
' . ~\ jl·
'il. Udo~odnić, że jeśli macier~ ,fi jest dodat~io określona,· ab j.est. wektorem, to
4.7 macierzą
0 4
,„, . !•,
'i wektora początkowego x< 0 > := (O,. O, 9) wykqn?Ć dwa kroki metody iteracyj· fiej: .(a) Jacobiego, (b)'Gaussa-Seidela, (c) sprzężo:iych gradi~ntów. . . „
'.~!I
A jest
„ -10 -1
-2 -1
Metoda sprzężonych gradientów ze wstępnym przekształcenie~ układu równań (tu opisana podobnie jak to zrobił Ortega [1988]) jest przedmiotem intensywnych badań. Proponuje się wiele sposobów wyboru macierzy Q, np. tak jak w metodzie nadrelaksacji. Dodatkowe informacje można znal~źć w wielu książkach; zob. np. Golub i van Loan [1989]. Opracowano też pakiety programów nie tylko dla tej, ale i dla innych metod iteracyjnych. Są to m.in. ITPACKV 2D (Kincaid, Oppe i Young [1989]), NSPCG (Oppe, Joubert i Kincaid (1988]), PCGPAK2 [1990] i PCG (Joubert i in. [1995]). ZADANIA
235
są ortbgo-->: 1 · ·1: ." ,
8. Sprawdzić, czy jeśli układ ortonormalny {uU>, u< 2 >, ... , u(n)} wyznacza kierun.-;'.i ki poszukiwania minimum funkcji ą, to będzie ono znalezione po n krokach. 9. Dla jaldch wartości tk metoda najszybszego spadku sprowadza się do meto-·~ dy Richardsona? Jakie warunki nałożone na tk i A zapewniają identyczność i pierwszej metody z metodą Jacobiego? · ''-,
..
Analiza błędów· zaokrągleń·· .. „ w metodzie eliminacji Gauąsa , .' 'l~m podrozdziale zbadamY, skutki błędów zaokrągleń, wyst~pujących nie1 \ onnie, gdy rozwiązujemy układ Ax ~ ?rÓ~Jl.ń liniowych o współczyn ch rzeczywistych. Analizę tych J:?łędów. dla „metody eliminacji Gaussa .•
• 'f
">'
236
''.s'• .. il~;,~ ufłf~!!liTJ,
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
z wyborem wierszy głównych zawdzięczamy Wilkinsonowi. Jej wynikami są · oszacowania a posteriori błędów 20>. Założymy, że niezbędne przestawienia wierszy wykonano na początku obliczeń, a więc elementy główne znajdują się już na właściwych pozycjach. Stosowana strategia upewnia nas, że wtedy w k-tym kroku algorytmu jest lak~I ;;;>- la~Z)I dla i ;;;>- k (ozna~zenia są takie, jak w podrozdz. 4.3). Dzięki temu mnożnild stosowane w procesie eliminacji mają wartości bezwzględ ne nie większe od 1. Powyższe założenie nie ogranicza ogólności tw. 4.8.1, jedynie upraszcza oznaczenia. W rozkładzie LU macierzy A stosujemy następujące wzory:
a~7+i) {aa~~ likak~)
0
:=
-
(i~
k)
Na początku obliczeń jest A(l) =A, a na końcu U= A(n). Macierz L jest trójkątna dolna, U - trójkątna górna. Liczby występujące w komputerze będzie sygnalizował symbol - ; np. lik jest wielkością, która w obliczeniach reprezentuje lik· Jej wartość zal& · ży od komputera (i stosowanego języką programowania). Dla uproszczenia zakładamy, że w obliczeniach nie występuje ani nadmiar, ani niedomiar. Opisując obliczenia komputerowe, będziemy też używać symbolu fi określonego w podrozdz. 2.1. Przypomnijmy, że jeśli x i y są liczbami maszynowymi, a 0 jest symbolem działania arytmetycznego, to komputer zamiast x 0 y daje fi(x 0 y). Te liczby wiąże równość fi(x 0 y)
= (x 0 y)(l -
ó)
= (x 0 y)/(1 -
- {1 lik :=
ó'),
p :=
w tym podrozdziale oznacza precyzję arytmetyki w stosowanym komputerze (zob. podrozdz. 2.1). Uwzględniając powyższe uwagi, wyrażamy w następujący sposób liczby tworzone w czasie eliminacji:
oszacowanie a posteriori nie wyjaśnia istoty pomysłu Wilkinsona. Udane
określenie zaproponował Kiełbasiński w przekładzie książki Wilkinsona (1963]: analiza (pozornych) zaburzeń; np. tw. 4.8.2 orzeka, że obliczony iloczyn skalarny jest dokładnym tłum.).
•J
eliminacji Gaussa.
4.8.1. Niech A będzie macierzq stopnia n, której elementy sq liczbami maszynowymi w komputerze z precyzjq arytmetyki c. Metoda Gaussa z wyborem elementów głównych daje macierze L i U takie, że
Lu= A+ E,
gdzie
leiil ~ 2ncp.
i . Dowód. Używając wielkości Óij (nie należy ich mylić z deltą Kroneckera) i óij analogicznych do ó i ó' z (4.8.1), wyrażamy wielkości tworzone wkomputerzejak następuje 21 ):
-(k+l) _ r-(k) aij aij -
l-ik = (1
+
- -(k)] (1- Óij)likakj /(1 -
0J;'ik )-(k);-(k) aik akk
ierwsze z tych
(. i
t
óij)
(i,j>k),
> k) ·
równań można też napisać
w postaci
(i,j>k). acierz o elementach a~~) -~ka,k(~) jest równa .fi(k) _LCk).fi(k), gdzie •J J iezerowe elementy tylko w k-tej kolumnie poniżej przekątnej:
(4.8.3) LCk)
ma
o L(k) =
k)
(i, j > k),
iloczynem zaburzonych wektorów (przyp.
wielkość
max la~~\
l,;;i,j,k,;;n
stała c
20 > Określenie
potrzebna wielokrotnie
(4.8.1)
(4.8.2)
(i~
ciągu będzie
TWIERDZENIE
.
~ c;
(i= k) (i > k).
Można ją wyznaczyć stosując metodę
gdzie
lól, ló'I
fi(-(k);-(k)) aik akk
W dalszym
(i< k) (i= k) (i> kf
(i> k, j > k) (j ~ k
237
4.8. ANALIZA BŁĘDÓW ZAOKRĄGLEŃ W METODZIE ELIMINACJI GAUSSA
o ~.·. 2i) Łatwo zauważyć podwójną nieścisłość: te wielkości należałoby opatrzyć górnym
'kaźnikiem k, a liik w drugim wzorze nie ma nic wspólnego z analogiczną wielkością
ierwszego wzoru. Jest to jednak nieistotne, gdyż w dowodzie nie· korzysta się z żadnych lacji wiążących wielkości li i li'. Ważne są tylko nierówności (4.8.2) (przyp. tłum.).
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
238
4.8. ANALIZA BŁĘDÓW ZAOKRĄGLEŃ W METODZIE ELIMINACJI GAUSSA
239
Wobec tego A_(k+l)
= A_(k)
_ L(k) A_(k) + E(k),
(4.8.4)
gdzie E(k) jest macierzą o małych elementach zależnych od Óij i J~j w sposób z (4.8.3). Zbadamy je teraz. Jeśli i> k, j = k, to
wynikający
(k) -
-a-(k) + (a-;a-(k)) (1 +ó·k)a(k) = ó·ka~k) ik ik kk • kk • ik ·.
Dowód drugiej jest podobny. Trzeba jeszcze wykazać, że lt5il spełniają nierówność podaną w twierdzeniu. Dla k .;;; n + 1 jest (1
+c)k ..,.... .1 = [1 +ki=;+ łk(k . ..
l
4.8.2. Jeśli liczba naturalna n jest taka, że ni=; < oraz·. jeśli Xi, Yi (1 .;;; i .;;; n) są liczbami maszynowymi, to obliczona w,artoś~. iloczynu skalarnego l:i~ 1 XiYi jest równa l:i=l XiYi ( 1 + Ói), gdzie IÓi I .~·: : ~(n+ l)c dla każdego i. · . ·'.. ~ TWIERDZENIE
.
E,
(k)I .;;; ~ (k>1 L.,, Ieij .;;; 2nc p.
L.,, eij I k=l
1. Jeśli
·
=·.
k-1
czyli L(J = A+ E. · .: Pozostaje oszacować elementy macierzy E. Ponieważ z założeni~ w~er~-. .,:. szami głównymi w procesie eliminacji są kolejne wiersze, więc wszystkie mnożniki spełniają warunek Jlikl .;;; 1. Dlatego z otrzymanych już wyrażeń'.' · dla e}Z) wynikają nierówności .
ie}Z>I = lóikl ia}Z>I .;;; i=;p JeiJ> I = lóiiikai~> + t5~jaiJ+ 1 > I .;;; 2cp
+ cr+ 2-i -
• .'
Zk =:= [Żk-1' + XkYk(l + J')](l + ó)
I:/::i
= A{l) +
(1 .;;; k .;;; n).
Udowodnimy przez indukcję względem n, że lóil .;;; (1 · ·
· L-(k)A-(k) są wie . l o lcrotnosciam1 , . . wiersza . -(k) , ak -(k) :.:(k) .. Wiersze macierzy akl 2 , ••• , akn :. . identycznego z wierszem ain)' ai~)' ... 'ai':!. Dlatego j)k) A_(k) = j)k) .fi.(n). Przypomnijmy jeszcze, że Afl) =A i że obliczonym czynnikiem trójkątnym,·._ górnym (J jest A (n). Przyjmując jeszcze, że E .E(k), wyrażamy·. otrzymany wcześniej związek w postaci
(L{l) + ... + i,(n-1) + l)A_(n)
+ fl(XkYk)]
n.=;= 1, to·:·
(4.8.4) dla k = 1, 2, ... , n-1, otrzymujemy
j,{1) A_{l) + ... + j,(n-1) A_(n-1) + A_(n)
Zk := fl[zk-1
Dla tego n twierdzenie jest prawdziwe, bo c.;;; (1 + c) 2 - 1. Przyjmując, że . twierdzenie zachodzi dla n= k - 1, sprawdzamy je dla n= k. W tym celu obliczamy
·
Pozostałe elementy macierzy E(k) są zerami. Sumując
,' statnia nierów;ność wynika z założenia; ·że' ne:,:.;::: •.. ~·
!
..
.
•
1'
•' '
l. ·. ••
•
•
1il11
240
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
4.8. ANALIZA BŁĘDÓW ZAOKRĄGLEŃ W METODZIE ELIMINACJI GAUSSA
4.8.3. Niech L będzie macierzą jedynkową trójkątną dolną· stopnia n, której elementami są liczby maszynowe, a b - wektorem o n składowych będących takimi liczbami. Wtedy, jeśli nc: < to obliczone rozwiązanie fj układu Ly = b jest dokładnym rozwiązaniem zaburzonego układu '
Dowód. Z
TWIERDZENIE
!,
(L
+ b.)fj = b,
Dowód.
l(b.)ijl <~(n+ l)c:llijl·
gdzie
Dokładne rozwiązanie układu
Ly
=
b jest obliczane ze wzoru
(1
Yi
są
takie,
= [bi -
że
E lijYj(l + Óij)] I (1 + óii), (1 :;;;; j
= n2c:p
j=l
Mamy więc równanie macierzowe (L + b.)fj = b, gdzie A jes~. macierzą trójkątną dolną o elementach lijÓij, a to już daje tezę twierdzenia,
= 1).
•
•
4.8.4. Niech U będzie macierzą trójkątną górną stopnia p;. której elementami są liczby maszynowe, a c - wektorem o n· składowych będących takimi liczbami. Wtedy, jeśli nf: < to obliczone rozwiąza nie fj układu U y = c jest dokładnym rozwiązaniem zaburzonego układ
4.8.5. Niech elementy macierzy A stopnia n i składowe wektora b będą liczbami maszynowymi. Jeśli nc: < to rozwiązanie x układu Ax = b, obliczone metodą eliminacji Gaussa z wyborem wier~ szy głównych, jest dokładnym rozwiązaniem zaburzonego układu ' (A+ F)x = b, gdzie lfol < 10n2c:p.
!,
[3_ + 12 n+ 1 + 36 c: (n+ 1) n
5
n
25
2 ] .
n
''),ima ~ w nawiasach kwadratowych nie przekracza 10.
•
Za pomocą bardziej subtelnych rozumowań można otrzymać oszacowa'e dla llFlloo lepsze od tego, które wynika z tw. 4.8.5; zob. Forsythe i Moler 967], Golub i van Loan [1989], Wilkinson [1965] oraz Isaacson i Keller 966]. d·
~r 1 ~kaźnik
wzrostu
Cl.y rozwiązujemy nume;rycznie układ Ax = b metodą Gaussa, to miarą jej ilności jest wskaźnik wzrostu 22 ) ·- max·i,J,·kla~~)I iJ gn (A) .- maxi,j Iaij I .
Dowód jest temat.em zad. 3. TWIERDZENIE
(A+ F)x,
v=l
i
(U+ b.)fj = c,
+ D.u +Lb.'+ D.D.')x =
n
lfijl
Z (4.8.5) wynika, że
(jest lii
że układ rozwiązujemy
ijl = la~j)I < p:
gdzie na mocy tw. 2.1.3
< ~(n+ l)c:
6 < 5(n + l)c:llijl, l(D.')ijl < ~(n+ l)c:luijl
dzie F := E +AU+ Lb.'+ AA'. Aby oszacować elementy macierzy F, orzystamy z oszacowań podanych wyżej, a także z nierówności llijl :;;;; 1,
pznaczenia tu nieco zmieniono, uwzględniając to, : trzech etapach), Stąd wnioskujemy, że
j=l
Wobec tego obliczone
4.8.1, 4.8.3 i 4.8.4 wynika odpowiednio,
A+E =Lu, (u+ D.')x = y,
i-1
Yi :=bi - LlijYj
twierdzeń
241
ak przedtem, a~J) jest tu elementem macierzy wynikającej z A po k krokach liminacji. Wielkość gn(A) pokazuje, jak duże mogą być te elementy w po22 ) W oryginale growth factor. Jak się wydaje, nie było wcześniej odpowiedników tego . .minu w języku polskim (przyp. tłum.).
··
242
4.8. ANALIZA BŁĘDÓW ZAOKRĄGLEŃ W METODZIE ELIMINACJI GAUSSA
4. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH
równaniu z elementami macierzy A. Eliminacja Gaussa jest stabilna; jes ta wielkość nie jest zbyt duża. Wynika to z oszacowań, w których występuj wskaźnik wzrostu. W szczególności Wilkinson [1965] udowodnił, że
llx - xlloo 2 llxlloo ,; ; 4n 9n(A)xoo(A)c, gdzie x jest dokładnym rozwiązaniem układu Ax = b, a x jego rozwiąz niem obliczonym w arytmetyce zmiennopozycyjnej metodą eliminacji Gau sa z częściowym wyborem elementów głównych, bez skalowania. Natomias w nierówności
llA-Alloo 3 llAlloo < 8n 9n(A)c o (można ją porównać do tej z tw. 4.8.5) występuje oprócz A taka macierz , że określony wyżej wektor x jest dokładnym rozwiązaniem układu Ax ~· (zob. np. Golub i van Loan [1989]). · Wilkinson [1965] udowodnił, że 9n(A) ,;;;; 2n-l i znalazł przykłady . m cierzy, dla których to oszacowanie jest osiągnięte; podają je też Golub i;~ Loan [1989], Higham i Higham [1989] oraz Foster [1994]. Wilkinson wyw~i skował jednak ze swych doświadczeń numerycznych, że duże wartości wsl~ nika wzrostu są bardzo mało prawdopodobne nawet dla częściowego wy):> ru elementów głównych. Wilkinson zauważył, że trudno znaleźć natura( macierz A, dla której 9n(A) > n; nie znalazł też podobnych przykładq gdzie ten wskaźnik przekroczyłby 16. Jego poglądy sprowokowały inny badaczy do szukania macierzy z dużym wskaźnikiem wzrostu; ro.in. Do garra, Bunch, Moler i Stewart [1979] znaleźli macierz, dla której 9n(A) = , Później Trefethen i Schreiber [1990] wykazali, że dla macierzy o losowy elementach 9n(A) nie rośnie wykładniczo. Natomiast Wright (1993] i Fo [1994] udowodnili, że rozwiązywanie numeryczne pewnych zagadanień b gowych dla równań różniczkowych zwyczajnych i równań całkowych Vo~t ry prowadzi do macierzy, których wskaźnik wzrostu rośnie wykładniczo, 8; może powodować katastrofalny wzrost błędów. Mimo wszystko utrzym się opinia, że w zastosowaniach ten wskaźnik jest zwykle niezbyt duży i .. eliminacja Gaussa z częściowym wyborem elementów głównych jest stabiln Dla eliminacji Gaussa z pełnym wyborem elementów głównych Wi kinson [1961] wykazał, że .
balili ją Gould (1991] i Edelman [1992], znajdując przykłady odpowied"ch macierzy. Decydując się na jedną z dwóch strategii wyboru elementów łównych, trzeba pamiętać, że pełny wybór znacznie wydłuża obliczenia. W wielu przypadkach znalezienie macierzy o szczególnie dużym wskaź "lm 9n(A) wymagało użycia superkomputerów i wyspecjalizowanego opro. amowania. Niektórzy eksperci sądzą, że przeoczono możliwość dużego zrostu błędów w eliminacji Gaussa. Będzie to na pewno tematem dalszych dań; zob. np. prace Edelmana [1992] i Fostera (1994].
1.
Wykazać, że
· IJE(k) ff~~
w dowodzie tw. 4.8.1 jest
IJEIJ ·~ n 2 c:p. „
[1+2(n - k)]c:p,
00
.. Wykazać, że w tw. 4.8.3 jest ll~lloo ~ ~n(n + l)c:max1.,;i,j.,;nllijl· :'. Udowodnić tw. 4.8.4.
,··
Iii
~~··
„..
. ··;.·:<:~:·
.• ·"f·.
....· ...
.
t:
„ . •.. ~ •·
.
\ . •·,
.·
gn(A),;;;; nl/2[2. 31/2. 41/3 ... nl/(n-1)]1/2.
Prawa strona tej nierówności rośnie wraz z n, ale - jak zauważył Wilkins - znacznie wolniej od 2n. Cryer [1968] postawił hipotezę, że 9n(A) ,;;;; n,· ·'
243
...· .. „···
. ,t
~~
„
\
,\li'
5 Inne działy numerycznej algebry liniowej
Przegląd
podstawowych pojęć
, jak i we fragmencie podrozdz. 4.6 poświęconym metodzie nadrelaksabędziemy mieli do czynienia z macierzami o elementach zespolonych. kreślono tam większość związanych z nimi pojęć. Tu wystarczy dodatkozdefiniować wielomian charakterystyczny macierzy. Niech A będzie macierzą kwadratową stopnia n, o elementach zespolo'ch, a >.. liczbą zespoloną. Jeśli równanie '
t spełnione przez pewien wektor x o n składowych zespolonych nie wszystĆh równych O, to - jak wiadomo - >.. jest wartością własną, a x wektorem i'd~nym macierzy A, odpowiadającym tej wartości własnej. ,,, . Istnienie nietrywialnego rozwiązania równania Ax = >..x jest równo~· ne każdemu z trzech następujących warunków: macierz A - >..I
przekształca
pewien wektor niezerowy na O,
.. macierz A - >..I jest osobliwa, det(A - >..!) = O.
246
5. INNE
DZIAŁY
NUMERYCZNEJ ALGEBRY LINIOWEJ
5.1. METODA
w zasadzie obliczanie wartości własnych można sprowadzić d · równania, które można napisać w bardziej konkretnej postaci:
Tak
więc
rozwiązywania powyższego
au - .A
aI2 a22 - A
a2I
POTĘGOWA
DLA ZADANIA
247
WŁASNEGO
~dobne, jeśli istnieje macierz nieosobliwa P taka, że B = PAP-I (czy.iA = QBQ-I, gdzie Q := p-I ). W cytowanym fragmencie zastosowa.µo hstępującą fundamentalną własność tego pojęcia, która będzie często wyrzystywana i dalej: TWJERDZENIE
=0.
5.0.2. Macierze podobne
mają
te same zbiory
'l!'artości włas-
.' Jest to r6wnanie charakterystyczne macierzy A. Jego lewa strona jest wielomianem stopnia n względem .A, zwanym wielomianem charakterystyczny'tj; tej macierzy. Stąd wniosek, że dowolna macierz stopnia n ma dokładnie n wartości własnych, gdy każdą z nich liczymy tyle razy, ile wynosi krat) ność pierwiastka równania charakterystycznego. .J
·11.
PRZYKŁAD
5.0.1.
Znaleźć wartości własne
,J
macierzy
·;JT !,,~i:~
·A .-
··';:"li!'
Dowód. Niech będzie B ~ PAP-I. Wystarczy wykazać, że A i B mają spólny wielomian charakterystyczny. Tak jest, gdyż · det(B -.AJ)=. det(PAP-:-I· 7. . AI).= . . .det[P(A- AJ)p-I] = =det P det( A__: AJ) det =:"det( A - AI). ~
i::-I
.astosowano tu dwa twierdzenia z teorii wyznaczników: wyznacznik iloczynu wóch macierzy jest iloczynem ich wyznaczników, a wyznacznik odwrotności : acierzy nieosobliwej jest odwrotnością jej wyznacznika. • W zwią"zku z tw. 5.0.2 warto zauważyć, że jeśli P = PAP-I, a x jest ~ktorem własnym macierzy A odpowiadającymjej wartośc~ własnej .A, to x.j!3st wektorem własriymmaci.erzy;·B: odpowiadającym tejże wartości X."
Jak widać, wartości własne macierzy rzeczywistej nie muszą być rzeczywiste:
• 'L
«{
Wyżej zastosowano bezpośredni sposób obliczania wartości własnych'. Jest on sensowny w obliczeniach ręcznych dla macierzy niskiego stop~ia. W innych przypadkach stanowczo go odradzamy. Jednym z powodów jeS.t to, że pierwiastki wielomianu mogą być bardzo czułe na zmiany jego wspói~. czynników, spowodowane np. błędami zaokrągleń. Ilustrujący to klasyczny przykład Wilkinsona podano w podrozdz. 2.3. · Kończąc te wstępne uwagi, warto jeszcze przypomnieć określone w po
Metoda potęgowa. dla zę.dania. własnego . . .
e~oda p.otęgowa ..
.· ierws~ą metodą numeryczną, jaką-opiszemy; jest ~etoda'potęg·owa. Pozwala · na obliczyć wartość własną o największym module i odpowiadający jej ektor własny, czyli rozwiązać pewne zadanie własne. Metoda działa bez a'.kłóceń, jeśli macierz ma następujące własności: . \~. Tylko jedna jej wartość własna (rzeczywista lub zespolona) ma naj·większy·moduł..: · · · 2. Istnieje układ n wektorów własnych li:q.iowo nieZ!ależnych czyli macierz ma prostą strukturę I). · · Dzi~ki. własności 1 można tak po,numerowąh Wi;trtoś~i własne )..d, że
.
l.AII >.„ IA2I
.„ .
.
.
.
.
> l>.31 > ... > I.Ani· W
nie mająca ~łasności 2 ma złożoną, strukturę. ję~yku angielskir{i są uży .ne odpowiednio terminy nondefective i defective matrix. ·Więcejinformacji"o tych dwócl~ 'ach maciei:zy podaje np. Wilkinson [1965, rozdz. l]; zob".;te~ Kiełbasiński i Schwetlick · 992] (przyp .. tłum.). · ·
·• •1 >Macierz
•f:I'"
248
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
5.1. METODA
Własność 2 gwarantuje, że wektory własne u0) takie, iż
(1 ~ j ~ n)
Au(j) = >.ju(i)
en.
tworzą bazę przestrzeni Niech x< 0 ) będzie dowolną kombinacją liniową tych wektorów własnych, z niezerowym współczynnikiem przy u< 1). Stąd, · po ewentualnym pomnożeniu u< 1) przez niezerową stałą, wynika, że n
x< 0 )
= u(l) + L
etodę potęgową można opisać
aju(i).
n
x(k) := Akx(O) = Aku(l)
+L
ajAku(i).
(5.1.1) wnioskujemy
stąd, że
aj>.juU) =
>.~ [u(l) + t a j (~j)k u0)] ·
J=2
J=2
1
PRZYKŁAD
'
Ponieważ l>.11>1>.il dla 2 ~ j ~n, więc wyrażenia (>.j/>. 1)k dążą do O, gdy, x--+
(X)
i wektor w nawiasach kwadratowych dąży wtedy do u< 1).
A:=
Aby uprościć oznaczenia, piszemy x(k)
=
>.f (u(l) + e(k~),
gdzie g(k) --+ O dla k --+ (X). Niech cp będzie dowolnym funkcjonałem linio~ wym określonym na en i takim, że cp( u< 1)) -/:- O. Przypomnijmy, że jest t~ funkcjonał taki, że cp(ax + f3y) = acp(x) + (3cp(y) dla dowolnych liczb a', /3 i wektorów x, y. W szczególności wartością cp może być j-ta składow~'. wektora. Tak więc ·· cp(x)
=
najkrócej tak:
W praktyce jest tu jednak konieczna pewna modyfikacja. Aby uniknąć · ieżności ciągu wektorów x(k) do O lub nieograniczonego wzrostu ich skła wych, normalizujemy każdy wektor, czyli zmieniamy polecenie x <- y na ~ y/llYll, co nie wpływa na obliczane ilorazy r. Można tu użyć dowolnej · rmy wektorowej, np. normy llxlloo := max1,,;j,,;nlxil·
j=2
>.~u(l) + t
249
y <-Ax r <- cp(y)/cp(x) X <-y output k, x, r end do
xC 2) := Ax(l), ...
Ogólniej, dla k ;;;. O jest
x(k) =
WŁASNEGO
input n, A, x, M output O,x fol- k = 1 to M do
Utwórzmy wektory
Dzięki
DLA ZADANIA
~; które są przybliżeniami wartości własnej )'1 o największym module 2). .onieważ kierunek wektora x(k) zbliża się coraz bardziej do uC 1), więc ta etoda daje zarazem przybliżenia wektora własnego xC 1). W publikacjach ożna znaleźć wiele wariantów i udoskonaleń metody potęgowej.
j=2
xC 1) := Ax(o),
POTĘGOWA
>.~[cp(u<1>)
+ cp(e)J.
Stąd i z relacji cp(e
+ cp(e:(k+I)) + cp(g(k))
rk := cp(x(k+l)) = >.1 cp(u(l)) cp(x(k)) cp(u(l))
--+ >.1.
Określiliśmy w ten sposób metodę potęgową; poleca ona obliczać wielkośc
.tora
'X) u
:=
5.1.1.
Zastosować metodę potęgową
[~2 5~ -1=~]
początkowego X2
dla macierzy
x := (-1, 1, 1), i normy ll·lloo·
funkcjonału cp określonego
wzorem
Rozwiązanie. Niżej podano wektory unormowane x(k) i ilorazy rk dla wartości k:
' 2 >Wyżej założono, że wektor początkowy x< 0> nie jest dowolny, bo w jego wyrażeniu ~2! .wektory własne współczynnik przy u< 1 > nie znika. W praktyce numerycznej trudno awdzić, czy to założenie jest spełnione. Jeśli ten współczynnik jest równy o, to i tak y zaokrągleń popełniane w obliczeniach powodują, że dla dużych k w analogicznym · eniu wektora x może jednak znacznie wydłużyć obliczenia lub spoować, że jedną z wartości >.2, >.a, ... uznamy mylnie za wartość własną o największym ule; por. zad. K2. Dodajmy, że w literaturze metodę potęgową wiąże się z konkretfonkcjonałem
250
To już pokazuje, że limn-. 00 (sn-r)/hn =O, gdyż w ostatnim ułamku licznik ·,', ąży do O,, !o"" a mianownik - do granicy (c-:- 1) 2 różnej od o3 ). • • ,,• '· · • • .• . „,y . .,..'•
••'>ł•"•"A;.~~.~'ł,Jl;ł·llf'·'.'.(i,j' ._j,.,.{; •. •,•#ff.•W:il'. ••"" .·~ l.
wielkości
Sn
przerwać,
gdy tylko one
się
zgrubsza ustabilizują, bo wtedy w dalszych obliczeniach odejmowanie bli-
,skich
wielkości
daje
bezwartościowe „ ...~ .
'
wyniki.
·
t
Odwrotna· metoda potęgowa·
Istotnie, największą co do modułu wartością własną macierzy A jest liczba 6, a odpowiednim wektorem własnym jest (1, 1, 1) (i jego dowolny iloczyn przez niezerową stałą). •
„
A.by
uzasadnić następny
wariant metody
potęgowej,
stosujemy
następującą
elementarną własność wartości własnych:
';
Metoda Aitkena
· · . TWIERDZENIE
.. "Jej i,
Ilorazy rk są przybliżeniami wartości własnej ..\ 1. Może być interesujące„, oszacowanie błędów lrk - ..\il· Z zadań 15 i 16 wynika, że· > ·· rk+l - ..\1 = (c + ók)(rk - ..\1),
. '.A_- 1
gdzie lcl < 1 i {ók} -ł O. Ciąg {rk} jest więc zbieżny do ..\1 liniowo (por. pod..:, . rozdz. 1.2). To pozwala stosować metodę Aitkena przyspieszania zbieżności tego ciągu, polegającą na przekształceniu go na ciąg o elementach
5.1.3.
Jeśli
,\ jest
'l/)artością własną
macierzy nieosobli-
to .Ą- 1 jest wart;ści'ą ivlasnii: macierzy A- 1 .
Dowód. Jeśli Ax = ,\x i x :f O, to x =:= A.:... 1.(..\x) = .AA- 1 x. Wobec tego x= .Ą- 1 x i .Ą- 1 jestwartościąwłasną4) m~ierzy A- 1. •
·{, „:„.Twierdzenie 5.1.3 sugeruje sposób obliczenia najmniejszej wartości _łąsnej maderzy A. Załóżmy mianowii:::ie, ·że „:,. .
~
. '
•
.
:.'
2
rnrn+2 - r n+l rn+2 - 2rn+l + rn
Sn:=
Jest on szybciej
zbieżny,
(n~
co wynika z
O). poniższego
onieważ O nie j~st wartością własną; więc macierz A jest nieosobiiwa. :. ·.Wartości własne macierzy A- 1 równe .Ajl. spełniają nierówność ..
ogólnego twierdzenia.
5.1.2. Niech {rn} będzie ciągiem liczbowym zbieżnym granicy r. Jeśli rn+l-r = (c+ón)(rn-r), gdzie lei < 1 i limn-.oo Ón =:O, to ciąg {sk} określony wzorem (5.1.2) jest zbieżny do r szybciej w ·tym sensie, że (sn - r)/(rn - r) -ł O dla n -ł oo.
:. zięki temu możemy obliczyć .A; 1, stosując metodę potęgową do A- 1 . Po·'~'eważ jednak obliczanie tej odwrotii.ości jest kosztowne, więc nie stosujeiry.·1wzor.u x(k+l) = A-:- 1 x
J 3) Warto zauważyć, że przy założeniach twierdzenia ciąg {rn} jest zbieżny do r liniowo
drozdz. L2) i że nawet dla
„„,· Trzeba
lei > 1 (gdy ten ciąg jest rozbieżny)
ciąg
{Sn} jest
zbieżny
też podkreślić, że wzór z tw. 5.1.2 ma złe własności numeryczne; zamiast
. go zaleca się stosowanie wzoru z zad. 14 (przyp. tłum.). 4 ) Jest„.oczywiste, że tej ostatniej wartości odpowiada wektor własny x (przyp. tłum.).
·
':
tł.i1 11J
',,;'.~~"~~N\;~~ 5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
252 , I
PRZYKŁAD
I
z
przykł.
5.1.4. Zastosować odwrotną metodę 5.1.1, przyjmując, że cp(x) := x1.
własną 1 i związany z nią wektor własny (1, O, 1) 5 ).
Oprócz już omówionych wariantów metody potęgowej znane są jeszcze dwa inne, związane z macierzą przesuniętą A- µI. Operując taką macierzą, można znaleźć wartość własną macierzy A, najbliższą danej liczbyµ. Przy-1 puśćmy, że jedna z tych wartości, np. >..k, spełnia nierówność O< l>..k-µI < c:,' a wszystkie inne są takie, że 1>..i - µI > c: dla j =f=. k. Ponieważ macierz A-µ!:.· ma wartości własne Aj - µ, więc stosując do niej odwrotną metodę potęg0:-, wą, możemy znaleźć przybliżenie wielkości (>..k - µ)- 1 , a więc i przybliżenie · wartości własnej >..k. Ciąg wektorów powstaje tu przez rozwiązywanie ukł~~ dów (A - µI)x(k+l) = x(k), co wymaga wcześniejszego znalezienia rozkład~ LU macierzy A - µI 6). , '· 5 ) To, że metoda potęgowa w tym przykładzie jest szybciej zbieżna niż w poprzednim; nie jest przypadkowe. Trzecią wartością własną macierzy A jest liczba 4; dlatego tu błędy przybliżeń wartości własnej są z grubsza proporcjonalne do (1/4)k, a w przykładzie 5.1.1 do (4/6)k (przyp. tłum.). i B) Ten wariant metody potęgowej (lub jego pewna istotna modyfikacja) jest też nazy-, wany metodą Wielandta; zob. np. Dryja i Jankowscy [*1982] lub Stoer i Bulirsch [1980}'
(przyp.
tłum.).
W podobny sposób, ale stosując zwykłą metodę potęgową do macicy A - µI, znajdujemy wartość własną, np. >..k, macierzy A, najdalszą od anego µ. Jeśli wszystkie wartości własne są rzeczywiste, to taka procedura . aje - zależnie od µ - albo najmniejszą, albo największą wartość własną.
.
Zaczynając od wektora x := (3, 7, -13), wykonujemy 25 kroków. W każdym z nich obliczamy x(k+l), rozwiązując układ U x
x(O)
253
5.1. METODA POTĘGOWA DLA ZADANIA WŁASNEGO
: 1. Niech elementy k-tego wiersza macierzy A będą takie, że akj = O dla k i= j. Wykazać, że akk jest wartością własną macierzy A i że jej pozostałe warto,·. ści własne są zarazem wartościami własnymi macierzy wynikającej z A przez 1 , ·• ·wykreślenie k-tego wiersza i k-tej kolumny. 2. 3.
Udowodnić, że jeśli
co najmniej jedna z macierzy A, B jest nieosobliwa, to macierze I - AB i I - BA mają te same układy wartości własnych. Udowodnić, że jeśli
macierz A jest nieosobliwa i
i QP
układy wartości własnych.
mają
te same
wyrażona
w postaci PQ, to A
4. Jak można znaleźć te wartości>., dla których znika wyznacznik macierzy stopf'; nia n, o elementach ajk = O'.jkA + f3Jk? Ile jest na ogół tych wartości? '5..
[ 1 1] ma z ł ozoną . stru lcturę. 0 1 macierz o różnych parami wartościach
wy lrazac,, ze. macierz .
1I
6.
Udowodnić; że
własnych
ma
prostą
strukturę.
• Pokazać, że macierz o prostej strukturze może mieć wielokrotne wartości włas b ne.' . ·Niech Ai, >.2, ... , An będą wartościami własnymi macierzy A o prostej strukturze i niech P będzie macierzą, której kolumnami są odpowiednie wektory własne u< 1 >, u< 2 >, ... , u oo i do ł dla p--> O. Co stąd wynika dla wartości własnych macierzy rzeczywistych? . li
Znaleźć
[a1
wielomian charakterystyczny macierzy
a2
.~o ~„o „.
an-l ·:·:·:·. „
„.
an]
~„ ~o ...
••
1
". Udowodnić, że dla dowolnej liczby ,\ E .x, jest równy n - rank(A - >.I) j (rank(B) jest rzędem macierzy B).
254
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
12. Udowodnić, że w metodzie Aitkena (sn - r)/(rn+ 2 - r) --> O (n --> oo), jeślf tylko cf. O. ,·· '·· 13. Niech ciąg {rn} spełnia tylko założenie lrn-l-1 - rl ~ clrn - rl, gdzie O< c <:li.I Czy można udowodnić, że wtedy metoda Aitkena przyspiesza zbieżność tego ciągu? '
14. Wykazać, że wzór opisujący metodę Aitkena można wyrazić w postaci
·-
(6..rk) u Tk
2 .· •. ·
Sk--Tk-~,
'. gdzie 6..rk := Tk+1 - rk, 6.. 2 rk := 6..rk+l - 6..rk. Ta postać jest zalecana, gdyż
15.
nie powoduje takich błędów zaokrągleń, jak wzór z tw. 5.1.2. w metodzie potęgowej jest
Udowodnić, że
Tk - >-1 - (A2)k Al Ck,
~-
gdzie ciąg {ck} jest ograniczony. 16. (cd.).
Wykazać, że jeśli l>-21 > l>-al, to Tk+i - >.1
= (c
+ ók)(rk -
lei < 1 i {ók} -> O, co pozwala stosować metodę Aitkena.
>.i), gdzie · ··
17. Zaprojektować modyfikację metody potęgowej odpowiednią dla przypadk~," gdy A1 = ->.2 > l>-al;;;, · · · > l>-nl· '.~· ·;''.<· 18. Niech wartości własne macierzy A będą rzeczywiste i parami różne. J~ki ;0~( nien być parametr (3, żeby metoda potęgowa zastosowana do macierzy A+ '(Jf.'. była najszybciej zbieżna do >. 1 + (3, gdzie >. 1 jest największą z tych wartości?° 19. Jałcie są skutki zastosowania metody potęgowej dla macierzy rzeczywiste( i wektora początkowego rzeczywistego, gdy największy moduł mają wartości własne zespolone sprzężone? 20. Udowodnić, że jeśli w Tk definiującym metodę potęgową cp(·) jest normą wektora (to nie jest funkcjonał liniowy), to ciąg {rk} jest zbieżny do l>- 1 1. 21. Wyznaczyć przybliżoną wartość promienia spektralnego p(A) (określonego w podrozdz. 4.4) macierzy
A=
[2 -2 -1
-10o -1
„
-li
..
5.1
'L
(a) Napisać program pozwalający odtworzyć 'wyniki przykł. 5.1.1. Program powinien mieć strukturę modułową (por. zad. 4.1.Kl). Można więc np. wyodrębnić procedury: (i) mnożenia macierzy przez wektor, (ii) obliczania iloczynu skalarnego, (iii) zastąpienia wektora przez inny wektor, (iv) obliczania normy wektora, (v) normalizacji wektora itd. (b) Włączyć do programu metodę Aitkena i po:równać wyniki obu ;węrsji. 2. Zastoso.:V.ać 100 kroków metody potęg~wej do macierzy z przykł. 5.Ll dla wektora początkowego (1, 2, 3). Wytłumaczyć, dlaczego na początku obliczeń 1 • ciąg {rk} jest - jak się wydaje - zbieżny do pewnej granicy (czym ona jest · dla .macierzy?), a później zaczyna zbliżać się do innej wartpści. 3. Napisa~ program dla odwrotnej metody potęgowej (w dwóch wersjach, jak ·.· w zad .. Kl) oraz sprawdzić go dla mac~erzy z przykł. 5.1.U innych, dowolnie wybranych macierzy. · ' 4. Napisać program wykonujący M kroków metody potęgowej z normalizacją wektorów·x(k) dla danej macierzy A stopnia n i danego wektora początko wego x. Włączyć metodę Aitkena. Program w każdym kroku ma wyświetlać wektor x(k), iloraz Tk i ulepszony iloraz Sk- 2 . Sprawdzić program dla macierzy 'A- µI, gdzie: ·
~(.r
··r~
: ~ 1]
'\\_. .. (a) A= l .. l 4 ' 1 1 2 (b·)·· A= [;
-~
. 1
-1
"..· „.
~, µ=.~·.. ~,6,·~1
:i ,
µ=O, 5, 10 5 5. Napisać i sprawdzić dla macierzy z przykł. 5·.1.1 program obliczający wartość własną najdalszą od danej liczby zespolonej. 6. Zbudować przykład pokazujący, że metoda Aitkena daje bezsensowne wyniki, jeśli nie przerwie się jej we właściwim momencie.
•'•
O , 4
Twierdzenia Schura
ma: być (1, 1, 1).
cp(x)
:=
llxlloo· Wektorem)?°'"
·
22. Ślad macierzy A stopnia n, oznaczany symbolem tr(A), jest z definicji równy I:;f= 1 aii· Udowodnić, że jest on równy sumie wartości własnych Ai tej macierzy. 23. (cd.). Udowodnić, że tr(Am) = I:;f= 1 >-i (m naturalne). 24. (cd.). Udowodnić, że jeśli l>-11 > l>-il dla i> 1, to
>-1 =
DANIA KOMPUTEROWE
".'
wykonując dwie iteracje metodą potęgową dla czątkowym
255
5.2. TWIERDZENIA SCHURA I GERSZGORINA
lim tr(Am+l)/tr(Am). m-+oo
In
~ktoryzacja Schura
Gerszgorińa
.. . -· •
'1
1
„ .•.
wierdzenie 5.0.2 sugeruje pewną strategię obliczania wartości własnych acierzy A, mianowicie·- przekształcenie jej' przez. podobieństwo na ma. rz B := PAP-1, dla której te obliczenia byłyby prostsze. Przypuśćmy szczególności, że B jest trójkątna. Jej wartości ·własne (a zarazem wartoi własne macierzy A) są po prostu elementami przekątniowymi. Poniższe ~erdzenie Schura (które będzie· poprzedzone dwoma lematami) żapewnia, przekszt_ałcenie na taką macierz B jest w teorii zawsze możliwe.
,1
')':
256
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
Przedtem trzeba podać kilka ważnych informacji. Po pierwsze, symbol AH oznacza macierz sprzężoną}> z A, tj. taką, że (AH)ij = (A)ji· Po dru-: · gie, macierz kwadratową u nazywamy unitarną, jeśli uuH = I (albo, cci jest równoważnym warunkiem, UHU = I). Po trzecie, macierze A i B są unitarnie podobne, jeśli B = U AUH dla pewnej macierzy unitarnej U 8 ).
5.2.1. Macierz I - vvH (v - wektor) jest unitarna wtedy i tylko wtedy, gdy llvll~ = 2 lub v =O.
LEMAT
Dowód. Sprawdzamy, kiedy uuH =I, gdzie u :=I - vvH. Jest
UUH = (J - vvH)(J - vvH) = J - 2vvH =I - 2vvH
+ (vHv)(vvH) =I -
5.2. TWIERDZENIA SCHURA I GERSZGORINA
5.2.3 (ScHUR). Każda macierz kwadratowa jest unitarnie podobna do macierzy trójkątne} górnej.
TWIERDZENIE
Dowód. Dowód jest indukcyjny względem stopnia n macierzy. Twierenie jest oczywiste dla n = 1. Przypuśćmy, że jest ono prawdziwe dla szystkich macierzy stopnia n - 1 i rozważmy macierz A stopnia n. Niech 'będzie jej wartością własną, a x = (xi, x2, ... , xn) odpowiednim wektorem łasnym. Nie tracąc ogólności, można założyć, że llxll2 = 1. Niech będzie := sgnx 1 dla x 1 =/::OifJ:=1 w przeciwnym razie. Wprowadzamy też wekor jednostkowy eC 1) := (1, O, ... , O). Na mocy lematu 5.2.2 istnieje macierz nitarna U taka, że Ux = f3e(l). Stąd 13- 1 x = UHe(l) i
+ vvHvvH =
(2 - llvll~) vvH
(w iloczynie czterech czynników skalar vHv można przesunąć na początek). Ostatnie wyrażenie jest równe I wtedy i tylko wtedy, gdy llvll~ = 2 lub ~H=~ •
5.2.2. Jeśli wektor'IJ x i y są takie, że llxll2 = llYll2 i xyH jest rzeczywiste, to istnieje macierz unitarna U = I - vvH, dla której U x = y.
LEMAT
Dowód. Jeśli x = y, to dla v = o jest U = I i Ux = y. Jeśli x =f:: y, to przyjmujemy v = a(x - y), gdzie a := v'2/llx - Yl!2; wtedy llvll~ = 2'. W obu przypadkach na mocy lematu 5.2.1 macierz U jest unitarna. Dla x =/:: y sprawdzamy jeszcze równość Ux = y. Jest wtedy
Ux - y =(I -vvH)x -y = x -vvHx - y = = x -y - a 2(x -y)(xH - yH)x = (x - y)[l - a 2 (xHx -yHx)]. · w nawiasach kwadratowych znika. Istotnie, pierwsze założenie jest równoważne temu, że xHx = yHy. Ponieważ yHx = xHy, więc drugi~ założenie gwarantuje, że yHx = xHy. Uwzględniając to, obliczamy
UAUHe(l) = UAf3- 1 x =
+ xHx -yHx -yHx) =
= 1 - !a2(xHx + YHY _ yHx - xHy)
=1-
!a2 (xH -yH)(x -y)
=1-
=
!a 2llx - Yll~ =O.
7) Spełnia ona tożsamości (AH)H =A, (AB)H =BH AH. Dla macierzy unitarnej jest oczywiście u- 1 = uH' czyli unitarne podobieństwci, macierzy implikuje ich (zwykłe) podobieństwo (przyp. tłum.). „.::, B)
13- 1 >..Ux = >..e< 1).
o dowodzi, że pierwszą kolumną iloczynu UA uH jest >..e(l). Niech A będzie cierzą powstałą z UA UH przez skreślenie pierwszego wiersza i kolumny. założenia indukcyjnego wynika, że istnieje macierz unitarna Q stopnia . -1 taka , że iloczyn QAQH jest trójkątny górny. Wprowadźmy macierz
„..
[1 OJ
. V= 0 Q U.
est ona unitarna jako iloczyn dwóch macierzy o tejże własności. Ponadto rowadza ona A do postaci trójkątnej górnej. Istotnie,
.zie w środkowym czynniku w jest wektorem wierszowym o n - 1 składo 'ch, a O wektorem zerowym tego samego wymiaru. Tak więc
H
Wyrażenie
1 - a 2 (xHx - yHx) = 1- !a 2 (xHx
257
VAV.
=
[1O Qo] [>..O
trzymana macierz jest
wQH] - [>.. wQH ] .AQH - O QAQH ·
trójkątna .
•
.: Warto zauważyć, że powyższy dowód nie daje metody konstrukcji ma·~zy t~ójkątnej unitarnie podobnej do danej macierzy.
i.
5.2.4. Każda macierz hermitowska }est unitarnie podobna do macierzy przekątniowej.
WNIOSEK
Przypominamy, że z definicji macierz A jest hermitowska, jeśli A H = A odrozdz. 4.6).
258
5. INNE
DZIAŁY
Dowód. Niech U będzie macierzą unitarną taką, że iloczyn UA uH jest macierzą trójkątną górną. Wtedy macierz ( UAUH)H jest trójkątna dolna. Jest jednak (UAUH)H = (UH)HAHuH = UAUH, czyli ta ostatnia rriacierztrójkątna
jako zarazem
górna i dolna - jest
PRZYKŁAD
5.2.5. Niżej podano przykład gdzie U jest unitarna, a T trójkątna górna.
przekątniowa.
rozkładu
259
5.2. TWIERDZENIA SCHURA I GERSZGORINA
NUMERYCZNEJ ALGEBRY LINIOWEJ
•
okalizacja ·wartości własnych daJe i~formacje ~ ~·oi~że~i~ .wartości własnych na płasz zespolonej. Najbardziej znap.e jest poniższe twierdzenie, w którym ·dmo macierzy oznacza zbiór jej wszystkich wartości własnych.
· iele
twi~~dzeń
yźnie
Tw1~·RDZEŃIE 5.2.6
(GERSZGORIN). Widmo 'do~olnej macierzy A stopnia n zawiera się w sumie następujących kół na·plaszczyźnie zespolonej: ·
Schura:
n
0.36 0.48 [ 0.80
0.48 0.64 -0.60
[
0.80] [ 361 123 -0.60 148 414 o.oo -92 169
125 380 o 465
o
0.48 0.64 -0.60
-180] [0.36 -240 0.48 65 0.80
L
<;;;;
laiil}
(1
j=l,#i
o.oo
Dowód. Niech
.X
będzie wartością własną
macierzy A i niech x będzie llxlloo = 1. Wobec tego = 1. Ponieważ (Ax)/~)xi, więc · ·
'dpowiad~jącym jej wektorem wła.Sny~ tąkim„że
-125] 1250 . 250
o
lz-aiil
Di= {z EC:
0.80] -0.60
)a pewnego .i jest
lxil
n
. AXi = LUijXj, ' j=l
Jeśli znamy wartość własną .X macierzy A stopnia n, to dowód twief~ dzenia Schura pokazuje, jak można utworzyć macierz A stopnia n-1, której wartościami własnymi są pozostałe wartości macierzy A. Przejście od A Ąo A nazywamy deflacją. · Ten proces opisujemy ściśle tak:
.X;,:' " .
1. Znaleźć wektor własny x, odpowiadający znanej wartości własnej 2. Zdefiniować (:J wzorami (:J := sgn x1 dla
x1
f=.
Oi
/3
I!.
Znaleźć
4. Określić
n L
(.X - -~ii)Xi = ' .•..
UijXj·
j=lJfi
· _d, z nie~ówności trójkąta i nierówności
I.X~ aiil
:= 1 w przeciwnym
n
n
L
<
a :=
V2/llx -
(:Je(l) liz, v := a(x - /]e(l)) i U
:=I~ v~H.
e,
gleń.
j=l,j;ff .
.'."
'• .
''
•
PRŻYKŁAD 5.2.7. Na rysunku 5.1· poka:z;ano koła Gerszgorina dla .m~ ...... '' '
. [-l+i' !]i .
A·.-
e.
'
'
! ·1
'4
o
.·.
·•''?<„,
1
1 3
~zystkie jej wartości własne spełniają zatem nieró~ność '
TWIERDZENIE
! < I.XI < 5.
•
'j
5.2.8. Jeśli macierz A 'ma ~·~~tości własne
-X1, .X2, ... , An
~,; i jest podobna do macierzy przekątniowej p-l AP., a B .Jest dowolną.
_.
. '.macierzą; to każda warto.ść wła;;,,a sumy. ;A+ B leży w jedn/ym z kół
macierz wynikającą z UA uH przez skreślenie pierw'.! szego wiersza i tejże kolumny. Warto wspomnieć, że deflację omawiano też· w podrozdz. 3.5 w zwi~zk z obliczaniem pierwiastków wielomianu p. Po znalezieniu jednego z "nic4; np. można podzielić p(x) przez X CO daje wielomian niższego stopnfa o tych samych pierwiastkach, jednak z wyjątkiem Większość metod numerycznych stosowanych do obliczania wartoś własnych daje na raz tylko jedną taką wartość. Każdą taką metodę moi:ą. połączyć z deflacją i dzięki temu obliczać tyle wartości własnych, ile na potrzeba. W praktyce jednak trzeba zachować tu ostrożność, gdyż koleji;i,, wartości własne mogą być coraz bardziej zaburzane przez błędy zaokr ·
A jako
.
·iaiil lxil < . L 'Inij!. · .
j=l,#i
razie. 3.
..
" ·:· :·
.
~„
260
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ Oś
o'samo jest prawdziwe dla p- 1 , więc Xoo(P) .:;;; n. Dlatego dla dowolnej !:J,Cierzy B wartości własne sumy A + B leżą w kołach
urojona 2i
®
2
. -2
-1
4
5 Oś rzeczywista
-i
Udowodnić, że
iloczyny AB i BA macierzy kwadratowych
RYS. 5.1.
Koła
ad bd [ c
x jest wskaźnikiem uwarunkowania określonym w po rozdz. 4.4 dla dowolnej normy macierzy; wyżej występuje konkretna norm
ll·lloo·
ac be -d
n
bl
o
',jest unitarna. ,,Jaki jest wyznacznik macierzy unitarnej?
Sens tw. 5.2.8 jest następujący: jeśli macierz A jest zaburzona o skład nik B, to jej wartości własne są zaburzone co najwyżej o x(P)llBlloo· Dla macierzy hermitowskiej (tzn. takiej, że AH = A) macierz F' w tw. 5.2.8 może być unitarna, co wynika z wniosku 5.2.4. Wtedy wie. sze macierzy P są wektorami o normie 11·112 równej 1. Stąd llPlloo o(
i]
[~
jest unitarna,
jeśli U i V są unitarne?
i.Udowodnić, że zbiór wszystkich macierzy unitarnych ustalonego stopnia jest .grupą ze względu na mnożenie i że wraz z A do tego zbioru należą AT, AH i
\'
'
A.
:Niech D będzie macierzą przekątniową, a A unitarną. Jakie dodatkowe warunki ,nałożone na D gwarantują, że iloczyn DU jest unitarny? . 'Co
n
+ bz =cz+ dz = 1, to
-a
. Czy macierz blokowa
Dowód. Jeśli p-l AP = D, to macierz przekątniowa D ma na głó :· nej przekątnej elementy .A1, .A2, ... , An. Widma macierzy podobnych A+ B' i p- 1 (A + B)P = D + C, gdzie C := p-l BP, są identyczne. Z twierdzenia! Gerszgorina dla C wynika, że widmo macierzy A + B składa się z kół
te same war-
• Niech macierze A, B, O mają odpowiednio rozmiar: n x n, m x m i n x m, r gdzie n;:;;. m. Wykazać, że jeśli rząd macierzy C jest równym i AC= CB, to ' 'każda wartość własna macierzy B jest wartością własną macierzy A .
Gerszgorina
Wielkość
mają
tości własne.
. , Udowodnić, że jeśli liczby a, b, c, d E JR są takie, że az "('macierz
-2i
o(
261
5.2. TWIERDZENIA SCHURA I GERSZGORINA
można powiedzieć
o macierzy A,
jeśli
U i AU
są
unitarne?
·,Udowodnić, że jeśli Q jest macierzą unitarną, to dla wszystkich x i y
.
~r
llxllz
= llQxllz,
(x, y)
= (Qx, Qy),
czyli przekształcenie za pomocą Q zachowuje długości, odległości i kąty w prze'· strzeni euklidesowej. ObUczyć llQllz (dla macierzy Q o elementach zespolonych . jest llQll~ = p(QQH)). Czy można twierdzić, i hermitowska U taka,
że że
dla dowolnej macierzy A istnieje macierz unitarna iloczyn U AU jest trójkątny?
Udowodnić, że dla macierzy
Q unitarnej jest llAllz = llQAllz = llAQIJz. Udowodnić, że llAll~ = llAH Allz·
Niech Aj będzie j-tą kolumną macierzy A. Udowodnić, że dla dowolnej normy wektorowej i indukowanej przez nią normy macierzowej jest llAjll .;;; llAll· Wykazać, że dla macierzy Wykazać, że jeśli
A przekątniowej jest llAll2
= max1.;;i.;;nlaiil·
xHx = 1 i U= I - 2xxH, to uz = I.
262
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
263
5.3. ORTOGONALIZACJA I ZADANIE NAJMNIEJSZYCH KWADRATÓW
16. Znaleźć (I - xxH)- 1 wiedząc, że xHx = 2.
;1 Naszkicować koła
17. Udowodnić, że macierz I -xxH jest osobliwa wtedy i tylko wtedy, gdy xHx i znaleźć jej ocj.wrotność w pozostałych przypadkach. 18. Udowodnić, że jeśli dla pewnych wektorów v, x, y jest (I - vvH)x iloczyn skalarny (x, y) jest rzeczywisty.
=
' ['0 2-li
==
A= -2
-10 -1
-1
y, t
19. Znaleźć warunki konieczne i dostateczne na to, żeby macierz I - uvH był unitarna.
Gerszgorina dla macierzy O 4
· i oszac9wać promień spektralny p(A). Jak można oszacować promień spekti:alny'p(A) macierzy
'o.
'l
20. Udowodnić, że jeśli wektory x, y mają tę samą normę euklidesową, to istniej . ' macierz unitarna U taka, że U x = y.
A=:= 11 o 4 O
21. Udowodnić, że jeśli wektor x jest taki, że llxll 2 = 1, to istnieje macierz unitarn której wybrana kolumna jest równa x.
22. Udowodnić, że det(!+ xxH) = 1 + xHx. Wskazówka: Istnieje macierz unitaf na odwzorowująca x na pewną wielokrotność wektora jednostkowego e(l) 23. Znaleźć rozkłady Schura dla macierzy
W ostatnim przypadku
można użyć
0.984 3.312 2.120
-1.440] -1.920 . -0.200
macierzy unitarnej z
przykł.
5.2.5.
25. Niech Di, D2, ... , Dn będą kołami Gerszgorina dla macierzy A. Załóżmy, jej wartość własna>. leży w Dk, ale nie w Di dla i ::/= k. Wykazać, że wek własny (x1, x2, ... , xn), odpowiadający wartości>., jest tald, że lxkl > lxil i::/= k.
27.
~ i ~ n, to A - >.I j, wynika tw. Gerszgorina 5;2:6?-
> I::;=l.#il%1 dla 1
macierzą przekątniowo dominującą. Udowodnić, że wartości własne
Jak
stąd
2
1
[
~).: 6żmy, i~
wektory ~1, Vz, ... , Vn .są bazą ortonormalną. przestrzeni en· .edy każdy wektor X E en wyraża się tylko W jeden sposób jako kombi. ja liniowa wektorów tej bazy: n
X~ LCiV/ •'(e;, (C).: i=l ł'.•
:
,
.
"
·
•
·
1
~
l>-1
~
.ąd wynika,
(:L CiVi, Vj) = i=l
że
dla
,
1
•
,
r
/
.. „.
n
•
·
L c;(vi, Vj) =: ~j· i=l ,\ ' . . "..
każdego X E
en
n
~]
x = L(x, vi)Vi· i=l J9)
w przedziale [-1, l].
n
(x, Vj} = . ,
9.
i -ł -~
leży
.
.
•,
hmrióżmy skalarnie obie strony tej równości przez Vj:
28. Wykazać, że część urojona każdej z wartości własnych macierzy l
.pdstawowe pojęcia
4
spełniają nierówność
3
~ zyn skalarny(·,·) wektorów z en pozwala określić pojęcie ortogonalności. ortogonalny, jeśli (vi,Vj) =O 'ia .i =j:. j„ JeŚli dodatkowo (vi, Vi), czyli llvill2, jest równe 1 dla 1 .::;; i .::;; k, · tex;i. układ jest ortónormalny. W tym drugim przypadku, jeśli v.;ektory Vi kolum~ami macierzy A, to AHA = I 9). ·
macierzy
61 -52 o1] [
zadanie najmniejszych
kład wektorów vi,v2,„ .. ,vk jest z definicji
24. Czy w definicji kół Di w tw. Gerszgorina 5.2.6 można zmienić laijl na la~;I?;,
26. Wiadomo, że jeśli laii - >-i
3
Ortogonalizacja kwadratów
(1, O, O, ... , O).
2.888 1.184 [ -0.160
o
Stąd wynika, że koYtimny, a także :wiersze, macierzy unitarnej (zob. podrozdz. 5.2)
rżą' układ
ortonormalny (przyp. tłum.):.
. . ;,
'.': ..
•,, . . .
.
.
.
1:
264 i-ty
5. INNE
składnik
DZIAŁY
5.3. ORTOGONALIZACJA I ZADANIE NAJMNIEJSZYCH KWADRATÓW
NUMERYCZNEJ ALGEBRY LINIOWEJ
tej sumy nazywamy
składową
wektora x w kierunku Vi. Typo..;:.
TWIERDZENIE
wą sytuację w llł2 pokazuje rys. 5.2.
„__ //
RYS. 5.2.
Składowe
--
en
en.
llx+yll~
= llxll~ + llvll~· =
,, ,'['
(x+y,x+y)
= (x,x)+(y,x)+(x,y)+(y,y) =
(k )' 1) bazą
(5.3.2)
ortonor-
Dowód. Dowód jest indukcyjny względem k. Dla k = 1 z (5.3.2) wynika, e u 1 = llx 1112 1x 1 (norma każdego Xk jest dodatnia z założenia o niezależno ci liniowej), czyli u1 ma normę równą 1. Podprzestrzenie liniowe span{u1} span{x1} są identyczne. Załóżmy, że układ {ui, u 2, ... , Uk-l} jest bazą ortonormalną dla podprzestrzeni span{x1, x2, ... , Xk-1}. Niech będzie
ortogonalne wektora
Istotnie, wtedy
wektorów
jest taki, że dla każdego k )' 1 układ {u 1 , u2, ... , Uk} jest malną podprzestrzeni span{xi, x2, ... , xk}·
-------,,, X
Uogólnieniem przestrzeni jest abstrakcyjna przestrzeń unitarna (czyli przestrzeń z iloczynem skalarnym). Jest to przestrzeń liniowa nad cia- · łem liczb zespolonych, w której określono iloczyn skalarny o niżej podanych~ własnościach. Elementy x, y, ... przestrzeni nazywamy i tu wektorami. 1. (x, x) > O, jeśli x =I- O. 2. (ax + /3y, z) = a(x, z) + f3(y, z), gdzie a, /3 E e. 3. (x,y) = (y,x). Stąd wynika, że (x, y +z) = (x, y) + (x, z) i (x, ay) = a(x, y). Normę, ortogonalność i ortonormalność w tej przestrzeni określam~' tak samo, jak w szczególnym przypadku Przestrzeń µnitarna może być„ nieskończeniewymiarowa. W każdej takiej przestrzeni zachodzi równość aną:;'. logiczna do elementarnego twierdzenia Pitagorasa: jeśli llxll2 := ( (x, x) )112 1 i (x,y) =O, to · llx + Yll~
Ciąg
1 uk := llxk - I.:(xk,ui)uir [xk - I.:(xk,ui)ui] 2 . i
, - (x,v 2 )v2
,
5.3.1.
265
llxll~+llvll~·
v
=
(5.3.3)
Xk - L(xk,ui)ui. i
aki wektor v jest ortogonalny względem Uj dla j
Dla danego ciągu wektorów liniowo niezależnych x 1, x 2 , ••. z przestrzel• ni unitarnej klasyczna procedura ortogonalizacji Grama-Schmidta pozwala zbudować ciąg ortonormalny u 1, u 2 , ••• , złożony z kombinacji liniowych: tamtych wektorów. W twierdzeniu 5.3.1 dotyczącym tej procedury symbol SRan{ x, y, ... , z} oznacza podprzestrzeń liniową złożoną ze wszystkich kom~· binacji liniowych wektorów x, y, ... , z, czyli rozpiętą na nich.
, Ortogonalizację Grama-Schmidta stosowaną do kolumn Al, A2, ... , An ~ierzy A rozmiaru m x n możemy interpretować jako jej rozkład QR na ynniki B i T. W macierzy T występują ro.in. iloczyny skalarne z (5.3.3). .atomiast kolumnami macierzy B rozmiaru m x n są wektory Uk· Całą ocedurę można zwięźle opisać tak: 1•
for j = 1 to n do for i = 1 to j - 1 do
tii •- (Ai, Bi)
266
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
267
5.3. ORTOGONALIZACJA I ZADANIE NAJMNIEJSZYCH KWADRATÓW
end do
t teraz nieco inny: czynnik T ma na
głównej przekątnej same jedynki, olumny macierzy B tworzą tylko układ ortogonalny, a nie ortonormalny. ':: Zmodyfikowany algorytm Grama-:Schmidta)est'następujący: · · ·
Gj +- Aj - Li
tjj +- li_~} 112 Bj +- tjj Gj
for k = 1 to n do dk +- llAkll~
end do
: for j = k + 1 to n do tkj+-dk" 1 (Aj,Ak)
..
Aj +-Aj - tkjAk
end do end do
przekątniowych 10).
Dowód. Z (5.3.2) wynika,
1
tkk +-
5.3.2. Ortogonalizacja Grama-Schmidta zastosowana do· kolumn macierzy A rozmiaru m x n i rzędu n daje rozkład A =··Br; w którym B jest macierzą tegoż rozmiaru o kolumnach ortonormalnych,. a T jest macierzą trójkątną górną stopnia n o dodatnich ele.mentach
TWIERDZENIE
· Algorytm zapamiętuje kolumny m~cierzy B na miejscu danych kolumn . · m~cie~zy 1A.- · · ··
że
Xj = LtijUi 1 i~j
TWIERDZENIE 5.3.3: Zmodyfikowany. algorytm Grama-Schmidta zastoso.. wany do kolumn macierzy A rozmiaru m x n i rzędu n daje rozkład A = BT, w którym B jest macierzą tegoż rozmiaru o kolumnach ortogonalnych, a T jest macierzą trójkątną górną jedynkową stopnia n.
gdzie = llxj -
tjj
L
tijUill2
>
O
i
(taki sam sens mają wielkości Xj jest j-tą kolumną macierzy tij = O dla i > j, to
tij A,
tworzone w ostatnim algorytmie). Jeśli a Ui jest i-tą kolumną macierzy B oraz
:._ 'Do\l'!ód. Aby ułatwić dowód, oznaczymy odrębnym, ~ymbolem AJk) wektor yiystępujący ·w powy~szY.!;11 algorytmie: ·
1 :
for k
n
Ai = co jest
LtijBi i=l
równoważne
·.~
•·.
.
= 1 to n do die +- llA~) fi~ ·tkk +-
(1,,;;, j,,;;, n),
każ-
for j
1
= k + 1 to ri
do
. t kJ. <-::- d-1(A(k).'ACkl) k. . , k
....'
.•
„
A(k) - t ·A(k) . (k+l) Aj +- j kJ k
relacji A= BT.
end do end do
Zmodyfikowany algorytm Grama-Schmidta Doświadczalnie stwierdzono (Rice [1966]), że pewna modyfikacja podaneg wyżej algorytmu ma lepsze własności numeryczne 11 ). W tej wersji skł?dowe
kolumny Aj dla j > k w kierunku wektora bazowego Ak są zerowane, gdy tylko jest to możliwe. Dodatkowa zmiana usuwa pierwiastkowania konieczne', gdy obliczamy normy wektorów. To jednak powoduje, że rozkład macierzy'A lO) Warto przypomnieć, że założenie o rzędzie takiej macierzy A jest równoważne temt![ 1 jej kolumny są niezależne liniowo (przyp. tłum.). . . ,; ll) Kiełbasiński i Schwetlick [*1992, s. 295), uzasadniają bardziej radykalną opin( pierwotny algorytm jest „katastrofalnie numerycznie niestabilny" „nie nadaje się" ą realizacji numerycznej" (przyp. tłum.).
że
'.
/:i
.więc kolumnami Aj rriacie~zy A i k~l~ami.· Bk n:'iacierzy ·B są teraz 'owie~ni? wektory A}1) (1.~ j,,;;, n).i Akk·) (1,,;;, k,,;;, n). . · „., Stosując instrukcję z szóstego wiersza algorytmu wnioskujemy, że dla "dego l 1, 2, ... , k - 1 jest
=
k-l (k) - A(l) Ak .k
.~·'· ." .. ;:' .·
'
~ t· A(i) L__.iki·
...
. _z,.~~~_wynika stąd, że
·'' „
't:·A·. (k) .:... A(l) - ~ t· A(i)
.'
k . -
(5.3.4)
. i=l
k
L..
i
ik
i
,
'i
268
5.3. ORTOGONALIZACJA I ZADANIE NAJMNIEJSZYCH KWADRATÓW
en.
czyli Ak = I:i~k tikBi. Jeśli tik = O dla i > k (macierz T jest trójkątn górna), to - jak w poprzednim dowodzie - jest A= BT. Trzeba jeszcze wykazać, że kolumny macierzy B tworzą układ orto. . (A(k) A(l)). , 1 gona ny, t J. ze k , l = O dla 1 < k < Z < n. W tym celu w (5.3.4) uwzględniamy wartości podstawiane pod tik: '
Dowód. Niech y będzie wektorem z Ponieważ AH(Ax-b) =o, więc ektor b-Ax jest ortogonalny względem przestrzeni rozpiętej na kolumnach acierzy A. Wektor A(x - y) do niej należy, więc (b - Ax, A(x - y)) = O na mocy (5.3.1) jest llb - Ayll~ = llb - Ax + A(x - y)ll~ =
= llb- Axli~+ llA(x Jeśli Stąd
269
•
1
macierz A
rozłożono
•
Y)ll~ ~ llb - Axli~-
na czynniki B i T
określone
w tw. 5.3.3,
rozwiązanie x układu Ax = b w sensie najmniejszych kwadratów jest
okładnym rozwiązaniem układu
~ (Aii),Ałi))
(A(k) A(l)) = (A(l) A(l)) _ k
,
1
~ (A~i) A~i))
k ,
1
k-1
(A (i) A (i))
i-l
=
" . L,, i=l+l
•
,
•
(A(i) A(!))_ i , 1 ynika to z lematu 5.3.4:
i (A~i) A(l)) (A(i) A(i)) • ' 1 · k ,
i
,
AH Ax =
i
Udowodnimy indukcyjnie, przyjmując kolejno Z = k - 1, k - 2, ... , 1, iż iloczyny skalarne po lewej stronie równości znikają. Jest to oczywiste dla Z = k - 1, bo wtedy suma po prawej stronie jest pusta. Jeśli Z < k - 1, to w sumie występują iloczyny skalarne (Ałi), Af1)) dla 1 < i - Z < k - Z- 1; ich zerowanie się wykazano w poprzednich krokach rozumowania.
•r
(BT)H BTx
=TH BH B(BH B)- 1 BHb =TH BHb
=AHb •
' st też (BH B)- 1 = diag(d1 1 , d2\ ... , d;; 1 ), gdzie liczby d; są określone zmo!iyfikowanym algorytmie Grama-Schmidta. Innym podejściem do zadania najmniejszych kwadratów wiążącego się układem Ax = b jest bezpośrednie zastosowanie lematu 5.3.4. Wiemy, że orma llAx - bll2 jest najmniejsza, gdy
AH(Ax - b) =O.
Zadanie najmniejszych kwadratów Ważnym zastosowaniem rozkładu ortogonalnego (nazwa wiąże się z własno ścią macierzy B) jest zadanie najmniejszych kwadratów dla układu równań liniowych, które teraz zdefiniujemy. Rozważamy układ m równań z n nie-
~śli macierz A rozmiaru m x n jest rzędu n, to AHA jest macierzą nieoso1u 'wą
no
stopnia n (zad. 14) i zadanie najmniejszych kwadratów ma dokładnie rozwiązanie, będące rozwiązaniem tzw. układu równań normalnych
wiadomymi
Ax=b, X n, X E en, b E cm~ A jest równy n. Układ Ax = b na ogół nie ma rozwiązania. W takich przypadka~h szukamy często takiego x, które daje minimalną normę - będziemy tu używać normy euklidesowej 11·11 2 wektora residualnego b - Ax. Jest to „rozwiązanie" układu Ax = b w sensie najmniejszych kwadratów. Można udowodnić, że jeśli rankA = n, to ten wektor x jest określony jednoznacznie.
gdzie m
> n; macierz A ma zatem rozmiar m
Zakładamy, że rząd macierzy
5.3.4. Rozwiązaniem zadania najmniejszych kwadratów jest wektor x taki, że AH(Ax - b) =O. · ·
LEMAT
iadomo też, że macierz AHA jest hermitowska i dodatnio określona (zob. .samo zadanie). Dlatego do rozwiązania tego układu można stosować me'!:fę Cholesky'ego. Jeśli rank A < n, to układ jest niesprzeczny, ale ma wiele wiązań.
': : Bezpośrednie zastosowanie równań normalnych w zadaniu najmniejch kwadratów wydaje się sensowne wobec pojęciowej prostoty tej metody. e jest ona jednak godna polecenia. Wynika to m.in. stąd, że macierz AHA . oże być znacznie gorzej uwarunkowana niż A. Widać to na przykładzie:
A·-
11o olj [oo o o , €
€
€
1 1 +c 2 1
l
11 . 1 +c 2
(5.3.5)
270
5. INNE
DZIAŁY
NUMERYCZNEJ ALGEBRY LINIOWEJ
5.3. ORTOGONALIZACJA I ZADANIE NAJMNIEJSZYCH KWADRATÓW
W macierzy A tylko niezerowe E: powoduje, że jej rząd nie jest równy .1. W AHA tę samą rolę odgrywa e 2 • Dlatego nieosobliwość tego iloczynu jest szczególnie wątpliwa dla małych E:. W komputerze możemy mieć macierz A rzędu 3 i wynikającą z niej macierz AHA rzędu 1.
'
~ wi_elkość ma być rzeczywista, czyli e -
liczanie pierwszej składowej wektora v jest bezpieczne, bo nie ·. woduje odejmowania wielkości tegó samego znaku: .~ t.p
Metoda Householdera Przejdziemy teraz do najbardziej użytecznej metody rozkładu ortogonalnego, zaproponowanej przez Alstona Householdera i noszącej teraz jego imię„ · Celem metody jest rozkład ··
=
v1
.7r.
= a(a11 -
(3)
. rlatego definiujemy
A= QR
f3
macierzy A rozmiaru m x n (o jej rzędzie nic nie zakładamy), gdzie Q ~a być macierzą unitarną stopnia m, a R macierzą trójkątną górną rozmiaru m x n; stąd (R)ij =O dla i> j. Ściślej, algorytm daje QH i R takie, że ·
{3 +- -(a11/la11l)llA1ll2 y. +-,A·1 - f3e
a QH powstaje krok po kroku jako iloczyn macierzy unitarnych
pos~aci <
(wskaźnik precyzuje wyżej stopień macierzy jednostkowej). Przekształcenf za pomocą takiej macierzy nazywamy odbiciem lub prŻekształceniem Hot useholdera. .'.~" Metoda12) zaczyna się od wyboru takiego V E cm, żeby macierz I -vvH była unitarna i żeby pierwsza kolumna iloczynu (I - vvH)A miała, jak w R,' postać (/3, O, ... , O). Niech A 1 będzie pierwszą kolumną macierzy A. Chcemf więc, żeby było (I - vvH)A 1 = f3e< 1l, gdzie e( 1 ) jest pierwszym wektore' · jednostkowym. Według dowodu lematu 5.2.2 można to osiągnąć, wybierają liczbę zespoloną ,6 tak.:·h że l,61 = llA1112 i że (Ai, f3e< 1l) jest rzeczywiste o przyjmując v := a(A1 - ,6e(ll), gdzie a := ../2/llA1 - f3e< 1lll2· Parametr · ma dwie możliwe wartości. Aby uzasadnić wybór jednej z nich, napisŻm liczby zespolone f3 i a 11 odpowiednio w postaci .
vf2/llYll2 ay.
U +-T-vvH
I,•'''
h o ] [ O Im-k -vvH
a ..:.._ V.-!-:
ieco lepszy wariant tego algorytmu można znaleźć w zad. 8). Następne óki rozkładu QR są podobne. Po k krokach macierz A jest pomnożona ·. ewej strony przez k macierzy unitarnych, a wynik tych mnożeń jest maerzą, w której k początkowych kolumn ma już poprawną postać, tj. zera niżej" głównej przekątnej. Można to wyrazić. wzorem .'
"~kUk-1 ... U1A .= [ ~. ~] ,_
~i~_.:j. j~st macierzą trójkątn:ą. górną stópnia: 'o ·~est macierzą zerową imiaru (m-·k) x k,. a macierze H i W .mają odpo~iedni9 rozmiar k x (n- k) m-k) x.(n.:....k). Jak już wiemy, istnieje wektor v.E cm:-~ taki, że i ~vvH t macierzą unitarną stopnia m - k, a il~czyn (I -vvH)W m~ w pierwszej lumnie zera począwszy od drugiego elementu. Zauważmy teraz, że
1
.k;:
[I
·o
au= lanie' .
O ·] . 0 ... 1-:-vyH
Trzeba uprzedzić czytelników, że ciąg dalszy, włącznie z przykładem 5.3.5, nie. W-:f = QR za pomocą .p · kształceń Householdera; zob. Dryja, Jankowscy [*1982, s. 54-55] (przyp. tlum.). 12 )
jaśnia istotnych praktycznych szczegółów konstrukcji rozkładu A
H ]
(I-vvH)W.'
rwszy c.zynnik po lewej stronie jest unitarny ·i óżnacżamy go symbolem . ·,: ... "• „
.. „„
[Jo.·wH] =O[J
··„
„
•· •.• ·• •.„ •• •
.•", .·„.'
272
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
5.3. ORTOGONALIZACJA I ZADANIE NAJMNIEJSZYCH KWADRATÓW
Proces się kończy po otrzymaniu macierzy R założonego wcześniej ty~ pu. Mamy wtedy równość QH A = R, gdzie QH jest iloczynem wszystkich macierzy unitarnych Uk. Ponieważ Q jest unitarna, więc A= QR, co chcieliśmy otrzymać. Ż równości QH = Un-1 ... U2U1 wynika, że Q = U~U:t1 H · Wobec wzoru ... Un-l ,'
Uk=
o
h-1
[ O
In-k+l -vv
H
PRZYKŁAD
5.3.5. QR macierzy
A:=
V
l
63 41 42 60 O -28 126 82
=
VVH
-0.73333 0.66667 [ 0.13333
=
-llA1ll2
Następnie
= a(A1 -
-11(63, 42, O, 126)112
=
/3,
równe -llA1ll2, gdyż
..„ u,u,A ..
=
0/11(210, 42, O, 126)112
= 1/(21ffo).
[-15
-10 33
o -6
o o 35
o
-3675 1078 -980. -196
2940] 2989 1960 . 1127
40.3846
następujące
wyniki:
(1.38675, 0.27735),
V=
I -, vv ynika
-30]o . -6
stąd
·Ua =
17 · ierz
Obliczamy teraz iloczyn
o
] ·
'·a= 0/11(201.9231, 40.3846)112 = 0.0068677, ,
(10, 2, O, 6)/ffo,
1 -10 I - vv = O 35 -30 H
-0.05128 , 0.98974
-11(96.9231, 40.3846)112 = -105,
H
1))
o0.13333]
0.74359 -0.05128
o
Ostatni krok daje
-147.
t • /3e(
o0.66667
~ [- ~ -~~~ -~!. 9231
hi'
/3 =
-f3e< 1)ll2 =
0.13333] -0.05128 . 0.98974
14
a pierwszym czynnikiem unitarnym jest macierz
=
roz-.
-88] 51 56 . -71
Wobec tego
U1
wyznaczyć
-0.73333 0.66667 0.13333
obliczamy a:
a= 0/llA1
0.66667 0.74359 -0.05128
latego drugim czynnikiem unitarnym jest macierz
Householdera,
W pierwszym kroku obliczamy macierz A jest rzeczywista:
/3 =
-42,
= a(l.3166, -0.50637, -0.10127),
o
Stosując przekształcenia
=
a= 0/11(72.8, -28, -5.6)112 = 0.018085,
I -
Rozwiązanie.
v
-11(30.8, -28, -5.6)112
= U1U2 ... Un-1·
Q kład
/3 =
]
macierz Uk jest hermitowska (Uf: = Uk), więc
dają następujące
W drugim kroku podobne obliczenia
lt.„ j
[-0.92308 -0.38462
-0.38462] 0.92308 .
trzeci czynnik unitarny:
~ ~
o o o o
trójkątna
'R=
)f.t.
[
=
l-147
o o o
o o
.
-0.92308 -0.38462
oo
-0.38462 . 0.92308
górna R jest -105 -42
o o
]
więc następująca:
-21 84] l-7o 21 -105 o
o
o
=~o -~1
-5 .
o
o
wyniki:
273
274
5. INNE
DZIAŁY
NUMERYCZNEJ ALGEBRY LINIOWEJ
'i9. Macierz A taką, że A 2 =I, nazywamy inwolucją,. Znaleźć warunki konieczne ·i dostateczne, które powinny spełniać wektory·u·i·v; żeby macierz'1-uvH·była-·•·~•-"'""
Natomiast macierz QH jest równa
Q
H
r-0.42857 0.09524
·
= U3U2U1 =
0.4
7619 -0.76190
1 = 21
-0.28571 -0.71429 -0.57143 -0.28571
o
-6 -15 -12 -6
r-910 2
-16
14 -14 -7
o 0.66667 -0.66667 -0.33333
-1!] -1
-0.85714] . 0.19048 -0.04762 0.47619
inwolucją.
10. (cd.). Niech będzie vHv
=
'
[
63 42 [
12~
ZADANIA
41 60 -28 82
-88 51 56 -71
A
=
-
1
2
10
-6
o
-15 14
-12 -14
-18
4
-1
0 I - vvH] ·
11. Czy iloczyn dwó~h inwolucji jest inwolucją?· 12. Zastoso~ać algorytm Grama-Schmidta do ciągu wektorów: (3, 4, O), (1, 1, 1), •.· · (1 2 O).
10
,
'
•
;13. Poniższy przykład (Noble i Daniel [1988]) pokazuje wpływ błędów zaokrągleń na wyniki niezmodyfikowanego algorytmu Grainąr~chmidta. Niech i:: będzie na ··tyle małą liczbą dodatnią, że chociaż 1 +i::. i 3,+ 2€,są liczbami maszynowymi, to 3 + 2c + c 2 jest pamiętane jako 3 + 2c. W~pomniany algorytm' stosujemy do wektorów Xl :~ fi(l
+ E:,
1, 1),
X2 := (1, 1 + E:, 1),
X3 :~.fi(l,
1, 1 + c).
; ·. ' Sprawdzić, że obliczenia w arytmetyce zmiennopozycyjnej dają wektory
5.3
1. Czemu jest równy wyznacznik macierzy kwadratowej, której kolumny' układ ortogonalny?
tworzą
2. Udowodnić, że wektory układu ortonormalnego są liniowo niezależne. Podać warunki konieczne i dostateczne na to, żeby tę własność miały wektory ukł~dµ ortogonalnego. . • 3. Udowodnić, że macierz kwadratowa o elementach (xi, Yj) jest unitarna, jeśli układy {x1, x2, ... , Xn} i {y1, Y2, ... , Yn} są bazami ortonormalnymi przestrzeni en. 4. Udowodnić, że macierz kwadratowa jest unitarna wtedy i tylko wtedy, gdy jeJ wiersze tworzą układ ortonormalny. 5. Niech układ {u1, u2, ... , un} będzie bazą ortonormalną przestrzeni nej X. Wykazać, że dla x, y EX jest: (a) llxll~ = I:7= 1l(x,ui)l 2, (b) (x,y) = I:7= 1(x,ui)(y,ui)· 6. Dla bazy ortonormalnej {u1, u 2, ... , un} podprzestrzeni U przestrzeni unit · · nej X określamy operator P: X --> U wzorem Px := I:7=t (x, ui)ui; jest to rz ortogonalny z X na U. Wykazać, że: (a) operator P jest liniowy, (b) P je idempotentny, tj. P 2 = P, (c) Px = x, jeśli x E U, (d) llPxll2 < llxll2 dl. każdego x E X. . · 7. Podać przykład wektorów x i y takich, że llx + yJI~ = Jlxll~ + llYll~, chóci . (x,y) ~O. . 8. Udowodnić, że jeśli x ~ y i (x, y) jest rzeczywiste, to macierz unitarna U taka że Ux = y, jest równa U:= I - vuH, gdzie v := x - y i u:= 2v/llvll~· Dlacz
go ta informacja daje lepszy sposób konstrukcji Założyć, że llxll2 = llYll2·
Wykazać, że inwolucją jest macierz blokowa
0
QR:
r-9
~
= 2.
'
.
1'''
Możemy sprawdzić, że
275
5.3. ORTOGONALIZACJA I ZADANIE NAJMNIEJSZYCH KWADRATÓW
~4. Udowodnić, że jeśli A jest macierzą m x n i rzędu n, to iloczyn AHA jest:
·· . (a) nieosol;>liwy, (b) J:iermitowski i dodatnio określony. 15. Jaka wartość' parametru t daje minimum normy Ilu - txll2 (u, X·- dane wek.tory)? Odpowiedź ma być poprawna.w przypadku.zespolonym. . · 6. Niech A będzie macierzą rozmiaru m X n, a b wektorem o m składowych i niech r:, a > O. Udowodnić, że funkcja F(x) ::= llAx - bll~ + allxll~ osiąga minimum dla x spełniającego równanie (AT A+ al)x, = ATb i że· wtedy F(x + h) =
· ~·. Ax = b, można zastąpić równania normalne przez OAx = Ob, gdzie O jest . ~. dowolną macierzą rozmiaru n x m taką, że dla pewnej macierzy nieosobliwej F .· 'jest O= FAT. X n i rzędu n i niech b E Rm. Pokazać, A;;;. O zbiór K>. = {x E Rn: llAx - bll <>.}jest domknięty ;,: .i.ograniczony. Normy w Rm i Rn mogą tu·być dowolne. '} (cd.). Udowodnić, że jeśli A= 2llbll2, to
S. Niech A
będzie macierzą rozmiaru m
V.i. że dla każdego
'"
l"
i.
," .' . . • ·~
· ; ·(cd.) .. Wyl~zać, że rozwią:lianie w sensie. najmniejszych kwadratów układu ·: .,Ax ·= b spełnia nierówność llxll2 · _,;;. ~llbll2Jl.ęlh, :gdzie B jest d9wolną lewą . odwrotnością macierzy A. · ·~
/
I
łi!IJ'
276
21. Niech A będzie macierzą rozmiaru m x n i niech b E llł.m. Udowodnić, że w Jlł.n istnieje wektor x, dla którego llAx - bll (gdzie 11·11 jest dowolną normą w Jlł.m) osiąga minimum. 22. (cd.). Udowodnić, że równanie AT Ax = ATb ma rozwiązanie. 23. Znaleźć rozwiązanie w sensie najmniejszy~h kwadratów układu
[~ ~l
[;]
o
[ -5o
4
5
pseudoodwrotność
W wielu zastosowaniach występuje rozkład macierzy według wartości szczególnych. Zaczynamy od twierdzenia, które orzeka, i 1 określa jego postać.
że
taki
rozkład
istnieje
5.4.1. Dowolną macierz A rozmiaru m x n, o elementach zespolonych, można wyrazić w postaci A = P DQ, gdzie P jest macierzą unitarną stopnia m, D jest macierzą przekątniową rozmiaru m x n, a Q - macierzą unitarną stopnia n.
TWIERDZENIE
Dowód. Iloczyn AHA jest macierzą hermitowską stopnia n. Jest ona dodatnio półokreślona (zob. podrozdz. 4.6), gdyż dla każdego
6 .
ZADANIA KOMPUTEROWE
i
szczególnych
ównież
29. Niech A będzie macierzą rozmiaru m x n, gdziem> n, mającą rozkład A :::l:, QR. Udowodnić, że A = Q' R', gdzie Q' powstaje z Q przez skreślenie m - ni 1 ostatnich kolumn, a R' powstaje z R przez skreślenie tylui ostatnich wierszy.f 30. Niech rozkład macierzy A rozmiaru m x n za pomocą przekształceń Househol-. dera daje iloczyn QR. Niech Aj będzie j-tą kolumną tej macierzy; podobny! sens mają symbole Qj i Rj. Sprawdzić, że Aj = L.:i=i TkjQk i Tkj = (AJ, Qk)· Udowodnić, że stąd można otrzymać Q1 i r 11 . Pokazać, jak wyznacza się Qj i Rj, gdy są już znane Qk i Rk dla k < j. ·
Napisać
Napisać program rozwiązujący układ równań Ax = b w sensie najmniejszych kwadratów. Powinien on wywoływać procedurę realizującą zmodyfikowany algorytm Grama-Schmidta. ;1(3. Napisać i sprawdzić program rozkładu QR za pomocą przekształceń House„; holdera.
Rozkład względem wartości
-4]o ' [3 2 3] -2
277
1{2.
m
24. (cd.). Czy można, nie rozwiązując tego układu, potwierdzić przypuszczenie, że ' rozwiązaniem jest (x, y) = (;i,-~)? 25. Niech A będzie macierzą rozmiaru (n+ 1) x n i rzędu n, a z - wektorem ortogonalnym względem jej kolumn. Wykazać, że układ Ax +>.z = b ma rozwiązanie x, >. oraz że to x jest rozwiązaniem w sensie najmniejszych kwadratów · układu Ax = b. 26. Jakie operacje elementarne na wierszach w układzie Ax = b nie naruszają•'.l wszystkich jego rozwiązań w sensie najmniejszych kwadratów? · 27. Dla macierzy A z (5.3.5) znaleźć x 00 (AH A). Co się dzieje, gdy E-+ O? 28. Za pomocą algorytmu Householdera znaleźć rozkład QR macierzy
Kl.
5.4. ROZKŁAD WZGL. WARTOŚCI SZCZEGÓLNYCH I PSEUDOODWROTNOŚĆ
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
5.3
procedury realizujące algorytm Grama-Schmidta - zwykły i zmodyc fikowany. Obie dla danej macierzy A rozmiaru m x n i rzędu n mają dać macierze B (o kolumnach ortonormalnych) i T. Sprawdzić na przykładzie p,o1 niższych macierzy A = (aij) rozmiaru 20x10, który wariant daje iloczyn BT B bliższy macierzy jednostkowej. Dalsze informacje o takich testach podaje Rice [1966]. (a) Elementami macierzy są wartości zmiennej losowej o rozkładzie jednostaj~: nym w przedziale [O, l]. (b) aij := [(2i - 21)/rn]i- 1 (1
; ECn
1\
tąd
tej macierzy są nieujemne. Dowodzi się z nich, gdzie r := rankA, jest dodatnich (oczywiście .;;;; min{m, n}). Oznaczamy je ai, ... , a~, przy czym a'f > O dla i .;;;; r 'd'f =O dla i> r. Niech wektory własne Ui macierzy AHA, a więc takie, że HAui = a'fui, tworzą układ ortonormalny. Wtedy wynika,
że wartości własne
'wnież, że dokładnie r
ar,
llAuill~ =u~ AH Aui = u~a[ui =a[, d wynika, że Aui =O dla i> r. Tworzymy macierz Q stopnia n o wierszach u~, u~, ... , u~. DefiniujeY: też wektory
Vi := ai-1AUi układ
(I .;;;; i .;;;; r ).
jest ortonormalny,
gdyż
dla I .;;;; i, j .;;;; r jest
278
5. INNE
DZIAŁY
5.4. ROZKŁAD WZGL. WARTOŚCI SZCZEGÓLNYCH I PSEUDOODWROTNOŚĆ
NUMERYCZNEJ ALGEBRY LINIOWEJ
r < m, to wybieramy jeszcze dodatkowe wektory Vi tak, żeby układ {v1,v2, ... ,vm} był bazą ortonormalną przestrzeni cm. Niech P będ~i~"~~:·· cierzą stopnia m, której kolumnami są te wektory. Niech wreszcie D będzie macierzą rozmiaru m X n, mającą liczby ai, a 2 , ... ,
r znika. • Jeśli
'
~ ';
Określone w dowodzie liczby ai, a2, ... ,
5.4.2.
Znaleźć rozkład względem wartości
szczególnych ma-.
cierzy A:=
cierzy
i
(
5.4.3. Znaleźć rozkład względem wartości szczególnych ma-
a3 =O. Wybieramy· wektory własne (nie ~ą określone .e~noznacznie). i tworzymy macierz . ..
• ;
1
.o.
1]
·-~ ~ .
". , ··v1 ,,;, Au1 :=:: (0.6, 0.8, O, O),
O O Ol O 9 O O
49
v2
~ !Au2· = (0.8, -0.6, O, O).
·. fu:nY: pewną . też . . swobodę w w-Ybo~ze . . .vi. ~ :v4. Najprostszy wariant to
o o o o , o o o o
.
V3 ==(O,
więc a1 = 7, a2 = 3 (można te liczby ustawić w odwrotnym porządlw).' i a3 = a4 =O. Wzorując się na dowodzie tw. 5.4.1, tworzymy macierze . " ·
o, 1, 'O),
V4
= (O, o, o, 1). . .
'tąd w;.nika jeden z moiliwych rozkładów wżględerń. wartości szczególnych: 0.8
1 O Ol p := o 1 o [o
o
Tu jest oczywiste, następujący:
1 że
,
D :=
.
'"'
tedy
Rozwiązanie. Ponieważ
[
..••• ,..,,
„·
o o o
AHA=
PRZYKŁAD
~
J~.·>Q ~" [~ ·„
7000l O 3 O O .
[o
>'"'
279
7000l O 3 O O ,
[o
A = PDQ.
o o o
·Q .-
Można 8prawdzić, że
o o 7 o o o
[1
o-.o] ....:o.6. O. 'O. O. ·o2 o] O [~ o -1 o o
inny taki
rozkład
jest ·
o. o o o o 1 o o o 1
1
1]
o . o o
•
seudoodwrotność
.I.a macierzy D rozmiaru m x n takiej, (D)ij := .. ·.··· ,•,.,
{
że·
... w przeciwnym razie .·
.. .
.
. (5.4.1)
.,~•«•,
1',~,~pi'.t~~lL
280
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
5.4. ROZKŁAD WZGL. WARTOŚCI SZCZEGÓLNYCH I PSEUDOODWROTNOŚĆ
(gdzie każde Ui jest dodatnie) definiujemy jej pseudoodwrotność jako macierz D+ rozmiaru n X m taką, że dlai=j:o;;;;r w przeciwnym razie.
A+==
·I
. kłady sprzeczne lub mające wiele rozwiązań ·Główne zastosowanie pseudoodwrotności jest związane z układami równań, •które są sprzeczne (nie mają rozwiązań) lub mają wiele rozwiązań. Rozważ rny więc układ Ax = b, gdzie macierz A ma rozmiar m X n, X E i b E cm. Rozwiązanie minimalne 13 ) tego układu określamy tak: ··L 1. jeśli układ jest niesprzeczny i ma jedyne rozwiązanie - jako to rozwią zanie; 2. jeśli układ jest niesprzeczny i ma wiele rozwiązań - jako to z nich, które ~':; ma najmniejszą normę euklides~wą; . . . . . . · 3. jeśli układ jest sprzeczny i ma Jedyne rozw1ązame w sensie naJmnieJszych kwadratów - jako to rozwiązanie; ...:1 4. jeśli układ jest sprzeczny i ma wiele rozwiązań w sensie najmniejszych kwadratów - jako to z nich, które ma najmniejszą normę euklidesową. Te cztery przypadki można uwzględnić razem przyjmując, że dla
en
Pseudoodwrotność A+ dowolnej macierzy A wynika z jej rozkładu A= PDQ względem wartości
281
szczególnych; jest mianowicie
QHn+pH.
Przekonamy się, że jeśli nawet są możliwe różne takie rozkłady, to pseudojest określona jednoznacznie. ·
odwrotność
PRZYKŁAD 5.4.4. Znaleźć pseudoodwrotność macierzy
A z przykładu
5.4.2.
p := min llAx - bll2
xecn
Rozwiązanie. Ponieważ (w pierwszym wariancie) macierze jednostkowe, więc jest oczywiste, że
ozwiązaniem minimalnym jest wektor x ze zbioru K = {x: llAx-bll2 = p} .! ~jący najmniejszą normę euklidesową. W przypadkach 1 i 2 jest p = O, pozostałych
o
3-1
TWIERDZENIE
o o PRZYKŁAD
p >O.
5.4.5. Znaleźć pseudoodwrcitność macierzy A z przykładu
Rozwiązanie
minimalne
Dowód. Niech A = PDQ określa szczególnych. Niech będzie
układu
rozkład
c
A+=
=
[~
-1
o1][1o o
0.5
o o o o
[-0.4 o o0.3 0.6 0.8
o o o
~]
°] [°6
oo' o 0.8 o o o o
0.8 -0.6
o o
= b jest równe
macierzy A
=
pHb,
y
względem
jej
= Qx.
frzekształcenie y = Qx jest suriektywne, tj. przekształca O"
o
Ax
artości
5.4.3. Rozwiązanie. Wyniki przykł. 5.4.3 dają następującą macierz A+:
5.4.6.
p
oO oOl
1 O O 1 I.
zięki
en na en. Dlatego
= minllAx - bll2 = minllPDQx - bll2 = minllPH(PDQx = minllDQx - PHbll2 = minllDy - ci12x y X
X
X
specjalnej postaci macierzy D jest r
llDy - cll~
= l::)uiYi - ci) 2 + i=l
13) Albo
m
L
cT.
i=r+l
- najkr6tsze lub normalne (przyp.
tłum.).
b)l'2 =
282
Ta
5. INNE
DZIAŁY
wielkość osiąga
mogą być
5.4. ROZKŁAD WZGL. WARTOŚCI SZCZEGÓLNYCH I PSEUDOODWROTNOŚĆ
NUMERYCZNEJ ALGEBRY LINIOWEJ
minimum, gdy Yi = dowolne. Wobec tego
Ci/ O'i
dla 1
~
Dowód. Przypuśćmy, że macierze X i Y mają powyższe własności. Stoując je systematycznie, otrzymujemy następujący ciąg przekształceń:
i
Własność
- ( ~ 2)' 1/2 L.J ci . i=r+l
P-
X =XAX= =XAYAX = = XAYAYAYAX
·,\
Wśród wszystkich wektorów y, dla których jest osiągnięte minimum p, ~aj~ mniejszą normę ma taki, że Yi = O dla i > r. Jest on równy y = D-i:'c;' a rozwiązaniem minimalnym jest wektor
Pseudoodwrotność jest tym dla układów sprzecznych lub niedookreśfo nych, czym zwykła odwrotność dla układów z macierzą nieosobliwą. Dodah my, że rozwiązanie minimalne dowolnego układu Ax = b jest jedyne, gdyż· w zbiorze wypukłym K tylko jeden element ma najmniejszą normę.
4, 3 2 2
= YAYAY=
= YAY= =Y,
•
ma-.,
PRZYKŁAD 5.4.7. Znaleźć rozwiązanie minimalne układu Ax = b dla cierzy z przykładu 5.4.3 i wektora b := (5, 7, 3, -2). . · ··
.
T~IERDZENIE 5.4.9. Pseudoodwr:otno_ść dowolnej ma_cierz'l!.iria czte,nJ wł°:s ności Penrose 'a, a zatem jest okreslOT?a jednoznacznie.
"
Rozwiązanie. Korzystając z pseudoodwrotności A+ podanej w pizyki~ 1 5.4.5, stwierdzamy, że rozwiązaniem minimalnym jest wektor .' .r
o A+b =
o
-0.4 0.3 [ 0.6 0.8
»
"\
• '
=
r
Pseudoodwrotność
•· ~ '
.
5.4.8 (PENROSE). Dla dowolnej macierzy A istnieje .r;o naJ1 wyżej jedna macierz X o następujących własnościach: ł · ··
TWIERDZENIE
1. AXA =A. 2. XAX =X. 3. (AX)H = AX. 4. (XA)H = XA .. naści
Golub i van Loan [1989] oraz Kiełbasiński i Schwetlick [1992*] Moore'a-Penrose'a (przyp. tłum.).
.
L(D)iv L(D+)vµ(D)µj· · · v=l µ=l
r
rij
-~ r, więc upraszcza się do postaci
r
..-:· .L(D)iv L(D+)iµ(D)µj v=l µ=l
=
O'i L(D+)iµ{.Q)µi µ=l ·
używają nazwy wlas~
=
awi 1 (D)ii
=
(D)ij·
od~bńie .rozumując, s~~awd~~~y,'"·ie'·~~cier~ ina wzgięd~m trzy . ozostałe własności Penrose'a. Stąd wynika prosty sposób ich sprawdzenia la A+, Tak np. sprawdzamy pierwszą własność:
"n+
"
•
„
'
.
'
~
>
Akt'. A'= PDQQH n+ pH PDQ ~ p nn+ DQ Pozostałe własności są
.iJ
•
=
PDQ =A.
•
tematem zad. 22. "" • . „·
,)
14 )
.
:
m
niwa strona nie zni~ tylko dla i~
Penrose'a
ma tylko niektóre z własności zwykłej odwrotności. Nie. można m.in. twierdzić, że A+ A = I dla n > m, gdyż rząd każdej z macierż)J' A+, A, A+ A nie przewyższa m, a macierz jednostkowa I ma tu stopień i rząd n. Pewne równości, w tym AA+ A = A, są jednak ogólnie prawdzivfe W poniższym twierdzeniu podano cztery związki, wyrażające tzw. własności Penrose'a 14 ) dowolnej macierzy; zob. Penrose [1955]. '
ł'
•
.
n
· (DD+D)ij Własności
·~
. Do~ód. Niech iloczyn PDQ będzie rozkładem macierzy A ·względem artości szczególnych. Wtedy A+ = QH n+ pH. Macierz D ma postać okreoną w (5.4.1), a stąd wynika, że DD+ D = D. Istotnie, zauważmy, że
TWIE~DZENIE 5.4.10. Niech dla macierzy A ~bowiązują oznaczenia z dowodu tw. 5.4.1. Wtedy:
·~
>
·"'!!1JV .
284
5. INNE
1. rankA
DZIAŁY
5.4. ROZKŁAD WZGL. WARTOŚCI SZCZEGÓLNYCH I PSEUDOODWROTNOŚĆ
NUMERYCZNEJ ALGEBRY LINIOWEJ
= r.
Dowód. Oznaczmy bazy złożone z wektorów jednostkowych symbolami dla cm i {ei,e~, ... ,e~} dla en. Niech A:= (aij) będzie 'acierzą m X n określoną wzorem Lei = 'L,j= 1 aijej (1 < i < m), a PDQ ej rozkładem względem wartości szczególnych. Oznaczmy wiersze macierzy :.1"i symbolami u1,u2, ... ,um, a kolumny QH - symbolami v1,v2, ... ,vm. ''prawdzimy, że Lui wyraża się tak, jak podano w twierdzeniu. W tym celu ia k = 1, 2, ... , m obliczamy !·'
rzyA. 3. Układ {v1, v2, ... , Vr} jest bazą ortonormalną przestrzeni wartości
macierzy A.
= max1~i~nlcril·
Dowód. Macierze P i Q są nieosobliwe, więc rankA = rankD = r. Z dowodu tw. 5.4.1 wynika, że dla r < i < n jest Aui = O. Jądro macierzy A jest (n - r)-wymiarowe, a jego bazą jest układ {ur+i. Ur+2, ... ,un}'.;1 · Natomiast przestrzeń wartości tej macierzy jest r-wymiarowa, a jego bazą· ortonormalną jest układ { v1, v2, ... , Vr }, gdzie Vi := a; 1 Aui 15): Przekształ~ cenia przestrzeni cm i en odpowiednio za pomocą macierzy unitarnych p i Q zachowują normę (zad. 5.2.9), więc "
nieważ A= PDQ, więc pH AQH = D. Wystarczy zauważyć, że D jest cierzą m x n taką, że (D)ij = ai dla i = j min{m, n} i (D)ij = O
=
<
I\
przeciwnym razie.
•
w· oszczędny
wariant
rozkładu względem wartości
szczeNiech A będzie macierzą m x n rzędu r, gdzie m > n > r, o rozkładzie .Ą = PDQ względem wartości szczególnych. Udowodnić, że układ Ax = b jest ' niesprzeczny wtedy i tylko wtedy, gdy (PHb)i =O dla r
1••
A jest macierzą m x n rzędu r, gdziem;;,. n ;i: r, to można ją wyrazić w postaci A = V SU, gdzie V jest macierzą m xł ': o kolumnach ortonormalnych, S - macierzą przekątniową nieosobliwą stopnia r, a U - macierzą r x n o wierszach ortonormalnych. :•} TWIERDZENIE
5.4.11.
Jeśli
,;Macierze A i B
\t'.i V,
że
5.4.12. Jeśli L jest przekształceniem liniowym z cm w en, bazy ortonormalne {U1, U2, ... , Um} dla cm i { Vi, V2, ... , Vn} dla en takie, że '
TWIERDZENIE
istnieją
Lui = {aivi, O,
jeśli 1 < i jeśli
< min{m, n}
min{m,n}
są
A= U BV.
15 )
Jądro i przestrzeń wartości są określone w przypisie nr 7 w podrozdz. 4.1 (przyp,
macierz stopnia n ma .:::to jej wyznacznik jest równy ±a1a2 ... an.
wartości
szczególne a1, a2, ... , an,
(
=
"Udowodnić, że jeśli macierz kwadratowa A ma rozkład A PDQ względem wartości szczególnych, to jej wielomian charakterystyczny jest równy± det(D-
, .\PHQH).
:·udowodnić, że suma kwadratów elementów iloczynu viu~ jest równa .1
czenia jak w dowodzie tw. 5.4.1).
i
pdwołując się
=
do dowodu tw. 5.4.1,
L:ajVjU7, j=l
i"
~ ,)
:i
il
il \:I
i\
.. · 1·
że jeśli
r
tłum.).
równoważne, gdy istnieją takie macierze unitarne U Udowodnić, że takie A i B mają identyczne układy wartości
unitarnie
szczególnych.
f Udowodnić,
to
I
.,
s=l
·:
i=l
Poznamy teraz gólnych:
285
ei,e 2, ... ,em}
2. Układ {Ur+i, Ur+2, ... , u,.} jest bazą ortonormalną jądra
4. llAll2
llf!lll
wykazać, że
1 (ozna-
286
5. INNE
DZIAŁY
NUMERYCZNEJ ALGEBRY LINIOWEJ
287
5.5. METODA QR OBLICZANIA WARTOŚCI WŁASNYCH
Korzystając z wyniku poprzedniego zadania, wykazać, że jeśli znamy rozkł macierzy A względem wartości szczególnych, to Ax można obliczyć koszte (n+ m + l)r mnożeń i (n+ m - l)r - m dodawań. Porównać to z koszte .. bezpośredniego ·mnożenia (nm mnożeń i (n - l)m dodawań). „ 8. Obcięcie pierwszej sumy z zad. 6 do k składników daje pewne przybliżen' macierzy A. Wykazać, że jjA - L:J=l CTjVju711 2 = crk+l · .. r 9. Zakładając, że A= UDV, gdzie U jest macierzą unitarną stopnia m, V maci: rzą unitarną stopnia n, a D macierzą przel\<1tniową m x n, wykazać, że liczb' l(D)iil 2 (1 ~i~ n) są wartościami własnymi iloczynu AHA. 10. Znaleźć rozkład względem wartości szczególnych macierzy
7.
„.
· ·
· ·
4 Znaleźć zależności wiążące wartości własne i wartości szczególne macierzy her'· ·~i't~w~kidj. · · · · ··· .„_ ··-- · · ,.„....
5;
Udowodnić, że dla macierzy hermitowskiej i dodatnio półokreślonej wartości \. szczególne są identyczne z wartościami własnymi. •!Jaki jest rozkład macierzy hermitowskiej i dodatnio określonej względem war.: ~ości szczególnych? . · · 7.. Udowodnić, że pseudoodwrotność jest funkcją nieciągłą elementów macierzy. ·' · Wskazówka: Zbadać macierz
.[~ ~1„ o ·o
[2 1] ,
Udowodnić
• „·~.': . . „;,,.;1-
ll. Znaleźć pseudoodwrotność A+ zakładając, że: (a) macierz AAH jest nieosobll wa, (b) AHA= I, (c) A jest hermitowska i taka, że A 2 =A.
.
.~.
ADANIA KOMPUTEROWE
21.
Znaleźć rozwiązania
minimalne
5.4
1. Napisać program, który korzystając z rozkładu względem wartości szczegól0
12. Udowodnić, że jeśli macierz jest hermitowska, to jej pseudoodwrotność ma t ,. samą własność. · · '· 13. Udowodnić następujące własności pseudoodwrotności: (a) (A+)+ = (b) (A+)H = (AH)+, (c) (AAH)+ = (A+)HA+, (d) A+= AH(AAH)+. 14. Udowodnić, że A+ = (AH A)- 1 AH dla macierzy A rozmiaru m x n i rzędu:~ i·.: 15. Wykazać, że jeśli macierze A i B są pełnego rzędu, to (AB)+ = B+ A+ (mę,ci m x n tak się nazywa, gdy jej rząd jest równy min {m, n}). ~· ' 16. Znaleźć przykład świadczący o tym, że na ogół (AB)+=/= B+ A+. , 17. Udowodnić, że pseudoodwrotność macierzy przel\<1tniowej m x n jest macier' przekątniową n x m. 18. Wykazać, że z symetrii macierzy A wynika taka sama własność dla A"ł-. 19. Znaleźć pseudoodwrotność: (a) dowolnej macierzy m x 1, (b) dowolnej macie· 1 X n, (C) iloczynu UVH, gdzie u, V E
tw. 5.4.11.
ny<;h i
pseudoodwrotności,
...
oblicza '
rozwiązanie
„,
..
m.inimalne
układu
Ax
= b.
·~
QR obliczani; J,~r~oŚd własnych
:ierdzenie'.Schura 5.2.3 gwarantuje, że dowolna macierz kwadratowa jest itarnie pÓdobna do· macierzy trójkątn~j: · (5.5.1) ;-;,,
'
~·
.,
·~jest u~itarna, T - trójkątna). Istotn~ jest to, :że wartości„ wła.Sne.macie
Y,''A. i T są identyczne i że w T są one po prostu elementami jej przekątnej.
h.ięriie' rozkładu (5.5.1). nie oznacza _.jednak, Ż!-3 łatwo go znaleźć. Kon-
u musi być tak'·trudna„ jak obliczenie wszystkich (na pierwiastków .wielomianu, bq przecież każdy wielomian ,t;.z~ dokładnością do czynnika st~łego; wielomianem charakterystycznym .,. cja ·macierzy .ł.zespolonych)
następujących układów równań:
(a) x1 +x2 =bi (b) X1 =bi, X1 = b2, X1 = b3 (c) 4x1 =bi, Ox1 = b2, 7x3 = b3, Ox2 = b4 '~ 22. Udowodnić, że pseudoodwrotności n+ i A+ mają własności 2-4 Penros; (zob. tw. 5.4.9). 23. Niech A będzie macierzą m x n, a X macierzą n x m mającą własności Penros względem A. Udowodnić, że rozwiązaniem minimalnym układu Ax = b jest
~od.a"QR
(Francis, [1961]) 16) jest procedur~ iteracyjną, prowadzącą do ierzY. T z (5.5.1). Jak sugeruje jeg~ nazwa, algorytm rozkłada daną 11 ierz na czynniki Q i R. · · · · U''
1.. •
.
'l W tymże ioku, niezależnie, ten algorytm zaproponowała Kubłanowska;. zob. Kieł, ński, Schwetlick [*1992, s. 455] (przyp. tłum.). ··
288
5.5. METODA QR OBLICZANIA WARTOŚCI WŁASNYCH
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
W podrozdziale 5.3 podano algorytm
rozkładu
A=QR na czynniki: unitarny Q i trójkątny górny R. Teraz dodatkowo chcemy, ab elementy przekątniowe macierzy R były nieujemne. Nie jest to trudne. Istd nie, jeśli rozkład (5.5.2) nie ma tej własności, to określamy macierz unitarn przekątniową D tak, że dii := rii/lriil dla rii =f. O i dii := 1 w przeciwny' razie i zamiast (5.5.2) stosujemy rozkład
\•
skaźniki oznaczają rozmiar bloków.
B jest macierzą górną Hessenberga pniak. Macierz D rozmiaru (n - k) x k ma wszędzie zera poza ostatnią lumną. C jest macierzą k x (n - k). Macierze C i E nie mają jakiejś czególnej postaci. Jeśli U jest macierzą unitarną stopnia n - k, to
[~ i] [~ i] [~
A= (QD)(DH R) = Qfl. Macierz R = DH R ma już na przekątnej liczby nieujemne. Podstawowa postać metody QR jest następująca: A1 <-A for k = 1 to M do rozkład Ak = QkRk (Qk unitarna, Rk trójkątna górna z nieujemną przekątną) Ak+i <- RkQk end do
I'
I1''I
,,
I!
289
Przy pewnych założeniach elementy przekątniowe macierzy Ak dąż gdy k -+ oo, do wartości własnych macierzy A. W praktyce ten podstawowy wariant łączymy z dodatkowymi proc durami, które skracają obliczenia i przyspieszają zbieżność. Rozważymy.j teraz. Przedtem zauważmy, że - po pierwsze - wszystkie macierze Ak s unitarnie podobne do A, gdyż
Ak = QkRk = (QkRk)(QkQ~) = QkAk+1Q~. Po drugie, jeśli macierz A jest rzeczywista, to i następne macierze Ak bę takie. Skoro tak, to dla macierzy mającej wartości własne zespolone może. w najlepszym razie oczekiwać zbieżności do macierzy blokowej trójkątn z blokami 2 x 2 wzdłuż przekątnej. ·
Redukcja do macierzy górnej Hessenberga Aby zmniejszyć koszt obliczeń iteracyjnych, poprzedzamy je sprowadzenie macierzy A do unitarnie podobnej macierzy górnej Hessenberga H. Naz warny tak macierz, w której hij = O dla i > j + 1. Inaczej mówiąc, w ta . macierzy nie znikają co najwyżej elementy leżące nad przekątną, na niej In, tuż pod nią. Macierz A redukujemy do H, stosując algorytm Household,,,I ra. W jego k-tym kroku doprowadzamy do właśCiwej postaci k-tą kolum · macierzy, nie naruszając zer w poprzednich kolumnach. Napiszmy macie. otrzymaną w ( k - 1 )-szym kroku w postaci blokowej
~H] =
[
:D g:;H] ·
(5.5.3)
'ybieramy macierz U tak, aby iloczyn UD miał w k-tej kolumnie elementy Przypomnijmy, że
,,O, O, ... , O.
•\
D
=
[g.. ::: .g_ ..
~:.1.
O ... O dn-k obec tego macierz U ma
Ud=
f3e< 1>,
gdzie
być
taka,
d := [
~~
że
]
d~·~k iloc~ynie UD kolumny do (k - 1)-szej zerują się automatycznie, a k-ta Iumna ma zera poniżej elementu/]. ;'.. Zgodnie z lematem 5.2.2 wybieramy f3 tak, żeby iloczyn (d, f3e< 1>) był c_:zywisty i żeby było llf3e< 1 >112 = lldll2· Przyjmujemy
gdzie
v := a(d - /]e(l))
(5.5.4)
z /3 :=. -(di/Jd1 I) lldll2 i a := .J2/lld - f3e< 1>112 (te szczegóły wynikają owodu wspomnianego· lematu i komentarzy do rozkładu QR Hessenberga 1 'ó'drozdz. 5.3). Zredukować
macierz
nitarnie podobnej macierzy górnej Hessenberga.
290
5. INNE
DZIAŁY
Rozwiązanie. Wyżej podzielono macierz A na takie bloki, z jakich ko rzysta się w pierwszym kroku naszkicowanej już procedury. Jest wted d = (4, 2, 4). Pierwsza składowa jest rzeczywista, więc wystarczy przyjąć! że /3 = -lldll2 = -6· i a= 1/vW. Zgodnie z (5.5.4) obliczamy q V
i
=
QR z
~
f
14 -101 -2 . -2 11
-5 15 [ -10
Rozwiązanie. Niżej
.aczących: Ai
o o
[-~
77
5
5
163
34 45 311 -225 352 -225
9
-45
62 45 259
677 225 536 -225
45
-5.0000 8.5556 1.3778 5.7556
2
6
8
-5
1.6000 -3.6222 .. 3.0089 -2.3822
'-""A.· ·=
10 .·; 1 ; •
1.2000 0.75556 -1.3822 -1.5644
V=
(1.1103, 0.87590),
= -5.9182,
u=
.. „
j.
macierz podzielono na bloki, do drugiego kroku, który daje następujące wyniki:
f3
· A 20 przygotowując,
j
·
a= 0.15218,
[-0.23280 -0.97252
.
~0.97252] 0.23280 .
Wykonujemy znów obliczenia zgodne z (5.5.3), co daje ostateczną macię' 1 górną Hessenberga: .,.!,
1 -5 -1.5395 -1.2767] -6 8.5556 0.10848 3.6986 o -5.9182 -2.1689 -1.1428 . [ o o -0.14276 3.6133
Obliczenia wykonywano z siedmioma cyframi znaczącymi, a podane wy{ wyniki są zaokrąglone. ..
-4.7599 3.8826 -4.0296 -0.00045510 -3.8487 -0.12641 i.2553 . ·"O ..:..0.068658 . „ 3.5669 · 0.16324 '. „' o o o 0.17645
•', . _·:. [101.106
-4.7403 -3.8526 -0.032156 o '
·3.9060 ~0.68985
3.5706 o
-4.0296 1··„· l.2559 . o.'15706 ". '0.17645
idzimy, że nie osiągnęliśmy jeszcze celu obliczeń: macierz
!i
·liI I
... A20
nie jest
'jl<ątna górna, bo jej element (A20)32 jest daleki od O. Wolna zbieżność do
cierzy trójkątnej górnej jest kłopotliwa, chociaż jedną z wartości' włas ch, ,m;anowicie 0.17645, daje już wys~arczająco dokładnie. dzieąiąty krok · 'czeń. Inną wartość własną (11.106) otrzymaliśmy.też dostatec~nie szyb!ale · dokład.ność dwóch pozostałych wynosi chyba tylko ·dwie .lub trzy
.
'
H=
zaokrąglone
. . f 11.105
=
Tę częściowo zredukowaną
d = (1.3778, 5.7556),
podano wybrane wyniki
= H,
1.9821 10.135 .6.7949 -2.8402 o 0.19692 [ ,' o o
A = -6
5.5.1,
{,\
Aby zakończyć pierwszy krok, wykonujemy mnożenia wskazane w (5.5.3):1'
UAUH =
przykł.
jest
= ]:__
1
'
5.5.2. Zastosować metodę QR do macierzy Hz ng~nerąwać ciąg macierzy Ak według wzorów
-10 -5 VVH
•
PRZYKŁAD
·
pierwszą macierzą unitarną
I -
przesunięciami
"; p·~lepszyĆ własności podsta~owej metody QR', uzupełniamy ją poWta- .. 'nymi przesunięciami. Przykład pozwoli zrozumieć ich sens. !
1 .r,:;r; (10, 2, 4) v60
u=
291
5.5. METODA QR OBLICZANIA WARTOŚCI WŁASNYCH
NUMERYCZNEJ ALGEBRY LINIOWEJ
.·,.'
..
.
. Wolną zbieżność podstawowego algorY.l!mu można przyspieszyć, stoprzesunięcia kolejnych macierzy; rozumiemy przez to zamianę A na ;~.:zl. Daje to następującą metodę QR z przesunięciami: j,,'
, ·. A1 +- macierz górna Hessenberga dla A : for k = ·1 to M do . . rozkład Ak - zkl = QkRk Ak+l end do
+-
RkQk
+ Zkl ·
ii!!ll
·'.;:lll'~!
292
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
5.5. METODA QR OBLICZANIA WARTOŚCI WŁASNYCH
Liczbę Zk w tym algorytmie określa się jako ostatni element przekątn wy macierzy Ak. Wtedy iteracje powinny szybko dać ostatni wiersz pos O, O, ... , O, a. Liczba a jest więc wartością własną macierzy A. W tym · mencie obliczeń je~t wskazana deflacja macierzy, tj. usunięcie jej ostatni' wiersza i kolumny w sposób opisany w podrozdz. 5.2. Dalsze oblicze wykonujemy już dla macierzy niższego stopnia (co jest sensowne wobec p niższego lematu). Początkowa redukcja do macierzy górnej Hessenbergaje wskazana dla dużych macierzy, gdyż zmniejsza koszt obliczeń. Istotnie, ta samą postać mają macierze Ak' konstruowane według podanej wyżej met dy. LEMAT
5.5.3.
A=[~
Jeśli
macierz A
wyraża się
są
Dowód. Równanie Ax
i] [~]
wyrażamy
= >.
· deflacja A5 -
= >.x,
czyli
[~]'
macierzy A, to ten układ ma nietrywfal O, to >. jest wartością własną macierzy z W przeciwnym razie jest u f. O i >. jest wartością własną macierzy B. Przypuśćmy teraz, że >. jest wartością własną macierzy B, a u związ nym z nią wektorem własnym. Wtedy układ (u, O) spełnia warunki (5.5. Jeśli A jest wartością własną macierzy E (a więc istnieje wektor v f. Ot .. że Ev= >.v), ale nie jest taką wartością dla B, to równanie (B->.I)u = - · względem u ma rozwiązanie, czyli układ (u, v) spełnia (5.5.5). PRZYKŁAD
5.5.4. Zastosować algorytm QR z 5.5.1.
przesunięciami
do maci
przykładu
Rozwiązanie. Niżej
stosowania deflacji:
A--t H,
As =
--+
[
o
11.001 -0.30955
-5.0329 -3. 7507
o
o
o
l
-4.1730 1.3719 ' 0.17645
As = [11.106 -4,7234] _ . . 8556 A
--+
3
0
podano wyniki
pięciu
iteracji tego algorytmu i z
PRZYKŁAD
5.5.5.
-3
3
A=
Ev= >.v.
Jeśli >. jest wartością własną rozwiązanie (u, v). Jeśli v f.
rzy Hz
ro
-2.4727 ] 2.8753 0.10900 ' 3.5736
a, nieco prostsza, metoda redukcji macierzy do postaci Hessenberga poa na zastosowaniu operacji elementarnych (zob. podrozdz. 4.1) na wierch i kolumnach. W każdym kroku przekształcamy jeden wiersz i jedną lumnę, mnożąc macierz A z lewej przez Ei i z prawej przez E'i\ tę odwrot.sć łatwo obliczyć (zob. zad. 4.1.8). Poniższy przykład wyjaśnia szczegóły
ostatecznie w postaci
Bu+Cv =>.u,
=
-2.4480 3.5719 0.14546
eracje elementarne na wierszach i kolumnach
macierzami kwadratowymi, to dowolna liczba >. je wartością własną tej macierzy wtedy i tylko wtedy, gdy jest wartoś własną bloku B lub bloku E.
[~
deflacja A5
A5
--+
-10.087 4.6668 -0.28730
293
'czonymi wartościami własnymi są: 3.5736, 0.17645, 11.106 i -3.8556. zystkie podane cyfry są poprawne. •
w postaci blokowej
i]'
gdzie B i E
H
2.6141 -5.5345 O
~:
r
1 2 2 -1 4 2
Zredukować
do macierzy górnej Hessenberga macierz
73 -52] o
-2
3 . 4
Rozwiązanie. Gdybyśmy nie wybierali elementów głównych, to należa :l:Jy odjąć taką wielokro~ność wiersza 2. od wiersza 3. i (inną) od 4„ aby zerować odpowiednie elementy. Chcemy jednak, jak w eliminacji Gausaby mnożniki były małe. Dlatego przestawiamy wiersze 2. i 4„ a dla howania podobieństwa także te same kolumny (dla uproszczenia nie stoemy,tu tablicy permutacji p [por. podrozdz. 4.3], która pozwala uniknąć tycz.nych przestawień): 0
3 7 2 -2 -1 o
2
~1--t r-~ j -~ -~].
3 -5
1
294
5. INNE DZIAŁY NUMERYCZNEJ ALGEBRY LINIOWEJ
!
Odejmujemy teraz wiersz 2. pomnożony przez od wiersza 3. i pomnożon przez.! od wiersza 4. Następują po tym przeciwne operacje na kolumnach dodajemy do kolumny 2. kolumnę 3. pomnożoną przez i kolumnę 4. p mnożoną przez ł (zob. zad. 4.1.8). ;
Znaleźć wartości własne
•
!
~1-+ l-:o
ł
~
4 7 2
1 -13 31
o
l).
:f
_31 8
-~1-+ r-:o J_ 2
_23
o
1
5
. Ak
37 31 78
7
7]
7
-2
31
7
2
-13
7]
31
37 62
2
2022
59
-
961
7
gdzie wszystkie bloki są kwadratowe stopnia drugiego. Podać i uzasadnić prostą obliczania wartości własnych tej macierzy.
.Udowodnić, że macierz A z poprzedniego zadania jest osobliwa wtedy i tylko . wtedy„gdy taki jest co.najmniej jeden z bloków Aii_\.: ... ".
.
.! Sprawdzić, czy stąd, że macierz U jest unitarna, R.trójkątna górna, a UR.jest .: 'macierzą górną Hess~nberga, wynika, 'że i z:" jest tej ostatniej postaci. ·
31
. Wykazać; że jeśli macierz T jest trójkątna górna, a A jest , Hessenberga, to AT i TA są tej drugiej postaci, . · . .
A.
(Wszystkie macierze w poniższych zadaniach są kwadratowe). 1. Udowodnić, że wielomian charakterystyczny macierzy stopnia n
o
o 1
o o
o o
o o
o o
o
1
-ao
-a1
-a2
-an-2
-an-1
1
o
jest równy ±p(.X) = ±(a0 + a 1 .X + a 2 .X 2 + ... + an_ 1 _xn-l +>.n). Wyznacznik det(A - >.I) rozwinąć względem ostatniej kolumny. 2. Dla macierzy A z poprzedniego zadania wykazać, że p(A) =O.
·.;~,
IM
1
•
•
•
• • • ·.,
••••
··~!Y.!ł!'"
'''.
'
'~•.
. •'. •
. Ilu mnożeń wymaga w przybliżeniu sprowadzenie (jak w przykł. 5.5.5) macierzy 'stopnia n przez podobieństwo do macierzy górnej Hessenberg~?
o o
A:= ...... ··········· ......................
.· ... •.,:„ . .
macierzą górną
. Wykazać," że jeśli macierz T jest .trójkątna górna; a AT jest macierzą górną . Hessenberga, to TA jest tej drugiej postaci. Nie· zakładać, że A i T są nieoso··bliwe.
5.5
1
= (Q1Q2 ... Qk)(RkRk-1 ... •. R~).
31
~
o o
i że .wobec tego
5~
o
Końcowa macierz jest macierzą górną Hessenberga podobną do
ZADANIA
= Q~AkQk
.
-2
31
o
3
'_·pro~edurę
2
-13
_; l·
.• Niech A będzie macierzą rzeczywistą o strukturze biokowej trójkątnej górnej:
25
4
1,
4
4
5~ Wy~ać, że w algorytmie QR jest Ak+l
i przeciwne operacje na kolumnach: 25
=~ =~
[
,
•:ma liczb całkowitych pi q takich, że 1 d(:p < q ,;;;; n oraz liczb zespolonych a i {3 takich, że lal 2 + l.61 2 = 1 i a{J jest rzeczywiste, określamy macierz U stopnia n różniącą się od I tylko czterema elementami: Upp = Uąą = a, Upą = -Uąp = ,6. Udowodnić, że U jest unitarna.
W kolumnie 2. porównujemy moduły elementów trzeciego (1) i czwartego 3 (Większy jest ten ostatni, więc najpierw przestawiamy wiersze 3. ·i oraz te same kolumny. Następnie wykonujemy operacje na wierszach: '
-: 2i : [ oo 1 -2
l'
macierzy
25
2 7 4 -2 1 1 -2
-6
295
5.5. METODA QR OBLICZANIA WARTOŚCI WŁASNYCH
•'
-::•'
t·
••
,.
•
.
•
'
. Udowodnić, że~ algorytmie QR z prze~unięĆiami macier~e Ak i Ak+; są uni(„ j;~nie podobne.~ t!ogólnione żadanie własne polega na .wyznaczeniu wartości .X, dla których . układ Ax = .XBx ma nietrywialne roz:w~ążanie.x. Wykazać, .że Jeś~i macierz B ;;jest nie!J~obliwa, to zadanie red~kuje się clo.zwykłeg? zadania własnego. ~''·
:
'
•
f
•
(cd.). Wykazać, że jeśli znamy uogólnioną wartość własnąµ dla zadania Ax = , µ(B,+ ~A)x, to dla µt =f. 1 można łatwo znaJeźć wartość własną dla zadania ·.Ax = .XBx. · · . •
1
296
5. INNE
DZIAŁY
ZADANIA KOMPUTEROWE
NUMERYCZNEJ ALGEBRY LINIOWEJ
5.5
Kl. Napisać procedurę redukującą macierz do postaci górnej Hessenberga zgod~ z (5.5.3) i zastosować ją do macierzy z przykł. 5.5.1. · K2. (cd.). Dołączyć procedurę realizującą podstawowy algorytm QR i odtworz wyniki przykł. 5.5.2.
6
K3. (cd.). Zmodyfikować tę procedurę tak, aby realizowała algorytm QR z przes nięciami i odtworzyć wyniki przykł. 5.5.4. Za pomocą tejże procedury spra dzić, czy macierz 190 66 336 [ 30
66 303 -168 -36
-84 42 147 28
Aproksymacja funkcji
-36 30] -112 291
343, 294 i 147 ± 196i. 'i K4. Napisać procedurę redukującą macierz do postaci górnej Hessenberga za p mocą przekształceń przez podobieństwo użytych w przykł. 5.5.5. Sprawd procedurę dla macierzy z tego przykładu oraz dla macierzy z przykł. 5.5.1 Porównać wyniki z tymi, które tam podano. ma
wartości własne
Wstęp
tym rozdziale omawiamy sposoby wyrażania funkcji stosowane w obliniach komputerowych. Metody są bardzo rozmaite; zależą od własnośd ,~cji i od tego, czy jej wartości znamy tylko w niewielu punktach, czy ,ęqzie. Is.totne jest również to, jak funkcję chcemy wyrazić - jako wielo. ·,funkcję sklejaną, ułamek łańcuchowy, czy jeszcze inaczej. Zaczynamy aproksymacji wielomianowej, która jest najstarsza i najprostsza. J.
Interpolacja wielomianowa ?Wiązujemy następujące
gb stopnia taki,
zadanie: znaleźć wielomian p możliwie że dla danych n+ 1 punktów (xi, Yi) jest
najniż
298
(O .,;;; i .,;;; n).
t to wzór interpolacyjny Newtona (poznamy też inne możliwe wyrażenia lomianu interpolacyjnego). ·Z (6.Ll) wynika sposób obliczania·współ- · · ynników Ck tego wzoru. Stosując go, można np. sprawdzić, że dla n = 3 unktów
t
Mówimy, że ten wielomian interpoluje wartości Yk w węzłach xk. Jeśli są f, to mówimy też, że p interpoluje f. Omawiają zadania interpolacji wielomianowej, będziemy oznaczać symbolem IIn zbió wszystkich wielomianów co najwyżej n-tego stopnia, czyli wielomianów staci ao + alx + ... + anxn. · ·. , wartości pewnej funkcji
p;r
6.1.1. Jeśli liczby xo, x1, •.• , Xn są parami różne, to istniej dokładnie jeden wielomian Pn E IIn taki, że .
X
'
y
a·, . „.: st·
15
x1) ...
a
+ c(xk -
stąd można obliczyć
xo)(xk -
x1) ...
(6.1.5)
L
1
t
t
.:: · Óij ~ ;n(xj) = Yklk(xj) ::::: Ókilk(xj) ~ .li(xj) (O<, j .,;;; n) . k=O · k=O ~; .. ót.j jest tu deltą Kroneckera). Łatwo znaleźć wielomian·li o tej własności. ego zerami są wszystkie węzły oprócz Xi, czyli dla pewnej stałej C jest li(x) = c(x - xo) ... (x - Xi-1)(x - Xi+i) .·.. (x - Xn),
'c wynika: z warunku .li(xi) = 1: ... „
Pk(x)
=
k
i-1
i=O
j=O
L Ci II (x -
Xj)·
=
(6.1.6) Yklk(x), k=O ;której lk są wielomianami zależnymi od węzłów; xo, x1, ... , Xn, ale nie od . artości y 0 , Y1~ ... , Yn· Gdyby jedna z nich, mianowicie Yi, była równa 1, '.pozostałe by znikały, to mielibyśmy róW:ność' •.
Wzór interpolacyjny Newtona
Wielomiany Po,P1, ... ,Pk-1 są krótszymi sumami początkowych składnikó z (6.1.2). Bardziej zwarta postać tego wzoru jest następująca: ··
Dowód tw. 6.1.1 zawiera już w istocie metodę konstrukcji wielomianu inte polacyjnego. Każdy z wielomianów p 1 ,p2 , •.. ,pn powstaje z poprz~dnieg przez dodanie jednego składnika: ''
.p(x)
~znamy inną postać wielomianu interpolacyjnego. Trzeba tu przypomnieć, '":Przy założeniu jak w tw. 6.1.1 jest ·on określo~y jedpoznacznie. To jednak ie wyklucza istnieniajego różnych postaci i różnych algorytmów ich kont~ukcji. Zauważmy, że inne uporządkowanie punktów (xi, Yi) zupełnie zmieia składniki wzoru interpolacyjnego :Newtona, choć nie narusza całej sumy. Wyrażamy wielomian p jako sumę
(x - Xk-1).
(xk - Xk-1)
(6.1. 4)
zór interpolacyjny Lagrange'a
Dla każdej stałej c stopień tego wielomianu nie przewyższa k. Jest też oc~: wiste, że Pk spełnia warunki interpolacyjne dla O .,;;; i .,;;; k - 1. Pozost~J wyznaczyć c tak, żeby było również Pk(xk) = Yk· Tak jest, gdy Pk-1(xk)
· 0
ie warto jednak stosować tej metody, bo jest zbyt kosztowna (i może pow porównaniu z 'algorytmem o~strukcji tablicy ilorazów różnicowych (zob." podrozdz. 6.2), do której liczy Ck należą.. ·
'
xo)(x -
-6
odować nadmiernie duże błędy zaokrągleń)
Dowód. Udowodnimy najpierw jednoznaczność tego wielomianu. Pr• puśćmy, że dwa wielomiany, Pn i qn, z klasy IIn spełniają powyższe warun· Wtedy różnica Pn - qn znika w n+ 1 różnych punktach Xi. Ponieważ jedn wielomian z IIn nie znikający tożsamościowo ma co najwyżej n zer; wi Pn= qn. Istnienie wielomianu sprawdzamy przez indukcję. Dla n = O jest oc wiste, że wielomian stały Po ( x) = Yo spełnia jedyny warunek interpola~yj Wiedząc już, że dla pewnego k naturalnego istnieje wielomian Pk-l'E·rr;; taki, że Pk-1 (xi) = Yi dla O .,;;; i .,;;; k - 1, próbujemy wyrazić Pk w postaci
= Pk-1(x) + c(x -
-7
1 . -23 .. -54 -954
„
TWIERDZENIE
Pk(x)
299
6.1. INTERPOLACJA WIELOMIANOWA
6. APROKSYMACJA FUNKCJI
~·
zór_ (6.1.6) z takimi li.jest .wzorem interpol~~yjny'm Lagrange'a.
(6.1.7)
300
6.1. INTERPOLACJA WIELOMIANOWA
6. APROKSYMACJA FUNKCJI
PRZYKŁAD
6.1.2.
Znaleźć
''vw rozważaniach analitycznych, np. w konstrukcji kwadratur (rozdz. 7).
wielomiany li i wzór Lagrange'a dla n
n sam wzór może być też wygodny wtedy, gdy dla ustalonych węzłów · eba uwzględnić różne układy wielkości Yi, wynikających np. z pomia'W .. Opracowano algorytmy efektywnego obliczania wartości wielomianu ze ··"~ru Lagrange'a (Werner [1984] i prace tam cytowane).
i punktów (6.1.4). Rozwiązanie. Wielomiany li wyrażają się przez węzły tak:
znamy teraz twierdzenie pozwalające oszacować odchylenie wielomiainterpolacyjnego od funkcji interpolowanej, jeśli jest ona dostatecznie ulama.
5 )(x + 7 )(x + 5 ).
TWIERDZENIE 6.1.3. Jeśli f E Cn+l[a, b], a wielomian p E Iln interpoluje n; wartości funkcji f w n+ 1 różnych punktach xo, x1, ... , Xn przedziału [a, bj, to dla każdego x E (a, b] istnieje takie ex E (a, b), Że
że
= lo(x) - 23li(x) -
301
.
54l2(x) - 954l3(x).
Jeszcze inne wyrażenia wielomianu interpolacyjnego mają też swoje zalety i wady. Możemy np. szukać współczynników wielomianu przy potęgach zmiennej: ·:
1
gcx n
f(x) - p(x) =(n+ l)!f(n+l)(ex)
':',i
xi)·
(6.1.9)
Dowód. Twierdzenie wystarczy udowodnić dla x różnego od wszystkich złów, bo w przeciwnym razie obie strony powyższej równości znikają. ech
będzie n
Warunki interpolacyjne prowadzą do dem tych współczynników:
[;.. ~: ...·.·.. ~] [~~.] [~~.] 1 Xn
...
Xn
an
układu
n+ 1
równań
liniowych
w(t)
wzglę
:=
Il(t- Xi),
cp :=
f -
p- >.w,
i=O
zie).. jest liczbą rzeczywistą, dla której cp(x) =O (x jest ustalone). Stąd
).. = f (X) - p( X) . .
Yn
Macierz tego układu (nieosobliwa, gdyż na mocy tw. 6.1.1 układ ma jednoznaczne rozwiązanie) nazywamy macierzą Vandermonde'a. W zadaniu 13.:. podano wyrażenie dla jej wyznacznika. Ta macierz bywa źle uwarunkowan~ :' (Gautschi [19$4]) i dlatego nie zaleca się stosowania układu (6.1.8). Zreszt4' koszt obliczeń byłby tu nadmiernie duży. W obliczeniach numerycznych najbardziej użyteczny jest wzór interpo-') lacyjny Newtona w wersji (6.2.1), zawierającej ilorazy różnicowe. Jego zaletą., jest to, że dołączenie dodatkowych punktów (xi, Yi) nie narusza obliczonych·· wcześniej współczynników Cj. Wartość tak wyrażonego wielomianu można łatwo obliczyć, stosując wariant schematu Hornera. Zaletą wzoru Lagran; ge'a jest natomiast niezależność wielomianów li od rzędnych Yj, co przydajl
w(x)
tedy cp jest funkcją klasy cn+l[a, b] znikającą w n+ 2 punktach x, xo, x1, . , Xn· Stosując twierdzenie Rolle' a, wnioskujemy, że funkcja cp' ma co najniej n+ 1 różnych zer w (a, b), funkcja cp" ma tam co najmniej n różnych . itd., funkcja cp(n+l) ma tam co najmniej jedno zero. Oznaczmy je holem ex· Ponieważ
PRZYKŁAD 6.1.4. Jaki jest błąd przybliżenia funkcji f(x) sinx ·wf lomianem interpolacyjnym stopnia 9 w przedziale [O, 1], do którego nale węzły?
Rozwiązanie. Ponieważ JJC 10>(.;x)J ~ 1 i ITI=oJx - Xil ~ 1, więc z (6.1'. wynika, że dla każdego x E [O, 1] jest <«
~ l~! < 2.810-7.
Jsinx - p(x)J
303
6.1. INTERPOLACJA WIELOMIANOWA
H Czebyszew otrzymał te wielomiany, rozwiązując zadanie optymalizacji chanizmu przenoszenia ruchu posuwistego tłoka w parowozie na ruch ~otowy kół. Od tamtych czasów wielomiany Czebyszewa, które mają wiele cynujących własności, są ważnym narzędziem matematyki stosowanej; b. Fox i Parker [*1968], Mason i Handscomb [*2002], Paszkowski [*1975] "vlin [1990]. . •. TWIERDZENIE
jq
Wielomiany Czebyszewa
się
6.1.5. W przedziale
Tn(x) ~ cos(narccosx)
W oszacowaniu różnicy f(x)-p(x) wynikającym z tw. 6.1.3, ostatni czyn:d.i można zoptymalizować, wybierając węzły w szczególny sposób. To zadani zbadał wielki matematyk rosyjski Czebyszew (1821-1894), a rozwiązani wyraża się przez wielomiany noszące jego imię. Zaczniemy od ich definicj i podstawowych własności.
Dowód. Ze znanej cos(A + B)
· ·; cos(n±l)O ;kujemy c~s(n
[~1, lj ~ielomiany Czebyszew~ wy~aża
wzorem (6.1.11)
(n;;;.: O).
tożsamości
= cosAcosB -
trygonometrycznej
sinAsinB
= cosOcosnO T,sinO.ęinn~.
t~ dwie tożs~~~ści strorn~~i:
.
-1:-1)0 = 2cos0cosn0 - cos(n -1)0.
la O =::arccosx, czyli x = cosO, daje to wzór rekurencyjny z (6.1.10). Dla (6.1.11} wynika, że To(x) 1, T1(x) = x: •
=
,p O i n=:= 1 z .
.
Z (6.l'.11) wynika wiele własności ·wielomianów Czebyszewa;· w tym tępujące: · . -1
.( (2j - l)7r)' . . . . „ .• Tn cos n =O (1 ~ J ..:; n). 2
T1.i"i w p~ru innych rozdziałach wiel~inian·p(x) stopnia n naz~amy andardowym1 ), jeśli jego współczynnik prz'y°xn jest·równy L Takim wiemianerri jest ~p: 21 -nrn, co łatwo wynika z (6.1.10).
T4(x) = 8x 4 - 8x 2
T 6 (x) = 32x6
.
j:) ~ (~l)j
1' :
(n;;;.= 2).
szczególności
-
;. ~:. Tn ( c~s
(-1~x~1),
-
48x 4
+ 18x2 -
\'1
+ 1, 1.
Rysunek 6.1 pokazuje wykresy tych wielomianów w przedziale [-1, l]. · :\
•
•
· , ~>.W angielskiej terminoiogii niatematycznej,: monie polyno~ial. Poza nią ten przyjotnik. nie"·jest .chyba· .notowany w· słownikach. Powy~s~a propozycja przekładu nie jest ewne najlepsza, ale np. nazwa wielomian unormowany lub znormalizowany byłaby ·!1' wieloznaczna (przyp: tłum.). " ·
304
6. APROKSYMACJA FUNKCJI
W dalszym ciągu używamy też następującej normy funkcji w przedziale [a, b]: .
f ciągł 1 .·..
llfllra,bJ := max lf(x)j. a~x~b
TWIERDZENIE
6.1.6. Jeśli p jest wielomianem standardowym
n> O, to llPll[-1,1)
> 21-n,
a znak równości jest tu osiągnięty dla p = 2 1 -nTn.
ieżność
wielomianów interpolacyjnych
'~)li
~funkcji f ciągłej w przedziale [a, b] i dla n naturalnych utwórzmy wielo.'py interpolacyjne Pn, każdy z równomiernie rozmieszczonymi węzłami. ina by przypuścić, że ciąg {Pn} jest zbieżny jednostajnie do f, tzn. że ,norm Ilf - Pnll[a,b] dąży do O, gdy n - t oo. Z przykładu 6.1.4 wynika, · rzeczywiście jest dla f (x) := sin x, ale to nie jest typowa funkcja cią 00 ~stotnie, należy ona do klasy 0 na całej prostej rzeczywistej, a jako I.. cja zmiennej zespolonej jest funkcją całkowitą, czyli nie mającą żadnych ,liwości na płaszczyźnie zespolonej.
Dowód. Przypuśćmy, że lp(x)I < 2 1-n dla lxl < 1. Określamy też wi~ lomian standardowy q(x) := 21-nTn(x). Jeśli Xi= cos(i7r/n), to
(-l)ip(xi)
< IP(Xi)I
Oś
urojona
< 21 -n = (-l)ią(xi),
W3
''
/
czyli
I W4
(O< i< n).
Stąd wynika, że różnica q - p w przedziale
Ilf -
Pll[-1,11
= [-1, l].
Wtedy z (6.1.9) wynika, że
< (n ~ l)'. llf(n+l) llr-1,1] llIT (x i=O
xi)jj _
[ 1,1]
·
Wobec tw. 6.1.6 dla dowolnego układu węzłów jest n
llII (x - Xi)l i=O
[-1,1]
> rn
i ta norma jest najmniejsza, gdy pod jej znakiem występuje 2-nTn+l, tzn gdy węzłami interpolacji są punkty Xi = cos
(2i + 1)7f 2n+2
(0
< i < n).
6.1.7. Jeśli węzłami Xi są zera wielomianu Tn+l1 to dla lxl < 1 jest TWIERDZENIE
lf(x) - p(x)I
< 2n(n1+ 1)! 11J
1 =1 Oś
rzeczywista
''
ws=ł(-1-źV3)• .... _
RYS. 6.2.
Optymalne węzły interpolacji
·l'
\
ma tam n zer. To jednak jest niemożliwe, gdyż stopień tego wielomianu je mniejszy od n.
Niech w tw. 6.1.3 będzie [a, b]
'Iw
\
[-1, 1] zmienia znak n razy, czy
zespolona
\
1
=-1
Płaszczyzna
-„ Wz=ł(l +iVJ)
=ł(-1 + iVJ) ...... /
(-l)i[ą(xi) - p(xi)] >O
305
6.1. INTERPOLACJA WIELOMIANOWA
Sześć
pierwiastków stopnia szóstego z 1
Zaskakujące jest to, że dla większości funkcji ciągłych powyższy ciąg mnie dąży do O. 'Pierwszy przykład tego typu podał Meray w 1884 r. yczy on funkcji f(z) = 1/z na okręgu jednostkowym lzl = 1. Niech, dla alonego n, liczby wi, w2, ... , Wn będą n-tymi pierwiastkami z liczby 1. one równomiernie rozmieszczone na tym okręgu, co dla n = 6 pokazuje . 6.2. Dla tej funkcji f wielomian interpolacyjny Pn-1 z węzłami Wj jest iny po prostu zn-I. Istotnie,
Pn-1 (Wj ) =
n-1 = -w· .1 n = - 1 = J(Wj )
W· J
Wj
J
Wj
(1
~:r.p.a różnicy f - Pn-1 na kole jednostkowym jest równa
maxjf(z) - Pn-1(z)I lzl=l
=
maxjz- 1 lzl=l
-
1 zn-li= max- 11
lzl=l
1Z 1
-
znl = 2,
otrzymuje się wtedy, gdy zn = -1. Inny przykład, odnoszący się do dziedziny rzeczywistej, podał Run:'1901 r. Wykazał on, że dla funkcji f(x) = (x 2 + 1)-1 rozpatrywanej
:taką wartość
,·
..
306
6. APROKSYMACJA FUNKCJI
w przedziale [-5, 5] ciąg wielomianów interpolacyjnych z węzłami rozmii czonymi tam w równych odstępach nie dąży do l· Nawet dla niewielki wartości n (np. dla n= 15) wielomian Pn „szaleje". Jest to zjawisko ·R·: gego, opisywane w wielu książkach i artykułach; zob. np. Epperson [198 Jego doświadczalne potwierdzenie jest tematem zad. 6.2.Kl. Dowód tego, że zjawisko Rungego występuje, można znaleźć w ksią' Steffensena [1950] (I wyd. opublikowane w 1927 r.). Książka Davisa [19' daje ujęcie tego tematu związane z dziedziną zespoloną. Funkcja Run go, pozornie „niewinna", ma jednak osobliwość na osi urojonej w po6l przedziału [-5, 5] i to właśnie jest przyczyną kłopotów. Uzasadnienie tL wykracza jednak poza zakres niniejszej książki. Niżej podano dwa twierd nia - tw. 6.1.9 pokazuje, że pod pewnymi warunkami ciąg {Pn} jest zbież dol, a tw. 6.1.8 świadczy o tym, że nie zawsze tak jest. Różnica kryje · w kwantyfikatorach! W 1914 roku Faber udowodnił następujące bardzo ogólne twierdzen'
6.1.10 (BOHMAN-KOROWKIN). Niech {Ln} (n> 1) będzie cią giem operatorów liniowych dodatnich, przekształcających przestrzeń · C[a, b] wnią samą. Jeśli dla l(x) :;; 1, x,' x 2 )est {llLnl -'lll[~,/,1} --t O,' to jest tak również dla każdej innej funkcji l E C[a, b]. rifWIERDZENIE
Dowód. Jeśli L jest operatorem liniowym i d~datnim, to zachodzą naimplikacje:
ujące
.f > g =>
a
6.1.8
Dla dowolnego
(FABER).
< x 0 < x 1 < ... < xn < (n)
(n)
(n)
b
Ctn = Lnho - ho,
{llanll}
(n> O)
Jest to twierdzenie bardziej subtelne niż mogłoby się wydawać·· pierwszy rzut oka, skoro zachodzi też takie twierdzenie o zbieżności: 6.1.9. Jeśli l jest funkcją ciągłą w [a, b], to istnieje .t ciąg układów węzłów (6.1.12), że zbudowane dla nich wielomiany,· terpolacyjne tworzą ciąg zbieżny do l.
TWIERDZENIE
L(cpl + 'l/;g) = cpLl + 'l/;Lg' (cp, 'I/; E IR, l, g E C[a, b]), Ll > O, gdy l > O. własności
'Yn = Lnh2 - h2.
że
niezmiernie istotne dla teorii aproksymao
--t
O,
{llf3nll}
--t
O,
{l!'Y;;ll}
--t
O ·
=
> ó =>
llx -yl q
ll(x) - l(Y)I
< 211111<"211111 (x ~2 y)
2
tego dla wszystkich x i y z [a,b] jest ll(x) - l(y)I '. ają{'. funkcji hk(x), wyrażamy to tak: Il - l(y)hol
1
To twierdzenie wynika z zestawienia dwóch bardzo ważnych twi dzeń, odpowiednio - autorstwa Weierstrassa (o aproksymacji) i Czebysz~ (o alternansie). To drugie znajduje się w podrozdz. 6.9, dowód pierwsz. (tw. 6.1.11) opiera się na pomocniczym tw. 6.1.10 i własnościach wielo . nów, które w 1912 r. zdefiniował i zbadał S. Bernstein. Poniższe twierdzenie dotyczy operatorów liniowych i dodatnich pt kształcających przestrzeń funkcji ciągłych C[a, b] w nią samą. Oper· L ma te własności, jeśli odpowiednio
to
f3n = Lnht - hi,
·.up~~~zczenla 'tu. i dalej'pontljamy w symbÓlu normy prżedział [a, b]). · ~· '-Rozważmy teraz dowolną funkcję l z C[a, b]. Jest to więc funkcja jednoie ciągła, t~n. dla· każdego s > Oistnieje takie ó > O, że jeśli x, Y. E [a, b] 2 YI < ó, to ll(x) - l(Y)I «s. ~t.ąd wynika, że dla c 2llllJ/ó jest
"
się, że są
wynika,
= xk dla k =O, 1, 2. Zdefiniujmy też funkcje:
ciągu układów węzłów
istnieje taka funkcja ciągła w [a, b], że ciąg wielomianów intery~la · nych zbudowanych dla tych węzłów nie jest do niej zbieżny.
Okazuje
>O => L(f - g) >O ~ Ll - Lg> O=> Ll >Lg. > l i 111 > -l, a zatem L(lll) > Ll i L(lll) > -Ll,
l - g
cz tego jest 111 i L(lll) > ILll· .'·Niech teraz będzie hk(x)
łożenia TWIERDZENIE
307
6.1. INTERPOLACJA WIELOMIANOWA
•
'
'1
< sho + c(h2 -
2yh1
•
2
= c(x - Y) .
< s + c(x -,y) 2.
+ y 2ho). •
. ględniaj.ąc uwagi z początku dow~du,~·':"Vni98kuj_ein);' stąd,' ~e.' ·
Zgodnie z założeniem istnieje takie m, że dla wszystkich n ;;;;. m prawa sti:ori tej nierówności nie przewyższa 2c:. Wtedy
Kończąc
dowód,
llLnf -
+Ilf Lnho - f holl ::;;; 2c: + llfll llanll· tak, żeby dla n;;;;. m było llfll llanll <
c:
było
fil < 3c:. zostało
k = 2 stosujemy to zadanie dwukrotnie,
są
zdefiniowane, dla dow,o '·
=
n (n - + 1 1) (n - 1) ---1-k L n n-1 n k-1 k=l
=n- f (nlx2
=
,;
Użyta
symbolika podkreśla to, że wielomian Bernsteina jest w istocie ope torem liniowym; przekształca on funkcję ciągłą w [O, l] na wielomian n-t stopnia. Ponieważ w tym przedziale jest xk(l - x)n-k;;;;. O, więc jest to~, rator dodatni. Stosujemy te wielomiany w elementarnym dowodzie2) twi dzenia Weierstrassa, ale używa się ich także w projektowaniu wspoma nym komputerowo, choć tu wypierają je tzw. funkcje B-sklejane (zob. p rozdz. 6.5 i 6.6). '
6.1.11 (WEIERSTRASS). Jeśli funkcja f jest ciągła w przedzi [a, b], to dla .każdego c: > O istnieje taki wielomian p, że li f - Pii [a,b] ~'
k= 2
n-1
--X
2
n
dowodnić, że jeśli
'fnterpoluje f w
g(x)
'J
E~(~=
~ (~r (~)xk(l-x)n-k =
n
= x.
zakładając, że
=
udowodnione. ,
Zapowiedziane już wielomiany Bernsteina nej funkcji f E O[O, l], wzorem
xk(l - xt-1-k
k
k=O
·nh2)(x)
dowolne, a zatem twierdzenie
1)
= x n-1 L (n-
llLnf - f Lnholl
W razie potrzeby zwiększamy m Dla tych n zachodzi więc nierówność llLnf -
k = '1 korzystamy z zad. 22:
zauważmy, że
fll ::;;;
309
6.1. INTERPOLACJA WIELOMIANOWA
6. APROKSYMACJA FUNKCJI
k(l
-X
nxk(l-x)n-k
=
)n-k -_
':I i!
2)xk-2(1- x)n-k + :'._ = n
k- 2
X
+ -n
X
n > 1:
--l-
X
;
•
2
g interpoluje funkcję f w węzłach xo, xi, ... , Xn-1, a h to funkcja
węzłach Xi, x2, ... , Xn,
Xo-X + Xn [g(x) -Xo
h(x)]
TWIERDZENIE
Dowód. Możemy ograniczyć się do przedziału [O, l], ponieważ p liniowe zmiennej x =a+ t(b - a) zmienia [O, l] na [a, b], a lomian p na inny wielomian tego samego stopnia. Zgodnie z tw. 6.1.10 pozostaje wykazać, że dla hk(x) := xk i k =O, jest {Bnhk} --l- hk. Dla k =O mamy równość , kształcenie
(Bnho)(x)
=
Ln (n) k xk(l -
x)n-k
=
[x
.
+ (1- x)]n =
1.
k=O 2 ) Dowód odwołuje się jednak do raczej wyrafinowanego tw. 6.1.10. Pierwotny do' Bernsteina jest chyba bardziej naturalny; zob. Achiezer [*1957]. Istnieje zresztą innych jeszcze dowodów (przyp. tłum.).
,nterpoluje mianami).
f we wszystkich węzłach
x0,
x 1 , ... , Xn (g i h nie muszą być wielo-
funkcja g (wielomian lub nie) interpoluje funkcję f w wę = Óin (O.;:;; i.;:;; n), to dla pewnego c funkcja g + eh interpoluje f w :co, x1, ... , Xn·
Udowodnić, że jeśli
złach x~, xi, ... , Xn-l, a h jest funkcją taką, że h(xi)
iech E będzie (n+ 1)-wymiarową przestrzenią wektorową funkcji określonych w·obszarze D. Niech x 0 ,x 1 , ..• ,Xn będą różnymi punktami z D. Udowodnić, Iże dla f E E zadanie interpolacyjne f(xi)
= Yi (O.;:;; i.;:;; n)
''8; dla dowolnych rzędnych Yi jednoznaczne rozwiązanie wtedy i tylko wtedy,
y jedyną funkcją z E '6wna. O.
znikającą
we wszystkich Xi jest funkcja
tożsa.mościowo
'I
310
6.2. ILORAZY RÓŻNICOWE
6. APROKSYMACJA FUNKCJI
311
4. Znaleźć wielomian możliwie niskiego stopnia, interpolujący poniższe da.lle:;
(a) (b) (c)
xl3 y 5 XI y
x y
I
I~ ~
!
I I
i
(d)
I
XI y
7
(e)
-:-1
7 146
1 2
2 1
(f)
3 10
7 146
1 2
2 1
3 12
7 146
1 2
2 1
xll3
2
XI y
O
2
y
1 -2
( ) x 11.5 g y o
3
-4
5
3 -22 2.7
o
2 -1 3.1
o
(a)
y
I2o 11
7
3 28
(b)
1-2O y
X
o 1
-2.1 1
-6.6
11.0
o
o
1 -1
6. Niech będzie Wi = ITj=O,#i(xi - x1)- 1 . Wykazać, że jeśli x nie jest węzł to wzór interpolacyjny Lagrange'a wyraża się w postaci barycentrycznej , Xi)-
1
J/
[t wi(x -
i=O
xi)- 1
J.
i=O
7. (cd.). U dowodniĆ, że niedokładne wyznaczenie wielkości Wi nie zakłóca Wł ści interpolacyjnej wielomianu
X1
... ...
x(j xf
1
Xn
•••
X~
• Udowodnić, że dla dowolnego układu 23 węzłów z przedziału [-1, 1] :vielomian interpolacyjny p E II22 dla funkcji f(x) := coshx jest taki, że w tym przedziale l[p(x) - f(x)]/ f(x)I ~ 510-16. · • Oszacować błąd llP- fll[-l,l)• gdzi~ f(x) := e"'- 1 , ap jest dla f wielomianem '\ interpolacyjnym stopnia 12 z _węzłami należącymi do [-1, 1].
'.Udowodnić, że jeśli wśród·n \Vęzłów z przedziału [-1; 1] znajduje się liczba O, to wielomian p E IIn-l interpolujący w 'tych węzłach funkcję f(x) := sinh x, spełnia nierówność
W obu przypadkach wyrażając wielomian w postaci a+ bx + cx 2, upewnić '' że wyniki są identyczne.
p(x) = [:f>iwi(x -
Xo
1
6 -37
5. Zastosować wzory interpolacyjne Lagrange'a i Newtona dla następujących nych: X
.1
p, a ściślej, że lim:.:--.xk p(x) = Yk (O~ k ~:
8. Wykazać, że odwzorowanie L funkcji f na wielomian interpolacyjny p E:' wyznaczony z warunków p(xi) = f(xi) (O .:;; i ~ n) dla ustalonych węzłó~ jest liniowe, tj. L(af + /Jg) = aLf + {JLg. 9. (cd.). Udowodnić, że Lq = q dla każdego wielomianu q E IIn·
10. Korzystając ze wzoru Lagrange'a, udowodnić, że współczynnik przy xn w lomianie p(x) jest równy
2n
' !p(x) :-- f(x)j ~ n! lf(x)I
/.f: :Równanie x - g-x =O ma pierwiastek w przedziale. [O, 1]. Znaleźć wielomian ' · interpolujący lewą stronę równania w punktach O, 0.5, 1. Przyrównując ten · ~ielomian do O, zna.leźć przybliżenie tego pierwiastka. · ·,"'Zaprojekto~ać metodę rozwiązywania równania f(x) = O, dającą w n+ 1 "krokach dokładną wartość pierwiastka, gdy funkcja odwrotna 1- 1 jest w jego 1 • otoczeniu wielomianem stopnia n. . Znaleźć współczynniki wielomianu Tn (x )"przy xn:--: 1 i. xn-:- 2 .
.
.• Wzorując się na dowodzie tw.' 6.1.5, vfykazać, że'd~a- lxl ~. 1 jest ''.I'n(x) ·= · cosli(?łarcoshx). '.' ; , . · " :. . . . Spr~wdzić, czy jeśli naturalne n jest dzielnikiem naturalnego m, to każ?e zero ;,:wielomi~nu Tn jest zerem wieiomiant.i Tm-.· " ~:.Udówodn~ć,że .i'
~(·n)·= n k
i=O
(lxl .:;; 1).
(n-1) k-1
(n~
k ~ 1).
j=O,j#i
11. Udowodnić, że dla każdego wielomianu q E IIn-l n
Lq(xi) i=O
n
IT
(xi -
Xj)-
1
I
Ilorazy
,
=O.
j=O,j#i
12. Niech odwzorowanie G będzie określone wzorem Gf L~=O f(xi)L;, g wielomiany li są określone jak we wzorze Lagrange'a. Udowodnić, żeGJ n do II2n i interpoluje f w węzłach oraz że G f ~ O, jeśli f ~ O.
różnicowe
.'.ac;:i,my dQ zadania interpolacyjnego roii,yaianego ·w. poprzednim podroz'a:l~. Wiemy już, że wielomian p E IT+; Śpefoiający dla danej funkcji f runki'interpolacyjne „
...
L.'
p(xi)
= f(xi) (O ::,;;; i
::,;;; n)
312
różnych węzłach
w parami
Xi
można wyrazić
za
pomocą
wzoru Newtona:·.
n
p(x)
L
=
313
6.2. ILORAZY RÓŻNICOWE
6. APROKSYMACJA FUNKCJI
:•
ckqk(x),
k=O
'r. zad. 6.1.1). Porównanie współczynników obu stron przy xn daje tożość (6.2.2). • Oznaczenia węzłów użyte w (6 ..2.2) oczywiście nie są istotne. Ich zmiadaje ogólny wzór
Z dowodu tw. 6.1.1 wynika natychmiast, że ck zależy tylko od węzłów x 0 , x 1r, ... , Xk i wartości funkcji w tych węzłach. Tę zależność przyjęto oznacza' następująco:
różnicowy rzędu
'ając węzły Xi i wartości funkcji f(xi), czyli ilorazy f[xi] zerowego rzęd.u : żna za pomocą tego wzoru tworzyć tablicę ilorazów różnicowych wyz,YCh rzędów. Oto przykładowa tablica dla przypadku, gdy znamy cztery ęzły:
Ck= f[xo,x1, ... ,xk]·
f
i wymienionych wyżej węzłów. wzór interpolacyjny New~ tona w ogólnie przyjęty sposób, pokazujący zależność wielomianu interp9! lacyjnego p od funkcji interpolowanej f: · Jest to iloraz
Używając
ilorazów
k dla funkcji
=
L
IT (x -
Xj)·
j=O
wyrażenia
ilorazów
rzędu
zerowego i pierwszego
X3
są
oczywiste:
PRZYKŁAD
Ilorazy wyższych rzędów oblicza się rekurencyjnie stosując wzór podany w poniższym twierdzeniu, a podobny do wyrażenia dla f [xo, x1]:
wielomianem klasy Ilk, interpolującym f w wę złach xo, xi, ... , Xk· Będzie on nam potrzebny dla k =n - 1 i k =n. Prócz tego niech q E IIn-1 interpoluje f w węzłach x 1, x2, ... , Xn· Zachodzi rów:-r n ość Dowód. Niech Pk
1 5 6
Rozwiązanie. Tworzymy tablicę na wzór podanej wyżej:
6.2.l. Ilorazy różnicowe spełniają zależność
=
f [xo, x1, x2, x3]
6.2.2. Utworzyć tablicę ilorazów różnicowych dla danych
xl3
Obliczanie ilorazów różnicowych wyższych rzędów
f[ xo,xi, ... ,xkl
f [xo, x1, x2] f[x1,x2,x3]
Pionowa kreska oddziela wielkości dane od obliczach. Pierwszy wiersz tablicy zawiera te ilorazy, które występują we wzorze :i(:li:polacyjnym Newtona (6.2.1).
Przy tych samych oznaczeniach wzór rekurencyjny (6.2.3) postać
Cij
=
6.2.3. Iloraz różnicowy nie zależy od porządku jego argu-
Ci+l ,J·-1 - Ci ,J·-1
Xi+j - Xi
. ·Zamiast dowodu wystarczy przypomnieć, że iloraz f[xo, x1, ... , Xn] jest ółczynnikiem przy xn w wielomianie interpolacyjnym p E IIn określo warunkami p(xi) = f(xi) (O ~i ~n), a porządek tych warunków nie
6.2.4. Jeśli wiefomian p E IIn' interpoluje funkcję f w wę- . . ·złach x·0 , x~, ... , Xn parami różnych, to· dla każdego t różnego. od nich ·jest · • TWIERDZENIE
Jl'.'
n
Algorytm konstrukcji powyższej tablicy wynikający wprost z tego wz, ru jest w tym sensie nieefektywny, że wystarczy użyć tablicy d zmienny· z jednym wskaźnikiem. Początkową wartością zmiennej di jest ·e;o = /(' · z drugiej kolumny trójkątnej tablicy ilorazów, następnymi wartościami wielkości Ci-1,i, ... , c1,i-1, coi; ostatnia z nich znajduje się w pierwszy wierszu tejże tablicy i we wzorze Newtona. Tablicę tworzymy kolumna ' a w każdej kolumnie - z dołu do góry. Dzięki takiej kolejności obliczeń t.· blica d zawiera w każdej chwili ilorazy, które będą później potrzebniJ3 ): . for i
= O to n di~
..
W zadaniu 13 ocenia się koszt obliczenia ilorazów różnicowych wed.ł tego algorytmu. podany tu algorytm, warto zwrócić uwagę na pominięty przez autor aspekt. Jeśli chcemy obliczyć możliwie dokładnie ilorazy różnicowe, to zaleca się po kowanie danych węzłów od najmniejszego do największego (albo odwrotnie), bo w - jak udowodnił Kiełbasiński - algorytm jest numerycznie poprawny; zob. Janko [*1981, w szczególności tw. 2.8]. Jeśli natomiast naszym celem są jak najdokładniej wartości wielomianu interpolacyjnego (6.2.1), to istotny jest tzw. porządek Leji węzł (Higham [2002, s. 100]); można go uzyskać kosztem ok. n 2 operacji (przyp. tlum.).
II (t- xj).·:. .:.
j=O,
,•
Do~ód. Niech q będzie wielomianem interpolacyjnym klasy IIn+l okrem dla f i węzłów x 0 , x1, ·... , Xn, t. Wiadomo, że q powstaje z p przez ie. jednego składnika: .n
·J(:;;) =
p(x)
+ f[xo, xi, ... , Xn, t] II (x -
do f(xi)
end do for j = 1 to n do for i = n to j step -1 do di~ (di - di-1)/(xi - Xi-j) end do end do
3 ) Stosując
/(t)-.p(t) = f[xo,x1, ... ,xn, t]
Xj)·
j=O
'twierdzenia wynika stąd i z równośd ą(t) =:= f(t).· ·
•
i"wiEROZENIE 6.2.5. Jeśli funke)a f m~ ń~tą ·~ochodną ci(egłą w przedziale , [a; b] zawierającym punkty Xo, x1; .... , Xn parami różne, to istnieje E : (a, b) takie, że · .
e
1
'f[ xo,x1, ... ,xnl -- _!_f(n)(C) .,, • 1
n.
I
Dowód. Niech wielomian p E IIn-1 interpoluje f w węzłach xo, Xi,··· , . Z twierdzenia 6.1.3 wynika istnienie takiego E (a, b), Że
Twierdzenie udowodnimy, zakładając, że punkty Xi są parami róż ale pozostaje ono prawdziwe bez tego założenia; odpowiednie uogólni~ ilorazów różnicowych będzie podane w podrozdz. 6.3. Dowód. Załóżmy najpierw, że n= 1. Ponieważ 81 = {U =. (UQ, u1) E Jlł : Uo ~ 0, U1 ~ 0, UQ
W wielu sytuacjach jest potrzebny wzór Hermite'a-Genocchiego, dany w poniższym twierdzeniu. Wyraża on iloraz różnicowy n-tego rzę przez pewną całkę; obszarem całkowania jest sympleks
mocy tw. 6.2.1 i 6.2.3 jest to iloraz f[xo, X1, ... , Xn]·
z twierdzenia jest wtedy równa
/.Znaleźć wielomian interpolacyjny ze wzoru Newtona dla następujących danych: X 4 2 o 3 X 1 3/2 o 2 y
I
63
11
7
28
(c) y
3
13/4
3
5/3
XI o
1 2 7 51 3 1 201 Wielomian p(x) = 2 - (x + 1) + x(x + 1) - 2x(x + l)(x -1) interpoluje cztery .,9czątkowe punkty z tablicy y
Kontynuujemy dowód przez indukcję. Jeśli n > 1, to uo = 1 a całka w (6.2.4) (oznaczmy ją J(x0 , x 1 , ... , xn)) wyraża się tak:
I:f=l
2
3
-7
10
.. odając do p jeden e.
składnik, wyznaczyć
~owodnić, Że jeśli f E Ilk,
to dla n
wielomian
> k jest
f(xo,
interpolujący
X1, •.. ,
Xn]
= 0.
wszystkie
".:.··
318 4.
6. APROKSYMACJA FUNKCJI
Odwołując się
do wzoru Lagrange'a,
wykazać, że
n
f[xo, xi, ... , Xn]. =
L
ad(xi),
gdzie
ai =
Udowodnić, że jeśli
i ujemne. 5. (cd.). Udowodnić,
< x 1 < ... <
xo
= 1,
6.
n
Lai=
{1 Q
i=O
i=O
Xn, to liczby ai są na przemian dodatnie
że
n
l:aixf
. ,Udowodnić, że jeśli funkcja f jest ciągła, to iloraz J[x 0 , xi, ... , xn] jest funkcją ciągłą swoich argumentów w (n+ 1)-wymiarowym zbiorze otwartym, w którym .~ą one różne. · Udowodnić, że jeśli f E en' to iloraz f [xo, Xi, . .. , Xn] jest wszędzie ciągły. : Czy.; w tw. 6.2.5 zależy w sposób ciągły od argumentów x 0 ,x 1, ... , xn?.A war-
t
j=O,j;ći
i=O
'i tość J(n) (.;)?
.
I' 1 Rozwa:żmy tablicę
, '·
Xo XI X2 X3 .
'\
(n= O) (n> O).
Udowodnić, że
m!/[0,1, ... ,m] = fc-1r-j(rr:)t(j). J
j=O
7.
Korzystając
f[xo,
ze wzoru Cramera,
X1, ..• ,
1
Xn]
x~-I
f (xo)
1
xo
~ ..-~~ ....... ~!.~ ~ .. !. (-~~ ). I ~ .. -~1
.•.....
1
1
Xn
x~-I
Udowodnić, że
10.
Udowodnić, że
(af 11.
-~~~ ~ ~~ .•
Xn
+ (x + (x x)bi + (x -
Xi)Yi+il/(xi+I ~ xi), xi)ai+il/(xi+2 - xi),
Ci= [(xi+3 -
xi)bi+il/(xi+3 - Xi)·
·i
I
DANIA KOMPUTEROWE ,,„
6.2
':''Dla funkcjif(x) := 1/(l+x2 ) i n= 5, 10, 15 znaleźć wielomian interpolacyjny '..Pn z n +.1 węzłami równoodległymi V'! .przedziale ·[-5, 5]. Obliczyć f(x) (,pn(x) w 30 równoodległych punktach tego przedziału. Cży otrzymane wyniki potwierdzają rozbieżność ciągu {Pn (x)}? ,
n
L
.
i sprawdzić następującą metodę rozwiązywania równania f(x) = O: dla danych punktów x 0 ,x1 ,x2 i n ;;i, 2 tworzymy wielomian ą2 stopnia drugiego, interpolujący f w węzłach Xn-2, Xn-1, Xn, i określamy Xn+I 1 \'jako pierwiastek tego wielomianu bliższy punktu.~n·
, Korzystając z wyniku zad. 6.1.1, udowodnić; i~ c0 jest wartością w x wielo. : mianu in~erpolacyjnego, stopnia 3 qla pu~{t6w (xi, !li): /;\(cd.). Uogóli::tiając wzory z pop~zedniego zadania; ~trzymać algorytm Neville'a ~obliczania Pn(x) dla dowolnego n. · · · ·
x'[)
dla f(x) = xm (m naturalne) iloraz f[xo, x 1, ... , Xn] jest równ 1 dla n = m i równy O dla n > m. 9. Udowodnić, że jeśli f(x) = 1/x, to f[xo,xi, ... ,xn] = (-l)nfr= 0 x;- 1.·
8.
Yo YI Y2 Y3
bi= [(xi+2 - x)ai
wykazać, że
=
xo
319
6.3. INTERPOLACJA HERMITE'A
Zaprogramować
f[xo, xi, ... ,xk]g[xk,Xk+I• ... ,xn]
k=O
(warto dostrzec jego podobieństwo do wzoru na pochodną iloczynu dwóch funk · cji). 12. Udowodnić, że jeśli f jest wielomianem, to f[xo, x1, ... , Xn] jest wielomiffiie' względem argumentów tego ilorazu. 13. Sprawdzić, jaki jest koszt obliczenia tablicy trójkątnej ilorazów różnicowych: do rzędu n. 14. Udowodnić, że jeśli h > O, to dla pewnego .; E (x, x + 2h) jest
„,
f(x
+ 2h) -
2f(x + h)
+ f(x) = h 2!"(.;).
3 .. Interpolacja Hermite'a, . ryolacja Ifermite'a, czyli interpolacja z węzłami ,wielokrotnymi, polega ;Roszukiwaniu wielomianu, który w węzłach i.ii.a "dan~ nie tylko warto,'ale i wartośći pochodnych (ścisła definicja·będzie podana .nieco dalej). ~ym sens~e przeciwstawiamy ją inferpo~acji .Lagrange.'a z węzłami' pojeczyml, omawianej w podrozdz. 6.1 T6:~.. ·· · · · . 'Prostym, ale pouczającym przyl{.ładem.interpolacji Hermite'a jest naujące zadanie: szukamy wielomianu możliwie niskiego stopnia, któ~y
p
,.
320
6. APROKSYMACJA FUNKCJI
321
6.3. INTERPOLACJA HERMITE'A
w dwóch różnych punktach xo i x 1 interpoluje funkcję fi jej Rozumiemy to tak, że mają być spełnione cztery warunki:
pochodną.
·
W powyższym przykładzie mamy do czynienia z interpolacj91 Birkhoffa. 1klasa
zadań,
których
rozwiązywanie
sprawia
intrygujące kłopoty, była
:~sywnie badana. Wyniki tych dociekań omawiają w swej monografii >~'ntz, Jetter i Riemenschneider [1983]. Dlatego wydaje się rozsądne szukać rozwiązania w klasie Il3. Przy ty zamiast obliczać współczynniki przy 1, x, x 2 , x 3 , szukamy wielkości a, b,' d takich, że
p(x) =a+ b(x - xo)
+ c(x -
xo) 2
+ d(x -
xo) 2 (x - x1)
(przypomina to nieco wzór interpolacyjny Newtona).
p'(x) = b + 2c(x - xo) Warunki
nałożone
nap
+ 2d(x -
prowadzą
do
xo)(x - x1)
Aby wykluczyć takie osobliwe przypadki, wystarczy założyć, że jeśli pewnym węźle wielomian p ma daną wartość j-tej pochodnej, to dane tam również wartości p,p', ... ,pCi-l). Tak jest właśnie w interpolacji tmite'a. Określamy ją ściśle w następujący sposób: dla danych węzłów Xi ·<;i<; m) parami różnych, danych liczb naturalnych ki i danych wartości · szukamy wielomianu p takiego, że
Stąd
+ d(x -
xo) 2 •
równań
p(j)(xi) = zną liczbę
' ,,,:.n +1= ~'«
f(xo) =a,
f'(xo) = b,
f(x1) ·=a+ bh + ch2
(h = x1 - xo),
od razu wynikają współczynniki a i b. Znając je, wyznaczamy c z t ciego, a potem d z czwartego równania. Tak więc zadanie można rozwiąz i to jednoznacznie, dla dowolnych danych. Ogólnie rzecz biorąc, jeśli szukany wielomian ma dane wartości w p nych punktach i dane wartości jakichś pochodnych w tych lub innych p~ tach, to układ równań liniowych względem współczynników może mieć cierz osobliwą. Przekonuje nas o tym prosty przykład. PRZYKŁAD
6.3.1.
Znaleźć
wielomian p taki,
że
Rozwiązanie. Mając
trzy warunki, szukamy wielomianu p(x) = a+b ., cx2 • Pierwszy warunek daje a = O, a z dwóch pozostałych wynika, że ma 2 = p'(!) = b + c.
Te równania są jednak sprzeczne, czyli wielomian p założonej postac· istnieie. Natomiast w klasie wielomianów p( x) = a + bx + cx 2 + dx 3 zad'l ~ ma nieskończenie wiele rozwiązań, bo warunki interpolacyjne prowadzą: równań a = O i ·· 1 = b + c + d, Jest tak,
jeśli
2 = b + c + id.
d = -4 i b + c = 5.
(O<: j <;ki - 1, O.;::;;
i< m).
(6.3.2)
się
warunków oznaczamy n+ 1, jest
ko
+ ki + ... + km
sensowne szukanie p w klasie IIn.
TWIERDZENIE. 6.3.2.
.,
więc
spełniający
,U;,ł
W klasie IIn istnieje warunki (6.3.2).
dokładnie
jeden wielomian p
:'Dowód. Z założenia liczba warunków interpolacyjnych jest równa liczszukanego wielomianu. Chcemy upewnić się, że ma.· A układu wynikającego z tych warunków jest nieosobliwa. W tym celu tarczy udowodnić, że układ jednorodny Au = O ma tylko zerowe rozwią i~: Taki układ odpowiada zadaniu współczynników
p(O) = O, p(l) ··
i p'(!) = 2.
1 = p(l) = b + c,
daje
J'(x 1 ) = b + 2ch + dh 2 )
Stąd
Cij
,Ju'/'
i'tak, to dla O <; i .;::;; m węzeł Xi jest ki-krotnym zerem wielomianu p musi się dzielić przez q(x) = IT~ 0 (x-xi)ki. Ponieważ jednak stopniem .mianu q jest n+ 1, więc q, a tym bardziej p, znika tożsamościowa. • Jl' , .·PRZYKŁAD
6.3.3. Co daje interpolacja Hermite'a w przypadku tylko jed-
Uogólnienie wzoru Newtona Aby zrozumieć podaną dalej definicję ilorazów różnicowych odnoszącą się interpolacji z węzłami wielokrotnymi, rozważmy kilka prostych przykład Szukamy najpierw wielomianu p E II2 takiego, że ·-'
Tablica ilorazów
XO CQO xo coo x1
p'(xo) = c01,
\.,się zgodnie z tw. 6.2.5. Dzięki niemu wiadomo, że jeśli pochodna j(k)
~ . z~ba paII?-iętać o czynniku 1/k!, isto~nym dlą. k > 1.
. ' :."'
.
:.
.'
"'.
. ...
':h*1'f\
'
.'
PRZYKŁAD 6.3.4. Korzystając z podanych JUŻ informacji, znaleźć wielo)an p klasy Il4 spełniający warunki
p(l)
=
2,
p'(l)
=
3,
p(2)
=
6,
p 1 (2)
=·7,
p"(2)
= 8.
w tablicy po·lewej stronie, rozmieszczono wszystkie elkoŚci · di;ine i wynikające z ( 6.3. 7); znak iapytania sygnalizuje te, które " eba obliczyć stosując wzór (6.2.3). Prawa tablića jest już kompletna: 1 .1 2 2 2
f[xo, xo, x1, x1]
2 2 6 6 6
3 ? ? ? 7 4
? ?
?
1 1 2 2 2
2 3 1 2 -1 2 4., 3 1 6 7 4 6 6
współczynniki
p(x) .~ /. + 3(x - .1) + (x - 1) 2
wielomianu
p:
.+ 2(x ~. ~) 2 (;; ~ 2) -
(x..:... 1).2'(x .;- 2) 2 •
ożna sprawdzić, że sp~łnia on wszystkie warunki podane wyżej.
•
' .efinicja ilorazów różnicowych · isłą definicję ilorazów różnicowych, którą sugerują podane już przykłady, ożemy wprowadzić na różne (ale równoważne) sposoby. Można je okreć rekurencyjnie (Braess (1984]), za pomocą wyznaczników (Schumaker 98,1]), ·8'.ll:~o po prostu przenosząc na dyskutowaną teraz interpolację Herite'a definicję z podrozdŻ. · 6.2 (Conte i de Boor [19~0]). Wybieramy ten tatni "."'ariant. Przypomnijmy więc,· że dla ;węzłó~ xo, x1, ... , Xn. parami .·:„.7.1'.'
•liWI•·
x 0 , x 1, ... , Xk, to
.t
.1
't
W zadaniu 2 sprawdza się, że to postępowanie daje poprawny wynik ' "} w podobny sposób możemy wyrazić wielomian p spełniający waru (6.3.1):
i~
węzły
„ .. (e). ··
. . .
erwszy wiersz daje
• .
f(xo) f(xo) Xl f(x1) X1· f(x1)
o
·, .
.
formalnie stosujemy wzór (6.2.1):
xo xo
e
ni Rozwiązanie.·Niżej,
Pozostałe
p [Xo,X1 l =
p(x) = p(xo)
w najmniejszym przedziale zawierającym przedziale istnieje takie, że
.'_,j·,•·1 · :' ' , • „
?
c10
x->xo
Jego
ciągła
?
Znaki zapytania w tablicy sygnalizują nieznane pozycje. Zauważmy, że pierwszej kolumnie xo występuje dwa razy - tyle, ile warunków w tym wę nałożono nap. Zauważmy też, że daną wartość p'(xo) umieszczono w lumnie przeznaczonej dla ilorazów różnicowych pierwszego rzędu. Jest'. zgodne z równością
Również
t
\tymże
" :.
p(x1) = c10.
różnicowych wygląda
CQl
Ilorazy różnicowe, których wszystkie argumenty są: identyczne;· ók're~'~''
.1•
• 1'
p(xo) = coo,
323
6.3. INTERPOLACJA HERMITE'A
„,
324 różnych
iloraz różnicowy f[xo, x 1 , ... , Xn] był z definicji współczynnikle przy xn wielomianu p(x) E IIn interpolującego f w tych węzłach. Tak sam' w istocie zrobimy teraz. Będzie jednak wygodniej zmienić nieco oznaczen· i w pewien sposób uporządkować węzły (co nie ogranicza ogólności rozwa: żań). Przyjmiemy mianowicie, że w zadaniu interpolacji Hermite'a dost tecznie regularnej funkcji f za pomocą wielomianu p E IIn: (i) węzłami są liczby xo, x1, ... , Xn uporządkowane tak, że
wielomianem klasy IIn-1· Interpoluje on f w węzłach xo, x1, ... , Xn-1 . zad. 5 i 6). Z jednoznaczności wielomianu interpolacyjnego wynika, że [)
n-1
p(x) - f[xo,x1, ... ,xn]
(ii) jeśli pewien punkt Xi występuje na liście węzłów ki razy, to mają by' warunki
już
0
Xi)= q(x),
•
daje szukany wzór (6.3.8). 6.3.6. Niech będzie xo ~ x1 ~ ... ~ Xn· Jeśli xo
. f [XQ,XQ, ... ,XQ] _1 1 J(n) ( Xo ) · n. Jeśli
Tak więc w przykł. 6.3.4 należy przyjąć xo = x1 = 1 i x2 = X3 ;,, = X4 = 2. Ponieważ istota interpolacji Hermite'a nie ulega zmianie, więc nam· cy tw. 6.3.2 wielomian p jest określony jednoznacznie. Iloraz różnicow n-tego rzędu f[xo,xi, ... ,xn] jest z definicji równy współczynnikowi prz xn w p(x). Na przypadek interpolacji Hermite'a można uogólnić wzór in terpolacyjny Newtona (6.2.1) i tw. 6.2.1 opisujące sposób rekurencyjneg obliczania ilorazów różnicowych. ·
Il (x i=O
TWIERDZENIE
spełnione
325
6.3. INTERPOLACJA HERMITE'A
6. APROKSYMACJA FUNKCJI
= Xn, to (6.3.9)
xo < Xn, to (6.3.10)
Dowód. Dla n = 1 wielomian interpolacyjny p wyraża się łatwym do awdzenia wzorem
.' : {f(xo) r•p(x) = ', f(xo)
+ f(xi)
- f(xo) (x - xo)
(xo
i= x1)
(xo
= x1).
x1 - xo
+ f'(xo)(x -
xo)
(h''
TWIERDZENIE
spełniają
6.3.5.
Jeśli węzły
j-1
n
p(x) ='
x 0 , x 1 , ••• , Xn i warunki interpolacyjn
warunki (i), (ii); to
L
f[xo,xi, ... ,xj]
j=O
Il (x -
Xi)·
.·obu przypadkach współczynnik przy x jest równy ilorazowi f[xo, x1], eślonemu odpowiednio zgodnie z (6.3.10) albo (6.3.9) . . .Dla n > 1 i xo < Xn rozumujemy tak jak w dowodzie tw. 6.2.1. Jeśli tomiast xo = Xn, to ze wzoru Taylora wynika, że
i=O
n
p(x) = Dowód. Dla n= O wzór (6.3.8) jest wielomian n-1
q(x)
:=
L
oczywiście
poprawny.
Jeśli
n> O
.
L
1
1f(k)(xo)(x - xo)k k=O k.
spółczynnik
przy xn jest zgodny z (6.3.9).
j-1
f[xo, x1„. „ Xj]
j=O
Il (x -
Xi)
i=O
spełnia
warunki interpolacyjne w węzłach x 0 , xi, ... , Xn-li a wielomian z klasy IIn dodatkowo spełnia takiż warunek w Xn, to z definicji iloraz różnicowego wynika, że różnica 1il n-1
p(x) - f[xo, x1, ... , Xn]
Il (x i=O
Xi)
•
'gólnienie wzoru Lagrange'a zasadzie wzór interpolacyjny Lagrange'a można uogólnić na dowolne za·e interpolacji Hermite'a. Tu ograniczymy się jednak do ważnego szczeego przypadku; założymy mianowicie, że w każdym węźle są dane wari funkcji i jej pierwszej pochodnej:
326
6. APROKSYMACJA FUNKCJI
Przez analogię do wzoru Lagrange'a wyrażamy p w postaci n
p(x)
i dla każdego
n
.
= LCioAi(x) + LCiIBi(x). i=O
i=O
Ai(Xj) = Óij, Bi(Xj)
=o,
A~(xj) =O,
B~(xj)
'
'
X
\
= Óij·
E (a, b) istnieje punkt
f (2n+2) ( e)
f(x) - p(x) =
Chwila zastanowienia wystarczy, by się upewnić, że wielomiany Ai, Bip winny spełniać następujące warunki:
327
6.3. INTERPOLACJA HERMITE'A
(2n
+ 2)1
!!
.
eE (a, b) taki, że
~·· '•
n
2
(x - Xi) .
. Dowód jest taki jak dla tw. 6.1.3, z tą oczywistą różnicą, że teraz ocniczy wielomian w jest równy nr~o(t :-- Xi) 2 , Nietrudno zrozumieć, p~\Virino wyglądać twierdzenie podobne do powyższego dla ogólnego ania interpolacji Hermite'a.
Można sprawdzić, że jeśli
:znaleźć takie węzły x 0 , x 1 , że dla dowolnych stałych ew, Ci2 istnieje wielomian ;.:p E IT3 spełniający warunki są
wielomianami występującymi we wzorze Lagrange'a, to Ai(x) = [1- 2(x - xi)lHxi)jt;(x) Bi(x)
=
(O,,-;; i,,-;; n), (O"( i"( n).
(x - Xi)ti(x)
Ponieważ stopień każdego wielomianu li wynosi n, więc wielomiany Ai i , stopnia 2n 1. Tak powinno być wobec liczby warunków nałożonych wielomian p. ···'
+
są
Dla n= 1, jak w (6.3.1), to uogólnienie wzoru Lagrange'a daje wzór p(x) = f(xo)Ao(x)
+ f(xI)AI(x) + f'(xo)BI(x) + J'(xI)BI(x),
gdzie Ai, Bi wyrażają się jak wyżej przez wielomiany li i ich pochodne, t szczególnie proste: · lo(x) = X - XI , xo-xI
l 0t ( x) =
1 XQ - XI
,
,.p(xi) Hl
= ciO;
p"(xi)
= Ci2
(i= O, 1).
Wykazać, że wielomian (6.3.6), w którym ilorazy różn~cowe obliczono ze wzo·ró;. (6_:3.4) i '(6.3.fł),. spełnia warunki (6.3.3) .. , · · ' .·Za pomocli uogólnionego wzoru Newtona -~naleź6 wielomian p E l14 określony iwar~~kii~i · . · · ·. · :. ., . . · · ·. ,
X p(x) .. p'(x)
o
1·
.
2
2 -4 44 -'9 4
„.
:
~
"
„(cd.). Znaleźć wielomian p E Ils speł~ający warunki jak w p~przednim zadaniu ·i dodatko~y warunek p(3) = 2. ',Przyjmując konwencję podaną przed tw. 6.3.5, wykazać, że wielomian interpo'/luje funkcję równą O w węzłach x 0, xi, ... , Xn wtedy i. tylko wtedy, gdy dzieli ''się przez.ITj= 0 (x - Xj). · · •. (yd.). Wykazać, że jeśli w węzłach x 0 , xi, ... , x;.. funkcja f interpoluje g, a funk:\~fję. _h interpoluje O, to!+ eh (c - stała) interpol~je t~~że g. . ~ ..Udowodnić; że jeśli f ma pochodną ;,\:,,,•' . . ciągłą i-xo
·: ;{):. ·=--'{}
: Xi błąd:
Dla opisanego tu wariantu interpolacji Hermite'a można oszacować,j, l,
TWIERDZENIE
6.3.7. Jeśli
różne należą do [a, b],
kami
f
to
E C 2n+ 2 [a, b], a węzły xo, Xi, ... , Xn para dla wielomianu p E Il2 n+l określonego wa'T'll
~\'Niech funk~ja f mam-krotne ~ero a i·k-krotne zero [3, gdzie a < {3. Udowodnić, :,że jeśli f E Cn(a,{3], gdzie n= m + k - 1, ~o j(n) ma co najmniej jedno zero
iiy;- (a,[3). 'I
Obliczyć
Zastosować tw. Rolle'a.
, .
lHx).
Sprawdzić, że wielomiany Ai, Bi mają własności potrzebne w (6.3.11). ,1
I
. .
.
'Zx;ialeźć wielomian p jak najniższego stopnia taki, że
\,,!"
!P(xi), = Yi,
p'(xi) =O
(O~ i~ n).
.
., -.\ ''9'11
328
12.
"""111:·
6.4. INTERPOLUJĄCE FUNKCJE SKLEJANE
6. APROKSYMACJA FUNKCJI
329
Udowodnić, że jeśli
p(t) = b- (b-a)
[3 (! =!)2 _2(! =!r],
to IP'(t)I ~ p'((a + b)/2) = 3/2, p(a) =a, p(b) = b, p'(a) =O i p'(b) =O. 13. Dla n = 2 uprościć wyrażenia dla Ai, Bi. RYS. 6.4. Funkcja sklejana stopnia 1
6.4. Interpolujące funkcje sklejane Określając te funkcje, ustalamy przede wszystkim n+ 1 węzłów t 0 , t 1 , ... , takich, że to < ti < . . . < tn. Dla danej liczby całkowitej nieujemnej funkcjQ: sklejan
1. W każdym z przedziałów [ti, ti+i) (O klasy rrk.
<:
i
<: n -
1) jest wielomian
2. Ma ciągłą (k - 1)-szą pochodną w przedziale [to, tn]·
tóra w runek
każdym
z
przedziałów
[ti, ti+l) jest wielomianem si klasy Il3. (6.4.1)
ewnia ciągłość funkcji S. Ponadto żądamy ciągłości pochodnych S' i S"; powinno określić pozostałe parametry funkcji sklejanej. Czy tak jednak 1 Wszystkie wielomiany Si mają łącznie 4n współczynników. Z (6.4.1) 'hika 2n warunków. W każdym węźle wewnętrznym ciągłość pochodnej .: Claje jeden warunek:
(6.4.2) ' :'
' :'
t5
X
.._____:, S2
„·----o S3
RYS. 6.3. Funkcja sklejana stopnia O
Funkcja sklejana stopnia O (dla niej warunek 2 nic nie wnosi) jdŚ przedziałami stała. Przykład takiej funkcji dla n = 5 pokazano na rys. 6.3 Natomiast na rys. 6.4 mamy funkcję sklejaną stopnia 1 dla n= 8. Dla xi'' [ti, ti+i) jest S(x) = aix+bi. Wygodnie jest rozszerzyć to określenie dla i = na półprostą (-oo, ti), a dla i= n - 1 na półprostą [tn-1, oo). Zauważm że warunek 2, czyli żądanie ciągłości funkcji S, wiąże współczynniki ai,. z ai+i. bi+l·
Funkcje sklejane stopnia trzeciego Opiszemy teraz bardziej szczegółowo konstrukcję i własności funkcji sklej nych stopnia trzeciego (sześciennych). Są one często używane w praktyc Szukamy takiej funkcji S, która w danych węzłach ti ma dane wartości
t .ich razem n -1. Tyleż warunków wynika z ciągłości drugiej pochodnej. :rn_y więc w sumie 4n - 2 warunki. Zostają nam dwa stopnie swobody, 're można wyzyskać na różne sposoby. Znajdziemy teraz wzór na Si(x) w przedziale [ti, ti+i)· Wprowadzamy mocniczą wielkość Zi = S"(ti)· Ponieważ si E Il3, więc funkcja Si' jest ·owa. z równości snti) = Zi, Si'(tH1) = Zi+l wynika zatem, że
\ Si"( X )
Zi (ti+l - X ) + --,;:; Zi+l (X = hi
-
ti ) ,
zie hi =:== ti+l - ti. Całkując dwukrotnie obie strony tej jemy wielomian si: .
i D są stałymi całkowania, które wynikają z warunków interpolacyjnych '(ti) = Yi, Si(ti+i) = Yi+l· Łatwo sprawdzić, że ostatecznie Zi (
Si ( X ) = 6 hi ti+l - X)
+ ( Y~:l
3
( + Zi+l hi X 6
-
- zi+;hi) (x - ti)
ti
)3
+
+ (~: - Z~i)
(6.4.4)
(ti+l - x).
330
6. APROKSYMACJA FUNKCJI
6.4.
Aby wyznaczyć wielkości Zi, korzystamy z warunków (6.4.2). Różni· wielomian (6.4.4) i podstawiając x = ti, otrzymujemy równość
V1 -
kując
S i'( ti )
=
hz hi Yi Yi+l -3Zi - 5zi+l - hi+-,;;-·
Natomiast zmiana w obliczonej pochodnej x = ti daje równość I (t i ) = -hi-1 S i-1 -Zi-1
6
hi-1 + --Zi -
3
Yi-1 -hi-1
Przyrównujemy do siebie dwa otrzymane
wskaźnika i
bo
bi -
= 2 to n
for i
2(hi-1
Vi -
b; -
zo-O output (zi)
hi-1
Wartości
wyrażenia:
Ui, Vi obliczane dla i
il
·Jeśli Ui-1
'
.
r.
" .
.
Zn-2 Zn-1
h2 i-l . Ui-:-1
„
.•
Vn-2 Vn-1
U1 -
2(ho + h1)
.
·
[li, t2),
. · ·,
„
[tn_.:2, tn-1),' . [tn-;1> oo)
tym celu badamy kolejno . X -
tn-2,
... ,
""
X
różnice
.
'
-":ti}'. "
.
.
.;,!
Do szczególnej postaci macierzy układu, która jest symetryczna, trójp~. kątniowa i przekątniowa dominująca, dopasowujemy pewien wariant met. eliminacji Gaussa; wybór elementów głównych nie jest tu potrzebny: input n, (ti), (Yi) for i = O to n - 1 do h; - ti+l - ti bi - 6(Yi+l - Yi)/hi end do
.„
.
> 2(hi-1 +hi):.:_ hi.'-1 > hi·
.
· znajdziemy pierwszą z nich, np. x - ti, która jest nieujemna, to [ti, ti1-1)- Jeśli wszystkie te ·liczby.są hjemne:, to x ·E (-oo, t1) i przyjemy i= O. W ten sposób znajdujemy wskaźnik właściwego wielomianu obliczamy jego wartość Si(x) 4 ). Przy tym zamiast (6.4.4) stosujemy tszy wzór. ·
=
Un-2 hn-2 hn-2 Un-1
.
'"'d:'-; t~-1,
'
hn-3
identyczne z tymi, które
. -:
. f'" lf .'
I
I
są
Po obliczeniu wielkości zo, z1, ... , Zn można znaleźć wartość funkcji ejanej S w·. dowolnym punkcie x. Najpierw należy ustalić, do którego ·rżedziałów ·
~·
tak: ···:
II.
1 nie
> hi-I, to
u~ ~ 2(hi-1 +hi) -
ależy.:w
wyraża się
>
stępują w .układzie równań. Ponieważ w· algorylimie występuje dzielenie ez Ui„ trzeba wykazać, że ui =f. O. 'lndukcyjnie„udowodnimy więcej ~anowicie, że Ui >hi, a wiemy, że hi >O. Dla i= I jest u1 = 2(ho +hl) >
. (~pa, t1),
(6.4.6)
hi-lVi-1/U.i-1
=n
\(. . układ
+hi) - h;_ifui-1
bi-1 -
- 1 to 1 step -1 do Zi ,...:.. (vi - hizi+1)/u; 'end do
Yi + --.
Mamy więc układ n - 1 równań z n + 1 niewiadomymi zo, z1, ... , Zn. K, dy wybór zo i Zn pozwala wyznaczyć pozostałe niewiadome. Najproę, przyjąć, że zo = Zn = O. Daje to tzw. naturalną funkcję sklejaną. Jes~ rzeczywiście sensowny wybór, o czym świadczy tw. 6.4.1. Niech będzie
z· B··=_: i . 2' i 1Tf1ki sposób wyznaczania i jest sensowny tylko dla niewielkich n, bo wymaga zbar,ŚredJ?.io około n/2 różnic x - t3 . .Godny polecenia jest inny, znany sposób: jeśli np. ;'to najpierw porównujemy x z t9, później -·zależnie od wyniku - z t5 albo z t1a
. aje.to wskaźnik i najwyżej po czterech porównapiach.(przyp. tlmp..). l •
·.:
.••
. •
.
„
.
.
' i'
•
332
6. APROKSYMACJA FUNKCJI
6.4.
W zadaniu 12 sprawdza się poprawność tego wzoru. Niżej podano wyniki prostego testu, w którym zastosowano zapropon · wany algorytm. Dla funkcji f(x) = y'X i 10 węzłów 0.25i (O< i< 9) wyzn'~ czono funkcję sklejaną sześcienną Si obliczono różnice E(x) = S(x) - f( w 37 punktach 0.0625j (O< j < 36):
1 a
8 11 g" dx =
L lt; n
i=l
= -
IE(x)I
X
o
o 1.0732110-l 7.5266610-2 3.3261710-2
S" g11 dx =
t lt;
tCi lt;
S"'g' dx = -
i=l
t;-1
g' dx =
t,_1
n
=-
I:: e;[g(ti) -
g(ti-1)l
•
=o.
i=l
Przypomnijmy, e x równa
o
...................
o
że
krzywizna krzywej o równaniu y = f(x) jest w punk-
lf"(x)l{l + [f'(x)] 2 V 312 .
3.6478010-5. 6.3657810-5 . 5.8531810-5
·'
.
i pierwsza pochodna funkcji f jest niezbyt duża, to lf"(x)I dość dobrze roksymuje krzywiznę. Wtedy zgodnie z tw. 6.4.1 funkcja sklejana S ma ,przybliżeniu najmniejszą średnio krzywiznę w przedziale [a, b]. Zauważmy też, że obliczając ostatnią całkę, otrzymujemy m.in. sumę
o
1.1408310-4 2.1231210-4 2.0468210-4
n
L[(S"g')(ti) - (S"g')(ti-1)]
o
=
(S"g')(b) - (S"g')(a).
i=l
Maksymalna wartość IE(x)I równa 0.11 jest osiągnięta w przedziale (O, 0.2 (warto zastanowić się, dlaczego właśnie tam). Poznamy teraz twierdzenie, z którego wynika, że - w pewnym sensie naturalna funkcja sklejana sześcienna jest najgładszą funkcją interpolując
,}tjest np. wtedy, gdy warunki dające naturalną funkcję sklejaną, JnY warunkami brzegowymi S'(a) = f'(a) i S'(b) = f'(b) 5 ).
zastą-
nkcje sklejane hiperboliczne
f - S.
Dowód. Niech
będzie g :=
1b(!")2
1b(8")2 + 1b(9")2 + 21b
dx =
dx
pewnych zadaniach wygładzania danych jest celowe wprowadzenie paetru r zwanego naprężeniem. Im r jest większe, tym bardziej naprężo jest krzywa, która przechodzi przez dane punkty, a więc tym bardziej
Stąd
dx
S" g" dx.
Wystarczy udowodnić, że ostatnia całka po prawej stronie znika. Całkująp i,\} przez części uwzględniamy, że: S"(to) = S"(tn) =O, g(ti) =O dla O< i< oraz to, że S"' jest przedziałami stała, np. równa q w [ti-1, ti):
5}Ta zmiana daje inne twierdzenie: z tw. 6.4.1 wynika, że całka J:!J"(x)] 2 dx, gdzie keja f należy do C 2 [a, b] i ma ustalone wartości w węzłach, jest minimalna, gdy f jest : ralną funkcją sklejaną interpolującą, natomiast przyjęcie powyższych warunków brzech oznacza, że nierówność dotyczy podklasy funkcji f z dodatkowo ustalonymi wariami f'(a) i f'(b) i funkcji sklejanej spełniającej te same warunki. W tej podklasie imum wspomnianej całki jest na ogół większe niż w tw. 6.4.1 (przyp. tłum.).
334
6.4.
6. APROKSYMACJA FUNKCJI
przypomina ona łamaną, czyli wykres funkcji sklejanej stopnia pierwsze· Natomiast dla małych T jest ona bardziej podobna do wykresu podob funkcji, ale sześciennej. Ilustrują to rys. 6.5(a) i 6.5(b).
:---.-~
o
5
20
15
10
i danych
15
węzłów
x",.x;
(1 ~i~ n - 1).
·miniemy tu szczegóły dowodu, że wynika stąd układ równań
„
mało naprężona T
·przedtem, hi= ti+i -ti. I tym razem trzeba jeszcze wyznaczyć wielkości pierwszej pochodnej wynikająca z warunku 2 pociąga za sobą· lim J'(x) = lim f'(x)
~ dla naturalnych funkcji sklejanych, musimy narzucić jeszcze dwa wai na parametry Zii możemy, jak przedtem, przyjąć, że zo =Zn= O. Znalezienie funkcji sklejanej hiperbolicznej dla danych punktów (ti, Yi) ;ina opisać tak: · · , .. r'.' Upewnić się, że to< ti <::tri': · li" ' · . Obliczyć hi, ai, /3i, li dla O i ~ n-:-- 1. . Rozwiązać układ trójprzekątnio~ (6.4.10) przyjin.ując, że zo =Zn:=== O. ll.rtości 'funkcji oblicza się ze wzoru (6.4.9) dla odpowiedniego i. Stosując się do powyższych wskazówek, można testować skutki wyboru nych wartości parametru T. Tak właśnie, dla n= 25 i ti =i, otrzymano ·: 6.5(a) i 6.5(b). · Fun~cję sklejane hiperboliczne wprowadził Schweikert [1966]; zob. też e [1974a, b] i Pruess [1976„1978]. Cline opracował programy konstrukkrzywych i powierzchni za pomocą takich funkcji~ Alternatywnym na., ziem są funkcje sklejane napięte (taut splines) ·de Baora [1984]. Są .to 'kl~. ':funkcje sklejane sześcienne. z do.datkówymi piinktami .interpolacji· bieranymi tam, gdzie krzywa ma zmieniać gwałtownie kierunek. Zaletą o .wariant.u 'jest to, że nie wymaga' o~:-qdręb~ego oprogramowania i poala· uniknąć kłopotliwego obliczania.wartości funkcji hiperbolicznych.
<. :·.
<
funkcję sklejaną hiperboliczną 6 )
f
określamy przyjmując, że:
1. W przedziale [to, tn] istnieje czwarta pochodna j( 4). 2. Są spełnione warunki interpolacyjne f(ti) = Yi dla O~ i~ n. 3. W każdym z przedziałów otwartych (ti-l, ti) jest j( 4 ) - r 2 f" =O: . Oczywiście dla T =O te żądania określają zwykłą funkcję sklejaną sześci ną, bo równanie j( 4 ) =O jest spełnione przez każdy wielomian klasy 113'. Aby znaleźć funkcję f, postępujemy podobnie jak przedtem. Przy)' jemy więc Zi = f"(ti) i formułujemy warunki, jakie mają być spełni~ w przedziale [ti, ti+i]: f(4) - T2 f" =
·. ralne funkcje sklejane można określić także dla wyższych stopni, ale o. nieparzystych. Niech 2m + 1 będzie tym stopniem. Przypadek m = 1 opisano. Qgólnie, dla danego. układu węzłów takich, że
6 ) W oryginale tension spline. Dosłowny przekład wydaje się niezgrabny, natomias, użyty wynika oczywiście z (6.4.9) (przyp. tłum.). ··
„. ~
..
i :1
336
6. APROKSYMACJA FUNKCJI
6.4.
INTERPOLUJĄCE
337
FUNKCJE SKLEJANE
naturalną funkcją sklejaną stopnia 2m + 1 jest funkcja SE C 2m(IR), któ
w każdym z przedziałów [ti-l, ti] (1 .,;; i.,;; n) jest wielomianem klasy II2mH natomiast na półprostych (-oo, to) i (tn, oo) jest wielomianem klasy II (a więc funkcją li~iową, gdy m = 1). Przestrzeń tak określonych funkcj oznaczamy symbolem N;_m+l. , W twierdzeniach dotyczących tych funkcji używamy symbolu d oznaczenia obciętej funkcji potęgowej. Z definicji jest ona równa xn dla x ~1 i równa 0 dla X < 0. Funkcja należy do klasy cn-l.
x+
TWIERDZENIE
rzyrównując
do Owspółczynniki tego wielomianu, otrzymujemy układ rów, podany w twierdzeniu. • 6.4.3. Jeśli O .,;; m .,;; n, to istnieje dokładnie jedna naturalna funkcja sklejana S E N;_m+l, mająca w danych węzłach ti dane wartości Ai.
TWIERDZENIE
6.4.2. Każda funkcja z przestrzeni N;_m+l wyraża
w postaci n
m
S(x) = Laixi+ Lbj(X-tj)im+1, i=O
Dowód. Na mocy tw. 6.4.2 parametry ai, bj funkcji S powinny warunki:
j=O
spełniać
tępujące
gdzie b·J sn't: takie I że"~ WJ= 0 b.ti. J J =O dla O..;; i..;; m.
n
m
S(tk)
Dowód. Na półprostej (-oo, t 0 ) funkcja Sjest z definicji pewnym w; lomianem Po klasy IIm. Jest nim suma I:~o aixi. W przedziale (to, t1) fu. cja S ma być wielomianem Pl E II2m+l· Z warunków ciągłości w to wyni~;
=L
ai4
i=O
+L
bJ(tk - t3·)!m+l
= Ak (O.,;;
k..;; n),
j=O
n
L bit~ =O
(O ..;; i ..;; m).
.i=O
że
t to układ m+n+ 2 równań z tyluż niewiadomymi. Aby sprawdzić, że jego
I.
1
Korzystając
P1(x) =
ze wzoru Taylora,
wyrażamy
'ierz jest nieosobliwa, dowodzimy, iż odpowiedni układ jednorodny ma zerowe rozwiązanie. Przyjmijmy zatem, że S(tk) =O dla O ..;; k ..;; n.
~ko
wielomian Pl w postaci
2m+l 1 . . 71Pi')(to)(x - to)'=
L
i=O i.
=
(6.4.11)
hl
L -=-jPg)(to)(x - to)i
+ bo(x - to) 2m+l = Po(x) + bo(x - to) ~:,
i=O i.
Dlatego na
.
półprostej
S(x) = Po(x)
2
'
'.:·J = s
to)im+l = -
(zauważmy przy okazji, że 3(i)(to) = O dla m < i ..;; 2m). Rozumując.~ samo dalej, otrzymujemy pozostałe składniki bj(x - tj)~~+l. Na półpros
(tn, oo) funkcja S musi być wielomianem klasy IIm, a tożsamościowa jej (m + 1)-sza pochodna: n
s(m+l)(x)
więc
musi tam z11i
= L(2m + 1)(2m) ... (m + l)bj(x - tir= O. j=O
Całkowanie b
li
(-oo, t1) jest
+ bo(x -
ie a.= t 0 , b = tn.
przez
części
daje
\'.'"
lb
-1
b
3(m}(x)s
=
3(m)(x)s(x) dx.
,korzystano tu równości s
.
.
l
'
1 b
= (-1r
S'(x)s< 2 m+I)(x)dx.
338 Ponieważ pochodna
1
s<2m+l) jest przedziałami stała, więc
f jtj
= (-1r
j=l
cjS'(x) dx
= (-1r
f
że
cj[S(tj) - s(tj-1)]
S ma zera to, ti, ... , tn.
Ponieważ
=o.
n+ 1 >:·
więc
Twierdzenie 6.4.1 uogólnia się na funkcje sklejane dowolnych stop· nieparzystych: 6.4.4. Jeśli f E cm+l [a, b] i a = to < ti < ... b, gdzie m < n, a S jest naturalną funkcją sklejaną klasy interpolującą f w węzłach ti dla O < i < n, to
TWIERDZENIE
< tn ,
N;,m+
'
takich,
x, {
;ł(2
- x) + ~. 2
2'
określa funkcję sklejaną Wzorując się
xlo yl
jest
1 1
2 o
określona
na
XE (-oo, lj XE (1,2] XE (2,oo)
X
(c) y
1-l 13
o
1 7 9
xE(-1,0J x E (O, 1]
{x
3 -
1,
3x3 -1,
x E (-1, til.
·
XE (t1,l]
{a(x - 2) 2 + b(x - 1) 3 , x E (_:oo, 1] . i.(a) f(x) := c(x - 2) 2 , · x E. (1,.3] . ·
d(x-2) 2 +e(x-3) 3 ,
·.
xE(3,oo).
1
{1-2x,
•
(b) !(x) :=
xE(-oo,.:.'...3]
a+ bx + cx 2
+ dx 3 ,
x E (-3,4]
· .. . {157-32x, x E (4;oo) 1 3 2 .:: . . · (x - 2) + a(x - 1) , x E (-oo,,2] c) f(x) := (x ·_ 2) 3 - (x - 3) 2 , . x E (2,.3] ..
stopnia drugiego.
rozważaniach dotyczących
3 10
··
(x-3) 3 +b(x-2) 2 ,
··
r„ . .
_,ę.)
Jex)
.{3+~-9x 2 , :=;
. • •
.
•
ci+b(x-l)+c(x-1) 2
~»·f(~) := {x3, 1
XE [0,1) XE (1,2] XE (2,3).
xE[3,oo)
. prawd:ę;ić, dla jakich wartości parametrów występujących w definicji poniż ' zych funkcji te ostatnie są (naturalnymi) funk~jami sklejanymi sześciennymi . ,ą..trzech węzłów„ które są końcami podanych przedz_iałów. ·
r.'< funkcji sklejanych sześcienny rozważyć konstrukcję takiej funkcji Q stopnia drugiego dla danych (ti, yi) (O i <( n), gdzie to < t 1 < ... < tn. Znaleźć równania spełnione przez wielk Zi := Q'(ti)· Powinno się okazać, że jedną z nich można wybrać dowolnie. 5. Sprawdzić, czy naturalna funkcja sklejana sześcienna, interpolująca pm;1.kt
f 01 S(x) dx, gdzie Sjest funkcją sklejaną stopnia pierwszego, inter węzłach
X
(b)
jest naturalną funkcją sklejaną sześcienną .. · Sprawdzić, dla jakich wartości parametrów występujących w definicji poniż.. i~zych. funkcji te ostatnie są _funkcjami sklejanymi sześciennymi: ·
6.4
f w
1 4 7 25
26
1
O = t 0 < t 1 < ... < tn = 1. I takie, że t 0 < t1 < ... < tn, to funkcja sklej 1 stopnia pierwszego wyraża się wzotem S(x) = ax + b + L,7;;;1 cilx - til· ·:';' 3. Sprawdzić, czy wzór lującą
2.
Io
S(x) :=
Dowód jest tald sam jak dla tw. 6.4.1.
1. Znaleźć
X
. (a) y
1b[s(x)]2dx<1b[f(m+l)(x)]2 dx.
ZADANIA
dla następujących układów
· punktów (xi, Yi):
Stąd wynika (6.4.11), a więc i to, że 3(m+l) =O. Dlatego Sjest wielomiane
klasy IIm. Wiemy też jednak, S =O.
339
FUNKCJE SKLEJANE
•.::Znaleźć naturalną funkcję sklejaną sześcienną
j=l
lj-1
INTERPOLUJĄCE
6.4.
6. APROKSYMACJA FUNKCJI
a+ bx + cx 2
h~,:f~x)„== {i~~-- 1)
3
+ dx 3 ,
. .
•
+d(x-1) 3 ,
XE (0,1] XE (1,2]
XE (-1,0) · .
x E [O? l]~.
+:a(x - 1)2'+ b(i.
'. .
~ .1) '. c,
prawdzić poprawność w~orów (6.4.4), (6.4.5)
~ E (0,1)
XE (1,3].
i (6.4.6).
11,
340
6.5. PODSTAWY TEORII FUNKCJI B-SKLEJANYCH
6. APROKSYMACJA FUNKCJI
"!1'1l1!11111
341
9
12. Zastępując w (6.4.3) ti+ 1 przez ti +hi, przekształcając (x - ti - hi) 3 i stosuj' właściwe wartości dla Ci D, udowodnić wzór (6.4.7).
Zi obliczane za pomocą algorytmu podanego w tekście są takie, · Ei := uizi + h~Zi+i - Vi = O. Sprawdzić poprawność algorytmu wykazując, · (hi/ui)Ei + Ei+l =O i że to równanie można sprowadzić do (6.4.6). . 14. Sprawdzić, że wielkości Ui tworzone w algorytmie są takie, że ui > hi-1 + ' 13.
""""'
Wielkości
7
dlal~i~n-1.
15. Uprościć algorytm podany w tekście dla przypadku, gdy węzły są równoodlegl 16. Zmodyfikować podany w tekście algorytm, zastępując warunek S"(to( 1 S"(tn) =O ustaleniem wartości S'(to) i S'(tn)· 17. Udowodnić, że funkcja (6.4.9) jest rozwiązaniem podanego wcześniej zad.an. brzegowego. · 18.
Wykazać, że układ
funkcji
(6.4.10) wynika z
żądania ciągłości
pierwszej pochod
f.
19. Udowodnić, że macierz układu (6.4.10) jest dominująca przekątniowo.
RYS. 6.6. Litera i
5. \
węzły
Napisać i sprawdzić program obliczania funkcji sklejanej sześciennej S, która dla danego układu węzłów taldch, że to < t1 < ... < tn, spełnia warunki
S(ti)
= Yi
(O .;;; i ~ n),
S" (to) =a,
S" (tn) = {3.
program obliczający funkcję sklejaną hiperboliczną i sprawdzić jego dla wielu wartości parametru T. 7. Przygotować tablicę współrzędnych od 10 do 20 punktów na konturze samo• chodu (rys. 6.7). Dla wartości 0.25, 4, 10 parametru T obliczyć i narysować krzywe interpolujące ten kontur, a korzystające z funkcji sklejanych hiperbolicznych. Sprawdzić, jakie T daje najlepsze wyniki. 6.
Napisać
działanie
ZADANIA KOMPUTEROWE
6.4
Kl. W zadaniu 4 wspomniano, że jeden z parametrów zi można wybrać
li. 'i:
IJ'
I'
Napisać i sprawdzić program obliczający całkę ft; S(x) dx. K3. (a) Narysować na papierze milimetrowym krzywą, np. owal lub spiralę. brać na niej w regularnych odstępach punkty i przypisać im wart ti = i. Niech współrzędnymi tych punktów będą Xi, Yi· Interpolować· dy punktów (ti, Xi) i (ti, Yi) odpowiednio za pomocą funkcji sklej sześciennych Sx(t) i Sy(t). Wzory x = S~(t) i y = Sy(t) dają przybli" parametryczne danej krzywej. Sprawdzić skutki taldego postępowan· (b) Tę samą metodę zastosować do fantazyjnej litery z rys. 6.6 z zaznaczon' na niej 11 węzłami. Knuth [1979] wyjaśnia, jak w projektowaniu róż krojów pisma stosuje się krzywe sklejane. K4. Rozważyć skutki następujących eksperymentów numerycznych: (a) Niech p E Il20 interpoluje funkcję f(x) = (1+6x 2 )- 1 w 21 punkta~~) (-10 ~ i ~ 10). Obliczyć i wydrukować wartości f(x), p(x), f(x) w punktach 0.05j (-20 ~ j ~ 20). (b) Zrobić to samo, ale dla węzłów Xi= cos(7ri/20) (O~ i~ 20). (c) Dla funkcji i węzłów jak w, (a) znaleźć interpolującą funkcję sklejaną ścienną.
·:.~
RYS. 6.7. Kontur samochodu
. Podstawy teorii funkcji B-sklejanych tym podrozdziale zajmujemy się układem bazowych funkcji sklejanych, tj. ich, że każda funkcja sklejana (z pewnej przestrzeni) jest ich kombinacją o\Vą. Stąd nazwa: funkcje B-sklejane. Dla danego układu węzłów można \wo tworzyć za pomocą związków rekurencyjnych. Teoria tych funkcji 1 ~legancka, a własności numeryczne są wzorowe. Można też te funkcje 'lniać.
~'z teoretycznego punktu widzenia będzie wygodnie założyć, że na prorzeczywistej mamy
układ nieskończony węzłów:
..·. < L2 < L1
342
taki, że limi-.-oo ti = -oo, limi__, 00 ti = oo. Ten układ jest ustalony w cały ' podrozdziale i konstruowane funkcje sklejane bazują na nim.
prowadźmy TTk( ) •-'--V; X .-
•
Funkcje B-sklejane stopnia· O
{~
jeszcze pomocnicze funkcje liniowe X - ti . • ti+k - ti
'
\";,,
aje to bardziej elegancki wzór rekurencyjny:
Funkcje B-sklejane stopnia O oznaczamy symbolem Ifl, gdzie wskaźniki przebiega zbiór Z wszystkich liczb całkowitych. Przykładową funkcję teg typu pokazuje rys. 6.8. Kropki • oznaczają tam, że w szczególności przy;' mujemy Bf(ti) = 1 i Bf(ti+i) =O. Pełna definicja jest następująca:
Bf(x) :=
343
6.5. PODSTAWY TEORII FUNKCJI B-SKLEJANYCH
6. APROKSYMACJA FUNKCJI
(ti ,,,;;; X < ti-1-1) (x < ti lub x ;;. ti+l)·
·•'. Bki 7 ukBk-1 Vi i
'~~-
.
;
+ (1 -
Trk )Bk-1 Vi-j-1 i-J-1 •
.
: tego wzoru wynikają ·wszystkie własności funkcji B-sklejanych ~ższych opni. Zauważmy, że ponieważ Bf jest funkcją przedziałami stałą, a V,l keją liniową, więc indukcyjnie dowodzi się, że Bf jest w każdym z tych zedziałów wielomianem klasy rrk.
unkcje B:-sklejane stopnia 1 wzoru (6.5.1,) wynika, że 1 . X - ti O Bi (x) = Bi (x) ' ti+l - ti
RYS. 6.8. Funkcja B-sklejana
2. Bf(x) ;;. O dla wszystkich i, x.
ti-1-2 - X · O t Bi+l(x) = ti-1-2 - i+l
x-ti · ti+r- ti ti-1-2 - X ti-ł-2 - ti+l
B?
Oto kilka istotnych własności tych funkcji: 1. Nośnik funkcji Bf, czyli zbiór tych x, gdzie Bf(x) ::f. O, jest przedziale [ti, ti-J-i).
+
o ykr~s funkcji B{ pokazano na rys. 6.9.
3. Bf jest ciągła prawostronnie na całej prostej rzeczywistej. 4. 2=~-oo Bf(x) = 1 dla każdego x. Trzeba też podkreślić, że funkcje Bf są bazą wszystkich funkcji skl~" nych stopnia O (związanych z ustalonymi węzłami), jeśli tylko przyjrnię~ że i one są ciągłe prawostronnie. Istotnie, jeśli Sjest taką funkcją, czyld przedziałami stała: ·
S(x)
=Ci
dla
ti,,,;;; x < ti+l
·.·
···. X
(i EZ),
to S(x) = 2=~-oo CiBf(x). Funkcje Bf tworzą więc bazę w sensie Sch, dera: każda funkcja sklejana ma jednoznaczne wyrażenie przez taki sz ··
RYS. 6.9. Funkcja B-Śklejana B[
1
nieskończony.
Funkcje Bf stanowią punkt wyjścia do rekurencyjnego określania fU: cji B-sklejanych wyższych stopni. Służy do tego wzór
Bf (x) :=
x - ti Bf- 1(x) ti+k - ti
+
ti+k+l - x Bf+i(x) ti+k+l - ti+l
(k;;. 1). (6'.
Pewne. własności tych funkcji są niemal oczywiste: .:-Nośnikiem funkcji B{ jest przedział'(ti, ti-1-2).
Tylko własność 4 wymaga komentarza.· Rozważmy dowolne x rzecz wiste. Z założenia o węzłach wynika, że istnieje takie j, iż tj ~ x < tH 1 Wtedy co najwyżej wartości Bj-i(x) i Bj(x) nie znikają. Dlatego · ~ 1( L.., Bi x) i=-oo
1
= Bj_ 1 (x)
1
+ Bj(x) =
tj+l -
t·
J+l
X
-t· J
L1
X -
+ t·
J+l
345
· . rocedura numeryczna lem;).Cie 6.5.3 współczynniki Ci, mogą zależeć od x. Lemat daje więc sposób bliczania wartości funkcji wyrażonej w postaci
tj -t· = 1.
oo
f(x)
J
=
L
Cf(x)Bf(x).
i==-oo
Własności
akładamy, że funkcje Cf są dane. Jeśli
funkcji B-sklejanych
Poznamy teraz kilka lematów, z których Bf dla i E Z i k E N.
wynikają ważne własności
funkcJ
(6.5.3) .o ze wspomnianego lematu wynika,
LEMAT
6.5.1. Jeśli k ;;i, 1 i
X
tj. (ti, ti+k+1), to Bf(x) =O·.
oo
LEMAT
6.5.2. Jeśli k
>o i
XE (ti, ti+k+l), to Bf(x)
oo
L
Oczywisty dowód indukcyjny wynika z (6.5.2).
Cf(x)Bf(x)
=
rując tę równość,
Mamy nadzieję, że funkcje Bf tworzą bazę przestrzeni wszy ldch funkcji sklejanych stopnia k. Dlatego interesują nas szeregi posta 2=~-oo CiBf(x).
Cf- 1 (x)Bf- 1 (x).
wnioskujemy ostatecznie,
oo
Dowód. Wiemy już, że lemat jest prawdziwy dla k = Kontynuując dowód indukcyjny, przyjmujemy, że dla pewnego k ;;i, 2 ora wszystkich i, x jest Bf- 1 (x) ;;i, O; wynika to także z lem. 6.5.1. Niec będzie ti < x < ti+k+l· Wtedy oba ilorazy w (6.5.1) są dodatnie. W bee założenia indukcyjnego jest Bf- 1 (x) > O w (ti, ti+k) i Bf+l(x) > ·· w (ti+i, ti+k+ 1 ). Dla k ;;i, 2 te dwa przedziały zachodzą na siebie, a w i sumie Bf(x) >O.
L
i=-oo
i=-oo
>o.
że
że
oo
L
Cf(x)Bf(x)
=
L
Cf(x)Bf(x).
i=-oo
i=-oo
:iemy, że dla tj .;;;; x < tj+l sumą szeregu po prawej stronie jest po prostu . (x). Zauważmy jeszcze, że z (6.5.3) i z definicji funkcji v;_k wynika równość (6.5.4) Te wszystkie uwagi (• ALGORYTM
uzasadniają następującą procedurę:
6.5.4. Dla danych Cf oraz x takiego, że tm .;;;; x
< tm+l1
wartość funkcji sklejanej S(x) := I:~-oo Cf Bf(x) jest równa wielkości LEMAT
6.5.3. Dla
oo
L
i=-oo
każdego
k zachodzi
równość
.l
c~
obliczonej za pomocą (6.5.4) jako ostatni element tablicy
oo
CiBf =
L
c:n
[Ci v;_k + Ci-1 (1 - v;_k)]Bf- 1 .
i=-oo
Dowód opiera się na przekształcenia szeregu.
tożsamości
c~
C"fn_1 ck-1
(6.5.2) i wymaga tylko elementarne'
m-k+l
LEMAT
6.5.5. Dla wszystkich k, x zachodzi równość
oo
'L i=-oo
Bf(x)
=
1.
trójkątnej
346
6. APROKSYMACJA FUNKCJI
Cf
Dowód. Zaczynamy od szeregu I::~-oo Cf Bf (x), w którym wszyst są równe 1. Dla ustalonego x z (6.5.3) wynika, że
Of- 1 = CfVl + Of_ 1 (1- Vl) = Vik + 1- Vik = Rozumując tak dalej, wnioskujemy, że z własności 4 funkcji
B?.
więc
Pochodne i Niech
całki
= a~+l BI?+ ka~Vk+l B~-l i
ii
i
i
1 B'?+ a~++ 't 1 'l. 1
k k TTk+1Bk-1 k (l TTk+1)Bk-1 - k ai+2 - v i+l . . i+2 -:: .. ai+l v i i+l
op= 1 dla każdego i. Lemat wynika'. ·
orzystając z (6.5.6) i (6.5.7), przekształcamy pewne wyrażenia występu, . . „.„ •. •a~v.;k-i:-1 B~-1 = a~+lv.;k B~-1
funkcji B-sklejanych
'l.
't
•
i
i
k (1
i
't
'
Trk+l)Bk-1 _
-.Qi+2 - V i+l i+2 _ k+l(l Trk )Bk-1 k Trk+lBk-1 · - -ai+l - v i+2 i+2 - ai+l v i ·. i+l
będzie
_ „·k+1(1 · Trk )Bk-1
więc
+
k (1 Trk+l)Bk-1 + k ai+l - vi+l · i+l ·
1.
k ·(1 Trk+l)Bk-1 k Trk-HBk-1 :== ai+l - vi i+l - ai+l v i+l i+l
Jest
347
6.5. PODSTAWY TEORII FUNKCJI B-SKLEJANYCH
niemal oczywiste,
-
że
ai
-
vi+l
k (1- Trk+l)Bk-1._ + ai+l v Hl i+l =
k+hrk Bk-1
i+l - ai+l vi+l
i+l ·
obec tego pochodna funkcji Bf+l wyraża się tak:
!!:_B~+l = a~+l BI?+ k[a~+lv:;k B~-l + a~+l(l dx . i. . .i i i i .i . •. · LEMAT
6.5.6.
Jeśli
. !!:_ B~+l
d
dx i
Dla k = 1 ten wzór jest prawdziwy dla każdego x różnego od ti, ti-i. ·,;l'
'" Dowód. Sprawdzenie (6.5.8) dla k = 1, 2 pozostawiamy czytelniko . W dalszym ciągu dowodu indukcyjnego zakładamy prawdziwość tego wz ru dla pewnego k. Ze wzoru rekurencyjnego (6.5.2) i z tożsamości (6.5.5 wynika, że ·
dx
•
= .!!:_ [v.;k-1-1 BI?+ (1 dx • i _ v;k+l d Bk i -d i X
= a~+l BI? + ka~+l BI? :__, a~+l BI? . - ka~+l BI? = i i i • •+1 i+l i+l •+1
6.5.7. Dla k ~ 1 funkcje
Bf
należ
., Dowód. Funkcje .f!{ są ciągłe, czyli,B{ E 0°(JR). Jeśli Bf E ok-l(JR), na·mocy'lem. 6.5.6 do tej samej klasy należy (d/dx)Bf- 1 , a stąd już ika, że Bf+1 E Ok(JR). . . •
v:;k+l)B'Y' J = Trk+l) d Bk k+~B~ ,''• v i+l -d i+l - ai+l i+l \. X
·
Pochodne wyrażamy zgodnie z założeniem indukcyjnym (6.5.8):
.!!:_ B'Y'+l = dx •
· = (k
)B~-1 ]-
i+l . i+l
k[ k+hrk Bk-1
my w nawiasach kwadratowych upraszczamy,
k ~ 2, to
dx Bfex) = k[af Bf- 1 (x) - af+iBf+l(x)].
!!:_ Bl?+I
k+lBk
-ai+l . i+l -
v:;k.
1 ) + a~+l B'Y' + a~•+1 B~• • • i+l • i l TTk+l)( k Bk-1 k Bk-1) k+lBki+l = + k( - vi+l ai+l i+l - ai+2 i+2 - ai+l
..
.Korzystając
d
dx
z Iem. 6.5.6 otrzymujemy wzór
oo
""' CiBfex)
L., i=-oo
oo
= k ""'
. L., i=-oo
Ci - Ci-l
t·+k - t·i i
B~- 1 (x) •
(k? 2) ,
a k = 1 jest on poprawny poza węzłami),"który ~~ina.stosować w różnicz ą,niu i:i.u~erycznym. Trzeba jednak się ż~ różniczkowanie funkcji . . . zastizec, . .artościach zakłóconych przez błędy pomiaru jest bardzo ryzykowne.
I
348
6. APROKSYMACJA FUNKCJI
LEMAT
l
x
-oo
6.5.8.
Całka
z funkcji B-sklejanej
Bf (s) ds= ti+k+l - ti k +1
'
."""
'"""Kii 349
6.5. PODSTAWY TEORII FUNKCJI B-SKLEJANYCH
wyraża się
wzorem
f, Bj+l(x). j=i
Dowód. Sprawdzamy najpierw, że pochodne obu stron tej równoścf 1 identyczne. W tym celu stosujemy (6.5.9) ze zmianą k na k + 1, dla c3 ·~. dla j < i i Cj = 1 w przeciwnym razie. Wtedy c3 - Cj-1 jest równe 1 dl j = i i równe O dla j f= i, a zatem ·
. ykorzystano tu równości BJ+.~+1 = Bj- 1 =O w przedziale (tk+i• tk+j+i)· . . m . d u lccyJnego . . u kl a d {Bk-l . t !:zał ozema wym·1ca, ze i+l, Bk-l i+ 2 , ••• , Bk-l} i+k Jes iezależny liniowo w tym samym przedziale. Dlatego w sumie po praej stronie (6.5.11) wszystkie wspołczynniki Cj+i - Cj+i-1 znikają, czyli = Cj+l = ... = c3+k· Jeśli A jest wspólną wartością tych liczb, to na ocy lem. 6.5.5 jest S(x) =A dla x E (tk+i• tk+j+l) (w szeregu z tego lema, w przedziale (tk+j, tk+j+I) nie znikają tylko składniki od Bj do Bj+k). onieważ jednak założono, że Sznika w tym przedziale, więc>.= O. • 6.5.10. Układ funkcji {B~k' B~k+l• ... , B~_i} jest niezależny liniowo w przedziale (to, tn)·
LEMAT
To samo wynika z dowodzonej równości (6.5.10) przez jej zróżniczkowani stronami. Pozostaje zauważyć, że na mocy Iem. 6.5.1 obie strony tej równośc znikają dla x = ti.
Dowód. Niech będzie S := L:r==-~k c;Bf. Przypuśćmy, że SI (to, tn) =O. przedziale (to, t 1 ) nie znikają tylko funkcje B~k' B~k+l • ... , B~, więc
o
O= S
Dodatkowe Niech f
IK
będzie zwężeniem
L
ciBf
I (to, ti).
(6.5.12)
i=-k
własności
(f I K)(x) = f(x)
funkcji f do podzbioru K jej dziedziny:
(x E K).
To pojęcie przydaje się w rozważaniach dotyczących funkcji sklejanych, każda funkcja Bf I (t3, t3+i) jest wielomianem. Gdy mówimy, że układ fu cji fi jest niezależny liniowo na K, mamy na myśli taką n~ezależność, w z kłym sensie, układu zwężeń fi I K. Rozważmy funkcje B-sklejane BS, Bf, ... , Bk. Ich zwężenia do dowo nego przedziału (tv, tv+i) tworzą układ wielomianów, a dla v = k ten ukła jest bazą przestrzeni wielomianów IIk. 6.5.9. Układ {Bj, Bj+l, ... , Bj+k} w przedziale (tk+i• tk+j+l)· ·
LEMAT
I (to, ti) =
jest
niezależny
a mocy lem. 6.5.9 układ {B~k' B~k+l' ... , BS} jest niezależny liniowo (to, t 1 ). Dlatego wszystkie Ci występujące w (6.5.12) znilcają. Jeśli jest też = ... = Cn-l =O, to lemat jest udowodniony. W przeciwnym razie niech będzie najmniejszym wslcaźnikiem dodatnim, dla którego c3 f= O. Wtedy 3, tj+1) C (to, tn). Dla dowolnego x E (t3, t3+i) otrzymaliśmy sprzeczność: n-1
O= S(x)
=
L c;Bf(x) = c3Bj(x) f= O. i=j
latego wszystkie Ci
,.,Udowodnić, że
•
znilcają.
wzór (6.5.8) jest poprawny dla k = 1 poza
ti+2· . 1:
Udowodnić, że
Dowód. Dla k =O lemat jest oczywisty, bo wielomian BJ jest linio niezależny w (t3, tj+1), gdzie nie znika. Niech będzie k :> 1. Załóżmy, że 1 mat jest prawdziwy po zmianie k na k-1. Niech będzie S := L:f=o Cj+iBff+ Przypuśćmy, że SI (tk+i• tk+j+I) =O. Stąd i z (6.5.9) wynika, że
X E (ti, ti+i) XE (ti+l 1 ti+2) X E (ti+2> ti+3)
w przeciwnym razie. „~prawdzić, że
• '2
Bi (ti) =
ti - ti-1 ói,i+l ti+l - ti-1
ti+l - ti + ti+l ói,H2· - ti-1
węzłami ti,
ti+l,
350 4.
6. APROKSYMACJA FUNKCJI
Wykazać, że jeśli
Ci-lhi-1
9. Udowodnić, że jeśli :L;:,_00 c;,Bf(x) =O dla każdego x, to wszystkie c;, znikają.y:1:t
dla hi := ti+l - ti jest
+ Ci-2hi = Yi(hi-1 +hi)
to funkcja sklejana S :=
:L;:,_
00
'. Udowodnić wzór.(6.5.9).
(i EZ),
'f.
ciB'f spełnia warunki S(tj) = YJ (j EZ).
L
.. .• :c~.„ ...
.„„ , , •. , . •.
!'
oo
- ""°'
;' dx2 ..w
= 1 dla tk < x < tk+n·
7. Udowodnić, że E~=O Bf(x) >O dla tl 8. Wykazać, że dla tm < x < tm+l jest
.
Wykazać, że dla k ~ 3 jest
f· . d2
5. Znaleźć część wspólną nośników funkcji Bg, Bt, ... , B:. 6. Udowodnić, że E~=O Bf(x)
10. Udowodnić, że jeśli ti =i (i EZ), to Bf(x) = Bg(x - ti)· 11. Niech będzie Uf(s) := 1, Uik(s) := (ti+ 1 - s)(ti+2 - s) ... (ti+k - s) dla k
IL
c;,Bf(x)I
xEIR i=-oo
>_\
< supjc;,j. iEZ
!'
, :Udowodclć, że jeśli supilti+l - til
Udowodnić, że
Jl',
·~.i1rx: I f
12. (cd.). Udowodnić, że oo
oo
i=-oo
i=-oo
·.i ·oszacować
I
13. (cd.).
·
f
c;,Bf(x)I dx
-oo i=-oo
Udowodnić tożsamość
< m„. to.
!c;.I. ::•
i=-oo
.
z góry wielkość •
' '
Marsdena
oo
L
uik(s)Bf(x)
=
(x - s)k.
i=-oo
: DANIA KOMPUTEROWE
14. (cd.). Wykazać, że każdy wielomian klasy Ilk można wyrazić w E:-oo c;,Bf · 15. Podać przykład funkcji sklejanej E:_ 00 c;,Bf, która nie jest tożsamościo. równa O, chociaż znika we wszystkich węzłach. ·
16. Wykazać, że jeśli w ciągu stałych Cm-k, Cm-k+l • ... , Cm dwa sąsiednie elemerl są identyczne, to funkcja sklejana E:-oo c;,Bf (x) jest w przedziale (tm„ tint wielomianem klasy rrk-1· 17. Zastosować alg. 6.5.4 do dowodu, że E:-oo c;,Bf jest wielomianem klasy' między kolejnymi węzłami. :· 18. Za pomocą alg. 6.5.4 podać nowe dowody lematów 6.5.1 i 6.5.2.
l\~t_')
«,~·1
'
. •
6.5
.
'.t' Napisać
i sprawdzić program obliczający, dla danej' funkcji f, przybliżone f(t) dt dla x E [a, b] (oddzielna procedura oblicza wartości f(x)). Program ma najpierw znaleźć dla f naturalną funkcję sklejaną -. ·sześcienną S dla układu n węzłów równoodległych z [a, b], a potem obliczać S(t) dt. Parametry a, b, n określa użYtkownik,programU:. wartości funkcji g(x) :=
J:
• J:
. Napisać procedurę, która dla danych n, k, węzłó.:V t1, t2, ... , tn+k+l• współ'. ·czynników c1, c2, ... , Cn i danego x oblicza f(x) := E~=l c;,Bf°(x). " 1 P.rzyjmując, że ti ='i (i EZ), napisać program obliczający normy llBglloo dla ;J .<-k <' 100. Do kontroli mogą posłużyć wartości tych norm; wynoszące· 1, i, 5; 10. · 1p;55 i 0.410963 odpowiednio dla k
=
I
''
fil!\
353
6.6. ZASTOSOWANIA FUNKCJI B-SKLEJANYCH
352
6.6. Zastosowania funkcji B-sklejanych ' o Zachowujemy tu oznaczenia przyjęte w poprzednim podrozdziale. Określo
tam funkcje B-skiejane Bf chcemy teraz powiązać z funkcjami sklejany l. wprowadzonymi w podrozdz. 6.4. Każda taka funkcja z definicji należy d klasy ok-l, a w poszczególnych przedziałach [to, ti], [ti, t2], ... '[tn-1, tn gdzie n 1, jest wielomianem stopnia < k. Zbiór tych funkcji będziem oznaczać symbolem S~; nie precyzujemy tu węzłów, przyjmując, że są ust lone. Zakładamy też, że dziedziną każdej funkcji z tej klasy jest przed · [to, tn]. Do tegoż przedziału ograniczamy się, rozpatrując funkcje Bf. U warny więc symbolu Bf I [to, tnJ, także wprowadzonego w podrozdz. 6.5„~
>
. cja sklejana ma mieć postać L,j= 1 CjBj. Jest to sensowne, jeśli macierz . rpolacyjna A o elementach
(A)ij := Bj(xi)
(1
(6.6.3)
t nieosobliwa. Na mocy pięknego tw. 6.6.4 Schoenberga i Whitneya jest wtedy i tylko wtedy, gdy wszystkie elementy przekątniowe tej macierzy różne od O. Rozbity na kilka części dowód jest wzorowany na pracy de · ta [1976] i uzyskanych od niego informacjach. Przedtem jednak przypoijmy, że warunek
(1
·na mocy lematów 6.5.1 i 6.5.2 równoważny temu, że
Baza przestrzeni S~ TWIERDZENIE
6.6.1.
{Bf I [to, tn] :
-
Xi E (ti, ti+k-J-i)
Układ
funkcji
k
l
Dowód. Jest oczywiste, że funkcje z układu (6.6.1) należą do s~, z nich jest funkcją sklejaną stopnia k dla danego układu węzłó Wymiar przestrzeni S~ nie przekracza k + n, gdyż każdy jej element je
6.6.2. Jeśli macierz A to (A)ii =I= O dla 1 < i < n.
B
kombinacją liniową
i=O
n-1
+L
bj(X - tj)i
j=l
k +n funkcji 1, x,. ~., xk, (x - tl)i, (x - t2)i, ... , (x - tn-1)i. Wynika to z tw. 6.4.2 i jego dowodu. Wystarczy teraz przypomnieć, mocy Iem. 6.5.10 funkcje w (6.6.1) są liniowo niezależne.
(6.6.4)
LEMAT
każda
k
ięc oznacza, iż węzły interpolacji Xi muszą być rozmieszczone w 9sób wśród punktów ti definiujących funkcje B-sklejane.
1}
jest bazą przestrzeni s~. Jej wymiar jest równy k +n.
S(x) = I>ixi
(1
że
W związku z powyższym dowodem trzeba podkreślić, że baza (6. jest bardzo źle uwarunkowana i w obliczeniach należy ją zastąpić zą (6.6.1).
określona
określony
wzorem (6.6.3) jest nieosobliwa,
,. Dowód. Niech dla pewnego r tr+k+l oraz i > r > j, to Xi > Xr > tr+k+l > +1 i (A)ij = Bj(xi) =O. Wtedy kolumny od pierwszej do r-tej są liniowo żne, bo w każdej z nich znikają elementy odr-tego do n-tego. Stąd znów • ika, że A jest osobliwa. 1 't,
LEMAT 6.6.3. Jeśli k = 1 i ti < Xi < ti+2 dla 1 jest nieosobliwa.
< i < n,
to macierz A
\I
Gdy stosujemy funkcje sklejane w interpolacji, to jej węzły x 1 , x2, ... , (gdzie x1 < x2 < ... < Xn) mogą być różne od punktów ti 7). Interpolu~
'..Dowód. Dowód jest indukcyjny. Lemat jest oczywisty dla n = 1, bo 'y A jest macierzą o jednym elemencie Bł(x 1 ) =I= O. . ~'iech teraz będzie n > 1. Zakładamy, że lemat jest prawdziwy dla '~rzy A stopnia < n.
oryginale nie ma konfliktu terminów: w interpolacji występują nodes x;, a w d nicji funkcji sklejanych knots t;. Natomiast w języku polskim sensownym odpowiedniki
w są chyba tylko węzły. Aby \nie punkty Xj (przyp. tłum.).
Macierz interpolacyjna
uniknąć nieporozumień, będziemy
teraz tak
nazywać
354
6. APROKSYMACJA FUNKCJI
Przypadek 1. Jeśli istnieje takie r, że 1 < r < n i Xr < to dla każdej pary (i,j) takiej, że i < r < j jest Xi < Xr < tr+l i (A)ij = BJ(xi) =:=O. Dlatego
r: takiego, że 1 <. r < n,.to. mac;ierz A dzieli się na bloki tam.. wobec czego jej nieosobliwość wynika z tejże własności bloków
·::~ tr+k .dla reślone,
..
.,
gdzie C jest macierzą stopnia r, a D macierzą stopnia n - r. Macierz A j nieosobliwa wtedy i tylko wtedy, gdy takie są Ci D (zob. zad. 7). Ted. macierze mają taką strukturę jak A, ale mniejszy stopień, więc z .założe~ indukcyjnego są nieosobliwe. ' Przypadek 2. Podobnie rozumujemy gdy Xr;;;:;, tr+l dla r takie że 1 < r < n. Wtedy Aij = O dla j < r < i, czyli
c
Możemy więc założyć, że
ti+l
A=[~ ~]'
355
6.6. ZASTOSOWANIA FUNKCJI B-SKLEJANYCH
< Xi+l < ti+k+l
(1
Przypuśćmy, że - wbrew temu, co. chcemy udowodnić - macierz A jest · · bliwa. Wtedy Au = O dla pewnego u =I O. Niech będzie f = ~J=l UjBj . :funkcja znika W n+2 punktach ti, X1, X2, ... , Xn, tn+k+l (tworzą one ciąg nący; dwa skrajne nie należą do nośnika żadnej z funkcji Bj obecnych !). Ponieważ k;;;:;, 2, więc pochodna f'}stnieje i jest ciągła. Z twierdzenia lle'a zastosowanego do f wynika zatem istnienie n+l zer ei tej pochodnej,
''"t1
< 6 < X1 < 6 < X2 < · · · < Xn-'-1
gdzie C i D są macierzami odpowiednio stopnia r - 1 poprzednio stwierdzamy, że A jest nieosobliwa, bo takie są Ci D. Pr z y pad e k 3. Jeśli nie są spełnione warunki określające przyp ki 1 i 2, to Xi > ti+l dla 1 .;:;;; i < n i jednocześnie Xi < ti+l dla 1 < i < Tak może być tylko dla n= 1 (macierz A tego stopnia już rozważono) 'a! n = 2. Wtedy zakładamy, że x1 > t2 i x2 < t3, czyli t2 < x1 < x2 W przedziale (t2, t3) jest Bł(x) + BHx) = 1, czyli
<;•
E VjB·k-1 ' ·. gdzie · Vj. :=· . k( uj ,- ~j-1)
n+l •. .
~ ·1 .,
:.
I
=.
• . j=l
.
J
-~-~-
.
,. tj+k -:-. tj
I
.·. ba tu przyjąć, że u 0 = un+l . =O). ·ż definicji pun~tó:w·ei wynika„ że ' ··: . . . n-1-1 1 VjBt (ei) =o (1 < i
'•
E
~,(6.6.5), że ei dla 2
należy do nośnikafunkcji
. Rozróżnimy teraz cztery przypadki, uwzględniając nierówności 6 < . i en+l > tn+l· Jeśli 6 <- tk+l, to 6 należy do nośnika funkcji ''11 . 1; w przeciwnym razie żaden z punktów ei tam się nie znajduje, czyli (ei) = O dla 1 < i .;:;;; n+ 1. Podobnie, jeśli en+i > tn+l, t~ en+i . ~ZY. do nośnika funkcj.i B~+i, a w ·~rzeyiwnym ·razie B~+i(ei) = O dla . i tn+l· Wtedy.każdy z punktów ei 1 ~'.ży do· nośnika funkcji ·i zgodnie z -założeniem'indukcyjnym macierz adu (6.6.6) jest nieosobliwa, a zatem wszystkie współczynniki Vj znikają. ,eh definicji wynika, że u1 - uo = . . . = un+l - Un = O, a ponieważ . Un+i = O, więc i pozostałe Ui znikają;· co przeczy założeniu. Przypadek 2. 6;;;:;, tk+l i en+l >-t.;+1· Wtedy układ (6.6.6) upraszię nieco: ''n+i
),!
Wyznacznik tej macierzy jest równy >. - µ = Bł(x1) - Bł(x2) rys. 6.9 dla i = 1). 6.6.4 (SCHOENBERG-WHITNEY). Macierz A określona za po wzoru (6.6.3) jest nieosobliwa wtedy i tylko wtedy, gdy jej wszy elementy przekątniowe są różne od O. •· ·\„
punkt (i należy do nośnika funkcji Bf indukcyjnego wynika, że wszystkie Vj w nowym układz znikają, a to wraz. z równością Un+l = O pozwala wnioskować, że Ui = O ć( 1 < i < n, znów wbrew założeniu indukcyjnemu. Przypadek 3. fa < tk+l i (n+l < tn+l· Rozumowanie jak w p przednim przypadku daje sprzeczność z założeniem indukcyjnym. Przypadek 4. 6 ~ tk+l i (n+l < tn+l· Jest Bf- 1((i) =;:;. ·· i B~+:i((i) = O dla 1 < i < n+ 1. Układ (6.6.6) redukuje się do pos ci więc
z
założenia
n
L
Wracamy teraz do zadania interpolacji z n ' mocą funkcji
węzłami
x1, x2, ... , Xn za
n
' S(x)
=L
:
CjBj(x).
j=l
~~ika stąd układ równań i„· ·n
'(" L
Bj(xi)Cj = f(xi)
(1
< i < n).
j=l
VjBJ- 1((i) =O
(2
j=2
Jak w przyp. 2 wnioskujemy, że u2 - u1 = ... = Un - Un-1 = O. Nie ,\ oznacza wspólną wartość tych Ui· Jest więc f = ,\ 'L,j= 1 Bj. Poniew Bj ~ O i Br(x 1) > o, więc z równości f(x 1 ) =O wynika, że ,\=o. 6.6.5. Niech będzie ti = i dla i E Z. Czy punkty Xi (1 < i :;;;; . równe odpowiednio 3.1, 3.5, 3.6, 6.1, 6.6 mogą być węzłami interpolacji dl k=~ .
odnie z tw. 6.6.4 jego macierz jest nieosobliwa, jeśli są spełnione nierówści (6.6.4). ? Załóżmy teraz, że Xi = ti (co jest sprzeczne z (6.6.4)) i rozważmy anie interpolacyjne prowadzące do układu oo
L
PRZYKŁAD
Rozwiązanie. Odpowiedź
(1
357
6.6. ZASTOSOWANIA FUNKCJI B-SKLEJANYCH
< i < 5) wynikający z tw.
jest twierdząca, bo warunek i 6.6.4, jest spełniony.
Istnienie
z twierdzenia 6.6.1 wynika, że przestrzeń s~ funkcji sklejanych ma wym~ n+ k. Można przyjąć, że rozpatrujemy je w przedziale [to, tn]· Stawia· następujące pytanie: Jakie warunki powinny spełniać węzły xi, x2, ... , x z tego przedziału, aby interpolacja za pomocą funkcji z s~ była możliw TWIERDZENIE
[to, tn] i
są
6.6.6. Jeśli takie, że
ti-k-1
to dowolne
(1
wartości
węzły X1,
Xz, ... , Xn+k
należą
do
węzłach można interpolować
{6.6.7)
{1
amy tu w istocie sumę skończoną 'L,j, bo nośniki funkcji Bj są przedziai skończonymi). W najprostszym przypadku, dla k = O, mamy oczywiste ~iązanie Cj = f(tj), gdyż BJ(ti) = Óij· Dla k = 1 jest Ci-1 = f(ti), gdyż ,ti) == Ói-1,j· ;\;Aby rozwiązać to samo zadanie dla k = 2, korzystamy z wyrażenia dla (ti) podanego w zad. 6.5.3. Każde równanie układu (6.6.7) zawiera tylko a szukane współczynniki:
ti+l - ti Ci-2 + ti - ti-1 Ci-1 --'----ti+l - ti-1 ti+l - ti-1
= J(t i )
(l~i
mamy układ n równań z n + 1 niewiadomymi. Można go rozwiązać, dowolne C-1 i obliczając z tych równań kolejno co, ci, ... , Cn-1· anie interpolacyjne ma zatem nieskończenie wiele rozwiązań. Dla k = 3 z (6.6.7) wynika w taki sam sposób układ n równań z n+ 2 wiadomymi:
'półczynniki tego układu można obliczyć, stosując wzór (6.5.1): •I
Dowód. Na mocy tw. 6.6.l bazą przestrzeni s~ są funkcje Bj I [to, dla -k < j
(1
358
359
6.6. ZASTOSOWANIA FUNKCJI B-SKLEJANYCH
6. APROKSYMACJA FUNKCJI
f Podobnie jak dla k = 2, można tu wybrać dowolne wartości dla c_ 2 i c_ a P?tern za pomocą równań (6.6.8) obliczać kolejno c0 , ci, ... , Cn-l· Nie je to Jednak zalecany sposób. Zazwyczaj narzuca się dodatkowe warunki n funkcję sklejaną w skrajnych punktach t 1 i tn. W szczególności waru' S"(t1) = S"(tn) = O dają naturalną funkcję sklejaną. Ten wariant jest t matem zadań 4-6. Rady dotyczące interpolacji za pomocą funkcji sklejanyc daje de Boor [1984] (w jego książce Bj oznacza taką funkcję stopnia k-1
Aby zilustrować takie metody, wspomnimy o eleganckiej procedurze Sch enberga [1967]. Dla danej funkcji f określamy funkcję sklejaną Sf wzore oo
L
f(xi)Bf,
gdzie
Xi :=
' gła; czyli każdemu c [a,b] jest Is'-- tl <: ó
Przypadld, gdy k = O (wtedy przyjmuje się, że Xi = ti) i k = 1 ni~'.. ciekawe, bo redukują się do już opisanej interpolacji. Natomiast dla k:~ powyższy wzór określa funkcję Sf, która nie interpoluje funkcji f w jal~i · z góry ustalonych węzłach. Marny tu do czynienia z operatorem qua;i~1 terpolacyjnym. Jego istotne własności są następujące: i: 1
,
I
I
określamy
jej
moduł ciągłości
> o odpowiada takie ó > o, Że dla wszystkich s i i =} lf(s).- f(t)I < c. Wtedy w(f;ó) < c. Inaczej
'wiąc, moduł ciągłości takiej funkcji dąży do O wraz i ó. J~śli pochodna f' istnieje, jest ciągła i taka, że· lf'(x)I <
Jvf, to wobec ferdze11:ia o wartości średniej lf(s) - f(t)I = lf'(~)l Is - tj < Mis - tl, atern w(f; ó) <·Mó. . · · :· ·. ,Poplż~ze twierdzenie świadczy o tym, ż~ funkcja sklejana ·oo
-
l zmienia znak nie
+ f3g)
wi~·,
(6.6.10)
f(ti+2)Bf
i=-oo
·
= aSf
L
'' .g :=
+ f3Sg.
Czytelników zainteresowanych tym tematem odsyłamy do prac Marsde [1970] i Schoenberga (1967]. ''\ Naszym następnym celem jest zbadanie, czy funkcje ciągłe można prz bliżać z dowolną dokładnością funkcjami sklejanymi. Ustalamy przy ty stopień k tych funkcji, natomiast poprawę dokładności chcemy uzys, , zwiększając liczbę węzłów. ·· Jak dotąd, punkty ti określa się dla wszystkich i E Z, ale p~zyjrnJ się, że aproksymowana funkcja ciągła f jest dana tylko w [a, b] := [to, t Jej określenie rozszerza się na całą prostą rzeczywistą tak, aby zachoW ciągłość funkcji; zob. rys. 6.10.
•i111:
lub nie)
:u· f. jest ciągła. w przedziale dornkmętyrn [a, .b]; to jest tam je~nostajnie
i=-oo
3. Jeśli f ~ O, to S f ~ O. 4. Jeśli lfl < M, to IS/I< M. 5. Sjest operatorem liniowym, tzn. S(af
(ciągłej
f
w(f; ó) ·:= max lf(s) - f(t)I. ls-tl~ó ·
~(ti+l + ... + ti+k)·
1. Jeśli f jest funkcją liniową, to S f = f. 2. Dla dowolnej funkcji liniowej l różnica S f razy niż różnica f - l.
X
RYS. 6.10. Rozszerzenie funkcji
Dla dowolnej funkcji f
Nieinterpolacyjne metody aproksymacji
Sf :=
b
a
'•
.QŻe być
s.ensownyrn
TWIERDZENIE
przybliżeniem
dla f. ·
6.6:7. Jeśli funkcja f jest określona w przedziale [a, b],jeśli
ii k ~ 2, ag wyraża się wzorem (6.6.10), 'to
... max lf(x) - g(x)I
Dowód. Przypominamy, że
gdzie ·
'
=I L
-k~i~n+l
Bf ~ O i E~.,.. 00 Bf =
oo
· · lg(x)·_: f(x)I
ó := · max
oo
1
".
i=-oo
L
Bf(x)I
~-oo
'
oo
f(x)]Bf(x)I < ·
1. Dlatego
.•(X)·
f(ti+2)Bf(x) -J(x)
~-oo
=I .I: [f(ti+2) -
·.
(ti - ti-1).
L
=
.
lf(ti+2) - f(x)IBf(x).
· . i:;:=-oo ·
·
· .:'
~1111
360
Niech będzie x E (tj, t;+1] C [a, b] (c~yii O .;;;; j .;;;; n - 1). W przedzi' [tj, tj+I] nie znikają co najwyżej funkcje Bj_k, Bj_k+l• ... , Bj. Wobec teg
lig przebiega przestrzeń S~, tog' przebiega s~- 1 (zob. zad. 15). Dlatego rąc wyżej kres dolny względem g otrzymujemy nierówność 1:"·'
j
jg(x) - f(x)I
< L
lf(ti+2) - f(x)IBf (x)
i=j-k
< . m~
.lf(tH2)- f(x)I
J-k;(i;(3
'
Stąd
t;+2 -
X ,;;;;
tj ,;;;;
2Ó,
X -
ti+2 ,;;;;
tj+l -
tj-k+2 ,;;;;
DANIA
x1 < X2 < ... < Xn i Bj(xj) =/=O dla 1 .;;; j .;;; n, to ma)'· cierz A określona przed lem. 6.6.2 zawiera w każdym wierszu i każdej kolumnie .:. najwyżej 2k + 1 niezerowych elementów . .• Niech będzie KC Jlł. Udowodnić, że układ {B~, ... , B~} jest niezależny liniowo " na K wtedy i tylko wtedy, gdy wszystkie zbiory K n (t„ ti+k+i) (1 .;;; i .;;; n) są niepuste.
·• Udowodnić, że x 2 =I::-= ti+lti+ 2B'f (x). • Udowodnić, że jeśli S
dist(f, G) := inf Ilf - gll· gEG
~==
'
Tu, ponieważ funkcje sklejane są (dla k >O) ciągłe, używamy normy
że jeśli
Twierdzenie 6.6. 7 oznacza,
k ;;;. 2, to
(ti+2 - ti-l)ci-3 - (ti+2
dist(f,S!).;;;; w(f;ó).
dla i= 1, n jest ,)
ciągła, to lim.s-+O w(f; ó) = O, czyli ta odległość dąż
do O, gdy gęstość punktów ti rośnie. Dla funkcji mających pochodne ciągłe można o wspomnianej odległoś powiedzieć coś więcej:
I
11,
6.6.8. Jeśli określonego w
l'i ,'11
1,
r jest liczbą naturalną, r tw. 6.6.7 jest
< k
E Or(a,
Dowód. Niech g będzie dowolną funkcją z S~. Na mocy tw. 6.6.7 jes. dist(f, S!)
= dist(f -
(Cj - Cj-1 tj+3 - tj
- tj+2 -
Cj-1 - Cj-2) tj-1
.
.. (cd.). Udowodnić, że suma I;j,:~ 2 CjBJ o współczynnikach Cj spełniających , równania (6.6.8) i warunki
a;(x;(b
j;
6
tj+2 - tj
= I:~-= ej BJ, to S" = I:~-= ej BJ, gdzie
5. (cd.). Udowodnić, że S"(ti) = ei-1·
llflloo := max lf(x)I.
to dla ó
6.6
(;·:Udowodnić, że jeśli
< w(f; kó) .;;;; kw(f; ó).
TWIERDZENIE
•
,;;;; kr ór-lw(f(r-1); ó) ,;;;; kr órllf(r) lloo·
kó.
Ostatnie twierdzenie można wyrazić inaczej - za pomocą odległości funk od przestrzeni S~. Ogólniej, odległość punktu f przestrzeni unormowail od jej podprzestrzeni G określamy jako '
f jest
dist(f', s!- 1).
dist(f, s!) .;;;; kr-lór-l dist(J
Odległość funkcji od przestrzeni funkcji sklejanych
Jeśli funkcja
.;;;; kó
rowanie tej nierówności r - 2 razy daje następujący wynik:
i z własności modułu ciągłości podanej w zad. 14 wynika, że lf(ti+2) - f(x)I
dist(f, s!)
1
Dla i takich, że j - k ~i.;;;; j, jest ti+2 -
361
6.6. ZASTOSOWANIA FUNKCJI B-SKLEJANYCH
6. APROKSYMACJA FUNKCJI
g, S!) .;;;; kw(! - g; ó) .;;;; kóllf' - g'lloo·
.
Udowodnić, że
+ ti-t-1 -
ti-1 - ti-2)Ci-2
naturalną funkcją sklejaną
macierz kwadratowa [ ~
+ (ti+l -
stopnia 3,
ti-2)Ci-l
interpolującą
~] , gdzie bloki
C i D
=0
f.
też są kwa-
i· dratowe, jest nieosobliwa wtedy i tylko wtedy, gdy te bloki mają taką samą 1 własność. . Sprawdzić, czy tw. 6.6.4 można zmodyfikować w następujący sposób: Dla . dowolnie uporządkowanych węzłów Xi nieosobliwość macierzy o elementach l ,."Bj(xi) jest równoważna temu, że każdy przedział (ti,ti+k+1) zawiera co naj1 mniej jeden węzeł. . Udowodnić, że z tw. 6.6.4 wynika: (a) lem. 6.5.9, (b) Iem. 6.5.10. /Niech będzie k = 2. Udowodnić, że jeśli: (a) f(x) := 1, (b) f(x) := x, to , .w (6.6.9) jest S f = f. . •
Udowodnić własności
1, 3, 4 procedury Schoenberga (zob. (6.6.9)). W związku f dla f(x) :==' 1 i f(x) := x. Dla drugiej za pomocą (6.5.9), że (Sf') = 1.
lz· 1 wystarczy sprawdzić, że Sf =
O:tfunkcji
wykazać
362
6. APROKSYMACJA FUNKCJI
6.7. SZEREGI
12. Wzorując się na dowodzie tw. 6.6.7, otrzymać podobny wynik dla proced Schoenberga. ··: •
l'll'.:ł.,
oo
1
13. (cd.). Poprawić wynik poprzedniego zadania, zakładając, że punkty ti są rów noodległe.
14.
Udowodnić, że
w(!; kó)
~
kw(!; ó).
. ..
15. Wykazać, że różniczkowanie funkcji jest operacją suriektywną z S~ na s~-i:
6. 7. Szeregi
:Lak(x -c)k k=O 'nazywamy szeregiem
(6.7.3) potęgowym.
TWIERDZENIE 6.7.1. Dla każdego szeregu potęgowego (6.7.3) istnieje liczba r E [O, oo] taka, że jest on zbieżny dla lx - cl < r i rozbieżny dla
lx -cl> r.
potęgowe
Zaczynając
ten krótki podrozdział przypomnijmy wzór Taylora z po · rozdz. 1.1, dający użyteczne przybliżenia funkcji, które mają dostatecz 1 wiele ciągłych pochodnych. Jeśli funkcja f ma w przedziale [c - ó, c + ó ciągłą (n + 1)-szą pochodną, to dla każdego x z tego przedziału '
= Pn(x) + En(x),
f(x)
363
POTĘGOWE
Liczbę r nazywamy promieniem zbieżności szeregu (6.7.3). Do jeobJiczenia służą znane kryteria zbieżności; jedno z nich (kryterium ;Alemberta) stosujemy w zad. 1. Promień zbieżności szeregu (6.7.1) dla sinu~ajest nieskończony, szereg (6.7;2) ma promień zbieżności 1. Szeregi :promieniu zbieżności r = O nie mają praktycznego znaczenia. i.' W zastosowaniach ważne jest także następne twierdzenie: }'
0
;TWIERDZENIE 6.7.2. Niech r ·będzie promieniem zbieżności szeregu ..(6.1.3).· •. ·. Wtedy Jego s.umą dla każdego x E ( c - r, c.; + r) jest funkcja f (x), która ma tain ciągłą pochodną wyrażającą się wzorem
gdzie Pn jest wielomianem klasy IIn, a En - resztą:
. oo
L
f' (x) =; kak(x - c)k-l, . . k=O gdzie szereg ma także (c-r,c+r), to całkę
promień ·zbieżności
r. Ponadto,
jeśli b,
x E
.rx j(t) dt
=
f(x)
. Jb
1 1f(k)(c)(x - c)k. k=O k. oo
L
można.otrzymać, całkując szereg (6.7.3) 111yraz po wyrr:-zie; daje to sze-
reg o promieniu
Jest to szereg Taylora; dla c =O nazywamy go szeregiem Maclaurina. Ścisł. uzasadnienie jego poprawności wymaga dowodu, że En(x) dąży do O,. n ---+ oo. Taki dowód prowadzi m.in. do wniosku, że ~
COSX
=
t:o (-l)k (2k)!
2k X
1 oo - = L(-1)k(x -1)k X
k=O
1
zbieżności
r .. ..,\
(-oo< x
~ocy
1·
tego twierdzenia szereg dia otrzymuje~y; ~zeregu' dla (x), różniczkując.jego poszczególne skła<;lnikL: · · Aby zilustrować zastosowania tego twierdzenia, rozważmy jędną z funki specjalnych, a mianowicie sinus calkow'Y. · "Na
Si(x) :=
f'(xf
x
foo
sin t -dt.
t •całka ni~ wyraża. się w skońc~onej· p~staci przeŻ funkcje elementarne,
(0 < x < 2).
. nak z szeregu 1:
Wprowadzone nazwy szeregów kojarzą się z ich konstrukcją za po~o.c wzoru Taylora (Maclaurina). Często jest wygodniej abstrahować od zwiłi:z.lf '
'"'f•
.sint _
·
f
potęgowego
(-l)k
- k=O (2k + 1)!'
t „..
dla sinusa wynika:,
t2k
.
że
1
364
6.7. SZEREGI
6. APROKSYMACJA FUNKCJI
Całkując składniki
. Si(x)
~
tego szeregu, otrzymujemy szukane
t"
(-l)k
~
2k
(-l)k
2k+1
= t:o (2k + 1)! Jo t dt = t:o (2k + 1)(2k + 1)! x
Ten szereg jest szybko zbieżny dla małych kowych składników daje 20 cyfr znaczących W podobny sposób otrzymuje się szereg
rx Jo e
wyrażenie:
oo
t2
-
dt -
~
1
lxl;
·
np. jego dziesięć począt' Si(l)
wartości
'
t:o (2k + l)k! x
2k+l
jak szereg dla sin x wynilm przez różniczkowanie bądź szeregu z (6.7.1). ·.. Rozwinąć w szereg potęgowy funkcję arctg x, całkując szereg
całkowanie
oo
k=O Porównać
ten sposób z konstrukcją wzoru Taylora, wymagającą obliczania pochodnych funkcji arctg x. 1,\Rożwinąć w szereg potęgowy funkcję błędu (stosowaną w statystyce) , 1
. ·erf(x)
2r,;;
:=
y7l"
1"'
2
e- t dt.
o
jJ'
6.7
1. Kryterium d 'Alemberta mówi, że jeśli granica limn~oo IAn+ 1 /An I jest mniejs (odpowiednio, większa) od 1, to szereg I:~o Ak jest zbieżny (odpowiedll'i rozbieżny). Stosując to kryterium: (a) wylmzać, że szereg (6.7.1) jest zbież dla każdego x, (b) znaleźć promień zbieżności szeregu (6.7.2). 2. Znaleźć promień zbieżności szeregu I:~o k!xk. 3. Znaleźć promień zbieżności szeregu I:~o akxk takiego, że:
l
365
(1 + x2)-1 = L(-x2)k.
'.
I
POTĘGOWE
Pokazać,
9.
1,
ZADANIA
·~
ak = 2kk dla k;;;., O, ao = 1 i ak = ak-i/[2(k + 1)] dla k >O, jest to pochodna szeregu z poprzedniego zadania, ao = 1 i ak = [2 + (-l)k]ak-1 dla k >O, ao = 1 i ak = (k/3)ak-l dla k >O, ao = 1 i ak = [3k/(k + 4)]ak-l dla k >O. 4. J~śli szeregi I:%"=o akxk i I:%"=o bkxk mają odpowiednio promień zbieżności i r', to co można powiedzieć o promieniu zbieżności szeregu I:~ 0 (ak +bk)xk 5. Jeśli szereg f(x) := I:~o ak(x-c)k ma promień zbieżności r, to f ma wszys kie pochodne w przedziale (c - r, c + r) i w tymże przedziale
(a) (b) (c) (d) (e) (f)
oo k'.ak ( _ )k-n f (n)( X ) = ~ L.,, (k _ n)! X C •
Rozwinąć
·.
f(x) :=
w szereg
"' 1 o
potęgowy funkcję
et -1 --dt.
t
;,Za pomocą tego szeregu obliczyć f(l) z trzema cyframi znaczącymi. Funkcja . ,jest ważna w zastosowaniach; zob. Abramowitz i Stegun [1964, rozdz. 5]. . Funkcja związana z tzw. dilogarytmem jest określona wzorem
':tj(x)
:= -
["' log(l - t) dt
Jo
(-oo< x < 1).
t
J Znaleźć
1
jej szereg Maclaurina i jego promień zbieżności. Czy ten szereg pozwala f(-2)? A f(0.001)? !Znaleźć szereg Maclaurina dla cosinusa całkowego
)Obliczyć
·~·Ci(x) =
1"'
1-
~ost dt.
\1
.'Znaleźć szereg Maclaurina dla · S(x) :=
1"'
całki
Presnela
sint 2 dt.
k=n Udowodnić
to,
korzystając
6.
Udowodnić, że
7.
Udowodnić równość
8.
Całkując
z tw. 6.7.2.
(6.7.4). szereg z (6.7.2), otrzymać szereg dla log x.
· ł,~śli szereg f(x) = I:~o akxk, gdzie a 0 = 1, ma dodatni promień zbieżności, t
366 19. (cd.).
Udowodnić, że
I: (~)Bk= o
liczby Bernoulliego
spełniają tożsamość
(n> 1).
k=O
Bo = 1 i że ta tożsamość pozwala obliczać .Bi, B2, „ „ co d 1 1 1 B · 1 - -2, B 2 -- 6> B-01·B3 4 - -30. 20. Znaleźć początkowe współczynniki szeregu Maclaurina dla funkcji (a) 1/ sinx - l/x, (b) x/[(1 - x) log(l - x)]. 21. Znaleźć trzy początkowe składniki szeregu Maclaurina dla funkcji ecoa "'. Ws zówka: Użyć zmiennej z:= 1- cosx. 22. Wykazać, że 20 cyfr znaczących wartości Si(l) sinusa całkowego wynika z 10 czątkowych składników szeregu potęgowego. Ile tych składników trzeba wzi aby otrzymać 25 cyfr znaczących? Wykazać, że
ZADANIA KOMPUTEROWE
Kl.
6. 7
Napisać procedurę obliczającą
sinus całkowy z dokładnością do 10 cyfr z czących dla każdego x E [-1, l]. Liczba użytych składników powinna zale' od x. Procedura ma sygnalizować wartość x wykraczającą poza podany pr dział. ·
odprzestrzenią G jest zbiór IIn wszystkich wielomianów stopnia co najej n. Znalezienie wielomianu g E IIn najlepiej aproksymującego daną Ćję f E C[a, b] jest istotnie różne - i znacznie trudniejsze - od' kon1Iłcji wielomianu interpolacyjnego dla ustalonego układu węzłów i od '''b.aczania wielomianu ze wzoru Taylora. Ten klasyczny przypadek (i jego •' lnienia) jest tematem następnego podrozdziału. 1•{
<
średniokwadratowa
Ogólne zadanie optymalnej aproksymacji formułujemy tak: Niech E bętl a G jej podprzestrzenią. Dla każdego f E E o ślamy jego odległość od G jako wielkość
przestrzenią unormowaną,
dist(f, G) Jeśli
= gEG inf Ilf - gll· że
pewien element g E G jest taki,
Ilf - 911
:=
'
gólnym zadaniu sformułowanym wyżej nasuwa się od razu ważne pytaczy punkt optymalny istnieje. TWIERDZENIE 6.8.1. Jeśli G jest podprzestrzenią skończeniewymiarową '.' przestrzeni unormowanej E, to dla każdego· punktu z E istnieje punkt 1 : •• ąptymalny w G.
Dowód. Niech będzie f E E. W śród kandydatów na punkt optymalny .punkt Onależący do G. Wobec tego Ilf - gll Ilf - Oli = llfll i szukanie nktu optymalnego możemy ograniczyć c;lo z.biom
<
. K:=.{g E G:
lig - fil < llfll}.
„
domknięty
i ograniczony, a także - dzięki założeniu o G - zwarty. nieważ funkcja g 1--ł Ilf - gll jest ciągła, więc wystarczy powoła.ć się na 'erdzenie o tym, że funkcja ciągła o wartościach rzeczywi~tych osiąga imum na dowolnym zbiorze zwartym„ · ·• · .r ·El~ment optymalny na ogół nie jest określony jednoznacznie; Świadczy ym przykfad aproksymacji funkcji f(x) := cosx w przedziale [O, 7r/2] po~o~ąxodziny funkcji g(x) := ,x;·z.parainetrem .-\. Na rysunku 6.11 kazano, ~e je.śli .stosujemy normę (6.8.1), to istnieje nieskończenie wiele cji optymalnych; dla każdej z nich Ilf - gll = 1.
= dist(f, G),
to mówimy, że g najlepiej aproksymuje dany punkt f, czyli jest punk.i optymalnym dla f. Sens tej najlepszej (optymalnej) aproksymacji zależy wyboru normy. · W klasycznym zadaniu tzw. aproksymacji jednostajnej przest~zenią'' jest zbiór C[a, b] wszystkich funkcji ciągłych w [a, b], norma jest określo wzorem
llfll
•
''ienie punktu optymalnego
. on
6.8. Aproksymacja
367
6.8. APROKSYMACJA ŚREDNIOKWADRATOWA
6. APROKSYMACJA FUNKCJI
max lf(x)I,
.I •.'
.
~
.~".„ ·:
'
r ~:1•
RYS. 6.ll. Aproksymacja funkcji cosx za
a~x~b
'
I
~ •'
pomocą
>.x
i\
368 Przestrzeń
.;e
b. (!,ag+ f3h) = a(!, g) + /3(!, h) dla dowolnych rzeczywistych a i /3, c. (!,!)>O i(!, f) =O wtedy i tylko wtedy, gdy f =O. (Częściej przyjmuje się, jak w podrozdz. 4.6, że iloczyn skalarny ma wart zespolone. Wtedy własność a należy zmienić na (!, g) = (g, f) ). . Przez iloczyn skalarny wyraża się norma elementu f E E:
Wobec tego norma jest zawsze liczbą nieujemną. Wspomniano już przypadek E = llłn. Inną ważną przestrzenią unit jest przestrzeń Cw[a, b] funkcji ciągłych w [a, b], w której dla ustalonej Jun. wagowej w o wartościach dodatnich jest
lb
'ć \\
Ilf+ gll 2 = (! + g, f
=
w(x)f(x)g(x) dx.
W dowolnej przestrzeni unitarnej używamy jeszcze symbolu _I_: pisze jeśli (!, g) = O i f J_ G, jeśli f J_ g dla każdego g E G. 6.8.2. Dowolna przestrzeń unitarna ma następujqce wlasnoś
L:i=1 ai(fi,g). Ilf+ gll = Ilf 11 + 2(!, g) + llgll 2 • Jeśli f _I_ g, to Ilf+ gll 2 = 11!11 2 + llgll 2 2
(twierdzenie Pitagorasa)'.
4. J(J,g)I ~ llJll llgll (nierówność Schwarza).
5. Ilf+ gil
6. Ilf+ gll
< llJll + l!gll 2
+ Ilf -
2
+ (!, g) + (g, !) + (g, g)
=
•
'l(f,g)I > ll!ll llgll. \
·~waż (!,O) = O, więc musi być g i= O. Wobec jednorodności warunku "ęmy założyć, że llgll = 1, wobec czego l(J,g)J > llfll· Z tegoż powodu
'ika, że można przyjąć, iż (!, g) = 1, a więc 11!11
o~ Ilf - gll 2 = Ilf 11 2
fi
ierówności
-
2(!, g)
+ llgJl 2 =
Schwarza i z 2 wynika
część
11111
2
< -
1. To jednak prowadzi
1.
5 lematu:
• 6.8.3. Niech G będzie podprzestrzeniq przestrzeni unitarnej E .· Punkt g E G jest optymalny dla .f E F wtedy i tylko wtedy, gdy H·j-g J_ G. Punkt optymalny dla każdego f jest określony jednoznacznie.
Dowód. Jeśli dego h E G
f -
g J_ G, to z twierdzenia Pitagorasa wynika, że dla
gll
2
(nierówność trójkąta).
= 211111 2 + llgll 2 •
+ (g -
h)ll 2 =Ilf - gll 2 +lig -
hi1 2 >
Ilf - gi1
2
,
i' punkt g jest optymalny. Przypuśćmy teraz, że g ma tę własność. Niech zie też h E G i >. > O. Wtedy
o < Ilf - g + >.hll 2 --, Ilf '
gll
2
=
+ 2>.(J- g, h) + >.2 1ihi1 2 2 g, h) + >.llhll ].
=Ilf - gll 2 ;„ = >.[2(! -
1. (2:~1 adi,g) = 2. 3.
= (!, !)
Ilf 11 + 2(!, g) + llgll
Ilf - hll 2 =li(! - g)
2
+ g)
2
· ci 3 i 6 wynikają wprost z 2. Aby udowodnić 4, przypuśćmy, że dla ': ych f i g ta nierówność nie zachodzi:
f _I_ g,
LEMAT
.
TWIERDZENIE
JU,f).
(!, g) :=
, Dowód. Część 1 lematu jest oczywistym uogólnieniem własności a. 2 wynika z a i b:
unitarna
Jak już wspomniano, dla dowolnych E, G i f znalezienie elementu opt . nego jest trudne, Wymaga ono rozwiązania układu nieliniowego ró~ Jest on jednak liniowy, jeśli E jest przestrzeniq unitarnq, czyli przestrze liniową, w której określono iloczyn skalarny i w której norma wyra:Ż „., przez ten iloczyn. W podrozdziale 4. 7 zdefiniowano iloczyn skalarny rów z przestrzeni llłn i podano jego własności, które wynikają z tej defi Tu natomiast te własności (oczywiście z wyjątkiem ostatniej, gdzie ··· puje iloczyn macierzy przez wektor) stanowią aksjomatyczne określenię, czynu skalarnego. Przyjmujemy mianowicie, że iloczyn skalarny (!, g) · taką funkcją punktów (elementów) f, g EE, która ma wartości rzecz i następujące własności: a. (!, g) = (g, f),
11!11 :=
369
6.8. APROKSYMACJA ŚREDNIOKWADRATOWA
6. APROKSYMACJA FUNKCJI
2
Ilf - gll =
· dostatecznie małego >.wynika stąd, że (! - g, h) > O. Tak samo rozując, ale ze zmianą h na -h, dochodzimy do nierówności(!- g, -h) >O. tego (! - g, h) =O. Ponieważ h jest dowolnym punktem podprzestrze' więc f - g _I_ G. , Jeśli g i g' byłyby różnymi punktami optymalnymi, to mielibyśmy reę; g - g' J_ G. To jest jednak niemożliwe, bo (g - g',g - g') >O. •
Niech { ui, u2, ... , Un} będzie bazą podprzestrzeni G. Zgodnie z tw. 6.S;; element g E G jest optymalny dla danego f E E wtedy i tylko wtedy, g g - f _I_ G, czyli (g - f, ui) = O dla 1 ~ i ~ n. Ponieważ g = 'L,j= 1 ej ' więc ma być spełniony następujący układ równań normalnych:
ad jest jednak źle uwarunkowany (jego macierz jest podobna do macie. Hilberta wspomnianej w podrozdz. 2.3), co oznacza, że przyjęta baza dprzestrzeni G nie jest dobra. Lepszą jest baza ortonormalna, dla której ierz Grama jest macierzą jednostkową. •
n
kłady ortonormalne
(1 ~i~ n).
I::Cj(Uj,Ui) = (f,ui) j=l
łaściwym podejściem
Macierz tego układu, o elementach (uj, ui), nazywamy macierzą Grama. I•
6.8.4. Jeśli układ {ui, u2, ... , un} jest cierz Grama jest nieosobliwa.
LEMAT
niezależny
liniowo, to ·· . : ·<:'
Zamiast dowodu wystarczy przypomnieć, że na mocy tw. 6.8.3 ille1lle optymalny g jest określony jednoznacznie, wobec czego układ równań no malnych ma dokładnie jedno rozwiązanie. · PRZYKŁAD
6.8.5.
Stosując
tw. 6.8.3, wyznaczyć wielomian
g(x) := c1x + C3X 3 + c5x 5 najlepiej aproksymujący funkcję f(x) := sinx w przedziale [-1, 1] wedł. normy
llfll := { J_
1 1
[f(x)) 2 dx
1
c1
J_ 1 x
2
1
i
dx
+ c2 J_
1
[ł
1
1
7 1
9
1
7
x 2i+ 2 dx
+ c3 J_
1
x 2 i+ 4 dx
=
1
J_ 1 x 2i-l sin x d~ 1
całki, wyrażamy
go w postaci
l[l [ l
! A
C1 C2 c3
=
· Ui., fi) =o
a - {3 -3a + 5(3
,
65a - 101{3
gdzie a := sin 1 ~ 0.8414 7 0984 i f3 := cos 1 ~ 0.54030 2305. Rozwiąz ten układ numerycznie, użyWamy przybliżonych wartości a i {3. Daje
teraz zadania aproksymacyjnego
(i i= j),
:i;iazyWamy ortogonalnym,
jeśli
(fi, fi) >o ..
Ówiąc o ortogonalnośći dwóch elementów f i
g
żądamy tylko, żeby było
Ten układ nazyWamy ortonormalnym, jeśli
,g) =O).
(fi, fj) = Óij· . Znacz~~ie taldch ukladów wynika. z tw .. 6.8. 7, które poprzedzimy
6.8.6.
, LEMAT
Jeśli układ
{91,92, ... ,gn} jest ortogonalny, to
U.LI
.: · ·n
.
2
n
llI>i9ill = I>rll9ill 2 • · i=l
Dowód.
dla i= 1, 2, 3. Obliczywszy te wszystkie 5
L '.
i=l
1
rozważanego
.Ji, f2, ... elementów przestrzeni E
}1/2
Rozwiązanie. Funkcji g szukamy w podprzestrzeni G := span{u1, u3}, gdzie ui(x) = x 2i-l dla i= 1, 2, 3. Układ (6.8.3) równań normaln" jest tu następujący:
do
·t zastosowanie układu ortońormalnego. Układ skończony lub nieskończo
udowodniono dla n = 2. Zakładęmy jej popraw2. Dzięki ortogonalności elementu 9n+l względem skorzystać z własności 3 z lem. 6.8.2:
6.8. 7. Jeśli układ {91, 92, ... , 9n} jest ortonormalny w przestrzeni unitarnej E, to dla dowolnego f E E elementem optymalnym . w podprzestrzeni G := span{gi,g2, ... ,gn}.jest TWIERDZENIE
n
(6.8.4)
g :=. 2:(f,gi)9i, i=~;
· Te wielkości są bliskie początkowych współczyńników:· l, -~i w szereg potęgowy (przyp. tłum.).
··!··
; 1 0
rozwinięcia funkcji
I
372 błąd
związaniem zadania jest wielomian
aproksymacji optymalnej jest równy
Ilf - 911
n
I: u. 9i)
= [Hf 11 2 -
2
}•\
1/2 ]
, ,,, c1
•
i=l
Dowód. Każdy punkt podprzestrzeni G jest sumą ona optymalna dla danego f, to na mocy tw. 6.8.3 jest
I::i=l
c2
Ci9i· Jeśli j
n
J_
G.
i=;=l
Ten warunek jest spełniony wtedy i tylko wtedy, gdy powyższa różnica j ortogonalna względem każdego 9i, tj. gdy dla 1 .;;;; j .;;;; n jest n
(!- LCi9i,9j) = (J,9j) i=l
n
LCi(9i,9j)
= (J,9j) -
Cj
=o.
i=l
Ponieważ
f - 9 ..L G,
więc
z Iem. 6.8.6 wynika,
że
n
llfll
2
2
2
=Ilf- 911 +11911 =Ilf - 911
2
+ .'LU.9i) 2 •
• 1
1 1
c3
.;;;;
llfll
-
5
3
-
1
6.8.8. Jeśli układ {v1, v2, ... , Vn} jest bazce podprzestrzeni U przestrzeni unitarnej, to wzór i-1
JJvi -
1
•
daje
bazę
i-1
L(Vi, Uj)Ujr [vi - L:
Z powyższego twierdzenia wynika też następująca sugestia: Jeśli c my aproksymować punkty przestrzeni E za pomocą punktów jej skończe wymiarowej podprzestrzeni G, to najpierw znajdujemy bazę ortonorm' {g1, 92, ... , 9n} tej ostatniej. Wtedy dla każdego f E E element optyma jest sumą (6.8.4). .. Aby zilustrować to postępowanie, wróćmy do przykł. 6.8.5. Bazę.or normalną tworzą tu wielomiany Legendre'a: ·
Ta metoda upraszcza się w znaczący sposób, gdy stosujemy ją do ciągu · · omianów 1, x, x 2 , .••• W następnym twierdzeniu może wystąpić każdy zyh skalarny, który ma tę własność, że dla dowolnych trzech funkcji jest ', h) = (f, gh). Tak oczywiście jest, gdy
, , 1
(J,9)
:=
lb
f(x)9(x)w(x)dx.
/[x,
j'f(5x
g3(x)
li 5 y[128(63x -
3
-
3x),
70x3
'
stępującej
b]
(ściślej, może
(6.8.6)
tu funkcji wagowej zakładamy, że jest dodatnia w przedziale ona znikać np. w końcach tego przedziału; tak jest dla kcji yl - x 2 w (-1, 1]).
92(x) := :=
3
1
TWIERDZENIE
i=l
:=
= v'6(a - /3),
jmiemy się teraz konstrukcją bazy ortonormalnej. Służy do tego metoda arna-Schmidta, znana już z podrozdz. 5.3, gdzie dotyczyła przestrzeni llłn. dstawowy wzór przenosi się bez zmian na dowolną przestrzeń unitarną, 'pozwala pominąć dowód poniższego twierdzenia.
Z (6.8.5) wynika ważna nierówność Bessela: dla układu ortonormal' go {gi, 92, ... , 9n} i dowolnego f EE jest 2
{1
I::Y=l
"fo, jak przedtem, a := sin 1 i f3 := cos 1. Stąd c1 i=::j O. 738, c2 i=::j -3.3710-2 3' ':=;:j 4.3410-4. Ponieważ znamy bazę ortonormalną, więc koszt obliczeń h wielkości jest mniejszy od kosztu rozwiązywania układu równań podao w przykładzie. Ta baza jest dobrze uwarunkowana 9 ).
i=l
g1(x)
fJ
= y i J_
1
\
f - LCi9i
373
6.8. APROKSYMACJA ŚREDNIOKWADRATOWA
6. APROKSYMACJA FUNKCJI
a
'
Warto jednak zwrócić uwagę na to, że w obu wariantach występują kombinacje we o dość dużych współczynnikach wielkości a i fJ, które to kombinacje mają bardzo i\vartości; np. 4320a - 6728{3 R; 7.4 10 -4, chociaż odjemna i odjemnik są równe ok. 5\ Może to powodować istotną redukcję cyfr znaczących (przyp. tłum.). 9)
+ 15x).
374
6.8. APROKSYMACJA ŚREDNIOKWADRATOWA
6. APROKSYMACJA FUNKCJI
Z tak określonym iloczynem skalarnym wiąże się ważne, nie ty w analizie numerycznej, pojęcie: wielomiany Pn (n = O, 1, ... ) są orto nalne w przedziale [a, b] z wagą w, jeśli stopień n-tego z nich jest i;ówny i jeśli " · (pm, Pn)= O dla
Każdy wielomian Pn jest określony z dokładnością do czynnika stałego .. ·'
czynniki można wybrać np. tak, że (Pn, Pn)= 1 (wtedy mamy ciąg orton malny), albo tak, że Pn jest wielomianem standardowym (czyli współczy nik w Pn(x) przy xn jest równy 1). Poniższe twierdzenie dotyczy·drugi,, wariantu. " TWIERDZENIE 6.8.9. Ciąg {Pn} wielomianów ortogonalnych stand~~;
Po(x)
=
1,
wagą w można wyznaczyć
=
a2 = (xpi,Pl) =O, ( P1,P1 )
p2(x)
= x 2 -J
zy następne wielomiany Legendre'a o~lic.zamy :'ten sam sposób: p3.(x) = x 3 - ~x,
PRZYKŁAD
=
p5 (X)
5
103
X - gX
+ 215 X.
•
6.8.11. Wykazać,· że wielomiany Czebyszewa (zob. pod-
1
(n;;;. 2),
... (f, g)
..
:= 1-1 (1
- x2)-1/2 f(x)g(4) d;i;,,
.
"„....
„
·.. Rozwiązanie. Podstawienie x
b ·- (xPn-1,Pn-2) n . - (Pn-21Pn-2) .
(f; g) =
Dowód. Ze wzorów podanych w twierdzeniu wynika, że Pn(x) jest ~~l mianem standardowym, a więc Pn =/= O. Wobec tego mianowniki wyrażeń an ibn nie znikają. Udowodnimy przez indukcję względem n, że (pn, Pi) dla i < n. Zaczynamy od n = I. Z definicji stałej a1 wynika, że (p1,po)
(X) -- x '
czynu skalarnego
gdzie dla iloczynu skalarnego (6.8.6) jest (XPn-1, Pn-1) (pn-!, Pn-1) '
a1 = (xpo,po) =O, (po,po) .
I).astępujący:
dz: 6.1) są ortogonalne w przedziale [-'--1, 1] z wagą (1 ~ x 2 )- 112 , tj. dla
ze wzorów
P1(x) = x - ai,
Pn(x) = (x - an)Pn-1(x) - bnPn-2(x)
Un :=
obliczei;l.jest
po(x) = 1, .P 1
m =f:. n.
wych w przedziale [a, b] z
Rozwiązanie. Początek
375
= cós (J upraszcza powyższą całkę:!
fo'lr f (cos O)g( cos O) dB.
Bnl.eważ Tn(x) (Tn, T~) ·=
fo'lr cos_ne cos mO dB ~
l = -
.
=
Jeśli n;;;. 2 i (pn-1'Pi) =O dla i< n - 1, to z definicji an ibn wynika, ż.~
6.8.12. Wśród wszystkich wielomianów standardowych st pnia n najmniejszą normę 11·11, wyrażającą się wzorem (6.8.2) prze iloczyn skalarny, ma wielomian Pn z tw. 6.8.9.
o. Znaleźć wzór rekurencyjny wiążący standardowe wielokrotności Tn wielomianów Czebyszewa Tn·
TWIERDZENIE
Dowód. Każdy wielomian, którego dotyczy twierdzenie, można wyrazi~ w postaci Pn CiPi· Na mocy tw. 6.8.3 taka różnica ma najmniejsz ''
4. Udowodnić, że jeśli przybliżamy funkcję parzystą wielomianem klasy IIn w se sie normy {f~ 1 (f(x)]2 dx }112 , to i wielomian optymalny jest parzysty. Uogól~ 5. Udowodnić, że jeśli {ui, u 2 , •.• } jest ciągiem nieskończonym ortonormalny, w przestrzeni unitarnej, to dla jej dowolnego elementu F jest ' ·'1 I•:.
oo
L (!,
Un)
3. Stosując tw. 6.8.9 dla [a, b] =[O, 1] i w(x) = 1, znaleźć Po,p1,p2,p3.
.4. (cd.). Znaleźć wielomian x 3 + Bx 2 + Cx + D ortogonalny względem II2. Po'<'. · równać wynik z p 3 z poprzedniego zadania. Opracować
L::=o CiPi
algorytm obliczania wartości w danym punkcie wszystkich sum =O, 1, ... , n). Wielomiany Pi są wyznaczane zgodnie z tw. 6.8.9. wielkości ak i bk są znane.
(k
6. Niech A będzie przekształceniem liniowym w przestrzeni unitarnej. Zakłada jąc, że A jest samosprzężone, tj. że (Af,g) = (!,Ag) dla dowolnych f i g, udowodnić, że rozwiązania równania AJ = >.f odpowiadające różnym >., są ortogonalne.
~9.
Aproksymacja jednostajna
I('
= L:U,ui)(g,ui)·
2
2. Udowodnić, że we wzorze rekurencyjnym dla wielomianów Legendre'a jest '., an =O ibn = (n - 1) 2 /[(2n - 1)(2n - 3)].
Założyć, że
2. Udowodnić, że układ ortogonalny jest niezależny liniowo. 3. Udowodnić, że jeśli f, g należą do podprzestrzeni rozpiętej na elementach ukł du ortonormalnego {u 1 , u 2 , •.• , un}, to zachodzi tożsamość Parsevala
a ta relacja ortogonalności zachodzi, gdy wszystkie
zażądamy, żeby dawał układ
9. Niech w definicji (!, g) := f::_a w(x)f(x)g(x) dx funkcja wagowa w będzie pa, rzysta. Udowodnić, że wtedy we wzorze z tw. 6.8.9 jest an = O dla n ~ 1 i że ·. Pn jest wielomianem tej samej parzystości co n.
n
Pn -
llPn-111 2/llPn-211 2, skąd wynika, że bn jest
8. Jak zmieni się wzór rekurencyjny z tw. 6.8.9, jeśli ortonormalny wielomianów? ·
k=O
377
< OO.
tym podrozdziale zajmiemy się aproksymacją funkcji z przestrzeni C(X), zie. X jest przestrzenią zwartą I-Iausdorffa10). Z założenia te funkcje ma'iwartości rzeczywiste. Czytelnicy nie chcący wgłębiać się w zagadnienia ,. plogiczne, mogą przyjąć, że X jest podzbiorem domkniętym i ograniczoprzestrzeni JRk; w najprostszym przypadku jest to przedział domknięty ,b] na osi rzeczywistej. W C(X) wprowadzamy normę
n=l
6. Niech będzie (u, v) := J~ 1 u(x)v(x) dx. Zastosować metodę Grama-Schmid do funkcji vk(x) := (x 2 - l)xk (k ~ O). Udowodnić, że jeśli otrzymane wiel miany przenormujemy na wielomiany standardowe qn, to spełnia.ją one w rekurencyjny qn+i(x) = xqn(x) - bnqn-i(x). Znaleźć wzór dla bn. Wyznac trzy początkowe wielomiany qn.
llJll
:=
maxlf(x)I. xEX
'· przestrzeń staje się dzięki temu przestrzenią Banacha. ·'ó) Pojęcia występujące tu i dalej oraz ich własności omawia np. Rudin [*2002] (przyp.
m.).
378
harakteryzacja elementu optymalnego
Dla ustalonej podprzestrzeni skończeniewymiarowej G C C(X) pr blem aproksymacji optymalnej funkcji f E C(X) jest następujący: jak w podrozdz. 6.8 określamy odległość f od G wzorem ·
,
gEG
znaleźć
„,
""'.'"',;',,P~',..,'~f'i•'..'<·1F • .
,.,
'
,,
:
.„.~„h"«i:.,-t..•:1l•I•
6.9.2. Element g E G jest optymalny dla f wtedy i tylko wtedy, gdy element O E G jest optyma.lny dla f - g. LEMAT
dist(f, G) := inf Ilf - gll i chcemy
379
6.9. APROKSYMACJA JEDNOSTAJNA
6. APROKSYMACJA FUNKCJI
Dowód. Jeśli g jest optymalny dla f, to Ilf - g - Oli < Ilf - g - hl! a każdego h E G, czyli O.jest elementem optymalnym dla f - g. Równie 'zywiste jest wynikanie w drugą stronę. . ' . '•
1
element optymalny g E G, dla którego
·'
Ilf - gll = dist(f, G). Na mocy tw. 6.8.1 ten element istnieje. Zajmiemy się więc metodami jeg' konstrukcji. Poniższy przykład daje pewne pojęcie o tym, jakich trudnoś" można się tu spodziewać.
PRZYKŁAD 6.9.1. Podać warunki, jakie powinien spełniać wielomian z.Il
najlepiej przybliżający funkcję f(x) := cosx w przedziale [O, 7r/2].
.::,
, qw
Uwzględniając powyższy
f
lemat, chcemy zrozumieć, dla jakich elemenprzestrzeni C(X) element O jest optymalny, tzn. kiedy
.t
(6.9.1)
· llfll = dist(f, G). ·. by sformułować ·,ytyczny:
odpowiedź
na to pytanie, definiujemy dla f E C(X) zbiór .· · ·
' "'
„
crit(f) := {x EX: lf(x)I =Ilf!!}.
Rozwiązanie. Rysunek 6.12 pokazuje wykresy funkcji cosx i niezł;' od niej wielomianu klasy II1 .
...
..
odległego
: !~"
"" ·.:·.:. ·'
6.9.3 (KOŁMOGOROW). Dla dowolnego f równość (6.9.1) zachodzi wtedy i tylko wtedy, gdy żaden element podprzestrzeni G nie ma w zbiorze crit(f) takich samych znaków jak f.
TWIERDZ.ENIE
Dowód. Przypuśćmy najpierw, że równoęć podana w twierdzeniu nie · hodzi: Wtedy istnieje takie g E G, że Ilf - gll < llfll. Dla x E crit(f) .·_yjmujemy O"(x) := sgnf(x). _Jest
O"(x)[f(x)-g(x)] :n:/2
X
RYS. 6.12. Aproksymacja funkcji cosx w przedziale [011r/2)
Czy pokazana tam funkcja liniowa jest optymalna? Na pewno nie/· nieco jej wykres, zmniejszamy błąd przybliżenia. Można by''. nieco poprawić nachylenie prostej. Wnioskujemy stąd, że dla optym · · funkcji liniowej g różnica f - g w trzech punktach osiąga wartości eks malne ±ó, gdzie ó := Ilf - gll; tymi punktami powinny być końce O i,\ przedziału oraz jakiś punkt wewnętrzny Daje to równania obniżając
e.
f (o) - g(o) = -ó,
f (e)
f(7r/2) - g(7r/2) = -ó, Służą
- g(e)
= ó,
f'(e) - g'(e)
< lf(x)-g(x)I < llf-gll
e e
.,,;·~.··
one do wyznaczenia czterech wielkości: ó, i dwóch współczynni wielomianu g. Równania są nieliniowe względem i niełatwo je rozwi ·:.
= lf(x)I
=O"(x)f(x).
k więc·O"(X.)g(x) > 0 1 czyli znald funkcji fig w zbiorze crit(f) są iden-. 'czne. Prz)rpuśćmy teraz, że dla pewnej fu~kcji g'jest g(x)f(x) >O w tymże iorze. Nie .tracąc ogólności, można przyjąć, że 11911 = 1. Ponieważ zbiór i~(!) j~t zwarty, a ilqczyn gf jęst fun,kcją ~iągłą, więc istnieje takie c > O, ''g(x)f(x) > c w zbiorze crit(f). Niech będzie 1.~
O:= {x EX: g(x)f(x) > c}.
1
~ zbiór jest otwarty i zawiera crit(f). Jego dopełnieniem jest zbiór zwarty łączny
z crit(f). Dlatego
p := max{lf(x)I: x EX\ O}<
=o.
< llfll
Ilf!!.
rbksymujmy teraz f~nkcję f za pąmocą iloczynu A.g; stałą A. odpowiednio .ierzemy., W zbiorze O jest, • ·.
' . '!" . «' '.
I/ •••
'
(f:..,. A.g)2 . . = f2 - 2A.fg + A.2g2
·~~:
• ..•
< llfll2 -
•
2:Xc +.>..2 =
.„„
'
. ·.. llfll2 , . - ..A.(2c; -
A.).
ł,
380 Nierówność
(f - >..g) 2 < llfll 2 jest więc tam prawdziwa, jeśli O < ).. <:,; Dla>..> O w zbiorze X\ O jest lf -
>..gl
:s;;;
I/I + >..igl
381
6.9. APROKSYMACJA JEDNOSTAJNA
6. APROKSYMACJA FUNKCJI
(Na tym rysunku w punktach oznaczonych i • ald). 0
różnica
f -
g ma różne
:s;;; P + >...
Chcemy, żeby tam było lf ->..gl < llfll. Tak jest, jeśli tylko O<>..< llfllIstnieje zatem talde >..,że Ilf - A.gil < llfll, czyli llfll > dist(f, G). Z lematu 6.9.2 i tw. 6.9.3 wynika
·,
'~ór
K w przestrzeni liniowej jest wypukły, jeśli wraz ze swymi dwoma nktami zawiera odcinek, który je łączy. Inaczej mówiąc, jeśli u, v E K, to a każdego() E (O, 1] jest eu+ (1-())v E K. Przykładowe zbiory - wypukły iewypukły - pokazano na rys. 6.14. 1
6.9.4. Funkcja g* E G najlepiej przybliża funkcję f E 0( wtedy i tylko wtedy, gdy nie istnieje g E G, dla którego g(x)[f(x)\' g*(x)] >O na zbiorze {x: lf(x) - g*(x)I =Ilf - g*ll}- .
WNIOSEK
,_,:r jest optymalnym przybliżeniem·' "~
6.9.5. Wielomian g E II1 cji f E O[a, b] wtedy i tylko wtedy, gdy w [a, b] istnieją trzy pu w któnJch różnica f - g jest równa ±Ilf - gil, z naprzemiennymi z kami.
WNIOSEK
Dowód. Na mocy tw. 6.9.3 zastosowanego do f-: g żaden wielomi z II1 nie może mieć znaku zgodnego z f - g na zbiorze A := crit(f - · Gdyby w tym zbiorze nie było trzech punktów, w których różnica f -". jest na przemian dodatnia i ujemna, to w A po lewej stronie pewnego.i{ różnica byłaby ujemna, a po drugiej dodatnia. Wtedy dla pewnych c fm;1k. c(x - ~)miałaby w A znak zgodny z f - g. · „ __
,,•' '
o-----
,,
,/
, ,, /
--- .........
""()
...
„.
',,, ''
'
... ______________ """ .o
RYS. 6.14. Zbiór
',,
------:.. RYS. 6.13. Punkty krytyczne funkcji liniowej optymalnej
wypukły
i zbiór
niewypukły
liniowa I:f= 1 ()iui jest wypukła, jeśli I:f= 1 ()i = 1 i (Ji ~ O. .iór wszystkich kombinacji wypukłych punktów z danego zbioru S, czyli
· ,\ 1-.Kombinacja
k
k
·. {I:eiui: k
EN,
ui
i=l
Es, Eei = 1, ei~ o}, i=l
amy jego
...... „ ............
''
Niewypukły
powłoką wypukłą.
'o:. LEMAT 6.9.7. Każdy zbiór domknięty wypukły w llł.n {lub w dowolnej t. .:przestrzeni Hilberta) zawiera dokładnie jeden punkt o minimalnej normie. Ponadto O f/- K wtedy i tylko wtedy, gdy istnieje takie v, że (v,u) >O dla każdego u E K. l' i
„
Dowód. Niech będzie p := infuEKliull i niech ciąg punktów Uj E K zie taki, że {llujll}-+ p. Jest to ciąg Cauchy'ego. Istotnie, skorzystajmy 1 łasności 5 z lem. 6.8.2 i z wypukłości zbioru K: 2
. llui - Ujll = 2lluill 6.9.6. Niech X będzie zbiorem domkniętym i ograniczon w llł.2 i niech G będzie zbiorem funkcji liniowych g(x, y) =a+ bx +, Funkcja g E G jest optymalna dla f E C(X) wtedy i tylko wtedyi 1, zbiór crit(f - g) zawiera punkty tworzące jeden z układów pokazan na 'T"'IJS. 6.13.
WNIOSEK
4p2 =O.
ieważ przestrzeń jest zupełna, więc ciąg {Uj} jest zbieżny. Jego granica u ży do K, bo ten zbiór jest domknięty. Jest też llull = p. Jednoznaczność
382
6. APROKSYMACJA FUNKCJI
punktu o minimalnej normie wynika z i u' mają normę p, to
już
zastosowanej
własności: jeśli
u
Ilu - u'll 2 ~ 2llull 2 + 2llu'lli·_ 4p2 =O. Jeśli istnieje v takie, że (v, u) > O dla wszystkich u E K, to oczywiście O (j. K. Przypuśćmy, że punkt O ma tę własność. Jeśli zatem v E K je~~ punktem o najmniejszej normie, to llvll >O. Wtedy dla dowolnego u E i e E {O, 1) jest . '.
"#i
'1
O~ lleu + {1- O)vll
2
-
2
+ vll - llvll = vll + 2e(u - v, v), 2
llvll =Ile( u - v) =
e 11u 2
2
2
t
LEMAT 6.9.9. Powłoka wypukła zbioru zwartego w wef przestrzeni unormowanef jest zwarta.
v, v) ?;!; O, czyli (v, u) ?;!; (v, v)
>O.~··
'.:' Dowód. Jeśli O należy do powłoki wypukłej' C zbioru S, to dla pew:nych Dla dowolneg~ V E Rn .. '
. Es i ei·> o jest o =·Ef=l eiui.
.. ..„„.
6.9.8 (CARATHEoDORY). Jeśli s jest podzbiorem n-wymi rowej przestrzeni liniowej, to każdy punkt powłoki wypuklej zbioru, jest kombinacją wypukłą co najwyżej n + 1 jego punktów. TWIERDZENIE
Dowód. Niech p będzie punktem powłoki wypukłej zbioru S. Przes nięcie tego zbioru polegające na zamianie każdego s ES nas - p powodu" że kombinacje wypukłe i powłoka wypukła przesuwają się w ten sam sp sób. Dlatego nie tracąc ogólności możemy przyjąć, że badanym punkte tej powłoki jest o. z jej definicji wynika, że' o = Ef=l eiui, gdzie Ui E Ef=l ei = 1 i ei ?;!; o. Wybierzmy tę kombinację o wartości o, w której k j najmniejsze; wtedy wszystkie ei są dodatnie. Jeśli k ~ n+ 1, to twierdze.n jest udowodnione. W przeciwnym razie z założenia o wymiarze przestrze. wynika, że zachodzi nietrywialna tożsamość Ef= 2 AiUi =O. Niech też będ .>..1 :=O. Dla dowolnego t rzeczywistego O = Ef= 1(ei+ t.>..i)ui. Funkcja
jest ciągła i taka, że cp(O) > O. Natomiast dla pewnych t jest cp(t) < . Istnieje więc takie to, że cp(to) =O. Niech będzie O~ :=ei +to.>..i. Stąd O~~ min e~ = o i Oi = 01 > o. Dlatego w kombinacji liniowej Ef=l e~ui równe pewien składnik znika. Dzieląc ją przez Le~ wyrażamy o jako kombina wypukłą k - 1 elementów zbioru S. To jednak przeczy założeniu, że. k : minimalne.
.ilJi.
''
·'
TWIERDZEŃIE 6.9.10: Jeśli Sjest zbiorem zwartym w Rn, to O nie n~leży . do jego powłoki wypukłej wtedy .i tylko wtedy, gdy istnieje takie v, że (v,u) >O dla każdego u ES.
+ 2(u -v,v).
O może być dowolnie małe, więc (u -
skończeniewymiaro-
Dowód. Niech S będzie zbiorem zwartym w przestrzeni n-wymiarowej. finiujemy zbiór V wszystkich układów v := (Oo,(Ji, ... , On, uo, u1, ... , un), zi'e Ui E S, z::::r=o ei = 1 i 0{?;!; 0. Są, to punkty iloczynu kartezjańskiego +lx X'.17'.+1. Wymiar tej przestrzeni wynosi n+ 1 +(n+ l)n =(n+ 1) 2 • biór V )est domknięty i ograniczony, a więc zwarty. Funkcja f taka, że (v) := z::::r=o Oiui, odwzorowuje V na powłokę wypukłą zbioru S. Na mocy . 6.9.8 funkcja f jest suriektywna; jest też .ciągła. Ponieważ obraz ciągły . bioru zwar~ego jest zwarty, więc ta powłoka jest zwarta. •
skąd
O~ Ollu -vll 2
383
6.9. APROKSYMACJA JEDNOSTAJNA
k
..
.
~
..... ... '
'
.. ;t.: •'
O= (v,O) = :Lei(v,ui)·. i=l obec tego nie wszystkJe liczby (v, Ui) są d~d~tnie. Jeśli zaś O r/. C, to nieważna mocy Iem. 6.9.9 zbiór C jest zwarty, więc z Iem. 6.9.7 wynika • nienie takiego v, że (v, u) >O dl.a każdego u ES.
oŻwiązywariie układów liniowych w sensie Czebyszewa
'\·'
·„.
,·"
.
.
WNIOSEK,6.9.11.
.
.
lfiech A
O"i.:=:= sgn(Ax -.b)i,
będzie macierzą
.
m x n, b E Rm, x E Rn, .
I:= {i: j(Ax - b)il= llAx - blloo}·
Norma llAx - bll 00 jest najmniejsza wtedy'i tylko wtedy, gdy O należy do powłoki wypuklej zbioru {aiAi: ·i EJ}, gdzie Ai jest i-tym wierszem ·macierzy A. Dowód: Wyzna~zanie minimun:;_ normy llAx __:. blloo polega na szukaniu 11 iej kombinacji liniowej kolumn macie.rzy A, która byłaby najbliższa weka b. Interpretujemy ·wektory kolumnowe jako funkcje wskaźnika o wariach 1, 2, ... , rri. Elementem .przybliżany:rn jest b, a podprzestrzeń G ybliżeń jest rozpięta na kolumnach mac.ierzy A. Zgodnie z tw. 6.9.3 roz. zanie x charakteryzuje się tym, że w żadnym wektorze z G składowe
'•t•,
"'IP'
384
Dla każdego x EX definiujemy funkcjonał liniowy i; na C(X) wzorem
o wskaźnikach z I nie mają znaków O"i· Inaczej mówiąc, układ O"i(Avk >' (i E J) jest sprzeczny. Ponieważ te nierówności można wyrazić w posta (O"iAi,v) > O (i E J), więc na mocy tw. 6.9.10 równoważnym warunkie jest ten, podany we wniosku, który dotyczy wektora O. PRZYKŁAD
(2, 3) jest
6.9.12.
x(f)
E C(X)).
6.9.13.
Jeśli
f E C(X), to
następujące
zdania
są
równo-
ważne:
wniosek 6.9.11 sprawdzić, czy wektor x w sensie Czebyszewa układu
1. Ilf li = dist(f, G). 2. Żaden element z G nie ma znaków takich jak f (x) na zbiorze crit(f). 3. O leży w powłoce wypuklej zbioru {f(x)g(x): x E crit(f)}. 4. Istnieje funkcjonał 1 AiXi znikający na G i spełniający warunki Xi E crit(f), >..if(xi) >O i k (;n+ 1.
I:f=
Rozwiązanie. Reszty Ti := (Ai, x) - bi są równe 3, 1, -2, -3, 3, a z tern O"i są równe 1, 1, -1, -1, 1. Zbiorem krytycznym jest I = {1, 4, 5 Z wniosku 6.9.11 wynika, że x jest szukanym rozwiązaniem, jeśli wekto należy do powłoki wypukłej zbioru {0"1A1,0"4A4,0"5A5}. Na rysunku 6'. zaznaczono te trzy punkty i określony przez nie zbiór wypukły; punkt O d
·;,,·~ Dowód. Implikacja 1=?2 jest częścią tw. 6.9.3. i·· Aby sprawdzić implikację 2 =? 3, zakładamy, że pierwsze zdanie jest ~wdzfwe. Wtedy nie można znaleźć liczb e;, dla których
1
n
"I:,cif(x)gi(x) >O
:'
(x E crit(f)).
i=l
nieważ tę nierówność można napisać
ocy tw. 6.9.10 punkt O leży w
należy.
w postaci (c, f(x)§(x)) >O, więc na zbioru
powłoce wypukłej
{f(x)g(x): x E crit(f)}. implikację
Sprawdzamy
3
=?
4. Z
założenia
3 i tw. 6.9.8 wynika,
że
!''
(-3, l)
k
(6, -1)
O=
X1
'I:, Bif(xi)iJ(xi), i=l
ie k
< n+ 1,
Bi
,=: I:f= 1 Aig(xi),
> O i Xi E crit(f). Dla Ai := Bif (xi) jest >..if (xi) czyli - wobec definicji g -
k
RYS. 6.15. Zero
leży
w
powłoce wypukłej
O= ·'I:, Ai9j(xi) =
trzech punktów
> O
k
('I:, >..ixi) (gj)
i=l
(j = 1, 2,
„., n).
i=l
ieważ podprzestrzeń
I:f=
Inne twierdzenie o charakteryzacji W następnych twierdzeniach G oznacza podprzestrzeń strzeni C(X), mającą bazę {gi, 92, ... , 9n}· Wtedy §(x) := (g1(x),g2(x), ... ,gn(x))
Jest to punkt w IRn.
(x EX).
G jest rozpięta na funkcjach 9i, więc wykazaliśmy, nkcjonał 1 Ai:Ę zeruje się na G. i'' Na koniec sprawdzamy implikację 4 =? 1. Z założenia 4 wynika, że jeśli G, to
n-wymiarową
pr ,,;,
k
llfll "I:,l>..d = i=l
ego
k
L
k
>..if(xi) =
i=l
llfll < Ilf - hll
L
k
A·i[f(xi) - h(xi)]
i~l
i zdanie 1 jest prawdziwe.
< Ilf - hll "I:,l>..il· i=l
•
386
PRZYKŁAD 6.9.14. Niech będzie X := [O, 1] i niech podprzestrzeń G b dzie rozpięta na funkcjach g1(x) := 1 - 2x 2 i g2(x) := x - x 2. Wykaza że każda funkcja f E C[O, 1], dla której f(O) = f(l) = llfll, jest taka, ; Ilf li = dist(f, G). . Rozwiązanie.
g(O) + g(l) = O.
Sprawdzamy
własność 4
z tw. 6.9.13. Dla g E G je tam przyjąć, że x1 = O, x2 = 1, >.1 .
Możemy więc
>.2 =o. Podprzestrzeń
G przestrzeni C(X) nazywamy podprzestrze Haara, jeśli każda nieznikająca tożsamościowo funkcja z G ma co najw · n - 1 zer w X. W szczególności zbiór IIn wielomianów jest taką przestrze (n+ 1)-wymiarową. Poniższy lemat świadczy o tym, że to pojęcie jest idealnie dobranel~ zadań interpolacyjnych. 6.9.15.
etrywialnie spełnione tylko dla k ;;:_;.,n+ I.Istotnie, niech będzie k ~n. Koz Iem. 6.9.15, wybieramy funkcję g E G taką, że g(xi) = Ai· Wtedy ~ :L~=l >.ig(xi) = :L~=l >.~. • ystając
ednoznaczność
Podprzestrzeń
n-wymiarowa G przestrzeni C(X) j
aproksymacji optymalnej
6.9.17. Jeśli G jest podprzestrzenią skończeniewymiarową Haara w C(X), a f takim elementem przestrzeni C(X), że llfll = = dist(f, G), to istnieje stała dodatnia 'Y (zależna od f) taka, że . Ilf.+ gll ; :_;., Ilf li + 111911 · TWIERDZENIE
Haara
Podprzestrzeń n-wymiarową
LEMAT
387
6.9. APROKSYMACJA JEDNOSTAJNA
6. APROKSYMACJA FUNKCJI
· . Dowód. Niech n będzie wymiarem zbi~ru G. Na ~ocy tw. 6.9.16. istpunkty xo, xi, ... , Xn w zbiorze crit(f~ i liczby dodatnie Bi takie 1 że. f=o Bi<7ig(xi) =O dla wszystkich g E.·G, gdzie O'i :~ sgń f(xi)· Niech h- .G '. normę L ·z ostatniej równości dla g ·_ h wynika, że co najmniej 'jedna liczb ·O"ih(xi) jest dodatnia. Tym bardziej jest max,;, O"ih(xi) > O. Ponieważ ą. strona tej nierówności zależy w sposób ciągły od h, a .zbiór wszystkich 'kcji h E G o normie 1 jest zwarty,. więc · · · .
.
ją
e
a
podprzestrzenią Haara wtedy i tylko wtedy, gdy dla dowolnych liczb.i
czywistych >.i, >.2, ... , >.n i dowolnych różnych punktów x1, x2, ... , z X istnieje dokładnie jedna funkcja g E G taka, że g(xi) "'." >.i i= 1,2, ... ,n. .... ·
Dowód. Niech {gi, g2 , ••• , 9n} będzie bazą zbioru G. Zadanie interp lacyjne polega na znalezieniu takich c1, c2, ... , en, że ·. '
'WNIOSEK 6.9.18. Jeśli G jest podprzes'irżenią skończeniewymiarową Ha. ara w C(X), to każda funkcja C(XJ ma dokładnie jedno najlepsze przybliżenie w G. · ·'
n
L
Cj9j(xi) =>.i
j=l
z
(1 ~ i ~ n).
Jeśli ten układ możemy rozwiązać dla dowolnych >.i, to macierz o elem tach gj(xi) jest nieosobliwa, a podobne zadanie jednorodne (ze wszystki >.i = O) ma tylko zerowe rozwiązanie. Tak więc żadna kombinacja linio funkcji gj nie może zerować się we wszystkich Xi· To właśnie charakteryz podprzestrzeń Haara. .. · .·
6.9.16.
Jeśli
·fi
C(X) jest podprzestrzenią n-wymiar Haara, a f E C(X), to llfll = dist(f, G) wtedy i tylko wtedy;. istnieje funkcjonał postaci AiXi, zerujący się na G i taki, ~e· ': crit(f) i >.d(xi) > O. : · „.:
TWIERDZENIE
G
Dowód .. Jeśli g_ E G najlepiej przybliża funkcję f, to dla różnicy f - g · epszym pr~ybliżeniem w G jest O. Niech będzie h E G i h i- O. Wtedy l'.fuocy tw. 6.9.17 · . · . .'. .· . · . . . '
..
Dowód. Twierdzenie 6.9.13 zawiera ten sam warunek konieczny. i, stateczny ze zmianą n+ 1 na k. Równanie :L~=l >.ig(xi) O możeJ
~
j
•
•
li. Ilf ..:._ g + hll ; :_;.; Ilf - gll + 1llhil
C
:Lf,;l
•nit
•
'
>Ilf -
911.
'
•
•
•
6.9.19. Jeśli G jest podpr~estrzenią · skończeniewymiarową C(X) i jeśli A jest odw;wrowaniem"fUnkcji ·Z C(X) na jej ~·.najlepsze' prŻybliżenie w G, .to dla każdej funkcji f E ·C(X) istnieje ,_„liczba dodatnia >.(!) taka; że · ·. . TWIERDZENIE
'r Haara~w
1
llAf--AhlJ <>.(!)Ilf - hlJ
(h E C(X)).
'l!ll'
388
6. APROKSYMACJA FUNKCJI
Na mocy tego twierdzenia najlepsze w sposób ciągły.
przybliżenie
•'/l\1111111·
389
6.9. APROKSYMACJA JEDNOSTAJNA
funkcji
zależy
od nia
Dowód. Na mocy tw. 6.9.13 równość llJll =
Dowód. Zgodnie z tw. 6.9.17 istnieje liczba 1(!) >O taka, że dla ka:
równoważna
n
xo
< x1 < ... < Xn,
L Aig(xi) =O
dla każdego g E G, Ad(xi)
> O.
i=O Ilf - gll Stąd
> Ilf -
Afll
dla g := Ah wynika, 1(f)llA/-Ahll
+ 1U)llAf -
fśli zaś
tak jest, to liczby Ai, a zatem również f(xi), mają naprzemienne alei. To dowodzi wynikania w jedną stronę. Jeśli istnieją punkty Xi O własnościach podanych W twierdzeniu, to :leżą one do zbioru crit(f), a wartości f(xi) mają naprzemienne znaki. 'iech będzie np. sgn f (xi) = (-l)i. Przypuśćmy, że wbrew twierdzeniu tnieje taka funkcja g E G, że Ilf - gil < 11111- Wtedy
. · (-l)i[f(xi)- g(xi)]
latego (-l)ig(xi) >O i funkcja g ma co najmniej n zer, co jest sprzeczne definicją przestrzeni Haara. Zauważmy, że te zera leżą w przedziale [a, b], e niekoniecznie w X. Dlatego właśnie było konieczne założenie, że G jest 'dprzestrzenią Haara przestrzeni G[a, b]. •
211/- hll-
Alternans 6.9.20. Niech G będzie n-wymiarową; podprzestrzenią; Haara pr strzeni G[a, b]. Jeżeli istnieją; punkty Xi takie, że a< x1 < x2 < ... Xn < b i że I::i=o Aig(xi) = O dla każdego g E G, gdzie I::i=olAil > to wielkości Ai są; na przemian dodatnie i ujemne. LEMAT
6.9.22. Jeśli G C G[a, b] jest n-wymiarową; podprzestrzenią; Haara, to funkcja g E G jest najlepszym przybliżeniem funkcji f E G[a, b] wtedy i tylko wtedy, gdy w [a, b] istnieją; punkty xo < x1 < ... < Xn takie, że
WNIOSEK
Dowód. Dla każdego j = 1, 2, ... , n rozumujemy jak następuje: na mo lem. 6.9.15 istnieje dokładnie jedna funkcja gj E G taka, że gj(Xi) = Oji dl O < i < n, i -:/= j - 1. Wtedy n
o=
L
Aigj(Xi)
=
Każdy układ {xo, xi, ... , xn} punktów o własnościach wymienionych wniosku nazywamy alternansem; nie zawsze jest on określony jedno-
Aj-lgj(Xj-1) +Aj.
i=O
Musi tu być gj(Xj-1) > O, bo w przeciwnym razie funkcja gj, niezni jąca tożsamościowo, miałaby n zer wbrew definicji podprzestrzeni Ha Z (6.9.2) wynika więc, że gdyby którakolwiek z liczb Aj była równa O, i pozostałe by znikały. To jednak przeczy założeniu. Dlatego wobec (6.9. liczby Aj-1 i Aj mają przeciwne znaki. 1
'
6.9.21. Niech G będzie n-wymiarową; podprzestrzenią; Haa przestrzeni G[a, b], a X - podzbiorem domkniętym przedziału [a, b]. D każdej funkcji f E O(X) równość li/li = dist(f, G) zachodzi wte i tylko wtedy, gdy w X istnieją; punkty x 0 < x 1 < ... < Xn takie,, f(xi-1)f(xi) = -11/11 2 dla 1
'tatni fragment tego . podrozdziału dotyczy zagadnień numerycznych roksymacji jednostajnej. Naszkicujemy tu niektóre znane algorytmy. Pod' I · owym zadaniem jest minimalizacja wyrażenia
TWIERDZENIE
zie funkcje f, gi, g2, ... , gn są dane, a szukany jest wektor c. , : To zadanie możemy rozwiązywać, stosując tzw. pierwszy algonJtm Rez;a, który w każdej z kolejnych iteracji wymaga rozwiązania podobnego, bardziej elementarnego zadania; opiszemy go teraz.
390
6. APROKSYMACJA FUNKCJI
Niech będzie G := span {g 1 , g 2 , ••• , 9n}. W k-tym kroku algorytmu ]es dany podzbiór skończony Xk zbioru X. Wiąże się z nim półnorma w G(· określona wzorem llfllk := maxlf(x)I xEXk
(półnorma nie ma tylko jednej istotnej własności normy: może znikać d.l niezerowej funkcji i tutaj może się to oczywiście zdarzyć). Stosując metod ?pisan~ da~e~, wyznaczamy funkcję hk E G, dla której półnorma Ilf - h~ll Jest naJmme3sza. Mamy tu znów zadanie aproksymacji jednostajnej,, ale • zbiorze skończonym Xk. Następną czynnością jest znalezienie w X talde; punktu xk, że
lf(xk) - hk(xk)I
=
391
6.9. APROKSYMACJA JEDNOSTAJNA
Ilf - hkll·
Zbiór xk+l powstaje z xk przez dołączenie punktu Xk+l· Następna itera~j' przebiega tak samo. Przy tym zwykle funkcja hk wyznaczona w k-tym kr~k jest dobrym przybliżeniem początkowym, gdy wyznaczamy hk-H· .·;, 6.9.23. Jeśli poczQ:tkowa półnorma 11·11 1 jest równa normi' w C(X), to limk-•=llf - hkll = dist(f, G). GiQ:g {hk} ma punkty pienia, a każdy z nich jest najlepszym przybliżeniem dla f. · TWIERDZENIE
s
Pozostaje wykazać, że wielkości dk := Ilf - hkll dążą; do dist(f, G). Ich g jest ograniczony. Istnieje zatem p9dciąg { dkJ zbieżny, np. do d*. Niech ·będzie punktem skupienia podciągu {hkJ· Z pierwszej części' d6wodu ·· nika, że d* = Ilf - h'll = dist(f, G). Dlatego ciąg {dk} ma tylko jeden nkt skupienia, mianowicie dist(f, G). Daje to zbieżność, którą należało i:l:owodnić. • ·Warto zauw~żyć, że w każdym kroku pierwszego algory-tmu Remez obu stron szukaną wielkość d* = dist(f, G).
można łatwo oszacować
e oszacowania z dołu i z góry· dążą monotonicznie do d*. gdy k ~ oo; ierwsze rośnie, a drugie maleje. Najprostsze oszacowanie z góry, mianowicie f - hk li, też dąży do d*, ale nie zawsze monotonicznie. · W pewnym wariancie tego algorytmu, zwanym metod
z
Dowód. Wprost z definicji półnorm i zbiorów Xk wynika, że dla g E i 1 ,,;;; k ,,;;; i zachodzi nierówność
. (6.9.3) :: ając hk, znajdujemy punkt Xk określony przed tw. 6.9.23; jest to punkt ytyczny funkcji f - hk. To on właśnie zastępuje jeden z punktów zbioru k· Usuwany punkt wybieramy tak, aby wektor O leżał w powłoce wypułej układu analogicznego do (6.9.3), ale dla X E xk+l· Możliwość takiej ymiany wynika z poniższego twierdzenia.
wobec czego
Ciąg {Jlhkll1} jest zatem ograniczony. Ponieważ w przestrzeni skończeni
wymiarowej wszystkie normy są równoważne, więc także ciąg {llhkll}f ograniczony. Dlatego pewien podciąg ciągu {hk} jest zbieżny do h*. O danego c >O wybierzmy k tak, żeby było llhk -h*ll < c. Niech i> k będz 1 takie, że llhi - h* li < c. Wtedy dist(f, G)
<
< lf(xk) - hk(xk)I + c < Ilf - hklli + c < < Ilf - hi Ili+ llhi - h*lli + llh* - hklli + c < dist(f, G) + 3. Wobec dowolności c wnioskujemy stąd, że
Ilf -
h*ll = dist(f, G).
6.9.24. Niech uo, u1, :· ;.. , u,.;,,:. 1 będą różnymi punktami przestrzeni IR.n. Jeśli O· leży w powł9ce,:1pypuk~ej układu {uo, u1, ... , u,;}," to jest tak 'również po zmianie jeą,nego z punktów uk dla k < n na Un+l ·
TWIERDZENIE
,i: „
Dowód.
Przypuśćmy
najpierw,
że
n
o= LOiUi" i=O
(6.9.4)
.
11 ) Można też wymieniać - według określonych reguł - wszystkie punkty zbioru Xk '''.nowe. Jest to tzw. drugi algor'ljtm Remeza, którego zbieżność np. w aproksymacji ielomianowej jest bardzo szybka; zob. Meinardus [*l968] (prz1Jp. tłum.). ..
.:
·"-···
.
392
6. APROKSYMACJA FUNKCJI
gdzie
Ei=o Oi
= 1, ()i ~ O i dla pewnego k jest Ok = O. Wtedy pierwsz
równość pozostaje prawdziwa po zmianie uk na uk+I·
.
Przypuśćmy teraz, że w (6.9.4) wszystkie ()i są dodatnie. Z twi~~ dzenia 6.9.8 wynika, że na wektorach u 0 , u 1 , ... , Un można rozpiąć przt); strzeń n-wymiarową; oczywiście jest nią llłn. Wobec tego istnieją takie ~ .· 21 że Un+I = Ei=o AiUi. Niech iloraz >.i/Oi będzie największy dla i= k. Niec będzie Oi_ := >.koi - )..i()k dla O .;;;; ·i .;;;; n oraz O~+l := Ok. Oczywiście ()k = O· a ogólniej Oi ~ O, gdyż O~+l = Ok, a dla i .;;;; n . ,; Oi
=
(>.k/Ok - >.ifOi)Oi()k·
Można też sprawdzić, że
n+l
n
i=O
i=O
L Oiui = L()..k()i -
)..i()k)ui + Okun+I
n
= Ak
L
=
n
Oiui - Ok
i=O, ii'k
L
AiUi
+ Okun+l =
Dzieląc pierwszą sumę przez
Ok(Un+I - AkUk)
Ei,;l Oi_,
8. Udowodnić, że w przestrzeni unormowanej każdy zbiór{!: ?·
Ilf -
gil~
r} jest
wypukły.
. Podać przykład zbioru wypukłego, którego dopełnienie jest ograniczone. "o~ Udowodnić, że zbiory rozpięte na poniższych układach funkcji są podprzestrzeniami Haara przestrzeni C[O, l]. ' (a) {1, x 2 , x 3 }, (b) {1, ex, e2 x}, (c) { (x + 2)-1, (x + 3)-1, (x + 4)- 1 }. ~. Udowodnić, że zbiory rozpięte na poniższych układach funkcji nie są podprzestrzeniami Haara przestrzeni C[-1, l]. 2 3 li. (a) {1,x ,x }, (b) {lxl, lx - li}, (c) {ex,x + 1}. ~.Udowodnić, że jeśli f(x) > O w [a,b], to span{l,x,x 2 , •.• ,xn-l,f} jest :.1 · podprzestrzenią Haara w tym przedziale. 3. Czy span{l,x,y} jest przestrzenią Haara w C(JR2 )? 1 \4. Dla danej prostej o równaniu ax+by+c =O (a 2 +b2 >O) opisać ściśle zbiór jej punktów leżących najbliżej punktu (O, O); odległość punktów ma być określona za pomocą normy l=. 5. Niech A będzie macierzą n x (n+ 2). Wykazać, że jeśli układ ,j
Ax =O,
i=O, ii'k
= Ak(-Okuk) -
393
6.10. INTERPOLACJA FUNKCJI WIELU ZMIENNYCH
+ Okun+l = O.
(i ~n+ 1),
jest niesprzeczny, to
wyrażamy punkt O jako kombinac] 1•
wypukłą punktów uo, ... , Uk-1, uk+I, ... , Un+l·
Xi ~O
Ax =O,
Xi ~ O (i
Xn+2 =O,
taką samą własność
f
k),
Xk =O,
x
f
O
(x E JRn+2)
ma dla pewnego k
X f O (x E JRn+
2
< n + 2 układ
).
• Y"
ZADANIA
6.9
.10. Interpolacja funkcji wielu zmiennych
1. Wyrazić wielomian klasy II0 (czyli stałą) najlepiej przybliżający funkcję ci głą f w przedziale domkniętym I przez wielkości '
m(f) := minf(x), xEI
2.
xEI
z
przykł.
6.9.1.
3. Znaleźć wielomian klasy II 1 najlepiej przybliżający funkcję
[O, l].
gładkich
funkcji
interpolujących
wielu zmiennych jest trud-
~óch zmiennych ma ono takie aspekty, których brakuje w przypadku jedj zmiennej. Dlatego niewiele tracimy, ograniczając się w tym podrozdziale "emal wyłącznie do przypadku dwóch zmiennych niezależnych.
M(f) := maxf(x).
Rozwiązać układ równań
onstrukcja
~m zadaniem, które od dawna przyciąga uwagę matematyków. Już dla
.
..fii w
przedział ·
··
4. Udowodnić, że wielomian klasy II 2 najlepiej przybliżający funkcję cosh w przedziale [-1, 1] jest równy a + bx 2 , gdzie b = cosh 1 - 1 i a spełnia wr · z pewnym t układ równań 2a = 1 + cosh t - bt 2 , sinh t = 2bt. 5. Niech będzie f := a0To+a1T1 + ... +'an+iTn+l> gdzie Tk jest k-tym wielomi!lr' nem Czebyszewa. Udowodnić, że w klasie IIn najlepszym przybliżeniem dla f w (-1, 1] jest suma aoTo + a1T1 + ... + anTn· 6. Niech f będzie funkcją zmiennych x i y ciągłą w kwadracie [O, 1] x [O, l]. Opisać jej najlepsze przybliżenie za pomocą funkcji zależnej tylko od x. 7. Udowodnić, że powłoka wypukła dowolnego zbioru Sjest najmniejszym zbi ... rem wypukłym zawierającym S.
adanie interpolacyjne łówne
zadanie, którym się zajmiemy, jest następujące: Dane są parami punkty, zwane węzłami, na płaszczyźnie xy. Oznaczamy je chwilowo 1, Y1), (x2, y2), ... , (xn, Yn)· Z i-tym punktem jest związana liczba rzeczy'sta <;. Naszym celem jest znalezienie takiej funkcji F gładkiej i łatwo iiczalnej (w intuicyjnym rozumieniu tych słów), że żne
F(xi, Yi)
= <; (1 .;;;; i
.;;;; n).
_zyjmuje się, że ta funkcja ma być określona na całej przestrzeni llł 2 lub najmniej w pewnym dużym obszarze zawierającym węzły.
394
Iloczyn
kartezjański
395
6.10. INTERPOLACJA FUNKCJI WIELU ZMIENNYCH
6. APROKSYMACJA FUNKCJI
i siatka
-~ ;. Zauważmy, że
Sformułowanym już
zadaniem zajmiemy się najpierw w przypadku, można je sprowadzić do interpolacji funkcji jednej zmiennej. Zbiór N j więc teraz iloczynem kartezjańskim:
operator P można w oczywisty sposób zastosować do cji wfolu zmiennych. Istotnie, jeśli nJ?. i zależy od zmiennych x i y,. '· ..to ,, • „.- . ,).. ' . . " ' .• \ „. . yjmujemy, że .. '
~.
'
'
„
'
'
"-"··~
. . . •·,..,.::.,11«tltl-•.fli'.•• '·
p
(Pf)(x, y)
=L
f(xi, y)ui(x).
i=l
Pf
tóay
j~st funkcją dwóch zmiennych,int.erpolującą
.
-~
Inaczej mówiąc, jest to zbiór wszystkich par (xi,Yj), gdzie Xi wybiera z pierwszego układu, a Yi z drugiego. Te oznaczenia są w rozważanym prŻ ' "' padku wygodniejsze. Zbiór N nazywamy siatką kartezjańską. Dla p = 4 i q = 3 pokazuje 1j rys. 6.16. Zazwyczaj, jak tam, punkty Xi i Yi porządkujemy od najmniejsze'' do największego. · · ··
.
,,
f
na liniach piono-
.
. Li:= {(xi,y): -
CXJ
< y < CXl} (1
ech teraz pewien operator liniowy Q opisuje ·ennej w węzłach y1, Y2, ... , Yą:
interpolację
funkcji jednej
..
•
(Qf)(y)
q
.
=L
f(Yi)vi(y),
„'\
i=l
(6.10.4) ·!:i.kże ten operator można uogólnić na przypadek dwóch zmiennych, przyjYt .
.
: .
(Qj)(x,y)
X
q
.
= °'L,f(x,yi)vi(y). i=l
RYS. 6.16. Siatka
nkcja Qf interpoluje f na liniach poziomych .„ .·
kartezjańska węzłów
Li·:= {(x,yi):
=
(1
CXJ}
I:
pom~cą P i Q·tworzymy dwa operatory stosowane. w interpolacji funkcji óch z~i'ennych. Są to ·iloczyn PQ i. suma boolowska P EB Q, określona
p
(Pf)(x)
-CXJ
Lf(xi)ui(x). i=l
Funkcje ui
są
takie,
'. F:.ffiQ:=P+Q--1:'Q.
że
'r.dziej konkretne wzory wynikają z definicji operatorów Pi ·p
Jak wiadomo z podrozdz. 6.1, w żają się one wzorem
zwykłej
interpolacji wielomianowej W'f1
, .(PQJ)(x,y) := P(Qf)(x,y) .
i=l(. p
= (6.1
q
L L i=l j=l
. ,., .
= L(Qf)(xi,y)ui(x) =
„'
f(xi, Yj)vj(y)ui(:p).·
. ,
Q.
Po pierw-
i;
396
6. APROKSYMACJA FUNKCJI
6.10. INTERPOLACJA FUNKCJI WIELU ZMIENNYCH
Ponieważ Vj(Yk)ui(xl) = ÓjkÓil, więc - jak łatwo zauważyć - funkcja p interpoluje f na całej siatce N. Zamiast PQ stosuje się też oznaczenie R przyjęte dla iloczynu tensorowego. Po drugie,
[(P E9 Q)f](x,y) := (Pf)(x,y) p
+ (Qf)(x,y) -
q
(PQJ)(x,y) =
p
j=l
i=l J=l
kombinacją liniową następujących dwunastu
2 a 2 a 2 2 22 a2 1, x, X ' X ' y, xy, X y, X y, y ' xy ' X y ' X y .
więc mamy tu interpolację za pomocą 12-wymiarowej podprzestrzeni omianów dwóch zmiennych. Właściwym dla niej symbolem jest Ila® II2. t: to iloczyn tensorowy dwóch przestrzeni, złożony ze wszystkich funkcji
Tematem zad. 2 jest sprawdzenie, że funkcja (P E9 Q)f interpoluje f wszystkich liniach pionowych Li (1 .;;;; i .;;;; p) i poziomych V (1 .;;;; j ~ Ta funkcja może być użyteczna wtedy, gdy znamy f nie tylko w węzl' ale i na tych liniach, a chcemy ją przybliżać poza nimi.
m
(x, y)
r-+
L, ai(x)bi(y), i=l
ie ai E Ila i bi E Il2. Bazą tej przestrzeni jest oczywiście układ (6.10.6). "· Trzeba podkreślić, że naszkicowana już teoria stosuje się do dowolnych kcji Ui, Vi, nie tylko do wielomianów. Ważne są tylko własności (6.10.2) '.10.4). (W abstrakcyjnej teorii występują bezpośrednio operatory Pi Q; konkretna struktura nie jest istotna). ··W interpolacji wielomianowej stosujemy iloczyn tensorowy IIp-1 ® i, gdzie p i q występują w definicji siatki kartezjańskiej N. Bazą tej !estrzeni jest układ funkcji
1
PRZYKŁAD
siatce
6.10.1.
kartezjańskiej
Znaleźć
wielomian dwóch zmiennych, który na pe · interpoluje funkcję o wartościach zawartych w tabli'
Stopniem składnika xiyi jest i+ j. Baza przestrzeni Ilp-1 ®Ilą-1 zawiera lko jeden element stopnia p + q - 2, mianowicie xP-lyą-l _ Stopniem wieianu zmiennych x, y nazywamy maksymalny stopień jego składników. . zestrzeń wszystkich wielomianów dwóch zmiennych, stopnia niewiększego ,), będzie oznaczana symbolem Ilk(Dł2 ). Każdy jej element ma postać (x,y)
r-+
k k-i LLCijXiyj i=O j=O
TWIERDZENIE
(x,y)
r-+
=
L CijXiyi. O,,;,i+j,,;,k
6.10.2. Bazq przestrzeni Ilk(Dł 2 ) jest układ funkcji
xiyj
(O.;;;; i+ j.;;;; k).
398
6. APROKSYMACJA FUNKCJI
Dowód. Ponieważ oczywiście na tym układzie można rozpiąć przestr~ IIk(llł2 ), więc wystarczy udowodnić jego liniową niezależność. Przypuść"· zatem, że pewna funkcja z tej przestrzeni jest równa tożsamościowo O. J~1 przyjmiemy, że y,,; Yo, to otrzymamy równość :i k
k-i
L (L: Cij1/o) = o, Xi
TWIERDZENIE
niezależności
liniowej funkcji x
1-t
węzłów
xi
równań
k-1
L Cijyg =o
(O~ i~ k).
w
j=O
Yo jest tu dowolne. Dlatego, rozumując jak wyżej, stwierdzamy, że wszystk są równe O. · ·:
Cij
WNIOSEK
zywiście ich liczba ma być równa !Ck+ l)(k + 2). Niżej podano pewne'' erdzenia •ilustrujące to co wiadomo o tym Tozmieszczeniu. Aby uniknąć· eporozumień, podkreślamy, że teraz zbiór N węzłów jest dowolny, czyli finicja (6.10.1) nie obowiązuje. Pierwsze twierdzenie udowodnili Gasca i Maeztu [1982]: 6.10.4 (GASCA I MAEzrn). J~śli dla układu !(k + l)(k + 2) istniejQ: proste Lo, Ll, ... , Lk takie, że .na Li leży dokładnie i+ 1 , . węzłów, to dowolne wartości w węzłach można interpolować wielomianami z IIk(llł 2 ). .
i=O j=O
która wobec
399
6.10. INTERPOLACJA FUNKCJI WIELU ZMIENNYCH
6.10.3. Wymiar przestrzeni Ilk(llł2 ) jest równy !(k+l)(k~t)
Dowód można pominąć - wymiar przestrzeni jest równy liczbie ele~e:· tów w jej bazie. · · ' Przypomnijmy, że w interpolacji funkcji jednej zmiennej za pomd' wielomianów z IIk można użyć dowolnego układu k + 1 węzłów. Można· zatem spodziewać się, że w przypadku dwóch zmiennych i klasy wielomi nów określonej wyżej każdy układ n:= !(k+l)(k+2) węzłów jest sensown Tak jednak nie jest, o czym można się przekonać już dla. k = 1, gdy n ='. Istotnie, każdy wielomian klasy II1 (llł 2 ) ma postać co +c1x+c2y. Próba ro wiązania zadania interpolacji z trzema węzłami (xi, Yi) prowadzi do układ' równań liniowych, którego macierz ma wyznacznik 1
x1
Y1
1
X2
Y2
1
X3
Y3
Dowód algorytmiczny tw. 6'.10.4 nieodwołujący się do tw. Bez~uta bę ie podany później. l•'
Z geometrii analitycznej wiadomo,
że
ten wyznacznik jest równy z
dokł
·
nością do znaku podwojonemu polu trójkąta o wierzchołkach (xi, Yi)· JeŚ 1 zatem te punkty leżą na jednej prostej, to wyznacznik jest równy zeru i z
danie interpolacji na
Dowód: Założenie można napisać postaci #(N n Li) =i+ i, gdzie ·oznacza liczbę elementów zbioru. Zbiory N n Li są parami rozłączne. ą,:iieważ liczba węzłów jest równa wymiarowi przestrzeni IIk(llł2 ), więc wyiarczy udowodnić, że jednorodne zadanie· interpolacyjne ma tylko zerowe związai;iie. Niech zatem będzie p E IIk(llł2 ) i p(x, y) =O w każdym węźle: iech li ( x, y) ~ O będzie równaniem prostej Li. Wielqmian p 2 + l~ ma co jmniej k + 1 zer; którymi są punkty zbioru N n r;k. Można tu zastosować ierdzenie Bezouta: jeśli p E IIk(llł 2 ), q E IIm(llł 2 ) i jeśli p 2 + q2 ma więcej ·.. .km żer;: to p i q. mają wspólny c'zynnik stopnia co' najmniej pierwszego. YtiiK.a z niego,· że lk jest dzielnikiem wielomianu p. Rozumowanie można rować. Istotnie, wielomian (p/lk) 2 + lL 1 ma co najmp.iej k zer, czyli lk-1 "t dzielnikiem wielomianu p/lk. Pok takich krokach dochodzimy do wnio; że wielomian p dzieli się przez lil2 ... lk. Iloraz jest stałą, gdyż p ma pień k . .Ponieważ p znika na zbiorze N n Lo, a iloczyn lil2 ... lk tam nie ika, więc·musi być p =O. •
ogół
nie ma
rozwiązania.
Geometria węzłów Powyższy przykład pokazuje, że o możliwości rozwiązania zadania_interp lacyjnego w klasie IIk(llł 2 ) decyduje rozmieszczenie węzłów na płaszczy~nł .•.',
··~'
.··~··
RYS. 6.17. Układy węzłów dopuszczalne
winterpolacji za pomocą Ih(IR
2
)
::. ·.Z twierdzenia 6.10.4 wynika, że.oba układy węzłów z· rys. 6.17 są sen.wne w.interpolacji za pomocą wielomianów z JI2(llł2 ). · \'. Poniższe twierdzenie Chunga i Yao [1977].qotyc~y interpolacji funkcji. !.,zmiennych, gdzie d ;;;;. 2. Korzystamy tu 'z zad-. '8; w" którym dowodzi się,
400
6.10. INTERPOLACJA FUNKCJI WIELU ZMIENNYCH
6. APROKSYMACJA FUNKCJI
że wymiar przestrzeni
401
IIk(JRd) jest równy
n(k) := ( d+k) k. .
6.10.5 (CHUNG I YAo). Jeśli węzły z1, z2, ... 'Zn(k) leż
TWIERDZENIE
k
Zj E
U Hiv ~ j
(1 ~i, j ~ n(k)),
=/=i
v=l
RYS. 6.18. Ilustracja twierdzenia 6.10.5
to dowolne
wartości
w
węzłach można interpolować
wielomiana
z ITk(JRd). Dowód. Niech lij(z) =O (z E JRd) będzie równaniem hiperpłaszczyi' Hij i niech ·
tnieje wielomian jednej zmiennej p E Ilk taki, że p(ti) = f(xi, Yi)· Wtedy pl E Ilk(llł2 ) i
•
k
qi(z)
:=IT lij(z)
6.10.6
(1 ~i~ n(k)).
można
w oczywisty sposób
uogólnić
na prze-
j=l
Na mocy (6.10.7) Zi nie należy do żadnej z hiperpłaszczyzn.Hil,:F.i ... , Hik, wobec czego lij(xi) =!= O dla 1 ~ j ~ k. Stąd qi(zi) =!= o:·· mocy tegoż założenia, jeśli j =!= i, to dla pewnego v jest Zj E Hiv, a zat· liv(zj) i qi(Zj) znikają. W ten sposób wykazaliśmy, że wielomian Pi(i)' 1: qi(z)/qi(zi) jest taki, że Pi(zj) = Óij· Ponieważ Pi E ITk(JRn(k)), więc daje' wzór interpolacyjny analogiczny do wzoru Lagrange'a: n(k) P(z) =
L
.if
praktycznych zastosowaniach metod interpolacyjnych wygodnie jest mieć 'orytm podobny do tego, który daje wzór Newtona w przypadku jednej jennej. Przypomnijmy istotną zaletę tego wzoru. Znając wielomian pinpolujący funkcję f w węzłach x1,x2, ... ,xn, możemy łatwo otrzymać lomian p* interpolujący ją także w dodatkowym węźle Xn+l - wystarczy p dodać jeden składnik: 1
f(zi)Pi(z).
p*(x) = p(x)
i=l
Rysunek 6.18 pokazuje układ węzłów spełniający założenia tw. 6.10. = k = 2; jest n(2) ~ 6. Ostatnie twierdzenie świadczy o tym, że pewną liczbę węzłów możn wybrać dowolnie. r
+ cq(x),
dla d
1 ;
q(x) := (x - x1)(x....: x2) ... (x - Xn),
·ęki
TWIERDZENIE
6.10.6. Dla dowolnego
układu
k
+1
różnych węzłów
w
i dowolnych wartości w węzłach istnieje w ITk(JR2) rozwi
interpolacyjnego.
Dowód. Niech węzłami będą punkty (xi, Yi) dla O ~ i <; k. Wybier ,my funkcję liniową l(x, y) :=. ax +by+ c taką, że wartości ti := l(xi,'. są parami różne (zob. zad. 10). Dla funkcji f, którą chcemy interpolow'
temu wielomian interpolacyjny można tworzyć iteracyjnie, dołączając kroku jeden węzeł i dodając jeden składnik do p. 1 To postępowanie można uogólnić. Niech będą dane funkcja f o warciach rzeczywistych, określona na zbiorze X i układ węzłów N. Jeśli keja p interpoluje f na N, a funkcja q .znika na tym zbiorze, to funkcję interpolującą f na zbiorze Nu{.;} można wyrazić w postaci p* = p+cq, :„tylko ą(.;) =/= O. W jeszcze ogólniejszym wariancie operujemy na zbioh węzłów. Niech q będzie funkcją o wartościach rzeczywistych, określoną żdym
402
6. APROKSYMACJA FUNKCJI
6.10. INTERPOLACJA FUNKCJI WIELU ZMIENNYCH
na X, a Z zbiorem jej zer. Jeśli p interpoluje f na Nn Z, ar interpol (f - p)/ąna N\ Z, top+ qr interpoluje f na N. · Naszkicowana procedura daje algorytmiczny dowód tw. 6.10.4. Zacz namy od wyboru wielomianu Pk E IIk(llł 2 ) interpolującego f na N n Lk ( rzystamy tu z tw. 6.10.6). Stosując indukcję wstecz, zakładamy, że jest j znany wielomian Pi E II(llł 2 ) interpolujący f na zbiorze Lk ULk-1 U: .. u· Wzorując się na wzorze Newtona, próbujemy wyznaczyć Pi-1 w postaci Pi-1 =Pi
interpolacji wspomnianego wyżej typu (z podprŻedo węzłów) zaproponował Shepard [1968]. W interpolacji parda jest dany układ n różnych parami węzłów dzo
(1
. Pi:= (xi,Yi)
Jest oczywiste, że takie Pi-1 interpoluje f na tymże zbiorze, gdyż składn" dodany do Pi tam znika. Chcemy, żeby wielomian Pi interpolował f ta na Li-1 · Niech będzie
+ r(x)(lklk-1 ... li)(x)
ogólną metodę
enią dobieraną
ybieramy funkcję cp o wartościach rzeczywistych, określoną na l!ł2 .x l!ł2 . , że dla p,·q E Jlł2
+ rlklk-1 ... li.
J(x) = Pi(x)
Shepa~da
terpolacja ·;·.
403
dla
XE
(6.10.8)
własność mają np. funkcje llP- ąll i llP- ąll 2 . Wzorując się na wzorze
N n Li-1·
Wnioskujemy stąd, że funkcja r powinna interpolować (f-pi)/(lklk-l · . .' naNnLi-1· Na mocy tw. 6.10.6 taka funkcja r istnieje w klasie IIi-l(llł Zauważmy też, że Pi-1 E IIk(llł2 ), gdyż r jest stopnia i - 1, a (lklk-l .. : jest stopnia k - i+ 1. Taki algorytm podał Micchelli [1986a]. Jest interesujące, że żadna podprzestrzeń n-wymiarowa w C(l!ł2 ) pozwala na interpolację na dowolnym zbiorze n węzłów (wyjątkiem j tylko banalny przypadek n = 1). Jako pierwszy zauważył to chyba I{ w 1918 r. Jego rozumowanie było z grubsza takie: Niech będą dane fup.k u1, u2, ... , Un E C(llł2 ) i węzły Pi = (xi, Yi) (1 < i < n). Chcąc interpó wać jakąś funkcję w tych węzłach, używając funkcji bazowych ui, musf rozwiązać układ równań liniowych, którego macierz ma wyznacznik
wtedy i tylko wt~dy, g~y . p =;= q.
0
:, cp (p, q) =O
rpolacyjnym Lagrange'a, definiujemy funkcje i
"ui(p) :=
IT
cp(p.'pj:
(1
j=l,#i cp(pz,P1)
pbe~ (6.10.8) są one poprawnie okre~lone i t~lde~ że Ui(pj) t
jest on różny od O dla pewnego układu węzłów. Przesuw my węzły Pl i pz w sposób ciągły tak, aby cały czas były różne od siebie i pozostałych węzłów i aby ostatecznie zamieniły się miejscami. Wtedy ko cowy wyznacznik D ma tylko przestawione dwa początkowe wiersze, a W· różni się tylko znakiem od wartości początkowej. Wobec ciągłej zależn wyznacznika od węzłów będzie on znikał w pewnym momencie ruchu .. więc D bywa równy O nawet dla różnych węzłów. Zauważmy, że to ro' mowanie jest poprawne dla Jlłd, gdy d > 1, ale nie dla d = 1. To właś tłumaczy, dlaczego do interpolacji funkcji wielu zmiennych trzeba pod dzić inaczej. Zazwyczaj, mając ustalony układ węzłów, szukamy senso_ podprzestrzeni funkcji interpolujących.
terpoluje
f w danych
węzłach.
PRZYKŁAD 6.10.7. Niech będzie
interpolacji Sheparda?. •
.
\lt' .
Rozwiązanie. Jeśli
cp(p, q) := llP- ąl! 2 • Jaki jest wtedy wzór
.
Pi = (xi, Yi), p ='(x, y), to
..
• '·W innej wersji metody Shepard~ przyjmuje. się dodatkowe założenie, wartości funkcji cp są nieujemne. Ok,teślamy też:.funkcje . ,.
• I
,
'
J
•
„ •
.
,>
n
n
.
.:~i(p) := . . cp(p,pj), '\. j=l,#i
t •
404
6.10. INTERPOLACJA FUNKCJI WIELU ZMIENNYCH
6. APROKSYMACJA FUNKCJI
Z założenia o cp wynika, że vi(pj) = O dla i '/= j i vi(P) > O, jeśli tY,: P '/= P1, · ·. iPi-1.Pi+li ... • Pn· Dlatego v(p) > O i funkcje Wi są popra; określone. Prócz 1;ego i"
= Óij,
Wi(pj)
i
0
< Wi(p) < 1
Ei=l Wi(p) = 1. Wzór interpolacyjny ma tu postać n
F
i=l
i=l
,,.,. Ta wersja interpolacji Sheparda ma dwie dodatkowe zalety: jeśli wat ści !(Pi) są nieujemne, to F jest wszędzie nieujemna, a jeśli f jest stała, F = f. Tak więc funkcja interpolująca F zachowuje pewne własności fun r interpolowanej. Z drugiej strony, jeśli cp jest różniczkowalna, to w każd węźle funkcja F jest „płaska". Istotnie, wobec (6.10.9) każda funkcja wi · ekstrema w węzłach, czyli znikają tam jej pierwsze pochodne cząstkowe i samą własność ma F. Ważny przypadek szczególny interpolacji Sheparda przyjmując, że dla x, y E JRd
(µ > O).
Łatwo sprawdzić, że
ta funkcja jest
O<µ< 1. Wzór dla Wi
n
II
llx -
Xjllµ
j=l,#i
wi(x)
:=!lx -
różniczkowalna
można wyrazić
n
wi(x) :=
ekracza ri. Wygodnie jest przyjąć, że ri jest odległością punktu (xi, Yi) od najbliż go węzła, bo wtedy 9i(Xj, Yi) = Óij i funkcja interpolująca ma standar' ą postać n
= E f (Pi)Wi = E f (pi)vif v.
cp := llx - Yllµ
wpływa na gładkość funkcji, a ri stey) = O, jeśli odległość (x, y) od (xi, Yi)
E f(xi, Yi)9i(x, y).
n
i=l
daleko od (xi, Yi). Parametr µ nośnikiem funkcji 9ii jest 9i(x,
405
dla µ na dwa sposoby:
ogólna strategia wyboru funkcji interpolujących w llł.2 zaczyna się od gutacji płaszczyzny. Jest to podział jej części, otrzymany dzięki połą iu węzłów odcinkami tak, aby dało to„rodzinę trójkątów Ti, T2, ... , Tm ' astępujących własnościach: . Każdy węzeł jest wierzchołkiem
jakiegoś trójkąta
Ti. jest węzłem. Jeśli węzeł należy do pewnego trójkąta, to jest jego wierzchołkiem. Reguła 3 wyklucza przypadki pokazane na rys. 6.19. Każdy wierzchołek każdego trójkąta
>
n
/E II
llx - Xjllµ,
k=lj=l,j#
n
xill-µ /Ellx
-
xill-µ·
i=l
RYS. 6.19.
Drugi wzór jest prostszy, ale trzeba go stosować ostrożnie, bo w Xi ni iloraz oo/oo. Metoda Franke'a i Little'a interpolacji funkcji wielu zmiennych jest. kalna w tym sensie, że wartość dana w węźle nieznacznie wpływa na fun interpolującą daleko od tego punktu. Dla danych węzłów (xi, Yi) (1
Błędne
triangulacje
1
. gdzie dolny wskaźnik + sygnalizuje, że jeśli wyrażenie w nawiasach k. dratowych jest ujemne, to zastępujemy je zerem. Tak jest, gdy punkt (i,
Najprostszym typem funkcji owa w każdym trójkącie Ti:
!.współczynniki są
interpolującej
na triangulacji jest funkcja
jednoznacznie określone przez dane wartości funkcji rpolowanej w wierzchołkach trójkąta 'Fi. Wynika to z tw. 6.10.4, w któ,,;jako L 1 wybieramy jeden bok trójkc1ta, a jako Lo - prostą równoległą , 1 przechodząc}ł przez jego trzeci wierzchołek .
Rozważmy sytuację z rys. 6.20. Odcinek o końcach wspólny dla dwóch trójkątów. Można go opisać tak:
{t(x2, Y2) + (1 - t)(xa, y3): O~ t ~ 1}. Funkcja
li na odcinku jest liniowa względem
t:
ai (tx2 + (1 - t)xa) +bi (ty2 + (1 - t)ya) + c1
etoda ruchomych najmniejszych kwadratów
(x 2 , y 2 ) i (x 3 ,' · ·
=
= [a1(x2 - xa) + bi(Y2 - y3)]t + aix3 + bw3 + c1.
Warunki interpolacyjne w punktach (x2, Y2) i (xa, y3) określają ją jed·' znacznie. To samo dotyczy funkcji l 2 . Wobec tego li i l 2 na tym odcinku identyczne, czyli funkcja trójkątami liniowa jest w T 1 U T 2 ciągła. Wyn stąd następujące twierdzenie: · ~· 6.10.8. Jeśli {Ti, T2, ... 'Tm} jest triangulacją na pia. to funkcja trójkątami liniowa o danych wartościach we wszy kich wierzchołkach trójkątów Ti jest ciągła.
iią uniwersalną inetodą interpolacji za pomocą funkcji gładkicłi jest meto.'ruchomych najmniejszych kwadratów. Wyjaśnijmy najpierw ogólnie, na .m ona polega. Dany jest obszar X, który nas intl~resuje; może to być np. przestrzeń llł, 1Ub 1 podzbiór którejś z nich. Dany jes~ też układ '{xi, x2, ... , Xn} węzłów, ~tórych znamy wartości rzeczywis~ę·J(ii) pewnej.funkcji f . .Wybieramy· '!funkcję ui, u2, ... Um o wartościach rzeczywistych, określone na X. Ich ha j~st zwykle mała w porównaniu z n. W ..trady"cyjnej metodzie najmniejszych kwadratów ustalamy jeszcze· agi Wi > O. Próbujemy znaleźć współczynniki c1, c2, ... , Cm, dla których "'ina ważona kwadratów reszt (odchyleń)
„
m
TWIERDZENIE
czyźnie,
Rozważmy teraz funkcję, która w trójkącie Ti należy do klasy II 2_(JR,~· qi(x, y) := aix 2 + a2XY + aay 2 + a4x + a5y + a6. Potrzebujemy sześciu warunków, żeby wyznaczyć sześć współczynników · kiej funkcji. Możemy np. ustalić wartości funkcji w wierzchołkach trój i środkach jego boków. I w tym przypadku tw. 6.10.4 zapewnia istnie. funkcji interpolującej. Jak na rys. 6.21, możemy określić L 2 jako jeden z ków trójkąta, L1 jako prostą przechodzącą przez środki pozostałych bokó a Lo jako prostą przechodzącą przez ich wspólny wierzchołek, np. rówrl ległą do L2. Rozumując jak poprzednio, dowodzimy, że.lokalne określe funkcji qi dają funkcję ciągłą w zbiorze T 1 U T2 U ... U Tm. •·
t n'ajmniejsza. Definiujemy iloczyn skalarny i normę wzorami . .
1
„
'r:.
n
(f, g)';=
L wif(xi)g(xi),
11111
:=
Ju, n,
pozwala stosować teorię aproksymacji W. przestrzeni unitarnej (pod6.8). Wiemy więc, że rozwiązanie postawionego zadania spełnia waunek 'ortogonalności O
ożdz.
m
·«.
..
f·-LCjUj ..L Ui
.
(1 ~i~ m),
j=l
tóry daje układ równaii normalnych m
•"Lci(uj,ui) = (f,ui) '.·j=l
(1 ~i~ m).
408
6. APROKSYMACJA FUNKCJI
6.10. INTERPOLACJA FUNKCJI WIELU ZMIENNYCH
Metoda ruchomych najmniejszych kwadratów od opisanej wyżej róż się tym, że wagi Wi mogą być dodatkowo funkcjami zmiennej x. Iloczy skalarny, układ równań normalnych i funkcja aproksymująca wyrażają si teraz odpowiednio tak:
.nterpolacja za pomocą multikwadryk
'
~szcze inna metoda interpolacji funkcji wielu zmiennych, którą zapropono. ał Hardy [1971], opiera się na funkcjach bazowych zwanych multikwadr'ljami:
n
(!, 9)x :=
409
L Wi(x)f (xi)g(xi),
Zi(P) :=
(
llP -
Pi 11 2
+ c2)1/2
(1 :,;;;; i
< n).
i=l ystępuje
m
Z:cj(x)(uj,Ui)x
=
(f,ui)x
(1
j=l m
g(x) :=
tu norma euklidesowa. Hardy sugeruje, żeby parametr c był rówiloczynowi O.S przez średnią odległość między węzłami. Stosując te funke w interpolacji, musimy wiedzieć, że macierz o elementach Zi (Pj) jest 'eosobliwa. Udowodnił to Micchelli [19S6b]. J\. Oto inne prace dotyczące interpolacji funkcji wielu zmiennych: Chui foss], Hartley [1976], Micchelli [19S6a], Franke [19S2] oraz Lancaster i Sal''riskas [19S6]. · Informacje o metodzie Sheparda podają: Shepard [196S], Gordon i Wiom [197S], Newman i Rivlin [19S3], Barnhill, Dube i Little [19S3], Farwig 11 9S6] oraz Cheney i Light [1999]. 1
L Cj(x)uj(x).· j=l
Obliczenia potrzebne do zbudowania tej funkcji są kosztowne dla dużych normalnych trzeba rozwiązywać oddzielnie dla każd go x. Z tego powodu przyjmuje się na ogół, że m < 10. .. Funkcje wagowe pozwalają uzyskać różne pożądane wyniki. Jeśli wi( jest duże dla x = Xi, to funkcja g prawie interpoluje f w tym punkci' W granicy, dla Wi(Xi) = oo, jest g(xi) = f(Xi)· Jeśli Wi(X) szybko malej' do O, gdy x oddala się od Xi, to węzły dalekie od Xi mają mały wpływ ff g(xi)· Te dwa cele osiągamy w przestrzeni JRd, przyjmując, że gdyż układy równań
,,
l~ Podać algorytm, zjańskim
który sprawdza, czy dany zbiór węzłów jest iloczynem karte(6.10.1) i daje, gdy odpowiedź jest twierdząca, czynniki tego iloczynu.
2. Udowodnić własność sumy boolowskiej P@Q z (6.10.5) podaną po tym wzorze.
gdzie normę można wybrać dowolnie, choć zwykle decydujemy się na norm euklidesową.
Jeśli m = 1, u 1 (x) = 1, a funkcja wagowa jest określona jak wyżej to metoda ruchomych najmniejszych kwadratów sprowadza się do metod Sheparda. Żeby się w tym upewnić, napiszmy dla tego przypadku równani ' normalne przyjmując c 1 (x) = c(x), u1(x) = u(x) = 1: ·
c(x) (u, u)x
= (!, u)x.
Lui(x)vi(Y)
(ui EU, Vi EV).
skończeniewymiarowe.
·;'Wykazać, że interpolacja za pomocą II 2 (1lł 2 ) na ogół nie jest możliwa, gdy sześć
_ ( ) ( ) _ ( )- (f,u)x _ 2:i=1f(xi)wi(x) ( ) -cxux gx -ex----n () · (u, u)x Lj=l Wj X wi(x) = llx - xill- 2 , to usumęc1e osobliwości wif 2:j= 1 Wj równe 1 w Xi i O w pozostałych węzłach.
(b) Ilk(llł2 ) C IIn ® IIm, gdzie k :=max{ n, m}. "'"(c) 1Ik(llł2 ) C IIn ®Ilm, gdzie k := min{n,m}. 4. Niech U i V będą przestrzeniami wektorowymi funkcji określonych odpowiednio na X i Y. Wtedy U® V składa się ze wszystkich funkcji postaci
'' ·Udowodnić, że dim(U@ V) = dim U · dim V, jeśli tylko przestrzenie U i V są,
li• węzłów leży na elipsie, paraboli, hiperboli lub na dwóch prostych. : Wykazać, że jeśli cztery węzły są wierzchołkami prostokąta o bokach równo1' ległych do osi współrzędnych, to dla dowolnych danych w tych węzłach jest możliwa interpolacja za pomocą wielomianu p(x, y) =a+ bx +cy+ dxy. ·.~ \Jaki rodzaj wielomianu dwóch zmiennych jest odpowiedni dla interpolacji, gdy 'układy węzłów są takie jak na rys. 6.22?
410
6. APROKSYMACJA FUNKCJI
(a)
• • •
(b)
(c)
• •
.• ..•
• •
• •
• •
(d)
•
•
•
j,ednoznaczności, będziemy zakładać, że
• •
•
•
•
• •
•
RYS. 6.22
8. Wykazać, że wymiar zbioru Ih(JRd) jest równy (d!k). · 1 9. Niech będzie f E IIk(JR) il E II1 (JR 2 ). Udowodnić, że fol E IIk(JR2 ). Czy ka~' 1 element klasy IIk(JR 2 ) można otrzymać w ten sposób? · · 10. Udowodnić, że dla danych n punktów Xi parami różnych w JRd istnieje t b E JRd, że liczby (xi,b) są parami różne (własność potrzebna w dowodi · tw. 6.10.6). )
11. Rozważyć interpolację Sheparda dla dwóch zmiennych, n węzłów i funk' cp(p,q) := llp-ąll 2 . Jaka jest przestrzeń IIk(lR 2 ), zawierająca wszystkie fun.k1d bazowe? (Podać najmniejsze k).
(gdzie ll(x, y)lloo :=max{ lx!, lvl}) podać wzory opis jące drugą wersję interpolacji Sheparda. · · ·1 13. Czy reguły określające triangulację można zwięźle wyrazić, mó.;iąc, ~e zIDi węzłów jest identyczny ze zbiorem wierzchołków trójkątów? 14. Udowodnić, że dla operatora L określonego wzorem Lf := I:~=l wif(xi) IJ. stępujące własności są równoważne: · · · . 1'. (i) Dla każdego f jest min f (xi) .;,;; Lf .;,;; max f (xi)· (ii) wi ;:;;. O dla 1 .;,;; i .;,;; n oraz I:~=l Wi = 1. 12. Dla cp(p, q) :=
llP- ąll~
ZADANIA KOMPUTEROWE 6.10 Kl. Zaprogramować w efektywny sposób metodę Sheparda. Danymi mają
b1
węzły (xi, Yi), wartości Ci w węzłach i lista punktów, w których należy oblicz wartości
funkcji
411
6.11. APROKSYMACJA WYMIERNA
interpolującej.
6.11. Aproksymacja wymierna Tematem kilku poprzednich podrozdziałów były różne rodzaje aproksymacj wielomianowej - interpolacja Lagrange' a i Hermite'a, aproksymacja średni kwadratowa i jednostajna, rozwinięcia w szeregi potęgowe. Ta aproksymacj ma wiele zalet, ale i ograniczenia wynikające z własności wielomianów. Dl tego właśnie stosuje się także funkcje sklejane, budowane zresztą w znag już sposób z wielomianów. Inny sposób przełamania wspomnianych ogra · czeń polega na zastosowaniu w aproksymacji funkcji wymiernych. ·· Jiunkcja wymierna r jest z definicji ilorazem dwóch wielomianów pi .. drugi z nich nie jest równy tożsamościowo zeru. Aby uniknąć kłopotli~
te wielomiany nie mają wspólo czynnika stopnia dodatniego. W spólny.czynnik stały może być dowolny, yle różny od O). Oczywiście, każdy wielomian jest funkcją wymierną, ale nie odwrotnie . ,qtną cechą funkcji wymiernej r = p/q jest to, że jeśli q nie jest stałą, to a bieguny. Nazywamy tak każde zero mianownika. q. Tak więc funkcja '.·h·.l)/[(x - 2)(x2 +1)] ma·bieguny .2„i, -i.>W biegunach ta funkcja.nie !określonej wartości, a gdy argument 'x dąży do bieguna, to moduł wari funkcji rośnie nieograniczenie. Zauważmy też, że ta sama przykładowa keja dąży do o, gdy X - t żaden wielomian (z wyjątkiem stałej O) nie l:i tej własności. . Istnieją różne metody tworzenia funkcji wymiernych, a także sposoby 'wyrażania. Zajmiemy się tu kolejno interpolacją wymierną, aproksymaPadego i ułamkami łańcuchowymi.
oo;
terp!31acja wymierna
•• „
4
~"
•
~~~nlc~ymy się do interpolacji typu La~range.>a, tf do ~astępującego -~a ·a·:· dla danych liczb całkowitychvnieµjemnych m pi, danych węzłów "xi, .. ~ ", Xm+n parami różnych i dańych wartości yo, yi, ... , Ym+n znaleźć półczynniki takiej funkcji wymiernej r = p/q, gdzie p E IIm i q E IIn, że .
.
.
'~
. "
'
(6.11.1) iczba m + n + 1 war~nków nie jest wybrana przypadko~o. Istotnie, wieloiany p i q mają łącznie m +n + 2 współczyriniki, ale ten z nich, który jest żny od O, możemy wybrać dowolnie. . Podobne zadanie interpolacji wielomianowej ma, jak wiemy, jedno i tył o jedno rozwiązallie. Tu jest inaczej. Za'\].ważmy, że dla · l =O,
rn =·1,
xo =Yo =O,
x1. =}Jl = .1
(6.11.2)
anie (6.11.1) nie ma rozwiązania. Istotnie, z pierwszego warunku wynika, licznik (stała) jest równy O, ale 'Ytef].y na pewno r(l) ~ 1. Druga istotna łasność interpolacji wielomianowej zachowuje się i tutaj: TWIERDZENIE 6.11.1. Jeśli funkcja r spełniajQ:ca warunki (6.11.1) istnieje,' to jest określona jednozna~znie. · " · · . ·
Dowód. Przypuśćmy, że dwie funkcje wymierne, p/q i jj/q, spełniają te arunki. Wtedy wielomian pq - pq należący do IIm+n ma m +n+ 1 różnych :x·i, a więc znika tożsamościowo, czyli • ...p/q =: p/q.
412
Z równań (6.11.1) wynika układ liniowy jednorodny względem wsp· czynników licznika i mianownika: ";
(O.;;; j.;;; m +n).
p(xj) = yjq(xj) układ
rozwiązanie może być
6.11.2 (WERNER) Yo = Y1 = ... = Ym+n, to funkcja rmn istnieje i jest ró tożsamościowo YO· ·; ·:1 II. Jeśli m = O, istnieje takie k, że Yk = O i nie wszystkie y/ równe O, to funkcja rmn nie istnieje. . III. Jeślim > O, istnieje takie k, że Yk = O, nie wszystkie Yi są r. ne O, a funkcja rmn istnieje, to istnieje funkcja wymierna
TWIERDZENIE
I.
Jeśli
rm-1,n(x) := rmn(x) ,„„: X-Xk
+n,
j =/::. k).
IV. Jeśli m .;;; n, wszystkie Yj są różne od O, a funkcja rmn istnie · to dla dowolnego k =O, 1, ... , m +n istnieje funkcja wymierna
rm-1,n(x) := rmn(x) - Yk' X-Xk spełniająca
PRZYKŁAD
Yi -yk Xj -Xk
{O.;;; j.;;; m +n, j =/::. k).
V. Jeślim < n, wszystkie Yj są różne od O, a funkcja rmn to istnieje funkcja wymierna
6.11.3. Niech będzie m = 1, n warunki interpolacyjne
= 2.
Znaleźć funkcję wymierną
spełniającą X
0
2
3
4
1
!!
2.
..Q._
Y 2 8 7 22 pisano je tak jak dla interpolacji wielomianowej).
;
V. IV. IV.
warunki interpolacyjne
rm-1,n ( Xj ) =
rnm(Xj)
Pmn(x) - Ykqmn(x) , qm-1,n = qmn· X-Xk ·-1,n należy do IIm-1' gdyż Xk jest zerem wielomianu Pmn(x) -ykqmn(x), 'ry wobec tego dzieli się przez x - Xk· Wartości nowej funkcji wymiernej ilorazami różnicowymi wartości funkcji rmn· Zwróćmy jeszcze uwagę na ostrożne sformułowania w przypadkach III: jeśli istnieje rmn, to istnieje ... ; nie wiemy bowiem, redukując pierwotne anie do coraz prostszych, czy ma ono rozwiązanie. Stosując tw. 6.11.1, badamy kolejno, czy są spełnione założenia przyków I, II, ... , V, dotyczące danych m, n, Yj·
i Rozwiązanie. Niżej dla każdego etapu obliczeń podano numer przypad/związek nowej funkcji wymiernej z poprzednią i tablicę warunków, które nowa funkcja ma spełniać:
spełniająca
warunki interpolacyjne y·1 rm-1,n(Xj) = (O.;;; j .;;; m Xj-Xk
Twierdzenie jest niemal oczywiste. Jego część II wykazaliśmy już na (6.11.2). Jeśli rmn = Pmn/ąmn, to w przypadkach III i IV
.zykładzie
Pm-1,n ( X) =
jest jednak źle uwarunkowany (zob. podrozdz. 4.4). Ponadto j • takie, że q(xj) =O dla pewnego j. Niżej opisano me dę Wernera, która polega na iterowanej redukcji zadania (6.11.1) do pod nego, na ogół prostszego zadania z innymi parametrami. Metoda pozw też wykryć nieistnienie funkcji r. Aby uniknąć nieporozumień, oznaczy' ją teraz rmni jej licznik należy do IIm, a mianownik do IIn. Ten
413
6.11. APROKSYMACJA WYMIERNA
6. APROKSYMACJA FUNKCJI
V.
X y
o
2
3
4
r21(x) := - ( - ) r12 X
2
8
3
7
2
22
ru(x) := r21(x) X
X y
2 1
3
4
3
2
X y
3
4 2.
1
ro1
2
( ) ru(x) - ł x := x-2
1
r10(x) := - ( - ) ro1 x
1
6
1
5
3
5
15
-;tH5
*
roo(x) := r10(x) - 6 x-3 2 3 I. roo(x) = 2 Aby znaleźć ri2, stosujemy teraz od końca relacje ewymierne: 3 3 r10(x) = 6 + (x - 3)roo(x) = -x + -,
IV.
2
2
wiążące
kolejne funk-
414
6. APROKSYMACJA FUNKCJI
1
rol(x)
=
ru(x)
=
r21(x)
= 2+
2
r10(x) = 3x + 3' 1 . - + (x - 2)ro1(x)
3
xr11(x)
Udowodnić, że fll}l~Cj~ X
415
6.11. APROKSYMACJA WYMIERNA
.\VYlllierna. r22
spełniają~a
wa-
-1
= --, x+ 1 2 X +X+ 2 = ,
x+l x+l r 12 (x) = r21 (x) = x 2 + x + 2 · 1
Rozwiązanie. Wybierając
, otrzymujemy, jak
w
określony
sposób punkty Xk w przypadku
można sprawdzić, następujący ciąg równości:
·.I
Łatwo sprawdzić, że
ta funkcja spełnia założone warunki interpolacyjne. '
Według wzorów podanych na końcu przykładu można by - nie zną dując współczynników funkcji wymiernych - obliczyć wartość funkcji r"
w dowolnym punkcie. 'Ifzeba tu jednak się zastrzec, że nawet wtedy, g szukana funkcja Tmn nie istnieje, algorytm oparty na tw. 6.11.1 i wyj śniony na przykładzie może działać pozornie poprawnie aż do końca (cz dojścia do roo). Wtedy jednak funkcja Tmn spełnia nie wszystkie war ki interpolacyjne. Można to wykryć tylko obliczając współczynniki liczni . i mianownika każdej z funkcji roo, ... , Tmn i badając je dokładniej. Wyjaśnijmy teraz dokładniej, kiedy Tmn nie istnieje, choć nie wykr. liśmy tego, stosując tw. 6.11.1. Załóżmy, że zachodzi przypadek IV lu~u i że funkcja Tm-1,n ma biegun Xki nie jest to sprzeczne z warunkami int polacyjnymi dla tej funkcji, bo nie dotyczą one tego punktu. Wtedy istnie takie wielomiany p E IIm-1 i q E IIn-li że
Tm-1,n
Ze wzorów
= (X -
p(x) Xk )q (X ) ,
odnoszących się
p(x)
Tmn(x) = - () qx
gdzie
p(xk) i- O.
do przypadków IV i V wynika zatem,
że
+ Yk,
ro2(x) = r12(x)' .„ ·.". r ( x ) 10
~
. .•
=·
r20
+6,
X
rozwiązanie).
x-4
3
=· r10 ( x)
1 ' r20(x). =._.-(-)"' ·: · ..... : t92 x. :: . •
+ 2 , .. roo (x)
X- 1
1
=- _.
2
'. dmJri. r12(x) = (x ..:._4)/[C!x+ l)(x-'-6)]. Ta funkcj.a ma biegun 6, który obliczeniu r22(x) = 3 + (x - 6)r12(x). Dlatego wynikająca stąd Jccja r22(x) = (5x - 2)/(x + 2) nie spełnia warunku r22(6) = 3. •
Jka przy !.".·' .
;; ·w obu przykładach pominięto aspek~y«::zysto numeryczne, a są one ·· ne. Ograniczymy się do uwagi, że najstaranniej napisany program wzo. any na mętodzi.e Wernera (lub jakiejkolwi~k innej) może· dać w wyniku ędów zaokrągleń fałszywe jakościowo inform_acje o zadaniu (6.11.1): że hkcja Tmn istnieje, chociaż tak nie jest, Jub'odwrotni.e. . . ·warto również wiedzieć, że: (i) m,~todę ·Wernera.można uogólnić na ypadek interpolacji Hermite'a (z węzłaini. :w:ielokrotnyrni), .(ii). zupełnie 'li: metoda służy do obliczania wartÓŚci ftinkcji wymiernych w ustalonym ''·cci~ (zob. np. Stoer i Bulirsch [19SO]). Wiele innych wiadomości o interacji wymiernej podają Cuyt i Wuytack [*1987]. Jll'
t,~9ksymacja
Padego
bżymy teraz, że dla funkcji aproksymowanej · · pótęgowy: '{h' .·
a wobec tego Tmn(xk) i- Yk wbrew warunkowi interpolacyjnemu nałożone , na Tmn· Oczywiście, podobnie może się zdarzyć na jednym z dalszych e~apo obliczeń, przy przejściu od Tm'n' do Tm'-1,n'i wtedy też Tmn spełnia wszystkie warunki typu (6.11.1). Warto zauważyć, że taka „ułomna" funkc wymierna na pewno ma licznik stopnia < m i mianownik stopnia <-,!' (te nierówności mogą jednak być spełnione i wtedy, gdy nasze zadanie':'. :
roo ( x )
·
1",•„
oo
.
k=O
;,:.J(xh= I;akxk. ·
f znamy. rozwinięcie w sze-
...
(6.11.3)
.ówno współczynniki ak, jak i zmienna .x· mogą być zespolone, chociaż .to ograniczamy się do przypadku cz"ysto rzeczywistego. Jeśli ten szereg . ;skoń(;zony pr~mień zbieżności p, t~ jest zbieżny w kole lxl < p (w przy. ku rzeczywistym dla -p < x < p), rozbieżny dla jxl > p, natomiast jego
416
6.11. APROKSYMACJA WYMIERNA
6. APROKSYMACJA FUNKCJI
na okręgu lxl = p (dla x = ±p) zależą od dodatkowych informa ak. Jeśli lxl jest n,iewiele mniejsze od p, to szereg jest wolno zbieżny, a wi niezbyt użyteczny w obliczeniach. Dla lxl > p z tego szeregu nie moż korzystać nawet wtedy, gdy wiemy, że funkcja f(x) określona w inny spos' (ale niesprzeczny z (6.11.3)) jest tam bardzo regularna. Tak jest np. ą, logarytmu. Szereg
417
własności
o
współczynnikach
1 - log(l +x) = X
l)k L ~xk oo
(
i:•
Jest to więc specyficzne zadanie interpolacji wymiernej: dane są wart, funkcji r i jej m + n początkowych pochodnych w jednym węźle O. Dlat można by sądzić, że funkcja wymierna [m/n]J, jak i suma częściowa sze~~ Taylora dla f, dobrze przybliża tę funkcję tylko w pewnym otoczeniu pu tu O. Okazuje się jednak, że obszar użyteczności przybliżeń Padego może znacznie szerszy; zob. uwagi do funkcji (6.11.8). To zdanie jest ogólnil{o bo nie ma tu miejsca na prezentację teorii aproksymacji Padego. Mq: ją znaleźć w kilku monografiach tej dziedziny (Baker [*1975], Baker i G ves-Morris [*1981]), a także w cytowanych dalej książkach poświęcony ułamkom łańcuchowym. Trzeba też jednak pamiętać, że konkretne przyb żenie [m/n]J zależy tylko od m, n i ao, ai, ... , am+n• a więc (jak zresz każda funkcja interpolująca) od cząstkowej informacji o funkcji f. Nie winno nas zatem dziwić, że taka informacja daje czasem przybliżenia zgd fałszywe (por. zad. 15). Jeśli jednak ciąg współczynników akjest dostate nie regularny, to porównanie kilku przybliżeń Padego pozwala nam oce ·· ich dokładność.
q(x) =co+ c1x + ... + enxn
(co =I= O).
reg potęgowy dla różnicy f(x)q(x) - p(x) otrzymujemy, wykonując wy, ujące tu działania i grupując składniki z x w tej samej potędze. Łatwo . awdzić, że składniki z xm+l, ... , xm+n w tym szeregu znikają, jeśli ' min{k,n}
L
k=Ok+l
jest w dziedzinie rzeczywistej zbieżny tylko dla -1 < x o( 1 (bardzo wol dla x = 1), chociaż funkcja log(l + x) jest określona także dla x > 1. Zobaczymy teraz, że znając szereg (6.11.3) można zbudować przy żenia wymierne funkcji f, sensowne także poza kołem jego zbieżności. Przybli,żeniem Padego [m/n]J (m, n - liczby całkowite nieujemne) i::l' regu (6.11.3) nazywamy funkcję wymierną r = p/q, gdzie p E IIm, q E i ą(O) =I= O taką, że szereg potęgowy dla różnicy f(x)q(x) - p(x) nie zaw· składników z x 0 ,x 1 , ... ,xm+n. Ponieważ z założenia ą(O) =I= O, więc tę s własność mft szereg potęgowy dla f(x)-'- r(x). Inaczej mówiąc, chcemy rozwinięcie funkcji wymiernej r w szereg potęgowy miało m + n + 1 ·· czątkowych składników wspólnych z szeregiem (6.11.3). Można to wyr jeszcze inaczej:
p(x) =bo+ b1x + ... + bmxm,
1
ak-jCj =O
(m+ 1
o( ko(
m+n).
(6.11.5)
j=O
'b.ieważ z założenia co =I= O, więc można też przyjąć, że co
1, bo to )ywa tylko na unormowanie współczynników wielomianów p i ą. Osta, nie mamy układ n równań liniowych (6.11.5) względem tyluż szuka/ h współczynników Cj mianownika q. Jeśli ten układ ma rozwiązanie = 1, c1 , ... , en, to licznik p wyznaczamy ze wzorów min{k,n}
bk =
L
ak-jCj
(O
o(
k
o(
m).
(6.11.6)
j=O
zymujemy je, przyrównując do O współczynniki różnicy f(x)p(x) - q(x) y X O,X 1 , ••• ,Xm • Jeśli natomiast układ wraz z warunkiem co = 1 nie ma rozwiązania, lprzybliżenie [m/n]J nie istnieje. W szczególności tak jest dla m = n = 1 (x) := 1 + x 2 + x 4 + ... ,bo wtedy układ (6.11.5) zawiera tylko równanie co+ aic1 =co= O. '· Rozwiązywanie układu (6.11.5) i zastosowanie wzoru (6.11.6) jest seną metodą znalezienia jednego przybliżenia Padego dla niezbyt dum i n. W monografiach aproksymacji Padego można znaleźć bardziej czędne metody, które tworzą rekurencyjnie cały ciąg tych przybliżeń, . taki: · .:.:•
[O/O], [0/1], [1/1], [1/2], [2/2], ...
(6.11.7)
!Jednak ograniczymy się do pokazania na przykładach, że przybliżenia
{6.11.4),
g 3 oraz
6.11.5. Znaleźć przybliżenia Padego [n/n] (n = 1, 2, 3) funkobliczyć wynikające stąd wartości przybliżone dla. log 1.5, log 2
ocenić
ich
dokładność.
418
6. APROKSYMACJA FUNKCJI
6.11. APROKSYMACJA WYMIERNA
mt
Rozwiązanie. Ponieważ ak = (-l)k j(k + 1) dla k ~ O, więc dla n = 1 układ (6.11.5) redukuje się do jednego równania ico - !c1 = o."d co= 1 mamy c1 = l Z (6.11.6) wynika, że bo= 1, bi=!. Dla uproszcze': mnożymy te wszystkie współczynniki przez 6, co daje wzór
Padego mogą być pożyteczne nawet wtedy, gdy sz~.. potęgowy (6.11.3) jest rozbieżny dla każdego x =J. O. Klasycznym przykład jest szereg Eulera ·· oo
2:)-l)kk!xk. k=O
Wynika on z
1 + xt
.
.
'
'
I
,
,
,
o'
,
•; '.
\
ech po prawej stronie pierwszym niezerowym pewnego l ~ m + n + 1. Wtedy: ;,) wszystkie przybliżenia [m' /n']J takie, że n'~
m'> m, istnieją
n,
współczynnikiem będzie
(6.~
przez rozwinięcie funkcji 1/(1 + xt) w szereg potęgowy 1 - xt + x 2 t 2 ...:.;. i zamianę porządku całkowania i sumowania. To postępowanie jest czy' formalne, bo wspomniany szereg jest zbieżny tylko dla jxtl < 1. Okazujei jednak, że ciąg przybliżeń [n/n](x) jest zbieżny do wartości powyższej c. dla każdego x rzeczywistego lub zespolonego z wyjątkiem półosi rzeczywią..
dt
m' +n'< l,
są
'·.
identyczne z [m/n]1; i)· żadne z przybliżeń [m' /n']J takich, że· i
~ l .
n,
n< n' :~- l - m , . ·•m' + n' ·'?" 2 l.' · .
n' nie istnieje~ '.'dwuwymiarowej tablicy Padego na pozycji (µ, v) u~ieszczamy przybliie [µ/v]J (jeśli ono istnieje)·. W tej tablicy pozycje {m', n') wymienione żej w (i), (ii) tworzą kwadrat o roŻmiarach (l-m-n) x (l-m-n), zwany 'kiem. Jego lewa górna część (nieco większa od połowy) zawiera „kopie" :ybliżenia [m/n], a dolna część jest pusta (nie ma jej dla l = m +n+ 1, Y,: 'blok jest jednoelementowy). Poza tym blokiem przybliżenia są różne od /n]1-·Można tu doszukać się analogii d.o funkcji wymiernych z zadania inolacji rozważanego wcześniej - i tam, jak juź wiemy, zadanie nie zawsze ·~ozwiązanie. Szereg potęgowy jest n~rmalny, jeśli cała tablica Padego li się.pa blold jednoelementowe, tzn. wszystkie przybliżenia istnieją i są 'ami różne. Jest tak Wtedy, gdy wszystkie -.wyznacznild pewnego tYJ>u, . Órzone ze współczynników ak sfi: różne od O. ' Na zako:Ó.czenie tego bardzo-pobieżnego, P.izeglądu faktów związanych ~roksymacją Padego ·trzeba podkreślić,' 'i~::tzw'. algorytm. i:: Wynna po'la tworzyć tablicę wartości przybliżeń Padego ustalonym punkcie x p. dla x = 1) bez obliczania ich współczynników. Ten algorytm można zam interpretować jak9 metodę przyspieszania zbieżności szeregu .Ek::o.ak. . asadnienie algorytmu i jego własności podają np. Baker i Graves-Morris 981] oraz Brezinski i Redivo Zaglia [*1991]. Przyspieszanie zbieżności jest · ~ą dziedziną analizy numerycznej, której dotyczy niemal w całości druz tych książek; zob. też Weniger [*1989] (szcŻególnie aspekty praktyczne) idi [*2003] (teoria). Metoda Aitkena (podrozdz. 5.1) i ekstrapolacja Rirdsona (podrozdz. 7.1) to również metody z tej dziedziny.
[n/n](x) rośnie wraz z n, nawet wtedy, gdy argument x leży poza obszar. zbieżności
'
~: Kończąc te wstępne informacje o aproksymacji Padego, zauważmy jesz' że obliczywszy przybliżenie [m/n]J dowiadujemy się czasem, że pewne e przybliżenia są z tym identyczne, a jesŻcze inne nie istnieją; w obu ypadkach nie warto ich szukać. Przypomnijmy, . .. . . że z definicji. jest
"f't·:
Wyżej podkreślono te początkowe cyfry w wartościach przybliżonych, k( są
f
i.
W podobny sposób, ale po rozwiązaniu układu dwóch lub trzech rów (6.11.5), otrzymujemy pozostałe ~zukane przybliżenia:
log(l + x): x[l/l](x): x[2/2](x): x[3/3](x):
oo, O).f' Zbieżność jest dość szybka dla .małych'» <'"x • dodatnich, a wolna• .nJ?.. i „ • •• " , • " • ~ '~' ,., · • •ł Ą ''°x"żespoforiych leżących w'poblizu tej półosi {zob. zad. 13, 14).
.
+X .
6+4x
419
420
;. Dowód. Redukty zerowy i pierwszy są odpowiednio równe bo i bo + + a1)/b1. Dlatego twierdzenie jest poprawne dla n= O, 1. 'eh będzie n > 1. Załóżmy, że (n - 1)-szy redukt wyraża się zgodnie wierdzeniem. Zmieniając w tym ułamku ostatni mianownik, czyli bn-1, •bn-1 + an/bn otrzymalibyśmy n-ty redukt ułamka (6.11.10). Można go m obliczyć, zmieniając wyrażenia dla An-1 i Bn-1 odpowiednio na
Ułamki łańcuchowe
bi, czyli (bob1
Ułamkiem łańcuchowym nazywamy szczególny rodzaj ułamka piętrowegÓ'
bo+
a1 b1
+
a2
a3 b2+--b3 + ...
Zapisujemy go w bardziej zwarty sposób:
an-lAn-3
bo+~+~+~+ ...
bn-1
~ + ~) bn An-2 = An-1 + ~ bn An-2 = b;:
•
nieskończonych.
Gdy dla jakiejś stałej matematycznej (jak
ułamka
lub e) albo funkcji ele-
tości
takiej stałej lub funkcji, to mamy do dyspozycji jego redukty, któ; ą coraz lepszymi przybliżeniami tej wartości. Oczywiście, o przydatności ka decyduje szybkość zbieżności ciągu reduktów. W wielu przypadkach roki łańcuchowe górują nad innymi wyrażeniami stałych lub funkcji, np. regami nieskończonymi. Nic więc dziwnego, że te ułamki są od setek lat iektem badań i że mają rozliczne zastosowania. Na paru przykładach pokażemy teraz, jak powstają ułamki łańcuchowe ·new praktyce numerycznej (i jakie mają zalety). Pierwszy sposób można tosować, gdy interesujące nas wielkości fn (na ogół zależne od jakichś ametrów) spełniają równanie różnicowe jednorodne drugiego rzędu:
bo+B~, przez odrzucenie z (6.11.10) n-tego ogona, czyli
7f
ntar~ej lub specjalnej umiemy znaleźć ułamek łańcuchowy zbieżny do
podobnego do symbolu sumy nieskończonej. Jak w jej przypadku, tak i tut trzeba oczywiście wyjaśnić, co znaczy taki ułamek, a ściślej, jaką wart mu przypisujemy. W tym celu zdefiniujmy n-ty redukt ułamka (6.11.10); j to ułamek skończony
niesk<>;,
czonego
k!l~·
!;
CXnfn-1 - f3nfn - fn+i =O
Redukt i ogon są więc odpowiednikami sumy częściowej i reszty szerEl nieskończonego. Interpretacja reduktu jest oczywista. Jego wartość oblic. , my, wykonując działania od końca, tzn. obliczając najpierw iloraz an/, dodając doń bn-1, dzieląc lln-1 przez tę sumę itd. Inny sposób, wygodni j, szy, jeśli chcemy znać wszystkie redukty od zerowego do n-tego, poleg zastosowaniu następującego twierdzenia: ,
A_1 := 1,
(
', Można już teraz sformułować następującą definicję: jeśli ciąg An/ Bn uktÓW ułamka łańcuchowego (6.11.10) ma granicę V (być może, nieskoń m~), to ten ułamek jest zbieżny, a jego wartością jest v. Wtedy są zbieżne " 'ież wszystkie ogony (6.11.12). I tu mamy oczywiste analogie do szere-
bo+B~·
TWIERDZENIE
+
.n/bn· Iloraz tych liczb jest równy An/ Bn.
(w publikacjach można spotkać także nieco inne sposoby zapisu ułamkóit Dla ułamków łańcuchowych nieskończonych - a te są najwą.żniejsze - uż warny także symbolu
powstały
421
6.11. APROKSYMACJA WYMIERNA
6. APROKSYMACJA FUNKCJI
J. ex ~.
6.11.6. Jeśli ciągi {An} i {Bn} są określone wzorami
B_1 := O,
An := anAn-2
Ao := bo,
+ bnAn-li
to n-ty redukt (6.11.11) An/Bn (n;;;:. O).
l
+ bnBn-1
f ~-1 fn
..i!!:_ _
• . f n-1
Bo := 1,
Bn := anBn-2
n
(n;;;:. 1),
ułamka łańcuchowego (6.11.10)
_
/3 _ f n+l n fn
CXn f3n + f
ując tę równość,
jest
fi fo
, .' .. ·~"
)
=
:K
CXnl n=l~·
= 0
(n= 1, 2, ... ).
(6.11.13)
'
1:1 . otrzymujemy
ułamek łańcuchowy nieskończony:
(6.11.14)
422
6. APROKSYMACJA FUNKCJI
Z tych prżekształceń nie wynika, czy otrzymany ułamek jest zbieżny; a·: tak, to czy jego wartością jest fil f 0 . Trzeba pamiętać, że równanie (6.1 ma dwuparametrową rodzinę rozwiązań {fn}, określonych przez dow wybór właśnie Jo i fi. Istotne jest to, czy w tej rodzinie istnieje rozwiąż minimalne Un}, tj. takie, że nie wszystkie jego elementy znikają i ż„ pewnego innego rozwiązania{!~} jest limn-.oo fn/ f~ =O. Oczywiście rozwiązanie {cfn} ( c -:j:. O) też jest minimalne, ale iloraz fil Jo dla t rozwiązań nie zależy od c. · 6.11.7 (PINCHERLE). Jeśli równanie różnicowe minimalne {fn}, to ułamek łańcuchowy z do fil f o.
stosowanych dla n = O, 1, ... ,
rozwiązanie
(fragment -
ilorazu (6.11.15).
1 :'
'
xl
=
~2_1
='Yo+ ·. · · ·
k'
··
· .E~ 0 a2kxk'. ~k (6.11.16). Dowód podanej w twierdzeniu własności reduktów tego ułam .:'jest bardziej złożony; zob. np. Lorentzen i Waadeland [*1992, s. 253]. • '; . „ . „.
r-14-16 + „. -; 1
I; drugą r .i
L~o aokxk
PRZYKŁAD 6.11.9. Stosując metodę Wiskowatowa·, .znaleźć czwarty re1,lkt ufam~ (6.ll.16) dla ilorazu szeregów potęgowych o współczynnikach \"..· r • . . , . :. ·(-l)k·. . (-l)k :·:· : :.,„ -..ao~ :~ (2k + 1)!' alk:= (2k)! .· :{~,:;;;. o)„ ·~
\,dla funkcji (1/ vx) tg Vx stawały szeregi z zerowym
(dzięki przekształceniu
takich szeregów (oczywiście jeden z nich może być stałą). Służy do t metoda Wiskowatowa oparta na· poniższym twierdzeniu, które zarazem. kazuje związek dwóch pojęć: przybliżeń Padego i ułamków łańcuchowj6 6.11.8 (WISKOWATOW). Jeśli wszystkie liczby ano (n:;;;. 1). wzorów
według
ano an+l,O
:= - - - ,
(k :;;;. O)
zmiennej nie
będą
po-
począ~kowym współczynnikiem).
J
L~oa1kxk
'Yn
I:~óa1kx
ostępując podobnie dalej, przekształcamy formalnie iloraz (6.11.15) na_uła
~~j
stosujemy, chcąc przekształcić szereg potęgowy na u mek łańcuchowy szczególnego typu. Rozważymy zresztą nieco ogóllliej zadanie, a mianowicie przekształcenie ilorazu · '
liczane
· "'oo ' Lk=l oo ( aok - 'Yoa1k · )x k 6k=O aokx k - 'Yo "'oo 6k=O alkX k "'oo k = ' Y O + "'oo k 6k=O alkX . 6k=O alkX X
Inną metodę
TWIERDZENIE
Dowód. W pierwszym kroku metody.WiSkowatowa dla "Yo = aoo/a10
~kształcamy iloraz (6.11.15) w następujący sposób:
f n+I = O.
~ ułamka łańcuchowego jest identyczny z +
ność uzasadnia zad. 16).
(m:;;;. O)
'YO +
-=lJ
!S 12ri;;---=r
Padego
[m + 1/m](x)
[m/m](x),
Z teorii tych funkcji wynika, że rozwiązaniem minimalnym jest {Jn(:u)} L tego na mocy tw. 6.11.7 dla każdego x zespolonego jest
Jl(x) oo Jo(x) =
ułamka
(6.11.16)
·są przybliżeniami
J:
+ 2nx-l f n -
od zera, to redukty
oo~ · '"}'o+K n=l 'Yn
W podrozdziałach 1.3 i 2.3 wspomniano o funkcjach Bessela i In(x) spełniających to samo równanie różnicowe, które napiszemy t. w postaci zgodnej z (6.11.13): ·
- f n-1
są różne
łańcuchowego
Zmodyfikowana nieco metoda Wiskowatowa daje taki ułamek łańcu owy, którego redukty tworzą inny ciąg przybliżeń, również tworzący w ta•·cy Padego linię schodkową. Szczegóły pomijamy.
TWIERDZENIE
zbieżny
423
6.11. APROKSYMACJA WYMIERNA
Rozwiązanie. Łatwo sprawdzić, że wystarczy tu uwzględnić współczyn . iki aok, a 1k dla k ~ 4. Wyniki. obliczefi: wedlug·tw. 6.11.8 są następujące:' '; n an4 ano .anl an2 an3 "Yn 1 1 1 1 o 1 1 -6 120 - 5040" „362880 . 1 . 1 1 . 1 .3 l 1 -2 -720 40320 24 1· 1 1 1 2 -55 -30 3 840 - 45360 4 1 252 -52 3 -756. , 105 1 1 1 4 -10 -630 11340 '
'
5
1 63 „\'
"'
424
6.11. APROKSYMACJA WYMIERNA
6. APROKSYMACJA FUNKCJI
Szukany redukt jest
więc
zybliżenie tn wartości n-tego ogona (6.11.12). Dokładna wartość tn te. ogona pozwoliłaby wyrazić wartość v ułamka nieskończonego (6.11.10) . . ·skończonej postaci:
równy
Stąd
oraz z tw. 6.11.8 i 6.11.6 wynika, potęgowych jest m.in. [l/l](x)
=
5 - łx' 5-2x
że
dla
rozważanego
v=bo+
ilorazu szeregó ·
2
[2 / 2](x) = 63 - 7x + łr;x 63-28x +x2
(zad. 20). Zmieniając tu x na x 2 i mnożąc ilorazy przez x, otrzymujemy prz bliżenia wymierne funkcji tgx. Zamiast porównywać ich wartości, zwróćri{ tu uwagę na inną cenną cechę tych przybliżeń. Otóż najmniejszy dodatn biegun funkcji (1/JX) tg y'x jest równy ~7r2 ~ 2.467401, natomiast jed ,, biegun pierwszego przybliżenia i mniejszy drugiego są odpowiednio rów' 2.5 i 14-v'I33 ~ 2.46744. Podobnie, najmniejsze dodatnie zero tejże fun cji jest równe ?r2 ~ 9.87, a przybliżenie [2/2](x) ma najmniejsze zero 9.9 Jak widać, przybliżenia [n/n] nawet dla małych n dobrze odtwarzają t istotne punkty szeregu potęgowego, jakimi są zera i bieguny. W pewny zastosowaniach obliczanie dalekich współczynników szeregu potęgowego jes kosztowne lub wręcz niemożliwe. Znając kilka początkowych współczy~· ków, można jednak dość dokładnie zlokalizować np. najmniejszy biegun;, Dodajmy jeszcze, że najprostszy cytowany ułamek łańcuchowy dla taq gensa ma postać
tgx i jest
:z:_:j ~ .~ rr- 13-15-17...
= :z;J
zbieżny
lxl < 7r/2).
na
całej płaszczyźnie
zespolonej (a szereg
potęgowy
tylko d
W związku z przykł. 6.11.5 warto wspomnieć, że na całej płaszczyźn" zespolonej z wyjątkiem półprostej rzeczywistej (-oo, -1] jest :z:J _:z;_j ~ ~ .~ 3xj 3xJ rr+ f2+ rs+ 12+ f5+ 12+ 17+ ...
Zbieżność tego ułamka jest na ogół tym gorsza, im x jest bliższe wsp mnianej półprostej. Ogólniej, jeśli ułamek jest bardzo wolno zbieżny, to cz sto jest możliwe i celowe zastosowanie specyficznych metod przyspieszani zbieżności. Opierają się one na ogół na tym, że dla wielu ułamków moz na stosunkowo łatwo - uwzględniając ich własności - znaleźć dość dobr
~+ ... + l~==~I+ lbna_;tnl.
1
~ro tn nie znamy, to jest naturalne użyć tu jego przybliżenia tn. Daje to ; i.~Y ,redukt zmodyfikowany, którego wartość v przybliża szukane v. Można two udowodnić, że _
An-1 +tnAn Bn-1 +tnBn
V=
(6.11.20)
'ad. 24).
Na zakończenie warto podkreślić, że ułamki (6.11.18) i (6.11.19) (a takwiele innych ważnych w zastosowaniach) wynikają z twierdzeń dotyczą ch szeregów hipergeometrycznych. Ułamki podobne do zacytowanych są rzybliżeniami Padego odpowiednich funkcji; zob. zad. 22. Literatura dotycząca ułamków łańcuchowych jest bardzo obfita; p. np. erron [1929], Khowanskii [1963], Jones i Thron [*1980] oraz Lorentzen Waadeland [*1992].
1. Znaleźć funkcję wymierną r (lub udowodnić, że ona nie istnieje) określoną warunkami (6.11.1), gdzie:
(a) m
'
log(l +x) =
425
' ·(t!.) u
-~__,_!-~-~--~-:-
= 1, n= 2,
m = n = 2'
X
y
Io -4
2 1
3 8
5 11
6 12
. Udowodnić, że jeśli funkcja wymierna r = p/q spełniająca warunki (6.11.1), ' gdziem> O, n> O, istnieje i jest taka, że p E IIm-1, q E IIn-1' to nie istnieje funkcja r* = p* / q*,. dla której p* E IIm, q* E IIn i która spełnia te same warunki z wyjątkiem jednego: r*(xj) = Yi dla j i= ki r*(xk) = Yic i= Yk· .,• (cd.). Korzystając z poprzedniego zadania, znaleźć takie przykładowe warunki · interpolacyjne (6.11.1), które nie mogą być spełnione. 4. (cd.). Sprawdzić na przykładzie, że nieistnienie funkcji wymiernej spełniającej ustalone warunki (6.11.1) może się ujawnić - zależnie od wyboru wskaźnika k w przypadku III - na dwa różne sposoby: albo w toku obliczeń wystąpi przypadek II, albo zdarzy się sytuacja opisana w przykł. 6.11.4. •.·Metodę Wernera można uogólnić na interpolację z węzłami wielokrotnymi. Jak ~-'Warunki interpolacyjne rg~(xi) = Yii (i= O, 1, ... , d) przenoszą się na funkcję wymierną Tm-l,n (przypadek IV w tw. 6.11.1) lub Tnm (przypadek V)?
426
6. APROKSYMACJA FUNKCJI
6. Dla dowolnego szeregu (6.11.3) jest [m/O](x) dzić). Jak dla ao 'I O wyraża się [O/m]?
= a0 +
a 1x + ... + amxm (spr~ "
((cd.). Znaleźć mianowniki i liczniki przybliżeń Padego z poprzedniego zadania dla„n·=•lf 2, 3, 4 oraz ich wartości dla·x·=0.-5;·'1; 2; zob~·też zad; K2;"' · ··· ,. :. _v,,
7. Jaki fragment tablicy Padego można znaleźć, znając współczynniki ak szere tylko dla k ,;;;; 6? 8. Niech f będzie funkcją parzystą: f(x) = a 0 + a2x 2 + a4x 4 + .... Czy możem, stąd coś wywnioskować, nie wykonując konkretnych obliczeń, o wielkości i r · mieszczeniu bloków w tablicy Padego? Odpowiedzieć na to samo pytanie· funkcji nieparzystej. , 4 5 6 9. Niech będzie f(x) := 1 - x + x - x + .... Znaleźć wszystkie przybliż''
"Niech pewna funkcja f ciągła co najmniej w przedziale [-1, 1] rozwija się 'w szereg l+cx+x2+ ... , gdzie c jest małą liczbą dodatnią. Znaleźć przybliżenie '.[i/l]J i narysować jego wykres. Wnioski powinny skłaniać do ostrożności przy ! stosowaniu konkretnych przybliżeń Padego. . ,u.
t'bo+ jest obu
.
= Pmn/qmn i dmn := fqmn -Pmn· Załóżmy, że dla szer~ normalnego znamy przybliżenia [m/n) i [m/n + 1] oraz rozwinięcia wsze~ różnic dmn i dm,n+I · Udowodnić, że dla pewnego 'Pmn jest · '.·;
Jak
znaleźć tę stałą?
Podobnie,
(s
=p,q,d).
wykazać, że
(Oba wzory, wraz z rozwiązaniem zad. 6, pozwalają tworzyć kolejne przybli · nia Padego z linii schodkowej podobnej do (6.11.7)). ' 11. Udowodnić, że jeśli szereg potęgowy jest normalny, to istnieją stałe Xmn i w~· że
Sm,n+I(x) = XSmn(x) Sm+I,n(x) = XSmn(x)
+ XmnSm+I,n(x), + WmnSm,n+1(x)
(oznaczenia jak w poprzednim zadaniu). Czy stosowanie tych wzorów wyma · ·'
posługiwania się także szeregami dmn?
12. (cd.). Przybliżenie Padego [m/ - l](x) można sztucznie określić jako iloraz//;' przez O. Jaka własność to usprawiedliwia? Korzystając z tej definicji i zad. 1 i 6, znaleźć dla funkcji e"' wszystkie przybliżenia Padego [m/n] takie,· •. m+n=4. 13. Udowodnić, że mianownik przybliżenia Padego [n/n](x) szeregu (6.11.8) j~:
ułamek
+ ...
r6wnoważny ułamkowi
(6.11.10), tj. że redukty o tym samym wskaźniku. sobie równe (a te ułamki mają identyczne wartości).
ułamków są
,Udowodnić, że
. '·
Sm+l,n+I(x) = XSmn(x) +-iPmnSm+i,n(x).
takie,
a1P1I+ a2P1P2 + a3p2p3 b2P2 · b3P3
to
1bip1
10. Niech będzie [m/n]
+ 'PmnSm,n+I(x)
'
::Udowodnić, że jeśli liczby Pn (n;;;. 1) są różne od zera,
Padego [m/n]1 zależne tylko od współczynników ak tego szeregu dla ;k ,;;;;.t Jak można wykorzystać informacje o blokach w tablicy Padego? Czy zawi ona bloki rozmiaru 2 x 2 lub większe?
Sm+l,n+I(x) = XSmn(x)
427
6.11. APROKSYMACJA WYMIERNA
redukty
ułamka łańcuchowego
(6,11.10)
. spełniają r~wność
.....
(-1ra1a2 ... an+l BnBn+l
(n;;;. O).
1;,(cd.). Udowodnić, że jeśli parametry ak, bk.zbieżnego ułanika łańcuchowego są .. rzeczywiste.i dodatnie, to jego redukty są na przemian mniejsze i większe od wartości ułamka.
• (cd.). Jak zachowują się redukty względem wartości ułamka, '' ak >O z poprzedniego zadania zmienimy na (-l)k-lak >O? Znaleźć
•
An, Bn dla
początkowych
reduktów
:1\I:!'" prawność przybliżeń Padego z przykł. 6.11.9. ' .
ułamka
(6.11.17) i
jeśli założenie
sprawdzić
po-
·
·.. (cd.) ..Znaleźć An, Bn (n,;;;; 5) dla ułamka (6.11.18). Czy są one w jakiś sposób "Żwiązane z reduktami ułamka (6.11.17)? :).)1'
':"Znaleźć początkowe redukty ułamka. łańcuchowego (6.11.19) i ich związki , 1
z
przybliżeniami
~
. _I_J . •
.e ~
X
I
Padego z
~
~1
przykł.
~J
6.11.5.
a;J . ·~1
a;J .
r,·- fl+ [2.-1.3+ 12- 15+ r.-=-.rr+ ··· <
Udowodnić, że stąd
•
wynika ufamek
•
,•
ła(lcuchowy
równy
~ (n - k Lt
k=O
+ l)k(n kl
.
k
+ 2)k
k X'
gdzie (a)k := a(a+l) ... (a+k-1) (jest to symbol Pochhammera). Wskazów. Sprawdzając, że jest spełniony układ (6.11.5) dla m =n, skorzystać z tego; Ó.n
Obliczyć kilka początkowych reduktów ty~h . z.zad. 19, oszacować z obu stron liczbę e 2 •
Zaprogramować metodę Wernera (tw. 6.11.2) i zbadać jej skutki w przyP kach, gdy funkcja rm,; nie istnieje. /!.i K2. Dla kontroli jakości przybliżeń Padego z zad. 14 obliczyć dostateczni~ kładne wartości całki (6.11.9). W tym celu: (i) podzielić przedział całkow [O, oo) na części [O, KJ i [K, oo) dla K tak dużego, aby wartość całki w di' przedziale była zaniedbywalnie mała, (ii) całkę w [O, K] obliczyć, stosują metodę adaptacyjną z podrozdz. 7.6. K3. Zaprogramować obliczanie: (a) ciągu reduktów według tw. 6.11.6, (b) jed reduktu z definicji (6.11.11). K4. Zaprogramować metodę Wiskowatowa (tw. 6.11.8). Kl.
i~le wyników analizy Fouriera przybiera bardziej elegancką postać, gdy urażamy je, korzystając ze wzoru, Eulera
ei 9 = cos ()+i sin(),
= -1. Wtedy szereg Fouriera funkcji okresowej ~polonych jest dany wzorem zie i 2
f o
wartościach
oo
J(x)
L
rv
(6.12.3)
f(k)eikx,
k=-oo
6.12. Interpolacja trygonometryczna Jak wiadomo, dla dowolnych n+ 1 różnych liczb rzeczywistych (węzł xo, x1, ... , Xn i dowolnych wartości yo, y1, ... , Yn istnieje dokładnie je wielomian p klasy Iln, czyli stopnia co najwyżej n, spełniający war.u interpolacyjne
f (k) := 2_ 27r
śli
f jest
J'll"
funkcją rzeczywistą, to jej szereg Fouriera (6.12.1) jest częścią
zeczywistą sżeregu
f(k)=2_111" 27r
Szeregi Fouriera Wielomiany algebraiczne nie nadają się do opisu zjawisk okresowych. zri. nie bardziej odpowiednie są tu funkcje trygonometryczne. Ściślej, trzeb dobrać do okresu interesującej nas funkcji. Załóżmy dla prostoty, że flm~ którą chcielibyśmy interpolować, ma okres 2n. Wtedy funkcjami bazo roi mogą być 1, cosx, cos2x, ... , sinx, sin2x, .... Jedno z podstaw twierdzeń analizy Fouriera głosi, że jeśli funkcja f o okresie 2n ma pierw pochodną ciągłą, to jej szereg Fouriera
zespolonego (6.12.3). Istotnie,
f(t)[coskt-isinkt]dt=~(ak-ibk)
TWIERDZENIE
6.12.1. Jeśli dla
danych ciągów rzeczywistych { ak}8°
i {bk}i
to. l
n
n
2ao+ L(akcoskx+bksinkx) = L
k=l
k=l
ckeikx
k=-n
współczynnikach
Dowód. Suma po prawej stronie jest równa
ak := -1111" f(t) cos kt dt, 7r
-'Il"
bk := -1111" f (t) sin kt dt, 7r
~
-'Il"
jest zbieżny jednostajnie do f. Uzasadnia to sensowność aproksymacji fu cji o okresie 2n za pomocą kombinacji liniowych wyliczonych wyżej fuh „ trygonometrycznych.
(k;>O)
-'Il"
.. podstawiając to wyrażenie do (6.12.3), otrzymujemy (6.12.1).
1 oo 2ao+ L(akcoskx+bksinkx), o
f (t)e-ikt dt.
-'Il"
t
(ak-ibk)(coskx+isinkx).
k=-n
.ej
CZ:
rzeczywista jest równa
430
6. APROKSYMACJA FUNKCJI
1
n
2
L
( ak cos kx
azwę
uzasadnia to, że ta wielkość nie spełnia tylko jednego warunku okre:- . iloczyn skalarny (o wartościach zespolonych): jeśli (f,f)N =O, to ~kiny tylko, że f Źnika we wszystkich punktach 2?Tj /N, a nie, że jest równa szędzie zeru. Jest natomiast prawdą, że:
est ona zerem wtedy i tylko wtedy, gdy f{2?rj/N) =O dla O~ j ~N - 1. w. interpolacji trygonometrycznej następujące twierdzenie jest szcze'. lnie ważne:
2bo+
n
+ 2 L(ak sin kx -
bk cos kx) =
k=l
1 n
. ~:Tw1ERDZEN.IE
1 n
= 2 L(-ak sinkx + bk coskx) + 2' L(ak sinkx k=l
6.12.2. Dla każdego .N-~ 1 .
(Ek,Em)N =
Funkcje Ek takie,
(k =O, ±1, ±2, ... ),
zespolonych, w której iloczyn skalarny jest 21T
i.
1" ' E k (2N?TJ.) E m· (2N?TJ.) = _."' 1 ( 21l'i(k-m)/N)j .
.. „
określony
-1!'
#
N-1
-
m i (Ek, Ek) = 1. Sprawdzimy pierwszą
równość:
N-1
·N~
N~.e
J=O
wzorem
17!' f(x)g(x)dx.
Istotnie, (Ek, Em) = O dla k
J=O
'"'
Będzie też
:;;..~·.. „:'< "· „~.
-7!'
~eresująca
nam potrzebny tzw. pseudoiloczyn skalarny N-1
(f,g)N :=N L j=O
f(2?Tj/N)g(2?Tj/N).
11
nas.suma jest zatem równa . 1 . =o. -1
·e27l'i(k_::,n) _·
(6.1~.'
I
.
śli k - m dzieli się przez N, czyli iloraz (k - m)/N jest liczbą całkowi ; to e 21l'i(k-m)/N = 1 i cała suma też jest równa 1. W przeciwnym razie . i(k.-:r:i>IN # 1 i można zastosować wzór na sumę wyrazów ciągu geomecznego:
jeśli k :._ m dzieli'się.pr;ez N· ' O w przeciv.fnym razie. ·
· Dowód. Powyższy pseudoiloczyn skalarny jest równy
tworzą układ ortonormalny w przestrzeni Hilberta L2[-?T, ?Tj funkcji o 'wa:i;' := - 1
.'•
.
'
że
Ek(x) := eikx
· .„
"··":. ·· ··· {1
bk coskx)=O.
k=l
Iloczyn skalarny i pojęcia pochodne
(f,g)
,(
(aksinkx - bkcoskx) ~
L k=-n
tościach
431
6.12. INTERPOLACJA TRYGONOMETRYCZNA
e27l'i
.'I .~
.
(k-m)/N
', ·:. " „,1.
•
I!
li
I
432
6.13. SZYBKIE
6. APROKSYMACJA FUNKCJI
wykładnicze
Wielomiany
Z
Wielomianem wykładniczym stopnia co najwyżej n-tego nazywamy funk~ n
L
=
L
L
6.12.3. Układ {Eo, Ei, ... ' EN-1} jest ortonormalny wzgl dem pseudoiloczynu skalarnego (·,·)N.
433
6.8.7 i 6.12.3 wynika natychmiast
6.12.6. Jeśli n < N, to wielomian wykładniczy I::k'=o ckEk, którego współczynniki Ck są określone we wniosku 6.12.4, aproksymuje najlepiej funkcję f w sensie najmniejszych kwadratów na zbiorze skoń czonym
n
Ckeikx = ckEk(x) = Ck(eix)k, k=O k=O k=O ,f czyli zwykły wielomian względem zmiennej eix. Pewne fakty dotycząceii terpolacji za pomocą wielomianów wykładniczych podano niżej. P(x)
FOURIERA
Wl\ilOSEK
•'ji
n
twierdzeń
PRZEKSZTAŁCENIE
l\l
(O.;;;; j.;;;; N - 1).
Xj := 27rj/N
TWIERDZENIE
WNIOSEK
węzłach
6.12.4. Wielomian wykładniczy P interpolujący równoodległych Xj := 27rj /N wyraża się wzorem
funkcję
f
N-1
L
P =
ckEk,
gdzie
ck := (!, Ek)N·
•
k=O Dowód. Z definicji ck i z tw. 6.12.3 wynika, N-1
L
.~Sprawdzić, że EkEm = Ek+m i Ek = E-k· ,,,. ~Udowodnić, że jeśli funkcje fig są takie, że f(xj) = (g, Ej)n dla Xj := 2-rrj/n, to g(xj) = n(f,Ej)n· • Sprawdzić, że pseudoiloczyn skalarny (6.12.4) ma własności 1-3 (zob. tekst). Korzystając
z informacji podanych w
.!_ ~ cos 2-rrjk
że
n
j=O
n
n-1
.
= {1,
O
tekście, udowodnić, że
jeśli
k dzieli się przez n w przeciwnym razie,
N-1
ckEk(x,,,)
=
k=O
L
(!, Ek)NEk(x,,,)
=
k=O N-1
=
l
N-1
L NL
k=O
f(xj)Ek(Xj)Ek(x,,,) =
j=O
l
N-1
L
f(xj) N
N-1 _ __
L
Ej(xk)E,,,(xk)
3. Szybkie
=
ekształcenia
N-1
L
Ponieważ,
jak już wspomniano, wielomiany wykładnicze różnią sii{ tylko wyborem zmiennej, więc z tw. 6.1.1 wynika, że wielomia , spełniający warunki interpolacyjne podane w powyższym wniosku jest ok ślony jednoznacznie. zwykłych
6.12.5.
Stosując
wniosek 6.12.4,
wyrazić funkcję interpolują
dla N= 2. ' I
Rozwiązanie.
co najwyżej
W tym przypadku mamy wielomian wykładniczy stop pierwszego, interpolujący f w węzłach O i 7r. Z (6.12.5) wyni
że
P(x) = ![f(O)
Fouriera
+ f(7r)] + ![f(O) -
f(7r)]eix.
(transformacje) Fouriera służą do rozkładu sygnału na częs Mamy tu podobieństwo do pryzmatu rozszczepiającego ,,e światło na składowe barwy. Inna analogia: okulary przeciwsłonecz tedukują oślepianie białym światłem, przepuszczając tylko łagodniejsze atło zielone, a przekształcenie Fouriera może zmodyfikować sygnał w celu zymania pożądanego efektu. Analizując częstotliwości składowe sygnału układu szeregi i przekształcenia Fouriera znajdują wielorakie zastosowar.i w sterowaniu samolotami i statkami kosmicznymi, przetwarzaniu sygnacyfrowych, obrazowaniu medycznym, rozpoznaniu złóż ropy lub gazu . związywaniu równań różniczkowych; zob. np. Briggs i Henson [1995] lub er [1992]. Ten podrozdział dotyczy obliczeniowych aspektów interpolacji trygoetrycznej. W szczególności jest tu opisany algorytm szybkiego prze'tałcenia Fouriera (angielski skrót: FFT), służący do efektywnego obliczawspółczynników ck z (6.12.5). Jego opis wzorujemy na opisie podanym iwości składowe.
f(xj)(E,,,, Ej)N = f(x,,,).
j=O
PRZYKŁAD
przekształcenie
k=O
j=O
=
L
2 sin 1fJk =O. n j=O n
\, !
X
434
6. APROKSYMACJA FUNKCJI
przez Stoera i Bulirscha [1980). Wspomniane w postaci l N-1. Ck= N L f(xj)(>.k)j j=O
6.13. SZYBKIE
współczynniki można
~.'
/j = !aj+ !e-trijfn[Jj,
Dowód. ''
Tak więc Ck wymaga obliczenia wartości pewnego wielomianu stopnia N w punkcie >.k. Koszt tych obliczeń to około N mnożeń i N dodawań. Pon' waż mamy obliczyć N współczynników Ck, więc ogólny koszt wyznacze wielomianu wykładniczego tą najprostszą metodą wynosi O(N 2 ) działa· Szybkie przekształcenie Fouriera redukuje ten koszt do bardziej roz~ nej wielkości N log 2 N. Poniższa tabelka pokazuje, co to znaczy dla duży wartości N typowych w przetwarzaniu sygnałów: '·
TWIERDZENIE
6.13.1.
i q stopnia .:;;;
p(X2j)
=
n-
f(X2j),
dla danej funkcji f wielomiany
=
ęc'z
f(X2j+i)
(0,:;; j,:;; n - 1),
Zauważmy, że En(xj) = etrinj/n = etrij = (-l)j. Dlatego dla j pa~.zyst jest P(xj) = p(xj) = f(xj), a dla j nieparzystych · P(xj) = q(xj - 7r/n) = q(xj-1) = f(xj)·
n-1
n-1
dla wielomianów z tw. 6.13.1, 2n-l
q = Lf3jEj, j=O
'f"
~)
'f"
{3jEj (x _ = {3jeij(x-tr/n) = j=O n j=O n-l = L {3je-trij/n Ej(x), j=O że
.~: .. Rozwiążan!e. Z (6.13.2)·wynika,..że. 'Yo= l(ao + f3o) i 'Yl = !{ao -f3o). Jatego.P = 'YoEo + 'Y1E1 = !(ao'+,Bo) + !(ao - f3o)E1. Podstawiając '\wartości ao = f(O) i f3o = f(7r), otrzymujemy taki sam wynik, jak przykł. 6.12.5. · · •
i~;, .Ni~ch R(n)
oznacza minimalną liczbę ~m~żeń koniec~ną do obliczenia wielomianu wykładniczego, który interpoluje daną funkcję :węzłach 27rj/n dla O.:;;; j.:;;; n -1. spółczynni:k;ów
. TWIERDZENIE
6.13.4. ·Funkcja R
spełnia nierówność
R(2m).:;;; 2mm.
1
Dowód. Udowodnimy najpierw nierówność
, R(2n) .:;;; 2R(n)
+2n.
.
(6.13.3)
J~ocy tw. 6.13.2 współczynniki ,Yj wielom:ianu P wynikają z aj i ,Bj kosz. ·.2n ~nożeń. Mamy tu na myśli mnożenie każdego qj przez !
i każdego iprze~ 'F~-.11'ij/n (zakładamy, że te wielkości' są znane). Natomiaąt oblienie każdego z układów ao, ai, ... 'an-1 .i f3o, f3i,·· .. 'f3n-l wymaga. R(n) nożeń, .a to już daje (6.13.3). · . li
1
-
j=o .
Dowód. Ponieważ z założenia stopień wielomianów pi q nie przekr .r n-1, a einx jest stopnia n, więc stopień wielomianu p jest równy co naj r 2n - 1. Pozostaje sprawdzić warunki interpolacyjne. Dla O .:;;; j .:;;; 2n -1 j
będzie,
~ ~)
(6.13:1) wynika,
P(x),
wykładnicie
P(x) = !(1 + einx)p(x) + !(1- einx)q(x - 7r/n).
6.13.2. Niech
(6.13.2)
'!.;'
to wielomian wykładniczy P stopnia.:;;; 2n -1, interpolujący f w pu · tach xo, x1, ... , X2n-1, wyraża się wzorem · ··
Reszta dowodu wynika przez iterowanie tej nierówności. Uwzględnia· również to, .że dla n = 1 mnożenia nie są potrzebne, czyli R(l) = O. St R(2) < 2, R(4) < 8 itd.
PRZEKSZTAŁCENIE
1
Nierówność
z tw. 6.13.4 można też, dla N będącego potęgą liczby w postaci R(N) < Nlog2 N. Algorytm szybkiego przeksztalceri Fouriera, który polega na wielokrotnym stosowaniu tw. 6.13.2, wymaga konania właśnie N log2 N mnożeń. . Sens tw. 6.13.1 można wyrazić w zwarty sposób, wprowadzając d · operatory liniowe, Ln i Th· Dla każdej funkcji f wartość Lnf jest z defi' cji równa wielomianowi wykładniczemu stopnia < n - 1 interpolującem w węzłach 27rj /n dla O < j < n - 1. Natomiast Th jest operatorem prie's napisać
Celem obliczeń jest znalezienie wielomianu interpolacyjnego L N, czyli . ) . Współczynniki jego rozwinięcia względem Eo, Ei, ... oblicza się za ocą wzorów rekurencyjnych, które wynikają z (6.13.6). Obliczenia za:.namy od wielomianów Pko) (O <.k < 2m -1) stopnia zerowego. Wobec 3.5) jest P~o) = f(27rk/N). 3 i •. Drzewo na rys. 6.23 pokazuje, że dla m = 3 szukany wielomian ) aża się przez wielomiany 2) i Pi 2 ), każdy z nich - przez dwa wielomiany ego stopnia itd.
PJ
PJ
nięcia:
p(2) I
(Thf)(x) := f(x
+ h).
= !(1 + En)Ln + !(1- En)T-7r/nLnT7r/n·
p,(l) 3
I
p(O)
p(O)
6
5
p,(O) 3
p,(O) 7
RYS. 6.23. Drzewo zależności wielomianów Pt)
Wprowadzamy jeszcze jeden symbol: niech dla danej funkcji fi tls, lonego N:= 2m będzie - L rn Pk(n) ··2n.1.2k7r/N J
p
p,(l) 2
W twierdzeniu 6.13.1 jest P = L2nf, p = Lnf i q = LnT'lr;nF. Teza te twierdzenia daje więc tożsamość operatorową L2n
437
FOURIERA
(O< n< m, O< k < 2m-n -1).
Jest to zatem wielomian wykładniczy stopnia 2n -1, z przesuniętym argumentem:
interpolujący
funkcj p~n)(x) =
2n-l
2:
Ai'j)eijx,
j=O
Tematem zad. 3 jest sprawdzenie, w (6.13.5) są dla różnych k rozłączne. WNIOSEK
że
zie O< n< m, O< k < 2m-n -1. ".bskujemy z (6.13.6), że
Aby ją udowodnić, wystarczy złożyć obie strony (6.13.4) z operato · T27rk/N i uwzględnić definicję wielomianów P~n). ,
, Dla każdego n wielkości Ai'j) zapamiętujemy w tablicy N zmiennych, .ż O< k < 2m-n - 1 i O< j < 2n - 1. Ściślej, przyjmujemy, że w pewnym mencie obliczeń wielkości Ai'j) znajdują się w tablicy C, przy czym Uf'
Na początku oblicza się wielkości Z(j) := e- 2trij/N. Później korzysta'!' z wynikającej stąd równości e-trij/ 2" = Z(2m-n- 1 j). Kompletny algor · szybkiego przekształcenia Fouriera jest następujący:
W +-- e-2tri/N
·:wartości 15:ońcowe z tą samą dokładnością są , „ ~. . : . .. .. . .
•
równe 1, 2, ... , 8. .
..
'.•,•. ,,
•
•
'frzeba podkreślić, że podany algorytm wymaga w praktyce wielu ulep-
owolne N, a nie tylko potęgi liczby 2... . .· Specjalne wersje programu warto ·opracować dla funkcji f rzeczywis1ch; a inne - dla rozwinięć tylko względem· sinusó~ bądź cosinusów.
Z(O) +-- 1; C(O) +-- f (O) for k = 1 to N - 1 do Z(k) +-- Z(k - l)w C(k) +-- f(27rk/N)
= O to m - 1 do for k =O to 2m-n-l do for j = O to 2n - 1 do u+-- C(2nk + j) V+- Z(2m-n-lj)C(2nk + 2m-l + j) D(2n+ik + j) +--(u+ v)/2 D(2n+lk + j + 2n) +--(u - v)/2
· ~t oczywiste, że za pomoc~ sk9ńczenie \.,rielu ~ą.rtości funkcji f nie moina 'tworzyć wszystkich informacji9 niej .'-'.Apy'zba,dać t'o dokładniej, rozważmy zwinięcie funkcji w szereg Fouriera: oo
;'~ń. Oto dwa przykłady: dodatkowe instrukcje usuwają potrzebę użycia blicy D, a iloczyn Z(j)O(k) dla takich j, że Z(j) = ±1, należy obliczać ko ±O(k). Poza tym bardziej uniwersalny program powinien uwzględniać
input m N +-2m
for n
PRZEKSZTAŁCENIE
+--
=
L
(6.13.7)
(!, Ek)Ek
k=-oo
tµ i ·w .(6 ..13.8) stosujemy oznaczenia z I?odroz<;Iz. 6.12). Natomiast wielo·~~ wykładniczy stopnia~ N - 1 interpolujący f wyraża się wzorem.
D(j)
end do end do output C(O), C(l), ... , C(N - 1)
N-1
.P
=
b
(6.13.8)
(f,Ek)NEk
·k=O
Liczba mnożeń wymaganych w tym algorytmie wynosi 2mm; i. tw. 6.13.4. Jeśli jednak nie liczyć dzieleń przez 2, czyli mnożeń prz~i (w komputerze dwójkowym takie działanie sprowadza się do zmniejsze o 1 cechy liczby zmiennopozycyjnej), to mnożeń mamy dwukrotnie mnie ·:
PRZYKŁAD 6.13.6. Odtworzyć funkcję f
:=
"Ek=o(k
+ l)Ek
za po~
szybkiego przekształcenia Fouriera, używając wartości f(x) w ośmiu,r,' noodległych punktach. ,' Rozwiązanie. Powyższy algorytm zastosowano dla m = 3 w komput z 32-bitowymi liczbami zmiennopozycyjnymi. Początkowe wartości zm·. nych z tablicy O (zaokrąglone do 5 cyfr znaczących) podano niżej: .
,:~b. V:,niosek 6.l2.4}: Porównajmy współczyn:ri.iki' obu rozwinięć:
,~
oo
(f,Em)N
=(
"·
oo
L
(f,Ek)Ek,Em)N
k=-oo
.
.
=
L
k=-oo
(f,Ek)(Ek,Em)N· .
mocy tw. 6.12.2 pseudoiloczyn (Ek, Em) N nie znika (i jest równy 1) tylko dy, gdy k - m jest wielokrotnością. liczby N. Ograniczamy się więc do ości k - m =::-.1-(N, gdzie v = ~' ±1, ±2,: .. :. •
(f,Em)N
oo.
=
L
v=-oo
(f,Erń+vN)··
',j
·"·"·'·•!
1/1\W '
440
6. APROKSYMACJA FUNKCJI
Uporządkujmy składniki
tego szeregu
według
ich
malejącego
znaczenia:·· ~Wykazać, że funkcje fi f + >.Ek są nierozróżnialne w punktach 27rj/N, jeśli k jest wielokrotnością liczby N . . Wykazać, że funkcje f±(x) := cos[(n =i= a)7rx ±,BJ są nierozróżnialne dla x cał
(f,E.,.;.)N = (f,Em) + (f,Em+N) +(!,Em-N)+ ... Tak więc współczynnik przy Em w wielomianie interpolacyjnym P zawi nie tylko oczekiwany składnik (!,Em) z (6.13.7), ale i składniki (f, Em+ odpowiadające wyższym częstotliwościom. Są to składniki niepożądane k ' ' re zniekształcają odtwarzany sygnał. Pierwszym ze składników obecn w szeregu dla f, ale nieobecnych w P jest (!,EN)· Odpowiada on t częstotliwości Nyquista. "
\i{cd.). Wykazać, że A jest macierzą symetryczną, która ma tylko n .elementów i że n 1 12 A jest macierzą unitarną.
p := LajEj j=O
na zbiorze punktów
. r{cd.). Wykazać, że
równoodległych
i(
(O <; k <;n - 1).
n
n-1
=
L
n-1
ajEj(t - xk)
j=O
=
L
ajeij(t-xk)
=
14i. Metody adaptacyjne h
j=O
L
ajeijt Ek(Xj)
li'óżniającą cechą metod adaptacyjnych aproksymacji jest to, że obszar, 'tórym funkcję przybliżamy, jest dzielony wielokrotnie na mniejsze pod'" ary aż do osiągnięcia żądanej dokładności. Ostateczne „globalne" przy, 'riie powstaje zatem z połączenia przybliżeń lokalnych. Jest oczywiste, nkcje sklejane ze swobodnie wybieranymi węzłami są dobrym narzę . m takiej aproksymacji.
= n(g, Ek)n,
j=O funkcją taką, że
g(xj) = ajeijt
l
!,
n-1
=
6.13
. ·Napisać i sprawdzić program obliczaj~y za pomocą szybkiego przekształcenia 1 Fouriera wartości wielomianu p = Lj=~ ajEj o danych współczynnikach aj. Przyjąć, że N = 2m.
Xk := 2k7r /n. Wtedy ·
p(t - xk)
różnych
llvll2 = n- 112llull2·
DANIA KOMPUTEROWE
2 t - k1r
gdzie g jest
2
są rozłączne.
·
Udowodnić, że v =Au, gdzie (A)Jk = n- 1 e- 2 "'ijk/n (O< j, k
n-1
będzie
„1 kowitych. . Wykazać, że w (6.13.5) zbiory punktów
·Jr' gdz1"e u j .·- (f , E·) J n, v j ··- e-"'ijfn(T7r/n f·i E j ) n· ;i. Dla danych n i f niech u i v będą wektorami kolumnowymi o składowych
Obliczanie wartości wielomianu wykładniczego
Niech
441
6.14. METODY ADAPTACYJNE
(O<; j <;n -1). ·i
Zastosowanie szybkiego przekształcenia Fouriera do tej funkcji daje ws czynniki (g, Ek)n, a ich iloczyny przez n są szukanymi wartościami w· mianu p. Źródła informacji o szybkim przekształceniu Fouriera: Davis i Rabi witz [1984], Cooley, Lewis i Welch [1967], Bloomfield [1976], Briggs i Hen [1995], Brigham [1974], Conte i de Boor [1980], Kahaner [1970, 1978], czos [1966], Kahaner, Moler i Nash [1989], Elliott i Rao (1982], Nussbau (1982] i Scheid [1988]. ·
l·
~keje sklejane stopnia pierwszego zkicowany wyżej pomysł wyjaśnimy na przykładzie algorytmu tworzą : :dla danej funkcji ciągłej f w ustalonym przedziale [a, b] funkcję skleS stopnia pierwszego. Ustalamy też maksymalną wartość e >O błędu ~ględnego; ma zatem być ,,
•' lf(x) - S(x)I <; e
(a<; x <; b).
(6.14.1)
442
Funkcja sklejana S jest przedziałami liniowa i interpoluje f w pewny · punktach. Wiadomo, że funkcja liniowa interpolująca f w punktach o: i wyraża się wzorem. . ) ·- f(o:)((J- x) l( o:, (J ,x .(3
Danemu
układowi węzłów
+ f((J)(x -a
a)
.
odpowiada funkcja sklejana S, która w każdym z przedziałów [ti-l, ti] jes identyczna z l(ti-1' ti; x). Jeśli spełnia ona warunek (6.14.1), to nasz cel J osiągnięty. Jeśli natomiast Blloo := max lf(x) - S(x)I > e,
Pisząc
tHl +-tj; Yi+l +- Yii dj+l +- dj; Cj+i +- Cj
end do ti+l +- t.ii Yi+l +- Yii ti +- Cij Yi call Max(!, ti-1, ti, Ci, di) call Max(!, ti, ti+l • Ci+i, di+l) end do . output n, (ti), (yi), (di)
+-
f(Ci)
Wykonanie algorytmu kończy się, gdy wszyśtkie odchylenia di nie przei:;, ale i wtedy, gdy liczba kroków osiągnie dane M. Wielkości c i d, które oblicza procedura Max, nie muszą być wyznaane .z. dużą dokładnością. Wystarczy zbadać wartości lf(x) - l(a,(J;x)I •• puf1:ktąch podziału przedziału [a, (3] nP.· na ~~ rówJ?.ych części: ższają
xE[a,b]
to tamten warunek nie jest spełniony co najmniej w jednym punkcie pr działu. Niech lf(x)-S(x)J będzie największe w punkcie c?;. Jeśli l; E (ti-i'i' to do układu dotychczasowych węzłów dołączamy punkt c?;, który dzieli pr dział [ti-1' ti] na dwie części. Stosownie do tego zamiast jednej funkcji. niowej l(ti-1,ti;x) będziemy teraz mieli dwie funkcje: l(ti-i.l;;x) w[ti-i~ i l(c?;, ti; x) w [c?;, ti]· Powtarzając te podziały, dochodzimy ostateczni.e..11 funkcji sklejanej przybliżającej f dostatecznie dokładnie. ·
Algorytm
input a, b, c:, M to +- a; ti +- b; Yo +- f (to); Y1 +- f(ti) call Max(!, to, ti, c1, di) for n = 1 to M - 1 do wybór i takiego, że di = m~{ di, d2, ... .> dn} . if di ,;;;; c: exit loop for j = n to i + 1 step -1 do ..
ti takich, że
a= to< tl < ... < tn-1 < tn = b,
Ilf -
443
6.14. METODY ADAPTACYJNE
6. APROKSYMACJA FUNKCJI
t'
algorytm tego postępowania, kładziemy główny nacisk na jego efi tywność. Dlatego przyjmujemy, że w każdym etapie mamy cztery tabn tablicę węzłów t = {to, tl, ... , tn}, tablicę y = {yo, y1, ... , Yn} war.~51: funkcji f w tych węzłach, tablicę d = {y1, y2, ... , Yn} dokładności Pr, bliżenia w podprzedziałach (di= maxxE[t;-i.t;JIJ(x) - l(ti-1, ti; x)I) i tabl c = {ci, c2, ... , en} punktów, w których te maksymalne odchylenia są o~ gnięte. : Znając tablice t, y, d, c, sprawdzamy, czy dany układ węzłów c{ dostatecznie dokładną funkcję S, tj. czy m8.Xi di ~ i:;. Jeśli jeszcze tak jest, to znajdujemy maksymalne di i dołączamy punkt Ci do tablicy węziÓ Wymaga to przesunięcia o jedną pozycję elementów o wskaźnikach i_, 1, ... , n we wszystkich czterech tablicach. Obliczenia zaczynamy oczyw· od n = 1, to = a i ti = b. W algorytmie korzystamy z procedury Max, · wywołanie Max(!, a, (3, c, d) podstawia pod d maksimum wyrażenia lf (~ l(o:, (3; x)I w [o:, (3], a pod c - punkt, gdzie to maksimum jest osiągnięte:
"pt~c~d~r~ Max(!: a; {3,"c, d): .
."
...
r +- f(a); s +- f(f3) ·k +- 10; h +- (f3 - a)/k d +-.O· • for i = .1 to k - 1 do „. ·x +-a+ ih; z+- f(x) z+- Iz - (is+ (k -i)r)/kl · if z> d then d +- Zj C +-X end if end do return
·
''
e wartości są obliczane w siódmym wierszu procedury. Istotnie, z (6.14.2) ' nika, że w oznaczeniach tu przyjętych.jest l(a, (3; a+ih) = [is+(k-i)r]/k. PRZYKŁAD 6.14.1. Opisaną wyzeJ metodę adaptacyjną zastosować do };iłwji f(x) := w przedziale [O, 1] dla e.= 10-2 •.
vx
Ro~wiązanie. Wyniki obliczeń są t8.kie jak w poniższej tablicy, gdzie
"·r·. di:= .max ·lf(x)-:- S(x)j. • . . xE[t;-i.t;) · · .((••: „ . okładność i:; zapewnia więc funkcja sklejana S (rys. 6.24) o.10 węzłach upionych w pobliżu punktu O, gdzie f ma pochodną nieskończoną. Dla
!\~A~li 1: 11111, lir <ą'ht
448
"'
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYC
E
7.1. RÓŻNICZKOWANIE NUMERYCZNE I EKSTRAPOLACJA RICHARDSONA
natorr:dast wiemy, że f jest wielomianem stopnia co najwyżej n· wartości tej funkcji określa ją jednoznacznie (zob. podrozdz. 6 Wtedy wielkości f.'(c) i f(x) dx możemy obliczyć dokładnie. Między t skrajnymi przypadkami znajdują się takie, z któryrr:d mamy do czyni w praktyce: informacje o funkcji f nie określają jej całkowicie, ale poz~ oszacować błąd obliczonych przybliżonych wartości pochodnej lub całki. Jeśli
n+ 1
J:
Różniczkowanie
f'(x)
~ ~[f(x + h) -
różniczkowania
nu
Dla funkcji liniowej (f(x) = ax + b) ten wzór jest dokładny dla ka" h :f. O. Dla innych funkcji jest tak tylko wyjątkowo. Oszacujmy więc tego przybliżenia. Pozwala na to wzór Taylora. Jeśli mianowicie pie~ pochodna f' jest ciągła w przedziale domkniętym o końcach x i x a druga pochodna !" istnieje w przedziale otwartym o tychże końcach,,,
eleży w tym ostatnim przedziale. Wynika stąd, że 1
Pierwszy
składnik prawej
1
hf"(e).
2
strony tej
równości,
tj. [f(x + h) - f(x)J/h;J
przybliżoną wartością pochodnej, a drugi, czyli -!hf"(e), jest błędem p~ bliżenia, który można oszacować z góry, jeśli tylko funkcja należy do okr ślonej wyżej klasy. Zauważmy, że błąd zawiera. czynnik h, a więc dąży do wraz z h. Tak jest i w wielu innych wzorach przybliżonych z tym jedn że taki czynnik bywa wyższą potęgą paran:J.etru h. Pozostałe czynniki błę określają, mówiąc z grubsza, jak regularna musi być funkcja f, aby ca wyrażenie miało sens. PRZYKŁAD
7.1.1. Stosując wzór (7.1.1) dla h =O.Ol, znaleźć przybliżo pochodnej funkcji f(x) := cosx w punkcie 7r/4 i oszacować bł tego przybliżenia. ·
wartość
Rozwiązanie. Wartością przybliżoną
jest
1 O.Ol (0.700000476- 0.707106781) = -0.71063051,
= o.oo5jcosel < 0.005.
e
ieważ jednak E (7r/4,7r/4+ h); więc jcosel < 0.707107, co daje lepsze a:2owanie błędu, 0.00353 55. Prawdziwy błąd jest niewiele mniejszy:
-si:ri(7r/4) +0.71063051
•
= o.003523729.
-(h/2)f"(e) w (7.1.1) nazywamy błędem obcięcia; odpowiedpowstaje przez obcięcie szeregu Taylora do począt
artość przybliżona
ch składników. ,·Na pierwszy rzut oka wzór (7.1.1) daje tym dokładniejszą wartość ), im mniejsze jest h. Sprawdźmy to przypuszczenie dla funkcji J(x) := gx i punktu x := V2. Ponieważ f'(x) = (x 2 + 1)- 1 , więc J'(V2) = ł· kilka przybliżeń tej wartości otrzymanych dla różnych h na komputerze, tÓrym liczby zmiennopozycyjne są 32-bitowe:
Aby uzasadnić słuszność tych uwag, rozważmy wzór rycznego wynikający wprost z definicji pochodnej:
gdzie
j
449
e wszystkich różnicach f(x + h) - f(x) jest J(x) = arctg V2 5531660). Odejmowanie bliskich wielkości powoduje, że różnica J(x + h) - f(x) tym mniej cyfr znaczących, im mniejsze jest h, a to pogarsza dokładność ybliżonej wartości pochodnej. Najlepszą (trzy cyfry dokładne) otrzymu.Y dla h = 2- 12 , gdy f(x + h) - f(x) ma cztery cyfry znaczące. Tak więc uk~ja liczby cyfr znaczących przy odejmowaniu uniemożliwia uzyskanie brych przybliżeń dla f'(x) przy małych h. Wykonując obliczenia z wielotną dokładnością, możemy oczywiście otrzymać dokładniejsze przybliże
, ale i wtedy wystąpi, ·chociaż dopiero dla mniejszych h, zasygnalizowane · zjawisko. Wzory różniczkowania numerycznego stosujemy przede wszystkim rozązując numerycznie równania różniczkowe. Występujące w nich pochodprzybliżamy kombinacjami wartości funkcji, jak w (7.1.1). Dokładność ybliżeń oceniamy często według wykładnika p w czynniku hP błędu; im ksze jest p, tym lepiej. Wspomniany wzór jest dość kiepski, bop = 1. pszy pod tym względem jest wzór przybliżony !,
\~
.
1
f'(x) ~ h [f(x 2
+ h) -
f(x - h)].
450
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
Istotnie,
7.1. RÓŻNICZKOWANIE NUMERYCZNE I EKSTRAPOLACJA RICHARDSONA
numeryczne. funkcji.empirycznych jest ·bardzo ryzy-' · ne i lepiej go unikać, bo ta procedura potęguje skutki błędów pomia. Istotnie, gdy np. stosujemy wzór (7.1.2), to błąd wartości f(x ± h) jest hożony przez wielkość 1/(2h) - dużą, gdy h jest małe. Warto podkreślić, •,w całkowaniu numerycznym takiego niebezpieczeństwa nie ma.
'stosowanie interpolacji wielomianowej
w którym błąd zawiera czynnik h 2 • Zauważmy jednak, że ten wzór może· stosować tylko wtedy, gdy trzecia pochodna funkcji f istnieje. Błąd w powyższym wzorze można uprościć przy założeniu, że trf' pochodna f 111 jest ciągła w przedziale (x - h, x + h). Wtedy istnieje 111 111 takie.;, że f 111 (.;) = (.;-) + f (.;+)] i wyrażenie dla f'(x) upraszcza1•
f'(x) =
451
gólna metoda różniczkowania i całkowania numerycznego może bazować interpolacji wielomianowej. Niech p będzie wielomianem interpolującym :rtości funkcji f w n+ 1 punktach xo,x1, .... ,xn. Ze wzoru Lagrange'a drozdz. 6.1) i tw. 6.1.3 wynika, że · ·
• ~ ,J
2~ [f(x + h) -
f(x - h)] -
~h2 !"'(.;).
lic
W podobny sposób, ale za pomocą wzoru Taylora z większą otrzymujemy ważny wzór, dający przybliżenia drugiej poch
składników,
nej:
n
f"(x) =
h~ [f(x + h) -
2f(x) + f(x - h)] -
li
1 2 4 h JC )(.;), 12
gdzie.; E (x - h, x + h). Jest on często stosowany w rozwiązywaniu num rycznym równań różniczkowych rzędu drugiego. PRZYKŁAD 7.1.2. Powtórzyć obliczenia z przykł. 7.1.l, ale stosują~ .wi
Jak widać, komentarze z przykł. 7.1.1 odnoszą się i do zastosowanego,tu, .. ru, choć najdokładniejsze przybliżenie wartości pochodnej jest teraz leP.~ Nie zawsze jednak tak jest, bo dokładność przybliżeń wynikających z (7.:~. i (7.1.2) zależy także od wielkości pochodnych wyższych rzędów, które t
p wzór daje wartość przybliżoną pochodnej i jej dy węzły nie są równoodległe.
błąd.
Warto go
stosować,
452
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
PRZYKŁAD
7.1.3.
Rozwiązanie.
Podać jawną postać
2x-x1-x2 (xo - x1)(xo - x2)'
l~ (x) =
2x - xo - x2 (x1 - xo)(x1 - x2)'
l~(x)=
2x-xo-x1 (x2 - xo)(x2 - x1) ·
'(
)
+ f (xi)
Xl -
Jeśli x1 - xo kładnością
do
-
oznaczeń)
-
X2
)+
XO
)( ) xo x2 - x1
1 "'( + -6! ex1 )( x1 -
xo)(x1 - x2).
X1 = h, to powyższy wzór jest identyczny (z d ze wzorem (7.1.2).
Zobaczymy teraz, w jaki sposób można poprawić dokładność pewnych wz rów przybliżonych. W przypadku różniczkowania numerycznego punkte wyjścia jest szereg Taylora
f
(±~)1 hk f(k)(x).
k=O
k.
Odejmując stronami te dwa równania, usuwamy wszystkie składniki z p rzystymi k i wyrażamy pierwszą pochodną w następujący sposób:
f'(x) =
2~ [f(x + h) -
- [;!
h2f(3)(x)
ejście od (7.1.5) do (7.1.6) jest pierwszym krokiem ekstrapolacji Richard. a. Widzimy, że łatwa do obliczenia kombinacja wartości
=
cp(h)
'PRZYKŁAD 7.1.4. Stosując pierwszy krok ekstrapolacji Richardsona, ob-
zyć
ponownie
wartość
Rozwiązanie.
Niech
pochodnej z będzie
przykł.
7.1.2.
f(x) := arctgx. Algorytm obliczania przy-
s <- vf2; h <- 1; M <- 30 for k = O to M do dk <- [f(s + h) - f(s - h)J/(2h) h <- h/2 end do for k = 1 to M do rk <- dk + (dk - dk-1)/3 output k, dki rk end do
Algorytm daje m.in. takie wyniki: f(x - h)]-
+
;!
h4f(5)(x)
+
;!
h6f(7)(x)
+ .. ·].
Jest to równanie typu
L
+ a2h2 + a4h4/4 + a6h6 /16 + ...
ień pochodnej f' (V2) jest następujący:
Ekstrapolacja Richardsona
=
obie strony przez 4:
stronami (7.1.5) od tego równania, otrzymujemy, po podzieleniu 3, nowe wyrażenie dla L: •!.1 4 1 L ;= 3
·
f(x ± h)
pomnóżmy
jmując
2x1 - Xo - x2 + (x1 - xo)(x1 - x2)
= X2
#-O, to dla dostatecznie małych h składnik a2h2 domi.
..4L = 4
X2
Xl -
etr h na h/2 i
,,
X1 )( XQ
+ f( x2 ) ( x2 -
453
nad pozostałymi. Warto by go usunąć. W tym celu zmieńmy w (7.1.5)
że
Podstawiamy tu x = x1 i wyrażamy (7.1.4) w postaci
f x1 = f (xo) (XO
błędem. Jeśli a2
wzoru (7.1.4) dla n= 2 im=·
Z definicji wielomianów li wynika,
l~(x)=
7.1. RÓŻ!'JICZKOWANIE NUMERYCZNE I EKSTRAPOLACJA RICHARDSONA
+ a2h2 + a4h4 + a 6h 6 + ... ,
gdzie L oznacza pierwszą pochodną, a cp(h) jej przybliżenie, takie if w (7.1.2). Jest ono określone tylko dla h #- O. Suma a 2h 2 + a 4h 4 + ... j
7.1. RÓŻNICZKOWANIE NUMERYCZNE I EKSTRAPOLACJA RICHARDSONA
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
7.1.5. Przy założeniu (7.1.5) wyniki D(n, k) ekstrapolacji Richardsona są takie, że
TWIERDZENIE
Powyższy przykład
jest w pewnym sensie sztuczny - dokładną:. tość pochodnej znamy i korzystamy z niej, oceniając dokładność przybli · W realnych zastosowaniach powinniśmy uwzględniać liczbę cyfr znacząc. które tracimy wskutek odejmowania dającego dk. Oczywiście rk niem mieć tych cyfr więcej niż ma dk. Nie oczekujmy zatem, że nieogranicz wzrost k da coraz lepsze przybliżenia. .1i Czytelnicy chyba się domyślają, że rozumowanie zastosowane do (7: można powtórzyć, z małymi zmianami, dla (7.1.6). Żeby to zrobić przyj°' ~~
zyli (7.i.8) zachodzi dla k = 1, przy czym Aj1 = -a2j· Zakładając, że,ta 'wność jest prawdziwa dla pewnego k ~ 1, wnioskujemy z (7.L7) i (7.1.8),
Mnożąc drugie z tych równań stronami przez 16 i odejmując od pierwsze równanie, eliminujemy składnik z h 4 . Daje to nowe wyrażenie dl
mamy
definicją
j=l
L = 'lf;(h)
B(h) :=
(7.1.8)
oo
Mamy zatem
15
2
Ajk(h/'2n) j.
j=k
'
L = 16 'l/J ( h I 2) -
= L+L
D(n, k - 1)
4 1 'lf;(h) := 3cp(h/2) - 3r.p(h).
L
455
z opisu
ekstrapolacji Richardsona wynika, że daj~ ona następującą ~9?jkątną tablicę przybliżeń wielkości L:
+ ...
wnioskujemy,
D(O,O)
64 1 1 8 B(h/2)e(h)c8 h - ... 63 63 84
opis metody zwanej ekstrapolacją Richardson Jeśli ograniczamy się do jej M początkowych kroków, to: . 1. Wybieramy odpowiednie h (np. h = 1) i obliczamy wielkości
D(l,O)
D(l,1)
D(2,0)
D(2, 1) ·
D(2, 2)
D(M, 1)
D(M, 2)
Można już dać pełny
D(n, O) := r.p(h/2n)
(O
~
n
~
M).
2. Dla k = 1, 2, ... , M i n = k, k + 1, ... , M stosujemy wzór rekurenc;vJ
D(n, k) := D(n, k _ l)
+ D(n, k -
ł .
że
1) ~ D(n -1, k - 1) 4 -1
.
. . D(M, O)
.
.
.
L!(J.Yf,M).
, · W' poniższy~ alg~rytmie konstrukcji tej tablicy zakładamy, że funkcja r.p jest dana. · '",;I
. input h,M for· n = O to M do
.
D(n,O)
end do
+--
cp(h/2n)
.
'.·.
456
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
7.2. INTERPOLACJA W
for k = 1 to M do for n = k to M do D(n, k) <-- D(n, k - 1) + [D(n, k - 1) - D(n - 1, k - 1)]/(4k · output D(n, k) end do
tych przybliżeń. Które z nich jest dokładniejsze? poprzednie zadanie dla następujących przybliżeń czwartej pochod-
j< 4>(x) ~
1 [f(x h4
4f(x + 3h) + 6f(x + 2h) - 4f(x + h)
h 4 [f(x + 2h) - 4f(x + h)
~. Wyznaczyć
'
+ 4h) -
1
sensowne
współczynniki
1
+ 6f(x) wzoru
'•' J"(x) ~ h 2 [Af(x + 3h) + Bf(x + 2h)
+ f(x)J,
4f(x - h) + f(x - 2h)].
przybliżonego
+ Cf(x + h) + Df(x)].
i L- f(h) = c6 h6 + c9 h9 + .... Jaka kombinacja r„, j(h/2) jest najlepszym przybliżeniem dla L? ,•. :Wyjaśnić, jak powinna działać ekstrapolacja Richardsona w przypadku, gdy: • (a) L =
= limh-+O f(h)
ADANIA KOMPUTEROWE
7.1
1. Gdy obliczamy f'(x) ze wzoru przybliżonego (7.1.1), to błąd zaokrąglenia (wy-
ir . wołany głównie odejmowaniem bliskich wartości f(x+h) i f(x)) jest z grubsza 1
1. Wykazać, że w (7.1.3) błąd ma postać I::'=l
3.
Znaleźć błędy Powtórzyć
·; j< 4 >(x) ~
W ostatnich latach powstało oprogramowanie automatyzujące pro · Bischof, Carle, Khademi i Mauer [1994] zaprojektowali t system o nazwie ADIFOR, który oblicza pochodne, stosując elementar reguły różniczkowania. Stosowane metody opisują np. Griewank i Co [1991].
Znaleźć błąd
•
D(n,4)
różniczkowania.
ZADANIA
~
nej:
Są one nieco bardziej dokładne niż w przykł. 7.1.4. Wielkości D(n, k) '· n > 4 mogą być gorsze lub nawet pozbawione sensu wskutek błędów wy<); ływanych odejmowaniem.
i wykazać, że w obu przypadkach błąd jest równy O(h4 ).
h) - f(x - 2h)J
" równy ah- . Sprawdzić to (i oszacować a) na kilku przykładach. Może być ' potrzebne wykonywanie obliczeń w podwójnej precyzji. 2. Zaprogramować metodę ekstrapolacji Richardsona i sprawdzić ją, obliczając ' f'(x) dla: (a) f(x) := logx i x := 3, (b) f(x) := tgx i x := arcsin0.8, (c) f(x) := sin(x 2 + łx) i x :=O. 3. Napisać i sprawdzić program obliczający f"(x), a wzorowany na ekstrapolacji 1 " Richardsona. 4. Zaprojektować i sprawdzić algorytm przybliżonego obliczania f' i f 11 za pomocą funkcji sklejanych stopnia trzeciego.
Interpolacja w
całkowaniu
numerycznym
:iadomo, że całki nieoznaczone z wielu - nawet bardzo prostych - funkji nie wyrażają się w skończonej postaci przez funkcje elementarne. Jest
oź'iia t~· udowodnić,· całkując błąd .f(x) _.:: p1 (x) = 'f} (e;)(x _;_'~.)(x :__b) in- · rpolacJi i korzystając z twierdzenia owartości średniej dla całek. Wrócimy 11
1 >'Tu i dalej, dla innych wzorów całkÓwania numerycznego,. dokładna wartość całki 'est równa sumi~ wartości przybliżonej i 'błędu. Chociaż autorzy nie precyzują założef1 .o funkcji podcałkowej, to oczywiście kaide wyr;i.żenie dla błędu·jest poprawne tylko wtedy, · y występująca w nim pochodna istnieje, [ą,'b], albo - g<;ly ponadto jest ciągła w.(a,b) przyp. tlitm.). . · · . · .· · · · · ·· ,
n
b
p(x) dx =
L i=O
a
1 b
f(xi)
a
li(x) dx.
w
..
,·. ;
JJikl
1 li(x) dx = 2"(b- a),
est on dokładny, gdy f E Il1, czyli'f.jest wielomianąm s~opnia.Go najwyżej 'ierwszegq, a w innych przypadkach jego błąd l) wyriosi. : .. ·. : ..
L f(xi)li(x), stąd, że
{b
la
daje .„tzw . .wzór trapezów
\
..
wzór otrzyn.iujemy dla n= l; wtedy xo =a
l 1_.()-x-a X , b-a
. = ib .
Wybierzmy w przedziale całkowania [a, b] węzły x 0 , x 1 , ... , Xn i zastosuJ" wzór interpolacyjny Lagrange'a znany z podrozdz. 6.1:
1
.
to
Ponieważ
b-x
Zastosowanie interpolacji wielomianowej
~
b.
lo(x) :== b - a'
1
jednak mieć jakąś w miarę uniwersalną metodę wymagają tylko obliczania wartości funkcji podcałkowej. Daje to interpolacja wielomi nowa, ale i interpolacja za pomocą funkcji sklejanych, których całkowani jest też łatwe. ·
a
..
~ n,
> •• •
ajprostszy, ale
Chcielibyśmy
f(x) dx
(7.2.3)
.zór trapezów
g(x) dx.
{1 ex2 dx ~ {1
b
(O~ i~ n).
li(x) dx
.j'.1
1
Wnioskujemy
1b
1i węzły interpolacji są takie, że Xi =a+ (b - a)i/n dla O ~ i 'ór (7.2.2) z powyższymi Ai nazywamy wzorem Newtona-Cotesa.
Taką dobrą funkcją g może być wielomian (jego całkowanie jest łatwe), ktĆ/ interpoluje funkcję f w danych węzłach, co powinno zapewnić bliskość ·~ funkcji. Oczywiście, przybliżenie wielomianowe można otrzymać też inac np. jako sumę częściową szeregu Taylora dla f. Oto przykład:
p(x) =
;'
11
•
Jo
„.
tym przypadku
f(x) dx,
f(x) dx
(7.2.2)
i=O
Ai :=
przybliżony
1
n
J(x)dx ~·Z:::Ad(xi)·
a
to ogólny sposób postępowania polega na zastąpieniu funkcji f inną b . ' . ską funkcją g, dla której całkę można łatwo obliczyć. Stosujemy więc wz
1b
{b
la
>
1
sin(xyex) dx dy,
459
NUMERYCZNYM
'
dx. Stąd wynika, że bardzo często nie możemy znal wartości całek oznaczonych. Dotyczy to np. całek · ··
tak m.in. dla
CAŁKOWANIU
7.2. INTERPOLACJA W
··.
·.
:\filf!litj,
·~i!1i i tJf~zi,l\~
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
460
7.2. INTERPOLACJA W
do tego wzoru w podrozdz. 7.5, gdyż jest elementem opisanej tam met Romberga. Tu zaś zauważmy, że można podzielić przedział [a, b] punkt .
a= XO na
< X1 < · · · < Xn-1 < Xn
podprzedziały
i
zastosować
rb la f(x) dx = L
n
a
1Xi
i=l
= b
każdego
do
f(x) dx ~
1
n
.•
2 L(Xi - Xi-1)[f(Xi-1) + f(xi)].' i=l
Xi-1
Jest to złożony wzór trapezów (oczywiście takie złożenie można zastosow do każdego innego wzoru całkowania numerycznego). Wzór jest dokład · jeśli wykres funkcji jest linią łamaną, której wierzchołki mają odcięte x~:· Złożony wzór trapezów jest najprostszy, gdy wszystkie .podprzedz( są jednakowo długie, tj. dla Xi= a+ ih, gdzie h := (b - a)/n: b
1 a
1
NUMERYCZNYM
461
etoda nieoznaczonych współczynników ·dowodu wzoru (7.2.2) wynika, że - dla określonych tam współczynników !k'- jest on dokładny, gdy f E IIn. Te wielkości spełniają więc układ równań n
b
z nich wzór trapezów:
CAŁKOWANIU
1
xj dx = L Aix{
a
(O ~ j ~ n)
i=O
zamiast przykł.
obliczać Ai z (7.2.3), wystarczy ten 7.2.1 ma on postać
układ rozwiązać.
Dla danych
Ao + Al + A2 = 1, !A1+A2=!, łA1 +A2 = ł,
!,
!,
:jego rozwiązaniem są liczby: Ao = A 1 = ~, A2 = oczywiście zgodne · wspomnianym przykładem. Taki sposób wyznaczania liczb Ai nazywamy ~todą nieoznaczonych współczynników.
n-1
f(x) dx ~ 2h[f(a) + 2 ~ f(a + ih) + f(b)],
czyli
1 f(x)dx~hL"f(a+ih)
zór Simpsona
n
b
a
Ódobne obliczenia dla dowolnego przedziału [a, b] dają znany wzór Simp-
i=O
(symbol I: /1 oznacza, że pierwszy i ostatni składnik sumy należy podziel" przez 2). Jeśli druga pochodna funkcji f jest ciągła w (a, b), to błąd teg wzoru wynosi 1 ( b - a )3 f "( ~'), -12n2
gdzie
c; E (a, b).
Żeby otrzymać to wyrażenie, sumujemy błędy całkowania w poszczególny· podprzedział ach. 'frzeba też zauważyć, że istnieje takie .; , iż średnia ar metyczna (1/n) I:i= 1 f"(c;i) jest równa f"(c;). PRZYKŁAD
7.2.1.
Wykazać, że
[O, 1] jest następujący:
wzór Newtona-Cotesa dla n = 2 i [a, b] '
1b
f(x) dx
~ ~(b - a) [!(a)+ 4f (a; b) + f(b) J .
l zór z założenia jest
dokładny dla wszystkich wielomianów stopnia~ 2, le także - co jest zaskakujące - dla wielomianów stopnia trzeciego (zob. ad. 13). Błąd tego wzoru wynosi ,.I. (7.2.7) - 1 (b - a) 5 f (4) (.;), gdzie .; E (a, b). 2880
\ ajłatwiej to udowodnić stosując tw. 7.7:2; zob. zad. 7.7.2. "1 Złożony wzór Simpsona powstaje z (7.2.6) przez zastosowanie tego . statriiego do n podprzedziałów jednakowej długości. Wprowadzamy ozna-
z (7.2.6) wynika po oczywistych uproszczeniach, że ,, ; •• „:..
·a A 1 = A 2 = -Ao = Błąd
-A3 = 4/7r i szukany wzór jest następujący:
tego wzoru wynosi
288~n4 (b Całki
z
a) 5 J( 4 )(Ę,),
gdzie
Ę, E (a, b).
funkcją wagową
przedziału całkowania
Metoda prowadząca do wzorów Newtona-Cotesa daje również ogólniejs wzory przybliżone postaci
ro
n
b
1
· ając. wzór całkowania w pewnym przedziale, można go dostosować do inprzE]działu przez przekształcenie ,liniowe zmiennej. Zachowuje się przy istotna własność wzoru, a mianowiciejego dokładność dla wielomianów .wnego stopnia. Niech pierwotny wzór "ma· postać· '
f(x)w(x)dx::::::: :LAd(xi)·
a
i=O
w jest tu funkcją wagową (krócej: wagą), z definicji nieujemną. Jedyna~ nica polega na tym, że teraz
Ai
:=
1b
PRZYKŁAD
~!',' ··.:
Znaleźć
d·
c
„n
L Ad(ti)·
f (t) dt::::::: ·
i=O
~ó~o~hodzenie nie jest istotne; zakł~damy t;ll~o, że jeŚ~ on dokładny dla
li(x)w(x) dx. 7.2.2.
1
..
E IIm. Aby otrzymać stąd wzór dla przedziału [a, b]; posługujemy się · . · .„
'keją
wzór
'( ). ·=
.At . ,
(b - a)t +ad - be d- c
~.
dokładny 2 ) dla każdej funkcji
f
t '/
E l13. l
Rozwiązanie. Stosujemy metodę nieoznaczonych współczynników,"c~: wyznaczamy Ai, żądając, aby wzór był dokładny dla czterech jednomianó f(x) = 1, x, x 2, x 3 . Ponieważ cosinus jest funkcją parzystą, a węzły są r mieszczone symetrycznie względem O, więc dla Ao = Ag i Ai = A2 wzór, j na pewno dokładny dla każdej funkcji f nieparzystej, a pozostałe waru
'
,•-_
·;·
.„. \~
't
.
•
:
Ił
'
, :
"
„. . ' ••
I
•
'
:'
,/
'~a· p~~ekształca pr~edział [c, dJ na: [a, bJ .. Podstawi~nie x = .X(t), w całce .f(x) dx daje
1b
,v· '.
a
f(x) dx
równość
b- a
= d_
c.
1d c
b - a~ f (.X(t)) dt::::::: d ~ c tSQ Ad(.X(ti)),
d:.»
się upraszczają:
O=
L:
cosxdx
= 2Ao + 2A1 ,
2 >Ogólniej, dla A; określonych w (7.2.10) wzór całkowania jest dokładny, jeśli f (a fw!) jest dowolnym wielomianem klasy IIn. Rozkład funkcji podcałkowej na czynni." i w może mieć różne powody. W szczególności funkcja wagowa - a więc i kompl funkcja podcałkowa - może zawierać osobliwości, których nie ma żaden wielomian; dla [a, bJ = [-1, 1] może być w(x) = (1 - x 2 ) - 1 / 2 (przyp. tłum.).
:1·b· f(x). dx::::::: b - a~ Ad ( (b "·· · d-cL-t
··
a.
. '·
.
i=O
a)ti +ad - b~·). ·.: d-c ·
· f(t) jes~\vielomianem, to 'f (A(t)') j~~~,;~illl: róvV-nież, a stopnie obu są entyczne. Dlatego nowy wzór jest dokładny„ jeśli f E IIm. W opisany psób można otrzymać ogólny wzór Simpson~ (7.2:6) z (7.2.5). .
'l~l'I"''
'
·~
Jłh
464
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
Analiza
7.2. INTERPOLACJA W
błędu
Dowód. Udowodnimy najpierw,
Wzór przybliżony całkowania (7.2.2) wynika ze wzoru interpolacyjnego grange' a. Jeśli p E IIn interpoluje w węzłach xo, xi, ... , Xn z przedziału f funkcję f, która ma tam (n+ 1)-szą pochodną ciągłą, to na mocy tw. 6:
wynika,
1
465
NUMERYCZNYM
że
1
Im:=
Um(x) sgn[Un(x)] dx :==O
(O< m
(7.2.14)
-1
Im = Stąd
CAŁKOWANIU
że
1
7rsin(m+l)fJ [sin(n+l)fJ]. fJdfJ . (} sgn . (} sm .
O
Bln
Bln
dla cp := 7r/(n + 1) wynika, że
1
l
n
b
=
f(x) dx - LAif(xi)
a
i=O
,
(n + 1).
j
·c
n
b
J
a
i=O
n
k=O
(7.t Jeśli w przedziale b
I1
[a, b] jest lf(n+l)(x)I n
f(x) dx - :LAd(xi)
a
i=O
I< (
M
< M, to )'
n+l.
1
.,·:
bn
ITlx - Xil dx.
ai=O
Sprawdzając, kiedy to oszacowanie jest najlepsze (tzn. całka po pra„. stronie jest najmniejsza), można ograniczyć się do przypadku [a, b] = (-11. Jak się okazuje, rozwiązanie zadania wynika z własności wielomianów Q. byszewa drugiego rodzaju Un. Można je zdefiniować rekurencyjnie wzor
Uo(x) := 1,
U1(x) := 2x,
gdzie
x := cos fJ
(równoważność określeń wynika ze znanych wzorów trygonometrycznyc '
Z pierwszej definicji wynika, że Un(x) jest wielomianem stopnia n, ze wsp,. czynnikiem 2n przy xn, a z drugiej, że zerami Un są punkty · (i+ 1)7r Xi := cos n+l
(0
7.2.3. W zbiorze wszystkich wielomianów p(x) E ; i: o współczynniku 1 przy xn całka f~ 1 lp(x)I dx ma najmniejszą warto równ<1: 2-n+l, tylko dla p = 2-nun.
:~eh będzie a := (m + l)cp +'Tri stąd równość O < a < 27r. Sprawdzamy, że 1
.t '
i z
założenia, że m < n,
wynika
n
(m + l)Im = L[cos(k + l)a + cos ka] = k=O
~ 11
k
=2~cosa= k=O
Un(x) := 2xUn-1(x) - Un-2(x)
(ostatni jest taki, jak dla wielomianów pierwszego rodzaju Tn; zob. Pfł rozdz. 6.1) albo jawnym wzorem Un(x) ·.-- sin(n_ + l)fJ' smfJ
r
Im= L(-l)k Jk
.
cos !a sin( n+ l)a . 1 Sill 2a
'fubol L:" określono po wzorze (7.2.4)). Końcowa równość jest prawdziwa, li tylko a f:. O, ±27r, ±47r, ... , co można udowodnić mnożąc jej obie strony z sin !a. Ponieważ (n+ l)a = (m +n+ 2)7r, więc Im = O dla m < n. omiast dla m = n jest a = 27r, a wtedy przedostatnie wyrażenie w ciągu 1 ekształceń jest równe 2n + 2, czyli
1 1
In=
-1
IUn(x)I dx
~ 2,
, należało wykazać. Aby zakończyć dowód, pżna wyrazić w postaci
zauważmy, że każdy
wielomian p z twierdzenia
466
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
1
1
1
1
j_ lp(x)I dx;;;. j_
7.2. INTERPOLACJA W
• (cd.).
p(x) sgn[Un(x)] dx =
1
Un(x) sgn[Un(x)] dx
-1
= Tn
1
J;
Z twierdzenia 7.2.3 i poprzedzających je uwag wynika, że oszacowa·· z góry (7.2.12) błędu wzoru całkowania (7.2.11) jest najlepsze wtedy, 1 węzły Xi powstają z zer wielomianu Un+l przez odpowiednie przekształce liniowe, tj. gdy 1 = - (a
2
Tylko dla takich
11
1 2
+ b) +
-(b - a) cos „
(i+ l)7r n+2
(O
< i < n).
b
t; n
Aif(xi)
I < M(b - a)n+2 n+ (n + l)!" 22
2
7.2
1. Korzystając z (7.2.1), znaleźć osiem cyfr znaczących całki
g, Znaleźć, jeśli to możliwe, wzór f: f(x) dx ~ a[f(xo) + każdego
funkcji
podcałkowej
w szereg
f01 e"'
2
Oszacować z góry prawą stronę nierówności (7.2.12), nie zakładając nic o roz' · mieszczeniu węzłów w przedziale [a; b]. Czy niożna,znaleźć najlepsze takie osza·:, cowanie? · ·· ·· .
,„znaleźć
wzory przybliżone dla całki' f~ ;;,. f(x) dx zależri~ tylko. od f(O), f'(-1) i f"(l) i dokładne dla każdego f E 112. Przyjąć, że: (a) m .= O, ·. (b) m = 2. Czy otrzymane wyrażenia są też dokładne dla f E 113 ? tł·. Podać wzory złożone całkowania numerycznego, oparte na następujących pro"· · stych wżorach:
dx.
f; f(x) dx i węzłów O, ł, i, 1.
4. Które z niżej podanych wyrażeń równych dokładnie całce
af(O)
5.
+ bf G) + cf(l),
Sprawdzić, że
af (ł)
1
jest
dokładny
f
1 0
[7f(0)+32f
tłum.).
··(a)
f01 f(x) dx ~ f(l)
". (b)
i(x) dx 2f(O) (punkty pach lub nie). ·
f~·~
~
(punkty podziału przedziału dowolne).
·
podziału rozmieszczone w ;ównych odstę-
czyć najmniejszym kosztem .analogiczne wyrażenie, ale z 2n zamiast n? '7. Ile co najmniej podprzedziałów trzeba uwzględnić w zło~onym wzorze trape2 Żów, aby obliczyć ~alk~ f 1 (x + e-x') dx z błędem mniejszym od 0.510-7? 8 .. Udowodnić ściśle, jak wyraża się błąd: (a) prostego i złożonego wzoru trapezów, · (b) prostego i złożonego wzoru Simpsona.
f(x) dx dla
+ f3t (ł) + 'Yf U).
,9.
Udowodnić, że T~
,•.
= nUn-1·
i.
'o. Udowodnić, że f~ 1 Um(x)Un(x).Jl -
(~) +12f (~) +32f (~) +7f(l)].
dla f E 114.
3) Krylov i Sulgina [*1966] oprócz informacji teoretycznych podają także współczynników i węzłów dla wielu specjalnych wzorów przybliżonych całkowania
1
6. Jak; po zastosowaniu dla pewnego n wzoru złożonego Simpsona (7.2.8), obli-
O..: Stosując wielomian stOpnia ~ 1, interpolujący f w x 1 i x 2, otrzymać przybli•.. żone wyrażenie dla całki f(x) dx. Założyć tylko, że xo < x1 < x2 < x3.
,
Więcej wiadomości o całkowaniu numerycznym można znaleźć w monog fiach: Davis i Rabinowitz [1984], Ghizzetti i Ossiccini [1970] i Krylov [1962]
ZADANIA
·f:
. Udowodnić, że jeśli wzór f~ 1 f(x) dx ·.~ L;~,,;,;0 Aif(xi), gdżie· n jest parzyste, ;,;\.a węzły są rozmieszczone symetrycznie względem O, jest dokładny dla wszyst• 1 kichfE11n, to ma również tę własriość'dla f E 11n+l· 3. Sprawdzić (nie odwołując się do wyrażenia dla błędu), że wzór Simpsona (7.2.6) '..,jest dokładny dla wszystkich wielomianó~ ~topnia trzeciego. ' ·
Xi możemy twierdzić, że
a J(x) dx -
wzór z poprzedniego zadania, obliczyć przybliżoną wartość całki "'' ,, ' " ..• ,.,„;1m....·•. t•.
·:·znaleźć wzór przybliżony postaci f(x) dx ~ Af(ł) + Bf(i). . Dla: (a) [a,b] = [0,2], (b) [a,b] = [-1,3] znaleźć takie A,B,C, żeby wzór xf(x)dx ~ Af(O)-:J-Bf(l)+Cf(2) był dokładny dla wielomianów !,możliwie wysokiego stopnia. Jaki jest ten maksymalny stopień?
IUn(x)j dx.'
-1
Ściślej, po pierwszej całce zamiast ;;;. możemy napisać = tylko wtedy,'.· p = Un. Dlatego jedynie wielomian 2-nun zapewnia minimum badanej ca
Xi
467
NUMERYCZNYM
i"'f;tt+ 1y.:1 di i 'porów~1ać ją z'dokł~d.ri'ą w;rt~ś~ią;\6~~ą·i~g2.
1
1
== 2-n
Stosując
CAŁKOWANIU
-(-DANIA I(OMPUTEROWE 7.2 1 1. Napisać program obliczający ·
= (7r/2)ómn·
·
fb'
(pr
x 2 dx
e-t• dt przez sumowanie tych początkowych odpowiedniego szeregu potęgowego, których wartość bezwzględna przekracza 10-8 . Sprawdzić program dla x :::;= 0.1, 0.2, ... , 1.0.
składników
468
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
l:
l:
K2. Napisać program przybliżający całkę f(x)dx za pomocą całki S(x)' gdzie S jest naturalną funkcją sklejaną sześcienną interpolującą f w węzł a+ (b - a)i/n (O ~ i ~ n). Tę drugą całkę obliczyć, korzystając ze wzo podanego w zad. 6.4.K2. Sprawdzić program dla całek: · .'i
l;(l + x
(a)
2
)-
1
dx, (b)
l{ x-
1
469
7.3. KWADRATURY GAUSSA
Dla funkcji wagowej w(x) := (1 - x 2 )- 112 wzór (7.3.2) istnieje dla bwolnego n;;;. O, ma postać
1 '1
dx; w obu przypadkach dla n= 4, 8, 16. ·
j (X) ( 1 - X2 )- l /2 dx
-1
dokładny
dla
każdej
n I: f n+li=D
1f Rd - · -
(
(2i+l)7r) 2(n+l)
(7.3.3)
COS -'-------'-,-
funkcji f E II2n+i; nazywamy go
kwadraturą
7.3. Kwadratury Gaussa W poprzednim podrozdziale dowiedzieliśmy się, jak tworzyć kwadrat · czyli przybliżone wzory całkowania numerycznego n
b
1 a
f(x)w(x)dx
Rd
~Aif(xi)
(w jest tu ustaloną funkcją wagową o wartościach dodatnich), dokład dla każdego wielomianu f stopnia ~ n. Do tej pory układ węzłów xi dowolny. Określają one jednoznacznie współczynniki Ai. Nasuwa się pytanie, czy pewne układy węzłów są w jakimś sensie lep od innych. Można np. uznać, że dobry byłby taki wzór całkowania, w któr wszystkie współczynniki Ai byłyby równe. Istotnie, stosowanie wzoru n
b
1 a
f(x)w(x) dx
Rd
A~ f(xi)
2
1
_
1
f(x) dx
Rd
.
5[!(-a) + f(-(3) + f(O) + f(f3) + f(a)],
gdzie a:= V(5
+ VU)/12 Rd 0.832497487000982,
(3 := V(5-vu);12
Rd
o.374541409553581.
Węzły a i (3 wyznaczamy z żądania dokładności wzoru dla wszystkich f (;:1 (ale jest on dokładny nawet dla f E Ils; zob. zad. 7.2.12). 4)
Ai :=
1b
w(x)
a
IT
x-
j=O,jfoi Xi -
Xj Xj
dx
(O~ i~ n).
(7.3.4)
Gaussa, jeśli jest dokładny dla każdego f E Gauss (1777-1855) sformułował i rozwiązał zadanie poszu'wania takiego wzoru dla w= 1. azywamy go
2n+i·
kwadraturą
Właśnie
7.3.1. Jeśli węzły x 0 ,x1, ... ,xn są zerami (n+l)-szego wielomianu ortogonalnego Pn-l-1 w przedziale [a, b] z wagą w, to kwadratura (7.3.1) o współczynnikach (7.3.4) jest dokładna dla każdej funkcji
TWIERDZENIE
wymaga tylko jednego mnożenia zamiast n+ 1. W najprostszym przypad gdy funkcja wagowa jest stała, taki wzór, zwany kwadraturą Czebysze istnieje tylko dla n = O, 1, ... , 6 i n = 8 4 ). W szczególności dla n = 4 ·. on postać
1
óćmy uwagę na to, że wzór przybliżony (7.3.3) całkowania w przedziale '1, 1], z funkcją wagową (1 - x 2 )- 112 , jest dokładny w (2n + 2)-wymiaej przestrzeni II2n+i, chociaż węzłów jest tylko n+ 1. Ogólniej, niech ą dane przedział [a, b] i funkcja wagowa w dodatnia w tym przedziale. e'wzoru interpolacyjnego Lagrange'a wynika wzór przybliżony całkowania 7.3.1) o współczynnikach
Udowodnili to Czebyszew i S.N. Bernstein; zob. Natanson [*1949] (przyp. tłum.
f
E II2n+i·
Dowód. Niech q będzie ilorazem, a r 'asy II2n+1 przez Pn+1:
f == Pn+lq + r
resztą
z dzielenia wielomianu
f
(q„r E IIn)·
··. d f (xi) = r(xi)· Ponieważ wzór (7.3.1) jest z założenia dokładny dla ystkich wielomianów z IIn, a wielomian Pn+l jest ortogonalny względem chże wielomianów, więc
, 1b i:.
a
f(x)w(x)dx =
1b a
r(x)w(x)dx
=
f i=O
A;r(xi)
=
f
Aif(xi)·
•
i=O
·' Sensowność kwadratur Gaussa wynikam.in. stąd, że - jak wynika z na. nego twierdzenia - każdy wielomian ortogonalny w danym przedziale ma Iko zera rzeczywiste, pojedyncze i leżące w jego wnętrzu.
470
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
471
7.3. KWADRATURY GAUSSA
7.3.2. Jeśli funkcja f E C[a, b] jest ortogonalna w tym pr' dziale z wagą w względem wszystkich wielomianów klasy IIn, to w (a; zmienia znak co najmniej n + 1 razy.
TWIERDZENIE
LEMAT
l:
l:
dowolnej kwadratury. Gaussa
są
dodatnie.
z tej własności kwadratur Ga~ssa korzystamy w dowodzie tw. 7.3.4, ma ona też praktyczne znaczenie: można się spodziewać, że błędy zarągleń mają mniejszy wpływ na obliczaną sumę I:f=o Ad(xi) właśnie dy, gdy wszystkie Ai są dodatnie (dodajmy, że nie w każdym wzorze Wtona-Cotesa tak jest). .,
Dowód. Funkcja stała należy do zbioru IIn, więc f(x)w(x) dx == skąd wynika, że f zmienia znak co najmniej raz. Przypuśćmy, że f zmien znak tylko r razy, gdzie r < n. Istnieją zatem punkty ti takie, że . ~.1 ·•',' a = to < t1 < ... < tr < tr+I = b i że w każdym z r+l przedziałów (to, t1), (t1, t2), ... , (tri tr+I) funkcja f j albo niedodatnia, albo nieujemna. Wielomian p(x) := ITi=1(x - ti) stop' r
Współczynniki
7.3.3.
'
,,(,
, Dowód. Niech Pn+I będzie (n+ 1)-szym wielomianem ortogonalnym r.[a, b] z wagą w, a punkty x0 , x 1 , ... , Xn - jego zerami, czyli wę~łam~ '(7,3.1). Niech dla ustalonego j będzie q(x) := Pn+1(x)/(x-xj)· Pomewaz . E II dla ą 2 jest .. dok.la.dna: . 2n, ·więc ta kwadratura . . '
\
•
Przypadek [a, b] = [-1, 1] i w= 1 zbadał Gauss. Oto dwie kwadrat odnoszące się do tego przypadku, odpowiednio dla n 1in 4:
=
f(x) dx
~ f (-1/J:i) + J( ( 1/J3),
f(x) dx
~ ~ Ad(xi),
1
j_ j_
1
1 1
=
4
, ·. Stieltjes udowodnił poniższe twierdzenie o zbieżności ciągu kwadratur aussa. Węzły i współczynniki wzoru. przybliżonego Gaussa (7.3.1) ozna'ymy:·tęrą.z, odpowiednio Xni i Ani: ..
Podane tu węzły są zerami wielomianów Legendre'a (podrozdz. 6.8), odp wiednio P2(x) = x 3 - !x i p5(x) = x 5 - 19°x3 + 251 x. . Węzły i współczynniki wielu wzorów całkowania przybliżonego pod Abramowitz i Stegun [1964] oraz Krylov i Sulgina [*1966]. Dla dostatec .. regularnych funkcji f występujących w kwadraturach Gaussa nawet ni że n zapewnia rozsądną dokładność.
L
(STIELTJES).
·
b
And(Xni)
n~:'° i=O .
,
=
1 a
·Jeśli! E C[a, b], to ·
f (x )w(x ).d~. ·
.
.
· D~wód. Niech będzie c > O. Na mocy tw. Weierstrassa 6.1.11 istnieje d więi~mian p, że lf(x) - p(x)I < c dla x E [a, b]. Dla dowolnego n ększego od stopnia tego wielomianu wzór Gaussa jest dokładny. Wtedy
;[Cx)w(xl dx -
t.
A.;J(x.;)
t
F:jtt(x)w(x)dx -
<
1b
•i •
p(x)w(x)dxl
lf (x) - p(x) lw(x) dx n
b
i" .· ·. ·
+ta AnilP(X~i)
':·:e:.J~··W~x).dx + c ~Ani= 2c · .
a.·
·· .'
.
i=O
+ lt,A,,;p(x.;) -
1
- f
. b
t.A,,;f(x.;)I <
(xn~) I <
..
w(x) dx. · . .
\~tnia równość wynika stąd, że wszystkie wzory przybliżonego całkowania nikające
Gaussa fo xf(x) dx ~ L~=O Ad(xi): (a) dla n = 1, do.I kładną w Il 3 , (b) dla n= 2, dokładną w Il 5 • (c) Dla n= 4 znaleźć współczyn niki wielomianu o zerach x 0 , xi, ... , x 4 , które są węzłami takiej kwadratury. 9. Znaleźć takie A, B, C, żeby wzór całkowania numerycznego
f_:
równość
xf(x) dx
stopień?
informacji o kwadraturach Gaussa podają Krylov (1962], Da' i Rabinowitz [1984], Stroud i Secrest [1966], Abramowitz i Stegun [19 oraz Natanson [*1949]. i'' ZADANIA 7.3
J:
1. Znaleźć takie a, dla którego wzór przybliżony f(x) dx ~ f(-a) + f(a)' 1 dokładny dla każdego f E Il 2 • Czy jest on dokładny również dla wielomia stopnia trzeciego?
2. Udowodnić,. że dla przedziału [-b, b] i funkcji wagowej parzystej węzły w l draturze Gaussa są rozmieszczone symetrycznie względem O, a współczyn są takie, że Ai =An-i (O,,,;;; i ,,;.n).
1
~ Af(-1) + Bf(O) + Cf(l)
był dokładny
Więcej
Gaussa.
s.Znaleźć kwadraturę
i=O
wartości średniej
f(x) dx ~ :E~=O Ad(xi), gdzie
i[
n-1
Aip(xi)
1
= X3 =
d
p(x)w(x) dx
J:
'·. -Xo
·'
q (x).
n-1
b
nie
J:
(O< i< n - 1).
Ponieważ p E Il2n-1, więc
1
węzłami
6. Udowodnić, że jeśli f(x)w(x) dx = L~=O Ad(xi) dla każdego f E Il2n+ii to wielomian rr=o(X - Xi) jest (n+ 1)-szym wielomianem ortogonalnym W [a, b] z wagą w .
Dlatego
1a
kwadratura Gaussa z n
. Jak wpłynęłoby na teorię kwadratur Gaussa odrzucenie założenia, że funkcja wagowa jest dodatnia? • Czy tw. 7.3.1 pozostanie prawdziwe, gdy zamiast Pn+l wystąpi w nim wielomian ortogonalny Pm dla m > n + 1? (Węzły xo, X1, .•. , Xn mają być jego 1· "niektórymi zerami).
Dowód. Jak wiadomo z teorii interpolacji Hermite'a (podrozdz.' 6~ istnieje wielomian p E Il2n-l taki, że
=
Udowodnić, że żadna
w całej klasie Il2n·
n-1
·
p(xi)
.
tę własność, że
b
1
f
7.3.5. Jeśli
473
7.3. KWADRATURY GAUSSA
dla wielomianów
możliwie najwyższego
stopnia. Jaki jest ten
J:
2 O. Znaleźć wzór przybliżony 1 x f(x) dx ~ L~=O Ad(xi): (a) dla n = 1, dokładny w Ih, (b) dla n= 2, dokładny w Il5. 1. Znaleźć wielomian ortogonalny względem Ih w [-1, 1] z wagą 1 + x 2 • . 2. Znaleźć współczynniki i węzły kwadratury Gaussa
:" 1b 3;
x 4 f(x) dx
~ Aof(xo) + Aif(xi)
dla: (a) [a,b] = [0,1], (b) [a,b] = [-1,1]. Znaleźć wielomian, którego zera x 0 , x 1 , x 2
są węzłami
kwadratury Gaussa
474
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
14. Znaleźć kwadratury Gaussa dla przedziału [-1, 1] i furikcji wagowej Wskazówka: Skorzystać z zad. 7.2.20. 15. Kwadraturę Gaussa 1
7.4. WIELOMIANY BERNOULLIEGO I WZÓR EULERA-MACLAURINA
oniew.aż
9
k=l dla k > O
k=O
·
. ~:1t; 1) ~ (k:1)·
i
po odpowiednim przekształceniu przedziału całkowania zastosować do obli· 4 nia całki J0 t- 1 sin t dt. '
ięc
'
B~ +I: (k: 1)Bk-1 =I:k=O (~)Bki k=l
7 .4. Wielomiany Bernoulliego i wzór Eulera-Maclaurina
U .
Metoda Romberga całkowania opisana w podrozdz. 7.5 opiera się na kl sycznym wzorze Eulera-Maclaurina, który tu będzie podany w tw. 7.4'. Ten wzór z kolei wymaga zapoznania się z wielomianami Bernoulliego.'
i)'''· Aby sprawdzić własność 2, korzystamy wielokrotnie z tej, którą już ~dowodniliśmy. Dla k = 1, 2, ... daje to równość.
Wielomiany Bernoulliego Bn z definicji spełniają równanie 1
(n; )Bk(t) =(n+ l)tn
(n;;;. O).
Pozwala ono je wyznaczyć kolejno dla n= O, 1, ... :
Bo(t)
= 1, 2
B1(t)
B2(t) = t - t TWIERDZENIE ści:
+ ~„
=t-
B3(t)
=
)i~
(~)Bk(O)tn-k.
=
t
k\ k=O"
+ l)Bn-k·
Bn wynika, że
B~k>(t)hk = t (~)Bn-k(t)hk. k=O
. (7.4.2)
.
.Dla h = 1 z równości (~) = (n~k) i z (7.4.1) wynika własność 2:
B 0 (t
+ ~ E(~) 1)
~B
B,(t)
0 (:)
+}; (~)
!Jk{t)
~B
0
(t)
+
nt•-1 .
Wł~ność 3 wynika z (7.4.2) po zm:ianie .tj h odppwiednio na O i t.
Na k~niec, aby. udowodnić· własność 4, korzystamy z 2, zmieniając ·tam t na ~t: . , .·' ·
Dowód. Własność 1 udowodnimy przez indukcję. Dla n= 1 jest o oczywista. Jeśli n > 1 i B/. = kBk-l dla k < n, to różniczkując stron' (7.4.1) wnioskujemy, że
1 (n; ) B/.(t) = n(n + l)tn-l
Bn(t+h) .
Bn(l - t) - Bn(-t)
4. Bn(l - t) = (-l)n Bn(t).
t;
~.
t 3 - ~t 2 + !t, ...
1. B~ = nBn-1· 2. Bn(t + 1) - Bn(t) = ntn-l.
B~k) .= n(n - 1) ... (n - k
Stąd i ze wzoru Taylora dla
!,
7.4.1. Wielomiany Bernoulliego mają następujące własn
3. Bn(t) =ta
ij(I
r·
Wielomiany Bernoulliego
ta
(~po uproszczeniu daje własność 1.
= (n+ 1)}; (~) Bk(t).
=
(-l)n Bn(t) - Bn(l - t).
Jest to równość typu F(t+l) :== F(t) oznaczając~, że F jest funkcją okresową 'p okresie 1. Tu jednak F jest wielomianem, czyli musi być stałą:
(-l)n Bn(t) - Bn(l - t)
= Cn·
1
~ Różniczkujemy tę równość stronami i korzysta~y z własności 1: (-1r B~(t) + B~(l - t) = (-,l)nnBn-1(t) + nBn-1(1 - t) =O. To
już
daje
własnoś?
4.
'·
•
~11~"t11111 .. " •
'.'llJ,111At1u·
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZN
476
7.4. WIELOMIANY BERNOULUEGO I WZÓR EULERA-MACLAURINA
całki
7.4.2. Jeśli n> O, to wielomian G(t) := B2n(t) - B2n(O) nie zer w przedziale (O, 1).
LEMAT
Dowód. Podstawienie t =O we własnościach 2 i 4 z tw. 7.4.1 daje dl n> 1 równość
wynika,
Udowodnione już tw. 7.4.1 i lemat 7.4.2 -Maclaurina podanego niżej:
prowadzą
części:
n> 2 i (7.4.3). Po 2n krokach otrzymujemy następujący wzór:
{1 f(t) dt = .!_[f(O) + f(l)] - tB2k(O) [!(2k-1)(1) - f(2k-l)(O)]+ Jo 2 k=l (2k)! 1 +-1 - f B2n(t)f< 2n)(t) dt. (2n)! Jo
(n> 1).
Przypuśćmy, że G ma zero w (O, 1). Wtedy, ponieważ G(O) = G(l) = o,' funkcja G' ma na mocy twierdzenia Rolle'a co najmniej dwa zera w (O, 1) Wielomian B2n-l różni się od G' tylko czynnikiem stałym, więc ma tę sa~~1 własność. Ten wielomian znika jednak także w punktach O i 1, czyli B~n:.,.{ (a więc i B2n-2) ma trzy zera w (O, 1). Rozumując tak dalej, dochodzimy do wniosku, że każdy wielomian B2k-l dla k
przez
ostępujemy tak dalej, korzystając ze znanych już równości Bn(O) = Bn(l)
o prawej stronie mamy już takie składniki jak w dowodzonym wzorze Eur!l--Maclaurina. Pozostaje wykazać, że składnik dla k = n w sumie i ostatni kładnik prawej strony, równe łącznie
'ją resztę tego wzoru. Z lematu 7.4.2 wynika, że różnica w nawiasach kwa-
do wzoru Eulera-
atowych nie zmienia znaku w (O, 1). Możemy więc zastosować twierdzenie dla całek i przekształcić otrzymane wyrażenie do postaci
względniającjeszcze, że B2n = B~n+l/(2n+l) i B2n+i(O) = B2n+i(l) =O,
trzymujemy
ostateczną postać
1. Udowodnić, że Bn(t) ~; Korzystając
z
= tn -
własnośd
reszty wzoru Eulera-Maclaurina.
~ntn-I
•
+ ... dla n > O.
2 z tw. 7.4.1,
wykazać, że
•,\
wnioskujemy,
IP+ 2P
że
+ ... + nP =
[Bp+I(n + 1) - Bp+I(O)]/(p + 1).
,!'.
fo
1
f(t) dt =
fo
1
f(t)Bo(t) dt = B1(t)J(t)1: -
fo
Wiemy też, że B1(l) = ! i B 1(0) =-!.Dlatego
rl
r
1 Jo f(t) dt = 2[f(O) + f(l)] - Jo B 1 (t)f'(t) dt.
3.
1
Wykazać, że
dla n nieparzystych wielomian Bn(x) - Bn(O) ma pojedyncze
zero ~-
B1(t)J'(t) dt. 4.
Udowodnić, że wartości
B 0 (0), B 2 (0), B 4 (0), ...
są
na przemian dodatnie
i ujemne . • Udowodnić, że wielomian Bn ma w przedziale (O, 1) co najmniej dwa zera, jeśli n jest parzyste, i co najmniej jedno zero w przeciwnym razie.
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
478
7 .5. Metoda Romberga
zie .;o E (O, 1). Związek współczynników A2k z liczbami Bernoulliego nie t tu istotny. Po odpowiednim przekształceniu zmiennej w.ynika stąd„,że.,,, .•.
Opiszemy teraz metodę całkowania numerycznego, której autorem jest R berg. Daje ona tablicę coraz lepszych przybliżeń całki J~ f(x) dx. ·.. l
Punktem wyjścia do obliczeń jest złożony wzór trapezów (7.2.4). Stosuj go, dzieląc przedział [a, b] na 2n podprzedziałów równej długości (n, ;;;i, Niech będzie 2n
R(n, O):= hn
L" f(a + ihn),
gdzie
479
7.5. METODA ROMBERGA
zie .;i E (xi, Xi+i)· Te równości dla i= O, 1, ... , 2n - 1 sumujemy stronami:
b-a
hn:=~
i=O
(7.5.5)
(przypominamy, co oznacza symbol L,": skrajne składniki sumy należy. przez 2). Najprostsze wyrażenie mamy dla n= O: ·
m-1
dzielić
R(O,O)
L
+
= ![J(a) + f(b)].
~R(n -
.(I i·,"
:\ ·1 f ( ) .
L
f(a
+ (2i -
. .. b
·:·a·
.
.
~
•.
.
.
„:c. d X= R(.n' O) +c2 h2n+c4 h4n+ ....+c2m-2 h2m-2+ ri".'' C2m h2mf(2m) n . (1:). .,, ..
ego samego typu równość (7.1.5) była pod~tawą ekstrapolacji Richardsoi tu zastosować wynild podrązdz. 7.1. Wzór rekurencyjny 7.1.7) przybiera teraz postać (7.5.3) .. '·. · : . . . . ' · . · ·. . .
2n-l
1, O)+ hn
W~anie, że biąd można wyraz;ić tak
dzie. .; E (a, b). Tematem zad. 1 jest 'kto zrobiono wyżej. Tak więc
Sumy R(l, O), R(2, O), ... obliczamy rekurencyjnie tak, aby uniknąć w· krotnego obliczania wartości funkcji f w tych samych punktach. Jeśli n•, to w R(n, O) występują m.in. wartości funkcji f, które są potrzebne dQ liczenia R(n- l, O); teraz trzeba je podzielić dodatkowo przez 2. Prócz·:t R(n, O) zawiera wartości w punktach pośrednich a+ hn, a+ 3hn, ... :
etoda Romberga wykorzystuje wzór złożony trapezów i ekstrapolację Rihardsona,_ dok;ładniej - wzory (7.5.1), (7,5.2) i (7.5.3}: Pozwalają one bliczać, np. kolejnymi 'wierszami, elementy tablicy trójkątnej ·
a
't.
'
.·'·R(O, O)
~-!
(m > O). Aby go uzasadnić, powołujemy się na wzór Eulera-Macla1ir' (tw. 7.4.3): jeśli f E C 2m[o, lj, to .
f
Jo
1
f(t) dt
R(l,O). R~2,0) . ·.
= !:_[f(O) + f(l)]+
. ·R(l'ef, O)
2
m-1 +
L
A2k[f(2k-1)(0) - f(2k-1)(1)] -A2mf(2m)(.;o),
. .„
·'
R(l, 1) R(2, 1)
R(2, 2)
(7.5.6)
:· .
R(M, 1)
R(M, 2)
.. ; • R(M, M)
) :: :-Odpowiedni algorytm jest następujący: .
k=l
·.
...
,1,1
480
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
input a,b,M h<-b-a R(O, O) <- ł(b - a)[J(a) for n = 1 to M do h <- h/2
7.6. METODY ADAPTACYJNE
L Sprawdzić, że (7.5.5) wynika z (7.5.4).
+ f(b)]
~-·Wykazać, że druga kolumna tablicy (7.5.6) zawiera liczby, które daje złożony wzór Simpsona i Milne'a).
2n-l
R(n, O) <- łR(n - 1, O)+ h L:i=l J(a + (2i - l)h) for m = 1 to n do R(n, m) <- R(n, m - 1) + [R(n, m - 1) - R(n - 1, m - 1)]/(4m , output n, m, R(n, m) ' end do end do
Potrzebna wartość M jest zwykle niezbyt duża - pamiętajmy, że al gorytm wymaga obliczenia 2M + 1 wartości funkcji. Bardziej :wyrafinowan · algorytm powinien uwzględniać możliwość przerwania obliczeń po spełni niu odpowiednio dobranego kryterium dokładności. Nie jest też koniecz11 stosowanie tablicy R z dwoma wskaźnikami. Zbieżność
Metoda Rombergajest szczególnie skuteczna, gdy funkcja f ma dostatecz11! wiele pochodnych. Jeśli f E C 2m[a, b], to wielkości R(n, m) przybliżają całk z błędem rzędu O(h 2m), gdzie h := 2-n(b- a). Jeśli jednak wiemy tylko, · f jest ciągła, to i wtedy ta metoda daje sensowne wyniki, bo każda kolumn w tablicy trójkątnej (7.5.6) jest zbieżna do całki z f: Jeśli
7.5.1.
lim R(n,m)
n-+-oo
=1b a
f
1
k
k-1
i=O
j
1
d
k
+ ih) + 2.h 2-:,J(a + ih), i=l
gdzie h := (b - a)/k. Po prawej stronie mamy tu średnią arytmetyczn dwóch sum riemannowskich dla rozważanej całki I. Z teorii całki Riemann. wynika, że każda z tych sum dąży do I, gdy k --+ oo. Druga kolumna zawier
J; x-
z tym wzorem (jest to tzw. wzór 1
dx.
'' 1. Napisać procedurę realizującą metodę Romberga dla danej funkcji f i przedziału [a, b]. Parametrem procedury powinna być też liczba wierszy tablicy (7.5.6), które mają być obliczone. Sprawdzić procedurę dla całek:
tak, aby uniknąć utraty dokładności przy odejmowaniu bliskich liczb. W razie potrzeby trzeba skorzystać z relacji f(xo) = limx-•xo f(x). W przypadku (c) przez odpowiednie przekształcenie zmiennej, np. x = 1/t, otrzymać przedział skończony całkowania. Obliczyć siedem wierszy tablicy (7.5.6).
Metody adaptacyjne Istotą
metod adaptacyjnych
całkowania
całkowania
jest to,
że własności
funkcji
podcał
~owej w różnych częściach przedziału są automatycznie uwzględniane w ob-
f(x)dx
'zytkownik podaje - w idealnym przypadku - tylko funkcję f, przedział alkowania [a, b] i dopuszczalny błąd e: szukanej wartości. Natomiast sama ·· etoda dzieli ten przedział na takie fragmenty, aby stosowanie w nich jakiejś il:Iasycznej metody dało ·w sumie dostatecznie dokładny wynik. Opiszemy teraz dokładniej typową metodę adaptacyjną. Założymy, że f E C 4 [a, b], dzięki czemu można stosować wzór Simpsona (7.2.6) z błędem (7.2.7): ft
rv
j~ f(x) dx
wielkości
=
związane
ADANIA KOMPUTEROWE 7.5
1b
i=O
R(3, 3) nie jest
3. Metodą Romberga obliczyć R(2, 2) dla
f(x)dx.
h 2-:,"J(a + ih) = 2.h]:, f(a
że
liczeniach; podobne metody aproksymacji naszkicowano w podrozdz. 6.14. tosując taką metodę do obliczania całki
E C[a, b], to
Dowód. Pierwsza kolumna tej tablicy zawiera przybliżenia, które odpowiednich k można wyrazić w postaci
R(n, 1)
i
,metody Romberga
TWIERDZENIE
481
CAŁKOWANIA
= S(u, v) -
4 1 JR( n, O) - JR( n - 1, O),
więc limn->oo R(n, 1) =~I - łI =I. Tak samo rozumujemy dla następnyc, kolumn.
S(u,v) :=
~
1 2880
(v - u) 5 JC 4 )(Ę,),
[!(u)+ 4f (u; v)
+ f(v)], Ę, E (u, v).
(7.6.1)
482
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
7.6. METODY ADAPTACYJNE
Jeśli w pewnym przedziale [u, v] wzór Simpsona nie jest dostatecznie dokł ny, to przedział dzielimy na połowy i tenże wzór stosujemy w każdej z W razie potrzeby tq postępowanie iterujemy aż do osiągnięcia odpowiecl ' globalnej dokładności. Ostatecznie więc dochodzimy do równości
483
CAŁKOWANIA
tasujemy go jako (na ogół przesadnie:pesymistyczne),oszacowanie błę- .. alej prawej strony. Dlatego, zgodnie z (7.6.2), uznajemy, że to najlepsze ybliżenie jest dostatecznie dokładne, jeśli
Znamy już pomysł zastosowany w metodzie adaptacyjnej. Obliczenia od przedziału [a, bJ. Dla niego (i dla wszystkich podprzedziarozważanych dalej) zapamiętujemy w tzw. stosie, na początku pustym, tępujący wektor o sześciu składowych: ·· ynają się
gdzie ei jest błędem przybliżenia S(xi-1' Xi) całki w odpowiednim podpr dziale. Jeśli
v := (a, h, f(a), f(a
+ h), f(a + 2h), S(a, b)),
gdzie
h := !(b - a).
(7.6.6) to globalny
błąd można oszacować
tak:
Jeśli w pewnym przedziale [u, v] wzór (7.6.1) jest za mało dokładny1 - jak już zapowiedziano - przedział dzielimy na połowy za pomocą p w := (u + v) /2 i w każdej z nich stosujemy ten sam wzór:
1v
f(x) dx
=
1w
f(x) dx
+
Lv
f(x) dx
·.(a, h/2, f(a), f(y), f(c), S(a, c)),
=
(c,·h/2; f(c), f(z), f(b), S(c, b)),
1 1 ' = S(u, w)+ S(w, v) - 2880 (w - u)5 !(4)(6) - 2880 (v - w)5 j(4)(Ę,i>
= S(u, w)+ S(w, v)
-
46~80 (v -
u) 5 j< 4 >(Ę,'),
gdzie Ę,' E (u, v). Ostatnia równość jest prawdziwa dzięki założonej ci ści pochodnej j(4 ). W metodzie adaptacyjnej przyjmujemy, że zmieni11,1 ona na tyle wolno, iż można ją uznać za stałą w dostatecznie małych p·, działach. To pozwala wyeliminować składniki z tą pochodną występ · w (7.6.1) i (7.6.3). W tym celu mnożymy drugą równość przez 16 i odej jemy stronami pierwszą:
1 u
v
f(x)dx
ybliżona wartość S(a, b) całki wyraża się przez składowe od trzeciej do tej tego wektora. Następnie obliczamy c := a + h, S (a, c) i S ( c, b). Aby nić, czy można już zakończyć obliczenia, sprawdzamy nierówność (7.6.5) :,_b, c zamiast u, v, w. Jeśli jest ona spełniona; to sumę podobną do prawej ny (7.6.4) uznajemy za dostatecznie dobre przybliżenie wartości całki 'i1.czymy obliczenia. W przeciwnym razie wekto.r (7.6.6) usuwamy ze stoa dołączamy doń dwa nowe wektory:
~ S(u,w)+S(w,v)+~[S(u,w)+S(w,v)-S(u,v)] 15
(7.i .
(takie postępowanie znamy już z ekstrapolacji Richardsona). . Mamy teraz trzy przybliżenia tej całki: zapewne najgorsze s (u, V)" r sze S(u, w)+ S(w, v) i najlepsze, czyli całą prawą stronę równości (7.6; Jej ostatni składnik jest z grubsza błędem przybliżenia S(u,w) + S(_w 1
gdzie gdzie
+ h/2, z := c + h/2. y := a
ważmy, że wymaga to obliczenia tylko dwóch nowych wartości funkcji, unktach y i z. .. W d.alszym ciągu postępujemy podobnie, wystarczy zatem dodać tylko inform:acji: · •. w każdym momencie obliczeń stos zawiera dane tylko o tych pod' przedziałach, w których jeszcze nie znaleziono dostatecznie dobrych
·
1
'·przybliżeń całki. r
· Dopóki stos nie jest pusty, algorytm bada przybliżenia • dziale opisanym za pomocą ostatniego wektora.
całki
w prze-
• .Użytkownik ustala maksymalną liczbę n wektorów na stosie; jej przekroczenie świadczy o niemożności obliczenia całki z wymaganą dokład nością.
.• w algorytmie wy~tępuje zmienna 6, ktÓrej ~~cząt~ąwą ~~rtością jest o
.i do której dodajemy każde ń.o~e, dostatęcznie d.obre prŻybliżerife całki W: w ".badanym podprzedziale. W. razię pomyślnego zakończenia obliczeń · wartość tej zmiennej jest s~ukany:fu przybliżeniem'dla całki
J; f(x) dx.
I II !
''~l"'r
484
7.7. TEORIA SARDA APROKSYMACJI FUNKCJONAŁÓW
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
Niżej podano algorytm zgodny z już podanymi informacjami. Przy.;/ w nim, że stos zawiera wektory v< 1), v< 2 ), •.. ; składowymi wektora v(~ • (k) (k) hczby v 1 , ... , v 6 „
input a, b, c, n d <- b - a; 6 <-O; h <- d/2; c <- (a+ b)/2; k A<- f(a); B <- f(b); C <- f(c) S <- h(A + 4C + B)/3 v< 1> <- (a,h,A,C,B,S) while 1..;; k..;; n h <- v~k) /2 Y <- f(vik) + h) S' <- h(v~k) + 4Y + vik»/3 Z<- f(vik) + 3h) S" <- h(vik) + 4Z + v~k»/3 ó <- S' + 8 11 - v~k) if lól < 60ch/d then 6 <- 6 + S' + S" + ó/15 k<-k-1 if k = O then output 6; exit
else if k = n then output niepowodzenie; exit V<- v(k) 5
v
W tej 'Yersji algorytmu stos występuje w jawnej postaci. W progra 1 opartym na takiej wersji składowej v]k) odpowiada element dwuwymi~, wej tablicy. W pewnych językach programowania jest istotne, żeby j b · pierwszym wskaźnikiem, bo wtedy składowe ustalonego wektora są parni tane w sąsiednich komórkach pamięci. Nie musimy jednak w ogóle korzyst' z tej wersji, bo metoda adaptacyjna jest w istocie rekursywna, a w wi szości języków programowania procedura może wywoływać nią samą. zaczynamy od przybliżenia całki w całym przedziale [a, b]. Jeśli to nie~ pewnia zadowalającej dokładności, wywołujemy dwukrotnie tę samą pro
485
1. Kryterium (7.6.2) dotyczy lokalnego błędu bezwględnego. Zaprojektować takie kryterium, które pozwoliłoby uzyskać zadowalająco mały błąd względny: n
b
(I •
<- 1
,
b
", 11 f(x)dx-t;S(xi-i.xi)l ..;;i;l1 f(x)dxl. 'jj
...• Niech metoda adaptacyjna opiera
r
i
fu f(x) dx
= T(u, v) ,-
się
na wzorze trapezów:
1 (v - u) 3 J"(~"), 12
T(u, v) :=
I,
1
2(v -
u)[J(u)
+ f(v)].
Znaleźć dla tego przypadku odpowiednik wzoru (7.6.4). . Czy złożony wzór trapezów może być podstawą metody adaptacyjnej wania?
ADANIA KOMPUTEROWE
7.6
Zaprogramować podany w tekście algorytm metody adaptacyjnej i go dla całek 1 (a) f 0 x 112 dx, (b) J;(1 - x) 112 dx, (c) f 0\1 - x) 114 dx. 2. Zaprogramować metodę adaptacyjną jako procedurę rekursywną.
1.
:~ 7.
całko
Teoria Sarda aproksymacji
sprawdzić
funkcjonałów
nkcjonał liniowy w przestrzeni liniowej .jest jej liniowym odwzorowaniem a przestrzeń skalarów, którą w tej książce jest zwykle llł. Ważnym przykła ; em funkcjonału liniowego w przestrzeni C[a, b] jest całka z funkcji f:
cp(f) :=
Lb f (x) dx
(f E C[a, b]).
(7.7.1)
praktyce numerycznej jedyne funkcjonały, które można bezpośrednio obf na kombinację liniową jej wartości w ustaloych punktach:
iczać, odwzorowują funkcję
n
'I/;=
L
CiXi,
gdzie
x(f) := f(x).
i=O
Inne funkcjonały, np. (7.7.1), trzeba przybliżać za pomocą funkcjonałów po@obnych do 'lj;. To właśnie się robi w metodach różniczkowania i całkowania pumerycznego. Spójną teorię aproksymacji funkcjonałów opracował Arthur Sard w la, ach 1940-1970. Jego teoria obejmuje w ciekawy sposób naturalne funkcje klejane.
486
7. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE
7.7. TEORIA SARDA APROKSYMACJI FUNKCJONAŁÓW
Funkcjonały, jakie będziemy aproksymować, są określone na przestr · ni GN[a, b] i mają postać ' N
L [j
cp(f) :=
i=O
b
f(x)
l
ai(x)f(i)(x) dx
+ L, ,Bijf(i)(Zij)].
a
1
Km(t) := - 1 'Px[(x - t)+J, m. gdzie m ~ N; wskaźnik x oznacza, że funkcjonał działa na funkcję zmien nej x, a
r d Ki(t) = 'Px[(x - t)~] =Jo (cosx) dx (x - t)~ dx =
i
1b
. Rozwiązanie. Warunek nałożony na 'ljJ oznacza, że różnica cp - 'ljJ anihiuje II1. Stosując metodę nieoznaczonych współczynników (podrozdz: 7.2), rzyjmujeJfiy, że f(x) := 1 i f(x) := x, co odpowiednio daje równania
więc
fo'lr (cosx)(x - t)~ dx =
1b
7.7.3. Dla
'.= fo
cpcf)
(m ~ 1),
I
przestawić kolejność całkowania):
okładne. "\"' .
d
a
.
cp anihiluje IIm, więc cp(f) = cp(r). Dla funkcjonałów cp określonych zorem (7.7.2) można zastosować pewne twi~rdzenia analizy matematycz.ej, ,które pozwalają wprowadzić funkcjonał ip pod znak całld (tj. w szcze-
że
fo'lr (cos x)f'(x) dx,
~
a
nieważ
PRZYKŁAD
cp taki,
jx f(m+l)(t)(x - t r dt = 2_ jb f(m+l)(t)(x - t)+ dt. .
cp(r) =:__!__ m!
Rozwiązanie. Ponieważ
Poniższe
1
~(.x) := 2_
(x ~ t) (x < t).
wynika z (7.7.2) dla N= 1, ao(x) :=O, a1(x) := cosx il= O. Jakie jes w tym przypadku jądro Peana K 1?
=
m
L, -
=
że
j=l
Funkcje CTi są Z założenia przedziałami ciągłe W przedziale (a, b], l je~t d• wolną liczbą całkowitą nieujemną, a punkty Zij należą do tegoż przedziaf Mówimy, że funkcjonał cp anihiluje przestrzeń W, jeśli cp(f) = O dl każdego f EW. Jądrem Peana funkcjonału (7.7.2) jest każda z funkcji
PRZYKŁAD
Dowód. Z twierdzenia 1.1.7 wynika,
487
.
1
r (x lt
t)x'"'" 112
.
..
2
3
dx - -(1 - t) 3
. 4
= -t(t1! 2 3
1).
··· 1\Jl!1~fl,'' ·lj~"'' i{, '(F
488
7.
RÓŻNICZKOWANIE I CAŁKOWANIE
Dlatego, na mocy tw. 7.7.2 zastosowanego do
funkcjonału
489
7.7. TEORIA SARDA APROKSYMACJI FUNKCJONAŁÓW
NUMERYCzNE
Jądrem Peana funkcjonału
cp - 'lj;,
e := cp o L -
'ljJ = (cp - 'lf;) - (cp - cp o L) jest
~ m := Km - Km. Oczywiście 1
f x- 1i 2f(x) dx - [i f(O) lo 3
+ ~ f(l)]
=i f 3 Jo
3
1
t(t 112 - l)J"(t) dt. Km(t) =
Otrzymaliśmy dokładne wyrażenie błędu aproksymacji wartości cp(f) za p; mocą 'lf;(f), poprawne, gdy f E 0 w [O, 1], więc tw. 1.2.l daje równość
2 (0,
1
l]. Ponieważ jądro jest niedodatn
~ Bx[(x - t)+J. m.
(7.7.4)
1;{"
~śll {s0 , s1, ... , sn} jest taką bazą rozważanych tu naturalnych funkcji skleanych, że Si (tj) = Óij, to p~ ' n
i t(t 112 - 1)f"(t) dt =i J"(ĘJ t(t 112 - 1) dt 3 lo 3 Jo 1
1
r
r
= -~ rc1:J.
Lf
=
15
cp - 'ljJ dwóch funkcjonałów identycznych na IIm anihilujei przestrzeń. Jeśli Km jest jądrem Peana tej różnicy, to z nierówności Ca:'· chy'ego-Schwarza wynika, że
L f(ti)Si. i=O
Różnica
u:
gdzie 119112 := g 2(x) dx) 112 . Jeśli anihilacja przestrzeni IIm nie określ jednoznacznie parametrów funkcjonału 'lj;, to można je dobrać tak, aby nor ma llKmll2 była minimalna. Wtedy funkcjonał 'ljJ najlepiej aproksymuje w sensie Sarda. Schoenberg udowodnił, że te najlepsze przybliżenia moż na otrzymać w dość prosty sposób opisany w poniższym twierdzeniu. Użj, warny w nim symbolu cp o L dla złożenia funkcjonału cp z operatorem· :rJ (cp o L)(f) := cp(Lf).
7.7.4 (ScHOENBERG). Niech cp będzie funkcjonałem liniowi/ postaci (7.7.2). Jeśli węzły ti są takie, że a= to < ti < ... < tn-1 tn = b, gdzie n > N, to w zbiorze wszystkich funkcjonałów L::f=o Ci identycznych z cp na IIm najlepszym przybliżeniem dla cp w sensie Sar da jest funkcjonał cp o L, gdzie L jest operat~rem liniowym, który prze kształca daną funkcję na interpolującą ją w węzłach naturalną funkcj sklejaną stopnia 2m + 1. TWIERDZENIE
Dowód. Niech Km będzie jądrem Peana funkcjonału cp - 'ljJ anihilują-'.'. cego IIm. Ponieważ wielomiany tej klasy są zarazem naturalnymi funkcja~· sklejanymi stopnia 2m + 1, więc Lp = p dla p E IIm. Dlatego funkcjona cp - cp o L także anihiluje IIm. Niech Km będzie jego jądrem Peana. Maniy udowodnić, że
B(f)
= cp(Lf) -
'lf;(f)
=
n
n
n
i=O
i=O
i=O
L f(ti)cp(si) - L cd(ti) = L 1d(ti)
że wartości jądra Km wyrażają się wzorem
(7.7.5) Niech g będzie taką funkcją, że g(m+l) =Km. Wtedy g< 2m+l) = K!;:'); 'est to funkcja przedziałami stała, czyli sklejana stopnia O. Wobec tego g jest fynkcją sklejaną stopnia 2m+ 1, z węzłami ti. Sprawdzimy, że jest ~o funkcja ri'aturalna. W tym celu zauważmy najpierw, że wobec (7.7.5) jest Km(t) =O dla t ~ b, a zatem g(m+l)(t) =O dla tychże t. Jeśli natomiast t
Km(t) Ponieważ