• Nie Znaleziono Wyników

Algorytmy Jacobiego i Gaussa-Seidla

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

2.7.1 Algorytmy Jacobiego i Gaussa-Seidla

Algorytmy Jacobiego i Gaussa-Seidla, które w niniejszej pracy zawsze rozwa-żane są w wersjach blokowych [154], są reprezentantami klasycznych metod iteracji prostej. Pojedyncza iteracja blokowej metody Jacobiego lub Gaussa--Seidla zastosowana do rozwiązania układu równań liniowych (2.41) może zo-stać zapisana jako sekwencja problemów lokalnych postaci:

All· um,ll = −

Nbl

X

k=1,k6=l

Alk· ˜uk+ bl (2.56)

Powyżej uloznacza podwektor stopni swobody, będący częścią globalnego wek-tora u, związany z pojedynczym obiektem siatki, dowolną grupą obiektów lub grupą obiektów tworzących klasyczny podobszar Ωlobszaru obliczeniowego Ω.

Podobszary Ωl mogą zachodzić na siebie (jeśli nie prowadzi to do zachodze-nia na siebie podwektorów ul). Nbl oznacza liczbę podwektorów ul. Bloki Alk odpowiadają parom podwektorów ul, a co za tym idzie parom obiektów siatki, grup obiektów siatki lub podobszarów, zależnie od definicji ul. Podwek-tory bl, fragmenty globalnego wektora b, odpowiadają podwektorom ul. um,ll oznacza podwektor ul w trakcie wykonywania m-tej iteracji, po rozwiązaniu l problemów lokalnych (2.56). ˜u jest aktualnym rozwiązaniem, uzyskiwanym różnie dla różnych metod. Dla iteracji Jacobiego uaktualnienie rozwiązania następuje po rozwiązaniu wszystkich problemów lokalnych, stąd ˜uk = um,0k . Dla iteracji Gaussa-Seidla uaktualnienia dokonuje się po rozwiązaniu każdego problemu lokalnego, tak więc ˜uk = um,l−1k . W obu wypadkach um,0 = um−1 jest wektorem początkowym dla m-tej iteracji.

W klasycznej analizie metod iteracji prostej [85] zapisywane są one w po-staci:

um= S−1Q · um−1− S−1b (2.57) gdzie S i Q uzyskiwane są w efekcie rozkładu macierzy A:

A = S − Q (2.58)

Dla metod Jacobiego i Gaussa-Seidla wykorzystuje się rozkład na części: trój-kątną dolną L, diagonalną D i trójtrój-kątną górną U. Pojedyncza iteracja metody

Jacobiego zapisywana jest jako:

um = −D−1(L + U) · um−1+ D−1b (2.59) natomiast pojedyncza iteracja metody Gaussa-Seidla przybiera postać:

um= −(D + L)−1U · um−1+ (D + L)−1b (2.60) Metody iteracji prostej są zbieżne, jeśli promień spektralny macierzy S−1Q jest mniejszy od 1.

W klasycznych sformułowaniach blokowych wariantów metod Jacobiego i Gaussa-Seidla podwektory uli odpowiadające im bloki macierzy A nie zacho-dzą na siebie. Jeśli zachodzenie występuje, nadal można stosować sekwencje rozwiązań problemów (2.56) dla iteracyjnego rozwiązania układu (2.41). Wy-nikające z tej techniki metody są uogólnieniami iteracji prostych, należącymi do metod Schwarza, czyli metod dekompozycji obszaru na nakładające się podobszary [162].

W analizie metod Schwarza wprowadza się dwa rodzaje operatorów: opera-tory zawężenia (restrykcji) Rl i operatory rozszerzenia (prolongacji) RTl . Ope-rator zawężenia Rl wybiera spośród wszystkich składowych wektora u pod-wektor stopni swobody ul (w klasycznych metodach Schwarza odpowiadający podobszarowi Ωl). Operator rozszerzenia RTl uzupełnia podwektor stopni swo-body ul zerami, do pełnego wymiaru wektora u. W zapisie macierzowym Rl jest tablicą złożoną z jedynek i zer, a RTl jest, zgodnie z oznaczeniem, trans-pozycją Rl, przy czym RlRTl = I.

Wykorzystując powyższą notację, lokalne problemy (2.56) dają się zapisać jako:

Rlum,l = −A−1ll

Nbl

X

k=1,k6=l

AlkRku − R˜ lb

= (2.61)

= Rlu − A˜ −1ll

Nbl

X

k=1

AlkRku + A˜ −1ll Rlb gdzie w celu uzyskania ostatniej równości zastosowano tożsamość:

Rlu = A˜ −1ll AllRlu˜ (2.62) Ostateczny wektorowy zapis problemu (2.56) w notacji metod dekompozycji obszaru wygląda następująco:

um,l= ˜u + RTl A−1ll Rl(b − A˜u) (2.63)

