Wstęp do metod numerycznych Metody iteracyjne i metoda gradientów. P. F. Góra

Podobne dokumenty
Wstęp do metod numerycznych Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Wstęp do metod numerycznych Metody iteracyjne Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Wstęp do metod numerycznych SVD, metody iteracyjne i metoda gradientów. P. F. Góra

Komputerowa analiza zagadnień różniczkowych 2. Metoda gradientów sprzężonych Minimalizacja i układy równań algebraicznych

P. F. Góra.

Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zaawansowane metody numeryczne

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Zaawansowane metody numeryczne

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Komputerowa analiza zagadnień różniczkowych 3. Numeryczne zagadnienie własne

Rozwiązywanie układów równań liniowych metody przybliżone Materiały pomocnicze do ćwiczeń z metod numerycznych

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Wstęp do metod numerycznych 11. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Układy równań liniowych. Krzysztof Patan

Obliczenia naukowe Wykład nr 8

Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR. P. F. Góra

Wstęp do metod numerycznych Równania macierzowe Faktoryzacja LU i Cholesky ego. P. F. Góra

Wstęp do metod numerycznych Eliminacja Gaussa Faktoryzacja LU. P. F. Góra

Wstęp do metod numerycznych 12. Minimalizacja: funkcje wielu zmiennych. P. F. Góra

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

Wstęp do metod numerycznych 5. Numeryczne zagadnienie własne. P. F. Góra

Plan wykładu. Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 6 p. Rozwiazywanie układów równań. metody bezpośrednie,

Wykład 5. Metoda eliminacji Gaussa

Wstęp do metod numerycznych Eliminacja Gaussa i faktoryzacja LU. P. F. Góra

Wstęp do metod numerycznych Inne rodzaje faktoryzacji. P. F. Góra

Wykład 14. Elementy algebry macierzy

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 6

5. Rozwiązywanie układów równań liniowych

Metody numeryczne Wykład 4

Wstęp do metod numerycznych Faktoryzacja macierzy. P. F. Góra

Rozwiązywanie układów równań liniowych

Rozwiazywanie układów równań liniowych. Ax = b

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań.

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

13 Układy równań liniowych

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

KADD Minimalizacja funkcji

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Formy kwadratowe. Rozdział 10

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Macierze. Rozdział Działania na macierzach

METODY NUMERYCZNE. wykład. konsultacje: wtorek 10:00-11:30 środa 10:00-11:30. dr inż. Grażyna Kałuża pokój

Matematyka stosowana i metody numeryczne

Komputerowa analiza zagadnień różniczkowych 6. Metoda diagramowa. Obszary stabilności. P. F. Góra

, A T = A + B = [a ij + b ij ].

Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.

Układy równań liniowych i metody ich rozwiązywania

3. Macierze i Układy Równań Liniowych

Rozwiązywanie algebraicznych układów równań liniowych metodami iteracyjnymi. Plan wykładu:

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

10. Metody obliczeniowe najmniejszych kwadratów

1 Macierz odwrotna metoda operacji elementarnych

Układy równań liniowych

Algebra liniowa II. Lista 1. 1 u w 0 1 v 0 0 1

Zadania egzaminacyjne

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Komputerowa analiza zagadnień różniczkowych 10. Dwupunktowe problemy brzegowe (BVP, Boundary Value Problems)

Optymalizacja ciągła

Zastosowania wyznaczników

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Wykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

3. Funkcje wielu zmiennych

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

Postać Jordana macierzy

Metody numeryczne I Równania nieliniowe

Modyfikacja schematu SCPF obliczeń energii polaryzacji

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Optymalizacja ciągła

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wstęp do metod numerycznych 9. Miejsca zerowe wielomianów. P. F. Góra

Metody Obliczeniowe w Nauce i Technice

Obliczenia naukowe Wykład nr 2

KADD Minimalizacja funkcji

Wartości i wektory własne

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

NUMERYCZNE METODY ROZWIĄZYWANIA ROWNAŃ LINIOWYCH. PRZYGOTOWAŁA: ANNA BANAŚ KoMBo, WILiŚ

Metody dekompozycji macierzy stosowane w automatyce

Matematyka stosowana i metody numeryczne

