W dalszym ciągu przedmiotem naszego zainteresowania będzie układ równań , którego rozwiązanie oznaczymy (jak zwykle) przez . O ile nie będzie jasno zaznaczone, że jest inaczej, będziemy przyjmować że początkowe przybliżenie rozwiązania, , jest dowolnie zadanym wektorem w (na przykład, ).
Tym razem rozważymy pewien wariant metody projekcji, w którym rozmiar podprzestrzeni będzie powiększał się wraz z postępem iteracji. Kolejne przybliżenie będziemy dobierać w taki sposób, by oraz spełniało pewien dodatkowy warunek, na przykład — minimalizowało pewną miarę błędu na przestrzeni Kryłowa
gdzie jest residuum początkowym. (Zwróć uwagę, że przestrzeń Kryłowa jest rozpięta przez kolejne wektory metody potęgowej, o której więcej w rozdziale LABEL:sec:xxx — to nie przypadek!). Tam, gdzie nie będzie to prowadziło do nieporozumień, będziemy pomijali parametry przestrzeni Kryłowa i pisali po prostu zamiast .
Metody zbudowane zgodnie z powyższym schematem będziemy ogólnie nazywać metodami Kryłowa. Jak za chwilę zobaczymy, taki sposób konstrukcji iteracji pozwoli metodzie samodzielnie ,,dostosować się” do własności macierzy, przez co metody Kryłowa, w przeciwieństwie do metod typu relaksacji, będą w stanie wykorzystać korzystne własności macierzy do przyspieszenia zbieżności: coś, czego ani metody stacjonarne, ani proste metody projekcji nie były w stanie osiągnąć!
Jasne jest, że przestrzenie Kryłowa tworzą wstępujący ciąg podprzestrzeni:
Łatwo pokazać, że nie tylko same przybliżenia , ale także błędy i residua na -tym kroku metody Kryłowa można powiązać z pewnymi przestrzeniami Kryłowa:
Jeśli , to oraz .
Z tego faktu wynika, że metody przestrzeni Kryłowa są metodami wielomianowymi: zarówno błąd, jak i residuum dadzą wyrazić się jako pewien wielomian macierzy działający na, odpowiednio, błędzie albo residuum początkowym:
Jeśli , to błąd jest postaci i analogicznie residuum jest postaci , gdzie są pewnymi rzeczywistymi współczynnikami.
Udowodnij powyższe stwierdzenie i wniosek.
Wystarczy zauważyć, że jest postaci .
Konstrukcja dobrej metody Kryłowa powinna więc (jeśli mielibyśmy zachować ducha metod projekcji z poprzedniego rozdziału) zmierzać w stronę wskazania takiego wielomianu, by norma błędu była jak najmniejsza — na każdym kroku iteracji będziemy wtedy musieli rozwiązać pewne zadanie optymalizacyjne. W zależności od wyboru sposobu miary błędu i warunku optymalności, dostaniemy inną metodę iteracyjną: CG, GMRES, PCR, BiCG i inne. W niniejszym wykładzie omówimy pokrótce tylko najpopularniejsze: CG dla macierzy symetrycznych i dodatnio określonych oraz GMRES dla pozostałych. Należy pamiętać, że w zależności od konkretnego zadania, inne metody mogą okazać się bardziej skuteczne od tutaj omawianych.
W praktycznej implementacji, metody przestrzeni Kryłowa są metodami, w których do ich realizacji musimy jedynie umieć wykonać mnożenie macierzy przez wektor — nie jest potrzebne odwoływanie się do poszczególnych elementów lub części macierzy (co było konieczne w metodach opartych na podziale macierzy, takich jak np. metoda Gaussa–Seidela). Metody, które wymagają wykonywania jedynie mnożenia macierzy przez wektor, a nie odwołują się do poszczególnych elementów macierzy, nazywamy metodami operatorowymi (ang. matrix-free methods). Są one szczególnie pożądane w przypadku, gdy macierz ma nieregularną strukturę i jest bardzo wielkiego rozmiaru, a także w przypadku, gdy sama macierz po prostu nie jest jawnie wyznaczona.
Innym ważnym zastosowaniem metod iteracyjnych Kryłowa jest szybka realizacja jednego kroku tzw. niedokładnej metody Newtona rozwiązywania układu równań nieliniowych, por. rozdział 10.2.4.
Czy metoda
Jacobiego
Richardsona
najszybszego spadku
jest metodą operatorową?
Na zakończenie wskażemy ciekawą teoretyczną właściwość metod Kryłowa opartych na minimalizacji. Przez będziemy oznaczali normę energetyczną wektora , indukowaną przez symetryczną, dodatnio określoną macierz ,
Niech będzie pewną macierzą symetryczną i dodatnio określoną i niech -ta iteracja metody Kryłowa, , będzie określona przez jeden z warunków:
minimalizacji błędu:
albo
minimalizacji residuum:
Wtedy metoda jest dobrze określona i znajduje dokładne rozwiązanie najpóźniej po iteracjach (jest to tzw. własność skończonego stopu).
Powyższe twierdzenie stosuje się do wielu konkretnych metod Kryłowa znajdujących się w powszechnym użyciu. Przykładowo, w metodzie CG (którą dokładniej omówimy w rozdziale 6.1), zdefiniowanej dla macierzy symetrycznej i dodatnio określonej, iterację będziemy określać warunkiem minimalizacji błędu przy , natomiast w metodzie GMRES (opisanej w rozdziale 6.2) wybierzemy warunek minimalizacji residuum dla .
Część druga powyższego twierdzenia — o skończonym stopie metody — ma znaczenie głównie teoretyczne. Wynika to z dwóch przesłanek:
gdy jest bardzo duże, wykonanie iteracji, nawet jeśli każda kosztuje tylko flopów, jest zwykle ponad nasze możliwości obliczeniowe;
w implementacji metody stosuje się rozmaite chwyty służące maksymalnemu obniżeniu czasochłonności i pamięciożerności algorytmu, które zwykle opierają się na subtelnych zależnościach pomiędzy wyznaczanymi wartościami pośrednimi; gdy algorytm realizujemy w arytmetyce skończonej precyzji, z powodu błędów zaokrągleń tracimy te relacje i z postępem iteracji będą one zwykle coraz gorzej spełnione — co w efekcie doprowadzi także do utraty własności skończonego stopu algorytmu.
(twierdzenia 6.1) Rozważmy najpierw przypadek 6.1, tzn. minimalizacji normy błędu. Pokażemy, że w ogólności jest dobrze określony przez warunek minimalizacji, gdyż jest zdefiniowany jako rozwiązanie pewnego liniowego zadania najmniejszych kwadratów.
Jeśli przez oznaczymy macierz, której kolumnami są wektory tworzące bazę , to każdy daje się zapisać w postaci , gdzie jest wektorem o tylu współrzędnych, jaki jest wymiar (oznaczmy go ). Podstawiając do minimalizowanego wyrażenia, dostajemy zadanie znalezienia takiego, że
(6.1) |
(wtedy ).
Na mocy założenia istnieje macierz symetryczna i dodatnio określona taka, że (dlatego nazywamy ją pierwiastkiem z ), a stąd wynika, że . Znaczy to, że zadanie minimalizacji (6.1) możemy zapisać w równoważnej postaci
(6.2) |
Jest to standardowe zadanie najmniejszych kwadratów,
gdzie jest macierzą prostokątną pełnego rzędu, natomiast . A zatem jest wyznaczone jednoznacznie.
Na mocy wniosku 6.1, dowolny spełnia , gdzie jest pewnym wielomianem stopnia co najwyżej takim, że . Jeśli oznaczymy przez zbiór wielomianów stopnia co najwyżej o wyrazie wolnym równym 1, to warunek minimalizacji błędu możemy sformułować w równoważnej postaci
(6.3) |
W szczególności, dla wielomianu — będącego przeskalowanym wielomianem charakterystycznym macierzy — mamy, że oraz oczywiście jest stopnia nie większego niż , a więc . Z drugiej strony, na mocy twierdzenia Cayley'a–Hamiltona, , skąd . Znaczy to, że przynajmniej dla zadanie minimalizacji ma (jednoznaczne) rozwiązanie, którym jest — a więc, że metoda ma własność skończonego stopu.
Dowód drugiej części twierdzenia, dotyczącej przypadku, gdy jest zadany warunkiem minimalizacji residuum, zostawiamy jako ćwiczenie.
∎Uzupełnij powyższy dowód.
Dla dowodu drugiego przypadku zauważmy, że znów jest dobrze określony jako rozwiązanie pewnego liniowego zadania najmniejszych kwadratów postaci
oraz na mocy wniosku 6.1 zachodzi
(6.4) |
Dalszy ciąg dowodu jest identyczny jak poprzednio.
Oznaczmy chwilowo macierz indukującą normę energetyczną, w której minimalizujemy residuum, symbolem . Wystarczy skorzystać z pierwszej części twierdzenia, biorąc , gdyż
Jeśli po -tej iteracji metody Kryłowa o własności skończonego stopu następuje stagnacja: , to znaczy, że właśnie znaleziono rozwiązanie dokładne, .
Jeśli , to oczywiście . Ponieważ jednak musi być (skończony stop po iteracjach!) to oznacza, że .
∎Algorytm CG został uznany za jeden z 20 najważniejszych algorytmów numerycznych opracowanych w XX wieku.
W niniejszym rodziale będziemy zakładać, że kwadratowa macierz rzeczywista rozmiaru jest symetryczna, , oraz jest dodatnio określona,
Przy tym założeniu, można określić normę energetyczną indukowaną przez , zadaną tożsamością
Metodę gradientów sprzężonych, w skrócie CG (ang. conjugate gradients), zdefiniujemy początkowo w sposób niejawny. Kolejne przybliżenie określimy jako wektor z podprzestrzeni afinicznej , minimalizujący w tej podprzestrzeni błąd w normie energetycznej indukowanej przez :
(6.5) |
Naturalnie, taka definicja może budzić w nas nieco wątpliwości, co do jego obliczalności (w sformułowaniu warunku minimalizacji występuje szukane przez nas rozwiązanie dokładne, ).
Zadanie minimalizacji (6.5) ma jednoznaczne rozwiązanie. Jeśli jest macierzą, której kolumny tworzą bazę , to jest dane wzorem , gdzie spełnia układ równań
(6.6) |
Ponadto, w arytmetyce dokładnej, metoda CG znajduje dokładne rozwiązanie w co najwyżej iteracjach.
Jest to natychmiastowy wniosek z twierdzenia 6.1, dla przypadku minimalizacji błędu gdy . Zależność (6.6) to nic innego jak układ równań normalnych dla zadania najmniejszych kwadratów (6.2).
∎Z powyższego lematu wynika (por. (6.6)), że jest istotnie obliczalny: do jego wyznaczenia nie jest nam efektywnie potrzebna znajomość rozwiązania!
Aby wyznaczyć , nie będziemy bezpośrednio rozwiązywać układu (6.6) — byłoby to, wraz z postępem iteracji, coraz bardziej kosztowne, ze względu na zwiększający się rozmiar zadania najmniejszych kwadratów. Spróbujemy znaleźć tańszy sposób wyznaczania .
Ponieważ jest symetryczna, istnieje baza ortogonalna w złożona z wektorów własnych :
Oznaczając przez macierz, której kolejne kolumny są wektorami własnymi ,
mamy, że jest macierzą ortogonalną, , a ponadto ma rozkład:
gdzie
Gdyby baza przestrzeni była –ortogonalna (z powodów historycznych, jej elementy oznaczymy tak, że ), tzn. dla , to wtedy macierz równań normalnych byłaby diagonalna,
Wtedy kolejną iterację można wyznaczyć z jawnego wzoru:
(6.7) |
Zatem potrzebna jest nam skuteczna metoda wyznaczania bazy ortogonalnej w przestrzeni …. Oczywiście, ze względu na koszt obliczeniowy i pamięciowy, generowanie i następnie ortogonalizacja oryginalnego zestawu wektorów rozpinających nie ma większego sensu. W zamian, wykorzystamy specjalne własności wektorów otrzymywanych w trakcie działania metody.
Residuum na -tym kroku, , jest prostopadłe do . Ponadto .
Uzasadnienie pierwszej części łatwo wynika z układu równań normalnych (6.6), określającego pośrednio . Rzeczywiście, ponieważ , to z (6.6) wynika, że . Upraszczając wyrazy z , dostajemy , czyli .
Druga część wynika natychmiast z faktu, że , skąd i w konsekwencji, odejmując stronami od , dochodzimy do . Tymczasem z definicji przestrzeni Kryłowa .
∎Z powyższego wynika, że jeśli , to , a więc dopóki nie trafimy w rozwiązanie dokładne, , kolejne przestrzenie Kryłowa w metodzie tworzą ściśle wstępujący ciąg przestrzeni, .
W dalszm ciągu założymy więc, że — a więc, że . Przypuśćmy, że mamy już zadaną bazę –ortogonalną przestrzeni i znamy , . Naszym celem będzie wyznaczenie , oraz . Z zależności (6.7) mamy, że
(6.8) |
gdzie
(6.9) |
Obkładając (6.8) macierzą i odejmując obustronnie od dostajemy dodatkowo zależność rekurencyjną na residua,
(6.10) |
Potrzeba nam jeszcze zależności rekurencyjnej pozwalającej wyznaczyć — ostatni wektor bazy ortogonalnej dla (wcześniejsze znamy z założenia indukcyjnego). Ponieważ z lematu 6.1 wynika, że , znaczy to, że
Mnożąc skalarnie tę równość przez dostajemy z założenia -ortogonalności
(6.11) |
i podobnie, że oraz wszystkie następne współczynniki są równe zero (ponieważ z lematu o residuach jest ortogonalne do , a dla ). Zatem ostatecznie dostajemy kolejną elegancką zależność rekurencyjną, tym razem na wektory bazy –ortogonalnej dla :
(6.12) |
Ponieważ , tym samym zależności (6.8)—(6.11) stanowią domknięty układ: startując z zadanego , jesteśmy w stanie wyznaczać kolejne przybliżenia.
Okazuje się, że powyższe wzory można jeszcze bardziej wymasować, otrzymując w końcu bardzo zwarty i tani algorytm:
; |
, , |
while not stop |
begin |
end |
Jak widać, całą iterację da się wykonać, przechowując w pamięci tylko kilka wektorów (a nie, jak możnaby się obawiać, całą przestrzeń ), a najdroższym jej elementem jest mnożenie macierzy przez wektor.
Najpierw wykażemy, że
(6.13) |
Ponieważ z założenia dla każdego , to (mnożąc obustronnie tę równość przez i odejmując stronami od ) zachodzi także . Mnożąc skalarnie tę równość przez i uwzględniając –ortogonalność kierunków dochodzimy do wniosku, że
Z drugiej zaś strony, mnożąc (6.12) skalarnie przez otrzymujemy
ponieważ jest prostopadłe do , w której zawarty jest wektor . Ostatecznie więc dla każdego . Biorąc , z (6.9) otrzymujemy (6.13).
Teraz wyprowadzimy prostszą reprezentację współczynnika . Z rekurencyjnej zależności pomiędzy residuami (6.10) wynika, że
Ponieważ z lematu o ortogonalności residuów oraz jest ortogonalne do , to , więc podstawiając do powyższego wzoru uzyskane przed chwilą nowe wyrażenie na dostajemy
Stąd i z (6.13) już wynika wzór na współczynnik ,
Dla dużych , traktowanie CG jako metody bezpośredniej nie miałoby większego sensu — nie dość, że wykonanie aż iteracji mogłoby być zadaniem ponad możliwości naszego komputera, to jeszcze dodatkowo algorytm wykorzystuje bardzo specyficzne relacje pomiędzy wektorami, a całość jest przecież w praktyce realizowana w arytmetyce zmiennoprzecinkowej o ograniczonej precyzji, w której te relacje nie zachodzą (w sposób dokładny). Prowadzi to do tego, że w miarę postępu iteracji na przykład wektory są coraz mniej ortogonalne i tym samym metoda nie musi dotrzeć do dokładnego rozwiązania.
Dlatego w praktyce znacznie bardziej właściwe wydaje się potraktowanie metody CG (i innych metod Kryłowa) jako ,,czystej” metody iteracyjnej i oszacowanie szybkości redukcji błędu podobnie, jak czyniliśmy to w przypadku metod stacjonarnych.
Po iteracjach metody CG,
gdzie .
Skorzystamy z własności (6.3). Zauważmy, że
oraz
zatem wystarczy oszacować wartości wybranego wielomianu (nasza norma błędu jest i tak nie większa). Niech i . Jako w (6.3) weźmy przeskalowany -ty wielomian Czebyszewa,
Rzeczywiście, . Ponadto, ponieważ wielomiany Czebyszewa spełniają zależność
to
Należy więc oszacować . Ponieważ , to skorzystamy ze wzoru
W szczególności więc, biorąc mamy
Jeśli macierz ma różnych wartości własnych, to metoda CG w arytmetyce dokładnej znajdzie rozwiązanie dokładne w co najwyżej iteracjach.
Udowodnij powyższe stwierdzenie.
Rozważ odpowiednio przeskalowany wielomian .
Kontynuujemy przykład 5.13. Chcąc porównywać cztery metody: Jacobiego, SOR, metodę najszybszego spadku oraz sprzężonych gradientów, będziemy korzystać z macierzy
gdzie oraz jest losową macierzą rozrzedzoną. Zwiększanie parametru nie tylko poprawia diagonalną dominację, ale także poprawia uwarunkowanie . Jako parametr relaksacji dla SOR wybraliśmy (strzelając w ciemno) .
Zwróćmy uwagę na wyraźną przewagę metody CG nad pozostałymi. Sprawdź, czy podobnie jest dla większych wartości .
Sprawdź w przykładzie 6.1, czy faktycznie uwarunkowanie macierzy wpływa na szybkość zbieżności metody CG i najszybszego spadku. Aby zbadać uwarunkowanie macierzy, możesz skorzystać z polecenia cond(A)
, albo wykorzystać estymator uwarunkowania dostępny w pcg
.
Sprawdź, modyfikując kod przykładu 6.1, czy jeśli nie będzie symetryczna (lub nie będzie dodatnio określona), wpłynie to istotnie na szybkość zbieżności metody CG i najszybszego spadku. Wypróbuj m.in. dla (brak symetrii) tak dobranego, by oraz dla takiego, żeby miało i dodatnie, i ujemne wartości własne.
Chcąc porównywać cztery metody: Jacobiego, SOR, metodę najszybszego spadku oraz sprzężonych gradientów dla macierzy jednowymiarowego laplasjanu . Jako parametr relaksacji dla SOR wybraliśmy wartość optymalną, zgodnie z przykładem 5.11.
Zwróćmy uwagę na wyraźną przewagę metody CG nad pozostałymi metodami iteracyjnymi. Jednak i tak nie wytrzymuje ona konkurencji z metodą bezpośrednią. Ta sytuacja dramatycznie zmieni się, gdy będziemy rozważali dyskretyzacje dwu- lub trójwymiarowego operatora Laplace'a. O ile wtedy metoda CG wciąż ma kłopoty z szybką zbieżnością, to metoda bezpośrednia (typu rozkładu LU) staje się całkowicie bezużyteczna.
Metoda GMRES (ang. Generalized Minimum RESidual) nie wymaga ani symetrii, ani dodatniej określoności macierzy, jest więc bardziej uniwersalna, choć też w realizacji bardziej kosztowna od CG. Jej szczegółowe omówienie, w tym — wyprowadzenie subtelniejszych oszacowań szybkości zbieżności — wykracza niestety poza ramy niniejszego wykładu (zainteresowani mogą skonsultować m.in. podręcznik [13]).
W tej metodzie, przybliżenie na -tej iteracji ma minimalizować, w przestrzeni afinicznej , residuum (stąd nazwa) mierzone w normie euklidesowej:
(6.14) |
Zadanie minimalizacji (6.14) ma jednoznaczne rozwiązanie. Jeśli jest macierzą, której kolumny tworzą bazę , to jest dane wzorem , gdzie jest rozwiązaniem zadania najmniejszych kwadratów względem ,
(6.15) |
Ponadto, w arytmetyce dokładnej, metoda GMRES znajduje rozwiązanie w co najwyżej iteracjach.
Jest to bezpośredni wniosek z twierdzenia 6.1, dla przypadku minimalizacji residuum gdy .
∎Jeśli macierz jest diagonalizowalna (to znaczy i jest macierzą diagonalną5Oczywiście, na diagonali znajdują się wartości własne macierzy . W ogólności więc, zarówno , jak i mogą być zespolone.), to -ta iteracja GMRES spełnia
Powyższe twierdzenie jest mało praktyczne, ze względu na to, że zazwyczaj nie znamy macierzy . Ale jeśli na przykład macierz jest normalna, to znaczy , to wtedy i w konsekwencji .
Niech będzie macierzą diagonalizowalną. Wykaż, że jeśli ma różnych wartości własnych, to GMRES w arytmetyce dokładnej osiągnie rozwiązanie w co najwyżej krokach.
Wynika z poprzedniego twierdzenia, wystarczy wziąć .
Dla ostatecznej skuteczności metody iteracyjnej ważna jest także jej efektywna implementacja. Załóżmy więc, że z powodzeniem wykonaliśmy kroków metody GMRES i teraz chcemy wyznaczyć . Oznaczamy, jak zwykle, przez macierz, której kolumny tworzą bazę . Wtedy, jeśli nie osiągnięto jeszcze rozwiązania, to , zatem . Aby wyznaczyć współczynniki reprezentacji w bazie , , musimy rozwiązać względem liniowe zadanie najmniejszych kwadratów,
(6.16) |
Wydawać by się mogło, że sprawa jest tu prosta, bo możemy w miarę łatwo wyznaczyć, a potem należałoby skorzystać z jednej z metod rozwiązywania standardowego zadania najmniejszych kwadratów. Jednak jeśli uwzględnić drobny fakt, że do wyznaczenia potrzebna nam będzie znajomość nie samego , ale także , sytuacja robi się nieco niezręczna. Dlatego po raz kolejny spróbujemy spreparować bazę i jednocześnie wykorzystać fakt, że rozpina podprzestrzeń w (rozpiętej przez .
Zwróćmy uwagę na to, że jeśli są bazą ortogonalną w dla , to aby rozszerzyć ją do wystarczy zortogonalizować — zamiast — wektor . Stosując zmodyfikowany algorytm ortogonalizacji Grama-Schmidta do :
for to begin |
, dla |
{ to wektor, który będziemy ortogonalizować} |
{unormowanie } |
end |
(6.17) |
gdzie jest macierzą Hessenberga rozmiaru :
Opisana tu zmodyfikowana metoda Grama–Schmidta ortogonalizacji bazy przestrzeni Kryłowa nosi nazwę metody Arnoldiego.
Jest to istotny postęp na drodze ku efektywnemu rozwiązaniu zadania minimalizacji (6.16), gdyż podstawiając doń (6.17) mamy, że
— w ostatniej równości skorzystaliśmy z ortogonalności . Ale przecież (gdzie ), zaterm ! Tak więc, zadanie najmniejszych kwadratów (6.16) dla macierzy rozmiaru sprowadziliśmy do zadania najmniejszych kwadratów:
(6.18) |
dla macierzy Hessenberga , rozmiaru (a więc: prawie–trójkątnej!)6Macierz Hessenberga można — przy pomocy (ortogonalnych) przekształceń Givensa — doprowadzić liniowym kosztem do postaci górnej trójkątnej, zob. [9, rozdział 3.5]..
Stąd dostajemy bazową wersję implementacji algorytmu GMRES:
, , k = 0 |
while not stop |
{wykonaj ortogonalizację metodą Arnoldiego} |
{rozszerz bazę i macierz } |
{znajdź minimum zadania najmniejszych kwadratów} |
{zwiększ licznik iteracji} |
end |
{rozwiąż ostatnie zadanie najmniejszych kwadratów} |
{dopiero teraz musimy wyznaczyć przybliżone } |
Zwróćmy uwagę na pewien drobiazg obniżający koszt iteracji: dopóki nie wyznaczymy rozwiązania z żądaną dokładnością (co możemy określić jedynie poprzez analizę residuum, ), nie musimy znajdować ani , ani . Dzięki temu, koszt jednej iteracji GMRES jest tylko rzędu flopów (gdybyśmy wyznaczali na każdej iteracji, dodawałoby to dodatkowe flopów).
Powyższy algorytm w praktyce jest poddawany pewnym drobnym modyfikacjom, związanym z tym, że choć zmodyfikowany algorytm Grama–Schmidta ma numeryczne własności wyraźnie lepsze od klasycznego, to wciąż w realizacji w arytmetyce skończonej precyzji będzie tracił ortogonalność kolumn . Dlatego uzupełnia się go o warunkową reortogonalizację : szczegóły opisane są w [9] (tam także są przykłady ukazujące wagę tego dodatkowego kroku) oraz w [13].
Przeanalizuj zbieżność metody GMRES dla macierzy kwadratowej
gdzie , a jest macierzą .
Pewną wadą metody GMRES jest konieczność zapamiętania na -tym kroku wszystkich wektorów bazy ortogonalnej przestrzeni Kryłowa . Znaczy to, że nakład obliczeń i, co gorsza, ilość pamięci potrzebnej na wykonanie jednego kroku metody rosną wraz z liczbą iteracji. Aby zniwelować tę przypadłość, zwykle stosuje się restarty metody GMRES co (rzędu kilkunastu–kilkudziesięcu) iteracji: po iteracjach przerywane są obliczenia, a wyznaczone w ten sposób rozwiązanie przybliżone jest używane jako początkowe przybliżenie do kolejnego wywołania metody. W ten sposób co prawda spowalnia się nieco szybkość zbieżności samej metody, ale za to utrzymujemy w ryzach jej zasobożerność: to często jest rozsądny kompromis.
Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i Mechaniki UW, 2009-2010. Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.