Wstęp do metod numerycznych Metody iteracyjne Algebraiczna metoda gradientów sprzężonych. 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 i metoda gradientów. 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

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

P. F. Góra.

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

Zaawansowane metody numeryczne

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

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

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

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

Układy równań liniowych. Krzysztof Patan

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

Obliczenia naukowe Wykład nr 8

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

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

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

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

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

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

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

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

Wykład 5. Metoda eliminacji Gaussa

Metody numeryczne Wykład 4

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

Macierze. Rozdział Działania na macierzach

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

Matematyka stosowana i metody numeryczne

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

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

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

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

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

Wykład 14. Elementy algebry macierzy

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

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

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

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

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 5. Numeryczne zagadnienie własne. P. F. Góra

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

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

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

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

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

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

1 Macierz odwrotna metoda operacji elementarnych

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

13 Układy równań liniowych

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

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

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

Zastosowania wyznaczników

Metody numeryczne I Równania nieliniowe

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

Układy równań liniowych

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.

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

Formy kwadratowe. Rozdział 10

KADD Minimalizacja funkcji

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

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Zadania egzaminacyjne

10. Metody obliczeniowe najmniejszych kwadratów

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

1 Macierze i wyznaczniki

A A A A A A A A A n n

WYKŁAD 9 METODY ZMIENNEJ METRYKI

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

1 Równania nieliniowe

KADD Minimalizacja funkcji

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

Własności wyznacznika

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

Postać Jordana macierzy

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

Wartości i wektory własne

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

1 Układy równań liniowych

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

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

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

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

czyli o szukaniu miejsc zerowych, których nie ma

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

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

DB Algebra liniowa semestr zimowy 2018

1 Zbiory i działania na zbiorach.

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

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

7 zaokr aglamy do liczby 3,6. Bład względny tego przybliżenia jest równy A) 0,8% B) 0,008% C) 8% D) 100

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

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Transkrypt:

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

Metody iteracyjne Rozwiazanie układu równań liniowych, uzyskane za pomoca którejś z dotad poznanych metod, byłoby dokładne (ścisłe), gdyby nie błędy zaokragle- nia (które, dodajmy, dla układów źle uwarunkowanych moga być znaczne). Dlatego metody te nazywa się metodami dokładnymi. 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) liczbie kroków zbliżymy się do wyniku ścisłego w granicach błędu zaokraglenia. Copyright c 2010-17 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-17 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-17 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. Powtórzmy: Dla numerycznej efektywności metod iteracyjnych jest niesłychanie ważne, aby metodę zaprogramować w ten sposób, aby uwzględniać strukturę macierzy rzadkiej. Copyright c 2010-17 P. F. Góra 5 5

Przykład: Niech macierz A R N N ma strukturę.... (5) Copyright c 2010-17 P. F. Góra 5 6

Metoda Gaussa-Seidela dla macierzy o strukturze (5) ma postać x (k+1) 1 = x (k+1) 2 = x (k+1) 3 = b 1 ( ( N j=2 a 1j x (k) j b 2 a 21 x (k+1) 1 b 3 a 31 x (k+1) 1 /a 11 (6) ) /a 22 ) /a 33.......................................................................... x (k+1) ( N = b N a N1 x (k+1) ) 1 /a NN Widać, że jedek krok (sweep) algorytmu (6) odbywa się w czasie proporcjonalnym do N. Copyright c 2010-17 P. F. Góra 5 7

Trochę teorii Metody Jacobiego i Gaussa-Seidela należa do ogólnej kategorii Mx (k+1) = Nx (k) + b (7) 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 (7). Copyright c 2010-17 P. F. Góra 5 8

Twierdzenie 1. Iteracja (7) jest zbieżna jeśli det M 0 oraz ρ(m 1 N) < 1, gdzie ρ( ) oznacza promień spektralny macierzy.. Dowód. Przy tych założeniach iteracja (7) jest odwzorowaniem zwężaja- cym. Twierdzenie 2. Metoda Jacobiego jest zbieżna, jeśli macierz A jest silnie diagonalnie dominujaca, to znaczy jeśli wartości bezwzględne elementów na głównej przekatnej sa większe od sumy wartości bezwzględnych pozostałych elementów w danym wierszu. Twierdzenie 3. Metoda Gaussa-Seidela jest zbieżna, jeśli macierz A jest symetryczna i dodatnio określona. Copyright c 2010-17 P. F. Góra 5 9

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-17 P. F. Góra 5 10