Komputerowa analiza zagadnień różniczkowych 3. Metody Eulera, metody punktu środkowego i metody trapezowe

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 5. Terminologia. Metody Eulera, metody punktu środkowego i metody trapezowe

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

3. Wykład Układy równań liniowych.

Metoda eliminacji Gaussa. Autorzy: Michał Góra

1 Równania nieliniowe

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

1 Układy równań liniowych

Jak łatwo zauważyć, zbiór form symetrycznych (podobnie antysymetrycznych) stanowi podprzestrzeń przestrzeni L(V, V, K). Oznaczamy ją Sym(V ).

Transkrypt:

Wstęp do metod numerycznych Metody iteracyjne i metoda gradientów sprzężonych P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012

Metody iteracyjne W metodach dokładnych otrzymane rozwiazanie jest dokładne z dokładnościa do błędów zaokraglenia, które, dodajmy, dla układów źle uwarunkowanych moga być znaczne. W metodach iteracyjnych rozwiazanie dokładne otrzymuje się, teoretycznie, w granicy nieskończenie wielu kroków w praktyce liczymy na to, że po skończonej (i niewielkiej) ilości kroków zbliżymy się do wyniku ścisłego w granicach błędu zaokraglenia. Copyright c 2010-12 P. F. Góra 5 2

Rozpatrzmy układ równań: Przepiszmy ten układ w postaci a 11 x 1 + a 12 x 2 + a 13 x 3 = b 1 (1a) a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 (1b) a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 (1c) x 1 = (b 1 a 12 x 2 a 13 x 3 )/a 11 (2a) x 2 = (b 2 a 21 x 1 a 23 x 3 )/a 22 (2b) x 3 = (b 3 a 31 x 1 a 32 x 2 )/a 33 (2c) Gdyby po prawej stronie (2) były stare elementy x j, a po lewej nowe, dostalibyśmy metodę iteracyjna Copyright c 2010-12 P. F. Góra 5 3

x (k+1) i = b i i 1 j=1 a ij x (k) j N j=i+1 a ij x (k) j / a ii (3) Górny indeks x (k) oznacza, ze jest to przybliżenie w k-tym kroku. Jest to tak zwana metoda Jacobiego. Zauważmy, że w metodzie (3) nie wykorzystuje się najnowszych przybliżeń: Powiedzmy, obliczajac x (k+1) 2 korzystamy z x (k) 1, mimo iż znane jest już wówczas x (k+1) 1. (Za to metodę tę łatwo można zrównoleglić.) Sugeruje to następujace ulepszenie: x (k+1) i = b i i 1 j=1 a ij x (k+1) j Jest to tak zwana metoda Gaussa-Seidela. N j=i+1 a ij x (k) j / a ii (4) Copyright c 2010-12 P. F. Góra 5 4

Jeżeli macierz A = {a ij } jest rzadka, obie te metody iteracyjne będa efektywne tylko i wyłacznie wówczas, gdy we wzorach (3), (4) uwzględni się ich strukturę, to jest uniknie redundantnych mnożeń przez zera. Copyright c 2010-12 P. F. Góra 5 5

Trochę teorii Metody Jacobiego i Gaussa-Seidela należa do ogólnej kategorii Mx (k+1) = Nx (k) + b (5) gdzie A = M N jest podziałem (splitting) macierzy. Dla metody Jacobiego M = D (część diagonalna), N = (L + U) (części pod- i ponaddiagonalne, bez przekatnej). Dla metody Gaussa-Seidela M = D + L, N = U. Rozwiazanie równania Ax = b jest punktem stałym iteracji (5). Copyright c 2010-12 P. F. Góra 5 6

Definicja Promieniem spektralnym (diagonalizowalnej) macierzy G nazywam ρ(g) = max{ λ : y 0 : Gy = λy} (6) Twierdzenie 1. Iteracja (5) jest zbieżna jeśli det M 0 oraz ρ(m 1 N) < 1. Dowód. Przy tych założeniach iteracja (5) jest odwzorowaniem zwężaja- cym. Twierdzenie 2. Metoda Jacobiego jest zbieżna jeśli macierz A jest silnie diagonalnie dominujaca. Twierdzenie 3. Metoda Gaussa-Seidela jest zbieżna jeśli macierz A jest symetryczna i dodatnio określona. Copyright c 2010-12 P. F. Góra 5 7

