O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Kincaid D. - Analiza numeryczna.pdf

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 354 Anúncio

Mais Conteúdo rRelacionado

Anúncio

Kincaid D. - Analiza numeryczna.pdf

  1. 1. W przekładzie i pod redakcją STEFANA PASZKOWSKIEGO DAVID KINCAID WARD CHENEY ( analiza nu111e19Yczna ' i •:-„ t':. „ ' J ·.' -.~: • „ Wydawnictwa Naukówo-Techniczne Warszawa
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)? . .

×