Semestr zimowy 2009/10


Konsultacje
Metody numeryczne (dla informatyków)

Metody numeryczne (dla informatyków)


Egzamin I termin
Zadania z egzaminu w I terminie Egzamin w I terminie zakończony! Wyniki są w USOSie i są ostateczne.


Egzamin II termin zakończony Wyniki ostateczne już są w USOSie

Zadania z egzaminu w II terminie

Zadanie komputerowe:

(dopuszczające do egzaminu w II terminie osoby bez zaliczonego labu)
zaprogramować w arytmetyce podwójnej precyzji rozkład QR (a właściwie Q[R^T 0]^T) macierz prostokątnej A MxN (M>=N) kolumnami regularną z Q ortogonalną będącą iloczynem odp. przeksz. Householdera MXM a R górnotrójkątna NxN z niezerowymi elementami na diagonali metodą Householdera. Program ma wykryć czy macierz kolumnami regularna tzn jeśli norma maksimum kolejnej odpowiedniej podkolumny będzie mniejsza od ustalonego \eps=10-12 to program ma przerwać działanie z komunikatem "Uwaga!kolumny A liniowo zależne w fl".Program powinien mieć opcję wprowadzania macierzy A i wektora f ręcznie z klawiatury, oraz wypisania na ekran macierzy R i wektorów Householdera dla odp. przekształceń Householdera i rozwiązania LZNK.
Testować na podmacierzach macierzy Vandermonde'a dla równoodległych węzłów na odcinku [0,1] tzn dla ustalonego m i n zdefiniować węzły xk=(k-1)*h, k=1,..,m+1; h=1/m i macierz (m+1)x(n+1) A(m,n) definiujemy tak aby element na pozycji (i,j) był równy Ai,j= xij-1 i=1,..,m+1; j=1,..,n+1. Znaleźć rozkład QR tej macierzy - i zastosować do rozwiązywania LZNK z A(m,n) i odp. wektorem prawej strony f: - dla m=30 i n=2,8,15,30 znaleźć rozkład QR.
Zastosować do LZNK z macierzą A i prawą stroną f=Ax (f oczywiście obliczymy znając x) z x danym wektorem długości n+1 takim że
xk=(-1)k, k=1,..,n+1 (czyli f można i należy obliczyć!)
Drukować na ekranie: normę Frobeniusa: ||Q[R^T 0]^T - A(m,n)||F (czyli sprawdzić czy QR =A(m,n)) oraz ||f-Ay||/( ||A||F*||x||) oraz ||x-y||/||x|| dla y- rozwiązania obliczonego przy wykorzystaniu rozkładu QR macierzy A(m,n) || || - norma euklidesowa (druga), || ||F - norma Frobeniusa.
Państwa program ma być w Pascalu lub C/C++ i kompilować się i działać w labie studenckim - należy mi go okazać wykazując się znajomościa algorytmu i szczegółów programu tzn mogę poprosić o wprowadzenie jakiejś drobnej zmiany w programie w czasie zaliczania. Zaliczenie projektu jest warunkiem dopuszczenia do egzaminu w II terminie (dla osób które nie zaliczyły labu). Termin nieprzekraczalny II terminem egzaminu pisemnego
Program wykładu
(dość orientacyjny, kolejność punktów i zakres mogą ulec zmianie, będę podawał daty w miejscach gdzie skończyłem wykład z danej daty wraz z aktualizacją treści). Na wykładzie przedstawimy metody/algorytmy rozwiązywania podstawowych zadań matematyki ciagłej (czyli zadań ze zmiennymi rzeczywistymi/zespolonymi w przeciwieństwie do matematyki dyskretnej) - trudniejsze wyprowadzenia czy dowody będą ominięte natomiast postaramy się zwracać uwagę na implementację i podawać podstawowe własności metod.
  1. Wykład 1 (1-10-2009) Wstęp - czym są metody numeryczne, kilka uwag ogólnych, plan wykładu, kilka pozycji literatury
  2. Metody rozwiązywania równań nieliniowych (skalarnych) - metoda bisekcji, metoda Newtona, iteracji prostych (skalarna) Wykład 2 (8-10-2009). Zbieżność lokalna m Newtona kwadratowa i globalna dla funkcji wypukłej, rosnącej. Rząd zbieżności metody (zbieżność z wykładnikiem p). Metoda siecznych i jej zbieżność lokalna, metoda iteracji prostych banacha w przypadku skalarnym.
  3. Wykład 3 (15-10-2009)Metody rozwiązywania układów równań nieliniowych (wielowymiarowych) - metoda iteracji prostych (Banachowskich), wielowymiarowa metoda Newtona. Zbieżność lokalna wielowymiarowej metody Newtona kwadratowa. Informacja o warunkach stopu metod.
  4. Wykład 4 (22-10-2009)Arytmetyka zmiennopozycyjna - fl - podstawowe własności w tym redukcja cyfr znaczących przy odejmowaniu Wykład 5 (29-10-2009) definicje uwarunkowania zadania
  5. Numeryczna algebra liniowa
    • Bezpośrednie metody rozwiązywania układów równań liniowych (url) uwarunkowanie zadania rozwiązywania url, eliminacja Gaussa czyli rozkład LU z częściowym i pełnym wyborem elem. głównego, Wykład 6 (5-11-2009) informacja o własnościach numerycznych (fl) rozkładu LU, rozkład QR metodą Householdera Wykład 7 (12-11-2009) zastosowanie rozkładów QR (uzyskanych poprzez m. Householdera) do rozwiązania url.
    • Regularne liniowe zadanie najmniejszych kwadratów (RLZNK) - istnienie i jednoznaczność rozwiązania, - zastosowanie rozkładów QR do rozwiązywania RLZNK Wykład 8 (19-11-2009)
    • Wielkie układy równań liniowych w tym formaty macierzy rzadkich oraz iteracyjne metody rozwiązywania wielkich url: metody klasyczne (Jakobi, Gauss-Seidel, Wykład 9 (26-11-2009) Richardson) z warunkiem koniecznym i dostatecznym zbieżności oraz Krylowa na podstawie metody CG (bez wyprowadzenia) Zbieżność metody CG. Prekonditionery - idea i przykład prekonditionera blokowego Jakobiego. Wykład 10 (3-12-2009) Wzory na PCG i tw o zbieżności.
    • Zagadnienie własne czyli numeryczne znajdowanie wektorów i wartości własnych. Metoda potęgowa, odwrotna potęgowa
  6. Aproksymacja
      Wykład 11 (10-12-2009).
    • Interpolacja (jako zag. aproksymacji) wielomianowa Lagrange'a : istnienie i jednoznaczność rozwiązania, postać w bazie Lagrange'a i bazie Newtona w tym metoda Newtona i algorytm różnic dzielonych znajdowania wiel. interp. Lagrange'a, błąd interpolacji przy maksymalnej regularności funkcji przyklad Rungego czyli ciąg wielomianów interpolacyjnych na węzłach równoodległych NIE musi byc zbieżny jednostajnie do funkcji którą interpoluje; węzły Czebyszewa jako optymalne węzły interpolacji
    • Wykład 12 (17-12-2009).
    • Interpolacja splajnowa (funkcjami giętymi) - splany liniowe interpolacyjne i kubiczne w bazach splajnow liniowych i kubicznych odpowiednio, oszacowania normie supremum dla f w C^4
    • Wykład 13 (07-01-2010).
    • Kwadratury - przybliżone obliczanie całek - rząd kwadratury, kwadratury interpolacyjne w tym trapezów i Simpsona, kwadratury złożone m.in. złożona kwadratura trapezów - wzory na błąd w przypadku gdy funkcja maksymalnej regularności oraz zbieżność w przypadku gdy funkcja tylko ciągła.
    • Wykład 14 (14-01-2010).
    • Interpolacja trygonometryczna (zespolona) i FFT - algorytm szybkiej transformaty Fouriera (FFT - fast Fourier transform) w wersji rekurencyjnej i zastosowanie do interpolacji zespolonej na siatce równomiernej na sferze jednostkowej zespolonej.
    • Aproksymacja w szczególności przestrzeniach z iloczynem skalarnym definicja elementu najlepszej aproksymacji (ENA) w przestrzeni z iloczynem skalrnym (choć defacto definicja jest porpawna w dowolnej przestrzeni unormowanej), Wykład 15 (21-01-2010) tw. o tym że elem. najlep. aproksym. ENA to rzut ortogonalny wyznaczony jednoznacznie, układ z macierzą Gramma, baza ortogonalna - ortogonalizacja Gramma-Schmidta, regularne liniowe zadanie najmniejszych kwadratów (RLZNK) czyli układ równań normalnych jako szczególny przypadek aproksymacji w przestrzeni unitarnej. Wielomiany ortogonalne w przestrzeniach typu L2 - reguła trójczłonowa, (i to koniec)

