W przypadku jednowymiarowym, metoda siecznych:
jest interesującą alternatywą dla metody Newtona: jej zbieżność jest superliniowa (dokładniej: wykładnicza z wykładnikiem — a więc tylko trochę gorsza niż metody stycznych), a za to istotny koszt jednej iteracji ogranicza się do wyznaczenia tylko jednej nowej wartości funkcji! (Pochodna jest niepotrzebna).
Uogólnienie pomysłu metody siecznych na przypadek wielowymiarowy tak, by zachować jej dwie główne cechy: superliniową zbieżność oraz niski koszt iteracji (nie wymagający w szczególności wyznaczania pochodnej ani obliczania dodatkowych wartości funkcji) nie jest trywialne i zostało zrealizowane w metodzie Broydena. Iterację Broydena określimy wzorem
gdzie (lub jest jej przybliżeniem wyznaczonym za pomocą ilorazów różnicowych), a kolejne macierze wyznaczamy według wzoru
(Zauważmy, że jest jawnie wyznaczane w trakcie algorytmu, gdyż jest rozwiązaniem równania poprawki, .)
Jak widzimy z powyższej definicji, koszt jednej iteracji metody Broydena jest niewygórowany. Rzeczywiście, jeśli z poprzedniego kroku znamy rozkład LU lub QR macierzy , to wyznaczenie rozkładu , która jest postaci , jest zadaniem wyznaczenia rozkładu dla modyfikacji macierzy rzędu 1 — a na to są znane (tanie!) algorytmy [7], [10], działające kosztem flopów14W metodzie Broydena nie ma więc — wbrew pozorom — potrzeby jawnego wyznaczania macierzy !, o czym szerzej mówimy w poniższym rozdziale.
Oczywiście, gdybyśmy tylko skorzystali wprost ze wzoru
to co prawda wyznaczenie kosztowałoby nas tylko flopów, ale za to rozkład macierzy musiałby nas kosztować . Jednak, jako że macierz różni się od tylko o macierz rzędu jeden, będziemy mogli od razu przykładać odwrotność macierzy do wektora na podstawie rozkładu macierzy , kosztem jedynie .
Algorytm działający w oparciu o aktualizację macierzy odwrotnej do może być mniej stabilny numerycznie od algorytmu używającego aktualizacji rozkładu QR (zob. [10, 10.3.1, Algorytm 2]) macierzy i dlatego wskazuje się sposoby kontrolowania przebiegu pracy tej metody [5], którymi tutaj nie będziemy się zajmować.
Aby tanio odwracać kolejne macierze , wykorzystamy wzór Shermana–Morrisona, którego wyprowadzeniu było poświęcone ćwiczenie 5.24.
Niech , gdzie jest macierzą nieosobliwą oraz . jest nieosobliwa wtedy i tylko wtedy, gdy i wówczas
U nas
gdzie , . Oznaczając dodatkowo
ze wzoru Shermana–Morrisona mamy więc
(11.1) |
Wydawałoby się więc, że by skorzystać z powyższego wzoru, należałoby pamiętać dodatkowe wektory dla . W rzeczywistości jednak możemy dalej wymasować powyższe zależności i wyeliminować te wektory, ograniczając się jedynie do pamiętania sekwencji poprawek .
Rzeczywiście, w metodzie Broydena interesuje nas przecież nie sama macierz , tylko nowa wartość poprawki, . Tymczasem, korzystając z definicji i ,
Stąd dostajemy elegancką zależność , którą możemy podstawić z powrotem do (11.1) i otrzymać
(11.2) |
Na tej podstawie ( występuje po obu stronach tej równości!) konkludujemy, że
(11.3) |
Wykaż, że jeśli jest nieosobliwa, to wyrażenie pojawiające się w mianowniku wzoru na jest różne od zera.
Zauważ, że i skorzystaj ze wzoru Shermana–Morrisona.
Zaimplementuj metodę Broydena z zastosowaniem wzoru Shermana–Morrisona.
Aby sensownie wyznaczać , musimy zastanowić się chwilę, jak wyznaczać wektor
występujący we wzorze (11.3). Zauważmy, że na mocy (11.1),
a więc wyznaczenie daje się zrealizować w pętli polegającej na kolejnym mnożeniu przez macierze postaci . Pamiętajmy, by macierzy postaci nigdy nie formować explicite, a w zamian wyznaczać iloczyn zgodnie z wzorem
co będzie kosztowało tylko flopów. Szkielet algorytmu mógłby więc wyglądać następująco:
; k = 0; |
; |
wyznacz rozkład LU lub QR macierzy ; |
rozwiąż, korzystając z gotowego rozkładu, ; |
while not stop do |
begin |
; |
oblicz ; |
k = k+1; |
rozwiąż, korzystając z gotowego rozkładu, ; |
for j = 0 to k-1 |
begin |
; |
end |
; |
; |
end |
Jak widać, musimy pamiętać czynniki rozkładu (samego już nie) oraz wszystkie pośrednie poprawki .
Poniższe twierdzenie gwarantuje superliniową zbieżność metody Broydena nawet w przypadku, gdy .
Przy standardowych założeniach, istnieją oraz (dostatecznie małe) takie, że jeśli oraz , to metoda Broydena startująca z i jest dobrze określona oraz superliniowo.
Zobacz np. [9].
∎Wykaż, że jeśli oraz jest dostatecznie blisko , to powyższe twierdzenie zachodzi.
To oczywiste, gdyż
Biorąc , z twierdzenia o zbieżności metody Broydena i ewentualnie dodatkowo zmniejszając tak, by jednocześnie , dostajemy
co gwarantuje spełnienie wszystkich założeń twierdzenia 11.1.
Wykaż, że macierze generowane w metodzie Broydena spełniają równanie siecznych,
Z definicji
więc mnożąc przez mamy
Niech oraz przy czym . Wtedy
jest osiągane dla
Znaczy to, że metoda Broydena generuje ciąg macierzy taki, że jest najbliższe w normie spektralnej wśród wszystkich macierzy spełniających równanie siecznych
Wystarczy pokazać, że dla dowolnej innej macierzy spełniającej , norma różnicy nie jest mniejsza niż dla . Mamy
skąd
Ostatnia równość wynika z faktu, że .
Na zakończenie wspomnijmy, że — podobnie jak w przypadku modyfikacji metody Newtona — rozsądne jest wykonać co pewną liczbę iteracji restart metody Broydena, to znaczy: uruchomić procedurę na nowo, biorąc za punkt początkowy ostatnio wyznaczone przybliżenie. W ten sposóby spowodujemy aktualizację macierzy pochodnej (tej z ,,zerowego” kroku) oraz zmniejszymy liczbę czynników iloczynu macierzy rzędu jeden koniecznych do obliczenia poprawki.
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.