Wstęp do metod numerycznych SVD, 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 i metoda gradientów. 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 Faktoryzacja QR i SVD. 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 Uwarunkowanie Eliminacja Gaussa. P. F. Góra

P. F. Góra.

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

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

Zaawansowane metody numeryczne

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zaawansowane metody numeryczne

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

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

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

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

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

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

Układy równań liniowych. Krzysztof Patan

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

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

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

Obliczenia naukowe Wykład nr 8

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.

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

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

Wykład 14. Elementy algebry macierzy

Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR. 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,

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

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

13 Układy równań liniowych

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

Wykład 5. Metoda eliminacji Gaussa

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

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

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

Wstęp do metod numerycznych Faktoryzacja SVD Metody iteracyjne. P. F. Góra

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

Układy równań liniowych

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

Macierze. Rozdział Działania na macierzach

Rozwiązywanie układów 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

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

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

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Zadania egzaminacyjne

Postać Jordana macierzy

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

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

KADD Minimalizacja funkcji

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

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

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

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

Formy kwadratowe. Rozdział 10

Zastosowania wyznaczników

10. Metody obliczeniowe najmniejszych kwadratów

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

Praca domowa - seria 6

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

1 Macierz odwrotna metoda operacji elementarnych

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

Wyk lad 11 1 Wektory i wartości w lasne

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

Wykład z równań różnicowych

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Optymalizacja ciągła

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

Modyfikacja schematu SCPF obliczeń energii polaryzacji

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

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

Baza w jądrze i baza obrazu ( )

Metody Obliczeniowe w Nauce i Technice

3. Funkcje wielu zmiennych

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

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

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

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Metody dekompozycji macierzy stosowane w automatyce

czyli o szukaniu miejsc zerowych, których nie ma

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

Własności wyznacznika

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

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

Zadania z Algebry liniowej 4 Semestr letni 2009

Metody numeryczne I Równania nieliniowe

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

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

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

Układy równań i nierówności liniowych

Diagonalizacja macierzy i jej zastosowania

Układy równań liniowych

Transkrypt:

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

Współczynnik uwarunkowania macierzy symetrycznej Twierdzenie 1. Niech A R N N będzie macierza symetryczna, A = A T, i niech liczby {λ i } N i=1 będ a jej wartościami własnymi. Jeżeli det A 0, współczynnik uwarunkowania tej macierzy spełnia κ = max λ i i min λ i. (1) i Dowód. W celu udowodnienia tego twierdzenia obliczmy normę macierzy A. Ponieważ jest to macierz symetryczna i rzeczywista, jej wartości własne sa rzeczywiste, natomiast jej unormowane wektory własne tworza bazę w R N. Oznaczmy przez y i jej i-ty wektor własny, Ay i = λ i y i. Każdy Copyright c 2010-11 P. F. Góra 4 2

wektor x R N, x = 1, można przedstawić jako kombinację liniowa x = N i=1 α i y i, (2) przy czym warunek unormowania prowadzi do następujace więzu na współczynniki tej kombinacji: N i=1 α 2 i = 1. (3) Copyright c 2010-11 P. F. Góra 4 3

Obliczmy teraz Ax 2 = N A i=1 N i=1 = max i α i y i 2 = α i λ i y i 2 = λ 2 i N i=1 N i=1 N i=1 α 2 i = (max i α i Ay i 2 α 2 i λ2 i N i=1 = N i=1 α 2 i max i α i λ i y i λ 2 i 2 λ i ) 2 (4) Copyright c 2010-11 P. F. Góra 4 4

Widzimy zatem, iż x R N, x 2 = 1, zachodzi Ax max λ i, a zatem na mocy definicji normy indukowanej, A = max i λ i. Ponieważ det A 0, macierz A 1 istnieje, jest symetryczna i rzeczywista, a jej wartościami własnymi sa liczby {1/λ i } N i=1. Zupełnie analogicznie dowodzimy, iż A 1 = max (1/ λ i ) = 1/ min λ i, skad ( ) i i natychmiast wynika teza (1). i Copyright c 2010-11 P. F. Góra 4 5

Singular Value Decomposition Twierdzenie 2. Dla każdej macierzy A R M N, M N, istnieje rozkład A = U [diag(w i )] V T, (5) gdzie U R M N jest macierza kolumnowo ortogonalna, V R N N jest macierza ortogonalna oraz w i R, i = 1,..., N. Rozkład ten nazywamy rozkładem względem wartości osobliwych (Singular Value Decomposition, SVD). Jeżeli M = N, macierz U jest macierza ortogonalna. Copyright c 2010-11 P. F. Góra 4 6

Jadro i zasięg operatora Niech A R M N. Jadrem operatora A nazywam Ker A = {x R N : Ax = 0}. (6) Zasięgiem operatora A nazywam Range A = {y R M : x R N : Ax = y}. (7) Jadro i zasięg operatora sa przestrzeniami liniowymi. Jeśli M = N <, dim (Ker A) + dim (Range A) = N. Copyright c 2010-11 P. F. Góra 4 7

Sens SVD Sens SVD najlepiej widać w przypadku, w którym co najmniej jedna z wartości w i = 0. Dla ustalenia uwagi przyjmijmy w 1 = 0, w i 1 0. Po pierwsze, co to jest z = [z 1, z 2,..., z n ] T = V T x? Ponieważ V jest macierza ortogonalna, z jest rozkładem wektora x w bazie kolumn macierzy V. Korzystajac z (5), dostajemy 0 Ax = U [diag(w i )] V T x = U [diag(0, w 2,..., w N )] z = U w 2 z 2.. (8) w N z N Wynikiem ostatniego mnożenia będzie pewien wektor z przestrzeni R M. Ponieważ pierwszym elementem wektora [0, w 2 z 2,..., w N z N ] T jest zero, wynik ten nie zależy od pierwszej kolumny macierzy U. Widzimy zatem, że kolumny macierzy U, odpowiadajace niezerowym współczynnikom w i, stanowia bazę w zasięgu operatora A. Co by zaś się stało, gdyby x był równoległy do wektora stanowiacego pierwsza kolumnę V? Wówczas z = 0, a wobec tego Ax = 0. Ostatecznie więc widzimy, że kolumny macierzy V, odpowiadajace zerowym współczynnikom w i, stanowia bazę w jadrze operatora A. Copyright c 2010-11 P. F. Góra 4 8

