W dalszym ciągu przedmiotem naszego zainteresowania będzie układ równań
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
gdzie
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
Jeśli
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
Jeśli
Udowodnij powyższe stwierdzenie i wniosek.
Wystarczy zauważyć, że
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
Niech
minimalizacji błędu:
albo
minimalizacji residuum:
Wtedy metoda jest dobrze określona i znajduje dokładne rozwiązanie
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
Część druga powyższego twierdzenia — o skończonym stopie metody — ma znaczenie głównie teoretyczne. Wynika to z dwóch przesłanek:
gdy
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
Jeśli przez
(6.1) |
(wtedy
Na mocy założenia istnieje macierz
(6.2) |
Jest to standardowe zadanie najmniejszych kwadratów,
gdzie
Na mocy wniosku 6.1, dowolny
(6.3) |
W szczególności, dla wielomianu
Dowód drugiej części twierdzenia, dotyczącej przypadku, gdy
Uzupełnij powyższy dowód.
Dla dowodu drugiego przypadku zauważmy, że
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
Jeśli po
Jeśli
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
Przy tym założeniu, można określić normę energetyczną indukowaną przez
Metodę gradientów sprzężonych, w skrócie CG (ang. conjugate gradients), zdefiniujemy początkowo w sposób niejawny. Kolejne przybliżenie
(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
(6.6) |
Ponadto, w arytmetyce dokładnej, metoda CG znajduje dokładne rozwiązanie w co najwyżej
Jest to natychmiastowy wniosek z twierdzenia 6.1, dla przypadku minimalizacji błędu gdy
Z powyższego lematu wynika (por. (6.6)), że
Aby wyznaczyć
Ponieważ
Oznaczając przez
mamy, że
gdzie
Gdyby baza przestrzeni
Wtedy kolejną iterację można wyznaczyć z jawnego wzoru:
(6.7) |
Zatem potrzebna jest nam skuteczna metoda wyznaczania bazy ortogonalnej w przestrzeni
Residuum na
Uzasadnienie pierwszej części łatwo wynika z układu równań normalnych (6.6), określającego pośrednio
Druga część wynika natychmiast z faktu, że
Z powyższego wynika, że jeśli
W dalszm ciągu założymy więc, że
(6.8) |
gdzie
(6.9) |
Obkładając (6.8) macierzą
(6.10) |
Potrzeba nam jeszcze zależności rekurencyjnej pozwalającej wyznaczyć
Mnożąc skalarnie tę równość przez
(6.11) |
i podobnie, że
(6.12) |
Ponieważ
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ń
Najpierw wykażemy, że
(6.13) |
Ponieważ z założenia
Z drugiej zaś strony, mnożąc (6.12) skalarnie przez
ponieważ
Teraz wyprowadzimy prostszą reprezentację współczynnika
Ponieważ z lematu o ortogonalności residuów
Stąd i z (6.13) już wynika wzór na współczynnik
Dla dużych
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
gdzie
Skorzystamy z własności (6.3). Zauważmy, że
oraz
zatem wystarczy oszacować wartości wybranego wielomianu
Rzeczywiście,
to
Należy więc oszacować
W szczególności więc, biorąc
Jeśli macierz
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
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 cond(A)
, albo wykorzystać estymator uwarunkowania dostępny w pcg
.
Sprawdź, modyfikując kod przykładu 6.1, czy jeśli
Chcąc porównywać cztery metody: Jacobiego, SOR, metodę najszybszego spadku oraz sprzężonych gradientów dla macierzy jednowymiarowego laplasjanu
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
(6.14) |
Zadanie minimalizacji (6.14) ma jednoznaczne rozwiązanie. Jeśli
(6.15) |
Ponadto, w arytmetyce dokładnej, metoda GMRES znajduje rozwiązanie
Jest to bezpośredni wniosek z twierdzenia 6.1, dla przypadku minimalizacji residuum gdy
Jeśli macierz
Z (6.4) wynika, że
więc wystarczy oszacować
Powyższe twierdzenie jest mało praktyczne, ze względu na to, że zazwyczaj nie znamy macierzy
Niech
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
(6.16) |
Wydawać by się mogło, że sprawa jest tu prosta, bo
Zwróćmy uwagę na to, że jeśli
for |
|
|
|
|
end |
(6.17) |
gdzie
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
(6.18) |
dla macierzy Hessenberga
Stąd dostajemy bazową wersję implementacji algorytmu GMRES:
while not stop |
{wykonaj ortogonalizację metodą Arnoldiego} |
|
|
|
|
{rozszerz bazę |
|
|
{znajdź minimum zadania najmniejszych kwadratów} |
|
{zwiększ licznik iteracji} |
|
end |
{rozwiąż ostatnie zadanie najmniejszych kwadratów} |
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,
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
Przeanalizuj zbieżność metody GMRES dla macierzy kwadratowej
gdzie
Pewną wadą metody GMRES jest konieczność zapamiętania na
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.