Rozwiązywanie układów równań liniowych metody przybliżone Materiały pomocnicze do ćwiczeń z metod numerycznych Piotr Modliński Wydział Geodezji i Kartografii PW 14 stycznia 2012 P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 1/16
Agenda Problem Problem Co chcemy obliczyć? Dlaczego nie metody dokładne? Co zamiast tego? Kryteria stopu P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 2/16
Co chcemy obliczyć? Dlaczego nie metody dokładne? Co zamiast tego? Problem P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 3/16
Problem Co chcemy obliczyć? Dlaczego nie metody dokładne? Co zamiast tego? Rozwiązać następujący układ równań liniowych Ax = b: a 1,1 a 1,2... a 1,n 1 a 1,n x 1 b 1 a 2,1 a 2,2... a 2,n 1 a 2,n x 2 b 2.................. =... a n 1,1 a n 1,2... a n 1,n 1 a n 1,n x n 1 b n 1 a n,1 a n,2... a n,n 1 a n,n x n b n P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 4/16
Co chcemy obliczyć? Dlaczego nie metody dokładne? Co zamiast tego? Dlaczego nie metody dokładne? Okazuje się, że dla większych układów równań (ponad 30-40 równań) metody dokładne wprowadzają zbyt duże błędy numeryczne! P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 5/16
Alternatywa Problem Co chcemy obliczyć? Dlaczego nie metody dokładne? Co zamiast tego? Metody iteracyjne! (przybliżone) układ równań liniowych jest szczególnym przypadkiem układu nieliniowego układy nieliniowe umiemy rozwiązywać metoda iteracji prostej P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 6/16
przypomnienie Przekształcamy równanie F (X) = 0 G(X) = X G przekształcenie zwężające 1 Iterujemy X (k+1) = G(X (k) ) do osiągnięcia wymaganej dokładności 1 spełniające warunek Lipschitza P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 7/16
Wykorzystanie w ukł. równ. liniowych Równanie wyjściowe: F (X) = 0 Ax = b przekształcamy w następujący sposób: gdzie oczywiście: G(X) = X Bx + c = x x (0) to przybliżenie początkowe x (k+1) = Bx (k) + c Pytania: W jaki sposób wyznaczyć macierz B, oraz wektor c? Kiedy metoda jest zbieżna? P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 8/16
Metoda Richardsona (R) B = I pa c = pb zatem k=0,1,... i=1,...,n x (k+1) i = x (k) i + p b i p 0 parametr Wyprowadzenie: Ax = b pax = pb x + pax = x + pb x = x pax + pb x = (I pa)x + pb n a i,j x (k) j=1 j P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 9/16
Metoda Jacobiego A = L + D + U Poszczególne macierze to: B = D 1 (L + U) c = D 1 b L macierz trójk. dolna D macierz diagonalna U macierz trójk. górna i > j l i,j = a i,j ; d i,j = u i,j = 0 i = j d i,j = a i,j ; l i,j = u i,j = 0 zatem k=0,1,... i=1,...,n i < j u i,j = a i,j ; l i,j = d i,j = 0 x (k+1) i = b i i 1 j=1 a i,jx (k) j n j=i+1 a i,jx (k) j a i,i P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 10/16
Metoda Gaussa-Seidla B = (L + D) 1 U c = (L + D) 1 b zatem k=0,1,... i=1,...,n A = L + D + U Macierze analogiczne jak w metodzie Jacobiego UWAGA! Istotna kolejność obliczania x i przy obliczaniu x (k+1) i wymagane są x (k+1) j, dla j < i! x (k+1) i = b i i 1 j=1 a i,jx (k+1) j n j=i+1 a i,jx (k) j a i,i P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 11/16
Metoda SOR Problem B = (D+ωL) 1 ((1 ω)d ωu) c = ω(d + ωl) 1 b zatem k=0,1,... i=1,...,n SOR succesive over-relaxation 0 ω 2 parametr dla ω = 1 metoda Gaussa-Seidla x (k+1) i = ω b i i 1 j=1 a i,jx (k+1) j n j=i+1 a i,jx (k) j a i,i P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 12/16
Warunki zbieżności metody Podobnie, jak opracowano konkretne algorytmy pozwalające wyznaczyć macierz B i wektor c, określone są kryteria zbieżności metody: Twierdzenie dla układu x = Bx + c jest zbieżna przy dowolnym x (0) wtedy i tylko wtedy, gdy ρ(b) < 1, przy czym ρ(b) = max λ Sp(B) λ jest promieniem spektralnym macierzy B. P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 13/16
Wartości i wektory własne Przypomnienie Wartości λ 0 i x tworzą wartość własną i wektor własny macierzy A, tzn. Ax = λx P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 14/16
Kryteria stopu Problem Kryteria stopu x (k+1) x (k) < ɛ proste może być mało dokładne dla powolnej zbieżności Ax (k+1) b b < ɛ lepsze dla powolnej zbieżności P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 15/16
Dziękuję za uwagę P. Modliński, GiK PW Rozw. ukł. równ. lin. metody przybliżone 16/16