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

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

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

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

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

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

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

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

Zaawansowane metody numeryczne

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

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

Metody dekompozycji macierzy stosowane w automatyce

10. Metody obliczeniowe najmniejszych kwadratów

Rozwiazywanie układów równań liniowych. Ax = b

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

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

Układy równań liniowych. Krzysztof Patan

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

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

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

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

Układy równań liniowych

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

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

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

Wykład 14. Elementy algebry macierzy

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

Metody numeryczne Wykład 4

Wstęp do metod numerycznych Faktoryzacja SVD Metody iteracyjne. P. F. Góra

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

Zaawansowane metody numeryczne

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

Własności wyznacznika

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Wykład 5. Metoda eliminacji Gaussa

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

Zastosowania wyznaczników

Zadania egzaminacyjne

13 Układy równań liniowych

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

1 Macierz odwrotna metoda operacji elementarnych

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

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

1 Macierze i wyznaczniki

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

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Macierze. Rozdział Działania na macierzach

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

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

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

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

Obliczenia naukowe Wykład nr 6

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

O MACIERZACH I UKŁADACH RÓWNAŃ

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

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

III TUTORIAL Z METOD OBLICZENIOWYCH

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

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

Układy równań liniowych

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

Obliczenia naukowe Wykład nr 8

Algebra liniowa z geometrią

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

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

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

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

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

1 Zbiory i działania na zbiorach.

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

Programowanie liniowe metoda sympleks

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

= Zapiszemy poniższy układ w postaci macierzy. 8+$+ 2&=4 " 5 3$ 7&=0 5$+7&=4

3. FUNKCJA LINIOWA. gdzie ; ół,.

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

A A A A A A A A A n n

2. Układy równań liniowych

Zaawansowane metody numeryczne

Analiza matematyczna i algebra liniowa Macierze

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },

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

Programowanie celowe #1

Wyk lad 8 macierzy i twierdzenie Kroneckera-Capellego

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

φ(x 1,..., x n ) = a i x 2 i +

Komputerowa analiza zagadnień różniczkowych 3. Metody Eulera, metody punktu środkowego i metody trapezowe

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

7 zaokr aglamy do liczby 3,6. Bład względny tego przybliżenia jest równy A) 0,8% B) 0,008% C) 8% D) 100

Wartości i wektory własne

Liczby zmiennoprzecinkowe i błędy

Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.

Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 6

DB Algebra liniowa semestr zimowy 2018

Wyznaczniki 3.1 Wyznaczniki stopni 2 i 3

Programowanie liniowe metoda sympleks

Praca domowa - seria 6

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

Wyk lad 11 1 Wektory i wartości w lasne

Teoretyczne podstawy programowania liniowego

Układy równań. Kinga Kolczyńska - Przybycień 22 marca Układ dwóch równań liniowych z dwiema niewiadomymi

Transkrypt:

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

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. (1) 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 Copyright c 2010-12 P. F. Góra 4 2 ) (2)

Skoro P T = P oraz P 2 = I, P T = P 1 : macierz (1) jest macierza symetryczna, rzeczywista oraz ortogonalna. Macierz taka nazywamy ortogonalna macierza rzutowa. Niech teraz w (1) u = x x ê 1, (3) gdzie ê 1 jest pierwszym wektorem jednostkowym. Macierz (1) wraz z (3) nazywam macierza Householdera. Obliczam Px = x 2uuT x u 2. (4a) 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-12 P. F. Góra 4 3

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. (4b) 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-12 P. F. Góra 4 4

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 (5) =...... 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-12 P. F. Góra 4 5

Niech teraz P 2 = 1 0 0... 0 0 0 0 (N 1) P 2 0 (6) 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 =..... (7) Copyright c 2010-12 P. F. Góra 4 6

Następnie definiuję P 2 = 1 0 0 0... 0 0 1 0 0... 0 0 0 0 0 0 0 (N 2) P 3 0 0 (8) 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-12 P. F. Góra 4 7

