Rozwiazywanie układów równań liniowych Ax = b 1
PLAN REFERATU: Warunki istnienia rozwiazań układu Metoda najmniejszych kwadratów Metoda najmniejszych kwadratów - algorytm rekurencyjny Rozwiazanie układu minimalizujace normę Algorytm Kaczmarza Rozwiazanie ogólne układu 2
WARUNKI ISTNIENIA ROZWIAZAŃ UKŁADU Twierdzenie 1. (Kronecker, Capelli) Niech A R m n, b R m. Równanie Ax = b ma co najmniej jedno rozwiazanie wtedy i tylko wtedy, gdy rz(a) = rz(a,b). Ponadto 1. jeśli rz(a) = rz(a,b) = n, to rozwiazanie jest dokładnie jedno, 2. jesli rz(a) = rz(a,b) < n, to rozwiazań jest nieskończenie wiele. Twierdzenie 2. (Cramer) Niech m = n i det(a) 0. Wtedy układ równań liniowych Ax = b ma dokładnie jedno rozwiazanie x = (x 1, x 2,..., x n ). Rozwiazanie to podaja następujace wzory Cramera x 1 = det(a 1) det(a), x 2 = det(a 2) det(a),..., x n = det(a n) det(a), gdzie A j jest macierza otrzymana z macierzy A przez zastapienie j-tej kolumny w A wektorem b. 3
METODA NAJMNIEJSZYCH KWADRATÓW Rozważmy układ równań liniowych Ax = b, gdzie A R m n, b R m, rz(a) = n i m n (tj. liczba niewiadomych n jest nie większa od liczby równań m). Niech R(A) = {Ax : x R n }. Jeśli b / R(A), równanie Ax = b nie ma rozwiazań. Mówimy wówczas, że układ równań liniowych jest sprzeczny lub nadokreślony. CEL: Znalezienie wektora (lub wektorów) x minimalizujacego Ax b 2. 4
Niech x będzie wektorem minimalizujacym Ax b 2, tj. x R n Ax b 2 Ax b 2. Mówimy wtedy, że wektor x jest rozwiazaniem średniokwadratowym równania Ax = b. Lemat 1. Niech A R m n, m n. Wówczas rz(a) = n wtedy i tylko wtedy, gdy rz(a T A) = n (tj. macierz kwadratowa A T A jest nieosobliwa). Twierdzenie 3. Istnieje jednoznaczny wektor x minimalizujacy Ax = b 2, dany jako rozwiazanie równania A T Ax = A T b, tj. x = (A T A) 1 A T b. 5
INTERPRETACJA GEOMETRYCZNA Równanie Ax = b ma rozwiazanie wtedy i tylko wtedy, gdy b R(A). Jeśli b / R(A), szukamy wektora h R(A), który jest bliski b. Stwierdzenie 1. Niech h R(A) taki, że h b jest ortogonalny do R(A). h = Ax = A(A T A) 1 A T b. Wtedy 6
METODA ALTERNATYWNA f(x) = Ax b 2 = (Ax b) T (Ax b) = 1 2 xt (2A T A)x x T (2A T b) + b T b f(x) = 2A T Ax 2A T b f(x) = 0 x = (A T A) 1 b 7
Przykład 1. Przypuśćmy, że proces ma pojedyncze wejście t R i pojedyncze wyjście y R. Wykonujemy eksperyment, wyniki przedstawia poniższa tabela. i 0 1 2 t i 2 3 4 y i 3 4 15 CEL: Znaleźć prosta najlepiej dopasowana do wyników, tj. m i c, takie że y i = mt i + c, i = 0,1,2. Problem można zapisać za pomoca układu trzech równań liniowych postaci: 2m + c = 3 3m + c = 4 4m + c = 15 8
lub za pomoca równania gdzie A = 2 1 3 1 4 1, b = Ax = b, 3 4 15, x = m c. Łatwo zauważyć, że rz(a) < rz(a,b) b / R(A) układ równań jest sprzeczny. Szukamy m i c takich, które minimalizuja Ax b 2 = 2 (mt i + c y i ) 2. i=0 Rozwiazanie: x = m c = (A T A) 1 A T b = 6 32/3. 9
METODA NAJMNIEJSZYCH KWADRATÓW ALGORYTM REKURENCYJNY Niech dana będzie próbka (t 0, y 0 ), (t 1, y 1 ) i (t 2, y 2 ) i parametry prostej regresji m i c, otrzymanej metoda najmniejszych kwadratów. Przypuśćmy, że mamy dodatkowy punkt (t 3, y 3 ), dysponujemy zatem czteroelementowa próbka (t 0, y 0 ), (t 1, y 1 ), (t 2, y 2 ) i (t 3, y 3 ). CEL: Znalezienie prostej regresji dla nowej próbki (t i, y i ), i = 0,1,2,3. 10
ALGORYTM REKURENCYJNY minimalizacja A 0 x b (0) 2 rozwiazanie: x (0) = G 1 0 AT 0 b(0), G 0 = A T 0 A 0 nowe dane w postaci macierzy A 1 i wektora b (1) Problem: Minimalizacja wyrażenia A0 A 1 x b (0) b (1) 2. Rozwiazanie x (1) = G 1 1 A0 A 1 T b (0) b (1), gdzie G 1 = A0 A 1 T A0 A 1. 11
x (1) = G 1 A0 1 A 1 T b (0) b (1) gdzie = G 1 1 (G 1x (0) A T 1 A 1x (0) + A T 1 b(1) ) = x (0) + G 1 1 AT 1 (b(1) A 1 x (0) ), G 1 = G 0 + A T 1 A 1. Dla (k + 1) iteracji mamy G k+1 = G k + A T k+1 A k+1 x (k+1) = x (k) + G 1 k+1 AT k+1 (b(k+1) A k+1 x (k) ). 12
Lemat 2. Niech A będzie macierza nieosobliwa. Niech U i V będa macierzami takimi, że I + VA 1 U jest nieosobliwa. Wtedy A + UV jest nieosobliwa oraz (A + UV) 1 = A 1 (A 1 U)(I + VA 1 U) 1 (VA 1 ). Z powyższego lematu dostajemy G 1 k+1 = (G k + A T k+1 A k+1) 1 = G 1 k AT k+1 (I + A k+1g 1 k AT k+1 ) 1 A k+1 G 1 k. Dla uproszczenia G 1 k zapisujemy jako P k. P k+1 = P k P k A T k+1 (I + A k+1p k A T k+1 ) 1 A k+1 P k x (k+1) = x (k) + P k+1 A T k+1 (b(k+1) A k+1 x (k) ). 13
ROZWIAZANIE UKŁADU Ax = b MINIMALIZUJACE NORME x Rozważmy układ równań liniowych Ax = b, gdzie A R m n, b R m, rz(a) = m i m n (tj. liczba równań jest nie większa od liczby niewiadomych n). W takim przypadku układ posiada nieskończenie wiele rozwiazań. Wśród nich jest jedno, które minimalizuje normę x. Niech x będzie takim rozwiazaniem, tj. Ax = b i x x dla wszystkich x takich, że Ax = b Twierdzenie 4. Istnieje jedyne rozwiazanie x równania Ax = b minimalizujace normę x i jest ono postaci x = A T (AA T ) 1 b. 14
Przykład 2. Spośród punktów x leżacych na przecięciu dwóch płaszczyzn definiowanych następuja- cymi równaniami: x 1 + 2x 2 x 3 =1 4x 1 + x 2 + 3x 3 =0, znaleźć punkt o minimalnej normie x. Powyższy problem równoważny jest zagadnieniu: znaleźć rozwiazanie równania Ax = b minimalizujace x, gdzie 1 2 1 1 A =, b =. 4 1 3 0 Rozwiazaniem jest x = A T (AA T ) 1 b = 0.0952 0.3333 0.2381. 15
ALGORYTM KACZMARZA(1937) Niech A R m n, b R m, rz(a) = m i m n. Algorytm zbiega do wektora x = A T (AA T ) 1 b bez konieczności w sposób bezpośredni odwracania macierzy AA T. Niech a T j - j-ty wiersz macierzy A, b j - j-ty wyraz wektora b, µ-liczba dodatnia, 0 < µ < 2. ALGORYTM KACZMARZA: 1. i := 0, inicjuj x (0) 2. dla j = 1,..., m x (im+j) = x (im+j 1) + µ(b j a T j x(im+j 1) )a j /a T j a j 3. i := i + 1, przejdź do kroku 2 Dla pierwszych m iteracji algorytmu (k = 0,..., m 1) mamy x (k+1) = x (k) + µ(b k+1 a T k+1 x(k) )a k+1 /a T k+1 a k+1, dla kolejnej tj. (m + 1)-szej x (m+1) = x (m) + µ(b 1 a T 1 x(m) )a 1 /a T 1 a 1. 16
Twierdzenie 5. Jeśli x (0) = 0, to x (k) x = A T (AA T ) 1 b przy k. W przypadku kiedy x (0) 0, algorytm Kaczmarza zbiega do jednoznacznego punktu ze zbioru {x : Ax = b}, minimalizujacego odległość x x (0). Jeśli µ = 1, to dla każdej iteracji k, prawdziwe jest równanie a T R(k) (x(k) x ) = 0, gdzie k = 0,1,2,..., R(k) oznacza resztę z dzielenia liczby k przez m (R(k) {0,..., m 1}). 17
Przykład 3. Niech W tym przypadku x = b 1 = 2, b 2 = 3. 5 3 A = 1 1 0 1, b = 2 3.. Niech µ = 1 i x (0) = 0. Mamy a T 1 = 1, 1, at 2 = 0,1, Trzy kolejne iteracje sa następujace x (1) = 0 0 1 + (2 0) 1 2 1 1 x (2) = + (3 ( 1)) 1 x (3) 1 = + (2 ( 2)) 1 3 2 = 0 1 1 1 1 = 1, 1 =, 3 3 1. 18
Rysunek przedstawia kilka iteracji algorytmu Kaczmarza. Ukośna prosta przechodzaca przez punkt 2,0 T odpowiada zbiorowi {x : a T 1 x = b 1}, zaś prosta pozioma przechodzaca przez 0,3 T odpowiada zbiorowi {x : a T 2 x = b 2}. Własność a T R(k) (x(k) x ) = 0 jest spełniona dla kolejnych iteracji. 19
ROZWIAZANIE OGÓLNE UKŁADU Ax = b Rozważmy ogólny problem rozwiazania układu równań liniowych Ax = b, gdzie A R m n i rz(a) = r, r min(m, n). Jeśli A R n n i rz(a) = n, to Ax = b ma jednoznaczne rozwiazanie x = A 1 b. Podejście ogólne wymaga zdefiniowania macierzy pseudoodwrotnej (odwrotności Moore a- Penrose a) A, pełniacej rolę macierzy odwrotnej A 1, w przypadku, gdy A nie ma odwrotności (np. A nie jest macierza kwadratowa). Lemat 3. Niech A R m n, rz(a) = r min(m, n). Wtedy istnieja macierze B R m r i C R r n takie, że gdzie A = BC, rz(a) = rz(b) = rz(c) = r. 20
Definicja 1. Dana jest macierz A R m n, macierz A R n m nazywamy macierza pseudoodwrotna do macierzy A, jeżeli AA A = A i istnieja macierze U R n n, V R m m, takie, że A = UA T, A = A T V. Twierdzenie 6. Niech A R m n. Jeżeli istnieje macierz pseudoodwrotna A do macierzy A, to jest ona jednoznaczna. Twierdzenie 7. Niech A R m n oraz A = BC, gdzie rz(a) = rz(b) = rz(c) = r, B R m r, C R r n. Wtedy A = C B. 21
Przykład 3. A = 2 1 2 5 1 0 3 2 3 1 13 5 = 2 1 1 0 3 13 1 0 3 2 0 1 4 1 = BC. B = (B T B) 1 B T = 1 27 5 2 5 16 1 11 C = C T (CC T ) 1 = 1 76 9 5 5 7 7 13 23 17. A = C B = 1 2052 125 23 10 137 17 52 173 1 178 387 63 73. 22
Przykład 4. Niech A = 1. A = A 1 = A = 1 A = 0 1 1 1 = BC B = (B T B) 1 B T = 0 1 C = C T (CC T ) 1 = 1 2 1 2 Zatem C B = 1 2 A. 23
Twierdzenie 8. Niech Ax = b będzie układem równań liniowych, A R m n, rz(a) = r. Wektor x = A b minimalizuje normę Ax b 2. Ponadto, spośród wszystkich wektorów w R n, które minimalizuja Ax b 2, wektor x = A b jest jedyny i ma minimalna normę. Pseudoodwrotność A ma następujace własności: 1. (A T ) = (A ) T 2. (A ) = A Definicja 2. (Penrose a) Pseudoodwrotna macierza A nazywamy macierz o następujacych własnościach: 1. AA A = A, 2. A AA = A, 3. (AA ) T = AA, 4. (A A) T = A A. 24