Metody numeryczne IN 1100-2INZ16
Analiza numeryczna, czyli metody numerycznego rozwiązywania problemów matematycznych, jest prawdopodobnie tak stara jak sama matematyka. Najstarsze znane algorytmy pochodzą z lat około 1800 p.n.e., wiele powstało w starożytnej Grecji, a gęsto występujące nazwy pochodzące od autorów (np. Newton, Gauss, Euler, Lagrange) sugerują rozkwit w XVIII wieku. Wraz z nastaniem ery komputerów metody numeryczne stały się podstawową metodą obliczeniową w niemal wszystkich praktycznych zastosowaniach nauk ścisłych i przyrodniczych, od fizyki do nauk społecznych i od inżynierii do medycyny.
Niezależnie od języka programowania, użycia zaawansowanych pakietów programistycznych, graficznych i tym podobnych narzędzi, każda osoba używająca mniej lub bardziej świadomie komputera do obliczeń numerycznych powinna zdawać sobie sprawę z pewnych ograniczeń wynikających z matematycznych przybliżeń leżących u ich podstaw, oraz problemów zaokrągleń związanych ze sposobem w jaki działają komputery. Niewiedza w tym zakresie, niestety miewa nieraz tragiczne skutki (w sensie dosłownym!).
Na zajęciach omówimy sposoby konstruowania algorytmów, metody ich testowania, ich wady i zalety, oraz ograniczenia na jakie można napotkać podczas ich praktycznego wykorzystywania.
Program:
1. Jak komputer przeprowadza obliczenia numeryczne? Jakie wynikają z tego problemy?
2. Przypomnienie bibliotek do obliczeń numerycznych i wizualizacji danych.
3. Jak wymyślamy algorytmy? Jak zadbać o ich stabilność oraz zbieżność do prawidłowego wyniku?
4. Jak rozwiązać dowolne równanie, nawet takie, które nie posiada rozwiązań analitycznych?
5. Jaki był wynik doświadczenia, pomiędzy pomiarami?
6. Jak policzyć różniczkę i całkę dowolnej funkcji?
7. Dlaczego fizycy wciąż wspominają o Monte Carlo?
8. Jak mnożą się bakterie? Jak zmienia się populacja królików i lisów? Dlaczego trudno ponownie uruchomić reaktor jądrowy?
9. Dlaczego instrumenty mają różne barwy dźwięków i jaki ma to związek ze stratną kompresją danych?
Wykładowi będą towarzyszyć ćwiczenia przy komputerze, na których studenci będą wprowadzać w życie i testować poznane algorytmy. Programowanie będzie odbywać się w języku Python3 (biblioteki numpy i matplotlib),
chętni mogą programować także w innych językach.
Końcowa ocena będzie zależeć od oceny z wykładów (25%) i oceny z ćwiczeń (75%).
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
Po zakończeniu przedmiotu student:
1. Zna podstawowe algorytmy stosowane w obliczeniach naukowych
2. Potrafi zapisać algorytmy numeryczne w postaci programów komputerowych
3. Jest świadomy ograniczeń i błędów związanych z obliczeniami numerycznymi
Kryteria oceniania
Ocena z wykładu będzie wystawiona na podstawie pisemnego testu (25%).
Ocena z ćwiczeń (w sumie 75%) będzie się składać z oceny przyznanej przez asystenta za pracę podczas zajęć oraz zadania domowe (łącznie 25%) oraz dwóch sprawdzianów (każdy po 25%).
Literatura
D. Kincaid, W. Cheney "Numerical analysis" Brooks/Cole 1991
D. Kincaid, W. Cheney "Analiza numeryczna" Wydawnictwa Naukowo-Techniczne 2006
A. Ralston "Wstęp do analizy numerycznej" PWN
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: