Normy wektorów i macierzy (5.3.1) Niech 1 X =[x x Y y =[y1 x n], oznaczają wektory przestrzeni R n, a yn] niech oznacza liczbę rzeczywistą. Wyrażenie x i p 5.3.1.a X p = p n i =1 nosi nazwę p-tej normy Hoeldera i jest dla każdego rzeczywistego p z przedziału 1 p normą, tzn. Dla każdych X,Y R n oraz dowolnej liczby rzeczywistej są spełnione własności: X p 0 oraz X p =0 X =0 X p = X p X Y p X p Y p nierówność trójkąta 5.3.1.b 5.3.1.c 5.3.1.d
Normy wektorów i macierzy [cd.] (5.3.1) W praktyce stosowane są trzy normy: X 1 = i=1 X = n n i =1 x i x i norma pierwsza norma druga lub euklidesowa dla dowolnego X R n X =max x i 1 i n zachodzą nierówności norma nieskończoność X X X 1 n X n X. Normy macierzy indukowane przez normy wektorów: Niech będzie macierzą o m wierszach i 11 a 1 a 1n kolumnach. a A=[a 1 a a n a m1 a m a mn] n
Normy wektorów i macierzy [cd.] (5.3.1) Normą macierzy A indukowaną przez normę wektorową definiuje się jako Jest to przekształcenie A: R n X A X R m, które można interpretować jako miarę maksymalnego względnego,,wydłużenia`` wektora przez przekształcenie liniowe o macierzy A. Dowodzi się, że dla A 1 = max 1 j n = A = max A E Spect A T A A p =s p=1,, A = max 1 i m n j=1 up normy przybierają postać m a ij i=1 i=1 X R n X 0 m n j =1 a ij A X p X p ( =max X =1 A X p ) norma pierwsza a ij norma spektralna euklidesowa norma nieskończoność
Wstęp (5.3.) Metody iteracyjne polegają na wyznaczaniu ciągu wektorów X 0, X 1,, X k, zbieżnego do rozwiązania układu. Uzyskane rozwiązania są obarczone błędem metody oraz zaokrągleń. Metody te pozwalają jednak wyznaczyć rozwiązania z dowolną, z góry zadaną dokładniością. Omawiane dalej metody wykorzystują rozkład macierzy głównej układu równań AX = A 0 w postaci sumy gdzie A=M N D, 5.3..a Zakładając, że a ii 0 dla i=1,,,n, układ równań AX = M N D X =A 0 Można zapisać w równoważnej postaci X = D 1 M N X D 1 A 0. 5.3..b 5.3..c
Wstęp [cd.] (5.3.) W dalszym ciągu układ ten będzie zapisywany jako X =HX G. 5.3..d Powyższe równanie w postaci rozwiniętej ma postać gdzie x 1 = h 1 x h 13 x 3 h 1,n 1 x n 1 h 1, n x n g 1, x =h 1 x 1 h 3 x 3 h,n 1 x n 1 h,n x n g,, x n =h n,1 x 1 h n, x h n,3 x 3 h n,n 1 x n 1 g n 5.3..e
Metoda iteracji prostej [metoda Jakobiego] (5.3.3) W metodzie Jakobiego wybiera się dowolny wektor początkowy X 0 R n tworzy ciąg kolejnych przybliżeń X k k=1,,, według wzorów i i 1 x (k) i = i>1, j=1 n h ij x (k 1) j + i<n, j=i+1 h ij x (k 1) j +g i dla i=1,,, n. 5.3.3.a które w postaci rozwiniętej przyjmują postać k x 1 = h 1 x k 1 k h 13 x 1 3 h 1, n 1 x k 1 n 1 h 1, n x n g 1, x k k 1 =h 1 x 1 k 1 h 3 x k 1 3 h, n 1 x n 1 h,n x k 1 n g,, x k n =h n,1 x k 1 k 1 1 h n, x k h n,3 x 1 k 1 3 h n, n 1 x n 1 g n 5.3.3.b
Metoda iteracji prostej [cd.] (5.3.3) Twierdzenie: Jeżeli D 1 M N 1 q 1 lub D 1 M N q 1 to: a) ciąg 5.3.3.a jest zbieżny do rozwiązania układu równań AX = A 0 niezależnie od wyboru wektora X 0, b) zachodzą oszacowania X X k q 1 q X k X k 1 qk 1 q X 1 X 0, dla k=1,, Opierając się na powyższym twierdzeniu można sformułować algorytm rozwiązywania układów równań metodą iteracji prostej. Algorytm: Metoda Jakobiego n, A, A 0,, X q=min{ D 1 M N 1 ; D 1 M N }. 1. Wyznaczamy Jeżeli q 1, przechodzimy do pkt. algorytmu (gdy q 1 - koniec obliczeń).. Układ równań AX = A przekształcamy do postaci 3. W charakterze X 0 0 5.3..e. wybieramy dowolny wektor. 4. Kolejne przybliżenia obliczamy ze wzorów 5.3.3.b. X k 5. Jeśli q / 1 q X k X k 1, to kończymy obliczenia przyjmując X = X k. W przeciwnym razie powrót do punktu 4 algorytmu.
Metoda iteracji prostej [cd.] (5.3.3) Rozwiązanie: Wyjściowy układ równań AX = A 0 przekształcamy według wzorów 5.3..e do postaci X =HX g. =[ =[ 0.000 0.30 0.360 0.10 3.836 0.180 0.000 0.080 0.140 3.496 H ], g ], 0.400 0.100 0.000 0.00 4.810 0.150 0.300 0.450 0.000 5.50
Metoda iteracji prostej [cd.] (5.3.3) Następnie obliczamy q=min { H 1 ; H }=min{0.89 ;0.9}=0.89, r= q 1 q =8.09091. Ponieważ q 1kontynujemy obliczenia. Przyjmujemy X 0 =[0.0,0.0,0.0,0.0 ] T i wykonujemy iteracje według wzorów 5.3.3.b. Obliczenia są wykonywane do k-tej iteracji, w której po raz pierwszy zostanie spełniony warunek r X k X k 1 =10 5. Uzyskane wyniki przedstawiono w tabeli
Metoda iteracji prostej [cd.] (5.3.3)
Metoda Gaussa-Seidela (5.3.4) W metodzie Gaussa-Seidela również dokonuje się rozkładu macierzy głownej A układu równań A X = A 0 na sumę macierzy A=M N D, gdzie Jednak początkowo układ ten przekształca się do postaci M D X = N X A 0, X = M D 1 N X M D 1 A 0, dla której wzór na iteracje ma postać X 0 R n 5.3.4.a X k = M D 1 N X k 1 M D 1 A 0 dla k=0,1,,, 5.3.4.b
Metoda Gaussa-Seidela [cd.] (5.3.4) Dla zależności tej wyprowadza się warunek zbieżności algorytmu Twierdzenie: Jeżeli M D 1 N 1 p 1 lub M D 1 N p 1 to: a) ciąg 5.3.4.b jest zbieżny do rozwiązania układu równań AX = A niezależnie od wyboru wektora X 0 R n 0, b) zachodzą oszacowania X X k p 1 p X k X k 1 pk 1 p X 1 X 0, dla k=1,, W metodzie Gaussa-Seidela nie korzysta się jednak bezpośrednio z formuły 5.3.4.b lecz przekształca się wzór na iteracje wyprowadzony z zależności 5.3.4.a, otrzymując kolejno M D X k = N X k 1 A 0, X k = D 1 M X k D 1 N X k 1 D 1 A 0 dla k=0,1,,, 5.3.4.c Dla zależności 5.3.4.c słuszny również podany powyżej warunek zbieżności algorytmu Gaussa-Seidela.
Metoda Gaussa-Seidela [cd.] (5.3.4) Formułę 5.3.4.c i 1 x (k) i = i>1, j=1 lub postaci rozwiniętej można zapisać w za pomocą wzorów n h ij x (k) j + i< n, j=i+1 (k 1 h ij x ) j +g i dla i=1,,, n. k=0,1,, k x 1 = h 1 x k 1 k h 13 x 1 3 h 1, n 1 x k 1 n 1 h 1, n x n g 1, x k k =h 1 x 1 h 3 x k 1 3 h, n 1 x k n 1 h,n x 1 n g,, k k x n 1 =h n 1,1 x k 1 h n 1, x k h n 1,n x n k 1 h n 1, n x n g n, k x k n =h n,1 x 1 h n, x k k h n,3 x k 3 h n, n 1 x n 1 g n, gdzie 5.3.4.d
Metoda Gaussa-Seidela [cd.] (5.3.4) Algorytm: Metoda Gaussa-Seidela n, A, A 0,, X p=min { M D 1 N 1 ; M D 1 N }. 1. Wyznaczamy Jeżeli p 1, przechodzimy do pkt. algorytmu (gdy p 1 - koniec obliczeń).. Układ równań AX = A 0 przekształcamy do postaci 5.3..e. 3. W charakterze X 0 wybieramy dowolny wektor X 0 R n. 4. Kolejne przybliżenia X k obliczamy ze wzorów 5.3.4.d. 5. Jeśli p / 1 p X k X k 1, to kończymy obliczenia przyjmując X = X k. W przeciwnym razie powrót do punktu 4 algorytmu.
Metoda Gaussa-Seidela [cd.] (5.3.4) Rozwiązanie: Wyjściowy układ równań AX = A 0 wzorów 5.3..e do postaci X =HX g gdzie: H = D 1 M N, g =D 1 A 0, =[ 0.000 H =[ 0.30 0.360 0.10 0.180 0.000 0.080 0.140 ], g 0.400 0.100 0.000 0.00 0.150 0.300 0.450 0.000 przekształcamy według 0.0 0.0 0.0 0.0 0.0 0.0 0.9 0.0 0.0 0.0 5.0 0.0 0.0 M =[0.0 D =[10.0 3. 0.8 0.0 0.0 0.0 8.0 1.5 3.0 4.5 0.0], 0.0 0.0 0.0 10.0], 3. 3.6 1. 0.0 0.4 0.7 N =[0.0 0.0 0.0 0.0 1.6 0.0 0.0 0.0 0.0 ], 3.836 3.496 4.810 5.50 ].
Metoda Gaussa-Seidela [cd.] (5.3.4) Rozwinięta postać formuły iteracyjnej wyznaczona w oparciu zależność 5.3.4.d ma postać x k 1 = 0.30 x k 1 k 0.360 x 1 3 0.10 x k 1 4 3.836, x k k k 1 =0.180 x 1 0.080 x 3 0.140 x k 1 4 3.496, x k k 3 =0.400 x k k 1 0.100 x 0.00 x 1 4 4.810, k x 4 = 0.150 x k k 1 0.300 x k 0.450 x 3 5.50. 5.3.4.e Do testowania zbieżności algorytmu wykorzystywana jest macierz 0.300 0.3600 0.100 H GS = M D 1 0.0576 0.1448 0.1184 N =[0.0000 0.0000 0.1 0.195 0.598 0.0000 0.043 0.0477 0.0634] W kolejnym etapie obliczamy p=min{ H GS 1 ; H GS }=min{0.6804 ;0.8000 }=0.6804, r= p/ 1 p =.14505.
Metoda Gaussa-Seidela [cd.] (5.3.4) Ponieważ p 1 kontynujemy obliczenia. Przyjmujemy X 0 =[0.0,0.0, 0.0,0.0 ] T i wykonujemy iteracje według wzorów 5.3.4.e. Obliczenia są wykonywane do k-tej iteracji, w której po raz pierwszy zostanie spełniony warunek r X k X k 1 =10 5. Uzyskane wyniki przedstawiono w tabeli