SVD i odwrotność macierzy Niech A R N N. Zauważmy, że det A = N i=1 w i, a zatem det A = 0 wtedy i tylko wtedy, gdy co najmniej jeden w i = 0. Niech det A 0. Wówczas równanie Ax = b ma rozwiazanie postaci x = A 1 b = V [ diag(w 1 i ) ] U T b. (9) Niech teraz det A = 0. Równanie Ax = b także ma rozwiazanie, o ile tylko b Range A. Rozwiazanie to dane jest wzorem gdzie x = Ã 1 b = V [ diag( w 1 i ) ] U T b. (10a) w 1 i = { w 1 i gdy w i 0, 0 gdy w i = 0. (10b) Copyright c 2010-11 P. F. Góra 4 9

SVD i współczynnik uwarunkowania Twierdzenie 3. Jeżeli macierz A R N N posiada rozkład (5) oraz det A 0, jej współczynnik uwarunkowania spełnia κ = max w i i min w i. (11) i Jeśli macierz jest źle uwarunkowana, ale formalnie odwracalna, numeryczne rozwiazanie równania Ax = b może być zdominowane przez wzmocniony bład zaokraglenia. Aby tego uniknać, często zamiast (bezużytecznego!) rozwiazania dokładnego (9), używa się przybliżonego (i użytecznego!) rozwiazania w postaci (10) z następujac a modyfikacja w 1 i = gdzie τ jest pewna zadana tolerancja. { w 1 i gdy w i > τ, 0 gdy w i τ, (12) Copyright c 2010-11 P. F. Góra 4 10

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-11 P. F. Góra 4 11

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 (13a) a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 (13b) a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 (13c) x 1 = (b 1 a 12 x 2 a 13 x 3 )/a 11 (14a) x 2 = (b 2 a 21 x 1 a 23 x 3 )/a 22 (14b) x 3 = (b 3 a 31 x 1 a 32 x 2 )/a 33 (14c) Gdyby po prawej stronie (14) były stare elementy x j, a po lewej nowe, dostalibyśmy metodę iteracyjna Copyright c 2010-11 P. F. Góra 4 12

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 (15) 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 (15) 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 (16) Copyright c 2010-11 P. F. Góra 4 13

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

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

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

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

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, (19) 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 (20) 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-11 P. F. Góra 4 18

Metoda gradientów sprzężonych motywacja Rozważmy funcję f : R N R f(x) = 1 2 xt Ax b T x + c, (21) 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 (21) 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. (22) Copyright c 2010-11 P. F. Góra 4 19

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. (23) Copyright c 2010-11 P. F. Góra 4 20

Widzimy zatem, że funkcja (21) osiaga minimum w punkcie, w którym zachodzi Ax b = 0 Ax = b. (24) Rozwiazywanie układu równań liniowych (24) 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 (24) Copyright c 2010-11 P. F. Góra 4 21

Metoda gradientów sprzężonych, Conjugate Gradients, CG A R N N symetryczna, dodatnio określona, x 1 poczatkowe przybliżenie rozwiazania równania (24), 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 (25) Copyright c 2010-11 P. F. Góra 4 22

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

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 (26). 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 (26c) 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-11 P. F. Góra 4 24

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-11 P. F. Góra 4 25

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 9. Jeżeli x jest ścisłym rozwiazaniem równania (24), x k sa generowane w metodzie gradientów sprzężonych, zachodzi x x k 2 x x 1 ( κ 1 κ + 1 ) k 1, (27) gdzie κ jest współczynnikiem uwarunkowania macierzy A. Jeżeli κ 1, zbieżność może być bardzo wolna. Copyright c 2010-11 P. F. Góra 4 26

Prewarunkowana (preconditioned) metoda gradientów sprzężonych Spróbujmy przyspieszyć zbieżność odpowiednio modyfikujac równanie (24) i algorytm (25), 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-11 P. F. Góra 4 27

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

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

Równania (29) 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. (30) 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-11 P. F. Góra 4 30

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

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

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 (33) 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-11 P. F. Góra 4 33

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, (34) 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-11 P. F. Góra 4 34

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

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-11 P. F. Góra 4 36

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 (33). Copyright c 2010-11 P. F. Góra 4 37

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.................................... (36) Macierz ta jest symetryczna, zakładamy też, że jest dodatnio określona. Niepełny czynnik Cholesky ego macierzy (36) ma postać Copyright c 2010-11 P. F. Góra 4 38

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..................... (37) (W pełnym czynniku Cholesky ego macierzy (36) zera leżace w (37) pomiędzy diagonala p a diagonalna r znikłyby w ogólności mogłyby tam znajdować się jakieś niezerowe liczby.) Copyright c 2010-11 P. F. Góra 4 39

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-11 P. F. Góra 4 40

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

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-11 P. F. Góra 4 42

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 (41) Copyright c 2010-11 P. F. Góra 4 43

Wektory wygenerowane w algorytmie (41) 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. (42a) (42b) (42c) Jeżeli w algorytmie (41) 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. (43) Copyright c 2010-11 P. F. Góra 4 44