1000-MGR-MAT
Transkrypt
1000-MGR-MAT
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Justyna Szatkowska Nr albumu: 277931 Metoda dekompozycji przestrzeni i jej zastosowania Praca magisterska na kierunku MATEMATYKA w zakresie MATEMATYKI STOSOWANEJ Praca wykonana pod kierunkiem dra Piotra Krzyżanowskiego Instytut Matematyki Stosowanej i Mechaniki Grudzień 2015 Oświadczenie kierującego pracą Potwierdzam, że niniejsza praca została przygotowana pod moim kierunkiem i kwalifikuje się do przedstawienia jej w postępowaniu o nadanie tytułu zawodowego. Data Podpis kierującego pracą Oświadczenie autora (autorów) pracy Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca dyplomowa została napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposób niezgodny z obowiązującymi przepisami. Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem procedur związanych z uzyskaniem tytułu zawodowego w wyższej uczelni. Oświadczam ponadto, że niniejsza wersja pracy jest identyczna z załączoną wersją elektroniczną. Data Podpis autora (autorów) pracy Streszczenie W pracy omówiono niektóre metody iteracyjne rozwiązywania układów równań liniowych. Przedstawiono metodę dekompozycji przestrzeni wraz z analizą zbieżności. Jako zastosowanie tej teorii omówiony został (\)-cykl – podstawowy wariant metod wielosiatkowych – na przykładzie równania Poissona. Słowa kluczowe metody wielosiatkowe, elementarne metody iteracyjne, (\)-cykl, sekwencyjna korekta na podprzestrzeniach, równanie Poissona Dziedzina pracy (kody wg programu Socrates-Erasmus) 11.1 Matematyka Klasyfikacja tematyczna 65N22 Solution of discretized equations 65F10 Iterative methods for linear systems 65N55 Multigrid methods; domain decomposition Tytuł pracy w języku angielskim Subspace correction method and its applications Spis treści Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. Metody iteracyjne i ich własności . 1.1. Elementarne metody iteracyjne . . 1.2. Symetryzacja . . . . . . . . . . . . 1.3. Metoda iteracyjna Richardsona . . 1.4. Metody Jacobiego i Gaussa-Seidela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 8 14 14 2. Metoda dekompozycji przestrzeni . . . . . . . . . . . . . 2.1. Podstawowe algorytmy . . . . . . . . . . . . . . . . . . . 2.1.1. Jednoczesna korekta na podprzestrzeniach (PSC) 2.1.2. Sekwencyjna korekta na podprzestrzeniach (SSC) 2.2. Analiza zbieżności . . . . . . . . . . . . . . . . . . . . . 2.2.1. Analiza zbieżności metody SSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 18 18 19 21 22 3. Przykład zastosowania — metoda wielosiatkowa dla równania Poissona . 3.1. Metoda wielosiatkowa – (\)-cykl . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Wybór operatorów wygładzających . . . . . . . . . . . . . . . . . . . . . . . . 27 28 31 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Wprowadzenie Dyskretyzacja równań różniczkowych cząstkowych prowadzi do bardzo dużych układów równań liniowych. Jednak znalezienie rozwiązania takiego dużego układu za pomocą metod bezpośrednich jest kosztowne zarówno pod względem wykorzystywanej pamięci, jak i ilości obliczeń. Dlatego metody iteracyjne są głównym narzędziem stosowanym w celu znalezienia przybliżonego rozwiązania układu równań pochodzącego z dyskretyzacji równań różniczkowych. Celem niniejszej pracy jest omówienie wybranych fragmentów i przedstawienie szczegółowych dowodów teorii związanej z metodą dekompozycji przestrzeni z prac Jinchao Xu [3] oraz [4] i ich zastosowanie do analizy metody wielosiatkowej. Rozważania rozpoczynamy od omówienia niektórych podstawowych własności elementarnych metod iteracyjnych dla symetrycznego i dodatnio określonego operatora liniowego na przestrzeni liniowej o skończonym wymiarze, w tym własności symetryzacji operatora oraz własności wygładzania błędu, kluczowej w metodach wielosiatkowych. W drugiej części pracy wprowadzone zostały pojęcia i algorytmy związane z metodą dekompozycji przestrzeni. Analiza prowadzi do wyodrębnienia warunku zbieżności metody sekwencyjnej korekty na podprzestrzeniach (SSC). W ostatniej części przedstawiono metodę wielosiatkową w języku teorii dekompozycji przestrzeni i zastosowano wnioski z analizy zbieżności metody SSC. Pokazano założenia gwarantujące, że szybkość zbieżności szczególnego przypadku metod wielosiatkowych, (\)-cyklu, nie zależy od rozmiaru badanego zagadnienia. Na koniec zaprezentowano szczegółowo kolejne kroki (\)-cyklu na przykładzie równania Poissona w połączeniu z uwagami o praktycznych zastosowaniach. 5 Rozdział 1 Metody iteracyjne i ich własności Załóżmy, że V jest przestrzenią wektorową o skończonym wymiarze. Będziemy zajmować się następującym równaniem: Au = f, (1.1) gdzie A : V → V jest symetrycznym i dodatnio określonym operatorem liniowym nad V , zaś f ∈ V jest dane. Rozdział ten oparty jest na rozdziale 2 z pracy [3]. 1.1. Elementarne metody iteracyjne Na pojedynczy krok elementarnej metody iteracyjnej składają się trzy etapy: 1. Korzystając ze starej aproksymacji (uold ) rozwiązania równania (1.1), obliczamy residuum rold = f − Auold . 2. Rozwiązujemy w przybliżeniu równanie Ae = rold (e spełnia równanie uold +e = u, czyli jest „idealną poprawką”). Dla B będącego operatorem liniowym na V otrzymujemy ê = Brold . Operator B możemy traktować jako „przybliżony operator odwrotny do A”. Dodatkowo będziemy zawsze zakładać, że B jest odwracalne. 3. Na koniec aktualizujemy przybliżenie: unew = uold + ê. W rezultacie dostajemy następujący algorytm dla danego u0 ∈ V : uk+1 = uk + B(f − Auk ), k = 0, 1, 2, . . . (1.2) Decydującym elementem powyższej metody iteracyjnej jest operator B – będziemy go nazywać operatorem iteracji. Zwróćmy uwagę, że dla B = A−1 otrzymamy dokładne rozwiązanie równania (1.1) już po pierwszej iteracji. Definicja 1.1.1. Metoda iteracyjna (1.2) jest zbieżna, jeżeli lim uk = A−1 f k→∞ ∀u0 ∈ V. Stwierdzenie 1.1.2. Dla u i uk , spełniającymi odpowiednio (1.1) i (1.2), zachodzi u − uk = (I − BA)k (u − u0 ). (1.3) Ponadto (1.2) jest zbieżna wtedy i tylko wtedy, gdy ρ(I − BA) < 1 dla ρ oznaczającego promień spektralny; w szczególności (1.2) jest zbieżna, jeśli kI − BAk < 1. 7 Dowód. u − uk = u − uk−1 − B(f − Auk−1 ) = u − uk−1 − Bf + BAuk−1 = = (I − BA)u − (I − BA)uk−1 = (I − BA)(u − uk−1 ) = . . . = (I − BA)k (u − u0 ). Pokażemy tylko szczególny przypadek drugiej części stwierdzenia. Z (1.3) łatwo wynika, że ku − uk k ¬ kI − BAkk ku − u0 k, zatem gdy kI − BAk < 1, mamy limk→∞ ku − uk k = 0. Warunek w pełni charakteryzujący kryterium zbieżności można znaleźć w [2, tw. 4.6.7.]. 1.2. Symetryzacja W tej części pokażemy, w jaki sposób można dokonać symetryzacji operatora B oraz pewne jej własności. Najpierw jednak potrzebne jest wprowadzenie pewnych oznaczeń. Przyjmijmy, że przestrzeń V jest wyposażona w iloczyny skalarne (v, w) oraz (v, w)A = (v, Aw), które indukują odpowiednio normy k.k oraz k.kA . Definicja 1.2.1. Dla danego operatora A operatorem sprzężonym ze względu na (., .), oznaczanym AT , nazwiemy operator spełniający (Av, w) = (v, AT w), ∀v, w ∈ V zaś operatorem sprzężonym ze względu na (., .)A , oznaczanym A∗ , nazwiemy operator spełniający ∀v, w ∈ V (Av, w)A = (v, A∗ w)A . Rozważmy następującą iterację uk+ 1 2 = uk + B(f − Auk ) uk+1 = uk+ 1 + B T (f − Auk+ 1 ) 2 (1.4) 2 Lemat 1.2.2. Błąd iteracji (1.4) spełnia u − uk+1 = (I − B T A)(I − BA)(u − uk ). (1.5) Dowód. u − uk+1 = u − (uk+ 1 + B T (f − Auk+ 1 )) = u − uk+ 1 − B T Au + B T Auk+ 1 = 2 T 2 2 T 2 T = (I − B A)u − (I − B A)uk+ 1 = (I − B A)(u − uk+ 1 ) = 2 2 T T = (I − B A)(u − (uk + B(f − Auk ))) = (I − B A)(u − uk − B(Au − Auk )) = = (I − B T A)(I − BA)(u − uk ) Iterację (1.4) można zapisać jako uk+1 = uk + B̄(f − Auk ), (1.6) B̄ = (I − (I − BA)∗ (I − BA))A−1 = B T + B − B T AB. (1.7) gdzie Ponadto zachodzi I − B̄A = (I − BA)∗ (I − BA). 8 Dowód. Najpierw pokażemy, że dla B̄ = B T +B −B T AB zachodzi (1.6). Skorzystamy z (1.5). u − uk+1 = (I − B T A)(I − BA)(u − uk ) = (I − B T A − BA + B T ABA)(u − uk ) = = (I − (B T + B − B T AB)A)(u − uk ) = (I − B̄A)(u − uk ) uk+1 = u − (I − B̄A)(u − uk ) = u − (u − uk − B̄Au + B̄Auk ) = = uk + B̄Au − B̄Auk = uk + B̄(f − Auk ) Pozostało do wykazania, że B T + B − B T AB = (I − (I − BA)∗ (I − BA))A−1 . Zauważmy, że skoro operator A jest dodatnio określony, to w szczególności jest odwracalny. Wystarczy pokazać, że dla v, w ∈ V zachodzi ((I −(I −BA)∗ (I −BA))A−1 v, w)A = (B T +B −B T ABv, w)A . ((I − (I − BA)∗ (I − BA))A−1 v, w)A = (A−1 v, w)A − ((I − BA)∗ (I − BA)A−1 v, w)A = = (v, w) − ((I − BA)A−1 v, (I − BA)w)A = (v, w) − (A(I − BA)A−1 v, (I − BA)w) = = (v, w) − ((I − AB)v, (I − BA)w) = (v, w) − (v, (I − BA)w) + (ABv, (I − BA)w) = = (v, w) − (v, w) + (v, BAw) + (ABv, w) − (ABv, BAw) = = (v, BAw) + (ABv, w) − (ABv, BAw) = (B T v, Aw) + (Bv, w)A − (B T ABv, Aw) = = (B T v, w)A + (Bv, w)A − (B T ABv, w)A = (B T + B − B T ABv, w)A Operator B̄ dany wzorem (1.7), będziemy nazywać symetryzacją operatora B. Jest to operator symetryczny ze względu na (·, ·). Pokażemy teraz pewne proste własności symetryzacji. Stwierdzenie 1.2.3. (B̄Av, v)A = ((2I − BA)v, BAv)A ∀v ∈ V (1.8) kvk2A ∀v ∈ V, (1.9) (B̄Av, v)A = − k(I − BA)vk2A Dowód. (B̄Av, v)A = ((I − (I − BA)∗ (I − BA))A−1 Av, v)A = = (v, v)A − ((I − BA)∗ (I − BA)v, v)A = = (v, v)A − ((I − BA)v, (I − BA)v)A = (1.9) = (v, v)A − (v, (I − BA)v)A + (BAv, (I − BA)v)A = = (v, v)A − ((I − BA)v, v)A + ((I − BA)v, BAv)A = = (v, v)A − (v, v)A + (BAv, v)A + (v, BAv)A − (BAv, BAv)A = = 2(v, BAv)A − (BAv, BAv)A = ((2I − BA)v, BAv)A = (1.8) Lemat 1.2.4. Niech λmax (B̄A) będzie oznaczeniem największej wartości własnej B̄A. Wtedy λmax (B̄A) ¬ 1. Dowód. Pierwszym krokiem dowodu będzie pokazanie, że B̄A jest symetryczne ze względu na (., .)A . Stąd będzie wynikać, że jego wartości własne są rzeczywiste. Faktycznie, dla w, y ∈ V mamy (B̄Aw, y)A = (B̄Aw, Ay) = (Aw, B̄Ay) = (B̄Ay, w)A = (w, B̄Ay)A , 9 ponieważ B̄ jest symetryczne ze względu na (., .). Niech v będzie wektorem własnym, a λ wartością własną B̄A. Wówczas zachodzi B̄Av = λv. Stąd wynika (B̄Av, v)A = (λv, v)A = λ(v, v)A = λkvk2A , a to razem z (1.9) daje kvk2A − k(I − BA)vk2A = λkvk2A k(I − BA)vk2A = (1 − λ)kvk2A . Zatem mamy 1 − λ 0, a stąd λ ¬ 1 dla każdego λ. Twierdzenie 1.2.5. Następujące warunki są równoważne: 1. metoda iteracyjna (1.6) jest zbieżna, 2. B̄ jest symetryczne ze względu na (·, ·) i dodatnio określone, 3. B −T + B −1 − A jest symetryczne ze względu na (·, ·) i dodatnio określone, 4. istnieje stała ω1 ∈ (0, 2) taka, że dowolna nierówność jest spełniona dla każdego v ∈ V : (BAv, BAv)A ¬ ω1 (BAv, v)A −1 (Av, v) ¬ ω1 (B v, v) 2 ( − 1)(Av, v) ¬ ((B −T + B −1 − A)v, v) ω1 (2 − ω1 )(Bv, v) ¬ (B̄v, v) (1.10) (1.11) (1.12) (1.13) Dodatkowo metoda iteracyjna (1.2) jest zbieżna wtedy (i tylko wtedy dla B symetrycznej), gdy (1.6) jest zbieżna. Dowód. • 1. ⇔ 2. Oczywiście, B̄ jest symetryczne ze względu na (·, ·). Chcemy pokazać, że jest dodatnio określone wtedy i tylko wtedy, gdy metoda (1.6) jest zbieżna. Zauważmy, że na mocy stwierdzenia 1.1.2 metoda (1.6) jest zbieżna wtedy i tylko wtedy, gdy ρ(I − B̄A) < 1. Zatem musimy zbadać wartości własne λ tego operatora (I − B̄A)v = λv v − B̄Av = λv B̄Av = (1| − λ)v {z } µ Czyli µ = 1−λ jest wartością własną B̄A wtedy i tylko wtedy, gdy λ jest wartością własną I − B̄A. W dowodzie lematu 1.2.4 pokazaliśmy, że B̄A jest symetryczne ze względu na (., .)A , stąd jego wartości własne µ są rzeczywiste. Z lematu 1.2.4 wynika, że µ ¬ 1, skąd mamy λ 0. Ponieważ λ jest nieujemna, metoda (1.6) jest zbieżna wtedy i tylko wtedy, gdy λ < 1. To jest równoważne temu, że µ > 0, czyli wartości własne B̄A są dodatnie. 10 Pozostaje pokazać, że B̄A jest dodatnio określone wtedy i tylko wtedy, gdy B̄ jest dodatnio określone. Dla w 6= 0 mamy (w, B̄Aw)A = (B̄Aw, w)A = (B̄Aw, Aw) = (Aw Aw ) = (y, B̄y), |{z}, B̄ |{z} y y prawdziwe dla każdego y 6= 0, ponieważ A jest nieosobliwe. Powyższe rozumowanie implikuje ostatecznie, że metoda (1.6) jest zbieżna wtedy i tylko wtedy, gdy B̄ jest dodatnio określone. • 2. ⇔ 3. Obie macierze B̄ oraz B −T + B −1 − A są symetryczne ze względu na (·, ·). Pokażemy, że pierwsza jest dodatnio określona wtedy i tylko wtedy gdy druga taka jest. Rzeczywiście, dla v 6= 0 (v, B̄v) = (B̄v, v) = ((B T + B − B T AB)v, v) = = (B T v, v) + (Bv, v) − (B T ABv, v) = 2(|{z} Bv , v) − (ABv, Bv) = y = 2(y, B = ((B −T −1 y) − (Ay, y) = (B +B −1 −T y, y) + (B − A)y, y) = (y, (B −T −1 +B y, y) − (Ay, y) = −1 − A)y). Stąd (v, B̄v) > 0 ⇔ (y, (B −T + B −1 − A)y) > 0. • (1.12) ⇒ 3. Dla v 6= 0 ((B −T + B −1 − A)v, v) ( 2 2 − 1)(Av, v) = ( − 1)kvk2A > 0 ω1 ω1 dla ω1 ∈ (0, 2). • 3. ⇒ (1.11) Dla v = 0 nierówność jest prawdziwa. Weźmy zatem v 6= 0, wtedy 0 < (v, (B −T + B −1 − A)v) 0 < 2(B −1 v, v) − (Av, v) 0 < (Av, v) < 2(B −1 v, v) 0 < 2(B −1 v, v) 0 < ω1 (B −1 v, v) dla ω1 ∈ (0, 2). • (1.10) ⇔ (1.11) Jeśli v = 0, to obie nierówności są prawdziwe. Załóżmy, że v 6= 0, wówczas (BAv, BAv)A ¬ ω1 (BAv, v)A ↓ y = BAv (y, y)A ¬ ω1 (y, A−1 B −1 y)A (y, Ay) ¬ ω1 (y, AA−1 B −1 y) (Ay, y) ¬ ω1 (B −1 y, y) 11 • (1.11) ⇔ (1.12) Gdy v = 0, to obie nierówności są prawdziwe. Załóżmy więc, że v 6= 0, wtedy mamy ( 2 − 1)(Av, v) ¬ 2(B −1 v, v) − (Av, v) ω1 2 (Av, v) − (Av, v) ¬ 2(B −1 v, v) − (Av, v) ω1 2 (Av, v) ¬ 2(B −1 v, v) ω1 (Av, v) ¬ ω1 (B −1 v, v) • (1.11) ⇔ (1.13) Dla v = 0 nierówności są prawdziwe. Zbadajmy przypadek, gdy v 6= 0, wówczas (2 − ω1 )(Bv, v) ¬ (B̄v, v) (2 − ω1 )(Bv, v) ¬ (B T v, v) + (Bv, v) − (B T ABv, v) 2(Bv, v) − ω1 (Bv, v) ¬ 2(Bv, v) − (Bv, ABv) (Bv, ABv) ¬ ω1 (Bv, v) ↓ y = Bv (Ay, y) ¬ ω1 (B −1 y, y) • Udowodnimy, że jeśli metoda iteracyjna (1.6) jest zbieżna, to również (1.2) jest zbieżna. Ze stwierdzenia 1.1.2 wystarczy pokazać, że ρ(I − BA) < 1. Załóżmy, że metoda iteracyjna (1.6) jest zbieżna. Wiemy już, że jest to równoznaczne z tym, że macierz B −T + B −1 − A jest symetryczna ze względu na (., .) i dodatnio określona. W związku z tym dla v 6= 0 zachodzi: 0 < ((B −T + B −1 − A)v, v) = (B −T v, v) + (B −1 v, v) − (Av, v) = = (v, B −1 v) + (B −1 v, v) − (Av, v) = 2(B −1 v, v) − (Av, v) = 2 −1 = 2(B | {z v}, v) − (v, v)A = 2(y, By) − (By, By)A = 2(y, By) − kBykA y 0 < 2(y, By) − kByk2A 0 ¬ kByk2A < 2(y, By) 0 < (y, By) = (By, y) ↓ y = Aw 0 < (BAw, w)A Dla λ oraz x 6= 0 będących odpowiednio wartością własną i wektorem własnym I − BA mamy (I − BA)x = λx ((I − BA)x, x)A = (λx, x)A (x, x)A − (BAx, x)A = λ(x, x)A (1 − λ)(x, x)A = (BAx, x)A > 0 (1 − λ)kxk2A > 0 1−λ > 0 λ < 1 12 Na koniec pokażemy, że I − BA jest dodatnio określone, z czego będzie wynikać, że wszystkie jego wartości własne są dodatnie. Niech {v̄i } będą wektorami własnymi operatora BA, zaś {λ̄i } odpowiednimi wartościami własnymi, tzn. BAv̄i = λ̄i v̄i . Wówczas dla x ∈ V mamy x = X αi v̄i BAx = X αi λ̄i v̄i ¬ λ̄max X αi v̄i = λ̄max x ((I − BA)x, x) = (x, x) − (BAx, x) kxk2 − λ̄max kxk2 = (1 − λ̄max )kxk2 . Zatem ρ(I − BA) < 1, czyli metoda iteracyjna (1.2) jest zbieżna. • Pozostało pokazać, że jeśli metoda iteracyjna (1.2) jest zbieżna, to również (1.6) jest zbieżna. Załóżmy, że metoda iteracyjna (1.2) jest zbieżna, czyli ρ(I − BA) < 1. Skorzystamy z równania (1.9). k(I − B̄A)vk2A ((I − B̄A)v, (I − B̄A)v)A = sup = 2 kvkA kvk2A v∈V v∈V (v, v)A − 2(B̄Av, v)A + (B̄Av, B̄Av)A sup = kvk2A v∈V kvk2A − 2(kvk2A − k(I − BA)vk2A ) + (B̄Av, B̄Av)A = sup kvk2A v∈V k(I − BA)vk2A + kB̄Avk2A − kvk2A sup = kvk2A v∈V k(I − BA)vk2A kB̄Avk2A sup + sup −1= 2 kvkA kvk2A v∈V v∈V kI − B̄Ak2A = sup = = = = = kI − BAk2A + kB̄Ak2A − 1 Weźmy infimum po wszystkich normach indukowanych przez te operatory. Wówczas za [2, tw. 4.6.6.] można napisać ρ2 (I − B̄A) = ρ2 (I − BA) + ρ2 (B̄A) − 1 < 1, ponieważ z lematu 1.2.4, ρ(B̄A) ¬ 1. Wniosek 1.2.6. Łatwo można pokazać, że ∃ω ∈ (0, 2) ∀v ∈ V ((2 − ω1 )Bv, v) ¬ (B̄v, v) ¬ (2Bv, v). Dowód. Nierówność ((2 − ω1 )Bv, v) ¬ (B̄v, v) to nic innego jak nierówność (1.13). Wystarczy pokazać, że (B̄v, v) ¬ (2Bv, v) dla każdego v ∈ V . (B̄v, v) = ((B T + B − B T AB)v, v) = (B T v, v) + (Bv, v) − (B T ABv, v) = = (v, Bv) + (Bv, v) − (ABv, Bv) = (2Bv, v) − (Bv, ABv) ¬ (2Bv, v) | 13 {z kBvk2A 0 } 1.3. Metoda iteracyjna Richardsona Jedną z prostszych, choć niezbyt wydajnych metod iteracyjnych jest metoda Richardsona ω z B = ωI. Zajmiemy się szczególnym przypadkiem B = ρ(A) I, wówczas równanie (1.2) przybiera postać ω (f − Auk ), k = 0, 1, 2, . . . uk+1 = uk + ρ(A) Metoda Richardsona ma własność „wygładzania”, ważną dla późniejszych rozważań. Niech {φi }N i=1 będzie bazą ortogonalną V złożoną z wektorów własnych operatora A (istnieje, bo A jest symetryczny). Niech {λi } będą odpowiednimi wartościami własnymi, tzn. Aφi = λi φi , przy czym bez zmniejszenia ogólności możemy założyć, że 0 < λ1 ¬ λ2 ¬ . . . ¬ λn = ρ(A). Niech {αi } będą współczynnikami rozwinięcia u − u0 w bazie {φi }N i=1 , tzn. u − u0 = Wówczas X ω λi )k φi . u − uk = αi (1 − λ n i P i αi φi . Rzeczywiście, X i αi (1 − X ω ω ω λi )k φi = αi (1 − λi )(1 − λi )k−1 φi = λn λ λ n n i X X ω αi (. . .)k−1 φi − = αi λi φi (. . .)k−1 = |{z} λ n i i Aφi |{z} B = X αi (. . .)k−1 φi − BA X αi φi (. . .)k−1 = i i = (I − BA) X αi (. . .)k−1 φi = . . . = (I − BA)k X αi φi = i i (1.3) k = (I − BA) (u − u0 ) = u − uk . Zauważmy, że dla ustalonego ω ∈ (0, 2) jeśli λi jest bliska λn , to wyrażenie (1 − λωn λi )k zbiega do zera przy k → ∞. Odpowiednio dobierając ω można tę zbieżność przyspieszyć, tak że mocno oscylujące składowe u − uk , czyli błędu metody, ulegają wytłumieniu zaledwie po kilku iteracjach. 1.4. Metody Jacobiego i Gaussa-Seidela Załóżmy, że V = Rn , zaś A ∈ Rn×n jest macierzą symetryczną i dodatnio określoną. Wówczas można zapisać A = D − L − U, gdzie D to przekątna macierzy A, zaś −L i −U to odpowiednio dolna i górna macierz trójkątna, będąca częścią macierzy A. Wybór postaci macierzy B skutkuje otrzymaniem określonej metody iteracyjnej: ( B= D−1 metoda Jacobiego −1 (D − L) metoda Gaussa-Seidela Dzięki twierdzeniu 1.2.5 można łatwo określić, kiedy powyższe metody są zbieżne. 14 Twierdzenie 1.4.1. Załóżmy, że A jest macierzą symetryczną i dodatnio określoną. Wtedy • metoda Jacobiego jest zbieżna wtedy i tylko wtedy, gdy 2D−A jest macierzą symetryczną i dodatnio określoną, • metoda Gaussa-Seidela jest zawsze zbieżna, Dowód. Posłużymy się twierdzeniem 1.2.5; pokażemy, kiedy macierz B −T + B −1 − A jest symetryczna i dodatnio określona. Jest to równoważne temu, że metoda iteracyjna (1.6) jest zbieżna, a to z kolei jest równoważne zbieżności metody (1.2), jeśli B jest symetryczna. Symetria macierzy B −T + B −1 − A jest oczywista, skoro macierz A jest symetryczna. • metoda Jacobiego: ((B −T + B −1 − A)v, v) = ((D−1 )−T v, v) + ((D−1 )−1 v, v) − (Av, v) = = (v, (D−1 )−1 v) + ((D−1 )−1 v, v) − (Av, v) = = 2(Dv, v) − (Av, v) = ((2D − A)v, v) Macierz B jest symetryczna jako macierz diagonalna. Stąd macierz B −T + B −1 − A jest dodatnio określona wtedy i tylko wtedy, gdy macierz 2D − A jest dodatnio określona. • metoda Gaussa-Seidela: Najpierw pokażemy, że skoro A jest dodatnio określona, to D również. Oznaczmy przez a1 , . . . , an elementy na przekątnej macierzy A, zaś ei niech oznacza wektory postaci (0, . . . , 0, |{z} 1 , 0, . . . , 0)T . Wówczas i ∀i ∈ {1, . . . , n} (ei )T Aei = ai Z definicji A jako macierz dodatnio określona spełnia warunek v T Av > 0, ∀v ∈ V więc ai > 0 dla każdego i. Stąd wszystkie elementy diagonalnej macierzy D są dodatnie, zatem jest ona dodatnio określona. ((B −T + B −1 − A)v, v) = (((D − L)−1 )−T v, v) + (((D − L)−1 )−1 v, v) − (Av, v) = = (v, ((D − L)−1 )−1 v) + ((D − L) v, v) − (Av, v) = | {z A+U } = ((D − L)v, v) + ((A + U )v, v) − (Av, v) = = ((D − L)v, v) + (U v, v) U =LT = T = ((D − L)v, v) + (L v, v) = = ((D − L)v, v) + (Lv, v) = = (Dv, v) > 0 Zatem dla metody Gaussa-Seidela macierz B −T + B −1 − A jest dodatnio określona. 15 Rozdział 2 Metoda dekompozycji przestrzeni W tym rozdziale omówimy metodę dekompozycji przestrzeni wektorowej V . Wprowadzimy dwa algorytmy, które stanowią podstawę dla konstrukcji wielu metod iteracyjnych. W dalszej części rozdziału zajmiemy się analizą ich zbieżności. Rozdział ten jest oparty na rodziale 3 z pracy [3] oraz na rozdziałach 3, 4 z [4]. Definicja 2.0.2. Niech V będzie przestrzenią wektorową oraz niech Vi ⊂ V (0 ¬ i ¬ J) będą podprzestrzeniami przestrzeni V . Jeśli dla każdego v ∈ V istnieją vi ∈ Vi , 0 ¬ i ¬ J, takie P że v = Ji=0 vi (przy czym taka reprezentacja v nie musi być jedyna), to mówimy, że {Vi } tworzą dekompozycję V i zapisujemy V = J X Vi , (2.1) i=0 Dla każdego i definiujemy ortogonalne rzuty Qi , Pi : V → Vi następująco: (Qi u, vi ) = (u, vi ) (Pi u, vi )A = (u, vi )A , u ∈ V, vi ∈ Vi . Natomiast Ai : Vi → Vi będzie (symetrycznym i dodatnio określonym) obcięciem A do Vi , takim że (Ai ui , vi ) = (Aui , vi ) ui , vi ∈ Vi . Lemat 2.0.3. Dla i = 0, . . . , N zachodzi Ai Pi = Qi A. (2.2) Dowód. Niech u ∈ V , vi ∈ Vi . Wówczas mamy (Ai Pi u, vi ) = (Pi u, Ai vi ) = (Pi u, Avi ) = (Pi u, vi )A = (u, vi )A = = (u, Avi ) = (Au, vi ) = (Qi Au, vi ). Lemat 2.0.4. Jeśli u jest rozwiązaniem (1.1), to Ai ui = fi (2.3) gdzie ui = Pi u oraz fi = Qi f . Powyższe równanie możemy traktować jako obcięcie (1.1) do Vi . 17 Dowód. W dowodzie skorzystamy z równania (2.2). Au = f Qi Au = Qi f Ai Pi u = fi Ai ui = fi Przykład 2.0.5. Niech V = Rn , rozważmy dekompozycję, w której Vi := span{ei }, czyli Rn = n X span{ei }. (2.4) i=1 Dodatkowo niech A = (aij ) ∈ Rn×n będzie macierzą symetryczną i dodatnio określoną. Wówczas Ai = aii , Qi y = y i ei , gdzie y i jest i-tą składową wektora y ∈ Rn . 2.1. Podstawowe algorytmy Większość metod iteracyjnych postaci (1.2) można sklasyfikować jako jeden z dwóch algorytmów, które zostaną teraz omówione: jednoczesnej korekty na podprzestrzeniach (ang. parallel subspace correction, PSC) oraz sekwencyjnej korekty na podprzestrzeniach (ang. successive subspace correction, SSC). Są one podobne odpowiednio do metody Jacobiego i GaussaSeidela. 2.1.1. Jednoczesna korekta na podprzestrzeniach (PSC) Niech uold będzie danym przybliżeniem rozwiązania u równania (1.1). Residuum jest zdefiniowane równaniem rold = f − Auold . Jeśli nie jest dostatecznie małe, rozważamy równanie residualne Ae = rold . Oczywiście u = uold + e jest rozwiązaniem równania (1.1), lecz wymaga to rozwiązania oryginalnego zadania. Zamiast tego rozwiążemy równanie obcięte do poszczególnych podprzestrzeni Vi Ai ei = Qi rold , i = 0, . . . , N. (2.5) Wprowadźmy kolejny symetryczny ze względu na (·, ·) oraz dodatnio określony operator Ri : Vi 7→ Vi , który będzie przybliżoną odwrotnością Ai . Zatem przybliżone rozwiązanie (2.3) można przedstawić jako ûi = Ri fi . Korzystając z operatora Ri , równanie (2.5) rozwiązujemy w sposób przybliżony i znajdujemy przybliżoną korektę êi = Ri Qi rold . i jako nowe przybliżenie rozwiązania u przyjmujemy: unew = uold + J X i=0 18 êi . (2.6) Definiując B= J X Ri Qi , (2.7) i=0 możemy przepisać (2.6) jako unew = uold + B(f − Auold ). Dostajemy stąd następujący algorytm: Algorytm 2.1.1 (PSC). Dla danego u0 ∈ V stosuje się schemat iteracyjny (1.2) dla B danego przez (2.7). Przykład 2.1.2. Jeśli V = Rn oraz dekompozycja jest taka, jak w przykładzie 2.0.5, to powyższy algorytm odpowiada metodzie Jacobiego. Z twierdzenia 1.4.1 wiemy, że metoda Jacobiego nie jest zbieżna dla każdego problemu z symetrycznym i dodatnio określonym operatorem A, więc w ogólności algorytm 2.1.1 również nie będzie zawsze zbieżny. Natomiast macierz B można wykorzystać w PCG jako macierz ściskającą dla równania (1.1). Stwierdzenie 2.1.3. Operator B dany przez (2.7) jest symetryczny względem (·, ·) i dodatnio określony. Dowód. Dowód znajduje się w [4, str. 586]. 2.1.2. Sekwencyjna korekta na podprzestrzeniach (SSC) Algorytm PSC opiera się na równoległych poprawkach wyznaczonych na podstawie residuum z poprzednich iteracji. Nieco innym podejściem do zagadnienia jest algorytm SSC (sekwencyjnej korekty na podprzestrzeniach), wprowadzający korektę kolejno na każdej podprzestrzeni, uwzględniając najbardziej aktualne przybliżenie u. Zaczynamy od v−1 = uold i obliczamy poprawkę w podprzestrzeni V0 , otrzymując v0 = v−1 + R0 Q0 (f − Av−1 ). W następnym kroku poprawiamy najnowsze przybliżenie v0 i obliczamy v1 w przestrzeni V1 v1 = v0 + R1 Q1 (f − Av0 ). Wykonujemy analogiczny proces kolejno dla wszystkich podprzestrzeni tworzących dekompozycję V ; w rezultacie dostajemy następujący algorytm: Algorytm 2.1.4 (SSC). Dane jest uk ∈ V. v−1 ← uk for i = 0 : J vi ← vi−1 + Ri Qi (f − Avi−1 ) endfor uk+1 ← vJ Przykład 2.1.5. Dla dekompozycji takiej, jak w przykładzie 2.0.5, powyższy algorytm odpowiada metodzie Gaussa-Seidela. 19 Zdefiniujmy operatory Ti : V → Vi jako Ti = Ri Qi A. Wówczas bezpośrednio z (2.2) P zachodzi Ti = Ri Ai Pi . Dodatkowo niech T = BA = Ji=0 Ti , gdzie B jest operatorem zdefiniowanym jak w (2.7). Stwierdzenie 2.1.6. Operatory Ti są symetryczne ze względu na (·, ·)A , nieujemnie określone oraz jeżeli Ri = A−1 i , to Ti = Pi . Dowód. Zaczniemy od pokazania, że Ti są symetryczne. Wystarczy udowodnić, że dla dowolnych v, w ∈ V zachodzi (Ti v, w)A = (v, Ti w)A . Rzeczywiście, (Ti v, w)A = (Ri Qi Av, w)A = (Ri Qi Av, Pi w)A = (Ri Qi Av, APi w) = (Ri Qi Av, Ai Pi w) = = (Qi Av, RiT Ai Pi w) = (Av, Ri Ai Pi w) = (Ti w, Av) = (Ti w, v)A = (v, Ti w)A . | {z } Ti Aby Ti były nieujemnie określone, wystarczy, że dla każdego niezerowego v ∈ V zachodzi (Ti v, v)A 0. Faktycznie, (Ti v, v)A = (Ti v, Pi v)A = (Ti v, APi v) = (Ti v, Ai Pi v). Korzystamy z równości Ai Pi = Qi A i otrzymujemy (Ti v, Ai Pi v) = (Ri Qi Av, Ai Pi v) = (Ri Qi Av, Qi Av) 0, ponieważ operatory Ri oraz A są dodatnio określone, a Qi jest rzutem na Vi . Na koniec pokażemy ostatnią część stwierdzenia. Załóżmy, że Ri = A−1 i . Wówczas (Ti v, w) = (Ri Ai Pi v, w) = (A−1 i Ai Pi v, w) = (Pi v, w), stąd Ti = Pi . Lemat 2.1.7. W algorytmie SSC zachodzi u − uk+1 = EJ (u − uk ), (2.8) gdzie dla 0 ¬ i ¬ J Ei := (I − Ti )(I − Ti−1 ) . . . (I − T1 )(I − T0 ). Dowód. Niech vi oznacza i-tą poditerację algorytmu 2.1.4, gdzie v−1 = uk . Najpierw pokażemy, że zachodzi u − vi+1 = (I − Ti+1 )(u − vi ), i = 0, ..., J. (2.9) Faktycznie, u − vi+1 = u − (vi + Ri+1 Qi+1 (f − Avi )) = u − vi − Ri+1 Qi+1 (f − Avi ) = (1.1) = u − vi − Ri+1 Qi+1 f + Ri+1 Qi+1 Avi = u − vi − Ri+1 Qi+1 Au + Ti+1 vi = = u − vi − Ti+1 u + Ti+1 vi = (I − Ti+1 )(u − vi ). Przepisujemy prawą stronę równania (2.8) pamiętając, że v−1 = uk EJ (u − uk ) = EJ (u − v−1 ), następnie stosujemy wielokrotnie (2.9) EJ (u − v−1 ) = (I − TJ ) . . . (I − T1 )(I − T0 )(u − v−1 ) = = (I − TJ ) . . . (I − T1 )(u − v0 ) = . . . = (I − TJ )(u − vJ−1 ) = = u − vJ = u − uk+1 . 20 2.2. Analiza zbieżności W tej części zajmiemy się zbieżnością algorytmów opisanych w poprzednim podrozdziale. Zaczeniemy od wprowadzenia pewnych parametrów potrzebnych do dalszej analizy zbieżności. Definicja 2.2.1. Przez ω1 oznaczymy najmniejszą stałą, która spełnia (Ti v, Ti v)A ¬ ω1 (Ti v, v)A ∀v ∈ V, 0 ¬ i ¬ J (2.10) ∀vi ∈ Vi , 0 ¬ i ¬ J. (2.11) bądź równoważnie (vi , Ai vi ) ¬ ω1 (Ri−1 vi , vi ) Pokażemy równoważność nierówności (2.10) i (2.11). Dowód. (vi , Ai vi ) ¬ ω1 (Ri−1 vi , vi ) (vi , Avi ) ¬ ω1 (Ri−1 vi , vi ) vi = Ri Qi Av (Ti v, ATi v) ¬ ω1 (Qi Av, Ri Qi Av) (Ti v, Ti )A ¬ ω1 (Av, Ti v) (Ti v, Ti )A ¬ ω1 (Ti v, v)A Ponieważ Ri jest symetryczne i dodatnio określone, to ω1 będzie dobrze określone i dodatkowo ω1 = max ρ(Ri Ai ) = max ρ(Ti ). 0¬i¬J 0¬i¬J Definicja 2.2.2. Załóżmy, że dla każdego v ∈ V istnieje dekompozycja v = taka że istnieje stała K0 , spełniająca J X (Ri−1 vi , vi ) ¬ K0 (Av, v) PJ i=0 vi , vi ∈ V i , (2.12) i=0 oraz zachodzi J X ρ(Ai )(vi , vi ) ¬ C̃0 (v, v)A , i=0 gdzie C̃0 jest zależna tylko od dekompozycji. Lemat 2.2.3. Nierówność (2.12) zachodzi ze stałą K0 ¬ gdzie ω̃0 = min0¬i¬J (λmin (Ri )ρ(Ai )). 21 C̃0 , ω̃0 (2.13) v,v) Dowód. Znany jest fakt, że zachodzi λmax (F ) = maxv∈V \{0} (Fkvk 2 dla F będącego operatorem symetrycznym i dodatnio określonym. Weźmy vi ∈ V . Wówczas mamy X (Ri−1 vi , vi ) = X = X i kvi k2 (Ri−1 vi , vi ) X ¬ kvi k2 λmax (Ri−1 ) = kvi k2 i kvi k2 X 1 1 = ρ(Ai )kvi k2 ¬ λmin (Ri ) λmin (Ri )ρ(Ai ) i i i ¬ X 1 ρ(Ai )(vi , vi ) ¬ mini (λmin (Ri )ρ(Ai )) i ¬ C˜0 C˜0 (Av, v) (v, v)A = mini (λmin (Ri )ρ(Ai )) ω˜0 Definicja 2.2.4. Niech K1 będzie najmniejszą stałą spełniającą nierówność: J X i X (Ti ui , Tj vj )A ¬ K1 1 X J 1 X J i=0 j=0 (Ti ui , ui )A i=0 j=0 2 (Tj vj , vj )A 2 . (2.14) dla każdego ui , vi ∈ V , i = 1, 2, . . . , J. Przydatna będzie także nierówność Cauchy-Schwarza w następującej postaci 1 1 (F u, v) ¬ (F u, u) 2 (F v, v) 2 , ∀u, v ∈ V gdzie F jest operatorem w V nieujemnie określonym i symetrycznym ze względu na (·, ·). 2.2.1. Analiza zbieżności metody SSC Aby przedstawić warunki zbieżności metody SSC, na mocy stwierdzenia 1.1.2 wystarczy pokazać, że istnieje stała 0 ¬ δ < 1 taka, że kEJ kA ¬ δ, (2.15) gdzie EJ jest zdefiniowane jak w lemacie 2.1.7. Analizę zbieżności dla algorytmu SSC zaczniemy od udowodnienia kilku lematów. Lemat 2.2.5. Oznaczmy E−1 = I, wówczas I − Ei = i X Tj Ej−1 . (2.16) j=0 oraz kvk2A − kEJ vk2A (2 − ω1 ) J X (Ti Ei−1 v, Ei−1 v)A . i=0 Dowód. Najpierw pokażemy (2.16). Zauważmy, że Ei = (I − Ti )Ei−1 , skąd Ei = (I − Ti )Ei−1 Ei−1 − Ei = Ti Ei−1 (E−1 − E0 ) + (E0 − E1 ) + . . . + (Ei−1 − Ei ) = T0 E−1 + T1 E0 + . . . + Ti Ei−1 I − Ei = i X j=0 22 Tj Ej−1 (2.17) Nierówność (2.17) również wynika z Ei = (I − Ti )Ei−1 . Rzeczywiście, ponieważ Ti jest symetryczny w (·, ·)A kEi−1 vk2A − kEi vk2A = kTi Ei−1 vk2A + 2(Ti Ei−1 v, Ei v)A = = (Ti Ei−1 v, Ti Ei−1 v)A + 2(Ti (I − Ti )Ei−1 v, Ei−1 v)A = = ((2I − Ti )Ti Ei−1 v, Ei−1 v)A = = 2(Ti Ei−1 v, Ei−1 v)A − (Ti2 Ei−1 v, Ei−1 v)A = = 2(Ti Ei−1 v, Ei−1 v)A − (Ti Ei−1 v, Ti Ei−1 v)A Zauważmy, że z definicji ω1 zachodzi (Ti Ei−1 v, Ti Ei−1 v)A ¬ ω1 (Ti Ei−1 v, Ei−1 v)A , zatem ostatecznie mamy 2(Ti Ei−1 v, Ei−1 v)A − (Ti Ei−1 v, Ti Ei−1 v)A (2 − ω1 )(Ti Ei−1 v, Ei−1 v)A . Lemat 2.2.6. Niech ω1 < 2, wówczas dla każdego v ∈ V J X J X (Ti v, v)A ¬ (1 + K1 )2 (Ti Ei−1 v, Ei−1 v)A . (2.18) i=0 i=0 Dowód. Z (2.16) mamy (Ti v, v)A = (Ti v, Ei−1 v)A + (Ti v, (I − Ei−1 )v)A = i X = (Ti v, Ei−1 v)A + (Ti v, Tj Ej−1 v)A . (2.19) j=0 Zsumujmy (2.19) po i. Wówczas J X J X J X i X i=0 i=0 i=0 j=0 (Ti v, v)A = (Ti v, Ei−1 v)A + (Ti v, Tj Ej−1 v)A . (2.20) Stosując nierówność Cauchy-Schwarza, otrzymujemy J X X J 1 X J i=0 i=0 i=0 (Ti v, Ei−1 v)A ¬ (Ti v, v)A 2 1 (Ti Ei−1 v, Ei−1 v)A 2 . Po wykorzystaniu powyższej nierówności oraz (2.14) dostajemy J X i=0 (Ti v, v)A ¬ X J 1 X J i=0 i=0 2 (Ti v, v)A + K1 X J (Ti v, v)A 1 (Ti Ei−1 v, Ei−1 v)A 1 X J i=0 2 2 + 1 (Ti Ei−1 v, Ei−1 v)A 2 = i=0 X J 1 X J i=0 i=0 = (1 + K1 ) (Ti v, v)A 23 2 (Ti Ei−1 v, Ei−1 v)A 1 2 . Stąd 1 X J (Ti v, v)A 2 ¬ (1 + K1 ) (Ti Ei−1 v, Ei−1 v)A i=0 J X 1 X J (Ti v, v)A ¬ (1 + K1 )2 i=0 2 i=0 J X (Ti Ei−1 v, Ei−1 v)A . i=0 Lemat 2.2.7. λmin (T ) K0−1 . Dowód. Niech v = PJ i=0 vi będzie dekompozycją, dla której zachodzi (2.12). Wówczas kvk2A = (v, v)A = J X (vi , v)A = J X i=0 (vi , Pi v)A , i=0 zaś z nierówności Cauchy-Schwarza J X J X J X i=0 i=0 J X i=0 (vi , Pi v)A = = = (vi , APi v) = J X (AA−1 Ri−1 vi , Ri Ai Pi v) = i=0 (Ri−1 vi , Ri Ai Pi v) ¬ J X 1 J X 1 1 (Ri−1 vi , vi ) 2 (APi v, Ri Ai Pi v) 2 = i=0 = J X 1 1 (Ri−1 vi , vi ) 2 (Pi v, Ri Ai Pi v)A2 = i=0 J X 1 2 1 (Ri−1 vi , vi ) 2 (Ri Ai Pi v, v)A i=0 ¬ 1 (Ri−1 vi , vi ) 2 (Ri−1 Ri Ai Pi v, Ri Ai Pi v) 2 = i=0 i=0 = (vi , Ri−1 Ri Ai Pi v) = i=0 (A−1 Ri−1 vi , Ri Ai Pi v)A = i=0 J X J X (vi , Ai Pi v) = ¬ X J 1 X J i=0 i=0 (Ri−1 vi , vi ) 2 1 (Ti v, v)A 2 ¬ 1 p K0 kvkA (T v, v)A2 . Ostatnia nierówność wynika z definicji K0 . Ostatecznie mamy kvk2A ¬ K0 (T v, v)A , (2.21) skąd wynika, że λmin (T ) K0−1 . Twierdzenie 2.2.8. Załóżmy, że stała ω1 zdefiniowana w (2.10) spełnia ω1 < 2. Wówczas EJ spełnia dla algorytmu 2.1.4 kEJ k2A ¬ 1 − 2 − ω1 < 1. K0 (1 + K1 )2 Dowód. Zauważmy najpierw, że gdy ω1 < 2, to 2 − ω1 > 0. K0 (1 + K1 )2 24 (2.22) Nierówność (2.22) wynika z nierówności kvk2A ¬ K0 (1 + K1 )2 (kvk2A − kEJ vk2A ) 2 − ω1 ∀v ∈ V. (2.23) Rzeczywiście, kvk2A ¬ K0 (1 + K1 )2 kEJ vk2A ¬ 2 − ω1 kEJ vk2A ¬ sup v∈V kEJ vk2A kvk2A ¬ kEJ k2A ¬ K0 (1 + K1 )2 (kvk2A − kEJ vk2A ) 2 − ω1 K0 (1 + K1 )2 − 1 kvk2A 2 − ω1 2 − ω1 1− kvk2A K0 (1 + K1 )2 2 − ω1 sup 1 − K0 (1 + K1 )2 v∈V 2 − ω1 1− . K0 (1 + K1 )2 Wystarczy więc udowodnić (2.23). Wykorzystamy kolejno nierówności (2.18) oraz (2.17). J X (Ti v, v)A ¬ (1 + K1 ) 2 J X (Ti Ei−1 v, Ei−1 v)A ¬ i=0 i=0 = (1 + K1 )2 (kvk2A − kEJ vk2A ) 2 − ω1 Ponieważ na mocy (2.21) wiemy, że zachodzi kvk2A ¬ K0 (T v, v)A , kończy to dowód (2.22). Wniosek 2.2.9. Jeżeli ω1 < 2, to metoda SSC (algorytm 2.1.4) jest zbieżna. Zauważmy, że oszacowania w twierdzeniu 2.2.8 nie zależą od kolejności, w jakiej wykorzystujemy elementy dekompozycji w algorytmie 2.1.4. To oznacza, że dla dowolnej kolejności te oszacowania pozostają takie same. 25 Rozdział 3 Przykład zastosowania — metoda wielosiatkowa dla równania Poissona Rozważmy następujące zagadnienie: ( −∆u = f u = 0 w Ω ⊂ R2 na ∂Ω (3.1) gdzie Ω jest wielokątem. Załóżmy, że chcemy dokonać aproksymacji jego rozwiązania metodą elementu skończonego z elementem liniowym trójkątnym. Szczegółową analizę tego zagadnienia przedstawił Braess w [1]. Wprowadźmy na Ω̄ ciąg siatek Tk = {τki } dla k = 0, . . . , J. Siatki są zagnieżdżone w taki l sposób, że każdy trójkąt τk−1 można przedstawić jako sumę czterech mniejszych trójkątów i podobnych z {τk }. Dodatkowo dla każdego k trójkąty z {τki } są rozłączne, suma ich domknięć tworzy całą Ω, a wspólne części ich brzegów to wierzchołek, wspólna krawędź lub zbiór pusty. Rys. 1: Siatki T0 , T1 oraz T2 dla Ω będącego kwadratem. Niech Mk dla k = 0, ..., J będą przestrzeniami elementu skończonego odpowiadającymi siatkom Tk . Wybierzmy Mi := {w ∈ C(Ω̄); w jest liniowe w każdym trójkącie oraz w = 0 na ∂Ω} W każdym trójkącie w ∈ Mi jest postaci w(x, y) = a + bx + cy oraz jest jednoznacznie zdefiniowana przez swoje wartości w wierzchołkach trójkąta. 27 Zauważmy, że zachodzi M0 ⊂ M1 ⊂ . . . ⊂ MJ . Naszym celem jest znalezienie przybliżonego rozwiązania na najdrobniejszej siatce. Aproksymacją rozwiązania zagadnienia (3.1) jest u spełniające a(u, v) = (f, v), gdzie a(u, v) = R Ω ∇u∇v oraz (f, v) = R Ω f v. u, v ∈ MJ , (3.2) Operator AJ : MJ → MJ definiujemy jako (AJ u, v) = a(u, v) dla u, v ∈ MJ . Szybkość zbieżności metody Jacobiego i Gaussa-Seidela jest zależna od rozmiaru zadania. W przypadku badanego zagadnienia te metody iteracyjne co prawda są zbieżne, ale dla małego parametru dyskretyzacji zbiegają bardzo wolno ze względu na złe uwarunkowanie. Rozwiązaniem tego problemu byłaby metoda, której szybkość zbieżności nie zależy od parametru dyskretyzacji, a tym samym, od rozmiaru zadania. Takie cechy posiada metoda wielosiatkowa, którą omówimy w tym rozdziale. 3.1. Metoda wielosiatkowa – (\)-cykl Metody wielosiatkowe mają wiele wariantów, ale skupimy się na jednym z nich, najbardziej elementarnym, tzw. (\)-cyklu (ang. backslash cycle). W terminologii rozdziału 2 ustalamy V = MJ oraz Vk = MJ−k , wówczas trywialnie P V = i V i. Ponadto, jak poprzednio zakładaliśmy, Ri : Mi → Mi jest operatorem symetrycznym i dodatnio określonym, a Qi : MJ → Mi jest ortogonalnym rzutem, takim że dla u ∈ MJ oraz vi ∈ Mi (Qi u, vi ) = (u, vi ) dla (·, ·) będącego standardowym iloczynem skalarnym. Przypomnijmy, że Ak jest obcięciem AJ do Mk , takim że (Ak uk , uk ) = (AJ uk , uk ) dla uk ∈ Mk . Metoda wielosiatkowa będzie się opierała na odpowiednim zdefiniowaniu ciągu operatorów Bk jako przybliżonych odwrotności Ak . Algorytm 3.1.1 ((\)-cykl). Dla k = 0 niech B0 = A−1 0 . Załóżmy, że znamy Bk−1 : Mk−1 → Mk−1 . Zdefiniujemy teraz Bk : Mk → Mk , który jest operatorem iteracji dla równania postaci Ak v = g. Dla danego g ∈ Mk , wartość Bk g zadana jest następującą sekwencją kroków: 1. Wygładzenie: Startując z v 0 = 0 wyznaczamy dla l = 1, 2, ..., m v l = v l−1 + Rk (g − Ak v l−1 ). 2. Gruba poprawka: Dla równania Ak−1 e = Qk−1 (g − Ak v m ) niech ek−1 ∈ Mk−1 będzie jego „rozwiązaniem przybliżonym” określonym przez operator iteracji Bk−1 : ek−1 = Bk−1 Qk−1 (g − Ak v m ). Wówczas definiujemy Bk g = v m + ek−1 . 28 Mając zdefiniowany ciąg Bk , k = 0, . . . , J, rozważmy następującą elementarną metodę iteracyjną typu (1.2): ui+1 = ui + BJ (f − AJ ui ). (3.3) Zauważmy, że wtedy ui+1 = ui + BJ AJ (u − ui ) u − ui+1 = u − ui − BJ AJ (u − ui ) u − ui+1 = (I − BJ AJ )(u − ui ), skąd nasuwa się następujący wniosek Wniosek 3.1.2. Dla algorytmu 3.1.1 z m = 1 mamy I − BJ AJ = (I − T0 )(I − T1 ) . . . (I − TJ ) = EJ , gdzie T0 = P0 , Tk = Rk Ak Pk , 1 ¬ k ¬ J. To znaczy, że gdy m = 1 iteracja (3.3) jest równoważna algorytmowi SSC (por. algorytm 2.1.4). Dowód. Dla m = 1 mamy v m = v 0 + Rk (g − Ak v 0 ) = Rk g ek−1 = Bk−1 Qk−1 (g − Ak v m ) = Bk−1 Qk−1 (g − Ak Rk g) Bk g = v m + ek−1 = Rk g + Bk−1 Qk−1 (I − Ak Rk )g = = (Rk + Bk−1 Qk−1 − Bk−1 Qk−1 Ak Rk )g W dowodzie posłużymy się metodą indukcji. Sprawdzimy najpierw, czy równość zachodzi dla k = 1. I − B1 A1 = I − R1 A1 − B0 Q0 A1 + B0 Q0 A1 R1 A1 = −1 = I − R1 A1 − A−1 0 Q0 A1 + A0 Q0 A1 R1 A1 = = I − R1 A1 − P0 + P0 R1 A1 = I − R1 A1 P1 − P0 + P0 R1 A1 P1 = = (I − P0 )(I − R1 A1 P1 ) = (I − T0 )(I − T1 ) W drugim kroku załóżmy, że zachodzi I − Bk−1 Ak−1 = (I − T0 ) . . . (I − Tk−1 ). Chcemy pokazać, że również I − Bk Ak = (I − T0 ) . . . (I − Tk−1 )(I − Tk ). I − Bk Ak = I − Rk Ak − Bk−1 Qk−1 Ak + Bk−1 Qk−1 Ak Rk Ak = = I − Rk Ak − Bk−1 Ak−1 + Bk−1 Ak−1 Rk Ak = = I − Rk Ak Pk − Bk−1 Ak−1 + Bk−1 Ak−1 Rk Ak Pk = = (I − Bk−1 Ak−1 )(I − Rk Ak Pk ) = (I − Bk−1 Ak−1 )(I − Tk ) Poniżej zajmiemy się kwestią zbieżności (\)-cyklu. Pokażemy, że przy pewnych założeniach zbieżność metody wielosiatkowej nie zależy od rozmiaru zadania. Dla każdego k = 0, 1, ..., J niech λk oznacza promień spektralny Ak . Będziemy zakładać, że: 29 (A1) dla każdego v ∈ M istnieje dekompozycja, taka że istnieje parametr K0 zdefiniowany w (2.12); (A2) istnieją c0 , c1 i ω1 niezależne od J, takie że dla każdego k operatory Rk spełniają (Rk v, v) ¬ ω1 (A−1 k v, v) ∀v ∈ Mk ; (3.4) (A3) dla stałych c0 , c1 i ω1 zachodzi również c1 c0 (v, v) ¬ (Rk v, v) ¬ (v, v) λk λk ∀v ∈ Mk ; (3.5) (A4) istnieje γ ∈ (0, 1) oraz C3 > 0 niezależne od J, takie że dla każdego i j (Ti vj , vj )A ¬ C3 γ |i−j| (vj , vj )A ∀vj ∈ Vj . (3.6) Lemat 3.1.3. Przy założeniach (A1)-(A4) istnieje stała C0 niezależna od J, taka że parametr K0 spełnia K0 ¬ C0 . Dowód. Z lematu 2.2.3 wiemy, że K0 ¬ C̃0 . min0¬i¬J (λi λmin (Ri )) (3.7) Na mocy (3.5) mamy c0 , λi λmin (Ri ) skąd K0 ¬ C̃0 c0 . Lemat 3.1.4. Przy założeniach (A1)-(A4) istnieje stała C1 niezależna od J, taka że parametr K1 zdefiniowany w (2.14) spełnia K1 ¬ C1 . Dowód. Przyjmijmy ij := C3 γ |i−j| . Pokażemy, że K1 ¬ 1 + max 0¬i¬J J X ij . (3.8) j=0 Korzystamy z nierówności Cauchy-Schwarza, a następnie z założenia (3.6) i otrzymujemy J X i X (Ti ui , Tj vj )A ¬ i=0 j=0 J X i X 1 1 (Ti ui , ui )A2 (Ti Tj vj , Tj vj )A2 ¬ i=0 j=0 ¬ J X i X 1 1 (Ti ui , ui )A2 (2ij (Tj vj , Tj vj )A ) 2 = i=0 j=0 = J X i X 1 1 ij (Ti ui , ui )A2 (Tj vj , Tj vj )A2 . i=0 j=0 30 Do otrzymanego wyrażenia zastosujmy dwukrotnie nierówność Höldera. J X i X J X 1 2 1 2 ij (Ti ui , ui )A (Tj vj , Tj vj )A ¬ max ij i j=0 i=0 j=0 = max i ¬ ij j=0 max i 1 2 1 2 (Ti ui , ui )A (Tj vj , Tj vj )A = i=j J X J X J X 1 1 (Ti ui , ui )A2 (Tj vj , Tj vj )A2 ¬ i=j J X ij X J 1 X J i=0 j=0 j=0 (Ti ui , ui )A 2 1 (Tj vj , Tj vj )A 2 . Ostatecznie mamy J X i X (Ti ui , Tj vj )A ¬ max i i=0 j=0 J X ij X J 1 X J i=0 j=0 (Ti ui , ui )A j=0 2 1 (Tj vj , Tj vj )A 2 , zatem z definicji K1 rzeczywiście zachodzi (3.8). Pokażmy jeszcze, że jest niezależne od J. max 0¬i¬J J X j=0 ij = C3 max 0¬i¬J J X = C3 max ( 0¬i¬J j=0 = C3 max ( 0¬i¬J = C3 max ( 0¬i¬J γ |i−j| 0 X γ |k| + i−J X k=i k=−1 i X J−i X k=0 γ |k| + i X γ + J X γ |i−j| ) = j=i+1 j=0 γ |k| ) = C3 max ( 0¬i¬J γ |s| ) ¬ 2C3 s=1 |i−j| ∞ X i X γ |k| + k=0 J−i X γ |−s| ) = s=1 γ |k| < ∞ k=0 Wykorzystaliśmy podstawienie k = i − j oraz s = −k i ostatecznie otrzymaliśmy zbieżny szereg geometryczny. Jak zostało pokazane, oba parametry, K0 i K1 , można oszacować z góry przez stałe niezależne od J. Następne twierdzenie wynika z twierdzenia 2.2.8. Twierdzenie 3.1.5. Załóżmy, że dla m = 1 operatory Rk spełniają założenia (A1)-(A4) dla ω1 < 2, wówczas dla pewnej stałej C niezależnej od J algorytm 3.1.1 ((\)-cykl) oraz algorytm SSC spełniają 2 − ω1 kI − BJ Ak2A ¬ 1 − < 1. C Zatem zbieżność (\)-cyklu jest niezależna od J, czyli od rozmiaru zadania. 3.2. Wybór operatorów wygładzających W praktyce siatka T0 jest na tyle rzadka, że A−1 0 g można obliczyć metodą bezpośrednią. Aby zdefiniować BJ , należy najpierw zdefiniować Rk . Jednym ze sposobów jest wykonanie kilku iteracji elementarnej metody iteracyjnej, np. Gaussa-Seidela lub Jacobiego z tłumieniem. W przypadku tego problemu nie należy używać do wygładzenia metody Jacobiego bez tłumienia ([3, str. 30]). J Niech {ψ}N 1 będzie bazą MJ . Wtedy (3.2) jest równoważne a(u, ψi ) = (f, ψi ) 31 i = 1, . . . , NJ . J Wektor u można zapisać w bazie {ψ}N 1 jako u= NJ X vk ψk . k=1 Wówczas powstaje układ równań NJ X a(ψk , ψi )vk = (f, ψi ) i = 1, . . . , NJ , k=1 który można zapisać w postaci AJ v = g, gdzie Aik := a(ψk , ψi ) oraz gi := (f, ψi ). Za [1, str. 56], dla zagadnienia (3.1) dla każdego węzła Ak ma szablon −1 4 −1 . −1 −1 Macierz Ak jest symetryczna i dodatnio określona. Aby przekonać się, że do poszukiwań aproksymacji rozwiązania zagadnienia (3.1) metoda Jacobiego jest niepraktyczna, rozważymy wartości własne macierzy AJ oraz G := I − BAJ dla metody Jacobiego bez tłumienia (por. (1.3)). Za [1, str. 192, 226], wektory własne z t,l macierzy AJ i G mają postać (z t,l )i,j = sin zaś wartości własne AJ AJ z t,l = (4 − 2 cos itπ jlπ sin , n n lπ tπ − 2 cos )z t,l . n n (3.9) Z kolei wartości własne G mają postać 1 tπ 1 lπ Gz t,l = ( cos + cos )z t,l , 2 n 2 n gdzie 1 ¬ i, j, t, l ¬ n − 1. Zauważmy, że największa wartość własna G odpowiada t = l = 1, wówczas 1 π π2 ρ(G) = (1 + cos ) = 1 − 2 + O(n−4 ). 2 n 4n Dla dużych n ρ(G) zbiega do 1; to oznacza, że dla gęstej siatki metoda Jacobiego daje bardzo wolną zbieżność. Jednak zarówno metoda Jacobiego (z tłumieniem), jak i Gaussa-Seidela, mają własność wygładzania, omawianą już na przykładzie metody iteracyjnej Richardsona w rozdziale 1.3. Dla v 0 = 0 oraz l = 1, . . . , m mamy v l = v l−1 + Rk (g − Ak v l−1 ) Macierz wygładzania Ri dla metody Jacobiego z tłumieniem miałaby postać Ri = ω̃Di−1 , gdzie Di oznacza przekątną macierzy Ai , natomiast optymalna ω̃ dla tego zagadnienia ma wartość 4/5 (patrz [3, str. 30]). Macierz Ri jest symetryczna i dodatnio określona. Pokażmy jeszcze, że założenia (A2) i (A3) są spełnione. 32 Dowód. Dla ω̃ = 4/5 macierz Rk przyjmuje postać 15 Ik . Stąd 1 1 1 1 1 c1 (Rk v, v) = (v, v) = λk (v, v) ¬ max( λk ) (v, v) = (v, v), k 5 5 λk 5 λk λk ponieważ z postaci (3.9) wnioskujemy, że dla każdego k promień spektralny λk ¬ 8. Podobnie można pokazać, że zachodzi oszacowanie z dołu: 1 1 1 1 1 c0 (v, v), (Rk v, v) = (v, v) = λk (v, v) min( λk ) (v, v) = k 5 5 λk 5 λk λk ponieważ dla każdego k promień spektralny λk 4. W (3.9) wystarczy wybrać t = l = n − 1. Prawdziwość założenia (A2) wynika z założenia (A3). Rzeczywiście, (Rk v, v) ¬ (A−1 c1 k v, v) (v, v) = (v, v) = c1 λmin (A−1 )(v, v) = c min 1 k v λk kvk2 −1 = c1 min(A−1 k v, v) ¬ ω1 (Ak v, v). v Kolejnym krokiem jest „Gruba poprawka”. Najpierw obliczamy residuum r = g − Ak v m , a następnie, wykorzystując macierz restrykcji Qk−1 , otrzymujemy b = Qk−1 r. Niech ek−1 będzie przybliżonym rozwiązaniem równania Ak−1 e = b, otrzymanym przez wykorzystanie macierzy Bk−1 , czyli ek−1 = Bk−1 b. Definiujemy Bk g = v m + Pk−1 ek−1 , gdzie Pk−1 jest macierzą przedłużenia. Macierz Pk−1 pojawia się w tym równaniu, ponieważ wektory mają różne wymiary. T . Przedstawia również W pracy [1, str. 232-234] Braess zakłada, że zachodzi Qk−1 = Pk−1 postać szablonu dla macierzy przedłużenia: 1 2 1 2 1 2 1 1 2 1 2 1 2 . W niniejszej pracy skupiamy się na (\)-cyklu, jako na najbardziej podstawowej wersji metod wielosiatkowych. W innej wersji, V-cyklu, wykonuje się na koniec kilka iteracji elementarnej metody iteracyjnej, najlepiej tyle samo, ile w pierwszym kroku ([1, str. 231]). 33 Podsumowanie W pracy omówiono fragmenty przeglądowej pracy Xu [3] dotyczącej metody dekompozycji przestrzeni i jej zastosowania do analizy metody wielosiatkowej dla zagadnienia Poissona. Przedstawiono szczegółowe dowody omawianych twierdzeń. W [3] rozważane są także operatory Ri przybliżonego rozwiązania na podprzestrzeni, które dopuszczają pewien poziom asymetrii — co jest przydatne w analizie przypadku, gdy Ri odpowiadają metodom typu Gaussa-Seidela — jednak w niniejszej pracy ograniczono się tylko do prostszego przypadku, gdy operatory Ri są symetryczne i dodatnio określone. 35 Bibliografia [1] Dietrich Braess, Finite elements. Theory, fast solvers and applications in elasticity theory, Cambridge University Press, Nowy Jork 2007. [2] David Kincaid, Ward Cheney, Analiza numeryczna, Wydawnictwa Naukowo-Techniczne, Warszawa, 2006. [3] Jinchao Xu, An introduction to multigrid convergence theory, notatki wykładowe dla „Winter School on Iterative Methods in Scientific Computing and Their Applications”, Springer, 1995. [4] Jinchao Xu, Iterative methods by space decomposition and subspace correction, SIAM Review, Vol. 34, No. 4, 1992. 37