Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR. P. F. Góra

Podobne dokumenty
Wstęp do metod numerycznych Faktoryzacja QR i SVD. P. F. Góra

Wstęp do metod numerycznych Faktoryzacja macierzy. P. F. Góra

Wstęp do metod numerycznych Inne rodzaje faktoryzacji. P. F. Góra

Wstęp do metod numerycznych Równania macierzowe Faktoryzacja LU i Cholesky ego. P. F. Góra

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Wstęp do metod numerycznych Eliminacja Gaussa Faktoryzacja LU. P. F. Góra

Zaawansowane metody numeryczne

Wstęp do metod numerycznych Eliminacja Gaussa i faktoryzacja LU. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Metody dekompozycji macierzy stosowane w automatyce

Wstęp do metod numerycznych Algebraiczna metoda gradientów sprzężonych. P. F. Góra

Komputerowa analiza zagadnień różniczkowych 3. Numeryczne zagadnienie własne

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Wykład 14. Elementy algebry macierzy

Układy równań liniowych. Krzysztof Patan

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

10. Metody obliczeniowe najmniejszych kwadratów

Macierze. Rozdział Działania na macierzach

Zaawansowane metody numeryczne

A A A A A A A A A n n

3. Macierze i Układy Równań Liniowych

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

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

Wartości i wektory własne

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

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

1 Macierz odwrotna metoda operacji elementarnych

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

III TUTORIAL Z METOD OBLICZENIOWYCH

Wstęp do metod numerycznych Metody iteracyjne Algebraiczna metoda gradientów sprzężonych. P. F. Góra

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Zadania egzaminacyjne

Wstęp do metod numerycznych 6. Numeryczne zagadnienie własne. P. F. Góra

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

Wstęp do metod numerycznych 5. Numeryczne zagadnienie własne. P. F. Góra

Układy równań liniowych

3. Wykład Układy równań liniowych.

1 Układy równań liniowych

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

O MACIERZACH I UKŁADACH RÓWNAŃ

DB Algebra liniowa semestr zimowy 2018

1 Macierze i wyznaczniki

2. Układy równań liniowych

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

Wstęp do metod numerycznych Metody iteracyjne i metoda gradientów. P. F. Góra

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Własności wyznacznika

Metody numeryczne w przykładach

Algebra liniowa z geometrią

Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.

Obliczenia naukowe Wykład nr 8

13 Układy równań liniowych

Obliczenia naukowe Wykład nr 6

Wykład 5. Metoda eliminacji Gaussa

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Wstęp do metod numerycznych Zagadnienia wstępne Uwarunkowanie. P. F. Góra

, A T = A + B = [a ij + b ij ].

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

det[a 1,..., A i,..., A j,..., A n ] + det[a 1,..., ka j,..., A j,..., A n ] Dowód Udowodniliśmy, że: det[a 1,..., A i + ka j,..., A j,...

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Metody numeryczne. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/50

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Algebra liniowa II. Lista 1. 1 u w 0 1 v 0 0 1

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Układy równań liniowych i metody ich rozwiązywania

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Wstęp do metod numerycznych SVD, metody iteracyjne i metoda gradientów. P. F. Góra

"Bieda przeczy matematyce; gdy się ją podzieli na więcej ludzi, nie staje się mniejsza." Gabriel Laub

Wykład III Układy równań liniowych i dekompozycje macierzy

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

QR Algorithm for the Computation of the Eigenvalues

SZYBKI ALGORYTM Z MACIERZĄ SHURA DLA MACIERZY TRÓJDIAGONALNYCH

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wektory i wartości własne

Obliczenia iteracyjne

1. Wykład NWD, NWW i algorytm Euklidesa.

Macierze Lekcja I: Wprowadzenie

Zastosowania wyznaczników

Układy równań i nierówności liniowych

Wektory i wartości własne

Metody numeryczne II. Układy równań liniowych

1 Zbiory i działania na zbiorach.

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Metoda eliminacji Gaussa

Komputerowa analiza zagadnień różniczkowych 10. Dwupunktowe problemy brzegowe (BVP, Boundary Value Problems)

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

1 Pochodne wyższych rzędów

wszystkich kombinacji liniowych wektorów układu, nazywa się powłoką liniową uk ładu wektorów

Transkrypt:

Wstęp do metod numerycznych Faktoryzacja Cholesky ego i QR P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018

Faktoryzacja Cholesky ego Niech A R N N będzie symetryczna, A T = A, i dodatnio określona: x R N, x 0: x T Ax > 0. (1) Wówczas istnieje alternatywa dla faktoryzacji LU: faktoryzacja postaci A = CC T, (2) gdzie C jest macierza trójkatn a dolna o elementach diagonalnych większych od zera. Znalezienie faktoryzacji Cholesky ego jest mniej więcej o połowę szybsze, niż znalezienie faktoryzacji LU tej samej macierzy. Copyright c 2010-18 P. F. Góra 3 2

Najprostszy algorytm jest bardzo podobny do algorytmu Doolittle a: c 11 c 21 c 22 c 31 c 32 c 33 c 41. c 42. c 43. c 44.... } {{ } C c 11 c 21 c 31 c 41... c 22 c 32 c 42... c 33 c 43... c 44...... } {{ } C T = a 11 a 21 a 31 a 41... a 21 a 22 a 32 a 42... a 31 a 32 a 33 a 43... a 41 a 42 a 43 a 44.......... } {{ } A (3) Pierwsza kolumna macierzy A daje c 2 11 = a 11 c 21 c 11 = a 21 c 31 c 11 = a 31 c 41 c 11 = a 41................ Z pierwszego z tych równań obliczamy c 11, z kolejnych c 21, c 31 itd. (4) Copyright c 2010-18 P. F. Góra 3 3

Druga kolumna daje c 11 c 21 = a 21 c 2 21 + c2 22 = a 22 c 31 c 21 + c 32 c 22 = a 32 c 41 c 21 + c 42 c 22 = a 42.......................... Pierwsze z równań (5) jest identyczne z drugim z równań (4). Drugie z równań (5) pozwala na wyliczenie c 22. Dalsze równania pozwalaja wyliczyć c 32, c 42 itd. I tak dalej. Z uwagi na symetrię problemu, przy obliczaniu faktoryzacji Cholesky ego nie jest możliwy wybór elementów podstawowych. Z uwagi na kolejność obliczeń, obliczone czynniki Cholesky ego można przechowywać w tym samym miejscu, co elementy pierwotnej macierzy A. Copyright c 2010-18 P. F. Góra 3 4 (5)

Faktoryzacja LDL Jeżeli macierz spełnia założenia potrzebne do przeprowadzenia faktoryzacji Cholesky ego, można także znaleźć jej inna faktoryzację: A = L D L T, (6) gdzie L jest macierza trójkatn a dolna o tej własności, że i: l ii = 1, natomiast D jest macierza diagonalna o dodatnich elementach. Zaleta faktoryzacji LDL w stosunku do faktoryzacji Cholesky ego jest to, iż do znalezienia LDL nie potrzeba pierwiastkowań. Copyright c 2010-18 P. F. Góra 3 5

Macierze rzadkie W wielu praktycznych zastosowaniach występuja macierze rzadkie, to znaczy takie, w których liczba elementów niezerowych rośnie wolniej niż N 2, gdzie N jest wymiarem macierzy. Na przykład w macierzy trójdiagonalnej liczba niezerowych elementów skaluje się jak O(3N), a w macierzy pasmowej o P dodatkowych diagonalach jak O((2P + 1)N). Możliwe sa także inne struktury macierzy rzadkich. Copyright c 2010-18 P. F. Góra 3 6

Macierze rzadkie i efektywność numeryczna Dla efektywności numerycznej jest niesłychanie ważne, aby zastosowany algorytm uwzględniał strukturę macierzy, tak, aby nie trzeba było wykonywać redundantnych mnożeń przez zero i dodawań zera, a nawet żeby nie przechodzić przez zerowe elementy. Dla macierzy trójdiagonalnej faktoryzacji LU dokonujemy w czasie liniowym, O(N), ale za to niemożliwy jest wybór elementu podstawowego. Jeżeli możliwa jest faktoryzacja Cholesky ego macierzy M-diagonalnej, także jej czynnik Cholesky ego będzie M-diagonalny. Może jednak pojawić się niekorzystne zjawisko, zwane wypełnieniem: Jeżeli sama macierz ma zera wewnatrz pasma, jej czynnik Cholesky ego nie musi ich mieć, co może bardzo niekorzystnie wpłynać na wydajność numeryczna. Copyright c 2010-18 P. F. Góra 3 7

Przykład Czynnik Cholesky ego następujacej macierzy rzadkiej.... (niewypełnione elementy sa zerami) będzie macierza pełna. (7) Copyright c 2010-18 P. F. Góra 3 8

Minimum Degree Algorithm Niech A R N N będzie macierza posiadajac a faktoryzację Cholesky ego, dla której zachodzi niebezpieczeństwo pojawienia się wypełnienia. Wypełnienie zależy od struktury macierzy, nie od wartości jej poszczególnych elementów. Zamiast równania Ax = b (8a) możemy rozwiazywać równanie ( PAP T ) (Px) = Pb (8b) gdzie P jest macierza permutacji. (Jest to macierz ortogonalna.) Jeśli A jest symetryczna i dodatnio określona, także macierz PAP T jest symetryczna i dodatnio określona, a więc posiada ona swoja faktoryzację Cholesky ego. Macierz P staramy się dobrać tak, aby wypełnienie w czynniku Cholesky ego spermutowanej macierzy było możliwie małe. Problem Copyright c 2010-18 P. F. Góra 3 9

znalezienia permutacji takiej, aby wypełnienie było najmniejsze z możliwych jest NP-zupełny, w praktyce do poszukiwania P posługujemy się algorytmami heurystycznymi. Z historycznych powodów, z uwagi na zwia- zek pomiędzy macierzami symetrycznymi a grafami (struktura zerowychniezerowych elementów pozadiagonalnych macierzy symetrycznej odpowiada macierzy sasiedztwa pewnej klasy grafów nieskierowanych), algorytmy te nazywa się minimum degree algorithms. Przeglad tych algorytmów wykracza, niestety, poza zakres wykładu ze wstępu do metod numerycznych. Jeżeli znalezienie efektywnej permutacji nie wydaje się tanie i wygodne, można rozważyć użycie zupełnie innej klasy algorytmów, na przykład algorytmów iteracyjnych. Copyright c 2010-18 P. F. Góra 3 10

Przykład Macierz po prawej stronie stanowi optymalna permutację macierzy po lewej. W obu macierzach 32 elementy (dokładnie połowa) jest pusta. Gdyby zastosować faktoryzację Cholesky ego do macierzy po lewej, czynnik trójkatny miałby tylko 4 (zamiast 16) elementów zerowych. Czynnik Cholesky ego macierzy po prawej będzie miał 13 elementów zerowych (trzy elementy się wypełnia). Copyright c 2010-18 P. F. Góra 3 11

Faktoryzacja QR Innym rodzajem faktoryzacji jest faktoryzacja QR: dana macierz A R N N przedstawiam w postaci iloczynu A = Q R, (9) gdzie Q jest macierza ortogonalna, a R jest macierza trójkatn a górna. Złożoność obliczeniowa faktoryzacji QR wynosi dla macierzy pełnych O(N 3 ), czyli tyle samo, co faktoryzacji LU, jednak współczynnik przy wyrazie wiodacym jest gorszy niż dla LU. QR nie jest więc metoda z wyboru rozwiazywania układów równań liniowych. Jeśli jednak z jakichś względów Copyright c 2010-18 P. F. Góra 3 12

faktoryzację QR możemy łatwo (lub musimy) obliczyć, układ równań liniowych rozwiazujemy jak następuje: Ax = b (10a) QRx = b (10b) Rx = Q T b (10c) Koszt obliczeniowy przejścia od (10b) do (10c) wynosi O(N 2 ). Równanie (10c) rozwiazujemy metoda backubstitution, co także kosztuje O(N 2 ). Jest to więc koszt mały w porównaniu z dokonaniem samej faktoryzacji. Pozostaje pytanie: Jak dokonać tej faktoryzacji? Copyright c 2010-18 P. F. Góra 3 13

Transformacja Householdera Niech u R N, u 0. Tworzymy macierz W sposób oczywisty P T = P. Obliczmy P 2 = ( P = I 2 uut u 2. (11) I 2 uut u 2 ) ( I 2 uut u 2 u 2 {}}{ = I 2 uut u 2 2 uut u 2 + 4u u T u u T u 4 = I 4 uut u 2 + 4 uut u 2 = I (12) Copyright c 2010-18 P. F. Góra 3 14 )

Skoro P T = P oraz P 2 = I, P T = P 1 : macierz (11) jest macierza symetryczna, rzeczywista oraz ortogonalna. Macierz taka nazywamy ortogonalna macierza rzutowa. Niech teraz w (11) u = x x ê 1, (13) gdzie ê 1 jest pierwszym wektorem jednostkowym. Macierz (11) wraz z (13) nazywam macierza Householdera. Obliczam Px = x 2uuT x u 2. (14a) Zauważmy, że u T x = x T x x ê T 1 x = x 2 x x 1, gdzie x 1 jest pierwsza składowa wektora x. Copyright c 2010-18 P. F. Góra 3 15

Analogicznie u 2 = (x x ê 1 ) T (x x ê 1 ) = x T x x x 1 x x 1 + x 2 = 2 ( x 2 x x 1 ). Wobec tego ) Px = x 2u ( x 2 x x 1 2 ( x 2 ) = x u = ± x ê 1. (14b) x x 1 Efektem działania macierzy Householdera na wskazany wektor jest wyzerowanie wszystkich jego składowych, poza pierwsza, i przelanie całej jego długości na pierwsza składowa. Złożoność obliczeniowa tej procedury wynosi O(N). Copyright c 2010-18 P. F. Góra 3 16

Faktoryzacja QR Niech A R N N. Niech P 1 oznacza transformację Householdera zbudowana na pierwszej kolumnie macierzy A. Otrzymuję P 1....... P 1 A = A 1 (15) =...... Transformacja Householdera P 1 wyzerowała pierwsza kolumnę macierzy A, za wyjatkiem elementu diagonalnego. Złożoność obliczeniowa tego kroku wynosi O(N 2 ) (transformacja Householdera działa na N kolumn). Copyright c 2010-18 P. F. Góra 3 17

Niech teraz P 2 = 1 0 0... 0 0 0 0 (N 1) P 2 0 (16) gdzie (N 1) P 2 R (N 1) (N 1) jest transformacja Householdera, zbudowana na drugiej kolumnie macierzy A 1, poczynajac od elementu diagonalnego w dół. Otrzymujemy P 2 P 1 A = P 2 A 1 = A 2 =..... (17) Copyright c 2010-18 P. F. Góra 3 18

Następnie definiuję P 3 = 1 0 0 0... 0 0 1 0 0... 0 0 0 0 0 0 0 (N 2) P 3 0 0 (18) gdzie (N 2) P 3 R (N 2) (N 2) jest transformacja Householdera, zbudowana na trzeciej kolumnie macierzy A 2, poczynajac od elementu diagonalnego w dół. Stojaca w lewym górnym rogu macierz jednostkowa służy do tego, żeby nie zepsuć struktury, która osiagnęlimy w poprzednich kro- Copyright c 2010-18 P. F. Góra 3 19

kach. Otrzymujemy P 3 P 2 P 1 A = P 3 A 2 = A 3 = Widać, że po N 1 krokach osiagnę R =........ (19) = P N 1 P N 2 P }{{ 1 } A (20) Q T R jest macierza trójkatn a górna. Ponieważ macierze P i sa ortogonalne, ich iloczyn, oznaczony przez Q T, także jest macierza ortogonalna. Nie Copyright c 2010-18 P. F. Góra 3 20

musimy zapamiętywać poszczególnych macierzy P i, wystarczy zapamiętać ich iloczyn. Otrzymaliśmy zatem dla dowolnej macierzy kwadratowej faktoryzację na macierz ortogonalna i trójkatn a górna: A = QR, (21) czyli poszukiwana faktoryzację QR. Nie jest to jedyny algorytm pozwalajacy uzyskać faktoryzację QR, pokazuje jednak, że jest ona w ogólnym (czyli dowolnym) wypadku możliwa. Copyright c 2010-18 P. F. Góra 3 21

Obroty Givensa Transformacja Householdera służy do zerowania wielu składowych jakiegoś wektora. Jeżeli chcemy selektywnie wyzerować jakieś składowe lub jeśli interesujacy nas wektor ma jakaś szczególna postać bardziej efektywne od transformacji Householdera będa obroty Givensa. Copyright c 2010-18 P. F. Góra 3 22

Macierz Givensa ma postać (niezaznaczone elementy sa zerami) G(i, j) = 1... 1 c s... 1... s c 1... 1 (22) gdzie wyróżnione elementy znajduja sia na pozycjach, odpowiednio, (i, i), (i, j), (j, i), (j, j). Przyjmujemy, że c = cos θ, s = sin θ. Macierz (22) jest macierza obrotu w płaszczyźnie (x i, x j ) o kat θ przeciwnie do ruchu wskazówek zegara. Jest to macierz ortogonalna. Copyright c 2010-18 P. F. Góra 3 23

Niech x będzie pewnym wektorem i niech y = G(i, j)x. Składowe wektora y wynosza y k = cx i + sx j sx i + cx j x k k = i k = j poza tym Zażadajmy, aby y j = 0. Widać, że musi zachodzić (23) c = x i x 2 i + x 2 j, s = x j x 2 i + x 2 j. (24) Obrót Givensa (22) wraz z warunkami (24) zeruje j-ta składowa wybranego wektora. Składowa i-ta przybiera wartość x 2 i + x2 j. Copyright c 2010-18 P. F. Góra 3 24

Faktoryzacja QR macierzy trójdiagonalnej symetrycznej Rozpatrzmy macierz A R N N, trójdiagonalna symetryczna A = a b b d e e f g g h l......... (25) Zadziałajmy na nia macierza Givensa taka, aby zerowała drugi element pierwszej kolumny G 1 = c 1 s 1 s 1 c 1 1 1... (26) Copyright c 2010-18 P. F. Góra 3 25

A 1 = G 1 A = a 2 + b 2 ab+bd a 2 +b 2 ad b 2 a 2 +b 2 be a 2 +b 2 ae a 2 +b 2 e f g g h l......... (27) Wiersze macierzy A 1 poczawszy od trzeciego w dół zgadzaja się z wierszami macierzy A. Obliczenie macierzy A 1 wymaga wykonania stałej, niezależnej od rozmiaru macierzy, liczby operacji. W wyniku otrzymaliśmy macierz, w której poddiagonalne elementy pierwszej kolumny sa zerami. Copyright c 2010-18 P. F. Góra 3 26

Macierz A 1 mnożymy przez macierz Givensa G 2 = 1 c 2 s 2 s 2 c 2 1... (28) dobrana tak, aby zerowała trzeci element drugiej kolumny macierzy A 1. Pierwszy wiersz i pierwsza kolumna nie zmieniaja się, podobnie jak wiersze poczawszy od czwartego. W rezultacie macierz A 2 = G 2 A 1 = G 2 G 1 A ma zera w poddiagonalnych miejscach dwu pierwszych kolumn. Ten krok także wymaga stałej, niezależnej od rozmiaru macierzy, liczby operacji. W kolejnym kroku macierz A 2 mnożymy przez taka macierz Givensa, która wyzeruje czwarty element trzeciej kolumny. I tak dalej. Copyright c 2010-18 P. F. Góra 3 27

W ten sposób, po N 1 krokach, ponoszac koszt numeryczny O(N) (stały koszt na krok, N kroków), otrzymujemy G N 1 G 2 G 1 A = R =........., (29a) czyli A = G T } 1 GT 2 {{ GT N 1 R } Q (29b) Macierz Q jest ortogonlna. Macierz R jest trójkatna górna (tak naprawdę ma ona tylko dwie niezerowe diagonale nad diagonala główna). Widzimy, że (29b) jest faktoryzacja QR macierzy trójdiagonalnej symetrycznej. Copyright c 2010-18 P. F. Góra 3 28

Zastosowanie do rozwiazywania układu równan liniowych Jeżeli chcemy użyć obrotów Givensa do rozwiazania układu równań liniowych Ax = b, (30) gdzie A jest trójdiagonalna macierza symetryczna, postępujac jak poprzednio otrzymujemy kolejno G 1 Ax = G 1 b (31a) G 2 G 1 Ax = G 2 G 1 b (31b)...... G N 1 G 2 G 1 Ax Rx = G N 1 G 2 G 1 b. (31c) Oczywiście istotne jest tylko równanie (31c) lewych stron poprzednich równań nie musimy wyliczać. Każde kolejne mnożenie po stronie prawej Copyright c 2010-18 P. F. Góra 3 29

wykonujemy w stałym czasie, a więc do postaci Rx = b dochodzimy w czasie O(N). To równanie rozwiazujemy metoda backsubstitution, co, z uwagi na szczególna postać macierzy R, także da się wykonać w czasie liniowym. Przykład ten pokazuje, że możemy odnieść duży zysk na złożoności obliczeniowej, jeśli tylko dobierzemy odpowiedni algorytm odpowiadajacy strukturze w tym wypadku rzadkości i symetryczności macierzy. Uwaga: Skumulowanej macierzy Givensa Q nie musimy wyliczać w sposób jawny gdybyśmy to chcieli zrobić, wymagałoby to O(N 2 ) operacji. Copyright c 2010-18 P. F. Góra 3 30

Wzór Shermana-Morrisona Twierdzenie: Niech A R N N, det A 0 oraz u, v R N. Niech A 1 = A + uv T. Wówczas A 1 1 = A 1 A 1 uv T A 1 1 + v T A 1 u. (32) Zauważmy, że ponieważ det A 0, macierz A 1 istnieje. Ponadto wyrażenie v T A 1 u jest liczba (skalarem). Wzór ten jest przydatny w przypadku, gdy chcemy wyliczyć A 1 1, gdzie A 1 jest pewna szczególna modyfikacja macierzy A, a odwrotnośc A 1 znamy. Copyright c 2010-18 P. F. Góra 3 31

Przykład Niech u = v = [1, 0, 0, 0, 1] T. Wówczas uv T = 1 0 0 0 1 [1 0 0 0 1] = 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 (33) Niech teraz A = 3 1 0 0 0 1 4 1 0 0 0 1 4 1 0 0 0 1 4 1 0 0 0 1 3, A 1 = A + uv T = 4 1 0 0 1 1 4 1 0 0 0 1 4 1 0 0 0 1 4 1 1 0 0 1 4. (34) Copyright c 2010-18 P. F. Góra 3 32

Dowód. = I = I + ( A + uv T ) ( A 1 A 1 uv T A 1 1 + v T A 1 u = AA 1 1 1 + v T A 1 u AA 1 uv T A 1 + uv T A 1 1 1 + v T A 1 u u } vt A{{ 1 u} v T A 1 to jest liczba! 1 1 + v T A 1 u uvt A 1 + uv T A 1 vt A 1 u 1 + v T A 1 u uvt A 1 ( 1 1 1 + v T A 1 u vt A 1 u 1 + v T A 1 u ) ) uv T A 1 = I. (35) Copyright c 2010-18 P. F. Góra 3 33

Algorytm Shermana-Morrisona Wzór Shermana-Morrisona (32) pozwala skonstruować odwrotność macierzy A 1 jeśli znamy odwrotność A. Jednak w praktyce prawie nigdy nie konstruujemy jawnej odwrotności macierzy! Jak więc zastosować ten wzór? Zauważmy, że zapewne chcemy obliczyć jakieś A 1 1 b, gdzie b jest znanym wektorem, przy założeniu, że łatwo potrafimy obliczyć A 1 b. Interesuje nas znalezienie ( w = A 1 1 b = A 1 A 1 uv T A 1 ) 1 + v T A 1 b (36) u Copyright c 2010-18 P. F. Góra 3 34

Algortym wyglada następujaco: (a) Rozwiaż równanie Az = b (37a) (b) Rozwiaż równanie Aq = u (37b) (c) Oblicz w = z vt z 1 + v T q q. (37c) Problem sprowadza się więc do rozwiazania dwu równań (37a),(37b) z taka sama macierza, które umiemy szybko rozwiazać, gdyż na przykład znamy faktoryzację macierzy A. Zauważmy, że v T A 1 b = v T z jest liczba. Copyright c 2010-18 P. F. Góra 3 35

Przykład (c.d.) Pierwsza z macierzy (34) jest macierza symetryczna, dodatnio określona i trójdiagonalna, a więc jej czynnik Cholesky ego ma tylko dwie niezerowe diagonale, a koszt jego wyliczenia jest rzędu O(N). Czynnik Cholesky ego drugiej z tych macierzy jest pełna macierza trójkatn a (nastapi wypełnienie) i koszt jego wyliczenia jest rzędu O(N 3 ) (wyobraźmy sobie, że zamiast o macierzach 5 5, mówimy o macierzach 1000 1000). Zastosowanie algorytmu (37) redukuje problem do znalezienia i dwukrotnego zastosowania rzadkiego czynnika Cholesky ego pierwszej z macierzy (34). Da się to zrobić w czasie liniowym. Copyright c 2010-18 P. F. Góra 3 36