kach. Otrzymujemy P 3 P 2 P 1 A = P 3 A 2 = A 3 = Widać, że po N 1 krokach osiagnę R =........ (9) = P N 1 P N 2 P }{{ 1 } A (10) 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-12 P. F. Góra 4 8

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. (11) 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 faktoryzację QR możemy łatwo (lub musimy) obliczyć, układ równań linio- Copyright c 2010-12 P. F. Góra 4 9

wych rozwiazujemy jak następuje: Ax = b (12a) QRx = b (12b) Rx = Q T b (12c) Koszt obliczeniowy przejścia od (12b) do (12c) wynosi O(N 2 ). Równanie (12c) rozwiazujemy metoda backubstitution, co także kosztuje O(N 2 ). Jest to więc koszt mały w porównaniu z dokonaniem samej faktoryzacji. Copyright c 2010-12 P. F. Góra 4 10

Singular Value Decomposition Twierdzenie 1. Dla każdej macierzy A R M N, M N, istnieje rozkład A = U [diag(w i )] V T, (13) gdzie U R M N jest macierza kolumnowo ortogonalna, V R N N jest macierza ortogonalna oraz w i R, i = 1,..., N. Rozkład ten nazywamy rozkładem względem wartości osobliwych (Singular Value Decomposition, SVD). Jeżeli M = N, macierz U jest macierza ortogonalna. Copyright c 2010-12 P. F. Góra 4 11

Jadro i zasięg operatora Niech A R M N. Jadrem operatora A nazywam Ker A = {x R N : Ax = 0}. (14) Zasięgiem operatora A nazywam Range A = {y R M : x R N : Ax = y}. (15) Jadro i zasięg operatora sa przestrzeniami liniowymi. Jeśli M = N <, dim (Ker A) + dim (Range A) = N. Copyright c 2010-12 P. F. Góra 4 12

Sens SVD Sens SVD najlepiej widać w przypadku, w którym co najmniej jedna z wartości w i = 0. Dla ustalenia uwagi przyjmijmy w 1 = 0, w i 1 0. Po pierwsze, co to jest z = [z 1, z 2,..., z n ] T = V T x? Ponieważ V jest macierza ortogonalna, z jest rozkładem wektora x w bazie kolumn macierzy V. Korzystajac z (13), dostajemy 0 Ax = U [diag(w i )] V T x = U [diag(0, w 2,..., w N )] z = U w 2 z 2.. (16) w N z N Wynikiem ostatniego mnożenia będzie pewien wektor z przestrzeni R M. Ponieważ pierwszym elementem wektora [0, w 2 z 2,..., w N z N ] T jest zero, wynik ten nie zależy od pierwszej kolumny macierzy U. Widzimy zatem, że kolumny macierzy U, odpowiadajace niezerowym współczynnikom w i, stanowia bazę w zasięgu operatora A. Co by zaś się stało, gdyby x był równoległy do wektora stanowiacego pierwsza kolumnę V? Wówczas z = 0, a wobec tego Ax = 0. Ostatecznie więc widzimy, że kolumny macierzy V, odpowiadajace zerowym współczynnikom w i, stanowia bazę w jadrze operatora A. Copyright c 2010-12 P. F. Góra 4 13

SVD i odwrotność macierzy Niech A R N N. Zauważmy, że det A = N i=1 w i, a zatem det A = 0 wtedy i tylko wtedy, gdy co najmniej jeden w i = 0. Niech det A 0. Wówczas równanie Ax = b ma rozwiazanie postaci x = A 1 b = V [ diag(w 1 i ) ] U T b. (17) Niech teraz det A = 0. Równanie Ax = b także ma rozwiazanie, o ile tylko b Range A. Rozwiazanie to ma postać x = à 1 b, gdzie gdzie à 1 = V [ diag( w 1 i ) ] U T. (18a) w 1 i = { w 1 i gdy w i 0, 0 gdy w i = 0. (18b) Copyright c 2010-12 P. F. Góra 4 14

SVD i macierze osobliwe Wróćmy jeszcze raz do problemu osobliwych (z zerowym wyznacznikiem głównym) układów równań, wspomnianego już na stronie 14. Jeżeli det A = 0, układ równań z cała pewnościa nie ma jednoznacznego rozwiazania. Może jednak mieć rozwiazanie (a nawet nieskończenie wiele rozwiazań), jeżeli prawa strona należy do zasięgu A. Jest to równoważne warunkowi, że wszystkie wyznaczniki poboczne we wzorach Cramera zeruja się. Wówczas rozwiazaniem układu równań jest każdy wektor postaci x = à 1 b + x 0, (19) gdzie à 1 jest pseudoodwrotnościa dana przez (18), zaś x 0 KerA jest dowolnym wektorem należacym do jadra. Rozwiazanie z x 0 = 0 ma spośród nich najmniejsza normę. Zauważmy, że na wektory należace do zasięgu, pseudoodwrotność działa jak zwykła odwrotność macierzy. Copyright c 2010-12 P. F. Góra 4 15

Jeżeli b nie należy do zasięgu, wyrażenie (19) z x 0 = 0 daje rozwiazanie przybliżone i najlepsze w sensie najmniejszych kwadratów, co niekiedy jest bardzo użyteczne. Copyright c 2010-12 P. F. Góra 4 16

SVD i współczynnik uwarunkowania Twierdzenie 2. Jeżeli macierz A R N N posiada rozkład (13) oraz det A 0, jej współczynnik uwarunkowania spełnia κ = max w i i min w i. (20) i Jeśli macierz jest źle uwarunkowana, ale formalnie odwracalna, numeryczne rozwiazanie równania Ax = b może być zdominowane przez wzmocniony bład zaokraglenia. Aby tego uniknać, często zamiast (bezużytecznego!) rozwiazania dokładnego (17), używa się przybliżonego (i użytecznego!) rozwiazania w postaci (18) z następujac a modyfikacja w 1 i = gdzie τ jest pewna zadana tolerancja. { w 1 i gdy w i > τ, 0 gdy w i τ, (21) Copyright c 2010-12 P. F. Góra 4 17

Nadokreślone układy równań Niech A R M N, M > N, b R M, x R N. Wówczas układ równań Ax = b (22) ma więcej równań, niż niewiadomych. Układ taki, zwany nadokreślonym, w ogólności nie ma rozwiazań. Za pomoca SVD można jednak znaleźć jego rozwiazanie przybliżone. Mianowicie A ( à 1 b ) b 2 = minimum, (23) gdzie à 1 jest pseudoodwrotnościa (18). Widzimy, że à 1 b jest przybliżonym, najlepszym w sensie najmniejszych kwadratów rozwiazaniem układu (22). Metoda ta jest powszechnie używana w liniowym zagadnieniu najmniejszych kwadratów. Copyright c 2010-12 P. F. Góra 4 18

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. (24) Zauważmy, że ponieważ det A 0, macierz A 1 istnieje. Ponadto wyrażenie v T A 1 u jest liczba (skalarem). Copyright c 2010-12 P. F. Góra 4 19

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 (25) 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. (26) Copyright c 2010-12 P. F. Góra 4 20

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. (27) Copyright c 2010-12 P. F. Góra 4 21

Algorytm Shermana-Morrisona Wzór Shermana-Morrisona (24) pozwala zkonstruować 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 (28) u Copyright c 2010-12 P. F. Góra 4 22

Algortym wyglada następujaco: (a) Rozwiaż równanie (b) Rozwiaż równanie Az = b Aq = u (29a) (29b) (c) Oblicz w = z vt z 1 + v T q q. (29c) Problem sprowadza się więc do rozwiazania dwu równań (29a),(29b) 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-12 P. F. Góra 4 23

Przykład (c.d.) Pierwsza z macierzy (26) 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 (29) redukuje problem do znalezienia i dwukrotnego zastosowania rzadkiego czynnika Cholesky ego pierwszej z macierzy (26). Da się to zrobić w czasie liniowym. Copyright c 2010-12 P. F. Góra 4 24