Warunki zaliczenia:

ćwiczenia

Dokładne warunki zaliczenia, punktacje itp labu i ćwiczeń - ustala prowadzący daną grupę. W każdym razie trzeba osobno zaliczać lab (np projekt, kolokwium przy komputerze czy serie zadań do domu) i osobno ćwiczenia tablicowe (np zadania domowe czy kartkówki).

Egzamin

Egzamin pisemny w I terminie będzie obejmował wszystko co było na wykładach (ale tylko na wykładach) oprócz materiału z ostatniego wykładu. Z egzaminu pisemnego w I terminie można będzie otrzymac max 50%pktów + 30%z labu i 20% z ćwiczeń (zadania domowe, kartkówki etc)

W II terminie egzamin pisemny będzie obejmował cały materiał z wykładów i również elementy zaliczenia ćwiczeń/labu.

Literatura:

Podręczniki: Pozycje [Mos2002] i [Pla2002] to skrypty dostępne dla studentów naszego wydziału. A pozycja [FMW2005] to książka skierowana raczej do studentów politechniki ale większość algorytmów jest w niej opisana. [KC2006] jest podstawowym podręcznikiem - choć niezawierającym wszystkiego co będzie na wykładzie!

Inne użyteczne linki

Literatura dodatkowa dla osób zainteresowanych metodami numerycznymi, obejmująca materiał częściowo lub często całkowicie poza zakresem wykładu
Ciekawe eseje wyjaśniające mam nadzieję czym jest i czym na pewno nie jest Analiza Numeryczna (czy inaczej Matematyka Obliczeniowa)
Inne eseje tegoż autora o analizie numerycznej i nie tylko http://www.comlab.ox.ac.uk/nick.trefethen/home.html