Inny przykład Dla macierzy o wymiarach 128 128 (niezaznaczone elementy sa zerami) 128 1 1 1... 1 1 2 1 2 1 2.... 1 2 (8) zbieżność z dokładnościa do 10 12 w metodzie Gaussa-Seidela, według algorytmu (6), uzyskuje się w 42 iteracjach. Copyright c 2010-17 P. F. Góra 5 11

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-17 P. F. Góra 5 12

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-17 P. F. Góra 5 13

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-17 P. F. Góra 5 14

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-17 P. F. Góra 5 15

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-17 P. F. Góra 5 16

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-17 P. F. Góra 5 17

Ten wariant metody gradientów sprzężonych nazywamy algebraicznym, gdyż przy założeniu, że znamy macierz A oraz wektor x 1, możemy skonstruować ciagi {r k, p k, x k } metodami algebraicznymi. W przyszłości poznamy wariant metody gradientów sprzężonych, w którym wszystkich kroków nie uda się w ten sposób wykonać. Copyright c 2010-17 P. F. Góra 5 18

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-17 P. F. Góra 5 19

Przykład Dla macierzy o wymiarach 128 128 (niezaznaczone elementy sa zerami) 128 1 1 1... 1 1 2 1 2 1 2.... 1 2 (15) zbieżność z dokładnościa do 10 12 w algebraicznej metodzie gradientów sprzężonych uzyskuje się po 4 (sic!) iteracjach (w metodzie Gaussa- Seidela były to 42 iteracje; w obu wypadkach znacznie poniżej rozmiaru macierzy). Copyright c 2010-17 P. F. Góra 5 20

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, (16) gdzie κ jest współczynnikiem uwarunkowania macierzy A. Jeżeli κ 1, zbieżność może być bardzo wolna. Copyright c 2010-17 P. F. Góra 5 21

Przykład Rozwiazujemy układy równań z małymi (32 32) macierzami symetrycznymi, rzeczywistymi, dodatnio określonymi, o różnych współczynnikach uwarunkowania. Poniższy rysunek pokazuje normy kolejnych wektorów r n. Iteracje zatrzymywano, gdy r n 10 8. W arytmetyce dokładnej r n>32 0. 10 4 10 2 1.0625 31.0 311.0 10 0 10-2 r n 10-4 10-6 10-8 10-10 0 4 8 12 16 20 24 28 32 36 40 44 n Copyright c 2010-17 P. F. Góra 5 22

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-17 P. F. Góra 5 23

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, (17a) I à x = b, (17b) gdzie x = Cx, b = C 1 b. Do równania (17b) stosujemy teraz metodę gradientów sprzężonych. Copyright c 2010-17 P. F. Góra 5 24

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

Równania (18) 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. (19) 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-17 P. F. Góra 5 26

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

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. (21) Macierz M należy rzecz jasna dobrać tak, aby równanie Mz = r można było szybko rozwiazać. Copyright c 2010-17 P. F. Góra 5 28

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 (22) 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-17 P. F. Góra 5 29

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, (23) 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-17 P. F. Góra 5 30

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 (24) Ponieważ à I, współczynnik uwarunkowania tej macierzy powinien być bliski jedności. Copyright c 2010-17 P. F. Góra 5 31

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-17 P. F. Góra 5 32

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 (22). Copyright c 2010-17 P. F. Góra 5 33

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.................................... (25) Macierz ta jest symetryczna, zakładamy też, że jest dodatnio określona. Copyright c 2010-17 P. F. Góra 5 34

Niepełny czynnik Cholesky ego macierzy (25) ma postać 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..................... (26) (W pełnym czynniku Cholesky ego macierzy (25) zera leżace w (26) pomiędzy diagonala p a diagonalna r znikłyby w ogólności mogłyby tam znajdować się jakieś niezerowe liczby.) Copyright c 2010-17 P. F. Góra 5 35

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-17 P. F. Góra 5 36

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

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-17 P. F. Góra 5 38

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 (30) Copyright c 2010-17 P. F. Góra 5 39

Wektory wygenerowane w algorytmie (30) 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. (31a) (31b) (31c) Jeżeli w algorytmie (30) 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. (32) Copyright c 2010-17 P. F. Góra 5 40