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

Podobne dokumenty