Algorytmy i struktury danych

Transkrypt

Algorytmy i struktury danych
Algorytmy i struktury danych. Metody numeryczne
ECTS
(Część 2. Metody numeryczne)
Nazwa w języku angielskim: Algorithms and data structures. dzienne magisterskie
Numerical methods. (Part 2. Numerical methods)
Kod przedmiotu
Imię i Nazwisko organizującego
dr inż. Oleg Maslennikow
w
c
Kurs egzaminacyjny
LICZBA GODZIN
1
1
15 tygodni zajęć
Kursy poprzedzające
Słowa kluczowe
Egzamin
zaliczenie na
ocenę
analiza matematyczna, podstawy programowania
algorytmy, programy, podstawowe struktury danych, optymalizacja
algorytmów i programów
PROGRAM SZCZEGÓŁOWY
CELE KURSU.
Opis kursu – cele i procedury ich osiągania: Uzyskanie wiedzy w zakresie najważniejszych zagadnień
numerycznych i najprostszych metod ich realizacji; zastosowania metod numerycznych w
analizie obwodów elektrycznych i naukach przyrodniczych; realizacji komputerowej w/w
metod.
Cel poznawczy:
Uzyskanie wiedzy o typach błędów powstających podczas realizacji komputerowej metod
numerycznych. Uzyskanie wiedzy o metodach: obliczenia funkcji elementarnych,
całkowania numerycznego, rozwiązywania równań nieliniowych, algebry macierzowej,
rozwiązywania układów równań liniowych; interpolacji i aproksymacji funkcji.
Cel kształcący:
Kształtowanie u studentów umiejętności samodzielnej pracy projektowo-badawczej w
stopniu pozwalającym na przeprowadzenie analizy postawionego problemu i wybór
odpowiedniej metody jego rozwiązania.
Cel praktyczny:
Uzyskanie umiejętności przeprowadzenia analizy zagadnienia numerycznego, wyboru
właściwej metody jego rozwiązania; realizacji programowej wybranej metody numerycznej.
Umiejętności wynikowe kursu i ich ewaluacja:
Umiejętność opracowania programów komputerowych realizujących podstawowe metody
numeryczne z uwzględnieniem wymaganej dokładności otrzymywanych wyników.
Potrafi
opracować
procedury
programowe
realizujące metody obliczenia funkcji
elementarnych za pomocą szeregów; metody
całkowania numerycznego (prostokątów,
trapezów); metody rozwiązywania równań
nieliniowych (metoda siecznych, metoda
Newtona); podstawowe algorytmy algebry
macierzowej;
najprostsze
metody
rozwiązywania układów równań liniowych
(metoda eliminacji Gaussa, Gaussa-Jordana,
Cholesky’ego); metody interpolacji (metoda
wielomianowa, Lagrange’a) i aproksymacji
funkcji (metoda wielomianowa, metoda
trygonometryczna). Potrafi ocenić złożoność
obliczeniową wykorzystanej metody.
Wymagania
podstawowe
(stopnie
dostateczne):
Wymagania rozszerzone (stopnie dobre): Potrafi
opracować i
zoptymalizować
procedury programowe
realizujące metody obliczenia funkcji
elementarnych i całkowania numerycznego;
metody rozwiązywania równań nieliniowych
(metoda siecznych, metoda Newtona);
algorytmy algebry macierzowej; metody
rozwiązywania układów równań liniowych
(metoda eliminacji Gaussa i Gaussa-Jordana
z wyborem elementu podstawowego, metoda
Cholesky’ego, rozkłady LU i LLT); metody
obliczenia wyznacznika i odwracania
macierzy; metody interpolacji (metoda
wielomianowa, Lagrange’a) i aproksymacji
funkcji (wielomianowej, trygonometrycznej,
wykładniczej, potęgowej). Potrafi ocenić
złożoność
obliczeniową
wykorzystanej
metody.
Wykład 1. (2 godz.)
WPROWADZENIE DO METOD NUMERYCZNYCH
Zagadnienia: Dokładność obliczeń. Typy błędów powstających przy realizacji metod
numerycznych (danych wejściowych, zaokrągleń, metodologicznych). Przykłady.
Obliczenie wartości funkcji elementarnych (np. sin(x), ln(x), exp(x), itd.) za pomocą
szeregów. Obliczenie szeregów za pomocą podprogramów rekurencyjnych i iteracyjnych.
Metody całkowania numerycznego: prostokątów i trapezów (interpretacja geometryczna,
wyprowadzenie wzorów).
Wykład 2. (2 godz.)
METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH
(WYZNACZENIE MIEJSCA ZEROWEGO FUNKCJI)
Zagadnienia: Metoda
siecznych. Metoda stycznych (Newtona). Metoda iteracji prostej. Warunki
zbieżności, interpretacja geometryczna, wyprowadzenie wzorów. Przykłady. Prezentacja
multimedialna.
Wykład 3. (1 godz.)
MACIERZE. PODSTAWOWE OPERACIE I PRAWA ALGEBRY
MACIERZOWEJ
Zagadnienia: Definicje
i typy macierzy (prostokątna, kwadratowa, symetryczna, trójkątna górna, dolna,
jednostkowa, pasmowa, rzadka, macierz-wiersz, macierz-kolumna (wektor). Format CSR dla
przechowywania macierzy rzadkich. Operacje na macierzach: transponowanie, norma wektora i
macierzy, dodawanie i odejmowanie macierzy; mnożenie macierzy przez wartość stałą, przez
wektor, przez macierz. Prawa algebry macierzowej. Przedstawienie układów równań liniowych w
postaci macierzowej. Wyznacznik macierzy. Interpretacja geometryczna wyznacznika.
Wykład 4. (5 godz.)
METODY ROZWIĄZYWANIA UKŁADÓW RÓWNAŃ LINIOWYCH.
METODY DOKŁADNE.
Metody rozwiązywanie układów równań liniowych (URL) z trójkątną macierzą
współczynników: metoda redukcji wstecznej (wzory, fragment programu); metoda podstawienia:
modyfikacja wzorów i programu redukcji wstecznej. Eliminacja Gaussa: idea, wyprowadzenie
wzorów; fragment programu; prezentacja multimedialna. Wzory macierzowe eliminacji Gaussa.
Zagadnienia:
Dzielenie przez zero - strategie wyboru elementu wiodącego; modyfikacje programu
eliminacji Gaussa. Zastosowanie eliminacji Gaussa do obliczenia wyznacznika i rzędu
macierzy i modyfikacja programu eliminacji Gaussa.
Metoda eliminacja pełnej: idea, wzory na modyfikacje elementów macierzy, wzory
macierzowe, modyfikacja programu eliminacji Gaussa. Przypadek kilku wektorów wyrazów
wolnych. Zastosowanie metody Gaussa-Jordana do odwracania macierzy kwadratowych,
modyfikacja programu Gaussa-Jordana.
Rozkład (dekompozycja) macierzy na czynniki trójkątne: Rozkład LU: wzory macierzowe
wzory na modyfikacje elementów macierzy; fragment programu; realizacja strategii wyboru
elementu wiodącego. Rozkład LLT macierzy symetrycznych, dodatnio określonych (metoda
Cholesky’ego-Banachewicza):
wzory macierzowe; wzory na modyfikacje elementów macierzy, fragment programu.
Wykład 5. (1 godz.)
METODY ROZWIĄZYWANIA UKŁADÓW RÓWNAŃ LINIOWYCH.
METODY ITERACYJNE
Zagadnienia: Metody dokładne a iteracyjne. Metoda iteracji prostej (Jacobi’ego): idea, wzory
macierzowe, wzory na modyfikacje elementów macierzy. Metoda Gaussa-Sidela: idea,
modyfikacja wzorów iteracji prostej. Określenie złożoności obliczeniowej metod
numerycznych. Porównanie złożoności metod dokładnych i iteracyjnych.
Wykład 6. (3 godz.)
INTERPOLACJA I APROKSYMACJA FUNKCJI
Zagadnienia: Zagadnienie interpolacji. Interpretacja geometryczna. Interpolacja wielomianowa:
idea, wzory. Interpolacja Aitkena. Interpolacja Lagrange’a: idea, wzory. Ekstrapolacja i
interpolacja odwrotna. Interpolacja a aproksymacja. Interpretacja geometryczna.
Aproksymacja wielomianowa, liniowa i trygonometryczna. Optymalizacja fragmentów
programów formujących macierz współczynników układu równań liniowych. Parametry
jakościowe aproksymacji (odchylenie kwadratowe, współczynnik korelacji, itd.).
Wykład 7. (1 godz.)
Repetytorium
CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z
DOPUSZCZENIEM DO ZASADNICZEJ SESJI EGZAMINACYJNEJ
PLANY WYNIKOWE ĆWICZEŃ
Ćwiczenie 1 (2godz.)
OBLICZENIE FUNKCJI ZA POMOCĄ SZEREGÓW. METODY
CAŁKOWANIA NUMERYCZNEGO
Opis ćwiczenia – cele i procedury ich osiągania: Praktyczne
zapoznanie się z metodą obliczenia funkcji
elementarnych za pomocą szeregów. Praktyczne zapoznanie się z metodami całkowania
numerycznego: prostokątów i trapezów. Realizacja w/w metod w środowisku MS Excel
lub/oraz realizacja programowa. Badanie zależności dokładności otrzymywanych wyników
od liczby elementów w szeregu i liczby odcinków (wewnątrz przedziału całkowania).
Umiejętności wynikowe i ich ewaluacja: Potrafi
obliczyć za pomocą kalkulatora wartość zadanej funkcji
elementarnej i całki oznaczonej (w zadanym przedziale). Potrafi opracować i przetestować
programy realizujące w/w metody.
Wymagania podstawowe (stopnie dostateczne)
Wymagania rozszerzone (stopnie dobre)
Potrafi realizować w Excelu lub programowo Potrafi realizować w Excelu lub programowo
metodę prostokątów i trapezów. Potrafi
opracować wersje iteracyjną i rekurencyjną
programu
obliczającego
zadaną
funkcję
elementarną (np. sin(x), exp(x), ln(x)).
metodę prostokątów i trapezów. Potrafi
opracować wersje iteracyjną i rekurencyjną
programu
obliczającego
zadaną
funkcję
elementarną (np. sin(x), exp(x), ln(x)). Dokonuje
badanie
zależności
dokładności
otrzymywanych
wyników
od
liczby
elementów w szeregu i liczby odcinków
wewnątrz przedziału całkowania.
Ćwiczenie 2 (2godz.)
METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH
(WYZNACZENIE MIEJSCA ZEROWEGO FUNKCJI)
Zapoznanie się praktyczne z metodami numerycznymi
rozwiązywania równań nieliniowych.
Opis ćwiczenia – cele i procedury ich osiągania:
Umiejętności wynikowe i ich ewaluacja: Dokonuje
wyboru właściwej metody (warunki zbieżności) i potrafi
opracować jej realizację programową oraz w środowisku MS Excel.
Potrafi obliczyć Wymagania rozszerzone (stopnie dobre:) Potrafi obliczyć
pierwiastki równania nieliniowego za pierwiastki równania nieliniowego za
pomocą kalkulatora. Potrafi realizować w pomocą kalkulatora. Potrafi realizować w
Excelu lub programowo metodę siecznej i Excelu lub programowo metodę siecznej i
Wymagania podstawowe (stopnie dostateczne):
metodę
Newtona.
Potrafi
przetestować metodę Newtona. Potrafi przetestować i
opracowane programy i przeanalizować ich zoptymalizować opracowane programy i
efektywność.
przeanalizować ich efektywność. Dokonuje
badania
zależności
otrzymywanych
wyników
wykonanych iteracji.
Ćwiczenie 3 (2godz.)
Opis ćwiczenia – cele i procedury ich osiągania:
dokładności
od
liczby
OPERACJE NA MACIERZACH
Praktyczne zapoznanie się z podstawowymi operacjami na
macierzach.
Umiejętności wynikowe i ich ewaluacja:
Opracowuje programy realizujące podstawowe operacje na
macierzach.
Potrafi opracować
procedury programowe dla obliczenia normy
macierzy; mnożenia macierzy przez wektor i
przez macierz. Potrafi opracować realizacje
programowe metody redukcji wstecznej, metody
podstawienia i metody Gaussa-Seidela. Potrafi
przetestować
opracowane
programy
i
przeanalizować ich efektywność.
Wymagania podstawowe (stopnie dostateczne):
Potrafi opracować
procedury programowe dla obliczenia normy
macierzy; mnożenia macierzy przez wektor i
przez macierz. Potrafi opracować realizacje
programowe metody redukcji wstecznej, metody
podstawienia i metody Gaussa-Seidela. Potrafi
dopasować opracowane programy do struktury
macierzy danych wejściowych (np. dla macierzy
pasmowych). Potrafi przetestować opracowane
programy i przeanalizować ich efektywność.
Wymagania
rozszerzone (stopnie dobre):
Ćwiczenie 4 (4godz.)
DOKŁADNE METODY ROZWIĄZYWANIA UKŁADÓW RÓWNAŃ LINIOWYCH
Opis ćwiczenia – cele i procedury ich osiągania: Praktyczne zapoznanie się z metodami rozwiązywania układów
równań liniowych opartych o eliminację Gaussa.
Umiejętności wynikowe i ich ewaluacja: Umiejętność
opracowania procedur programowych do rozwiązania
układów równań liniowych, opartych o eliminację Gaussa.
Wymagania podstawowe (stopnie dostateczne) Potrafi
opracować i
przetestować program rozwiązujący zadany
układ równań liniowych w oparciu o: eliminację
Gaussa; eliminację pełną (Gaussa-Jordana);
rozkład LU macierzy na czynniki trójkątne;
rozkład LLT macierzy symetrycznych i dodatnio
określonych.
Ćwiczenie 5 (4godz.)
rozszerzone (stopnie dobre) Potrafi opracować i
przetestować program rozwiązujący zadany
układ równań liniowych w oparciu o: eliminację
Gaussa; eliminację pełną (Gaussa-Jordana);
rozkład LU macierzy na czynniki trójkątne;
rozkład LLT macierzy symetrycznych i dodatnio
określonych. Potrafi uzupełnić opracowany
program
procedurą
wyboru
elementu
podstawowego (nie dotyczy rozkładu LLT).
Wymagania
INTERPOLACJA I APROKSYMACJA FUNKCJI
Praktyczne zapoznanie się z metodami interpolacji i
aproksymacji funkcji. Realizacja programowa interpolacji wielomianowej i Lagrange’a.
Realizacja programowa aproksymacji wielomianowej i trygonometrycznej.
Umiejętności wynikowe i ich ewaluacja:. umiejętność wyboru właściwej metody rozwiązywania URL i jej
dostosowanie do struktury macierzy współczynników układu.
Opis ćwiczenia – cele i procedury ich osiągania:
Potrafi opracować Wymagania rozszerzone (stopnie dobre): Potrafi opracować i
procedury programowe realizujące metody: zoptymalizować
procedury
programowe
interpolacji wielomianowej;
interpolacji realizujące metody: interpolacji wielomianowej;
Lagrange’a; aproksymacji wielomianowej i interpolacji Aitkena i Lagrange’a; aproksymacji
Wymagania podstawowe (stopnie dostateczne):
trygonometrycznej.
Potrafi
obliczyć wielomianowej i trygonometrycznej. Potrafi
parametry jakościowe aproksymacji. Potrafi obliczyć
parametry
jakościowe
przetestować
opracowane
programy
i aproksymacji. Potrafi przetestować opracowane
przeanalizować ich efektywność.
programy i przeanalizować ich efektywność.
Ćwiczenie 6 (1godz.)
CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z
DOPUSZCZENIEM DO ZASADNICZEJ SESJI EGZAMINACYJNEJ
OPIS RYGORÓW POŚREDNICH
Kolokwium I.
Opis kolokwium : Zadania indywidualne na ocenę. Lista przykładowych zadań: 1) Rozwiązanie układu
równań liniowych z macierzą współczynników A(4,4). Metody: eliminacja Gaussa, eliminacja pełna
lub rozkład LU. 2) Odnalezienie macierzy odwrotnej do zadanej macierzy A(4,4). 3) Opracowanie
fragmentu programu wykonującego mnożenie macierzy pasmowej o specjalnej strukturze przez
wektor.
Sposób oceniania: Ocena zależy od prawidłowości wykonania zadania rachunkowego; od prawidłowości i
efektywności opracowanego algorytmu.
Wymagania
podstawowe
(stopnie
dostateczne)
Zadanie Wymagania rozszerzone (stopnie dobre) Zadanie rachunkowe
rachunkowe wykonano z drobnymi usterkami. wykonano bez usterek. Opracowano prawidłowy i
Opracowano prawidłowy algorytm i program.
efektywny algorytm. Opracowano fragment
programu zgodny z zasadą programowania
strukturalnego.
WARUNKI DOPUSZCZENIA DO SESJI EGZAMINACYJNEJ
Opis ogólny warunków dopuszczenia :
Zaliczone ćwiczenia i kolokwium
podstawowe (stopnie dostateczne) Ćwiczenia i Wymagania rozszerzone (stopnie dobre) Ćwiczenia i kolokwium
kolokwium zaliczono na stopień „dostateczny”
zaliczono na stopnie „dobry” lub „bardzo dobry”
Wymagania
OPIS RYGORU ZASADNICZEGO. (ZALICZENIE Z OCENĄ)
Opis ogólny rygoru zasadniczego: Sprawdzenie wiedzy studenta na podstawie 2 pytań teoretycznych dotyczących
zagadnień omawianych na wykładzie. Każde pytanie oceniane jest osobno.
Wymagania podstawowe (stopnie dostateczne) Ocena średnia z Wymagania
rozszerzone (stopnie dobre) Ocena średnia z
odpowiedzi na pytania wynosi (w zaokrągleniu) 3 odpowiedzi na pytania wynosi (w zaokrągleniu)
lub 3.5.
4, 4.5 lub 5.
WYKAZ ŹRÓDEŁ (PODRĘCZNIKÓW I SKRYPTÓW)
1. Fortuna Z., Macuków B., Wąsowski J. Metody numeryczne. WNT, 1982, 1998 (seria
podręczniki akademickie).
2. Baron B. Metody numeryczne w Turbo-Pascalu. Helion, 1995.
3. Kiełbasiński A., Schwetlick H. Numeryczna algebra liniowa. WNT, 1992.
4. Bjorck A., Dahlquist G. Metody numeryczne, PWN, 1987.
5. Jankowscy J. i M. Przegląd metod i algorytmów numerycznych. WNT, 1981.
6. Kaczorek T. Wektory i macierze w automatyce i elektrotechnice. WNT, 1998.
7. Stoer J. Wstęp do metod numerycznych. PWN, 1979.
8. Ralston A. Wstęp do analizy numerycznej. WNT, 1975.
9. Legras J. Praktyczne metody analizy numerycznej. WNT, 1974.
10. www.ulib.org/webRoot/Books/Numerical_Recipes/bookcpdf.html