Przykład 10 1 Metoda Jacobiego Metoda Gaussa-Seidela 10 0 Rozwiazujemy układ równań: 3x + y + z = 1 x + 3y + z = 1 x + y + 3z = 1 x n -x n-1 10-1 10-2 10-3 10-4 10-5 10-6 10-7 0 5 10 15 20 25 30 35 40 nr iteracji, n Copyright c 2010-12 P. F. Góra 5 8

SOR Jeśli ρ(m 1 N) w metodzie Gaussa-Seidela jest bliskie jedności, zbieżność metody jest bardzo wolna. Można próbować ja poprawić: x (k+1) i = w b i i 1 j=1 a ij x (k+1) j N j=i+1 a ij x (k) j / a ii + (1 w)x (k) i, (7) gdzie w R jest parametrem relaksacji. Metoda ta zwana jest succesive over-relaxation, SOR. W postaci macierzowej M w x (k+1) = N w x (k) + wb (8) M w = D + wl, N w = (1 w)d wu. Teoretycznie należy dobrać takie w, aby zminimalizować ρ(m 1 w N w ). Copyright c 2010-12 P. F. Góra 5 9

Metoda gradientów sprzężonych motywacja Rozważmy funcję f : R N R f(x) = 1 2 xt Ax b T x + c, (9) gdzie x, b R N, c R, A = A T R N N jest symetryczna i dodatnio określona. Przy tych założeniach, funkcja (9) ma dokładnie jedno minimum, będace zarazem minimum globalnym. Szukanie minimów dodatnio określonych form kwadratowych jest (względnie) łatwe i z praktycznego punktu widzenia ważne. Minimum to leży w punkcie spełniajacym f = 0. (10) Copyright c 2010-12 P. F. Góra 5 10

