gmres - MEiL
Transkrypt
gmres - MEiL
Metoda GMRES (Generalized Minimal Residual)
Cel: wyznaczyć przybliżone rozwiązanie układu liniowego
Ax b
Macierz współczynników układu jest nieosobliwa i rzadka, poza tym – dowolna.
Przestrzeń Kryłowa generowana przez wektor v :
2
m 1
(
v
)
span
v
,
Av
,
A
v
,...,
A
v , m = 1,2,…
m
Idea metody GMRES:
W m-tej iteracji wyznaczamy wektor xm taki, że xm
rm
2
b Axm
2
min
m
( b) i
Zbieżność zagwarantowana dzięki temu, że
1 ( b)
2 ( b) ...
m ( b) ...
n
(
b
)
R
n
Realizacja:
W przestrzeni m tworzymy bazę ortonormalną q1 , q2 ,..., qm .
Zauważmy, że:
Aqk k 1 (b) , k 1,2,..,m
n
1
(
b
)
{
w
R
:
w
q
,
R
}
,
q
1
1
1
b, b
2
Mają miejsce związki …
Aq1 h11q1 h21q2
Aq2 h12 q1 h22 q2 h32 q2
Aq h q h q ... h
m 1
1,m 1 1
2,m 1 2
m 1,m 1qm 1 hm ,m 1qm
Aqm h1,m q1 h2,m q2 ... hm 1,m qm 1 hm ,m qm hm 1,m qm 1
W formie macierzowo wektorowej …
h1,1 h1,2
h
h
2,1 2,2
A q1 | q2 |... | qm q1 | q2 |... | qm | qm 1 0 h3,2
0
hm 1,m
h1,m
h2,m
h3,m
0
macierz Hessenberga
Zwięźle …
A Qm Qm1 H m
nn nm
n( m 1) ( m 1)m
Poszukujemy wektora xm w postaci kombinacji wektorów bazowych …
xm Qm cm
m
xm c j q j
j 1
Obliczamy wektor reszty (residuum)…
rm b Axm b AQm cm b Qm1 H m cm
Wykorzystamy następujące przedstawienie wektora prawych stron
b q1 Qm1e1
,
e1 [1,0,...,0]T R m1
Po podstawieniu …
rm Qm1 ( e1 H m cm )
rm
2
e1 H m cm
2
Morał: minimalizacja normy euklidesowej residuum polega na rozwiązaniu z
sensie najmniejszych kwadratów nadokreślonego układu liniowego
H m cm e1
Układ ten zawiera m+1 równań z m niewiadomymi.
Pseudokod algorytmu GMRES (wersja ogólna, tj. wektor startowy jest dowolny)
START: wybierz x0 , oblicz r0 b Ax0 , połóż q1 r0 / , gdzie r0
DLA m 1,2,... :
y Aqm
DLA j 1,2,..., m :
h jm qTj y
y y h jm q j
KONIEC j
hm1,m y 2 ; jeżeli hm1,m 0 przejdź do obliczania xm i zakończ!
qm1 y / hm1,m
Rozwiąż (w sensie najmniejszych kwadratów) układ H m cm e1
xm Qm cm x0
Sprawdź kryterium zbieżności: jeśli spełnione – STOP.
KONIEC m
2
.
Komentarze:
1. Kolejne wektory bazy ortonormalnej wyznaczane są „w biegu”. W powyższym
wariancie zastosowano zmodyfikowany algorytm ortogonalizacji GramaSchmidta. W kontekście przestrzeni Kryłowa proces konstrukcji baz
ortogonalnych nazywamy algorytmem Arnoldiego.
2. Proces ortogonalizacji może być oparty na wykorzystaniu metody odbić
(Householdera).
3. W praktycznych implementacjach nadokreślony układ równań rozwiązywany jest
„sprytnie” tj. przy wykorzystaniu szczególnej struktury macierzy współczynników
(macierz Hessenberga).
4. W praktyce „obowiązkowe” jest stosowanie preconditioningu. Podobnie jak w
PCGM, preconditioning polega na rozwiązaniu wewnątrz iteracji pomocniczego
układu liniowego z macierzą „podobną widmowo” do macierzy A.
5. W celu ograniczenia nadmiernego wzrostu liczby wektorów bazowych stosowany
jest tzw. restartowany GMRES.
Szczegóły – np. w monografii Y. Saada pt. „Iterative methods for sparse linear
systems”, 2-gie wyd., SIAM 2003.