Metody Numeryczne I
Laboratorium
W semestrze zimowym 2020/2021 laboratorium odbywa zdalnie za pośrednictwem platformy Moodle w poniedziałki w godz. 12-14
Zaliczenie laboratorium
Warunkiem zaliczenia zajęć jest
- rozwiązanie zadań z laboratoriów
- zdanie 2 kolokwiów (zdalnie (?))
Literatura
- Numerical Methods Using Python lectures by Vivi Andasar
Plan
- Podstawy programowania - przypomnienie
- narzędzia: Python, Jupyter, Google Colab
- Różniczkowanie numeryczne
- pochodne pierwszego i wyższych rzędów (zależność od h i błąd metody)
- Równania nieliniowe
- znajdowanie miejsc zerowych (metoda bisekcji, siecznych, Newtona)
- porównanie zbieżności metod.
- wykorzystanie różniczkowania numerycznego w metodzie Newtona
- Interpolacja
- Całkowanie numeryczne
- Metody prostokątów, trapezów, Simpsona
- porównanie metod
- (?) Monte Carlo
- Rozwiązywanie układów równań liniowych
- Eliminacja Gaussa + pivoting
- (?) metoda iteracji prostych
- Obliczanie wyznacznika i macierzy odwrotnej
- Równania różniczkowe
- Układy równań nieliniowych
- met. Newtona-Raphsona
- Znajdowanie wektorów i wartości własnych
Notatniki
Ćwiczenia postaci notatników Jupyter dostępne są w repozytorium GitHub: https://github.com/IS-UMK/mn/
Środowisko pracy
Google Colab (zalecane)
- maszyna wirtualna w chmurze
- wymagane konto Google
- notatniki przechowywane na Dysku Google
Lokalnie na własnym sprzęcie
Notatniki z zajęć można uruchamiać lokalnie na własnych komputerach. Należy w tym celu skonfigurować środowisko Python i Jupyter Notebook lub JupyterLab Wygodnie w tym celu użyć gotowej dystrybucji Anaconda, która zawiera Pythona, Jupyter oraz wiele przydatnych pakietów.
Serwery wydziałowe
Notatniki można również uruchamiać korzystając z serwera polon7
.
Dostęp z zewnątrz sieci LAN wymaga aktualnego klucza OpenVPN.
Przy logowaniu na serwer via ssh
należy przetunelować port na którym Jupyter hostuje notatnik (domyślnie 8888
') tak aby możliwe było wyświetlenie wyników w przeglądarce internetowej.
ssh -L 8888:localhost:8888 user@polon7.fizyka.umk.pl
Po zalogowaniu przechodzimy do katalogu, w którym znajdują się notatniki.
Notatniki z laboratorium dostępne są w repozytorium GitHub.
Klonowanie repozytorium:
git clone https://github.com/IS-UMK/mn/
Uruchamianie notatnika:
jupyter-notebook --no-browser --port 8888
Domyślnie notatnik uruchamia się na porcie 8888. W przypadku, gdy port ten jest zajęty należy wybrać inny, pamiętając o odpowiedniej zmianie tunelowanego portu przy połączeniu (-L port:localhost:8888
').
Następnie w przeglądarce (lokalnie) otwieramy adres http://localhost:8888
Kilka przydatnych odnośników
- Python is a programming language that lets you work quickly and integrate systems more effectively
- jupyter The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.
- NumPy NumPy is the fundamental package for scientific computing with Python
- matplotlib comprehensive library for creating static, animated, and interactive visualizations in Python.
- Matplotlib tutorial for beginner by Nicolas P. Rougier