Obliczmy = 1 2 k f = 1 A jk x j x k x i 2 x i = 1 2 A ik x k + 1 2 j,k x A j jk j,k x }{{} i δ ij j x i x x k + x k j x i A ji x j b i = 1 2 j }{{} j δ ik k b j x j + c x i A ik x k + 1 2 }{{} 0 b j x j x i }{{} δ ij j A ij x j b i = (Ax b) i. (11) Copyright c 2010-12 P. F. Góra 5 11

Widzimy zatem, że funkcja (9) osiaga minimum w punkcie, w którym zachodzi Ax b = 0 Ax = b. (12) Rozwiazywanie układu równań liniowych (12) z macierza symetryczna, dodatnio określona jest równoważne poszukiwaniu minimum dodatnio określonej formy kwadratowej. Przypuśćmy, że macierz A jest przy tym rzadka i duża (lub co najmniej średnio-duża). Wówczas metoda gradientów sprzężonych jest godna uwagi metoda rozwiazywania (12) Copyright c 2010-12 P. F. Góra 5 12

Metoda gradientów sprzężonych, Conjugate Gradients, CG A R N N symetryczna, dodatnio określona, x 1 poczatkowe przybliżenie rozwiazania równania (12), 0 < ε 1. r 1 = b Ax 1, p 1 = r 1 while r k > ε end α k = rt k r k p T k Ap k r k+1 = r k α k Ap k β k = rt k+1 r k+1 r T k r k p k+1 = r k+1 + β k p k x k+1 = x k + α k p k (13) Copyright c 2010-12 P. F. Góra 5 13

Wówczas zachodza twierdzenia: Twierdzenie 4. Ciagi wektorów {r k }, {p k } spełniaja następujace zależności: r T i r j = 0, i > j, (14a) r T i p j = 0, i > j, (14b) p T i Ap j = 0, i > j. (14c) Twierdzenie 5. Jeżeli r M = 0, to x M jest ścisłym rozwiazaniem równania (12). Dowód. Oba (sic!) dowody przebiegaja indukcyjnie. Copyright c 2010-12 P. F. Góra 5 14

Ciag {x k } jest w gruncie rzeczy pomocniczy, nie bierze udziału w iteracjach, służy tylko do konstruowania kolejnych przybliżeń rozwiazania. Istota algorytmu jest konstruowanie dwu ciagów wektorów spełniajacych zależności (14). Wektory {r k } sa wzajemnie prostopadłe, a zatem w arytmetyce dokładnej r N+1 = 0, wobec czego x N+1 jest poszukiwanym ścisłym rozwiazaniem. Zauważmy, że ponieważ A jest symetryczna, dodatnio określona, warunek (14c) oznacza, że wektory {p k } sa wzajemnie prostopadłe w metryce zadanej przez A. Ten właśnie warunek nazywa się warunkiem sprzężenia względem A, co daje nazwę całej metodzie. Copyright c 2010-12 P. F. Góra 5 15

Koszt metody W arytmetyce dokładnej metoda zbiega się po N krokach, zatem jej koszt wynosi O(N koszt jednego kroku). Koszt jednego kroku zdominowany jest przez obliczanie iloczynu Ap k. Jeśli macierz A jest pełna, jest to O(N 2 ), a zatem całkowity koszt wynosi O(N 3 ), czyli tyle, ile dla metod dokładnych. Jeżeli jednak A jest rzadka, koszt obliczania iloczynu jest mniejszy (o ile obliczenie to jest odpowiednio zaprogramowane). Jeśli A jest pasmowa o szerokości pasma M N, całkowity koszt wynosi O(M N 2 ). Copyright c 2010-12 P. F. Góra 5 16

Problem! W arytmetyce o skończonej dokładności kolejne generowane wektory nie sa ściśle ortogonalne do swoich poprzedników na skutek akumuluja- cego się błędu zaokraglenia rzut na poprzednie wektory może stać się z czasem znaczny. Powoduje to istotne spowolnienie metody. Twierdzenie 6. Jeżeli x jest ścisłym rozwiazaniem równania (12), x k sa generowane w metodzie gradientów sprzężonych, zachodzi x x k 2 x x 1 ( κ 1 κ + 1 ) k 1, (15) gdzie κ jest współczynnikiem uwarunkowania macierzy A. Jeżeli κ 1, zbieżność może być bardzo wolna. Copyright c 2010-12 P. F. Góra 5 17

Prewarunkowana (preconditioned) metoda gradientów sprzężonych Spróbujmy przyspieszyć zbieżność odpowiednio modyfikujac równanie (12) i algorytm (13), jednak tak, aby nie zmienić rozwiazania, macierz zmodyfikowanego układu pozostała symetryczna i dodatnio określona, aby można było zastosować metodę gradientów sprzężonych, macierz zmodyfikowanego układu pozostała rzadka, aby jeden krok iteracji był numerycznie tani, macierz zmodyfikowanego układu miała niski współczynnik uwarunkowania. Czy to się w ogóle da zrobić? Okazuje się, że tak! Copyright c 2010-12 P. F. Góra 5 18

Postępujemy następujaco: Niech C R N N będzie odwracalna macierza symetryczna, rzeczywista, dodatnio określona. Wówczas à = C 1 AC 1 też jest symetryczna, rzeczywista, dodatnio określona. C 1 A } C 1 {{ C} x = C 1 b, (16a) I à x = b, (16b) gdzie x = Cx, b = C 1 b. Do równania (16b) stosujemy teraz metodę gradientów sprzężonych. Copyright c 2010-12 P. F. Góra 5 19

W każdym kroku iteracji musimy obliczyć (tyldy, bo odnosi się to do tyldowanego układu (16b)) α k = r T k r k p T k à p k = r T k r k p T k C 1 AC 1 p k, (17a) r k+1 = r k α kã p k = r k α k C 1 AC 1 p k, (17b) β k = r T k+1 r k+1 r T k r, k (17c) p k+1 = r k+1 + β k p k, (17d) x k+1 = x k + α k p k. (17e) Copyright c 2010-12 P. F. Góra 5 20

Równania (17) zawieraja jawne odniesienia do macierzy C 1, co nie jest zbyt wygodne. Łatwo się przekonać, iż za pomoca prostych przekształceń macierz tę można usunać, tak, iż pozostaje tylko jedno jej nietrywialne wystapienie. Zdefiniujmy mianowicie r k = C 1 r k, p k = Cp k, x k = Cx k. (18) W tej sytuacji r T k r k = (C 1 r k ) T C 1 r k = r T k (C 1 ) T C 1 r k = r T k C 1 C 1 r k = r T k (C 1 ) 2 r k etc. Copyright c 2010-12 P. F. Góra 5 21

Wówczas równania (17) przechodza w ( C 1 ) 2 rk α k = rt k p T k Ap, (19a) k r k+1 = r k α k Ap k, (19b) β k = rt k+1 r T k ( C 1 ) 2 rk+1 ( C 1 ) 2 rk, (19c) p k+1 = ( C 1) 2 rk+1 + β k p k, (19d) x k+1 = x k + α k p k. (19e) Copyright c 2010-12 P. F. Góra 5 22

W powyższych równaniach rola macierzy C sprowadza się do obliczenia jeden raz w każdym kroku iteracji wyrażenia ( C 1) 2 rk, co, jak wiadomo, robi się rozwiazuj ac odpowiedni układ równań. Zdefiniujmy M = C 2. (20) Macierz M należy rzecz jasna dobrać tak, aby równanie Mz = r można było szybko rozwiazać. Copyright c 2010-12 P. F. Góra 5 23

Ostatecznie otrzymujemy następujacy algorytm: r 1 = b Ax 1 rozwiaż Mz 1 = r 1 p 1 = z 1 while r k > ε α k = rt k z k p T k Ap k r k+1 = r k α k Ap k rozwiaż Mz k+1 = r k+1 (21) end β k = rt k+1 z k+1 r T k z k p k+1 = z k+1 + β k p k x k+1 = x k + α k p k Copyright c 2010-12 P. F. Góra 5 24

Incomplete Cholesky preconditioner Niech rozkład QR macierzy C ma postać C = QH T, gdzie Q jest macierza ortogonalna, H T jest macierza trójkatn a górna. Zauważmy, że M = C 2 = C T C = ( QH T ) T QH T = HQ T QH T = HH T, (22) a więc macierz H jest czynnikiem Cholesky ego macierzy M. Niech rozkład Cholesky ego macierzy A ma postać A = GG T. Przypuśćmy, iż H G. Copyright c 2010-12 P. F. Góra 5 25

Wówczas à = C 1 AC 1 = ( C T ) 1 AC 1 = ( (QH T ) T ) 1 A ( QH T ) 1 = ( HQ T ) 1 ( A H T ) 1 Q T = Q H 1 G G T ( H T ) 1 Q T QQ T = I. }{{}}{{} I I (23) Ponieważ à I, współczynnik uwarunkowania tej macierzy powinien być bliski jedności. Copyright c 2010-12 P. F. Góra 5 26

Niepełny rozkład Cholesky ego algorytm w wersji GAXPY for k = 1:N H kk = A kk for end j = 1:k 1 H kk = H kk H 2 kj H kk = H kk end for end l = k+1:n H lk = A lk if A lk 0 for end H lk = H lk /H kk endif j = 1:k 1 H lk = H lk H lj H kj Copyright c 2010-12 P. F. Góra 5 27

Uwagi Ponieważ A jest rzadka, powyższy algorytm na obliczanie przybliżonego czynnika Cholesky ego wykonuje się szybko. Wykonuje się go tylko raz. Równanie Mz = r rozwiazuje się szybko, gdyż znamy czynnik Cholesky ego M = HH T. Obliczone H jest rzadkie, a zatem równanie Mz = r rozwiazuje się szczególnie szybko. Mamy nadzieję, że macierz à ma współczynnik uwarunkowania bliski jedności, a zatem nie potrzeba wielu iteracji (21). Copyright c 2010-12 P. F. Góra 5 28

Przykład macierz pasmowa z pustymi diagonalami Rozważmy macierz o następujacej strukturze: A = a 1 0 b 3 0 c 5 0 0 0 0 0... 0 a 2 0 b 4 0 c 6 0 0 0 0... b 3 0 a 3 0 b 5 0 c 7 0 0 0... 0 b 4 0 a 4 0 b 6 0 c 8 0 0... c 5 0 b 5 0 a 5 0 b 7 0 c 9 0... 0 c 6 0 b 6 0 a 6 0 b 8 0 c 10.................................... (24) Macierz ta jest symetryczna, zakładamy też, że jest dodatnio określona. Niepełny czynnik Cholesky ego macierzy (24) ma postać Copyright c 2010-12 P. F. Góra 5 29

H = p 1 0 p 2 q 3 0 p 3 0 q 4 0 p 4 r 5 0 q 5 0 p 5 0 r 6 0 q 6 0 p 6..................... (25) (W pełnym czynniku Cholesky ego macierzy (24) zera leżace w (25) pomiędzy diagonala p a diagonalna r znikłyby w ogólności mogłyby tam znajdować się jakieś niezerowe liczby.) Copyright c 2010-12 P. F. Góra 5 30

Zgodnie z podanym algorytmem, elementy ciagów {p k }, {q k }, {r k } wyliczamy z następujacych wzorów: p 1 = a 1, p 2 = a 2, q 3 = b 3 /p 1, q 4 = b 4 /p 2, r 5 = c 5 /p 1, r 6 = c 6 /p 2, p 3 = a 3 q 2 3, p 4 = a 4 q 2 4, q 5 = (b 5 r 5 q 3 )/p 3, q 6 = (b 6 r 6 q 4 )/p 4, r 7 = c 7 /p 3, r 8 = c 7 /p 4, p 5 = a 5 q 2 5 r2 5, p 6 = a 6 q 6 5 r2 6, q 7 = (b 7 r 7 q 5 )/p 5, q 8 = (b 8 r 8 q 6 )/p 6, r 9 = c 9 /p 5, r 10 = c 10 /p 6, p 7 = a 7 q7 2 r2 7, p 8 = a 8 q8 6 r2 8, q 9 = (b 9 r 9 q 7 )/p 7, q 10 = (b 10 r 10 q 8 )/p 8, r 11 = c 11 /p 7, r 12 = c 12 /p 8,.................. Copyright c 2010-12 P. F. Góra 5 31

Macierze niesymetryczne Jeżeli w równaniu Ax = b (26) macierz A nie jest symetryczna i dodatnio określona, sytuacja się komplikuje. Zakładajac, że det A 0, równanie (26) możemy zsymetryzować na dwa sposoby. CGNR: lub CGNE: A T Ax = A T b, (27) AA T y = b, (28a) x = A T y. (28b) Copyright c 2010-12 P. F. Góra 5 32

Do dwu powyższych równań formalnie rzecz biorac można używać metody gradientów sprzężonych. Trzeba jednak pamiętać, że nawet jeśli macierz A jest rzadka, macierze A T A, AA T nie musza być rzadkie, a co gorsza, ich współczynnik uwarunkowania jest kwadratem współczynnika uwarunkowania macierzy wyjściowej. Alternatywnie, zamiast symetryzować macierz, można zmodyfikować algorytm, tak aby zamiast dwu, generował on cztery ciagi wektorów. Należy jednak pamiętać, że dla wielu typów macierzy taki algorytm bywa bardzo wolno zbieżny, a niekiedy nawet dochodzi do kompletnej stagnacji przed uzyskaniem rozwiazania: Copyright c 2010-12 P. F. Góra 5 33

Metoda gradientów bi-sprzężonych (Bi-Conjugate Gradients, Bi-CG) r 1 = b Ax 1, p 1 = r 1, r 1 0 dowolny, p 1 = r 1 while r k > ε end rt k r k α k = p T k Ap k r k+1 = r k α k Ap k r k+1 = r k α k A T p k β k = rt k+1 r k+1 r T k r k p k+1 = r k+1 + β k p k p k+1 = r k+1 + β k p k x k+1 = x k + α k p k (29) Copyright c 2010-12 P. F. Góra 5 34

Wektory wygenerowane w algorytmie (29) spełniaja następujace relacje: r T i r j = r T i r j = 0, i > j, r T i p j = r T i p j = 0, i > j, p T i Ap j = pt i AT p j = 0, i > j. (30a) (30b) (30c) Jeżeli w algorytmie (29) weźmiemy r 1 = Ar 1, we wszystkich krokach zachodzić będzie r k = Ar k oraz p k = Ap k. Jest to wersja przydatna dla rozwiazywania układów równań z macierzami symetrycznymi, ale nieokreślonymi dodatnio. Jest to przy okazji szczególny wariant algorytmu GMRES (generalised minimum residual), formalnie odpowiadajacego minimalizacj funkcjonału Φ(x) = 1 2 Ax b 2. (31) Copyright c 2010-12 P. F. Góra 5 35