Kierunek: Automatyka i Robotyka, II rok Ukªady równa«liniowych PWSZ Gªogów, 2009
Motywacje Zagadnienie kluczowe dla przetwarzania numerycznego Wiele innych zada«redukuje si do problemu rozwi zania ukªadu równa«liniowych, cz sto o bardzo du»ych rozmiarach Przykªad: numeryczne modele przewidywania i prognozy pogody s dane w postaci ukªadów równa«ró»niczkowych cz stkowych rozwi zywanych na siatce zawieraj cej bardzo du» liczb w zªów zadanie sprowadza si do rozwi zania ukªadu równa«liniowych o ogromnej liczbie zmiennych St d potrzeba szybkich i wydajnych obliczeniowo metod ich rozwi zywania
Motywacje Zagadnienie kluczowe dla przetwarzania numerycznego Wiele innych zada«redukuje si do problemu rozwi zania ukªadu równa«liniowych, cz sto o bardzo du»ych rozmiarach Przykªad: numeryczne modele przewidywania i prognozy pogody s dane w postaci ukªadów równa«ró»niczkowych cz stkowych rozwi zywanych na siatce zawieraj cej bardzo du» liczb w zªów zadanie sprowadza si do rozwi zania ukªadu równa«liniowych o ogromnej liczbie zmiennych St d potrzeba szybkich i wydajnych obliczeniowo metod ich rozwi zywania
Wst p Sformuªowanie problemu a 1,1 x 1 + a 1,2 x 2 + a 1,3 x 3 + + a 1,n x n = b 1 a 2,1 x 1 + a 2,2 x 2 + a 2,3 x 3 + + a 2,n x n = b 2. +... +... +... +... =.. a m,1 x 1 + a m,2 x 2 + a m,3 x 3 + + a m,n x n = b m Posta macierzowa gdzie: A R m n, b R m, x R n. Ax = b,
Wst p - macierze Wyznacznik macierzy kwadratowej A Liczba okre±lona rekurencyjnie: dla n = 1 det(a) = a 11 dla n > 1 det(a) = n ( 1) k+1 a 1k M 1k gdzie M 1k jest wyznacznikiem macierzy powstaªej z macierzy A przez skre±lenie 1-go wiersza i k-tej kolumny. Zachodzi: n a ij ( 1) i+j M ij dla dowolnego i {1,..., n} j=1 det(a) = n a ij ( 1) i+j M ij dla dowolnego j {1,..., n} i=1 gdzie M ij jest wyznacznikiem macierzy powstaªej z macierzy A przez skre±lenie i-tego wiersza i j-tej kolumny, tzw. minorem stopnia n 1 macierzy A. Liczb D ij = ( 1) i+j M ij dla i, j = 1,..., n nazywamy dopeªnieniem algebraicznym elementu a ij w macierzy A k=1
Wst p - macierze Macierz osobliwa Macierz kwadratowa A dla której det A = 0 Macierz odwrotna Macierz kwadratowa A 1 dla której AA 1 = A 1 A = 1 n Macierz odwrotna A 1 istnieje wtedy i tylko wtedy, gdy A jest macierz nieosobliw. Macierz transponowana Macierz A T o elementach a ij takich,»e a ij = a ji Macierz symetryczna Macierz dla której A T = A
Wst p - macierze Macierz trójk tna górna (dolna) Macierz kwadratowa w której i, j i > j a ij = 0 (i < j a ij = 0) Przykªad: U = a 11 a 12 a 13 0 a 22 a 23 0 0 a 33 L = a 11 0 0 a 21 a 22 0 a 31 a 32 a 33 Rz d macierzy Liczba rank(a) równa najwy»szemu stopniu podmacierzy kwadratowej (skonstruowanej przez wykre±lenie wybranych wierszy i/lub kolumn z danej macierzy) o niezerowym wyznaczniku. Dla macierzy A o wymiarze m n mamy wi c: rank(a) min(m, n) Rz d macierzy jest równy liczbie liniowo niezale»nych kolumn tej macierzy (tzw. rz d kolumnowy) a tak»e liczbie liniowo niezale»nych wierszy tej macierzy (tzw. rz d wierszowy).
Wst p - macierze Normy macierzowe A = max i=1,...,n j=1 i=1 j=1 n a ij norma wierszowa; n A = max a ij norma kolumnowa; j=1,...,n i=1 n n A = a ij 2 norma Euklidesowa A = max λ λ S gdzie: λ warto±ci wªasne macierzy A (Schura, Frobeniusa); norma spektralna
Sprawdzenie istnienia rozwi zania Twierdzenie Kroneckera-Capellego Zaªo»enia: Ax = b A R m n, b R m, x R n Zachodzi: rank(a) < rank([a, b]) rank(a) = rank([a, b]) < n rank(a) = rank([a, b]) = n brak rozwi zania; niesko«czenie wiele rozwi za«; dokªadnie jedno rozwi zanie. gdzie [A, b] jest macierz rozszerzon, powstaª przez doª czenie wektora wyrazów wolnych b do macierzy ukªadu A. Mo»na policzy rozwi zanie stosuj c wzór: x = A 1 b, ale w praktyce unikamy operacji odwracania macierzy: kosztowna obliczeniowo, mo»e prowadzi do du»ych bª dów numerycznych
Sprawdzenie istnienia rozwi zania Twierdzenie Kroneckera-Capellego Zaªo»enia: Ax = b A R m n, b R m, x R n Zachodzi: rank(a) < rank([a, b]) rank(a) = rank([a, b]) < n rank(a) = rank([a, b]) = n brak rozwi zania; niesko«czenie wiele rozwi za«; dokªadnie jedno rozwi zanie. gdzie [A, b] jest macierz rozszerzon, powstaª przez doª czenie wektora wyrazów wolnych b do macierzy ukªadu A. Mo»na policzy rozwi zanie stosuj c wzór: x = A 1 b, ale w praktyce unikamy operacji odwracania macierzy: kosztowna obliczeniowo, mo»e prowadzi do du»ych bª dów numerycznych
Sprawdzenie uwarunkowania ukªadu równa«przykªad ukªadu ¹le uwarunkowanego: { 2x + 6y = 8 2x + 6, 000000001y = 8, 000000001 { x = 1 y = 1 { { 2x + 6y = 8 2x + 5, 999999999y = 8, 000000002 x = 10 y = 2 Wska¹nik uwarunkowania: card(a) = A A 1 Ukªad dobrze uwarunkowany, gdy card(a) = 1 Dla ukªadów ¹le uwarunkowanych (card(a) > 1000) mo»na mie zaufanie jedynie do rz du wyniku Interpretacja geometryczna uwarunkowania ukªadu równa«liniowych: k t przeci cia si hiperpªaszczyzn deniowanych równaniami (zªe uwarunkowanie oznacza maªy k t przeci cia, a wi c du» wra»liwo± na bª dy przetwarzania numerycznego).
Jak radzimy sobie w praktyce? Metody rozwi zywania ukªadów równa«liniowych dla kwadratowej macierzy A n n Metody dokªadne eliminacja Gaussa rozkªad trójk tny Choleskiego-Banachiewicza (dla symetrycznych macierzy A) Thomasa (dla trójdiagonalnych macierzy A) Metody iteracyjne Jacobiego Gaussa - Seidle'a
Metody dokªadne Ukªad równa«o macierzy trójk tnej górnej u 11 x 1 + u 12 x 2 +... + u 1,n 1 x n 1 + u 1n x n = b 1 u 22 x 2 +... + u 2,n 1 x n 1 + u 2n x n = b 2 u n 1,n 1 x n 1 + u n 1,n x n u nn x n. = b n 1 = b n Rozwi zanie trywialne: x n = bn u nn ( x i = 1 u ii b i n j=i+1 u ij x j ) i = n 1, n 2,..., 1
Metody dokªadne Ukªad równa«o macierzy trójk tnej dolnej l 11 x 1 = b 1 l 21 x 1 + l 22 x2 = b 2.. l n 1,1 x 1 + l n 1,2 x 2 +... + l n 1,n 1 x n 1 = b n 1 l n1 x 1 + l n2 x 2 +... + l n,n 1 x n 1 + l nn x n = b n Rozwi zanie trywialne: x 1 = b1 l 11 ( ) x i = 1 b l i ii i 1 l ij x j j=1 i = 2, 3,..., n
Metody dokªadne Metoda eliminacji Gaussa I faza: za pomoc elementarnych operacji wierszowych na macierzy [A, b] sprowadzamy macierz ukªadu do postaci trójk tnej II faza: dalej rozwi zanie ju» trywialne (patrz poprzednie 2 slajdy) Wªasno±ci metody: 1 liczba mno»e«: 3 n3 + n 2 1 3 n 1 liczba dodawa«: 3 n3 + 1 2 n2 5 6 n zatem zªo»ono± obliczeniowa jest rz du O(n 3 ) Modykacje dotycz sposobu sprowadzenia do postaci trójk tnej, tak aby zminimalizowa wpªyw bª dów przetwarzania numerycznego tzw. eliminacja Gaussa z wyborem cz ±ciowym i peªnym cel zapewnienie mno»ników 1, unikni cie bª du przepeªnienia przy operacji dzielenia
Metody dokªadne Metoda eliminacji Gaussa - prosty przykªad 2x 1 + x 2 + x 3 = 7 ( 0.5) ( 2) x 1 + x 2 + 2x 3 = 9 + 4x 1 + 2x 2 x 3 = 5 + Otrzymujemy: Mamy [II faza]: 2x 1 + x 2 +x 3 = 7 0.5x 2 +1.5x 3 = 5.5 3x 3 = 9 3x 3 = 9 x 3 = 3 0.5x 2 + 1.5x 3 = 5.5 x 2 = 2 2x 1 + x 2 + x 3 = 7 x 1 = 1
Metody dokªadne Metoda eliminacji Gaussa - prosty przykªad 2x 1 + x 2 + x 3 = 7 ( 0.5) ( 2) x 1 + x 2 + 2x 3 = 9 + 4x 1 + 2x 2 x 3 = 5 + Otrzymujemy: Mamy [II faza]: 2x 1 + x 2 +x 3 = 7 0.5x 2 +1.5x 3 = 5.5 3x 3 = 9 3x 3 = 9 x 3 = 3 0.5x 2 + 1.5x 3 = 5.5 x 2 = 2 2x 1 + x 2 + x 3 = 7 x 1 = 1
Metody dokªadne Metoda eliminacji Gaussa - prosty przykªad 2x 1 + x 2 + x 3 = 7 ( 0.5) ( 2) x 1 + x 2 + 2x 3 = 9 + 4x 1 + 2x 2 x 3 = 5 + Otrzymujemy: Mamy [II faza]: 2x 1 + x 2 +x 3 = 7 0.5x 2 +1.5x 3 = 5.5 3x 3 = 9 3x 3 = 9 x 3 = 3 0.5x 2 + 1.5x 3 = 5.5 x 2 = 2 2x 1 + x 2 + x 3 = 7 x 1 = 1
Metody dokªadne Rozkªad trójk tny (tzw. dekompozycja LU) { Ly = b Ax = b LUx = b Ux = y a11 a12... a1n l11 0... 0 u11 u12... u1n a21 a22... a2n............ = l21 l22... 0 0 u22... u2n........................ an1 an2... ann ln1 ln2... lnn 0 0... unn Mamy n 2 równa«z n 2 + n niewiadomymi ukªad niedookre±lony. Brakuj ce warunki zwykle s deniowane w postaci: Rozkªad trójk tny: Doolittle'a l ii = 1 i = 1, 2,..., n Crouta u ii = 1 i = 1, 2,..., n Cholesky'ego l ii = u ii i = 1, 2,..., n
Metody dokªadne Wyznacznik macierzy A = LU przy czym: det(a) = det(lu) = det(l)det(u) = det(u) dla rozkªadu Doolittle'a = det(l) dla rozkªadu Crouta (det(l)) 2 dla rozkªadu Cholesky'ego det(l) = n l ii, det(u) = i=1 n i=1 u ii
Metody dokªadne Metoda Cholesky'ego-Banachiewicza (dla symetrycznych macierzy A) Dla ka»dej nieosobliwej macierzy symetrycznej mo»na dokona rozkªadu (dekompozycji): A = LL T a11 a12... a1n a12 a22... a2n............ a1n a2n... ann = l11 0... 0 l21 l22... 0............ ln1 ln2... lnn l11 l21... ln1 0 l22... ln2............ 0 0... lnn Powy»szy ukªad równa«posiada jednoznaczne rozwi zanie, zatem: Ax = b LL T x = b { Ly = b L T x = y
Metody iteracyjne Idea Sekwencyjne polepszanie rozwi zania: x k+1 = F (x k, A, b, ) Aby rozpocz proces iteracyjny potrzebne przybli»enie pocz tkowe x 0. Jak dªugo iterowa? a» x k+1 x k < ɛ Metoda Jacobiego iteracji prostej Idea wyprowadzenia wzoru iteracyjnego: Mamy: a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2... a n1 x 1 + a n2 x 2 +... + a nn x n = b n Przeksztaªcamy równania do postaci: x 1 = 1 (b a 11 1 a 12 x 2 a 13 x 3... a 1n x n ) x 2 = 1 (b a 22 2 a 21 x 1 a 23 x 3... a 2n x n )... x n = 1 (b a nn n a n1 x 1 a n2 x 2... a n,n 1 x n 1 )
Metody iteracyjne Idea Sekwencyjne polepszanie rozwi zania: x k+1 = F (x k, A, b, ) Aby rozpocz proces iteracyjny potrzebne przybli»enie pocz tkowe x 0. Jak dªugo iterowa? a» x k+1 x k < ɛ Metoda Jacobiego iteracji prostej Idea wyprowadzenia wzoru iteracyjnego: Mamy: a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2... a n1 x 1 + a n2 x 2 +... + a nn x n = b n Przeksztaªcamy równania do postaci: x 1 = 1 (b a 11 1 a 12 x 2 a 13 x 3... a 1n x n ) x 2 = 1 (b a 22 2 a 21 x 1 a 23 x 3... a 2n x n )... x n = 1 (b a nn n a n1 x 1 a n2 x 2... a n,n 1 x n 1 )
Metody iteracyjne Metoda Jacobiego iteracji prostej Co mo»na zapisa macierzowo: gdzie: Wzór iteracyjny: C : c ij = x = Cx + g { a ij i j aii 0 i = j x k+1 = Cx k + g Elementy wektora x k+1 wyznaczamy: g : g i = b i a ii x k+1 1 = 1 (b a 11 1 a 12 x2 k a 13x3 k... a 1nxn k ) x k+1 2 = 1 (b a 22 2 a 21 x1 k a 23x3 k... a 2nxn k )... x k+1 n = 1 (b a nn n a n1 x1 k a n2x2 k... a n,n 1xn 1 k ) Aby proces byª zbie»ny wystarczy aby C < 1 dla dowolnego rodzaju normy
Metody iteracyjne Metoda Gaussa-Seidla Idea wyprowadzenia wzoru iteracyjnego: Ax = b (L + D + U)x = b Dx = (L + U)x + b x = D 1 (L + U)x + D 1 b gdzie macierze L, D, U maja posta : 0 0 0... 0 d11 0 0... 0 l21 0 0... 0 L = l31 l32 0... 0............... ; D = 0 d22 0... 0 0 0 d33... 0............... ; ln1 ln2... ln,n 1 0 0 0... 0 dnn U = 0 u12 u13... u1n............... 0... 0 un 2,n 1 un 2,n 0... 0 0 un 1,n 0... 0 0 0
Metody iteracyjne Metoda Gaussa-Seidla Wzór iteracyjny: x k+1 = D 1 Lx k+1 D 1 Ux k + D 1 b Je±li A jest symetryczna i dodatnio okre±lona (tzn. y y T Ay > 0, gdzie: y dowolny wektor kolumnowy) to proces iteracyjny jest zbie»ny niezale»nie od x 0 Elementy wektora x k+1 s wyznaczane sekwencyjnie: x k+1 1 = 1 (b a 11 1 a 12 x2 k a 13x3 k a 14x4 k... a 1nxn k ) x k+1 2 = 1 (b a 22 2 a 21 x k+1 1 a 23 x3 k a 24x4 k... a 2nxn k ) x k+1 3 = 1 (b a 33 3 a 31 x k+1 1 a 32 x k+1 2 a 34 x4 k... a 3nxn k )... x k+1 n = 1 (b a nn n a n1 x k+1 1 a n2 x k+1 2 a n3 x k+1 3... a n,n 1 x k+1 n 1 )