Slajdy - Katedra Informatyki
Transkrypt
Slajdy - Katedra Informatyki
Literatura Rozwiazywanie ˛ układu równań Obliczenia naukowe Wykład nr 8 Paweł Zieliński Katedra Informatyki, Wydział Podstawowych Problemów Techniki, Politechnika Wrocławska Literatura Rozwiazywanie ˛ układu równań Literatura Literatura podstawowa [1] D. Kincaid, W. Cheney, Analiza numeryczna, WNT, 2005. [2] M. T. Heath, Scientific Computing, An Introductory Survey, The McGraw-Hill Companies, 1997. [3] A. Bjorck, G. Dahlquist, Metody numeryczne, PWN, 1987. [4] M. Dryja, J. i M. Jankowscy, Przeglad ˛ metod i algorytmów numerycznych, cz. 2, WNT, 1988. [5] Z. Fortuna, B. Macukow, J. Wasowski, ˛ Metody numeryczne, WNT 1998. [6] J. i M. Jankowscy, Przeglad ˛ metod i algorytmów numerycznych, cz. 1, WNT, 1988. [7] J. Stoer, R. Bulirsch, Wstep ˛ do analizy numerycznej, PWN, 1987. Literatura uzupełniajaca ˛ [8] Kiełbasiński, H. Schwetlick, Numeryczna algebra liniowa, WNT, 1993. Znaczna cze˛ ść wykładu została przygotowana na podstawie ksiażki ˛ [1]. Literatura Rozwiazywanie ˛ układu równań Rozwiazywanie ˛ układu równań liniowych U x = b , U ∈ Rn×n , x ∈ Rn , b ∈ Rn u11 x1 + u12 x2 + · · · + u1n xn = b1 u22 x2 + · · · + u2n xn = b2 .. .. .. . . . unn xn = bn Zakładamy, że macierz U jest nieosobliwa. Stad ˛ ukk 6= 0, k = 1, . . . , n. Wyznaczamy xn z ostatniego równania bn xn = unn Dalej wyznaczamy xk dla k = nP− 1, . . . , 1 bk − nj=k +1 ukj xj xk = ukk Literatura Rozwiazywanie ˛ układu równań Rozwiazywanie ˛ układu równań liniowych - Eliminacja Gaussa A) 6= 0 Ax = b , A ∈ Rn×n , x ∈ Rn , b ∈ Rn , det(A A (1) = A , b (1) = b (1) (1) (1) (1) a11 x1 + a12 x2 + · · · + a1n xn = b1 (1) (1) (1) (1) a x1 + a22 x2 + · · · + a2n xn = b2 A (1)x = b (1) 21. .. .. .. .. . . . (1) (1) (1) (1) an1 x1 + an2 x2 + · · · + ann xn = bn Eliminujemy zmienna˛ x1 z równań od 2-go do n-tego. Mnożymy 1-sze równanie przez (1) a li1 = i1 i = 2, . . . , n (1) a11 i odejmujemy od pozostałych. Literatura Rozwiazywanie ˛ układu równań Eliminacja Gaussa Po pierwszym kroku otrzymujemy (1) A (2)x = b (2) (1) a11 x1 + a12 x2 + · · · (2) a22 x2 + · · · .. . (2) an2 x2 + · · · (1) (1) + a1n xn = b1 (2) (2) + a2n xn = b2 .. .. . . (2) (2) + ann xn = bn Eliminujemy zmienna˛ x2 z równań od 3-go do n-tego. Mnożymy 2-gie równanie przez (2) a i = 3, . . . , n li2 = i2 (2) a22 i odejmujemy od pozostałych. Literatura Rozwiazywanie ˛ układu równań Eliminacja Gaussa Ogólnie po k − 1 krokach otrzymujemy (1) (1) a11 x1 + a12 x2 + ··· (2) a22 x2 + ··· .. . A (k )x = b (k ) (k ) akk xk .. . (k ) ank xk (1) (1) (k ) (k ) a1n xn = b1 (2) (2) a2n xn = b2 .. .. . . (k ) (k ) + · · · + akn xn = bk .. .. . . + + + · · · + ann xn = bn Eliminujemy zmienna˛ xk z równań od k + 1-tego do n-tego. Mnożymy k -te równanie przez (k ) ai2 lik = (k ) i = k + 1, . . . , n akk i odejmujemy od pozostałych. Literatura Rozwiazywanie ˛ układu równań Eliminacja Gaussa Po n − 1 krokach dostajemy układ z macierza˛ górno trójkatn ˛ a˛ (1) (1) (1) (1) a11 x1 + a12 x2 + · · · + a1n xn = b1 (2) (2) (2) a22 x2 + · · · + a2n xn = b2 A (n)x = b (n) .. .. .. . . . (n) (n) ann xn = bn for k ← 1 to n − 1 do for i ← k + 1 to n do (k ) (k ) lik ← aik /akk for j ← k + 1 to n do (k +1) (k ) (k ) aij ← aij − lik akj end for (k +1) (k ) (k ) bi ← bi − lik bk end for end for Literatura Rozwiazywanie ˛ układu równań Eliminacja Gaussa - Macierzowe sformułowanie jednego kroku Przejście od macierzy A (k ) do A (k +1) i od wektora b (k ) do b (k +1) możemy zapisać A (k +1) = L (k )A (k ) , b (k +1) = L (k )b (k ) , gdzie (k ) L = 1 .. . 1 −lk +1,k −lk +2,k .. . −ln,k 1 .. . 1 Literatura Rozwiazywanie ˛ układu równań Eliminacja Gaussa jako algorytm rozkładu trójkatnego ˛ Proces sprowadzania macierzy A (1) do macierzy górno trójkatnej ˛ A (n) w n − 1 krokach możemy zapisać A (n) = L (n−1) · · · L (2)L (1)A (1) Oznaczajac ˛ A (n) przez U oraz z tego, że A = A (1) mamy U = L (n−1) · · · L (2)L (1)A L(n−1) · · · L (2)L (1) )−1U A = (L −1 A = L (1) L (2) −1 −1 · · · L (n−1) U Literatura Rozwiazywanie ˛ układu równań Rozkład LU L (k )−1 = 1 .. L = . 1 lk +1,k lk +2,k .. . ln,k −1 1 .. . 1 l21 1 l31 l32 .. . , 1 ln1 ln2 · · · .. ln,n−1 1 1 −1 −1 gdzie L = L(1) L(2) · · · L(n−1) . Jak widać eliminacja Gaussa jest równoważna rozkładowi A = LU A na iloczyn macierzyA macierzy dolnej i górno trójkatnej. ˛ . Literatura Rozwiazywanie ˛ układu równań Rozkład LU W komputerowej realizacji rozkład LU pamietamy ˛ w jednej (k ) tablicy umieszczajac ˛ mnożniki lik w miejscu zerowanych (k ) elementów aik . a11 a12 · · · a21 a22 · · · A= . .. .. . ··· a1n a2n .. . an1 an2 · · · an,n → LU = u11 u12 · · · l21 u22 · · · .. . u1n u2n .. . ··· un,n ln1 ln2 Znajac ˛ rozkład A = LU zadanie Ax = b sprowadzamy do rozwiazania ˛ dwóch układów trójkatnych ˛ Ly = b i U x = y Rozwiazanie ˛ układu Ly = b odpowiada y = L −1b = L (n−1) · · · L (2)L (1)b = b (n) . Literatura Rozwiazywanie ˛ układu równań Obliczanie wyznacznika i macierzy odwrotnej Załóżmy, że znamy rozkład LU macierzy A wówczas n Y A) = det(L LU ) = det(L L)det(U U) = det(A uii . i=1 Z definicji A −1 jest macierza˛ odwrotna˛ A , jeżeli AA −1 = I Oznaczajac ˛ A −1 przez X mamy e (1) , . . . , e (n) ], x (i) , e (i) ∈ Rn AX = I ⇔ A [xx (1) , . . . , x (n) ] = [e gdzie x (i) jest i-ta˛ kolumna˛ macierzy odwrotnej, e (i) jest i-ta˛ kolumna˛ macierzy jednostkowej. Literatura Rozwiazywanie ˛ układu równań Obliczanie macierzy odwrotnej Znajac ˛ rozkład LU macierzy A wyznaczamy n kolumn macierzy −1 A co jest równoważne rozwiazaniu ˛ 2n układów trójkatnych ˛ Ly (i) LU x (i) = e (i) , i = 1, . . . , n = e (i) , U x (i) = y (i) i = 1, . . . , n Literatura Rozwiazywanie ˛ układu równań Wybór elementu głównego Wariant podstawowy metody eliminacji Gaussa może być (k ) stosowany jeżeli wszystkie elementy przekatniowe ˛ akk , k = 1, 2, . . . , n − 1 sa˛ różne od zera. Warunek ten nie jest spełniony nawet dla macierzy nieosobliwych, jak na przykład poniższy układ 0 1 x1 1 = 1 1 x2 2 W tym przypadku wystarczy zamienić równania miejscami. Należy podkreślić, że w numerycznej realizacji ważne jest nie (k ) tylko, aby elementy akk były różne od zera, ale by nie były zbyt małe co do wartości bezwzglednej. ˛ Literatura Rozwiazywanie ˛ układu równań Wybór elementu głównego Rozważmy przykład układ równa jest mała˛ liczba˛ ń,w którym 1 1 x1 = x2 2 1 1 Po zastosowaniu eliminacji Gaussa otrzymujemy układ trójkatny ˛ 1 1 x1 = x2 0 1 − −1 2 − −1 Rozwiazuj ˛ ac ˛ otrzymujemy x2 = (2 − −1 )/(1 − −1 ), x1 = (1 − x2 )−1 Literatura Rozwiazywanie ˛ układu równań Wybór elementu głównego Jeżeli jest wystarczajaco ˛ małe np. = 10−8 (−1 = 108 ) w arytmetyce single, wówczas 2 − −1 ≈ −1 i 1 − −1 ≈ −1 . Stad ˛ obliczone x2 ≈ 1 i x1 ≈ 0 znacznie różnia˛ sie˛ od prawidłowych wartości x2 ≈ 1 i x1 ≈ 1. Problem znika jeżeli zamienimy równania 2 1 1 x1 = x2 1 1 Stosujac ˛ eliminacj ˛ dostajemy atny e˛ Gaussa układ trójk 1 1 x1 2 = 0 1− x2 1 − 2 Rozwiazuj ˛ ac ˛ otrzymujemy prawidłowe x2 = (1 − 2)/(1 − ) ≈ 1, x1 = (2 − x2 ) ≈ 1. Literatura Rozwiazywanie ˛ układu równań Wybór elementu głównego Rozważmy k -ty krok eliminacji Gaussa. • eliminacja Gaussa z cz˛eściowym wyborem polega znalezieniu elementu takiego, że (k ) (k ) |apk | = max |aik | k ≤i≤n i przestawieniu w macierzy A (k ) wiersza p-tego z k -tym oraz elementu p-tego z k -tym w wektorze b (k ) . • eliminacja Gaussa z pełnym wyborem polega znalezieniu elementu takiego, że (k ) (k ) |apl | = max |aij | k ≤i,j≤n i przestawieniu w macierzy A (k ) wiersza p-tego z k -tym, kolumny l-tej z k -ta˛ oraz elementu p-tego z k -tym w wektorze b (k ) . Literatura Rozwiazywanie ˛ układu równań Wybór elementu głównego Niech P ij bedzie ˛ macierz a˛ permutacji 1 .. . 0 ··· .. P ij = . 1 ··· 1 .. . 0 .. . 1 P ij różni sie˛ od macierzy jednostkowej elementami pii = pjj = 0 2 i pij = pji = 1. Ponadto P Tij = P ij = P −1 ij , P ij = I . P ij A jest równoważne zamianie w macierzy A wiersza i-tego z j-tym. AP ij jest równoważne zamianie w macierzy A kolumny i-tej z j-ta. ˛ Literatura Rozwiazywanie ˛ układu równań Wybór elementu głównego W zapisie macierzowym cz˛eściowy wybór ma postać P pk A (k ) , P pk b (k ) Natomiast pełny wybór ma postać P pk A (k )P kl , P pk b (k ) Metode˛ eliminacji Gaussa z pełnym wyborem możemy przedstawić L (n−1)P pn−1 n−1 · · · L (2)P p2 2L (1)P p1 1A (1)P 1j1 P 2j2 · · · P n−1jn−1 = A (n) L(n−1)P pn−1 n−1 · · · L(2)P p2 2L(1)P p1 1P −1P A(1)P = A(n) , gdzie P = P pn−1 n−1 · · · P p2 2P p1 1 , P = P 1j1 P 2j2 · · · P n−1jn−1 . L(n−1)P pn−1 n−1 · · · L (2)P p2 2L (1)P p2 2 · · · P pn−1 n−1 )−1 jest L = (L macierza˛ dolno trójkatn ˛ a˛ spełniajac ˛ a˛ równanie L U = P AP U = A (n) ) (U Literatura Rozwiazywanie ˛ układu równań Wybór elementu głównego W metodzie eliminacji Gaussa z cz˛eściowym wyborem P = I . Zatem LU = P A Znany rozkład LU = P A możemy wykorzystać do rozwiazania ˛ układu równań Ax = b Ly = P b i U x = y . Wyznacznik macierzy obliczamy nastepuj ˛ aco ˛ A) = (−1)p det(A n Y uii , i=1 gdzie p jest liczba˛ przestawień kolumn i wierszy.