Zaawansowane metody numeryczne Komputerowa analiza

Transkrypt

Zaawansowane metody numeryczne Komputerowa analiza
Zaawansowane metody numeryczne
Komputerowa analiza zagadnień różniczkowych
Omówienie
P. F. Góra
http://th-www.if.uj.edu.pl/zfs/gora/
semestr letni 2006/07
Nazwa przedmiotu
Przedmiot ten wystepuje
˛
pod dwoma nazwami:
• Jeśli studiujesz fizyk˛e, przedmiot nazywa sie˛ Zaawansowane metody numeryczne, jest obowiazkowy
˛
dla IV roku, specjalizacja Fizyka komputerowa
oraz, mam nadzieje,
˛ pożyteczny dla studentów innych specjalizacji.
• Jeśli studiujesz informatyk˛e, przedmiot nazywa sie˛ Komputerowa analiza zagadnień różniczkowych, jest obowiazkowy
˛
dla III roku, sekcja Modelowanie
oraz, mam nadzieje,
˛ pożyteczny dla studentów innych sekcji.
• Jeśli uważasz te˛ sytuacje˛ za cokolwiek schizofreniczna,
˛ to. . .
Omówienie
2
Zakres materiału
Zasadniczym celem kursu jest przedstawienie najważniejszych metod numerycznego rozwiazywania
˛
równań różniczkowych i zagadnień pokrewnych. Niniejszy kurs nie jest kursem programowania — celem nie jest umiejetość
˛
pisania
programów w takim lub innym jezyku
˛
programowania, ale umiejetość
˛
świadomego wybrania algorytmu właściwego do danego zagadnienia. Ponieważ numeryczne rozwiazywanie
˛
równań różniczkowych cz˛esto prowadzi do innych zagadnień numerycznych, na poczatku
˛
przypomnimy troche˛ informacji na temat
tych “innych zagadnień”.
Omówienie
3
Szczegółowy plan kursu obejmuje:
1. Rozwiazywanie
˛
układów równań liniowych
(a) Wiadomości wstepne
˛
i metody dokładne
(b) Singular Value Decomposition
(c) Metody iteracyjne
(d) Metody typu gradientów sprz˛eżonych; prewarunkowanie
2. Elementarne metody minimalizacji funkcji wielu zmiennych (metoda najszybszego spadku, gradientów sprz˛eżonych, zmiennej metryki, metoda
Levenberga-Marquardta)
3. Rozwiazywanie
˛
układów równań algebraicznych (nieliniowych)
4. Podstawowe twierdzenia o istnieniu i jednoznacznośći rozwiaza
˛ ń ODE
• Proste przykłady analityczne, w tym równania liniowe, w tym równania
o stałych współczynnikach
Omówienie
4
5. Metody Eulera (jawna, niejawna, zgodność, stabilność, układy sztywne)
6. Metody punktu środkowego
7. Metody Rungego-Kutty
(a) Ogólne własności
(b) Przykłady
(c) Wyprowadzenie wzorów
(d) Stabilność metod RK; obszary stabilności
(e) Szczególne postacie metod RK
(f) Metoda Rosenbrocka
(g) Zmiana kroku w jawnych metodach RK; metody zagnieżdżone
(h) Metody Bulirscha-Stoera
8. Metody Verleta
Omówienie
5
9. Liniowe metody wielokrokowe (własności równań różnicowych, metody
Adamsa-Bashfortha, Adamsa-Moultona, BDF, stabilność, zmiana kroku)
10. ODE z niezmiennikami (rzutowanie, algorytmy symplektyczne, układy DAE
— indeks, postacie Hessenberga)
11. Stochastyczne równania różniczkowe (interpretacja szumów i rachunek Ito,
silny i słaby rzad
˛ zbieżności, metoda Eulera-Maryuamy, metoda Milsteina,
metoda Heuna, inne metody wyższych rz˛edów)
12. Dwupunktowe problemy brzegowe (istnienie rozwiaza
˛ ń, stabilność, metoda
strzelania, relaksacja na siatce)
13. Metody różnicowe dla czastkowych
˛
równań różniczkowych
Omówienie
6
Zaliczenie
Zaliczenie wykładu dokonuje sie˛ na jeden z dwu sposobów:
• Zdanie egazminu ,
• Regularne rozwiazywanie
˛
zadań “dla wszystkich”, zadawanych po wykładzie. Osoby planujace
˛ zdawać egzamin także sa˛ zachecane
˛
do rozwiazy˛
wania tych zadań.
Warunkiem koniecznym dopuszczenia do egzaminu jest uzyskanie zaliczenia
z ćwiczeń. Zasady zaliczania ćwiczeń ustalaja˛ prowadzacy
˛ poszczególne grupy.
Omówienie
7
W grupie prowadzonej przeze mnie podstawa˛ uzyskania zaliczenia jest rozwia˛
zanie zadań. Zadania “wywieszane” sa˛ przeze mnie wyłacznie
˛
na mojej stronie
WWW.
Zadania dziela˛ sie˛ na “teoretyczne” i “numeryczne”; te drugie oznaczone sa˛ litera˛ N. Uwaga: Niektóre zadania obliczeniowe uznawane sa˛ za teoretyczne —
mianowicie takie, gdy obliczeń jest stosunkowo niewiele i da sie˛ je przeprowadzić na kartce. Warunkiem koniecznym uzyskania zaliczenia jest zaliczenie wszystkich zadań numerycznych. Rozwiazania
˛
zadań numerycznych prosz˛e dostarczać wyłacznie
˛
w formie pisemnej. “Forma pisemna” oznacza wydruk
lub “elektroniczna˛ forme˛ pisemna”,
˛ to znaczy plik pdf lub PostScript. Niezależnie od formy, rozwiazanie
˛
powinno zawierać omówinie problemu oraz wyniki
w postaci “prezentacyjnej”, a przynajmniej uporzadkowanej.
˛
Jeśli na przykład
zadanie wymaga porównania kilku metod, wyniki powinny być przedstawione
Omówienie
8
w postaci umożliwiajacej
˛
takie porównanie. Jeśli w zadaniu wymaga sie˛ wycia˛
gniecia
˛
jakichś wniosków z dokonanych obliczeń, rozwiazanie
˛
powinno zawierać te wnioski jasno wyartykułowane. Nie oczekuje˛ dostarczania mi kodu programu w każdym przypadku, ale autor rozwiazania
˛
powinien być przygotowany
do przedstawienia mi kodu jeśli sobie tego zażycz˛e. Wolno przy tym posługiwać
˛
procedurami i bibliotekami. Cieżkim
˛
przestepstwem
˛
jest
sie˛ legalnie dostepnymi
przedstawienie mi kodu, którego działania sie˛ nie rozumie, oznacza to bowiem,
że jest to cudzy kod.
Warunkiem koniecznym zdania egzaminu jest dobre opanowanie i zrozumienie
materiału. Nie wymagam pamieciowego
˛
opanowania złożonych wzorów. W czasie egzaminu można korzystać z dowolnych podreczników
˛
i własnych notatek.
(Powtórka z logiki: Prosz˛e przypomnieć sobie różnice pomiedzy
˛
warunkiem koniecznym a wystarczajacym.)
˛
Omówienie
9
Jezyk
˛
programowania
Nie ma wielkiego znaczenia. Sukces programu numerycznego o wiele silniej
zależy od wyboru właściwego algorytmu niż od wyboru “właściwego” jezyka.
˛
Pamietać
˛
jednak należy, że program realizujacy
˛ (w zasadzie) dowolny algorytm
można źle napisać w dowolnym jezyku
˛
programowania.
Omówienie
10
Zasoby sieciowe
Piszac
˛ programy, można korzystać z dowolnych legalnych źródeł oprogramowania. Nie wymagam pisania programów od zera. Przyzwoity program numeryczny
pisze sie˛ cz˛esto kilka miesiecy.
˛
Program numeryczny nadajacy
˛ sie˛ do włacze˛
nia do komercyjnej biblioteki pisze sie˛ zazwyczaj ponad rok. Mnóstwo dobrych
i bardzo dobrych programów można znaleźć na sieci:
• http://www.netlib.org — Netlib to najwieksze
˛
na sieci źródło
darmowych i sprawdzonych programów z wielu dziedzin analizy
numerycznej. Uwaga: wiekszość
˛
z programów w Netlibie napisanych jest
w FORTRANie (nawet nie w w Fortranie). Można je automatycznie
tłumaczyć przy użyciu f2c, ale to na ogół nie jest optymalne wyjście.
• http://math.nist.gov/tnt/ Template Numerical Toolkit — algebra
liniowa w C++
Omówienie
11
• http://math.nist.gov/tnt/jama_doxygen/index.html JAMA,
implementacja w C++
• http://www.oonumerics.org">www.oonumerics.org — obiektowo
o numeryce
• http://math.nist.gov/javanumerics/ Java Numerics
• http://plato.la.asu.edu/guide.html Decision Tree for
Optimisation Software
• http://www.fftw.org The Fastest Fourier Transform in the West
Omówienie
12
Dostepne
˛
na sieci FAQs
• http://www.mathcom.com/corpdir/techinfo.mdir/scifaq/index.html
Scientific Computing FAQ
• http:
//www-unix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html
Linear Programming FAQ
• http://www-unix.mcs.anl.gov/otc/Guide/faq/
nonlinear-programming-faq.html Nonlinear Programming FAQ
• http://alife.santafe.edu/alife/topics/cas/ca-faq/ca-faq.html Cellular
Automata FAQ
• http://www.faqs.org/faqs/ai-faq/genetic/part1/preamble.html Genetic
Algorithms FAQ
• http://www.faqs.org/faqs/sci/nonlinear-faq/ Nonlinear Sciences FAQ
Omówienie
13
Literatura
Podreczników
˛
numerycznego rozwiazywania
˛
rónań różniczkowych sa˛ tysiace,
˛ niektóre z nich sa˛
dobre. Ja nie bed
˛ e˛ powielał żadnego konkretnego podrecznika,
˛
korzystał natomiast bed
˛ e˛ z:
1. W. H. Press, B. P. Flannery, S. A. Teukolsky, W. T. Vetterling, Numerical Recipes in
C/Fortran, Second Edition, wersja on-line dostepna
˛
pod http://www.nr.com — tekst
jest pożyteczny, ale przestrzegam przed używaniem kodu
2. G. H. Golub, C. Van Loan, Matrix Computations
3. J. C. Butcher, Numerical Methods for Ordinary Differential Equations
4. M. R. Allen III, E. L. Isaacson, Numerical Analysis for Applied Science
5. U. M. Asher, L. R. Petzold, Computer Methods for Ordinary Differential Equations and
Differential-Algebraic Equations
Poza pozycja pierwsza,
˛ ksiażki
˛ te sa˛ niezbyt łatwo dostepne
˛
/.
Omówienie
14

Podobne dokumenty