SlideShare ist ein Scribd-Unternehmen logo
1 von 354
Downloaden Sie, um offline zu lesen
W przekładzie
i pod redakcją
STEFANA PASZKOWSKIEGO
DAVID KINCAID
WARD CHENEY
(
analiza
nu111e19Yczna
' i •:-„ t':. „ '
J ·.' -.~: • „
Wydawnictwa Naukówo-Techniczne
Warszawa
'
i:'.
Spis treści
Od tłumacza i redaktora przekładu
Oznaczenia i konwencje
Przedmowa ..
Podziękowania
Czym jest analiza numeryczna?
1. Narzędzia matematyczne ..
1.0. Wstęp .......... .
1.1. Podstawowe pojęcia i wzór Taylora
1.2. Rząd zbieżności i inne podstawowe pojęcia .
1.3. Równania różnicowe ..
2. Arytmetyka komputerowa . . . . .
2.0. Wstęp . . . . . . . , . . . . . .
2.1. Arytmetyka zmiennopozycyjna
2.2. Błędy bezwzględne i względne. Utrata cyfr znaczących
2.3. Algorytmy stabilne i niestabilne. Uwarunkowanie
3. Rozwiązywanie równań nieliniowych . . .
3.0. Wstęp .................. .
3.1. Metoda bisekcji (połowienia przedziału)
3.2. Metoda Newtona . . . . . . . . .
3.3. Metoda siecznych . . . . . . . . . . . .
3.4. Punkty stałe i metody iteracyjne . . .
3.5. Obliczanie pierwiastków wielomianów
3.6. Metody homotopii i kontynuacji . . . .
4. Rozwiązywanie układów równań liniowych
4.0. Wstęp ..... .
4.1. Algebra macierzy . . . . . . . . . . . . . .
4.2. Rozkłady LU . . . . . . . . . . . . . . . .
4.3. Eliminacja Gaussa z wyborem elementów głównych .
4.4. Normy i analiza błędów . . . . . . . . . . . . . .
4.5. Szeregi Neumanna i poprawianie iteracyjne ...
4.6. Rozwiązywanie układów metodami iteracyjnymi .
xi
XV
. xvii
. xxi
. xxv
1
1
1
11
22
33
33
33
46
54
63
63
65
71
84
91
99
. 121
. 131
. 131
. 132
. 143
. 157
. 178
. 188
. 198
VIII SPIS TREŚCI
4.7. Metody najszybszego spadku i sprzężonych gradientów . .
4.8. Analiza błędów zaokrągleń w metodzie eliminacji Gaussa
. 223
. 235
5. Inne działy numerycznej algebry liniowej . 245
5.0. Przegląd podstawowych pojęć ..... .
5.1. Metoda potęgowa dla zadania własnego
5.2. Twierdzenia Schura i Gerszgorina ....
5.3. Ortogonalizacja i zadanie najmniejszych kwadratów
5.4. Rozkład względem wartości szczególnych i pseudoodwrotność
5.5. Metoda QR obliczania wartości własnych
6. Aproksymacja funkcji . . . . . .
6.0. Wstęp ........... .
6.1. Interpolacja wielomianowa .
6.2. Ilorazy różnicowe . . . . . .
6.3. Interpolacja Hermite'a ...
6.4. Interpolujące funkcje sklejane
6.5. Podstawy teorii funkcji B-sklejanych
6.6. Zastosowania funkcji B-sklejanych
6.7. Szeregi potęgowe ......... .
6.8. Aproksymacja średniokwadratowa
6.9. Aproksymacja jednostajna ... ·. .
6.10. Interpolacja funkcji wielu zmiennych
6.11. Aproksymacja wymierna .....
6.12. Interpolacja trygonometryczna .
6.13. Szybkie przekształcenie Fouriera
6.14. Metody adaptacyjne ...... .
7. Różniczkowanie i całkowanie numeryczne .
7.1. Różniczkowanie numeryczne i ekstrapolacja Richardsona
7.2. Interpolacja w całkowaniu numerycznym ..... .
7.3. Kwadratury Gaussa . . . . . . . . . . . . . . . . .
7.4. Wielomiany Bernoulliego i wzór Eulera-Maclaurina
7.5. Metoda Romberga ........... .
7.6. Me~ody adaptacyjne całkowania . . . . . . . . . . .
7.7. Teoria Sarda aproksymacji funkcjonałów ..... .
. 245
. 247
. 255
. 263
. 277
. 287
. 297
. 297
. 297
. 311
. 319
. 328
. 341
. 352
. 362
. 366
. 377
. 393
. 410
. 428
. 433
. 441
. 447
. 447
. 457
. 468
. 474
. 478
. 481
. 485
8. Rozwiązywanie numeryczne równań różniczkowych zwyczajnych 493
8.0. Wstęp . . . . . . . . . . . . . . . . . . 493
8.1. Istnienie i jednoznaczność rozwiązań . 493
8.2. Zastosowanie wzoru Taylora . . 496
8.3. Metody Rungego-Kutty . . . . . . . . 503
8.4. Metody wielokrokowe . . . . . . . . . . 511
8.5. Błędy lokalne i globalne. Stabilność . . 517
8.6. Układy równań. Równania wyższego rzędu. . 523
8.7. Zagadnienia brzegowe . . . . . . . . . . 529
8.8. Zagadnienia brzegowe: metody strzału . . . . 534
)1
·"
8.9.
8.10.
8.11.
8.12.
SPIS TREŚCI
Zagadnienia brzegowe: różnice skończone .
Zagadnienia brzegowe: kollokacja . . . .
Układy równań różniczkowych liniowych .
Równania sztywne . . . .· . . . . . . . . .
ix
. 540
. 543
. 546
. 557
9. Rozwiązywanie numeryczne równań różniczkowych cząstkowych 565
9.0. Wstęp . . . . . . . . . . . . . . . . . . . . . 565
9.1. Równania paraboliczne: metody jawne . . . . . . 565
9.2. Równania paraboliczne: metody niejawne . . . . 572
9.3. Zadania niezależne od czasu: różnice skończone . 578
9.4. Zadania niezależne od czasu: metody Galerkina . 581
9.5. Równania rzędu pierwszego: charakterystyki . . . 588
9.6. Równania quasi-liniowe rzędu drugiego: charakterystyki . 595
9.7. Inne metody dla zagadnień hiperbolicznych . 604
9.8. Metody wielosiatkowe . . . . . . . . . . . . . 611
9.9. Szybkie metody dla równania Poissona . . . . 619
10. Programowanie liniowe i pokrewne zagadnienia
10.1. Wypukłość i nierówności liniowe
10.2. Nierówności liniowe ...
10.3. Programowanie liniowe .
10.4. Algorytm sympleks
11. Optymalizacja .... .
11.0. Wstęp ...... .
11.1. Przypadek jednej zmiennej .
11.2. Metody spadku ....... .
11.3. Analiza funkcji kwadratowych celu
11.4. Algorytmy aproksymacji kwadratowej
11.5. Algorytm Neldera-Meada
11.6. Wyżarzanie symulowane
11.7. Algorytmy genetyczne ..
11.8. Programowanie wypukłe .
11.9. Minimalizacja z warunkami
11.10. Optymalizacja Pareto
Bibliografia
Skorowidz .
. 625
. 625
. 632
. 638
. 643
. 653
. 653
. 655
. 658
. 661
. 663
. 664
. 665
. 666
. 667
. 668
. 669
. 671
. 685
~ „....
Od tłumacza i redaktora przekładu
Dostępne w Polsce podręczniki analizy numerycznej, jak (włączone do bi-
bliografii) 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 numerycz-
nych 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 cza-
sopisma 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 ana-
lizy 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 tyl-
ko 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 nume-
rycznymi.
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 - spo-
ro zmian nienaruszających oczywiście autorskiej koncepcji książki, ale ma-
ją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 roz-
ważania, zbędne dla czytelników ze standardowym poziomem wiedzy ma-
tematycznej. Dowody kilku twierdzeń zastąpiłem prostszymi lub bardziej
xii OD TŁUMACZA I REDAKTORA PRZEKŁADU
naturalnymi. W kilku miejscach przestawiłem fragmenty tekstu, np. po-
przedził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ól-
ną 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ę ad-
resów kilkudziesięciu stron z informacjami o towarzystwach naukowych, cza-
sopismach, programach, wykładach itd. z dziedziny analizy numerycznej;
informacje na ten temat zawiera przypis do przedmowy autorów.. Z po-
dobnych powodów usunąłem też z podrozdz. 2.1 fragment o hipotetycz-
nym 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 me-
toda 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 prze-
kazał 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 in-
ne; byli to: prof. Edward Neuman, dr Andrzej Wakulicz i mgr inż. Tymon
·'
OD TŁUMACZA I REDAKTORA PRZEKŁADU xiii
Godzwon. Dzięki uprzejmości personelu Biblioteki Instytutu Matematycz-
nego 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
"
l .·„:
.::o.··. :•' ' ~(' „. 
' .
. • • ~ „ .
'.'
i.' ....
I
·,,.
„.
1.
· Oznaczenia i konwei1cje
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-+
x2 -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 Kroneckera, rów~a 1 dl~· j :: k i Odla 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
k=m
n
IT Bk := 1 dla m = n - 1
k=m
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 ma-
gisterskich na University of Texas w Austin. Te wykłady wprowadzały stu-
dentów w dziedzinę algorytmów i metod najczęściej potrzebnych w oblicze-
niach 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 in-
formatyki oraz studenci różnych typów studiów magisterskich. Fragmenty
książki stanowiły też podstawę wielu wykładów poświęconych poszczegól-
nym działom analizy numerycznej, takim jak rozwiązywanie numeryczne
.równań różniczkowych, metody numeryczne algebry liniowej i teoria aprok-
symacji. Nasze podejście polegało zawsze na traktowaniu przedmiotu z ma-
tematycznego punktu widzenia; pokazywaliśmy szeroką paletę twierdzeń,
dowodów i ciekawych pomysłów. Wynika stąd wiele procedur numerycz-
nych i intrygujących problemów analizy numerycznej. Oczywiście, motywo-
wał 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; po-
pieramy jednak bez zastrzeżeń korzystanie ze starannie sprawdzonego opro-
gramowania, 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 studen-
tó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. Ni-
niejsza książka zaś jest przeznaczona do wykładu dającego bardziej akade-
mickie 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 stan-
dardowych podręcznikach na tym poziomie. Do tej kategorii należą metody
wielosiatkowe, procedury interpolacji funkcji wielu zmiennych, metody ho-
motopii (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 progra-
my komputerowe. Zapewne nie będą one zawierały wszystkich skomplikowa-
nych 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 pro-
gramują i testują, niż wtedy, gdy tylko korzystają z programu biblioteczne-
go. 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) 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 po-
minął więc kilka następnych wzmianek o tym dodatku (przyp. tłum.).
2
JChodzi 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.).
·
PRZEDMOWA xix
wadziliśmy wiele innych ulepszeń. W szczególności w tym nowym wydaniu
dodaliśmy rozdział o optymalizacji z takimi tematami, jak metody spadku,
algorytmy przybliżania kwadratowego, algorytm Neldera-Meada, symulo-
wane wyżarzanie, algorytmy genetyczne, optymalizacja Pareto i programo-
wanie 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 nu-
merycznej algebry liniowej. Ze względu na obszerny zakres tematów lek-
tura 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ąć.
.',• ·..
•.'
„
.. „.„-~·
'. ,>. •. „
··: ;'
Podziękowania
Z radością wyrażamy naszą wdzięczność wielu osobom, które towarzyszyły
;· nam przy pisaniu tej książki.
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 Ma-
tematyki, która przepisywała w 'TEX-u niezliczone wersje każdego podroz-
dział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'Ar-
changelo, 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 suge-
stie. 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 Bru-
ce, 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 Pu-
blishing 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
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 Bo-
ley z University of Minnesota, Min Chen z Pennsylvania State University,
John Harper z University of Rochester, Ramon Moore z Ohio State Univer-
sity, Yves Nievergelt z Eastern Washington University i Elinor Velasquez
z University of California-Berkeley. Szczególnie dziękujemy Ronovi Boisver-
towi za wyjaśnienie nam różnych kategorii oprogramowania matematycz-
nego 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. Aw-
wal, 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.
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-lfing
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, Sha-
shankowi 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.
:·:
.·
PODZIĘKOWANIA XXlll
, ~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 wszel-
ką 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 skontakto-
wać, za wszystkie komentarze, sugestie, P)'tania, uwagi krytyczne lub po-
prawki.
,•.
,'·!.
.·
. ,.,
.. . ' '
„•
~ .~„ •.
··... . .·.;
David Kincaid
Ward Cheney
..c.
li'
I
'
"
Ir
. ,i„
:fi'
,,
I
J
1
!
J
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ą obli-
czeń naukowych1).
Badane przez nas algorytmy są nieuchronnie przeznaczone do stoso-
wania na szybkich komputerach i dlatego pewien decydujący etap musi po-
przedzać 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 pro-
grą.mowanie pozostaje poza obrębem analizy numerycznej w ścisłym sensie
tego terminu.
Poza rozwiązywaniem numerycznym zadań matematycznych kompu-
tery mają oczywiście wiele innych zastosowań, jak komunikacja, tworzenie
wielkich baz danych, gry, „surfowanie" w sieci, pisanie powieści, rachunko-
wość itd. Rozwiązywanie zadań matematycznych numerycznie na kompute-
rze - to obliczenia naukowe. Tworzenie odpowiednich algorytmów (proce-
dur) i badanie ich własności - to matematyka obliczeń naukowych.
Konstrukcja algorytmu jest nierzadko stymulowana przez konstruktyw-
ny 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ę przypuszcza-
jąc, że są one fałszywe i dochodząc poprzez logiczne rozumowanie do sprzecz-
ności. Nie każdy jednak konstruktywny dowód prowadzi do efektywnego al-
gorytmu. 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ń.
1) W polskiej literaturze matematycznej ta nazwa nie jest używana, natomiast dawne
podręczniki analizy numerycznej (np. wymienione w dodatkowej bibliografii od tłumacza)
miały w tytule metody numeryczne (przyp. tłum.).
xxvi CZYM JEST ANALIZA NUMERYCZNA? CZYM JEST ANALIZA NUMERYCZNA? XXVll
Wielkości h i k są tu odległościami sąsiednich punktów siatki, odpowiednio
Jako przykład luki między twierdzeniem o istnieniu i rozwiązaniem nu-
merycznym zadania ro~ważmy wszechobecne równanie macierzowe Ax =
Wiemy, że ma ono jedyne rozwiązanie, jeśli tylko macierz A jest nieosobli-
::»;„.lill!1i1>'1<c•'·'···'·" ·•w kierunku t i w kierunku x. -Zmiana symbolu-funkcji na v przypomina, że
wa. To jednak jest niewielką pociechą, gdy stajemy przed wielkim układem
liniowym zawierającym dane empiryczne i chcemy znaleźć numerycznie jego
przybliżone rozwiązanie.
W tej książce będziemy z reguły zaczynać każdy temat od tych pod-
stawowych 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>.
Na 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:
av(x, t) 1
at ~ k[v(x, t +k) - v(x, t)],
a2v(x, t) 1
ax2 ~ k2 [v(x +h, t) - 2v(x, t) +v(x - h, t)].
2) 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.):.. ,
·'
•• • >
...
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
. vi;ji1 = SVi-1,j +. (1 ....:. 2s)Vij +SVi+l,j'
gdzie s = k/h2
• Dzięki niemu możemy tworzyć rózwiązanie numeryczne, po-
suwają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 prze-
widywać 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.~;<~,.. ';~~ •' ' • •„ •' .„ ··~/: ,'' '.':•'·
.. -.: l-J+i: ='.AV/ . .„ :' .•
.A jest. tu· pewną macierzą trójprzekątniową, a Vj = (vji, Vj2, ... ,'Vjn)· Dla
każdej 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.
·,
·.
• ~ • • ~; •'I.' .'o
„·
•.·.. „.
• .
,, ..·· .„..
.
·•.
..
,'"'.!-.·,
~ ., . .....
. ..
- .·, ..· .
"
„
··„
ROZDZIAŁ 1
Narzędzia matematyczne
1.0. Wstęp
.Rozdział zaczyna się od przeglądu kilku ważnych tematów analizy matema-
tycznej, które będą potrzebne w następnych rozdziałach. Zachęcamy czytel-
nikó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 za-
pytać: Dlaczego 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 od-
grywa fundamentalną rolę w wielu procedurach numerycznych i stanowi
doskonały punkt wyjścia do studiowania obliczeń naukowych, gdyż nie od-
wołuje się do zaawansowanych pojęć matematycznych.
Granica, ciągłość i pochodna
Jeśli 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:
2 1. NARZĘDZIA MATEMATYCZNE
równość
lim f(x) = L
x-~c
oznacza, że dla każdego c dodatniego istnieje takie ó dodatnie, iż odl~głość
między f (x) i L jest mniejsza odc, jeśli odległość między x i c jest doc)atnia
i mniejsza od ó, czyli
lf(x) - LI < c, jeśli O< lx - cl < ó.
Jeśli żadna liczba L nie ma takiej własności, to granica funkcji f .w c nie
istnieje.
-3 3 X
RYS. 1.1. y = f(x) := x2
Korzystając z definicji granicy, można sprawdzić, że np.
lim x2
= 4
X->2
(rys. 1.1). Natomiast funkcja
g(x) :=Et ={ 1, .~e~l~ x >O
x -l, Jesh x<O
(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 Ogranicę lewostronną, równą -1, i prawostronną, równą~
(przyp. tłum.).
,.ł.
1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA 3
y
y=l
o X
.·
...
y=-1'
RYS. 1.2. y =g(x) :=.lxl/x
Tak.więc funkcjaf(x) = x2
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ść Dar-
r 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" .·• . . • .' . . ' .. ·• .
•• • „ . • •ł • •
Pocf:o1ną funkcji f w .c (jeśli.istnieje) okreŚlamy wzorem
J'(c) :=lim f(x) - f(c) ..
' X->C X~ 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
~ .:~·„.': : ·, < • ' • ~ „ „~·=. .·: .·· .
f(x):=·lxl, . · ' :·
.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ł ozna-
.czamy. G(llł).. Zbiór funkcji, dla których pocJ?.Ód;na i jest wszędzie ciągła,
oznacŻamy C1
(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 C1 (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. n
;·..". :: 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
• > ·'.„ • '•', '„• •
• , ·, J "! ' ' a ' '
C2
(llł) c C1
(R) c C(R).
.„ ·•
[I. 'lifl!!llW~~
i.
t
4 1. NARZĘDZIA MATEMATYCZNE
y
'··
X
RYS. 1.3. y = f(x) := jxj
Określony właśnie zbiór jest podzbiorem właściwym zbioru C1
(llł), bo ist-
nieją funkcje różniczkowalne tylko raz; tak jest dla f(x) = x2 sin(l/x).
Podobnie definiujemy, .dla dowolnej liczby naturalnej n, cn(llł) jako
zbiór wszystkich funkcji mających n-tą pochodną ciągłą. Na koniec, C00
(llł)
jest zbiorem funkcji mających wszystkie pochodne ciągłe. Jest
c00
(llł) c ... c C2
(llł) c C1
(llł) c C(llł).
Znaną funkcją 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].
Wzór Taylora
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.
TWIERDZENIE 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]
gdzie dla pewnego punktu e leżącego między C i X
E (x) = l f(n+l)(e)(x - cr+i.
n (n+ 1)!
(1.1.1)
Wyrażenie 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 < e< X,
albo X < e< c, zależnie od wa;t~Ści Ci X (przypadek X= C można pominąć).
1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA 5
W ważnym szczególnym przypadku, gdy c =O, wzór (1.1.1) nazywamy
wzorem Maclaurina dla f (x):
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
oo (-l)lc
sin x = L x2k+l
k=O (2k +1)!
(-oo< x <oo),
oo ( l)k
cos x = L ----x2k
k=O (2k)!
(-oo< x <oo),
oo (-l)k-1
log(l+x)=l=: xk
k=l k
(-1<lxl<1),
_1_ = f (-l)kxk
l+x k=O
(-l<x<l).
Są to przykłady szeregów potęgowych (zob. podrozdz. 6.7).
PRZYKŁAD 1.1.3. Korzystając z tw. 1.1.2, podać wzór Taylora dla
f(x) := logx
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 (k >1).
Oczywiście dla x = 1 mamy równości
f(k)(l) = (-l)k-l(k -1)! (k >1),
logx. Mamy
jest też j(O)(l) = /(1) =log 1 = O. Uwzględniając to wszystko we wzorze
Taylora (1.1.1), otrzymujemy wyrażenie
n (-l)k-1
logx = L k (x - l)k + En(x) (1 <x <2),
k=l
gdzie
•
6 1. NARZĘDZIA MATEMATYCZNE
W wyrażeniu otrzymanym dla log x suma I:~=l jest wielomianem..
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. Za-
uważmy, Że ten składnik nie jest wielomianem, gdyż ezależy od X W sposób
niewielomianowy. . ..
Wzór Taylora pozwala obliczać przybliżone wartości funkcji w konkret-
nych punktach. We wzorze dla logarytmu, tj.
1 1 (-1r-1
logx = (x-1)-
2(x-1)2
+
3
(x-1)3
-.„+ n (x-lr+En(x),
mamy
IEn(x)I = n:1c<n+l)(x - 1r+l < n:1(x - 1r+l,
gdyż 1 < e i e-(n+l) < 1.
PRZYKŁAD 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?
Rozwiązanie. Dla x = 2 mamy
n ( l)k-1
log2 = L - k + E11 (2),
k=l
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
średniej:
TWIERDZENIE 1.1.5. Jeśli f E C[a, b] i jeśli f' istnieje w przedziale otwar-
.. „'
tym (a, b), to dla x i cz przedziału domkniętego [a, b] jest · ·, ,
' • ~ !
f(x) = f(c) + !'(e)(x - c),
gdzie e leży między C i X.
„
...: ,: „:· .
·~ ·.:.
' • I ·„
·..;. ;··'(
·.• '
„
.. ,
.• :.·
1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA 7
Dla x = b i c = a wynika stąd wa$na równość
·"'' 'f(b)'~}(a) = J'(e)(b- a);• gdzie''··a::.:::t <b,
a to daje wyrażenie przybliżone dla f'(x):
·.. .f'(x).'Rj f(x + h) - J(x - h);
. . ~ ~
rozważamy je w podrozdz. 7.1.
Szczególnym przypadkiem twierdzenia o wartości średniej jest twier-
dzenie Rolle'a:
TWIERDZENIE 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
!'Ce)= o.·
wobu ostatnich twierdzeniach może istnieć więcej niż jeden punkt e
.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:
..
TWIERDZENIE,1.1.7. Jeśli f E cn+l[a, bj, to dla dowolnych punkt6w X i c
przedziału domkniętego [a, b] jest
: . n 1 .
f(x) ~-E k! j(k)(c)(x - c)k + Rn(x),
. ··gdzie
.~>:.'· ·/.~:·;: Rn(x·):·;,,,,, ~ J~ 1<n+1l(i)(x _:__~)n dz
.„ '. · •• • . . ·: n! c · · · ·
Inne warianty wzoru Taylora.
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:
. TWIERDZENIE 1.1.8. Dla funkcji f Z Cn+l(a, b] oraz dowolnych punkt6w X
· i x +h przedziału domkniętego [~, b] jest
. ,_. _:.·
. ~ ·.
· · n hk · •
J(x +_h) = L klJ(k)(x) + En(h), · ·(1.1.2)
k=O . . .
.• ·„.·
'i
8 , '1: NARZĘDZIA MATEMATYCZNE
gdzie
,hn+l
E (h) = JCn+l)(c)·
n (n+ 1)!, '" '
punkt eleży między X i X +h.
PRZYKŁAD 1.1.9. Za pomocą wzoru Taylora wyrazić A'v+h i znaleźć war-
tość przybliżoną dla 10i.0001.
Rozwiązanie. Dla f(x) = Ax jest j<n>(x) = Ax(logAr.,z'(l.1.2) wyni-
ka, że ,:
Dla A= 10, x = 1ih=10-4 jest zatem
10i.ooi = 10(1+10-4
(1og 10) + ! ·10-8 (log 10)2 + ...) :::::J
:::::! 10(1 + 2.30258 5093 X 10-4
+ 2.650949 X 10-8
) :::::!
:::::! 10.00230 285.
•
' •·· •• •fa
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ól-
nego przypadku użytecznego dalej.
Dla funkcji f: llł2
----> Jlł wzór Taylora upraszcza się, jeśli stosujemy
w nim szczególną symbolikę:
TWIERDZENIE 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
n 1 ( 8 8 )i
f (x + h, y + k) = 'L 7i h-
8
+k-
8
J(x, y) + En(h, k),
i=O i. X y
(1.1.3)
gdzie
1 ( 8 8 )n+l
En(h, k) = h-+ k-• ··'· · f(x +Oh y +Bk)• '·''(ff!~ O:<n
(n+ 1)! 8x. 8y ' ..·.· · '
1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA 9
Symbolikę zastosowaną w twierdzeniu wyjaśniają przykłady:
(
8 8 )o
h
8
x + k
8
y f (x, y) = f(x, y),
(
8 8 )
1
( 8f 8f)
h
8
x +k
8
y f(x,y) = h
8
x + k
8
y (x,y),
(
8 8 )
2
( 2 8
2
J 8
2
J 2 8
2
J)
h 8x + k 8y f(x,y) = h 8x2 + 2hk8x8y + k 8y2 (x,y), ...
Oznaczenia: fx = 8f/8x, fv = 8f/8y, fxx = 82f /8x2, fxv = 82f /(8x8y),
fYY = 82f I8y2 upraszczają postać początkowych składników wzoru (1.1.3):
f(x + h, Y + k) = f + (hfx + kfy) + !(h2
fxx + 2hkfxy + k
2
fyy) + .. ·
Po prawej stronie funkcja f i jej pochodne cząstkowe są obliczane w punkcie
(x,y).
PRZYKŁAD 1.1.11. Jakie są początkowe składniki wzoru Taylora dla funk-
cji f (x, y) = cos(xy)?
Rozwiązanie. Dla tej funkcji
8f . ( ) 8f . ( )
-
8
= -ysm xy , -
8
= -xs1n xy ,
X y
82
J a2
1
8
x2 = -y2cos(xy),
8
x
8
y = -xycos(xy) - sin(xy),
82! 2
8 2
= -x cos(xy).
y
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.h2(y + Ok)2 cos[(x + Oh)(y +Ok)]-
- hk{(x + Oh)(y +Ok) cos[(x + Oh)(y +Ok)]+ sin[(x + Oh)(y +Ok)]}-
1
- 2.k2(x + Oh)2cos[(x + Oh)(y +Ok)]. •
10 1. NARZĘDZIA MATEMATYCZNE
ZADANIA 1.1
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 f jest różniczkowalna w x, to
r f (x +h) - f (x - h) = !'( )
h~ 2h 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
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 „· : :~
log 2, to jak można oszacować błąd? . :.
1
: • ~ •
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 I: f(t) dt należy do
cn+l(JR). .
8. Wykazać, że jeśli 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 wzo-
ru 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 - ~x2
dla małych x? Dla jakich x to
przybliżenie daje poprawne wyniki zaokrąglone do trzech cyfr dziesiętnych?
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ć e2
z dokładnością,····
do czterech cyfr dziesiętnych (po zaokrągleniu)? · .
13. Znaleźć 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.510-1. Ile składników wzoru
trzeba uwzględnić?
14. Znaleźć wzór Taylora dla funkcji f(x) = e2
"' sinx i n= 2 w otoczeniu punktu
7r/2.
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA 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 - x2
/2)1, (b) lsinx - x(l - x2
/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ą.
„ '. ~ .
1.-2.· Rząd zbieżności i inne po~sta~~we po~ęc~a
W obliczeniach nu~er;~~nych, szdzęg~ini~ na ~~pe;~zybkich komputerach,
często się zdarza, że zamiast ostatecznej odpowiedzi otrzymujemy ciąg przy-
bliż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ś pre-
zentuje~y tylko kilka pojęć wprowadzających w temat.
• 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 Xn = L,
n->oo
. jeśli każdemu dodatniemu c odpowiada takie rżeczywiste r, że lxn - LI < c
~~. . dla każdego całkowitego n > r.
Jest, na przykład, : ,
"• ''R
./"'" n+ i ·.
lim·--= 1.
n->qo. n
„.
''
·,
I
i i
'I
, I
'i
12 1. NARZĘDZIA MATEMATYCZNE
Mniej banalny przykład wiąże się z definicją
e := lim (1 +.!.)n
n-+oo n
ważnej liczby niewymiernej e. Oto niektóre elementy ciągu Xn = (1+1/n)n:
Xl = 2.00000 0, XlQ = 2.59374 2, X30 = 2.674319,
X50 = 2.691588, XlQOO = 2.716924.
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 obli-
czenia w podwójnej precyzji, można postawić hipotezę, że
lxn+l - ei l
lxn - ei -+ ·
Taka zbieżność (zwana logarytmiczną) jest znacznie wolniejsza od określonej
dalej zbieżności liniowej.
Rozważmy teraz ciąg
Xn-lXn + 1
Xn+l =
Xn-1 +Xn
Dla wybranych dwóch wartości początkowych mamy
xo = ~.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).
Jest tak rzeczywiście, gdyż
Xn+1-l Xn-1-l
----= -+O
Xn -1 Xn-1 +xn
Taką zbieżność nazywamy nadliniową.
Jeszcze szybciej jest zbieiny 'ciąg określony wzorami:
1 1
X1 = 2, Xn+l = -
2
xn + - (n): 1).
Xn
Jego początkowe elementy są następujące:
X1 = 2.00000 0, X2 = 1.50000 0, X3 = 1.41666 7, X4 = 1.414216.
Granicą ciągu jest v'2 = 1.414213562 ... , a jego szybka zbieżność wynika
z równości
Xn+l - vf2 1 1
(xn - v'2)2 = 2xn -+ 2v'2 ~ 0
·
354
·
Mamy tu do czynienia ze zbieżnością kwadratową.
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA 13
Rząd zbieżności
Opisując prędkość, z jaką ciąg dąży do granicy, używamy specjalnej ter-
minologii. 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
lxn+l - x*I ~ cixn - x*I (n): N).
Zbieżność jest co najmniej nadliniowa, jeśli istnieją ciąg {en} zbieżny do O
i liczba całkowita N takie, że
lxn+l - x*I ~ enlxn - x*I (n;,;;. N).
Zbieżność jest co najmniej kwadratowa, jeśli istnieją stała dodatnia C (nie-
koniecznie mniejsza od 1) i liczba całkowita N takie, że
lxn+l - x*I ~ Clxn - x*l2
(n): N).
Ogólniej, jeśli istnieją stała dodatnia C, stała a > 1 i liczba całkowita N
takie, że
lxn+l - x*I ~ Clxn - x*I°' (n;,;;. N),
to mamy zbieżność co najmniej rzędu a. Do wprowadzonych tu pojęć wró-
cimy w rozdz. 3 2).
Symbole O i 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
jeśli istnieją stałe Ci no takie, że lxnl ~Cl ani dla każdego n): no. Mówimy,
że Xn jest równe „O dużemu" od an.
2) Z numerycznego punktu widzenia ciąg zbieżny co najmniej nadliniowo pozwala na
ogół 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.).
li 14 1. NARZĘDZIA MATEMATYCZNE
Relacja
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 Ojest 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 Oco najmniej tak szybko jak {an}· Jeśli Xn ~ o(an), '
to ciąg {xn} jest zbieżny do Oszybciej niż {an}·
Oto kilka przykładów:
Przykład 1.1.4 prowadzi do wniosku, że
n-1 (-l)k-1 (l)
log 2 - 2= k = o ;, .
k=l
(1.2.1)
(1.2.2)
Dla n --t oo podane wyżej sumy są zbieżne bardzo wolno do log2. Natomiast>".':~ ..
równość " ·· ·::-'·
. „
(lxl <1)
ilustruje bardzo szybką zbieżność pewnych sum do ex.
..
Wprowadzone oznaczenia są używane nie tylko dla ciągów. Możemy na ,: ··
przykład napisać, że ·./ ·;._~·."· ···
x3
sinx = x -
6 + O(x5
) (x --t O).
.~-.
Rozumiemy to tak, że istnieją otoczenie punktu Oi stała C takie, że w tym"..:' ·:,,
otoczeniu
„..
I
x31
sinx - x +
6 <Cjxj5
•
. : .:·.a.·" „.. '
Można to sprawdzić, korzystając ze wzoru Taylora dla n= 4 i f(x) = sinx.:
·.i
. .'„*;'
•'•.
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA 15
Równość
f(x) = O(g(x)) (x --t oo)
oznacza, że.istnieją takie stałe r i O, że lf(x)I <Clg(3t)I dla każdego x >r.
Jest na przyJdad · · . ·
< ··:· J~2.+~ ~ o(x') . (x -7 oo);·.:
. . . .. . . .
gdyż -Jx2 + 1 < 2x dla x ;;;;. 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.
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ś~. „ ::: • · •.•••
{f • • •
f(x) = o(g(x)) (x ·~:i;*)
,• .. ' „
jest rów~~ważna temu, ie limx-+x•.[J(x)/g(x)]= O.
"
Twier~zenie o wartości średniej-dla .całek
. ..
· : ;W analizie numerycznej jest często potrzebne następujące twie_rdzenie o war-
.• . 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 eE [a, b] taki, ze .
1
.b 1b ..
. . a· ~(x)v(x) dx = u(e) a ~(x)dx. ,. ·
Kt:e~y· ~olny .i górny
.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 <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 s.~·oznaczamy symból!'l~)nf.S. ·
,, ~· ..
l
i'/
!
li
J
I
ł6 1. NARZĘDZIA MATEMATYCZNE
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 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 rze-
czywistych 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
. 1
sup smx =
2.
O<x<?r/6
Funkcje jawne i uwikłane
Funkcje są zwykle definiowane za pomocą jawnego wyrażenia, które pozwala
obliczać wartość funkcji dla dowolnego argumentu. Przykładem jest definicja
f(x) := V7x3 - 2x.
Istnieje jednak wiele innych metod definiowania funkcji, np. za pomocą rów-
nania 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 błędu, oznaczana erf x i określona przez całkę:
erf x = Jrr fox e-t
2
dt.
W tym podrozdziale rozważamy funkcje uwikłane, tj. zdefiniowane
w sposób niejawny. Rozumiemy to tak, że dana jest funkcja G dwóch zmien-
nych i że z równania G(x, y) =O chcemy odtworzyć y jako funkcję x. W pew-
nych przypadkach możemy rozwikłać. to równanie i otrzymać y = f(x). Na
przykład, z równania
y2
+3xy-7=0
wynika, że
y = ~ (-3x ± v'9x2 + 28) ,
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA
co daje dwie jawne funkcje. Podobnie, z równania
sin(y + 7) = x3
- 2
wynika funkcja określona jawnym wzorem:
y = arc sin (x3
- 2) - 7;
17
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
_„„„
X
2 2
,/l/z=l-x -y =G(x,y)
y
H.YS. 1.4. Powierzchnia G przecina płaszczyznę xy wzdłuż krzywej G(x, y) =O
Poniższe ważne twierdzenie opisuje taką sytuację.
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 aaI8y f. o' to istnieje liczba
dodatnia oi funkcja f mająca pochodną ciągłą dla lx - xol <o i taka,
że f(xo) =Yo i G(x, f(x)) =O dla lx - xol <o.
PRZYKŁAD 1.2.3. Czy równanie
X 7 +2y8 - y3 = 0
określa y jako funkcję zmiennej x o pochodnej ciągłej w pewnym otoczeniu
punktu x = -1?
18 1. NARZĘDZIA MATEMATYCZNE
Rozwiązanie. Żeby odpowiedzieć na to pytanie, przyjmijmy, że
G(x,y) = x7 + 2y8 -y3
i (xo, Yo)= (-1, 1). Jest zatem G(x0 , Yo)= Oi
8G = 16y1 - 3y2
ay ,
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 x0 = -1. •
Jeśli 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 mia-
nowicie 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 8Gdy
ox + oy dx =o,
skąd
'··'
••• „
i.. /'•
.·· ·.
dy=_ 8G/8G
dx OX oy' :·_:i"."·....
czyli
t'(x) = - ac/ ac_
ax ay
Pochodna wyraża się przez x i y 3).
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 x3-y7+4x2+y4 -24 =O?
Rozwiązanie. Różniczkowanie opisane wyżej daje równanie
3x2 - 7y6
ddy + 8x + 4y3dy =O.
·'· „: .•.:
X 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.
•
W podrozdziale 3.2 omawia się pewne zadania numeryczne związane
z funkcjami uwikłanymi.
3
) W podobny sposób można znaleźć także pochodne wyższych rzędów funkcji uwi-
ldanej i dzięki temu obliczyć dobre przybliżenia jej wartości (przyp. tłum.).
.;
1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA 19
ZADANIA 1.2
1. Obliczanie elementów Xn = (1. + 1/n)1i ·ciągu poz~al~ wnioskować, Że ·t~n
ciąg jest ściśle rosnący. Udowodnić, że tak jest. Wskazówki: Po pierwsze, je-
śli logf(x) jest funkcją rosnącą; to J(x) ma tę samą własnbść. Po drugie,
jeśli f'(x) >O, to f jest funkcją rosnącą. Na koniec, logt można określić jako
J;t-1
dt.
2: (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
n~oo.
4. Wyznaczyć najlepszii, wartość całkowitą kw równaniu
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 ·
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..
7. Rozważyć szereg
x2
3x3
· 9x4
etgx = 1 + x + 2f + 3f + 4f + ... (lx!< 7r/2).
Zachowując trzy składniki szeregu, oszacować jego resztę używając symbolu
o( ) Z najlepszym całkowitym wykładnikieIJ1 dla X ~ 0.
_8•.Powtórzyć poprzednie zadanie, ale ~la szeregu
· · tgx · x?- · 7x4 62x6 ' .
log T·= 3 + 90 .+ 2s35 + ..~ · · .(0'<.lxi < 7r/2),
i używając symbolu O().
> •
9. Zbadać, dla jakich 'Y i ó całkowitych wykropkowane składniki w szeregu
. , n-1 k
lÓg(l+x) = °L(-l)k-1
xk +·...
k=l .
~ożna dla X ~ ozmienić 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~ n2
(d) Xn = 5n2
+ 9n3
+ 1, <Xn = n3
(b) Xn = 5n2
+9n3
+ 1, <Xn = 1. (e) Xn =../n+ 3, <Xn = l/n
.(c) Xn=.../n+3, an::=l •
i.!
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- h4
)-
1
, cosh i 1 +sinh3 mają tę samą granicę dla h--> O.
Przedstawić każde z nich w postaci
f(h) =c +CJ(h"') =c +o(hf3),
wybierając najlepsze a i f3 całkowite.
13. (cd.). Jaka jest granica i jaka jest szybkość zbieżności dla h--> Owyrażenia
Przedstawić wyrażenie w postaci podanej w poprzednim zadaniu.
14. Wykazać, że następujące zdania są fałszywe:
(a) e"' - 1 = CJ(x2 ) dla x--> O.
(b) x-2
= CJ(ctgx) dla x--> O.
(c) ctgx = o(x-1 ) dla x--> O.
15. Niech będzie {an}--> Oi 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
n
:L>k = 1/(1 - x) +o(xn) (x--> O).
k=O
20. Wyznaczyć najlepsze f3 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 + x2 /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)·
1.2. RZĄD ZBIEŻNO~CI I INNE PODSTAWOWE POJĘCIA 21
26. Udowodnić, że jeśli Xn = o(an) i Yn = o(an), to Xn +Yn = o(an)·
27. Wykazać, że xr = CJ(e"') (x--> oo) dla dowolnego r >O.
28. Wykazać, że logx = CJ(xr) (x--> oo) dla dowolnego r >O.
29. Udowodnić, że jeśli an ........ o, Xn = CJ(an) i Yn = CJ(an), to XnYn = o(an)·
30. Udowodnić, że jeśli Xn = CJ(an), to a;;1
= CJ(x;;1
). Wykazać, że ta własność
zachowuje się po zmianie relacji () na o.
31. Stosując twierdzenie o wartości średniej dla całek, wykazać, że dla pewnego
y E (O, 7f/2) jest
r12
J
0
e"' cos x dx = eY.
32. Pokazać na przykładzie, że w tw. 1.2.1 nie można usunąć założenia o ciągłości
funkcji u.
33. Obliczyć wartości wyrażeń: (a) supxEIR arctgx, (b) SUPx;;.o e-x, (c) infxEIR ex,
(d) SUPxEIR (x2
+1)-l.
34. Wyrazić w jawnej postaci dwie funkcje określone w sposób uwikłany za pomocą
równania
(x3
- l)y + exy2
+cosx - 1 =O.
35. Rozwiązania równań różniczkowych otrzymuje się często w postaci uwikłanej.
Pokazać, że równanie
opisuje rozwiązanie równania różniczkowego
dy = -(6x2
y2
+ 2xy + ex)/(4x3 y + x2
).
dx
36. W astronomii jest używane równanie Keplera: x - y + e siny = O, gdzie pa-
rametr 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 posta-
ci 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.
ZADANIA KOMPUTEROWE 1.2
Kl. Rozważmy związek rekurencyjny
Xo = 1, Xn+l = Xn +Xn-1 (n;;;;. 1).
Można wykazać, że jeśli c = (1 + ,./5)/2, to
Podobnie, jeśli c = (1 - ,./5)/2, to
-(1-,./5)"
Xn -
2
.,
a jeśli c = 1, to
( )
n+l ( )n+l
X=_!_ 1+,./5 _ _!_ 1-,./5
n,;g 2 J5 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
„....
1.3. Równania różnicowe
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.
Podstawowe pojęcia
W dalszym ciągu V będzie oznaczać zbiór wszystkich ciągów nieskończo-·
nych, takich jak
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,·
1.3. RÓWNANIA RÓŻNICOWE
W zbiorze V określamy dwa działania:
····x·+·1i := {x1 +y~,x2 +Y2;~~·+y;,...}:""'''
.Xx := {.Xx1,.Xx2,.Xx3, ...}.
Krócej wyrażamy to tak:
· (x +Y)n := Xn +Yn,
(.Xx)n := AXn·
23
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: .
. ., :-. . . ,
. (1)
v. = {1,0,0,0,....}, .
v<2
>={O, 1, O, O, ...},
(3) ':..:...' . .
'·V . -: {O, 0, 1, 0, ...}, ....
·. Interesują nas operatory liniowe L: v·.:..:+V. Jednym z najważniejszych
•. jest operator przesunięcia o symbolu E, określony wzorem
,·.
'J'ak więc
,. . '
,•· ..
·..-,, · (Ex)n = Xn+l·
.. ·.
." • w-J'
.• ' ...
Operator E można stosować wielokrotnie; ·co daje ogólnie równość
. ·,(Ek )
.. ·X n= Xn+k (k ~·o) ..
. Oczywiście E0 jest ~perat~rem identyczności (o symbolu I), czyli
(E0x)n = (Ix)n =: Xn·
W pozostałej części tego podrozdziału ograniczamy się do operato-
rów liniowych, które można wyrazić jako kombinacje liniowe potęg operato-
ra 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'.
L = 'I:c.;Ei. (1.3.1)
i=O •.
.~~J~dnym z nich jest bardzo często stosowany operator~; zob. zad. 14 (przyp. tłum.).
li
,.
!.
lr
I..
""lil!l'l!ll'
24 1. .NARZĘIJZIA MATEMATYCZNE
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 w(1.3.1) jest wielomianem względem E. Możemy więc
napisać, że
L =p(E),
gdzie p jest wielomianem charakterystycznym operatora L, określonym
wzorem
m
p(.) = L C;Ai.
i=O
Zadaniem, które tu rozważymy, jest wyznaczenie wszystkich rozwiązań
równania różnicowego liniowego jednorodnego Lx = O, gdzie L jest operato-
rem postaci (1.3.1). Jest on linfovy, 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, roz-
ważmy konkretny przykład operatora L taki, że m = 2, co = 2, c1 = -3
i c2 = 1. Wtedy równanie Lx= Oma postać
Xn+2 - 3xn+l + 2xn =O (n;;;;. 1). (1.3.2)
Konstrukcja ciągów spełniających to równanie jest bardzo prosta.
Istotnie, możemy wybrać dowolnie x1 i x2 , a następnie obliczać x3 , x4 , ...
z (1.3.2). Daje to na przykład ciągi
{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 + 2.n =O,
.n(.2
- 3. +2) =O,
.n(. - 1)(. - 2) =O.
1.3. RÓWNANIA RÓŻNICOWE 25
Te elementarne rozważania dowodzą, że istnieje jeszcze dokładnie jedno roz-
wią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ć
x1 = a+ 2(3, x2 = a+ 4(3.
Ten układ określa jednoznacznie a i (3, gdyż wyznacznik jego macierzy
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 mniej-
szych od n, to
Xn = 3xn-1 - 2Xn-2 = 3(aun-1 + f3vn-d - 2(aun-2 + f3vn-2) =
= a(3un-l - 2Un-2) + f3(3vn-1 - 2Vn-2) = aun + f3vn.
Ten przykład ilustruje przypadek wielomianu charakterystycznego o pier-
wiastkach pojedynczych 5).
Pierwiastki pojedyncze
TWIERDZENIE 1.3.1. Jeśli A jest pierwiastkiem wielomianu p, to ciąg
{A,.2
, .3, .••} spełnia 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 MATEMATYCZNE
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 . m m
p(E)u = (L qEi)u = L q(Eiu) = L q>..iu = p(>..)u.
i=O i=O i=O
Jeśli p(>..) =O, to p(E)u =O, co należało udowodnić. ·.; ·
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
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ć
m
Xi = L ak>..1 (1 <(i <( m).
k=l
"'
Macierz kwadratowa stopnia m, o elementach >..1 jest nieosobliwa; gdyż' ·': ·:
w przeciwnym razie zachodziłyby nietrywialne równości
m m
:Z::bi>-1 =o, czyli L bi>..1-I =O (1 <( k <( m),
i=l 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, ·
. ' ;.. .. '.
(1.3.4) , ·:.
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. •
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
p(E)x(>..) = p(>..)x(>..).
„ •
. . .t'.
1.3. RÓWNANIA RÓŻNICOWE 27
Różniczkowanie stronami względem >.. daje równość
,. • li;.. , • " ' ·~. .. . • ' : •.t. ~ .. „~,'i·, . "~ ' •...• : :.•"' 1•.'
p(E)x'(>..) = p'(>..)x(>..) + p(>..)x'(>..).
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(>..),
· 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ż
I
>.. >..21
1 2>.. =I- o,
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ów-
nanie różnicowe p(E)x =O:
.. .'x(>..) := {>..,>..2,>..3, ...},
•' :.. ;;'(>..)':~_.{1;2:x',3>..2, ...}, ''
x"(>..) :={O, 2, 6>.., .. .}, ... , .
' ' k-1. . .
• (k-1) ·- d 2 '3 . .
X ~>..) .- d>.k-1 {A, A 'A ' ...}.
TWIERDZENIE 1.3.2. Niech p będzie wielomianem takim, że p(O) =/:- O. Wte-
dy 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<k-l)(>..).
PRZYKŁAD 1.3.3. Znaleźć ogólne r.ozwią~anie równania różnicowego
. . .. " .
. ••.. ·....::4x~~3 +1xn+2 +2xn+l'-.:u:n;.~·o. .. :" ;' : ..
•.
. • . ·. . .•..• ; ~' „
.~ozwiąz~nie. Jest'.to równani~ p(E)x·~ Q, gdzie
· ·p(>.) := 4>.3 + 7>.2 +·2>. -1 =·(X+ 1)2.(4>.. - i):
. .
Ten wielomian ma pierwiastek pbdwÓjny -1 i pierwiastek pojedynczy l·
.Bazowymi rozwiązaniami są ciągi
x(?l) := {-1, 1, -1, 1, ...},
. •. . .·
. x'(_;1) := {1, -2, 3, -4, ...}, .
' . . .
X( l) ·-{ 1 1 _!_. • }
4 .- 4, 16' 64'.„ '
: ..
··...
'"
t
t'
28 1. NARZĘDZIA MATEMATYCZNE
a ogólne rozwiązanie wyraża się wzorem
x = ax(-1) +,6x'(-1) +1x(t)·
Inaczej mówiąc,
•
Równania różnicowe stabilne
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ą ograni-
czone. 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.
TWIERDZENIE 1.3.4. Jeśli wielomian p jest taki, że p(O) =f. O, to równanie
różnicowe p(E)x = O jest stabilne wtedy i tylko wtedy, gdy wszystkie
pierwiastki tego wielomianu leżą w kole lzl ~ 1, a pierwiastki wielo-
krotne w kole lzl < 1.
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
wykazać, że
(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 twierdze-
niu. 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ść
•
1.3. RÓWNANIA RÓŻNICOWE 29
PRZYKŁAD 1.3.5. Sprawdzić, czy równanie różnicowe z przykł. 1.3.3 jest
stabilne.
Rozwiązanie. Wiemy, że dla tego równania wielomian p ma pierwiastek
podwójny -1 i pojedynczy t· Równanie jest zatem niestabilne. •
Przykład równania różnicowego o zmiennych współczynnikach można
znaleźć w teorii funkcji Bessela. Punkcja Bessela Jn jest określona wzorem
1 lo7r
Jn(x) := - cos(xsinB - nB) dB.
7f o
Z tej definicji wynika od razu, że IJn(x)I ~ 1. Nie jest tak oczywisty (ale
jest prawdziwy) wzór rekurencyjny
Jeśli dla pewnego x znamy wartości Jo(x) i J1(x), to stosując ten wzór
możemy obliczyć 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 rekuren-
cyjnych można znaleźć w następujących publikacjach: Abramowitz i Stegun
[1964, s. xiii], Cash [1979], Gautschi [1961, 1967, 1975], Wimp [1984].
ZADANIA 1.3
1. 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?
3. Niech p będzie wielomianem stopnia m i niech będzie p(O) i O. Udowodnić, że
jeśli ciąg x zawieram kolejnych zerowych elementów i p(E)x =O, to x =O.
4. 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?
5. Jakie są wartości własne i wektory własne operatora E?
6. 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.
7. Niech układ (v<1l, v<2l, ...) 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.
''
.,
i
30 1. NARZĘDZIA MATEMATYCZNE
8. (cd.). Wykazać, że dowolne dwa operatory postaci opisanej w poprzednim za-
daniu komutują.
9. Wykazać, że jeśli L1 i L2 s~~ kombinacjami liniowymi potęg operatora E oraz
jeśli L 1 x = O, to LiL2 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) (4E0
- 3E2
+ E3 )x =O
(b) (3E0
- 2E + E 2
)x =O
(c) (2E6
- 9E5
+ 12E4
- 4E3 )x =O
12. Wykazać, że jeśli wielomian p ma współczynniki rzeczywiste i jeśli z jest roz-
wią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. Rozwiązać równania: (a) Xn-1-1-nXn =O, (b) Xn-1-1-Xn =n, (c) Xn-1-1-Xn = 2.
14. Określmy operator .6. wzorem
Wykazać, że E = I+ .6.. Wykazać, że jeśli p jest wielomianem, to
p(E) = p(I) + p'(I).6. + ~p"(I).6.2 + ~p"'(I).6.3 + ... + ~!p(m)(J).6.m.
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[E0
- nE + łn(n - l)E2 - ;fin(n - l)(n - 2)E3
+ ... + (-l)nEn].
17. Podać kompletny dowód tw. 1.3.2.
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. ·
20. Udowodnić, że jeśliµ E (O, oo) i i>.I < 1, to limn-oo n1
' >.n= O.
21. Udowodnić tw. 1.3.4, odrzucając założenie, że p(O) =/= O
.
22. Sprawdzić, czy równanie różnicowe Xn = Xn-l + Xn-2 jest stabilne. .
,.
23. Udowodnić, że jeśli x spełnia równanie różnicowe p(E)x = O, to Ex ma tę
samą własność.
24. Wykazać, że ogólne rozwiązanie równania Xn 2(Xn-1 + Xn-2) ma postać-·
Zn = 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..
1.3. RÓWNANIA RÓŻNICOWE 31
ZADANIA KOMPUTEROWE 1.3
...•.. „ .• .
Kl. Jednym z rozwiązań równania różnicowego Xn+2 - 2xn+l - 2xn = Ojest 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~ J0 (1) = 0.7651976866 i J 1(1) ·= 0.4400505857 są wartościami
funkcji Bessela, obliczyć wartości J2 (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 x1 = -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). .. ·
·Porównać wyniki.
K5. Rozwiązać numerycznie równanie Xn-1-2 - (7r +7r-l )xn+l + Xn =O dla Xo = 1
. i x1 = 1T. Znaleźć błąd względny obliczonego x59. Powtórzyć obliczenia dla
.x1 = 7r-1 i wyjaśnić, dlaczego błędy względne..w tych dwóch przypadkach się
różnią.·
:,. '
.,
. -~.
. r.
-··· ~ .. •,
:'i
,I
ROZDZIAŁ 2
Arytmetyka komputerowa
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 wy-
raż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 101
+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
: I,
34 2. ARYTMETYKA KOMPUTEROWA
da się wyrazić tak jak wyżej, wraz z odpowiednim znakiem (+ lub - ). Na ,..
przykład, liczbę -7f wyrażamy tak: .. . .....::, .
-7f = -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: Oi 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
przykład
(1001.11101)2 = 1 X 23
+ 0 X 22 + 0 X 21 + 1 X 20+
+ 1Xr
1
+1Xr2 +1 X r 3
+oXr4
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ójko-
wym, 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: ··
1~ = (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 47656 25000 00000 00000. „ .
..
2.1. ARYTMETYKA ZMIENNOPOZYCYJNA 3!i
, ,;;.;~:::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•. „ .. ,
Zaokrąglanie
: Zaokrągląl{ie, będzie omawiane-.s:łiczegółOyo 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. Roz-
waż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 zaokrąglona do przybliżenia x mającego n cyfr
' .. ·~~ kropce, to
; ' „ . ' ~ . : . ~. . . •
· ·1:c..,.·xl < ł x 10-n.
' ,··.··.li; „·.. "·.:·
. •„ , ••
(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
11:11
11
111· :
I: .. ,.·
,,
' I
I
36 2. ARYTMETYKA KOMPUTEROWA
Reprezentacja zmiennopozycyjna liczb
W układzie dziesiętnym każdą liczbę rzeczywistą x -=/= O można wyrazić
w postaci zmiennopozycyjnej:
X= ±r X 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 usta-
lonej 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 zmiennopo-
zycyjnej2). 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 zerama 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 kompu-
terze 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 10n
tłum.).
2>IEEE - Institute of Electrical and Electronic Engineers (przyp.
2.1. ARYTMETYKA ZMIENNOPOZYCYJNA 37
w przedziale od 2-126 ~ 1.210-38 do (2 - 2-23) x 2121 ~ 3.41038 lub w ana-
logicznym przedziale dla liczb ujemnych; do tego dochodzi wyróżniona licz-
ba 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 archaicz-
na, 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 poje-
dynczej 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 wpraw-
dzie 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 od-
powiednio 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 prze-
dział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 wyko-
nanie 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 an-
gielskich 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 kom-
puterowe, 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ą zro-
zumienie tego, z jakimi liczbami mamy do czynienia, stosując w obliczeniach
konkretny typ arytmetyki zmiennopozycyjnej. Może on zależeć od stosowa-
nego 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
(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ęk-
szą 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 dru-
gim 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 ostat-
nie 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 na-
ukowych 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
sprzętowo.
Rozkład liczb zmiennopozycyjnych w komputerze jest nierównomierny.
Między kolejnymi potęgami dwójki znajduje się tyle samo liczb maszyno-
wych. Dlatego znaczna ich część skupia się w pobliżu zera, ale pewne oto-
czenie 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.
2.1. ARYTMETYKA ZMIENNOPOZYCYJNA 39
Niech będzie x >O i x = q x 2m, gdzie 1,,;;; q < 2. Stąd
gdzie wszystkie ai są równe Olub 1. Jeśli mantysy liczb maszynowych mają
t bitów po kropce, to bliska względem x taka liczba powstaje przez odrzuce-
p.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
~ . . .. . .
·. · · I fl( )I~ 11 I 2m...:t-i
• X - X ":, - X+ - X_ = . .
. . .2
, :W przeciwnym ::azie fl.(x) = x+,i
I~ - fl_{x)J ,,;;; ~lx+ - .x-1=2m-t-l':-;.
W obu przypadkach błąd względny rep~ezentacji maszynowej liczby x sza-
c;ujemy, tak:
·.·· „ . . . t 1
· 1x-fl.(x)1~2m- - = ~2...:.t-l ,,;;;.rt-1.
X 2mq q .
:Wprowad~iwszy wielkość ó = (x* - x)/x wnioskujemy 'stąd, że
. . .
fl.(x) .= x(l +ó), gdzie lóJ'.~ 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 t = 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)?
. .
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf
Kincaid D. - Analiza numeryczna.pdf

Weitere ähnliche Inhalte

Ähnlich wie Kincaid D. - Analiza numeryczna.pdf

Modele równań i metody ich rozwiązywania
Modele równań i metody ich rozwiązywaniaModele równań i metody ich rozwiązywania
Modele równań i metody ich rozwiązywaniaLucas Jarzembowski
 
Engineering Thesis - Selected algorithms for digital signature based on ellip...
Engineering Thesis - Selected algorithms for digital signature based on ellip...Engineering Thesis - Selected algorithms for digital signature based on ellip...
Engineering Thesis - Selected algorithms for digital signature based on ellip...Adam Skołuda
 
Excel w zastosowaniach inżynieryjnych
Excel w zastosowaniach inżynieryjnychExcel w zastosowaniach inżynieryjnych
Excel w zastosowaniach inżynieryjnychWydawnictwo Helion
 
Algorytmy, struktury danych i techniki programowania. Wydanie III
Algorytmy, struktury danych i techniki programowania. Wydanie IIIAlgorytmy, struktury danych i techniki programowania. Wydanie III
Algorytmy, struktury danych i techniki programowania. Wydanie IIIWydawnictwo Helion
 
Excel 2003 PL. Ilustrowany przewodnik
Excel 2003 PL. Ilustrowany przewodnikExcel 2003 PL. Ilustrowany przewodnik
Excel 2003 PL. Ilustrowany przewodnikWydawnictwo Helion
 
C++. Potęga języka. Od przykładu do przykładu
C++. Potęga języka. Od przykładu do przykładuC++. Potęga języka. Od przykładu do przykładu
C++. Potęga języka. Od przykładu do przykładuWydawnictwo Helion
 
PHP. Programowanie. Wydanie III
PHP. Programowanie. Wydanie IIIPHP. Programowanie. Wydanie III
PHP. Programowanie. Wydanie IIIWydawnictwo Helion
 

Ähnlich wie Kincaid D. - Analiza numeryczna.pdf (9)

Algorytmy. Od podstaw
Algorytmy. Od podstawAlgorytmy. Od podstaw
Algorytmy. Od podstaw
 
Modele równań i metody ich rozwiązywania
Modele równań i metody ich rozwiązywaniaModele równań i metody ich rozwiązywania
Modele równań i metody ich rozwiązywania
 
Engineering Thesis - Selected algorithms for digital signature based on ellip...
Engineering Thesis - Selected algorithms for digital signature based on ellip...Engineering Thesis - Selected algorithms for digital signature based on ellip...
Engineering Thesis - Selected algorithms for digital signature based on ellip...
 
Excel w zastosowaniach inżynieryjnych
Excel w zastosowaniach inżynieryjnychExcel w zastosowaniach inżynieryjnych
Excel w zastosowaniach inżynieryjnych
 
Matematyka 3
Matematyka 3 Matematyka 3
Matematyka 3
 
Algorytmy, struktury danych i techniki programowania. Wydanie III
Algorytmy, struktury danych i techniki programowania. Wydanie IIIAlgorytmy, struktury danych i techniki programowania. Wydanie III
Algorytmy, struktury danych i techniki programowania. Wydanie III
 
Excel 2003 PL. Ilustrowany przewodnik
Excel 2003 PL. Ilustrowany przewodnikExcel 2003 PL. Ilustrowany przewodnik
Excel 2003 PL. Ilustrowany przewodnik
 
C++. Potęga języka. Od przykładu do przykładu
C++. Potęga języka. Od przykładu do przykładuC++. Potęga języka. Od przykładu do przykładu
C++. Potęga języka. Od przykładu do przykładu
 
PHP. Programowanie. Wydanie III
PHP. Programowanie. Wydanie IIIPHP. Programowanie. Wydanie III
PHP. Programowanie. Wydanie III
 

Kincaid D. - Analiza numeryczna.pdf

  • 1. W przekładzie i pod redakcją STEFANA PASZKOWSKIEGO DAVID KINCAID WARD CHENEY ( analiza nu111e19Yczna ' i •:-„ t':. „ ' J ·.' -.~: • „ Wydawnictwa Naukówo-Techniczne Warszawa
  • 2. ' i:'. Spis treści Od tłumacza i redaktora przekładu Oznaczenia i konwencje Przedmowa .. Podziękowania Czym jest analiza numeryczna? 1. Narzędzia matematyczne .. 1.0. Wstęp .......... . 1.1. Podstawowe pojęcia i wzór Taylora 1.2. Rząd zbieżności i inne podstawowe pojęcia . 1.3. Równania różnicowe .. 2. Arytmetyka komputerowa . . . . . 2.0. Wstęp . . . . . . . , . . . . . . 2.1. Arytmetyka zmiennopozycyjna 2.2. Błędy bezwzględne i względne. Utrata cyfr znaczących 2.3. Algorytmy stabilne i niestabilne. Uwarunkowanie 3. Rozwiązywanie równań nieliniowych . . . 3.0. Wstęp .................. . 3.1. Metoda bisekcji (połowienia przedziału) 3.2. Metoda Newtona . . . . . . . . . 3.3. Metoda siecznych . . . . . . . . . . . . 3.4. Punkty stałe i metody iteracyjne . . . 3.5. Obliczanie pierwiastków wielomianów 3.6. Metody homotopii i kontynuacji . . . . 4. Rozwiązywanie układów równań liniowych 4.0. Wstęp ..... . 4.1. Algebra macierzy . . . . . . . . . . . . . . 4.2. Rozkłady LU . . . . . . . . . . . . . . . . 4.3. Eliminacja Gaussa z wyborem elementów głównych . 4.4. Normy i analiza błędów . . . . . . . . . . . . . . 4.5. Szeregi Neumanna i poprawianie iteracyjne ... 4.6. Rozwiązywanie układów metodami iteracyjnymi . xi XV . xvii . xxi . xxv 1 1 1 11 22 33 33 33 46 54 63 63 65 71 84 91 99 . 121 . 131 . 131 . 132 . 143 . 157 . 178 . 188 . 198
  • 3. VIII SPIS TREŚCI 4.7. Metody najszybszego spadku i sprzężonych gradientów . . 4.8. Analiza błędów zaokrągleń w metodzie eliminacji Gaussa . 223 . 235 5. Inne działy numerycznej algebry liniowej . 245 5.0. Przegląd podstawowych pojęć ..... . 5.1. Metoda potęgowa dla zadania własnego 5.2. Twierdzenia Schura i Gerszgorina .... 5.3. Ortogonalizacja i zadanie najmniejszych kwadratów 5.4. Rozkład względem wartości szczególnych i pseudoodwrotność 5.5. Metoda QR obliczania wartości własnych 6. Aproksymacja funkcji . . . . . . 6.0. Wstęp ........... . 6.1. Interpolacja wielomianowa . 6.2. Ilorazy różnicowe . . . . . . 6.3. Interpolacja Hermite'a ... 6.4. Interpolujące funkcje sklejane 6.5. Podstawy teorii funkcji B-sklejanych 6.6. Zastosowania funkcji B-sklejanych 6.7. Szeregi potęgowe ......... . 6.8. Aproksymacja średniokwadratowa 6.9. Aproksymacja jednostajna ... ·. . 6.10. Interpolacja funkcji wielu zmiennych 6.11. Aproksymacja wymierna ..... 6.12. Interpolacja trygonometryczna . 6.13. Szybkie przekształcenie Fouriera 6.14. Metody adaptacyjne ...... . 7. Różniczkowanie i całkowanie numeryczne . 7.1. Różniczkowanie numeryczne i ekstrapolacja Richardsona 7.2. Interpolacja w całkowaniu numerycznym ..... . 7.3. Kwadratury Gaussa . . . . . . . . . . . . . . . . . 7.4. Wielomiany Bernoulliego i wzór Eulera-Maclaurina 7.5. Metoda Romberga ........... . 7.6. Me~ody adaptacyjne całkowania . . . . . . . . . . . 7.7. Teoria Sarda aproksymacji funkcjonałów ..... . . 245 . 247 . 255 . 263 . 277 . 287 . 297 . 297 . 297 . 311 . 319 . 328 . 341 . 352 . 362 . 366 . 377 . 393 . 410 . 428 . 433 . 441 . 447 . 447 . 457 . 468 . 474 . 478 . 481 . 485 8. Rozwiązywanie numeryczne równań różniczkowych zwyczajnych 493 8.0. Wstęp . . . . . . . . . . . . . . . . . . 493 8.1. Istnienie i jednoznaczność rozwiązań . 493 8.2. Zastosowanie wzoru Taylora . . 496 8.3. Metody Rungego-Kutty . . . . . . . . 503 8.4. Metody wielokrokowe . . . . . . . . . . 511 8.5. Błędy lokalne i globalne. Stabilność . . 517 8.6. Układy równań. Równania wyższego rzędu. . 523 8.7. Zagadnienia brzegowe . . . . . . . . . . 529 8.8. Zagadnienia brzegowe: metody strzału . . . . 534 )1 ·" 8.9. 8.10. 8.11. 8.12. SPIS TREŚCI Zagadnienia brzegowe: różnice skończone . Zagadnienia brzegowe: kollokacja . . . . Układy równań różniczkowych liniowych . Równania sztywne . . . .· . . . . . . . . . ix . 540 . 543 . 546 . 557 9. Rozwiązywanie numeryczne równań różniczkowych cząstkowych 565 9.0. Wstęp . . . . . . . . . . . . . . . . . . . . . 565 9.1. Równania paraboliczne: metody jawne . . . . . . 565 9.2. Równania paraboliczne: metody niejawne . . . . 572 9.3. Zadania niezależne od czasu: różnice skończone . 578 9.4. Zadania niezależne od czasu: metody Galerkina . 581 9.5. Równania rzędu pierwszego: charakterystyki . . . 588 9.6. Równania quasi-liniowe rzędu drugiego: charakterystyki . 595 9.7. Inne metody dla zagadnień hiperbolicznych . 604 9.8. Metody wielosiatkowe . . . . . . . . . . . . . 611 9.9. Szybkie metody dla równania Poissona . . . . 619 10. Programowanie liniowe i pokrewne zagadnienia 10.1. Wypukłość i nierówności liniowe 10.2. Nierówności liniowe ... 10.3. Programowanie liniowe . 10.4. Algorytm sympleks 11. Optymalizacja .... . 11.0. Wstęp ...... . 11.1. Przypadek jednej zmiennej . 11.2. Metody spadku ....... . 11.3. Analiza funkcji kwadratowych celu 11.4. Algorytmy aproksymacji kwadratowej 11.5. Algorytm Neldera-Meada 11.6. Wyżarzanie symulowane 11.7. Algorytmy genetyczne .. 11.8. Programowanie wypukłe . 11.9. Minimalizacja z warunkami 11.10. Optymalizacja Pareto Bibliografia Skorowidz . . 625 . 625 . 632 . 638 . 643 . 653 . 653 . 655 . 658 . 661 . 663 . 664 . 665 . 666 . 667 . 668 . 669 . 671 . 685
  • 4. ~ „.... Od tłumacza i redaktora przekładu Dostępne w Polsce podręczniki analizy numerycznej, jak (włączone do bi- bliografii) 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 numerycz- nych 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 cza- sopisma 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 ana- lizy 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 tyl- ko 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 nume- rycznymi. 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 - spo- ro zmian nienaruszających oczywiście autorskiej koncepcji książki, ale ma- ją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 roz- ważania, zbędne dla czytelników ze standardowym poziomem wiedzy ma- tematycznej. Dowody kilku twierdzeń zastąpiłem prostszymi lub bardziej
  • 5. xii OD TŁUMACZA I REDAKTORA PRZEKŁADU naturalnymi. W kilku miejscach przestawiłem fragmenty tekstu, np. po- przedził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ól- ną 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ę ad- resów kilkudziesięciu stron z informacjami o towarzystwach naukowych, cza- sopismach, programach, wykładach itd. z dziedziny analizy numerycznej; informacje na ten temat zawiera przypis do przedmowy autorów.. Z po- dobnych powodów usunąłem też z podrozdz. 2.1 fragment o hipotetycz- nym 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 me- toda 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 prze- kazał 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 in- ne; byli to: prof. Edward Neuman, dr Andrzej Wakulicz i mgr inż. Tymon ·' OD TŁUMACZA I REDAKTORA PRZEKŁADU xiii Godzwon. Dzięki uprzejmości personelu Biblioteki Instytutu Matematycz- nego 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
  • 6. " l .·„: .::o.··. :•' ' ~(' „. ' . . • • ~ „ . '.' i.' .... I ·,,. „. 1. · Oznaczenia i konwei1cje 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-+ x2 -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 Kroneckera, rów~a 1 dl~· j :: k i Odla 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 „.
  • 7. 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 k=m n IT Bk := 1 dla m = n - 1 k=m 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 ma- gisterskich na University of Texas w Austin. Te wykłady wprowadzały stu- dentów w dziedzinę algorytmów i metod najczęściej potrzebnych w oblicze- niach 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 in- formatyki oraz studenci różnych typów studiów magisterskich. Fragmenty książki stanowiły też podstawę wielu wykładów poświęconych poszczegól- nym działom analizy numerycznej, takim jak rozwiązywanie numeryczne .równań różniczkowych, metody numeryczne algebry liniowej i teoria aprok- symacji. Nasze podejście polegało zawsze na traktowaniu przedmiotu z ma- tematycznego punktu widzenia; pokazywaliśmy szeroką paletę twierdzeń, dowodów i ciekawych pomysłów. Wynika stąd wiele procedur numerycz- nych i intrygujących problemów analizy numerycznej. Oczywiście, motywo- wał 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; po- pieramy jednak bez zastrzeżeń korzystanie ze starannie sprawdzonego opro- gramowania, 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 studen- tó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. Ni- niejsza książka zaś jest przeznaczona do wykładu dającego bardziej akade- mickie ujęcie przedmiotu; pewne tematy są opisane szczegółowo. Tu i ówdzie
  • 8. xviii PRZEDMOWA poruszamy zagadnienia, które nie znalazły wcześniej swego. miejsca w stan- dardowych podręcznikach na tym poziomie. Do tej kategorii należą metody wielosiatkowe, procedury interpolacji funkcji wielu zmiennych, metody ho- motopii (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 progra- my komputerowe. Zapewne nie będą one zawierały wszystkich skomplikowa- nych 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 pro- gramują i testują, niż wtedy, gdy tylko korzystają z programu biblioteczne- go. 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) 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 po- minął więc kilka następnych wzmianek o tym dodatku (przyp. tłum.). 2 JChodzi 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.). · PRZEDMOWA xix wadziliśmy wiele innych ulepszeń. W szczególności w tym nowym wydaniu dodaliśmy rozdział o optymalizacji z takimi tematami, jak metody spadku, algorytmy przybliżania kwadratowego, algorytm Neldera-Meada, symulo- wane wyżarzanie, algorytmy genetyczne, optymalizacja Pareto i programo- wanie 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 nu- merycznej algebry liniowej. Ze względu na obszerny zakres tematów lek- tura 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ąć. .',• ·.. •.' „ .. „.„-~· '. ,>. •. „ ··: ;'
  • 9. Podziękowania Z radością wyrażamy naszą wdzięczność wielu osobom, które towarzyszyły ;· nam przy pisaniu tej książki. 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 Ma- tematyki, która przepisywała w 'TEX-u niezliczone wersje każdego podroz- dział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'Ar- changelo, 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 suge- stie. 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 Bru- ce, 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 Pu- blishing Company. W szczególności z przyjemnością dziękujemy za wsparcie Jeremy'emu Hayhurstowi i Marlene Thom. Stacey Sawyer z firmy Sawyer
  • 10. xxii PODZIĘKOWANIA 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 Bo- ley z University of Minnesota, Min Chen z Pennsylvania State University, John Harper z University of Rochester, Ramon Moore z Ohio State Univer- sity, Yves Nievergelt z Eastern Washington University i Elinor Velasquez z University of California-Berkeley. Szczególnie dziękujemy Ronovi Boisver- towi za wyjaśnienie nam różnych kategorii oprogramowania matematycz- nego 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. Aw- wal, 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. 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-lfing 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, Sha- shankowi 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. :·: .· PODZIĘKOWANIA XXlll , ~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 wszel- ką 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 skontakto- wać, za wszystkie komentarze, sugestie, P)'tania, uwagi krytyczne lub po- prawki. ,•. ,'·!. .· . ,., .. . ' ' „• ~ .~„ •. ··... . .·.; David Kincaid Ward Cheney ..c.
  • 11. li' I ' " Ir . ,i„ :fi' ,, I J 1 ! J 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ą obli- czeń naukowych1). Badane przez nas algorytmy są nieuchronnie przeznaczone do stoso- wania na szybkich komputerach i dlatego pewien decydujący etap musi po- przedzać 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 pro- grą.mowanie pozostaje poza obrębem analizy numerycznej w ścisłym sensie tego terminu. Poza rozwiązywaniem numerycznym zadań matematycznych kompu- tery mają oczywiście wiele innych zastosowań, jak komunikacja, tworzenie wielkich baz danych, gry, „surfowanie" w sieci, pisanie powieści, rachunko- wość itd. Rozwiązywanie zadań matematycznych numerycznie na kompute- rze - to obliczenia naukowe. Tworzenie odpowiednich algorytmów (proce- dur) i badanie ich własności - to matematyka obliczeń naukowych. Konstrukcja algorytmu jest nierzadko stymulowana przez konstruktyw- ny 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ę przypuszcza- jąc, że są one fałszywe i dochodząc poprzez logiczne rozumowanie do sprzecz- ności. Nie każdy jednak konstruktywny dowód prowadzi do efektywnego al- gorytmu. 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ń. 1) W polskiej literaturze matematycznej ta nazwa nie jest używana, natomiast dawne podręczniki analizy numerycznej (np. wymienione w dodatkowej bibliografii od tłumacza) miały w tytule metody numeryczne (przyp. tłum.).
  • 12. xxvi CZYM JEST ANALIZA NUMERYCZNA? CZYM JEST ANALIZA NUMERYCZNA? XXVll Wielkości h i k są tu odległościami sąsiednich punktów siatki, odpowiednio Jako przykład luki między twierdzeniem o istnieniu i rozwiązaniem nu- merycznym zadania ro~ważmy wszechobecne równanie macierzowe Ax = Wiemy, że ma ono jedyne rozwiązanie, jeśli tylko macierz A jest nieosobli- ::»;„.lill!1i1>'1<c•'·'···'·" ·•w kierunku t i w kierunku x. -Zmiana symbolu-funkcji na v przypomina, że wa. To jednak jest niewielką pociechą, gdy stajemy przed wielkim układem liniowym zawierającym dane empiryczne i chcemy znaleźć numerycznie jego przybliżone rozwiązanie. W tej książce będziemy z reguły zaczynać każdy temat od tych pod- stawowych 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>. Na 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: av(x, t) 1 at ~ k[v(x, t +k) - v(x, t)], a2v(x, t) 1 ax2 ~ k2 [v(x +h, t) - 2v(x, t) +v(x - h, t)]. 2) 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.):.. , ·' •• • > ... 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 . vi;ji1 = SVi-1,j +. (1 ....:. 2s)Vij +SVi+l,j' gdzie s = k/h2 • Dzięki niemu możemy tworzyć rózwiązanie numeryczne, po- suwają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 prze- widywać 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.~;<~,.. ';~~ •' ' • •„ •' .„ ··~/: ,'' '.':•'· .. -.: l-J+i: ='.AV/ . .„ :' .• .A jest. tu· pewną macierzą trójprzekątniową, a Vj = (vji, Vj2, ... ,'Vjn)· Dla każdej 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. ·, ·. • ~ • • ~; •'I.' .'o „· •.·.. „. • . ,, ..·· .„.. . ·•. .. ,'"'.!-.·, ~ ., . ..... . .. - .·, ..· . " „ ··„
  • 13. ROZDZIAŁ 1 Narzędzia matematyczne 1.0. Wstęp .Rozdział zaczyna się od przeglądu kilku ważnych tematów analizy matema- tycznej, które będą potrzebne w następnych rozdziałach. Zachęcamy czytel- nikó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 za- pytać: Dlaczego 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 od- grywa fundamentalną rolę w wielu procedurach numerycznych i stanowi doskonały punkt wyjścia do studiowania obliczeń naukowych, gdyż nie od- wołuje się do zaawansowanych pojęć matematycznych. Granica, ciągłość i pochodna Jeśli 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:
  • 14. 2 1. NARZĘDZIA MATEMATYCZNE równość lim f(x) = L x-~c oznacza, że dla każdego c dodatniego istnieje takie ó dodatnie, iż odl~głość między f (x) i L jest mniejsza odc, jeśli odległość między x i c jest doc)atnia i mniejsza od ó, czyli lf(x) - LI < c, jeśli O< lx - cl < ó. Jeśli żadna liczba L nie ma takiej własności, to granica funkcji f .w c nie istnieje. -3 3 X RYS. 1.1. y = f(x) := x2 Korzystając z definicji granicy, można sprawdzić, że np. lim x2 = 4 X->2 (rys. 1.1). Natomiast funkcja g(x) :=Et ={ 1, .~e~l~ x >O x -l, Jesh x<O (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 Ogranicę lewostronną, równą -1, i prawostronną, równą~ (przyp. tłum.). ,.ł. 1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA 3 y y=l o X .· ... y=-1' RYS. 1.2. y =g(x) :=.lxl/x Tak.więc funkcjaf(x) = x2 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ść Dar- r 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" .·• . . • .' . . ' .. ·• . •• • „ . • •ł • • Pocf:o1ną funkcji f w .c (jeśli.istnieje) okreŚlamy wzorem J'(c) :=lim f(x) - f(c) .. ' X->C X~ 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 ~ .:~·„.': : ·, < • ' • ~ „ „~·=. .·: .·· . f(x):=·lxl, . · ' :· .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ł ozna- .czamy. G(llł).. Zbiór funkcji, dla których pocJ?.Ód;na i jest wszędzie ciągła, oznacŻamy C1 (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 C1 (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. n ;·..". :: 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 • > ·'.„ • '•', '„• • • , ·, J "! ' ' a ' ' C2 (llł) c C1 (R) c C(R). .„ ·•
  • 15. [I. 'lifl!!llW~~ i. t 4 1. NARZĘDZIA MATEMATYCZNE y '·· X RYS. 1.3. y = f(x) := jxj Określony właśnie zbiór jest podzbiorem właściwym zbioru C1 (llł), bo ist- nieją funkcje różniczkowalne tylko raz; tak jest dla f(x) = x2 sin(l/x). Podobnie definiujemy, .dla dowolnej liczby naturalnej n, cn(llł) jako zbiór wszystkich funkcji mających n-tą pochodną ciągłą. Na koniec, C00 (llł) jest zbiorem funkcji mających wszystkie pochodne ciągłe. Jest c00 (llł) c ... c C2 (llł) c C1 (llł) c C(llł). Znaną funkcją 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]. Wzór Taylora 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. TWIERDZENIE 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] gdzie dla pewnego punktu e leżącego między C i X E (x) = l f(n+l)(e)(x - cr+i. n (n+ 1)! (1.1.1) Wyrażenie 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 < e< X, albo X < e< c, zależnie od wa;t~Ści Ci X (przypadek X= C można pominąć). 1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA 5 W ważnym szczególnym przypadku, gdy c =O, wzór (1.1.1) nazywamy wzorem Maclaurina dla f (x): 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 oo (-l)lc sin x = L x2k+l k=O (2k +1)! (-oo< x <oo), oo ( l)k cos x = L ----x2k k=O (2k)! (-oo< x <oo), oo (-l)k-1 log(l+x)=l=: xk k=l k (-1<lxl<1), _1_ = f (-l)kxk l+x k=O (-l<x<l). Są to przykłady szeregów potęgowych (zob. podrozdz. 6.7). PRZYKŁAD 1.1.3. Korzystając z tw. 1.1.2, podać wzór Taylora dla f(x) := logx 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 (k >1). Oczywiście dla x = 1 mamy równości f(k)(l) = (-l)k-l(k -1)! (k >1), logx. Mamy jest też j(O)(l) = /(1) =log 1 = O. Uwzględniając to wszystko we wzorze Taylora (1.1.1), otrzymujemy wyrażenie n (-l)k-1 logx = L k (x - l)k + En(x) (1 <x <2), k=l gdzie •
  • 16. 6 1. NARZĘDZIA MATEMATYCZNE W wyrażeniu otrzymanym dla log x suma I:~=l jest wielomianem.. 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. Za- uważmy, Że ten składnik nie jest wielomianem, gdyż ezależy od X W sposób niewielomianowy. . .. Wzór Taylora pozwala obliczać przybliżone wartości funkcji w konkret- nych punktach. We wzorze dla logarytmu, tj. 1 1 (-1r-1 logx = (x-1)- 2(x-1)2 + 3 (x-1)3 -.„+ n (x-lr+En(x), mamy IEn(x)I = n:1c<n+l)(x - 1r+l < n:1(x - 1r+l, gdyż 1 < e i e-(n+l) < 1. PRZYKŁAD 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? Rozwiązanie. Dla x = 2 mamy n ( l)k-1 log2 = L - k + E11 (2), k=l 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 średniej: TWIERDZENIE 1.1.5. Jeśli f E C[a, b] i jeśli f' istnieje w przedziale otwar- .. „' tym (a, b), to dla x i cz przedziału domkniętego [a, b] jest · ·, , ' • ~ ! f(x) = f(c) + !'(e)(x - c), gdzie e leży między C i X. „ ...: ,: „:· . ·~ ·.:. ' • I ·„ ·..;. ;··'( ·.• ' „ .. , .• :.· 1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA 7 Dla x = b i c = a wynika stąd wa$na równość ·"'' 'f(b)'~}(a) = J'(e)(b- a);• gdzie''··a::.:::t <b, a to daje wyrażenie przybliżone dla f'(x): ·.. .f'(x).'Rj f(x + h) - J(x - h); . . ~ ~ rozważamy je w podrozdz. 7.1. Szczególnym przypadkiem twierdzenia o wartości średniej jest twier- dzenie Rolle'a: TWIERDZENIE 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 !'Ce)= o.· wobu ostatnich twierdzeniach może istnieć więcej niż jeden punkt e .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: .. TWIERDZENIE,1.1.7. Jeśli f E cn+l[a, bj, to dla dowolnych punkt6w X i c przedziału domkniętego [a, b] jest : . n 1 . f(x) ~-E k! j(k)(c)(x - c)k + Rn(x), . ··gdzie .~>:.'· ·/.~:·;: Rn(x·):·;,,,,, ~ J~ 1<n+1l(i)(x _:__~)n dz .„ '. · •• • . . ·: n! c · · · · Inne warianty wzoru Taylora. 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: . TWIERDZENIE 1.1.8. Dla funkcji f Z Cn+l(a, b] oraz dowolnych punkt6w X · i x +h przedziału domkniętego [~, b] jest . ,_. _:.· . ~ ·. · · n hk · • J(x +_h) = L klJ(k)(x) + En(h), · ·(1.1.2) k=O . . . .• ·„.·
  • 17. 'i 8 , '1: NARZĘDZIA MATEMATYCZNE gdzie ,hn+l E (h) = JCn+l)(c)· n (n+ 1)!, '" ' punkt eleży między X i X +h. PRZYKŁAD 1.1.9. Za pomocą wzoru Taylora wyrazić A'v+h i znaleźć war- tość przybliżoną dla 10i.0001. Rozwiązanie. Dla f(x) = Ax jest j<n>(x) = Ax(logAr.,z'(l.1.2) wyni- ka, że ,: Dla A= 10, x = 1ih=10-4 jest zatem 10i.ooi = 10(1+10-4 (1og 10) + ! ·10-8 (log 10)2 + ...) :::::J :::::! 10(1 + 2.30258 5093 X 10-4 + 2.650949 X 10-8 ) :::::! :::::! 10.00230 285. • ' •·· •• •fa 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ól- nego przypadku użytecznego dalej. Dla funkcji f: llł2 ----> Jlł wzór Taylora upraszcza się, jeśli stosujemy w nim szczególną symbolikę: TWIERDZENIE 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 n 1 ( 8 8 )i f (x + h, y + k) = 'L 7i h- 8 +k- 8 J(x, y) + En(h, k), i=O i. X y (1.1.3) gdzie 1 ( 8 8 )n+l En(h, k) = h-+ k-• ··'· · f(x +Oh y +Bk)• '·''(ff!~ O:<n (n+ 1)! 8x. 8y ' ..·.· · ' 1.1. PODSTAWOWE POJĘCIA I WZÓR TAYLORA 9 Symbolikę zastosowaną w twierdzeniu wyjaśniają przykłady: ( 8 8 )o h 8 x + k 8 y f (x, y) = f(x, y), ( 8 8 ) 1 ( 8f 8f) h 8 x +k 8 y f(x,y) = h 8 x + k 8 y (x,y), ( 8 8 ) 2 ( 2 8 2 J 8 2 J 2 8 2 J) h 8x + k 8y f(x,y) = h 8x2 + 2hk8x8y + k 8y2 (x,y), ... Oznaczenia: fx = 8f/8x, fv = 8f/8y, fxx = 82f /8x2, fxv = 82f /(8x8y), fYY = 82f I8y2 upraszczają postać początkowych składników wzoru (1.1.3): f(x + h, Y + k) = f + (hfx + kfy) + !(h2 fxx + 2hkfxy + k 2 fyy) + .. · Po prawej stronie funkcja f i jej pochodne cząstkowe są obliczane w punkcie (x,y). PRZYKŁAD 1.1.11. Jakie są początkowe składniki wzoru Taylora dla funk- cji f (x, y) = cos(xy)? Rozwiązanie. Dla tej funkcji 8f . ( ) 8f . ( ) - 8 = -ysm xy , - 8 = -xs1n xy , X y 82 J a2 1 8 x2 = -y2cos(xy), 8 x 8 y = -xycos(xy) - sin(xy), 82! 2 8 2 = -x cos(xy). y 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.h2(y + Ok)2 cos[(x + Oh)(y +Ok)]- - hk{(x + Oh)(y +Ok) cos[(x + Oh)(y +Ok)]+ sin[(x + Oh)(y +Ok)]}- 1 - 2.k2(x + Oh)2cos[(x + Oh)(y +Ok)]. •
  • 18. 10 1. NARZĘDZIA MATEMATYCZNE ZADANIA 1.1 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 f jest różniczkowalna w x, to r f (x +h) - f (x - h) = !'( ) h~ 2h 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 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 „· : :~ log 2, to jak można oszacować błąd? . :. 1 : • ~ • 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 I: f(t) dt należy do cn+l(JR). . 8. Wykazać, że jeśli 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 wzo- ru 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 - ~x2 dla małych x? Dla jakich x to przybliżenie daje poprawne wyniki zaokrąglone do trzech cyfr dziesiętnych? 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ć e2 z dokładnością,···· do czterech cyfr dziesiętnych (po zaokrągleniu)? · . 13. Znaleźć 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.510-1. Ile składników wzoru trzeba uwzględnić? 14. Znaleźć wzór Taylora dla funkcji f(x) = e2 "' sinx i n= 2 w otoczeniu punktu 7r/2. 1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA 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 - x2 /2)1, (b) lsinx - x(l - x2 /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ą. „ '. ~ . 1.-2.· Rząd zbieżności i inne po~sta~~we po~ęc~a W obliczeniach nu~er;~~nych, szdzęg~ini~ na ~~pe;~zybkich komputerach, często się zdarza, że zamiast ostatecznej odpowiedzi otrzymujemy ciąg przy- bliż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ś pre- zentuje~y tylko kilka pojęć wprowadzających w temat. • 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 Xn = L, n->oo . jeśli każdemu dodatniemu c odpowiada takie rżeczywiste r, że lxn - LI < c ~~. . dla każdego całkowitego n > r. Jest, na przykład, : , "• ''R ./"'" n+ i ·. lim·--= 1. n->qo. n „.
  • 19. '' ·, I i i 'I , I 'i 12 1. NARZĘDZIA MATEMATYCZNE Mniej banalny przykład wiąże się z definicją e := lim (1 +.!.)n n-+oo n ważnej liczby niewymiernej e. Oto niektóre elementy ciągu Xn = (1+1/n)n: Xl = 2.00000 0, XlQ = 2.59374 2, X30 = 2.674319, X50 = 2.691588, XlQOO = 2.716924. 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 obli- czenia w podwójnej precyzji, można postawić hipotezę, że lxn+l - ei l lxn - ei -+ · Taka zbieżność (zwana logarytmiczną) jest znacznie wolniejsza od określonej dalej zbieżności liniowej. Rozważmy teraz ciąg Xn-lXn + 1 Xn+l = Xn-1 +Xn Dla wybranych dwóch wartości początkowych mamy xo = ~.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). Jest tak rzeczywiście, gdyż Xn+1-l Xn-1-l ----= -+O Xn -1 Xn-1 +xn Taką zbieżność nazywamy nadliniową. Jeszcze szybciej jest zbieiny 'ciąg określony wzorami: 1 1 X1 = 2, Xn+l = - 2 xn + - (n): 1). Xn Jego początkowe elementy są następujące: X1 = 2.00000 0, X2 = 1.50000 0, X3 = 1.41666 7, X4 = 1.414216. Granicą ciągu jest v'2 = 1.414213562 ... , a jego szybka zbieżność wynika z równości Xn+l - vf2 1 1 (xn - v'2)2 = 2xn -+ 2v'2 ~ 0 · 354 · Mamy tu do czynienia ze zbieżnością kwadratową. 1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA 13 Rząd zbieżności Opisując prędkość, z jaką ciąg dąży do granicy, używamy specjalnej ter- minologii. 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 lxn+l - x*I ~ cixn - x*I (n): N). Zbieżność jest co najmniej nadliniowa, jeśli istnieją ciąg {en} zbieżny do O i liczba całkowita N takie, że lxn+l - x*I ~ enlxn - x*I (n;,;;. N). Zbieżność jest co najmniej kwadratowa, jeśli istnieją stała dodatnia C (nie- koniecznie mniejsza od 1) i liczba całkowita N takie, że lxn+l - x*I ~ Clxn - x*l2 (n): N). Ogólniej, jeśli istnieją stała dodatnia C, stała a > 1 i liczba całkowita N takie, że lxn+l - x*I ~ Clxn - x*I°' (n;,;;. N), to mamy zbieżność co najmniej rzędu a. Do wprowadzonych tu pojęć wró- cimy w rozdz. 3 2). Symbole O i 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 jeśli istnieją stałe Ci no takie, że lxnl ~Cl ani dla każdego n): no. Mówimy, że Xn jest równe „O dużemu" od an. 2) Z numerycznego punktu widzenia ciąg zbieżny co najmniej nadliniowo pozwala na ogół 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.).
  • 20. li 14 1. NARZĘDZIA MATEMATYCZNE Relacja 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 Ojest 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 Oco najmniej tak szybko jak {an}· Jeśli Xn ~ o(an), ' to ciąg {xn} jest zbieżny do Oszybciej niż {an}· Oto kilka przykładów: Przykład 1.1.4 prowadzi do wniosku, że n-1 (-l)k-1 (l) log 2 - 2= k = o ;, . k=l (1.2.1) (1.2.2) Dla n --t oo podane wyżej sumy są zbieżne bardzo wolno do log2. Natomiast>".':~ .. równość " ·· ·::-'· . „ (lxl <1) ilustruje bardzo szybką zbieżność pewnych sum do ex. .. Wprowadzone oznaczenia są używane nie tylko dla ciągów. Możemy na ,: ·· przykład napisać, że ·./ ·;._~·."· ··· x3 sinx = x - 6 + O(x5 ) (x --t O). .~-. Rozumiemy to tak, że istnieją otoczenie punktu Oi stała C takie, że w tym"..:' ·:,, otoczeniu „.. I x31 sinx - x + 6 <Cjxj5 • . : .:·.a.·" „.. ' Można to sprawdzić, korzystając ze wzoru Taylora dla n= 4 i f(x) = sinx.: ·.i . .'„*;' •'•. 1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA 15 Równość f(x) = O(g(x)) (x --t oo) oznacza, że.istnieją takie stałe r i O, że lf(x)I <Clg(3t)I dla każdego x >r. Jest na przyJdad · · . · < ··:· J~2.+~ ~ o(x') . (x -7 oo);·.: . . . .. . . . gdyż -Jx2 + 1 < 2x dla x ;;;;. 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. 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ś~. „ ::: • · •.••• {f • • • f(x) = o(g(x)) (x ·~:i;*) ,• .. ' „ jest rów~~ważna temu, ie limx-+x•.[J(x)/g(x)]= O. " Twier~zenie o wartości średniej-dla .całek . .. · : ;W analizie numerycznej jest często potrzebne następujące twie_rdzenie o war- .• . 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 eE [a, b] taki, ze . 1 .b 1b .. . . a· ~(x)v(x) dx = u(e) a ~(x)dx. ,. · Kt:e~y· ~olny .i górny .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 <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 s.~·oznaczamy symból!'l~)nf.S. · ,, ~· ..
  • 21. l i'/ ! li J I ł6 1. NARZĘDZIA MATEMATYCZNE 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 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 rze- czywistych 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 . 1 sup smx = 2. O<x<?r/6 Funkcje jawne i uwikłane Funkcje są zwykle definiowane za pomocą jawnego wyrażenia, które pozwala obliczać wartość funkcji dla dowolnego argumentu. Przykładem jest definicja f(x) := V7x3 - 2x. Istnieje jednak wiele innych metod definiowania funkcji, np. za pomocą rów- nania 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 błędu, oznaczana erf x i określona przez całkę: erf x = Jrr fox e-t 2 dt. W tym podrozdziale rozważamy funkcje uwikłane, tj. zdefiniowane w sposób niejawny. Rozumiemy to tak, że dana jest funkcja G dwóch zmien- nych i że z równania G(x, y) =O chcemy odtworzyć y jako funkcję x. W pew- nych przypadkach możemy rozwikłać. to równanie i otrzymać y = f(x). Na przykład, z równania y2 +3xy-7=0 wynika, że y = ~ (-3x ± v'9x2 + 28) , 1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA co daje dwie jawne funkcje. Podobnie, z równania sin(y + 7) = x3 - 2 wynika funkcja określona jawnym wzorem: y = arc sin (x3 - 2) - 7; 17 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 _„„„ X 2 2 ,/l/z=l-x -y =G(x,y) y H.YS. 1.4. Powierzchnia G przecina płaszczyznę xy wzdłuż krzywej G(x, y) =O Poniższe ważne twierdzenie opisuje taką sytuację. 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 aaI8y f. o' to istnieje liczba dodatnia oi funkcja f mająca pochodną ciągłą dla lx - xol <o i taka, że f(xo) =Yo i G(x, f(x)) =O dla lx - xol <o. PRZYKŁAD 1.2.3. Czy równanie X 7 +2y8 - y3 = 0 określa y jako funkcję zmiennej x o pochodnej ciągłej w pewnym otoczeniu punktu x = -1?
  • 22. 18 1. NARZĘDZIA MATEMATYCZNE Rozwiązanie. Żeby odpowiedzieć na to pytanie, przyjmijmy, że G(x,y) = x7 + 2y8 -y3 i (xo, Yo)= (-1, 1). Jest zatem G(x0 , Yo)= Oi 8G = 16y1 - 3y2 ay , 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 x0 = -1. • Jeśli 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 mia- nowicie 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 8Gdy ox + oy dx =o, skąd '··' ••• „ i.. /'• .·· ·. dy=_ 8G/8G dx OX oy' :·_:i"."·.... czyli t'(x) = - ac/ ac_ ax ay Pochodna wyraża się przez x i y 3). 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 x3-y7+4x2+y4 -24 =O? Rozwiązanie. Różniczkowanie opisane wyżej daje równanie 3x2 - 7y6 ddy + 8x + 4y3dy =O. ·'· „: .•.: X 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. • W podrozdziale 3.2 omawia się pewne zadania numeryczne związane z funkcjami uwikłanymi. 3 ) W podobny sposób można znaleźć także pochodne wyższych rzędów funkcji uwi- ldanej i dzięki temu obliczyć dobre przybliżenia jej wartości (przyp. tłum.). .; 1.2. RZĄD ZBIEŻNOŚCI I INNE PODSTAWOWE POJĘCIA 19 ZADANIA 1.2 1. Obliczanie elementów Xn = (1. + 1/n)1i ·ciągu poz~al~ wnioskować, Że ·t~n ciąg jest ściśle rosnący. Udowodnić, że tak jest. Wskazówki: Po pierwsze, je- śli logf(x) jest funkcją rosnącą; to J(x) ma tę samą własnbść. Po drugie, jeśli f'(x) >O, to f jest funkcją rosnącą. Na koniec, logt można określić jako J;t-1 dt. 2: (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 n~oo. 4. Wyznaczyć najlepszii, wartość całkowitą kw równaniu 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 · 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.. 7. Rozważyć szereg x2 3x3 · 9x4 etgx = 1 + x + 2f + 3f + 4f + ... (lx!< 7r/2). Zachowując trzy składniki szeregu, oszacować jego resztę używając symbolu o( ) Z najlepszym całkowitym wykładnikieIJ1 dla X ~ 0. _8•.Powtórzyć poprzednie zadanie, ale ~la szeregu · · tgx · x?- · 7x4 62x6 ' . log T·= 3 + 90 .+ 2s35 + ..~ · · .(0'<.lxi < 7r/2), i używając symbolu O(). > • 9. Zbadać, dla jakich 'Y i ó całkowitych wykropkowane składniki w szeregu . , n-1 k lÓg(l+x) = °L(-l)k-1 xk +·... k=l . ~ożna dla X ~ ozmienić 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~ n2 (d) Xn = 5n2 + 9n3 + 1, <Xn = n3 (b) Xn = 5n2 +9n3 + 1, <Xn = 1. (e) Xn =../n+ 3, <Xn = l/n .(c) Xn=.../n+3, an::=l •
  • 23. i.! 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- h4 )- 1 , cosh i 1 +sinh3 mają tę samą granicę dla h--> O. Przedstawić każde z nich w postaci f(h) =c +CJ(h"') =c +o(hf3), wybierając najlepsze a i f3 całkowite. 13. (cd.). Jaka jest granica i jaka jest szybkość zbieżności dla h--> Owyrażenia Przedstawić wyrażenie w postaci podanej w poprzednim zadaniu. 14. Wykazać, że następujące zdania są fałszywe: (a) e"' - 1 = CJ(x2 ) dla x--> O. (b) x-2 = CJ(ctgx) dla x--> O. (c) ctgx = o(x-1 ) dla x--> O. 15. Niech będzie {an}--> Oi 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 n :L>k = 1/(1 - x) +o(xn) (x--> O). k=O 20. Wyznaczyć najlepsze f3 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 + x2 /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)· 1.2. RZĄD ZBIEŻNO~CI I INNE PODSTAWOWE POJĘCIA 21 26. Udowodnić, że jeśli Xn = o(an) i Yn = o(an), to Xn +Yn = o(an)· 27. Wykazać, że xr = CJ(e"') (x--> oo) dla dowolnego r >O. 28. Wykazać, że logx = CJ(xr) (x--> oo) dla dowolnego r >O. 29. Udowodnić, że jeśli an ........ o, Xn = CJ(an) i Yn = CJ(an), to XnYn = o(an)· 30. Udowodnić, że jeśli Xn = CJ(an), to a;;1 = CJ(x;;1 ). Wykazać, że ta własność zachowuje się po zmianie relacji () na o. 31. Stosując twierdzenie o wartości średniej dla całek, wykazać, że dla pewnego y E (O, 7f/2) jest r12 J 0 e"' cos x dx = eY. 32. Pokazać na przykładzie, że w tw. 1.2.1 nie można usunąć założenia o ciągłości funkcji u. 33. Obliczyć wartości wyrażeń: (a) supxEIR arctgx, (b) SUPx;;.o e-x, (c) infxEIR ex, (d) SUPxEIR (x2 +1)-l. 34. Wyrazić w jawnej postaci dwie funkcje określone w sposób uwikłany za pomocą równania (x3 - l)y + exy2 +cosx - 1 =O. 35. Rozwiązania równań różniczkowych otrzymuje się często w postaci uwikłanej. Pokazać, że równanie opisuje rozwiązanie równania różniczkowego dy = -(6x2 y2 + 2xy + ex)/(4x3 y + x2 ). dx 36. W astronomii jest używane równanie Keplera: x - y + e siny = O, gdzie pa- rametr 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 posta- ci 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.
  • 24. ZADANIA KOMPUTEROWE 1.2 Kl. Rozważmy związek rekurencyjny Xo = 1, Xn+l = Xn +Xn-1 (n;;;;. 1). Można wykazać, że jeśli c = (1 + ,./5)/2, to Podobnie, jeśli c = (1 - ,./5)/2, to -(1-,./5)" Xn - 2 ., a jeśli c = 1, to ( ) n+l ( )n+l X=_!_ 1+,./5 _ _!_ 1-,./5 n,;g 2 J5 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 „.... 1.3. Równania różnicowe 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. Podstawowe pojęcia W dalszym ciągu V będzie oznaczać zbiór wszystkich ciągów nieskończo-· nych, takich jak 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,· 1.3. RÓWNANIA RÓŻNICOWE W zbiorze V określamy dwa działania: ····x·+·1i := {x1 +y~,x2 +Y2;~~·+y;,...}:""''' .Xx := {.Xx1,.Xx2,.Xx3, ...}. Krócej wyrażamy to tak: · (x +Y)n := Xn +Yn, (.Xx)n := AXn· 23 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: . . ., :-. . . , . (1) v. = {1,0,0,0,....}, . v<2 >={O, 1, O, O, ...}, (3) ':..:...' . . '·V . -: {O, 0, 1, 0, ...}, .... ·. Interesują nas operatory liniowe L: v·.:..:+V. Jednym z najważniejszych •. jest operator przesunięcia o symbolu E, określony wzorem ,·. 'J'ak więc ,. . ' ,•· .. ·..-,, · (Ex)n = Xn+l· .. ·. ." • w-J' .• ' ... Operator E można stosować wielokrotnie; ·co daje ogólnie równość . ·,(Ek ) .. ·X n= Xn+k (k ~·o) .. . Oczywiście E0 jest ~perat~rem identyczności (o symbolu I), czyli (E0x)n = (Ix)n =: Xn· W pozostałej części tego podrozdziału ograniczamy się do operato- rów liniowych, które można wyrazić jako kombinacje liniowe potęg operato- ra 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'. L = 'I:c.;Ei. (1.3.1) i=O •. .~~J~dnym z nich jest bardzo często stosowany operator~; zob. zad. 14 (przyp. tłum.).
  • 25. li ,. !. lr I.. ""lil!l'l!ll' 24 1. .NARZĘIJZIA MATEMATYCZNE 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 w(1.3.1) jest wielomianem względem E. Możemy więc napisać, że L =p(E), gdzie p jest wielomianem charakterystycznym operatora L, określonym wzorem m p(.) = L C;Ai. i=O Zadaniem, które tu rozważymy, jest wyznaczenie wszystkich rozwiązań równania różnicowego liniowego jednorodnego Lx = O, gdzie L jest operato- rem postaci (1.3.1). Jest on linfovy, 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, roz- ważmy konkretny przykład operatora L taki, że m = 2, co = 2, c1 = -3 i c2 = 1. Wtedy równanie Lx= Oma postać Xn+2 - 3xn+l + 2xn =O (n;;;;. 1). (1.3.2) Konstrukcja ciągów spełniających to równanie jest bardzo prosta. Istotnie, możemy wybrać dowolnie x1 i x2 , a następnie obliczać x3 , x4 , ... z (1.3.2). Daje to na przykład ciągi {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 + 2.n =O, .n(.2 - 3. +2) =O, .n(. - 1)(. - 2) =O. 1.3. RÓWNANIA RÓŻNICOWE 25 Te elementarne rozważania dowodzą, że istnieje jeszcze dokładnie jedno roz- wią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ć x1 = a+ 2(3, x2 = a+ 4(3. Ten układ określa jednoznacznie a i (3, gdyż wyznacznik jego macierzy 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 mniej- szych od n, to Xn = 3xn-1 - 2Xn-2 = 3(aun-1 + f3vn-d - 2(aun-2 + f3vn-2) = = a(3un-l - 2Un-2) + f3(3vn-1 - 2Vn-2) = aun + f3vn. Ten przykład ilustruje przypadek wielomianu charakterystycznego o pier- wiastkach pojedynczych 5). Pierwiastki pojedyncze TWIERDZENIE 1.3.1. Jeśli A jest pierwiastkiem wielomianu p, to ciąg {A,.2 , .3, .••} spełnia 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. 26 1. NARZĘDZIA MATEMATYCZNE 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 . m m p(E)u = (L qEi)u = L q(Eiu) = L q>..iu = p(>..)u. i=O i=O i=O Jeśli p(>..) =O, to p(E)u =O, co należało udowodnić. ·.; · 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 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ć m Xi = L ak>..1 (1 <(i <( m). k=l "' Macierz kwadratowa stopnia m, o elementach >..1 jest nieosobliwa; gdyż' ·': ·: w przeciwnym razie zachodziłyby nietrywialne równości m m :Z::bi>-1 =o, czyli L bi>..1-I =O (1 <( k <( m), i=l 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, · . ' ;.. .. '. (1.3.4) , ·:. 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. • 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 p(E)x(>..) = p(>..)x(>..). „ • . . .t'. 1.3. RÓWNANIA RÓŻNICOWE 27 Różniczkowanie stronami względem >.. daje równość ,. • li;.. , • " ' ·~. .. . • ' : •.t. ~ .. „~,'i·, . "~ ' •...• : :.•"' 1•.' p(E)x'(>..) = p'(>..)x(>..) + p(>..)x'(>..). 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(>..), · 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ż I >.. >..21 1 2>.. =I- o, 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ów- nanie różnicowe p(E)x =O: .. .'x(>..) := {>..,>..2,>..3, ...}, •' :.. ;;'(>..)':~_.{1;2:x',3>..2, ...}, '' x"(>..) :={O, 2, 6>.., .. .}, ... , . ' ' k-1. . . • (k-1) ·- d 2 '3 . . X ~>..) .- d>.k-1 {A, A 'A ' ...}. TWIERDZENIE 1.3.2. Niech p będzie wielomianem takim, że p(O) =/:- O. Wte- dy 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<k-l)(>..). PRZYKŁAD 1.3.3. Znaleźć ogólne r.ozwią~anie równania różnicowego . . .. " . . ••.. ·....::4x~~3 +1xn+2 +2xn+l'-.:u:n;.~·o. .. :" ;' : .. •. . • . ·. . .•..• ; ~' „ .~ozwiąz~nie. Jest'.to równani~ p(E)x·~ Q, gdzie · ·p(>.) := 4>.3 + 7>.2 +·2>. -1 =·(X+ 1)2.(4>.. - i): . . Ten wielomian ma pierwiastek pbdwÓjny -1 i pierwiastek pojedynczy l· .Bazowymi rozwiązaniami są ciągi x(?l) := {-1, 1, -1, 1, ...}, . •. . .· . x'(_;1) := {1, -2, 3, -4, ...}, . ' . . . X( l) ·-{ 1 1 _!_. • } 4 .- 4, 16' 64'.„ ' : .. ··... '"
  • 27. t t' 28 1. NARZĘDZIA MATEMATYCZNE a ogólne rozwiązanie wyraża się wzorem x = ax(-1) +,6x'(-1) +1x(t)· Inaczej mówiąc, • Równania różnicowe stabilne 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ą ograni- czone. 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. TWIERDZENIE 1.3.4. Jeśli wielomian p jest taki, że p(O) =f. O, to równanie różnicowe p(E)x = O jest stabilne wtedy i tylko wtedy, gdy wszystkie pierwiastki tego wielomianu leżą w kole lzl ~ 1, a pierwiastki wielo- krotne w kole lzl < 1. 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 wykazać, że (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 twierdze- niu. 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ść • 1.3. RÓWNANIA RÓŻNICOWE 29 PRZYKŁAD 1.3.5. Sprawdzić, czy równanie różnicowe z przykł. 1.3.3 jest stabilne. Rozwiązanie. Wiemy, że dla tego równania wielomian p ma pierwiastek podwójny -1 i pojedynczy t· Równanie jest zatem niestabilne. • Przykład równania różnicowego o zmiennych współczynnikach można znaleźć w teorii funkcji Bessela. Punkcja Bessela Jn jest określona wzorem 1 lo7r Jn(x) := - cos(xsinB - nB) dB. 7f o Z tej definicji wynika od razu, że IJn(x)I ~ 1. Nie jest tak oczywisty (ale jest prawdziwy) wzór rekurencyjny Jeśli dla pewnego x znamy wartości Jo(x) i J1(x), to stosując ten wzór możemy obliczyć 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 rekuren- cyjnych można znaleźć w następujących publikacjach: Abramowitz i Stegun [1964, s. xiii], Cash [1979], Gautschi [1961, 1967, 1975], Wimp [1984]. ZADANIA 1.3 1. 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? 3. Niech p będzie wielomianem stopnia m i niech będzie p(O) i O. Udowodnić, że jeśli ciąg x zawieram kolejnych zerowych elementów i p(E)x =O, to x =O. 4. 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? 5. Jakie są wartości własne i wektory własne operatora E? 6. 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. 7. Niech układ (v<1l, v<2l, ...) 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.
  • 28. '' ., i 30 1. NARZĘDZIA MATEMATYCZNE 8. (cd.). Wykazać, że dowolne dwa operatory postaci opisanej w poprzednim za- daniu komutują. 9. Wykazać, że jeśli L1 i L2 s~~ kombinacjami liniowymi potęg operatora E oraz jeśli L 1 x = O, to LiL2 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) (4E0 - 3E2 + E3 )x =O (b) (3E0 - 2E + E 2 )x =O (c) (2E6 - 9E5 + 12E4 - 4E3 )x =O 12. Wykazać, że jeśli wielomian p ma współczynniki rzeczywiste i jeśli z jest roz- wią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. Rozwiązać równania: (a) Xn-1-1-nXn =O, (b) Xn-1-1-Xn =n, (c) Xn-1-1-Xn = 2. 14. Określmy operator .6. wzorem Wykazać, że E = I+ .6.. Wykazać, że jeśli p jest wielomianem, to p(E) = p(I) + p'(I).6. + ~p"(I).6.2 + ~p"'(I).6.3 + ... + ~!p(m)(J).6.m. 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[E0 - nE + łn(n - l)E2 - ;fin(n - l)(n - 2)E3 + ... + (-l)nEn]. 17. Podać kompletny dowód tw. 1.3.2. 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. · 20. Udowodnić, że jeśliµ E (O, oo) i i>.I < 1, to limn-oo n1 ' >.n= O. 21. Udowodnić tw. 1.3.4, odrzucając założenie, że p(O) =/= O . 22. Sprawdzić, czy równanie różnicowe Xn = Xn-l + Xn-2 jest stabilne. . ,. 23. Udowodnić, że jeśli x spełnia równanie różnicowe p(E)x = O, to Ex ma tę samą własność. 24. Wykazać, że ogólne rozwiązanie równania Xn 2(Xn-1 + Xn-2) ma postać-· Zn = 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.. 1.3. RÓWNANIA RÓŻNICOWE 31 ZADANIA KOMPUTEROWE 1.3 ...•.. „ .• . Kl. Jednym z rozwiązań równania różnicowego Xn+2 - 2xn+l - 2xn = Ojest 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~ J0 (1) = 0.7651976866 i J 1(1) ·= 0.4400505857 są wartościami funkcji Bessela, obliczyć wartości J2 (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 x1 = -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). .. · ·Porównać wyniki. K5. Rozwiązać numerycznie równanie Xn-1-2 - (7r +7r-l )xn+l + Xn =O dla Xo = 1 . i x1 = 1T. Znaleźć błąd względny obliczonego x59. Powtórzyć obliczenia dla .x1 = 7r-1 i wyjaśnić, dlaczego błędy względne..w tych dwóch przypadkach się różnią.· :,. ' ., . -~. . r. -··· ~ .. •,
  • 29. :'i ,I ROZDZIAŁ 2 Arytmetyka komputerowa 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 wy- raż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 101 +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
  • 30. : I, 34 2. ARYTMETYKA KOMPUTEROWA da się wyrazić tak jak wyżej, wraz z odpowiednim znakiem (+ lub - ). Na ,.. przykład, liczbę -7f wyrażamy tak: .. . .....::, . -7f = -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: Oi 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 przykład (1001.11101)2 = 1 X 23 + 0 X 22 + 0 X 21 + 1 X 20+ + 1Xr 1 +1Xr2 +1 X r 3 +oXr4 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ójko- wym, 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: ·· 1~ = (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 47656 25000 00000 00000. „ . .. 2.1. ARYTMETYKA ZMIENNOPOZYCYJNA 3!i , ,;;.;~:::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•. „ .. , Zaokrąglanie : Zaokrągląl{ie, będzie omawiane-.s:łiczegółOyo 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. Roz- waż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 zaokrąglona do przybliżenia x mającego n cyfr ' .. ·~~ kropce, to ; ' „ . ' ~ . : . ~. . . • · ·1:c..,.·xl < ł x 10-n. ' ,··.··.li; „·.. "·.:· . •„ , •• (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. ·.
  • 31. I~; .1.., I' 'li 11:11 11 111· : I: .. ,.· ,, ' I I 36 2. ARYTMETYKA KOMPUTEROWA Reprezentacja zmiennopozycyjna liczb W układzie dziesiętnym każdą liczbę rzeczywistą x -=/= O można wyrazić w postaci zmiennopozycyjnej: X= ±r X 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 usta- lonej 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 zmiennopo- zycyjnej2). 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 zerama 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 kompu- terze 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 10n tłum.). 2>IEEE - Institute of Electrical and Electronic Engineers (przyp. 2.1. ARYTMETYKA ZMIENNOPOZYCYJNA 37 w przedziale od 2-126 ~ 1.210-38 do (2 - 2-23) x 2121 ~ 3.41038 lub w ana- logicznym przedziale dla liczb ujemnych; do tego dochodzi wyróżniona licz- ba 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 archaicz- na, 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 poje- dynczej 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 wpraw- dzie 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 od- powiednio 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 prze- dział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 wyko- nanie 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 an- gielskich 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 kom- puterowe, 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ą zro- zumienie tego, z jakimi liczbami mamy do czynienia, stosując w obliczeniach konkretny typ arytmetyki zmiennopozycyjnej. Może on zależeć od stosowa- nego 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: .
  • 32. 38 2. ARYTMETYKA KOMPUTEROWA (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ęk- szą 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 dru- gim 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 ostat- nie 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 na- ukowych 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 sprzętowo. Rozkład liczb zmiennopozycyjnych w komputerze jest nierównomierny. Między kolejnymi potęgami dwójki znajduje się tyle samo liczb maszyno- wych. Dlatego znaczna ich część skupia się w pobliżu zera, ale pewne oto- czenie 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. 2.1. ARYTMETYKA ZMIENNOPOZYCYJNA 39 Niech będzie x >O i x = q x 2m, gdzie 1,,;;; q < 2. Stąd gdzie wszystkie ai są równe Olub 1. Jeśli mantysy liczb maszynowych mają t bitów po kropce, to bliska względem x taka liczba powstaje przez odrzuce- p.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 ~ . . .. . . ·. · · I fl( )I~ 11 I 2m...:t-i • X - X ":, - X+ - X_ = . . . . .2 , :W przeciwnym ::azie fl.(x) = x+,i I~ - fl_{x)J ,,;;; ~lx+ - .x-1=2m-t-l':-;. W obu przypadkach błąd względny rep~ezentacji maszynowej liczby x sza- c;ujemy, tak: ·.·· „ . . . t 1 · 1x-fl.(x)1~2m- - = ~2...:.t-l ,,;;;.rt-1. X 2mq q . :Wprowad~iwszy wielkość ó = (x* - x)/x wnioskujemy 'stąd, że . . . fl.(x) .= x(l +ó), gdzie lóJ'.~ 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 t = 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)? . .