W konsekwencji, pojedyncza iteracja addytywnej metody Schwarza, będącej uogólnieniem blokowej metody Jacobiego, uzyskuje formę:

um = um−1− natomiast pojedyncza iteracja multiplikatywnej metody Schwarza, będącej uogólnieniem blokowej metody Gaussa-Seidla, przybiera postać:

um = um−1− Kluczem do analizy metod dekompozycji obszaru jest pojęcie rzutowania błędu aktualnego rozwiązania na lokalną przestrzeń (wektorową lub funkcyjną) związaną z podobszarem (podwektorem stopni swobody ul). Operator projek-cji na lokalną przestrzeń wektorową definiuje się wzorem:

Pl= RTl A−1ll RlA (2.66) Jeśli przez u oznaczone zostanie rozwiązanie dokładne układu równań, tak że b = A · u, to lokalny problem (2.63) okazuje się być korektą aktualnego rozwiązania ˜u o zrzutowany na lokalną przestrzeń globalny błąd rozwiązania

˜ e:

um,l= ˜u + Pl(u− ˜u) = ˜u + Pl˜e (2.67) W dalszych rozważaniach proces iteracyjny zapisywany jest w języku ana-lizy funkcjonalnej. Słabe sformułowanie (2.30) lub (2.31) związane z rozwią-zywanym układem równań, po uproszczeniu zapisu przez pominięcie indeksów konkretnych metod, przybiera formę:

Znajdź taką funkcję u ∈ Vh, aby spełnione było:

a(u, v) = l(v) ∀v ∈ Vh (2.68)

Rozważa się dekompozycję obszaru obliczeniowego Ω na nakładające się podobszary Ωl i lokalne problemy projekcji na przestrzenie funkcyjne Vl⊂ Vh, związane z podobszarami Ωl. Dla każdego podobszaru przestrzeń Vl jest roz-pięta na lokalnych dla Ωl funkcjach bazowych zerujących się na brzegu we-wnętrznym podobszaru20. Dla dowolnej funkcji ul ∈ Vl określa się jej roz-szerzenie u0l do pełnej przestrzeni Vh (poprzez funkcję zerową). Dla dowolnej

20Brzegiem wewnętrznym podobszaru jest ta część jego brzegu, która nie pokrywa się z brzegiem obszaru obliczeniowego.

funkcji g problem rzutowania związany ze sformułowaniem (2.68) i rozwiązy-wanym układem równań ma postać:

Znajdź taką funkcję gl∈ Vl, aby spełnione było:

al(gl, vl) = a(g, vl0) ∀vl∈ Vl (2.69) Lokalną formę dwuliniową al(., .), odpowiadającą lokalnym problemom (2.56), uzyskuje się z formy globalnej poprzez zastąpienie obszaru Ω podobszarem Ωl. Jeśli funkcję z przestrzeni Vl odpowiadającą aktualnemu rozwiązaniu ˜u oznaczymy przez ˜u, a funkcję odpowiadającą rozwiązaniu układu u przez u, to dla funkcji błędu ˜e = u− ˜u zachodzi równość:

a(˜e, vl0) = a(u− ˜u, vl0) = l(v0l) − a(˜u, v0l) (2.70) Zagadnienie lokalnej projekcji globalnego błędu rozwiązania, zapisywane dla wektorów jako:

˜

el= Pl˜e (2.71)

dla odpowiadających funkcji ma ostatecznie postać:

Znajdź taką funkcję ˜el∈ Vl, aby spełnione było:

al(˜el, vl) = l(vl0) − a(˜u, vl0) ∀vl∈ Vl (2.72) Podobnie jak dla wektora niewiadomych, także dla odpowiadającej mu funkcji lokalne problemy przyjmują postać korekty aktualnych wartości za pomocą błędu zrzutowanego na lokalną przestrzeń:

um,l= ˜u + ˜el (2.73)

Zinterpretowane jako metody dekompozycji obszaru klasyczne metody blo-kowe Jacobiego i Gaussa-Seidla ukazują się jako serie lokalnych projekcji błędu i następujących (w różnych momentach dla różnych metod) korekt aktual-nego rozwiązania. Istotnym elementem w rozważanych metodach dekompozy-cji (metodach Schwarza) jest nakładanie się podobszarów, z którymi związane są lokalne podprzestrzenie. Zbieżność iteracji jest w tych metodach zależna od rozmiaru podobszarów, ich kształtu, rozmiaru strefy nakładania się podobsza-rów i, oczywiście, od własności problemu [67, 66, 68, 145]. W standardowych przypadkach, im większe podobszary i im większa strefa nakładania się podob-szarów, tym zbieżność metod szybsza. Zbieżność ta jest jednak na tyle wolna, że w praktycznych zastosowaniach zawsze stosuje się techniki jej przyspiesza-nia.