Wstęp do metod numerycznych Inne rodzaje faktoryzacji. 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 Cholesky ego i QR. P. F. Góra

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

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

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

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 SVD, metody iteracyjne i metoda gradientów. P. F. Góra

Metody dekompozycji macierzy stosowane w automatyce

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

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

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

Zadania egzaminacyjne

10. Metody obliczeniowe najmniejszych kwadratów

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

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

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

Wykład 14. Elementy algebry macierzy

Zastosowania wyznaczników

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

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

Układy równań liniowych. Krzysztof Patan

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

Metoda eliminacji Gaussa. Autorzy: Michał Góra

1 Macierz odwrotna metoda operacji elementarnych

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

Własności wyznacznika

Metody numeryczne Wykład 4

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

Zaawansowane metody numeryczne

1 Macierze i wyznaczniki

13 Układy równań liniowych

Macierze. Rozdział Działania na macierzach

2. Układy równań liniowych

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

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

Układy równań liniowych

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

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

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

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

Układy równań liniowych

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

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

DB Algebra liniowa semestr zimowy 2018

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

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

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

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

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

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

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

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

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

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

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Wykład 5. Metoda eliminacji Gaussa

Algebra liniowa z geometrią

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

Obliczenia naukowe Wykład nr 6

Układy liniowo niezależne

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

1 Układy równań liniowych

O MACIERZACH I UKŁADACH RÓWNAŃ

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

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

Wyk lad 11 1 Wektory i wartości w lasne

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

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

1 Zbiory i działania na zbiorach.

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

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

Wyk lad 8 macierzy i twierdzenie Kroneckera-Capellego

Programowanie celowe #1

Teoretyczne podstawy programowania liniowego

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

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

Rozwiązania, seria 5.

Wartości i wektory własne

Wektory i wartości własne

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

A A A A A A A A A n n

3. FUNKCJA LINIOWA. gdzie ; ół,.

Wektory i wartości własne

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

Praca domowa - seria 6

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

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

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

III TUTORIAL Z METOD OBLICZENIOWYCH

Baza w jądrze i baza obrazu ( )

Algebra liniowa. 1. Macierze.

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

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

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

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

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

Transkrypt:

Wstęp do metod numerycznych Inne rodzaje faktoryzacji P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2017

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-17 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-17 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-17 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-17 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-17 P. F. Góra 4 6

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 (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-17 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-17 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-17 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-17 P. F. Góra 4 10

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-17 P. F. Góra 4 11

Macierz Givensa ma postać (niezaznaczone elementy sa zerami) G(i, j) = 1... 1 c s... 1... s c 1... 1 (13) gdzie wyróżnione elementy znajduja sia na pozycjach, odpowiednio, (i, i), (i, j), (j, i), (j, j). Przyjmujemy, że c = cos θ, s = sin θ. Macierz (13) 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-17 P. F. Góra 4 12

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ć (14) c = x i x 2 i + x 2 j, s = x j x 2 i + x 2 j. (15) Obrót Givensa (13) wraz z warunkami (15) zeruje j-ta składowa wybranego wektora. Składowa i-ta przybiera wartość x 2 i + x2 j. Copyright c 2010-17 P. F. Góra 4 13

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......... (16) 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... (17) Copyright c 2010-17 P. F. Góra 4 14

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......... (18) 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-17 P. F. Góra 4 15

Macierz A 1 mnożymy przez macierz Givensa G 2 = 1 c 2 s 2 s 2 c 2 1... (19) 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-17 P. F. Góra 4 16

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 =........., (20a) czyli A = G T } 1 GT 2 {{ GT N 1 R } Q (20b) 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 (20b) jest faktoryzacja QR macierzy trójdiagonalnej symetrycznej. Copyright c 2010-17 P. F. Góra 4 17

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, (21) gdzie A jest trójdiagonalna macierza symetryczna, postępujac jak poprzednio otrzymujemy kolejno G 1 Ax = G 1 b (22a) G 2 G 1 Ax = G 2 G 1 b (22b)...... G N 1 G 2 G 1 Ax Rx = G N 1 G 2 G 1 b. (22c) Oczywiście istotne jest tylko równanie (22c) lewych stron poprzednich równań nie musimy wyliczać. Każde kolejne mnożenie po stronie prawej Copyright c 2010-17 P. F. Góra 4 18

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-17 P. F. Góra 4 19

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. (23) 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-17 P. F. Góra 4 20

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

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

Algorytm Shermana-Morrisona Wzór Shermana-Morrisona (23) 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 (27) u Copyright c 2010-17 P. F. Góra 4 23

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

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

Osobliwe układy równań Dany jest układ równań 7 6 1 3 5 6 1 3 2 3 1 3 5 6 1 3 7 6 x 1 x 2 x 3 = 1 1 1. (29) Jak łatwo sprawdzić, wyznacznik główny tego układu równań wynosi zero, a więc układ równań (29) nie ma jednoznacznego rozwiazania. Ale może ma on rozwiazanie niejednoznaczne? Aby tak było, wszystkie jego wyznaczniki poboczne powinny znikać. Sprawdzamy: Copyright c 2010-17 P. F. Góra 4 26

det 1 1 3 5 6 1 1 1 3 2 3 1 3 7 6 = 2 0, (30) a więc układ równań (29) jest sprzeczny (nie ma rozwiazań). Z drugiej strony układ równań 7 1 6 1 3 5 6 1 3 2 3 1 3 5 6 1 3 7 6 x 1 x 2 x 3 = 0 1 (31) ma rozwiazanie, ale jest ono niejednoznaczne (wszystkie wyznaczniki poboczne równaja się zero). Copyright c 2010-17 P. F. Góra 4 27

Układy równań (29) i (31) różnia się tylko prawymi stronami: ich macierz jest taka sama (i jest osobliwa). Widzimy, że w przypadku osobliwej macierzy układu równań to prawa strona decyduje, czy układ ma rozwiaza- nia, czy też ich nie ma; domyślamy się, że to, jakie prawe strony ozna- czaja istnienie rozwiazań, jakie zaś ich brak, musi jakoś być zwiazane z własnościami (osobliwej) macierzy układu równań. Wygodnie byłoby mieć metodę pozwalajac a na zidentyfikowanie wektorów, dla których osobliwy układ równań ma rozwiazania (wzory Cramera pozwalaja jedynie sprawdzić, czy dana prawa strona prowadzi do istnienia rozwiazań). Metoda taka jest SVD. Copyright c 2010-17 P. F. Góra 4 28

Singular Value Decomposition Twierdzenie 1. Dla każdej macierzy A R M N, M N, istnieje faktoryzacja A = U [diag(w i )] V T, (32) 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-17 P. F. Góra 4 29

Nie przedstawiamy tu algorytmu tej faktoryzacji w razie potrzeby można skorzystać z którejś ze sprawdzonych procedur bibliotecznych. Złożoność obliczeniowa faktoryzacji SVD wynosi O(N 3 ), ale współczynnik przy wyrazie wiodacym jest wysoki, więc nie jest to metoda z wyboru do rozwiazywania układów równań. Znajduje ona jednak ważne zastosowania w przypadku osobliwych lub źle uwarunkowanych układów równań. Aby to zrozumieć, trzeba najpierw omówić algebraiczne własności tej faktoryzacji. Copyright c 2010-17 P. F. Góra 4 30

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

Sens SVD Sens SVD najlepiej widać w przypadku, w którym co najmniej jedna z wartości w i = 0. Aby to zrozumieć, zobaczmy jak macierz A R M N, posiadajaca faktoryzację (32), działa na pewien wektor x R N : Ax = U [diag(w i )] V T x (35) Dla ustalenia uwagi, niech w 1 = 0, w i>1 0. Copyright c 2010-17 P. F. Góra 4 32

Przypomnienie z algebry Macierz V R N N jest macierza ortogonalna, co oznacza, że jej kolejne kolumny stanowia ortonormalna bazę w R N. Wektor z = V T x (36) stanowi rozkład wektora x w bazie kolumn macierzy V. Wyrażenie (35) możemy przepisać jako gdzie z spełnia (36). Ax = U [diag(w i )] z, (37) Copyright c 2010-17 P. F. Góra 4 33

Sens SVD przypadek 1 Przypuśćmy, że wektor x jest równy pierwszej kolumnie macierzy V. Wówczas z = [1, 0, 0,..., 0] T, gdyż x jest prostopadły do wszystkich kolumn V poczynajac od drugiej. W takim wypadku Ax = U 0 w 2 w 3... w N 1 0 0. 0 (38) Zero z lewego górnego rogu macierzy diagonalnej zabije jedynkę w wektorze po prawej stronie tej równości, a z kolei zera z tego wektora zabija niezerowe w i. Ostatecznie Ax = 0. Stało się tak dlatego, że wektor x był równy kolumnie macierzy V, odpowiadajacej zerowemu współczynnikowi w i. Kolumny macierzy V, odpowiadajace zerowym współczynnikom w i, stanowia bazę w jadrze operatora A. Copyright c 2010-17 P. F. Góra 4 34

Sens SVD przypadek 2 Niech teraz wektor x będzie dowolny, to znaczy nie pozostaje w jakiejś specjalnej relacji do macierzy V. Wówczas z = V T x = [z 1, z 2, z 3,..., z N ] T, a zatem z (37) mamy Ax = U 0 w 2 w 3... w N z 1 z 2 z 3. z N = U 0 w 2 z 2 w 3 z 3. w N z N. (39) 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. Kolumny macierzy U sa wzajemnie ortogonalne, a wektor Ax nie zawiera przyczynku wzdłuż wektora będacego pierwsza kolumna U, a jedynie przyczynki od wektorów Copyright c 2010-17 P. F. Góra 4 35

prostopadłych do tej kolumny. Widzimy zatem, że kolumny macierzy U, odpowiadajace niezerowym współczynnikom w i, stanowia bazę w zasięgu operatora A. Dla macierzy osobliwych sens SVD sprowadza się do konstrukcji baz w ja- drze i w zasięgu takiej macierzy. Jak za chwilę zobaczymy, można to uogólnić na przypadek macierzy nieosobliwych, ale bardzo źle uwarunkowanych. Copyright c 2010-17 P. F. Góra 4 36

Przykład Macierz układów równań (29) i (31) ma następujacy rozkład względem wartości osobliwych: 7 1 3 6 1 3 5 6 5 6 1 3 2 1 3 3 7 6 = 1 3 1 6 1 2 1 6 2 3 0 1 3 1 6 1 2 0 0 0 0 1 0 0 0 2 1 3 1 3 1 3 1 6 2 6 1 6 1 2 0 1 2. (40) Widzimy, że wektor [1, 1, 1] T rozpina jadro tej macierzy, natomiast kombinacje liniowe wektorów [ 1, 2, 1] T, [ 1, 0, 1] T stanowia jej zasięg. Ponieważ rozważana macierz jest symetryczna i rzeczywista (i nieujemnie określona), jej rozkład SVD jest zarazem jej rozkładem diagonalnym (w przypadku ogólnym taka zgodność nie zachodzi). Copyright c 2010-17 P. F. Góra 4 37

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. (41) 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. (42a) w 1 i = { w 1 i gdy w i 0, 0 gdy w i = 0. (42b) Copyright c 2010-17 P. F. Góra 4 38

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 38. 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, (43) gdzie à 1 jest pseudoodwrotnościa dana przez (42), 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-17 P. F. Góra 4 39

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

Przykład Zastosowanie pseudoodwrotności (42) do układu (31) daje x 1 x 2 x 3 = 1 2 1 0 1. (44) W tym wypadku pseudoodwrotność zachowuje się jak odwrotność (prawa strona równania (31) należy do zasięgu) i rozwiazanie (44) jest ścisłe. Do rozwiazania (44) można dodać dowolny wektor postaci [α, α, α], a więc należacy do jadra. Copyright c 2010-17 P. F. Góra 4 41

SVD i współczynnik uwarunkowania Twierdzenie 2. Jeżeli macierz A R N N posiada rozkład (32) oraz det A 0, jej współczynnik uwarunkowania spełnia κ = max w i i min w i. (45) 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 (41), używa się przybliżonego (i użytecznego!) rozwiazania w postaci (42) z następujac a modyfikacja w 1 i = gdzie τ jest pewna zadana tolerancja. { w 1 i gdy w i > τ, 0 gdy w i τ, (46) Copyright c 2010-17 P. F. Góra 4 42

Przykład Mamy rozwiazać następujace dwa układy równań: [ [ 0.666666667 0.166666666 0.333333333 0.166666666 0.166666667 0.166666666 0.333333333 0.166666666 0.666666667 0.666666667 0.166666666 0.333333333 0.166666666 0.166666667 0.166666666 0.333333333 0.166666666 0.666666667 ] [ x1 x 2 x ] [ 3 x1 x 2 x 3 ] ] = = [ [ 1.284457048 0.577350273 0.129756514 1.284457052 0.577350265 0.129756510 ] (47a) ] (47b). Równania te różnia się tylko prawymi stronami, przy czym norma różnicy prawych stron jest rzędu 10 8. Bład takich rozmiarów łatwo może pojawić się w wyniku jakichś poprzednich obliczeń lub na skutek niepewności danych zewnętrznych, z którymi pracujemy. Macierz w układach równań (47) jest symetryczna i dodatnio określona, a jej czynnik Cholesky ego wynosi Copyright c 2010-17 P. F. Góra 4 43

0.816496581 0.204124145 0.353553392 0.408248290 0.707106777 0.000077460 (48) Rozwiazania równań (47) za pomoca faktoryzacji Cholesky ego maja postać x a = 0.179434106 5.237183389 1.593647668, x b = 3.903048668 2.927782158 2.488835105. (49) Różnica rozwiazań jest, co do normy, rzędu 10, czyli jest rzędu 10 9 razy większa, niż różnica prawych stron. Copyright c 2010-17 P. F. Góra 4 44

Faktoryzacja SVD macierzy z układów (47) pokazuje, że wartości szczególne tej macierzy sa w przybliżeniu równe 1, 1 2, 10 9. Jeśli do rozwiaza- nia układów równań (47) zastosować pseudoodwrotność (46) (τ = 10 8 ), w obu wypadkach otrzymamy x = 1.861807320 1.154700538 0.447593757. (50) (50) jest jedynie przybliżonym rozwiazaniem równań (47). Jest ono jednak bardziej użyteczne, niż ścisłe rozwiazania (49). Te dwa ostatnie najwyraźniej sa zdominowane przez bład, jaki wystapił wzdłuż kierunku odpowiadajacego najmniejszej wartości szczególnej macierzy. Nie wiemy i nie mamy sposobu, aby to stwierdzić które z dwu rozwiazań (49) jest poprawne. Przybliżone rozwiazanie (50) po prostu ignoruje wpływ tego kierunku, a więc i zaburzeń wzdłuż niego występujacych. Copyright c 2010-17 P. F. Góra 4 45

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 (51) 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, (52) gdzie à 1 jest pseudoodwrotnościa (42). Widzimy, że à 1 b jest przybliżonym, najlepszym w sensie najmniejszych kwadratów rozwiazaniem układu (51). Metoda ta jest powszechnie używana w liniowym zagadnieniu najmniejszych kwadratów. Copyright c 2010-17 P. F. Góra 4 46