Matematyka Obliczeniowa

W tym skrypcie omówimy, jak implementować i testować metody numeryczne przy wykorzystaniu środowiska octave, czyli pakietu obliczeń numeryczno-naukowych. Chodzi nam o metody, które są omawiane w czasie standardowego semestralnego wykładu z Matematyki Obliczeniowej na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego.

Głównym celem zajęć w laboratorium komputerowym, odbywających się równolegle z wykładem i ćwiczeniami z Matematyki Obliczeniowej, jest przetestowanie metod, które są zaimplementowane w pakiecie octave. Omawiamy też implementację metod rozwiązywania numerycznych zadań z wykorzystaniem octave'a. Wykorzystanie pakietu/środowiska matlab jest alternatywą dla pakietu octave. Pakiet ten jest komercyjny i w dużym stopniu kompatybilny z octavem. Szczegółowiej omawiamy kwestię pakietów w rozdziale  [link]. Zapoznanie się ze środowiskiem octave'a lub matlaba jest ubocznym celem laboratorium.

Warto dodać, że zdecydowana większość omawianych w tym skrypcie kodów octave'a będzie działała również w matlabie.

Wszystkie zadania i algorytmy omawiane w tym skrypcie są opisane w podstawowych podręcznikach do matematyki obliczeniowej.

Na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego w semestrze letnim 2010/11 podstawowym podręcznikiem do wykładu z Matematyki Obliczeniowej była książka [Kincaid:2006:AN]. W tej pozycji można znaleźć również sporo zadań komputerowych, które mogą stanowić ciekawe uzupełnienie tego skryptu.

Metody numeryczne omawiane w tym skrypcie są szczegółowo omawiane w innych podręcznikach dotyczących analizy numerycznej, czyli inaczej matematykie obliczeniowej. Spośród nich warto również polecić: [Jankowska:1981:MN],[Jankowska:1982:MN], [Bjorck:1983:MN], [Ralston:1983:WAN] i [Stoer:1980:WMN]. Oczywiście w języku angielskim opublikowano wiele podręczników do matematyki obliczeniowej. Niektóre z nich zawierają zadania komputerowe. Szczególnie polecam książki: [Quarteroni:2003:SCM], [Quarteroni:2000:NM] zawierające więcej materiału, niż obejmuje program standardowego kursu Matematyki Obliczeniowej na wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego. Warto też polecić inne podręczniki i monografie: [Golub:1993:SC], [Golub:1992:SCD], [Demmel:1997:ANL], [Ortega:2000:ISN], [Ortega:1990:NA], [Kelley:2003:SNE], [Trefethen:1997:NLA], [Kielbasinski:1992:NAL], [Hackbusch:1994:ISL] i inne. Zazwyczaj treść tych książek tylko w jakiejś części pokrywa się z zakresem materiału przedstawionym w tym skrypcie. Co do samego octave'a - warto przeczytać manual, tzn. [eaton:2002], dostępny w dziale dokumentacji na stronach octave'a on-line pod adresem: http://www.gnu.org.

Kolejność zagadnień wykładanych w wykładzie z Matematyki Obliczeniowej może się różnić w kolejnych edycjach wykładu. W tym skrypcie przyjęliśmy kolejność zaprezentowaną w wykładzie z Matematyki Obliczeniowej z semestru letniego 2010/11.

W rozdziale  [link] omówimy krótko czym są w ogólności pakiety octave i matlab, oraz skąd można pobrać darmowe dystrybucje pakietu octave. W rozdziale Octave - podstawy omówimy podstawowe obiekty pakietu octave, czyli macierze i operacje na nich, oraz podstawowe struktury programistyczne: pętle, instrukcje warunkowe, operacje macierzowe i wektorowe, skrypty, operatory logiczne, itd. Rozdział Arytmetyka zmiennopozycyjna jest poświęcony arytmetyce zmiennopozycyjnej, czyli błędom zaokrągleń i ich wpływowi na obliczenia numeryczne. W kolejnym rozdziale Interpolacja wielomianowa i splajnowa omawiamy zagadnienie interpolacji wielomianowej i splajnowej. W rozdziale Obliczanie całek. Kwadratury mówimy o całkowaniu numerycznym. Rozdział Rozwiązywanie równań nieliniowych dotyczy metod rozwiązywania nieliniowych równań skalarnych. Rozdział Rozwiązywanie równań liniowych dotyczy numerycznej algebry liniowej, w szczególności rozwiązywania układów równań liniowych, a rozdział Liniowe zadania najmniejszych kwadratów dotyczy kolejnego zadania z numerycznej algebry liniowej, a mianowicie liniowego zadania najmniejszych kwadratów.

SAGE