Moduł "Metody Numeryczne"
Syllabus modułu:
Informatyka Stosowana (rocznik 23/24)
Nanoinżynieria Materiałów - obieralny ( rocznik 23/24)
Konsultacje:
poniedziałek, godz. 13:00-14:00, pok. 318, 3 piętro, budynek D7(nowy)
Notatki do wykładu
- Plan wykładu
- (2h) Arytmetyka zmiennopozycyjna, błędy numeryczne
- (3h) Rozwiązywanie algebraicznych układów równań liniowych metodami bezpośrednimi
- (2h) Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi
- (3h) Wyznaczanie wartości i wektorów własnych macierzy
- (2h) Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer
wielomianów.
- (3h) Interpolacja
- (2h) Aproksymacja
- (3h) Minimalizacja wartości funkcji
- (2h) Szybka transformacja Fouriera
- (3h) Całkowanie przy użyciu kwadratur Newtona-Cotesa i kwadratur Gaussa
- (3h) Generatory liczb pseudolosowych
- (2h) Całkowanie metodą Monte Carlo
Treści projektów realizowanych na laboratorium
-
Rozwiązywanie układów równań liniowych metodami bezpośrednimi
- Rozwiązywanie układów równań liniowych metodami bezpośrednimi
- Rozkład LU. Odwracanie macierzy.
- Odwracanie macierzy, obliczanie wyznacznika i wskaźnika uwarunkowania macierzy przy użyciu rozkładu LU
- Rozkład LU macierzy trójdiagonalnej - rozwiązanie równania Poissona w jednym wymiarze
- (GSL) Modelowanie wielomianu - rozkład LU
- (GSL) Testowanie numeryczne własności macierzy idempotentnej i inwolucji, rozkład LU
- (GSL) Ortogonalizacja bazy wektorowej przy użyciu rozkładu LL^T
- (GSL) Ortogonalizacja bazy wektorowej przy użyciu rozkładu QR
-
Rozwiązywanie układów równań liniowych metodami iteracyjnymi
- Rozwiązywanie układu równań liniowych metodą Jacobiego
- Rozwiązywanie układu równań liniowych metodą SOR
- Rozwiązywanie układu równań liniowych metodą sprzężonego gradientu (CG)
- Rozwiązywanie układu równań liniowych metodą największego spadku
(SD)
- Rozwiązywanie układu równań liniowych metodą największego
spadku (SD) - WERSJA 2
-
Wyznaczanie wartości i wektorów własnych macierzy
- Wyznaczanie wartości i wektorów własnych macierzy symetrycznej
- Wyznaczanie wartości własnych macierzy symetrycznej metodą potęgową z redukcją Hotellinga
- Diagonalizacja macierzy operatora energii w 2D
- Uogólniony (symetryczny) problem własny - mody własne struny w 1D
- Niesymetryczny problem własny - mody własne struny w 1D
- Diagonalizacja macierzy metodą potęgową
- Metoda potęgowa z ortogonalizacją Gramma-Schmidta
- Diagonalizacja macierzy symetrycznej metodą potegową z redukcją Hotellinga
-
Wyznaczanie pierwiastków równania nieliniowego
- Wyznaczanie pierwiastków równania nieliniowego metodą Newtona
- Wyznaczanie pierwiastków równania nieliniowego metodą siecznych i Newtona. Badanie zbieżności.
- Wyznaczanie pierwiastków równania nieliniowego metodą siecznych
- Wyznaczanie zer wielomianu metodą siecznych
- Wyznaczanie zer wielomianu metodą iterowanego dzielenia (met. Newtona)
- Wyznaczanie zer wielomianu metodą iterowanego dzielenia (met. siecznych)
- Wyznaczanie zespolonych zer wielomianu metodą iterowanego dzielenia (met. Newtona)
- Wyznaczanie zespolonych zer wielomianu metodą iterowanego dzielenia (met. siecznych)
- Poszukiwanie pierwiastków równania nieliniowego metodą siecznych i Newtona.
-
Interpolacja
- Interpolacja Lagrange'a z optymalizacją położeń węzłów.
- Interpolacja Newtona
- Interpolacja Newtona z optymalizacją położeń węzłów.
- Interpolacja funkcjami sklejanymi w bazie
- Interpolacja funkcjami sklejanymi poprzez wyznaczenie drugich pochodnych
- Interpolacja funkcjami sklejanymi poprzez wyznaczenie drugich pochodnych - wersja 2
- Interpolacja Lagrange'a z optymalizacją położeń węzłów - wersja 2
- Interpolacja Lagrange'a funkcji nieparzystej
-
Aproksymacja
- Aproksymacja w bazie wielomianów ortogonalnych Grama
- Aproksymacja funkcji okresowych
- Aproksymacja funkcji w bazie jednomianów
- Aproksymacja Pade funkcji cos(x)
- Aproksymacja Pade funkcji sin(x)
- Aproksymacja Pade funkcji exp(-x^2)
- Aproksymacja wielomianowa
-
Poszukiwanie minimum wartości funkcji
- Poszukiwanie minimum wartości funkcji w dwóch wymiarach metodą Newtona
- Poszukiwanie minimum wartości funkcji metodą złotego podziału
- Poszukiwanie minimum wartości funkcji metodą interpolacji Powella
- Poszukiwanie minimum wartości funkcji metodą największego spadku w 2D
-
Szybka Transformacja Fouriera
- Szybka transformacja sinusowa: odszumianie sygnału
- Szybka transformacja kosinusowa: odszumianie sygnału
- Odszumianie sygnału przy użyciu FFT - splot funkcji
- Filtr Gaussowski - splot funkcji przy użyciu FFT
- Aproksymacja funkcji przy użyciu FFT
-
Całkowanie numeryczne
- Całkowanie numeryczne metodą Romberga
- Całkowanie numeryczne metodą Simpsona
- Zastosowanie ekstrapolacji Richardsona do całkowania przy użyciu wzorów trapezów i 3/8
- Zastosowanie ekstrapolacji Richardsona do całkowania przy użyciu wzorów Simpsona i Milne
- Całkowanie numeryczne przy użyciu kwadratur Gaussa
- Szacowanie całek niewłaściwych przy uzyciu kwadratur Gaussa
- Całkowanie w 4 wymiarach przy użyciu kwadratur Gaussa-Hermite'a
- Szacowanie całek przy użyciu kwadratur Gaussa
paczka z plikami
-
Generatory liczb pseudolosowych
- Testowanie generatora liczb pseudolosowych o rozkładzie normalnym
- Generator o rozkładzie jednorodnym i trójkątnym
- Generowanie ciągu liczb pseudolosowych o rozkładzie jednorodnym w kuli 3D
-
Metoda Monte Carlo
- Całkowanie Monte Carlo - rozkład normalny i Maxwella
- Wyznaczanie objętości i momentu bezwładności kuli metodą Monte Carlo
- Wyznaczanie momentu bezwładności sześcianu metodą Monte Carlo
- Całkowanie w 4 wymiarach metodą Monte Carlo
- Całkowanie metodą Monte Carlo w 2D z rozkładem eksponencjalnym
Biblioteka GSL
Zainstalowana jest na serwerze Taurus.
Pliki nagłówkowe znajdują się w katalogu
/usr/include/gsl
a skompilowana biblioteka (libgsl.a/.so oraz wymagana libgslcblas.a/.so)
w katalogu
/usr/lib/x86_64-linux-gnu
Kompilacja: gcc *.c -lgsl -lgslcblas -lm
Krótki opis użycia biblioteki numerycznej GSL - macierze i wektory
Dokumentacja GSL
Manual do biblioteki GSL wersja 2.4
Biblioteka Numerical Recipes
Pliki źródłowe znajdują się na serwerze Taurus w katalogu
/opt/old/NR/numerical_recipes.c"
dla C/C++ oraz w
/opt/old/NR/numerical_recipes.f
dla fortrana.
Strona z dokumentacją (stara wersja, ale darmowa)