A tu link do wykładu z Metod Numerycznych on-line na ważniaku: wykłady i ćwiczenia

Ćwiczenia/Lab MN

Lab 2046 - ćwiczenia 5070 (co 2 tygodnie na zmianę)

Już jest
Projekt zaliczeniowy z labu (dla wszystkich ten sam - chyba że ktoś wybrał wcześniej projekt przedterminowy czyli GMRES)
Uwaga! Aktualne wyniki kartkówek i zaliczenia projektu(pdf) (proszę sprawdzić czy wszsytko się zgadza)

Zaliczenie ćwiczeń

(dotyczy grup wyłacznie prowadzonych przeze mnie tzn grp nr 1 i 2)
Zaliczenie ćwiczeń tablicowych - 2 krótkie (ok 20-30min) kartkówki wczesniej zapowiedziane z zadań domowych (czy takich co były na ćwiczeniach) zadania mogą być lekko przeformułowane/zmienione.
Zaliczenia labu - projekty zaliczeniowe zadawane indywidualnie (pewnie gdzieś w listopadzie) - termin ostateczny oddania projektu - termin ostatniego labu.
Bedę starał się umieszczac krótkie opisy tego co było czy ma być na labie czy ćwiczeniach.

Program ćwiczeń

  1. 9-10-2009. Skalarne metodu rozwiązywania równań nieliniowych: metoda Herona (czyli m Newtona dla równania x*x-a=0), odwracanie bez dzielenia (m. Newtona dla 1/x-a=0 dla jakich x_0 m. Newtona zbiega?), metoda iteracji prostych- pokaż że x_n=cos(x_{n-1}) zbieżne dla dowolnego x_0. Zera wielokrotne: pokaż że dla zera 2-krotnego met. Newtona jest zbieżna lokalnie.
  2. 23-10-2009 Równania nieliniowe cd. Jak badając pochodne funkcji iteracji \Phi dla m iteracyjnej x_n=\Phi(x_{n-1}) w p-cie stałym iteracji x=\Phi(x) zbadać rząd zbieżności metody? Zastosować do m. Newtona przy standardowych założeniach. Jak zmodyfikować m Newtona aby zbiegała kwadratowo dla zera 2-krotnego. Metoda wielowymiarowa Newtona (na przykładzie prostej funkcji F(x,y)=(x+y;2x*x+y*y-4)^T- gdzie kolejna iteracja dobrze określona, czy zbieżna kwaratowow lokalnie w otoczeniu rozwiązania.
  3. 06-11-2009 Równania liniowe. Rozkład LU czyli eliminacja Gaussa. Zad 1: LU dla macierzy silnie diagonalnie dominującej można wykonać bez permutacji (czyli wyboru elementu głównego). Zad 2: Rozkład LU dla macierzy trójdiagonalnej bez permutacji (do domu z permutacjami wierszy czyli częściowym wyborem elementu głównego). Do domu: LU dla m. trójdagonalnej z niezerowymi rogami (czyli niezerowe elementy mogą sie pojawić na diagonali, pod- i naddiagonali i w rogach). Zad 3: Mając szybki solver dla konkretnej macierzy NxN A, jak rozwiązać szybko z wykorzystaniem tego solvera układ Ax+by=f, cx+ay=g gdzie c - wektor poziomy, b - wektor pionowy a,g- skalary - [x;y] rozwiązanie - tu oczywiście x- wektor a y - skalar. Podać warunek konieczny i dostateczny na to aby ten układ miał rozwiązanie dla dowolnych f i g. Zad 4: (tylko grupa 2) Dla macierzy Q ortogonalnej (Q*Q^T=Q^TQ=I) i A dowolnej kwadratowej pokaż że QA i AQ mają takie same normy drugie jak A (to samo dla normy Frobeniusa \|A\|_F=\sqrt{\sum_{i,j}|A_{ij}|^2}).
  4. 20-11-2009 Kartkówka z prac domowych. LU c.d. i LZNK. Zad 1: Metoda Choleskiego tzn rozkład LU bez wyboru elementu czyli tak naprawdę A=LDL^T to L dolnotrójkątna z 1 na diagonali a D - m diagonalna dla A=A^T>0 (do domu A=L^T L - L dolnotr. - policzyć wprost wzory ne elementy L z tego rozkładu i że dla A 3-diagonalnej macierz dolnotr. L jest 2-diagonalna). Zad 2: Zadanie znajdowania krzywej opisanej równaniem (a,b, parametry) ax^2+by^2=1 najlepiej pasującej do zadanych M punktów (xk,yk) jako LZNK (na labieteż to w octavie zrobimy).
  5. 04-12-2009 Macierze rzadkie. Metody iteracyjne rozwiązywania układów równań liniowych. Zad 1 Zbieżność met. G-S dla m. silnie diag. dominujących w dyskretnej normie supremum. Zad 2 Dla jakich wartości parametru \tau met. Richardsona zbiega dla A=A^T>0 takiej że widmo A w przedziale [c,d]. Dla jakiego \tau szybkość zbieżnośic jest największaw normie drugiej i energetycznej \|x\|_A? Mamy met. iteracyjną x_{n+1}=x_n+2*a*A*Ax_n + a*g przy czym A=A^T o wartościach własnych {-1,2,5}. Dla jakich wartości a metoda zbiega? Określić w terminach A,a,g do czego zbiegnie x_n (o ile zbiegnie). Podać a takie że zbieżność w normie dwa metody najszybsza. Czy jeśli x_0=c*x_1+d*x_2 dla pewnych stałych c,d i wektorów własnych x_1,x_2 dla wart. własnych -1,2 to można dla pewnego a przyspieszyć zbieżność metody? Zad 3 Napisać w pseudokodzie mnożenie przez macierz w formacie spakowanych wierszy (do domu kolumn).
  6. 11-12-2009Zadanie własne i interpolacja
    1. zaproponuj algorytm który przy pomocy p. Householdera sprowadza A=A^T do macierzy podobnej 3diagonalnej. Oszacuj koszt.
    2. pokaż że wielomian charakterystyczny dla macierzy [0 1;-a -b] to x^2+bx+a. Czy dla danego wielomianu (-1)^n+a_{n-1} x^{n-1}+...+a_0 istnieje macierz A taka że jej wiel. charakterystyczny to ten wielomian? (Macierz ma ostatni wiersz: (-a_0,..,-a_{n-1}) a tak 1 na pierwszej nadprzekątnej (czy 1 na pozycjach (i,i+1) i=1,..,n) i poza tym elementy zerowe).
    3. dla funkcji która w węzłach -1,0,1,2 ma wartości 0, 1, 2, 9 znajdź wiel interpolacyjny lagrange'a na 3 sposoby - w bazie Lagrange'a, w bazie Newtona korzystając z wzoru Newtona i przy pomocy tablic różnic dzielonych - porównaj wyniki. Oszacuj błąd interpolacji w normie max przy założeniu że \|f^(4)\|_{max}<1. (Oszacowanie do domu)
    4. udowodnij wzór na różnice dzielone F[x_0..x_N]= \sum_{k=1}^N F(x_k)/((x_k-x_0)...(x_k-x_{k-1})(x_k-x_{k+1})...(x_k-x_N) Wsk: Skorzystaj z wzoru Newtona wstawiająć postać wiel. interpol. L w bazie Lagrange'a z prawej strony wzoru Newtona. (do domu dla chętnych)
    5. niech L_N f wiel. interp dla f(x)=sin(x) na siatce równoodległej na [0,2pi]. Oszacuj szybkość zbieżności L_N f i S_N f do f w normie supremum. (tzn podaj błędy) (do domu to samo ale dla sin(2x))
  7. 15-01-2009 Kartkówka z prac domowych. Splajny i kwadratury.
    1. niech S_N f splajn kubiczny z warunkami hermitowskimi dla f(x)=sin(x) na siatce równoodległej na [0,2pi]. Oszacuj szybkość zbieżności S_N f do f i pochodnej S_Nf do f' w normie supremum. (tzn podaj błędy) (do domu to samo ale dla dla sin(2x) i x^{3/2} - ta druga funkcja nie jest C^2!)
    2. niech dla równomiernego podziału \PI: x_k=k*h h =2\pi/N odcinka [0,2\pi] S_N f to splajn z S^0_2 interpolujący f(x)=sin(x) w węzłąch i środkach podocinków. Czy jest wyznaczony jednoznacznie? Oszacuj szybkość zbieżności S_N f do f w normie supremum. (tzn podaj błędy) (do domu to samo ale dla sin(2x))
    3. rząd i zbieżność złożónej kwadratury prostokątów dla funkcji klasy C^1 i C^2.

Program labów

Z ewentualnymi linkami do jakiś prostych skryptów Zadania których nie zdążą Państwo na labie zrobić są do domu!


Kilka przykładowych skryptów, m-plików (plików funkcyjnych ) octave'a, źródeł prostych pogramów w C, źródłowych funkcji z blasów czy LAPACKa czy użytecznych linków
(dodawanych w miarę postępu labu)

Tutaj link do stron Octave'a (skąd można ściągnąć kolejną dystrybucje - pod linuxa czy windows)
octave-forge - rozszerzenia octave'a

A tu kolejny manual do octave'a w htmlu

Skrypty m-pliki octave'a


W razie znalezienia błędów proszę o kontakt (częśc błędów może się brać ze zmian w kolejnych wersjach octave)
mnbasic.m - prosty skrypt octave w którym są przedstawione niektóre podstawowe operacje macierzowe oraz pętle, instrukcje warunkowe itp
newton.m - prosta implementacja skalarnej metody Newtona
lu.tgz - kilka prostych skryptów octave'a spakowanych w zgzipowanym pliku tar na testowanie wpływu na błąd uwarunkowania macierzy dla macierzy Hilberta (testHilb.m), zachowania rozkładu LU bez wyboru elementu głównego (nopivotbad.m) i LU dla macierzy trójdiagonalnej (bez wyboru dla prostoty - chodzi o porównanie czasów dla dużych wymiarów) testsolvetrig.m, m-plik solvetrig.m zawiera solver dla macierzy trójdiagonalnej (działa w klasie macierzy 3diag silnie diagonalnie dominujących czy symetrycznych dodatnio określonych) Metoda CG i PCG były na wykładzie ale opisane są też razem z GMRES w
C. T. Kelley, Iterative methods for linear and nonlinear equations. Frontiers in Applied Mathematics, 16. Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 1995.
CG i PCG - Rozdział 2 w szczególności wzory na CG i PCG - str. 22-23; GMRES - rozdział 3, (książka dostępna on-line do celów prywatnych - link działał testowany 20-11-2009)

ZAchęcam żeby poza projektem do napisania funckji z tą metodą w C++ i potem skompilowania jako plik oct octave'a czyli dołączenia do dystrybucji octave'a (octave-forge).
Powrót do mojej strony domowej.
Ostatnia aktualizacja: 8 marca 2010