Analiza numeryczna Kurs INP002009W Wykłady 6 i 7 Rozwiązywanie układów równań liniowych Karol Tarnowski karol.tarnowski@pwr.wroc.pl A-1 p.223
Plan wykładu Podstawowe pojęcia Własności macierzy Działania na macierzach Macierzowa reprezentacja układów równań Rozkłady LU Rozkład Doolittle a Rozkład Crouta Eliminacja Gaussa Podstawowy algorytm eliminacji Gaussa Eliminacja Gaussa z wyborem wierszy głównych 2/56
Plan wykładu Normy wektorów i macierzy Definicja normy wektorów Przykłady Norma macierzy indukowana normą wektora Metody iteracyjne Metoda Richardsona Metoda Jacobiego Metoda Gaussa-Seidela 3/56
Podstawowe pojęcia Układ równań liniowych a x a x a x b 11 1 12 2 1n n 1 a x a x a x b 21 1 22 2 2n n 2 a x a x a x b n1 1 n2 2 nn n n a11 a12 a1 n x1 b1 a21 a22 a 2n x 2 b 2 a a a x b n1 n2 nn n n Ax b 4/56
Podstawowe pojęcia macierz prostokątna tablica liczb 2,0 2,0 3,7 1,9 0,5 A, B 2,0 3,7 1,9, C 0,5 5,1 3,0 1,9 a 23 3,0 3,0 macierz transponowana T A 2,0 0,5 3,7 5,1 1,9 3,0 A T A ij ji 5/56
Podstawowe pojęcia macierz symetryczna A A T macierz jednostkowa I 1 0 0 0 1 0 0 0 1 IA AI A 6/56
Podstawowe pojęcia Działania na macierzach dodawanie A a ij ij B b ij ij mnożenie przez skalar A ij a mnożenie macierzy ij A B a b A (rozmiaru n p), B (rozmiaru p m), AB (rozmiaru n m) ij ij ij p AB a b 1 i m,1 j n ij ik kj k1 7/56
Podstawowe pojęcia Równoważność układów równań Niech będą dwa układy n równań z n niewiadomymi: Ax b, Bx d. Takie układy równań są równoważne, jeśli mają identyczne rozwiązania. Chcąc rozwiązać układ równań możemy przekształcić go do równoważnego prostszego układu. 8/56
Podstawowe pojęcia Operacje elementarne 1. Przestawianie równań (E i E j ) 2. Mnożenie równania stronami przez pewną liczbę różną od zera (E i E i ) 3. Dodawanie stronami do równania wielokrotności innego równania (E i + E j E i ) 9/56
Podstawowe pojęcia Operacje elementarne, jako mnożenie macierzy 1. Przestawianie równań 1 0 0 a11 a12 a13 a11 a12 a13 0 0 1 a 21 a22 a23 a 31 a32 a33 0 1 0 a 31 a32 a33 a21 a22 a23 1 0 0 b1 b1 0 0 1 b 2 b 3 0 1 0 b 3 b2 10/56
Podstawowe pojęcia Operacje elementarne, jako mnożenie macierzy 2. Mnożenie równania stronami przez pewną liczbę różną od zera (E i E i ) 1 0 0 a11 a12 a13 a11 a12 a13 0 0 a 21 a22 a23 a 21 a22 a23 0 0 1 a 31 a32 a33 a31 a32 a33 1 0 0 b1 b1 0 0 b 2 b 2 0 0 1 b 3 b3 11/56
Podstawowe pojęcia Operacje elementarne, jako mnożenie macierzy 3. Dodawanie stronami do równania wielokrotności innego równania (E i + E j E i ) 1 0 0 a11 a12 a13 a11 a12 a13 0 1 0 a 21 a22 a23 a 21 a22 a23 0 1 a 31 a32 a33 a21 a31 a22 a32 a23 a33 1 0 0 b1 b1 0 1 0 b 2 b 2 0 1 b 3 b2 b3 12/56
Podstawowe pojęcia Odwrotność macierzy Jeśli A i B są takimi macierzami, że AB = I, to: B jest prawą odwrotnością A, A jest lewą odwrotności B. 1 0 1 0 0 1 0 0 1 0 1 0 0 1 13/56
Podstawowe pojęcia Odwrotność macierzy Twierdzenie. Macierz kwadratowa ma co najwyżej jedną prawą odwrotność. Dowód. Niech będzie AB = I, gdzie A, B, I są macierzami stopnia n. Niech A (j) oznacza j-tą kolumnę macierzy A, a I (k) k-tą kolumnę macierzy I. n j1 j k b A I 1 k n jk 14/56
Podstawowe pojęcia Odwrotność macierzy Twierdzenie. Jeśli A i B są macierzami kwadratowymi takimi, że AB = I, to BA = I. Dowód. Niech będzie C = BA I + B. Wtedy AC = ABA AI + AB = A A + I = I. 1 1 3 1 1 0 3 1 1 1 2 3 2 1 0 1 2 1 2 3 15/56
Podstawowe pojęcia Odwrotność macierzy Jeśli macierz A jest nieosobliwa to przy pomocy operacji elementarnych można ją zredukować do macierzy jednostkowej A 1 2 3 1 0 0 1 3 3, I 0 1 0 2 4 7 0 0 1 1 0 0 1 2 3 1 0 0 E 1 1 1 0, E 1A 0 1 0, E 1I 1 1 0 0 0 1 2 4 7 0 0 1 16/56
Podstawowe pojęcia Odwrotność macierzy 1 0 0 1 2 3 1 0 0 E 1 1 1 0, E 1A 0 1 0, E 1I 1 1 0 0 0 1 2 4 7 0 0 1 1 0 0 1 2 3 1 0 0 E 2 0 1 0, E 2E1A 0 1 0, E 2E1I 1 1 0 2 0 1 0 0 1 2 0 1 1 0 3 1 2 0 7 0 3 E 3 0 1 0, E 3E2E1A 0 1 0, E 3E2E1I 1 1 0 0 0 1 0 0 1 2 0 1 17/56
Podstawowe pojęcia Odwrotność macierzy 1 0 3 1 2 0 7 0 3 E 3 0 1 0, E 3E2E1A 0 1 0, E 3E2E1I 1 1 0 0 0 1 0 0 1 2 0 1 1 2 0 1 0 0 E 4 0 1 0, E 4E3E2E1A 0 1 0, 0 0 1 0 0 1 9 2 3 1 E4E3E2E1I 1 1 0 A 2 0 1 18/56
Podstawowe pojęcia Odwrotność macierzy Ax b A Ax 1 1 x 1 A b A b 19/56
Rozkłady LU Układy łatwe do rozwiązania Załóżmy, że macierz jest przekątniowa a11 0 0 x1 b1 0 a 22 x 2 b 2 0 0 0 ann xn bn x b a b a bn a 1 11 2 22 nn Jeśli dla pewnego i jest a ii = 0 oraz b i = 0, to x i może być dowolne, natomiast jeśli a ii = 0 oraz b i 0 to układ jest sprzeczny. 20/56
Rozkłady LU Układy łatwe do rozwiązania Załóżmy, że macierz jest trójkątna dolna. Ponadto załóżmy, że a ii 0 dla wszystkich i. x b a 1 1 11 x b a x a a11 0 0 x1 b1 a21 a22 x 2 b 2 0 a a a x b n1 n, n1 nn n n 2 2 21 1 22 x b a x a x a 3 3 32 2 31 1 33 podstawianie w przód x b a x a i 1 i i ij j ii j1 21/56
Rozkłady LU Układy łatwe do rozwiązania Podobnie, jeśli macierz jest trójkątna górna (a ii 0 dla wszystkich i). a11 a12 a1 n x1 b1 0 a22 x 2 b 2 an1, n 0 0 ann xn bn x b a n n n, n x b a x a n1 n1 n1, n n, n n1, n1 podstawianie wstecz n x b a x a i i ij j ii j i 1 22/56
Rozkłady LU Układy łatwe do rozwiązania a11 a12 0 x1 b1 a 21 a22 a23 x 2 b 2 a 31 0 0 x3 b3 a31 0 0 x1 b3 a 11 a12 0 x 2 b 1 a 21 a22 a23 x3 b2 permutacja (3,1,2) (p 1, p 2, p 3,, p n ) 23/56
Rozkład LU Załóżmy, że macierz A można wyrazić jako iloczyn macierzy trójkątnej dolnej L i górnej U A = LU. Wtedy rozwiązywanie układu równań Ax = b można wykonać w dwóch etapach, bo L(Ux) = b. Lz = b rozwiązujemy względem z, Ux = z rozwiązujemy względem x. Nie każda macierz ma rozkład LU. 24/56
Rozkład LU A LU a11 a12 a1 n l11 0 0 u11 u12 u1 n a21 a22 l21 l22 0 u22 a n1, n 0 un1, n a a a l l l 0 0 u n1 n, n1 nn n1 n, n1 nn nn Jeżeli rozkład LU istnieje, to nie jest określony jednoznacznie. 25/56
Rozkład LU L l11 0 0 u11 u12 u1 n l21 l22 0 u22 U 0 u n1, n l l l 0 0 u n1 n, n1 nn nn A a a a a21 a22 a a a a 11 12 1n n1, n n1 n, n1 nn n a l u l u ij is sj is sj s1 s1 l 0 s i is u 0 s j sj min( i, j ) 26/56
Rozkład LU Załóżmy, że znamy k-1 wierszy macierzy U oraz k-1 kolumn macierzy L. Dla i=j=k mamy k 1 kk ks sk kk kk s1 a l u l u ustaliwszy jeden z elementów l kk lub u kk obliczamy drugi., 27/56
Rozkład LU Znając l kk oraz u kk obliczamy pozostałe elementy k-tego wiersza macierzy U oraz k-tej kolumny macierzy L. k k1 a l u l u l u k j n 1 kj ks sj ks sj kk kj s1 s1 k k1 a l u l u l u k i n 1 ik is sk is sk ik kk s1 s1 28/56
Rozkład LU rozkład Doolittle a l ii = 1 dla 1 i n rozkład Crouta u ii = 1 dla 1 i n rozkład Cholesky ego (dla macierzy rzeczywistej, symetrycznej, i dodatniookreślonej) U = L T, czyli A = LL T 29/56
Rozkład LU Rozkład Doolittle a input n, (a ij ) for k = 1 to n do l kk 1 for j = k to n do u kj a kj S s=1:k-1 l ks *u sj enddo for j = k+1 to n do l ik a ik (S s=1:k-1 l is *u sk )/u kk enddo enddo output (l ij ), (u ij ) 30/56
Rozkład LU Istnienie rozkładu Twierdzenie. Jeśli wszystkie minory główne macierzy kwadratowej A są nieosobliwe, to ma ona rozkład LU. k-ty minor główny A k a a a a21 a22 a a a a 11 12 1k k1, k k1 k, k1 kk 31/56
Eliminacja Gaussa Podstawowa eliminacja Gaussa Przykład. 6 2 2 4 x1 12 12 8 6 10 x 2 34 3 13 9 3 x 3 27 6 4 1 18 x4 38 6 2 2 4 x1 12 0 4 2 2 x 2 10 0 12 8 1 x 3 21 0 2 3 14 x4 26 6 2 2 4 x1 12 2 4 2 2 x 2 10 1 2 12 8 1 x 3 21 x 4 26 1 2 3 14 32/56
Eliminacja Gaussa Podstawowa eliminacja Gaussa 6 2 2 4 x1 12 2 4 2 2 x 2 10 1 2 12 8 1 x 3 21 x 4 26 1 2 3 14 6 2 2 4 x1 12 2 4 2 2 x 2 10 1 2 3 2 5 x 3 9 x 4 21 1 1 2 4 13 33/56
Eliminacja Gaussa Podstawowa eliminacja Gaussa 6 2 2 4 x1 12 2 4 2 2 x 2 10 1 2 3 2 5 x 3 9 x 4 21 1 1 2 4 13 6 2 2 4 x1 12 2 4 2 2 x 2 10 1 2 3 2 5x 3 9 x 4 3 1 1 2 2 3 34/56
Eliminacja Gaussa Podstawowa eliminacja Gaussa 6 2 2 4 x1 12 2 4 2 2 x 2 10 1 2 3 2 5x 3 9 x 4 3 1 1 2 2 3 x 1 3 2 1 6 2 2 4 1 0 0 0 6 2 2 4 12 8 6 10 2 1 0 0 0 4 2 2 3 13 9 3 1 2 3 1 0 0 0 2 5 6 4 1 18 1 1 2 2 1 0 0 0 3 35/56
Eliminacja Gaussa Podstawowa eliminacja Gaussa input n, (a ij ) for k = 1 to n-1 do enddo for i = k+1 to n do enddo output (a ij ) z a ik /a kk a ik 0 for j = k+1 to n do a ij a ij z*a kj enddo 36/56
Eliminacja Gaussa Znaczenie elementów głównych 0 1 x1 1 1 1 x2 2 0 1 1 1 1 1 1 2 1 x1 1 1 1 x2 2 1 x1 1 1 1 0 1 x2 2 2 1, 1 x x x 1 1 1 2 1 2 x 1, x 0 2 1 37/56
Eliminacja Gaussa Znaczenie elementów głównych 1 x1 1 1 1 x2 2 1 1 1 x1 1 1 x2 2 1 1 1 x1 1 1 0 1 x2 2 x 1, x 0 2 1 38/56
Eliminacja Gaussa Znaczenie elementów głównych 1 x1 1 1 1 x2 2 1 1 x1 2 1 x2 1 1 1 x1 2 0 1 x2 1 2 x 1, x 1 2 1 39/56
Eliminacja Gaussa Znaczenie elementów głównych input n, (a ij ), (p i ) for k = 1 to n-1 do enddo for i = k+1 to n do enddo output (a ij ) z a pi,k /a pk,k a pi,k 0 for j = k+1 to n do a pi,j a pi,j z*a pk,j enddo 40/56
Eliminacja Gaussa Skalowalny wybór wierszy głównych Ax b PAx Pb PA LU P macierz permutacji (P powstaje z I poprzez przestawianie wierszy) P ij pj i Lz Pb Ux z 41/56
Eliminacja Gaussa Skalowalny wybór wierszy głównych skala wiersza s max a 1 i n i 1jn ij wierszem głównym jest ten wiersz dla którego iloraz elementu głównego i skali wiersza jest największy 42/56
Eliminacja Gaussa Skalowalny wybór wierszy głównych - przykład 2 3 6 A 1 6 8, p 1,2,3, s 6,8,3 3 2 1 2 3 13 3 20 3 1 3 16 3 23 3, p 3,2,1 3 2 1 43/56
Eliminacja Gaussa Skalowalny wybór wierszy głównych - przykład PA 2 3 13 3 20 3 s 6,8,3 1 3 16 13 7 13, p 3,1,2 3 2 1 0 0 1 P 1 0 0 0 1 0 3 2 1 1 0 0 3 2 1 2 3 6 2 3 1 0 0 13 3 20 3 1 6 8 1 3 16 13 1 0 0 7 13 44/56
Eliminacja Gaussa Skalowalny wybór wierszy głównych - algorytm input n, (a ij ) for i = 1 to n do p i i s i max 1 j n (abs(a ij )) enddo for k = 1 to n-1 do wybór takiego j k, że abs(a pj,k )/s pj abs(a pi,k )/s pi dla i=k,k+1,,n p k p j for i = k+1 to n do z a pi,k /a pk,k ; a pi,k z for j = k+1 to n do enddo enddo output (a ij ), (p i ) a pi,j a pi,j z*a pk,j enddo 45/56
Normy wektorów i macierzy Normy wektorów W przestrzeni wektorowej V norma jest funkcją określoną na V, o wartościach rzeczywistych nieujemnych, która ma trzy własności: x 0 dla x 0, x V, x x dla, x V, x y x y dla x, y V. 46/56
Normy wektorów i macierzy Normy wektorów norma euklidesowa (norma l 2 ) x 2 n x 2, i1 i norma l x max x, 1 i n i norma l 1 x 1 n i1 x i. 47/56
Normy wektorów i macierzy Normy wektorów - przykład 2 x : x, x 1 x 1 x 2 1 x 1 1 48/56
Normy wektorów i macierzy Normy macierzy Dla ustalonej normy wektora indukowana przez nią norma macierzy kwadratowej A stopnia n jest określona wzorem: A sup Au : u u 1 n 49/56
Metody iteracyjne Przykład 7 6 x1 3 8 9 x2 4 7x 6x 3 1 2 9x 8x 4 2 1 x x k k1 1 2 6 3 x 7 7 8 4 x 9 9 k k1 2 1 metoda Jacobiego k 6 k1 3 x1 x2 7 7 k 8 k 4 x2 x1 9 9 metoda Gaussa-Seidela 50/56
Metody iteracyjne Przykład metoda Jacobiego metoda Gaussa-Seidela k x (k) 1 x (k) 2 0 0,00000 0,00000 10 0,14865-0,19820 20 0,18682-0,24909 30 0,19662-0,26215 40 0,19913-0,26551 50 0,19978-0,26637 k x (k) 1 x (k) 2 0 0,00000 0,00000 10 0,21978-0,24909 20 0,20130-0,26551 30 0,20009-0,26659 40 0,20001-0,26666 50 0,20000-0,26667 x 1, x 4 5 15 1 2 51/56
Metody iteracyjne Ax k b Qx Q A x b k k1 1 1 k 1 k1 k1 Qx Q A x b 1 1 x I Q A x Q b x I Q A x Q b x x I Q A x x 52/56
Metody iteracyjne k 1 k1 x x I Q A x x k k 1 0 1 k k 1 1 k k k 1 1 x x I Q A x x I Q A x x x x I Q A x x I Q A 1 lim x x 0 53/56
Metody iteracyjne Metoda Richardsona W metodzie Richardsona Q = I input n, (a ij ), (b i ), (x i ), M for k = 1 to M do enddo for i = 1 to n do r i b i - S j=1:n a ij *x j enddo for i = 1 to n do x i x i + r i enddo output k, (x i ), (r i ) k k k1 k1 k1 k1 k1 x I A x b x x r r b Ax I A 1 54/56
Metody iteracyjne Metoda Jacobiego W metodzie Jacobiego Q jest macierzą przekątniową taką, że q ii = a ii. input n, (a ij ), (b i ), (x i ), M for k = 1 to M do enddo for i = 1 to n do u i (b i S j=1:n,ji a ij *x j )/a ii enddo for i = 1 to n do x i u i enddo output k, (x i ) 55/56
Metody iteracyjne Metoda Gaussa-Seidela W metodzie Gaussa-Seidela wykorzystywane są nowoobliczone wartości x i input n, (a ij ), (b i ), (x i ), M for k = 1 to M do enddo for i = 1 to n do x i (b i S j=1:n,ji a ij *x j )/a ii enddo output k, (x i ) 56/56