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 Egzamin LICZBA GODZIN 1 1 15 tygodni zajęć zaliczenie na ocenę Kursy poprzedzające analiza matematyczna, podstawy programowania Słowa kluczowe 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.
Wymagania podstawowe (stopnie dostateczne): 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. Wykład 1. (2 godz.) 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 LL T ); 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. 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.
Zagadnienia: 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. 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 LL T 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 Ćwiczenie 1 (2godz.) PLANY WYNIKOWE ĆWICZEŃ 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) 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)). Ćwiczenie 2 (2godz.) Wymagania rozszerzone (stopnie dobre) 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)). 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. METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH (WYZNACZENIE MIEJSCA ZEROWEGO FUNKCJI) Opis ćwiczenia cele i procedury ich osiągania: Zapoznanie się praktyczne z metodami numerycznymi rozwiązywania równań nieliniowych. 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. Wymagania podstawowe (stopnie dostateczne): 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 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 dokładności otrzymywanych wyników od liczby wykonanych iteracji. Ćwiczenie 3 (2godz.) OPERACJE NA MACIERZACH Opis ćwiczenia cele i procedury ich osiągania: Praktyczne zapoznanie się z podstawowymi operacjami na macierzach. Umiejętności wynikowe i ich ewaluacja: Opracowuje programy realizujące podstawowe operacje na macierzach. Wymagania podstawowe (stopnie dostateczne): Potrafi opracować Wymagania rozszerzone (stopnie dobre): Potrafi opracować procedury programowe dla obliczenia normy procedury programowe dla obliczenia normy macierzy; mnożenia macierzy przez wektor i macierzy; mnożenia macierzy przez wektor i przez macierz. Potrafi opracować realizacje przez macierz. Potrafi opracować realizacje programowe metody redukcji wstecznej, metody programowe metody redukcji wstecznej, metody podstawienia i metody Gaussa-Seidela. Potrafi podstawienia i metody Gaussa-Seidela. Potrafi przetestować opracowane programy i dopasować opracowane programy do struktury przeanalizować ich efektywność. macierzy danych wejściowych (np. dla macierzy pasmowych). Potrafi przetestować opracowane programy i przeanalizować ich efektywność. Ć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 LL T macierzy symetrycznych i dodatnio określonych. Ćwiczenie 5 (4godz.) Wymagania 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 LL T macierzy symetrycznych i dodatnio określonych. Potrafi uzupełnić opracowany program procedurą wyboru elementu podstawowego (nie dotyczy rozkładu LL T ). INTERPOLACJA I APROKSYMACJA FUNKCJI Opis ćwiczenia cele i procedury ich osiągania: 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. Wymagania podstawowe (stopnie dostateczne): Potrafi opracować procedury programowe realizujące metody: interpolacji wielomianowej; interpolacji Lagrange a; aproksymacji wielomianowej i trygonometrycznej. Potrafi obliczyć parametry jakościowe aproksymacji. Potrafi przetestować opracowane programy i przeanalizować ich efektywność. Wymagania rozszerzone (stopnie dobre): Potrafi opracować i zoptymalizować procedury programowe realizujące metody: interpolacji wielomianowej; interpolacji Aitkena i Lagrange a; aproksymacji wielomianowej i trygonometrycznej. Potrafi obliczyć parametry jakościowe aproksymacji. Potrafi przetestować opracowane programy i przeanalizować ich efektywność. Ćwiczenie 6 (1godz.) CZYNNOŚCI KONTROLNE I ORGANIZACYJNE ZWIĄZANE Z DOPUSZCZENIEM DO ZASADNICZEJ SESJI EGZAMINACYJNEJ Kolokwium I. OPIS RYGORÓW POŚREDNICH 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 rachunkowe wykonano z drobnymi usterkami. Opracowano prawidłowy algorytm i program. Wymagania rozszerzone (stopnie dobre) Zadanie rachunkowe wykonano bez usterek. Opracowano prawidłowy i 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 Wymagania podstawowe (stopnie dostateczne) Ćwiczenia i kolokwium zaliczono na stopień dostateczny Wymagania rozszerzone (stopnie dobre) Ćwiczenia i kolokwium zaliczono na stopnie dobry lub bardzo dobry
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