Ortogonální transformace a QR rozklady

Podobné dokumenty
Ortogonální transformace a QR rozklady

3. Ortogonální transformace a QR rozklady

1 Projekce a projektory

Úlohy nejmenších čtverců

Arnoldiho a Lanczosova metoda

2. Schurova věta. Petr Tichý. 3. října 2012

Singulární rozklad. Petr Tichý. 31. října 2013

Podobnostní transformace

5. Singulární rozklad

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

DEFINICE Z LINEÁRNÍ ALGEBRY

Operace s maticemi. 19. února 2018

Operace s maticemi

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

a vlastních vektorů Příklad: Stanovte taková čísla λ, pro která má homogenní soustava Av = λv nenulové (A λ i I) v = 0.

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

Lineární algebra : Skalární součin a ortogonalita

4. LU rozklad a jeho numerická analýza

0.1 Úvod do lineární algebry

Interpolace, ortogonální polynomy, Gaussova kvadratura

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

EUKLIDOVSKÉ PROSTORY

Lineární algebra : Skalární součin a ortogonalita

1 Báze a dimenze vektorového prostoru 1

Aplikovaná numerická matematika - ANM

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

ALGEBRA. Téma 5: Vektorové prostory

8 Matice a determinanty

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

0.1 Úvod do lineární algebry

Co je obsahem numerických metod?

Vlastní čísla a vlastní vektory

Matematika B101MA1, B101MA2

Základy maticového počtu Matice, determinant, definitnost

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Symetrické a kvadratické formy

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Kapitola 11: Vektory a matice 1/19

Připomenutí co je to soustava lineárních rovnic

Úvod do lineární algebry

Lineární algebra : Metrická geometrie

Skalární součin dovoluje zavedení metriky v afinním bodovém prostoru, tj. umožňuje nám určovat vzdálenosti, odchylky, obsahy a objemy.

7 Ortogonální a ortonormální vektory

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

1 Vektorové prostory.

ALGEBRA. Téma 4: Grupy, okruhy a pole

VĚTY Z LINEÁRNÍ ALGEBRY

Vlastní číslo, vektor

1 Determinanty a inverzní matice

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan. 14.

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

1 0 0 u 22 u 23 l 31. l u11

MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA VEKTORY, MATICE

MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA VEKTORY, MATICE

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

(Cramerovo pravidlo, determinanty, inverzní matice)

Kapitola 11: Vektory a matice:

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

7. Lineární vektorové prostory

Základy matematiky pro FEK

6. Vektorový počet Studijní text. 6. Vektorový počet

15 Maticový a vektorový počet II

Numerické metody a programování

1 Vektorové prostory a podprostory

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Lineární algebra - I. část (vektory, matice a jejich využití)

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Matematika I 12a Euklidovská geometrie

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Numerické metody a programování. Lekce 4

Soustavy linea rnı ch rovnic

Lineární algebra Operace s vektory a maticemi

Lineární algebra : Změna báze

Soustavy lineárních rovnic

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

Matice. a m1 a m2... a mn

Množinu všech matic typu m n nad tělesem T budeme označovat M m n (T ), množinu všech čtvercových matic stupně n nad T pak M n (T ).

19 Hilbertovy prostory

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

2 Vektorové normy. Základy numerické matematiky - NMNM201. Definice 1 (Norma). Norma je funkcionál splňující pro libovolné vektory x a y a pro

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Vybrané kapitoly z matematiky

11. Skalární součin a ortogonalita p. 1/16

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Transkript:

Ortogonální transformace a QR rozklady 1

Úvod Unitární (ortogonální) transformace, Gram-Schmidtova ortogonalizace Příklad Schurovy věty unitární transformace nezvětšují chyby ve vstupních datech. Tato kapitola: základními dva typy unitárních transformací Givensovy rotace, Householderovy reflexe. Využití: (numericky stabilní) transformace matice na matici s předem zvolenou strukturou. Výpočet QR rozkladu široké použití. Gram-Schmidtova ortogonalizace, výpočetní náročnost, numerická stabilita. 3

Ortogonální projekce Libovolný x R n lze rozložit na součet ortogonálních vektorů x = x q + y tak, že x q leží v předem daném směru q a y, x q = 0. e j x x q q y e i 5

Ortogonální projekce vektoru x do směru q Dán q, q = 1. Hledáme rozklad vektoru x R n, x = x q + y takový, že x q leží v předem daném směru q a y q. Ukážeme, že x q = x, q q. x q nazveme ortogonální projekcí x do prostoru span{q}. Ekvivalentní zápis, x q = P q x, kde P q qq T. P q je čtvercová symetrická matice řádu n, P q : x P q x span{q}, x P q x span{q}. Říkáme: P q projektuje x do prostoru generovaného bází {q}. 6

Ortogonální projekce vektoru do podprostoru Uvažujme ortonormální soubor vektorů {q 1,..., q m } R n, Q span{q 1,..., q m }, Q [q 1,..., q m ] R n m. Dán x R n, hledáme rozklad x na složky x = x Q + y, x Q Q, y Q. x Q nazveme ortogonální projekcí x do Q. Platí x Q = P Q x, kde P Q QQ T. P Q je čtvercová symetrická matice hodnosti m, projektuje libovolný x do prostoru Q. 7

Ortogonální projektory Definice: Ortogonální projektor je lineární operátor P, který je symetrický a idempotentní (P T = P a P 2 = P). Matice P Q je ortogonálním projektorem. Vektor y = x x Q lze psát ve tvaru x x Q = Π Q x, kde Π Q I QQ T = I P Q. Π Q je ortogonálním projektorem do prostoru Q. Π Q se nazývá projektor komplementární k projektoru P Q. 8

Givensovy rotace vr n Úloha vr 2 Chceme sestrojit matici G(ϕ) R 2 2, která realizuje pootočení libovolného vektoru x o úhel ϕ proti směru hodinových ručiček. Zapíšeme-li vektor x v bázi {e 1, e 2 }, x = [ ξ1 ξ 2 ] = ξ 1 [ 1 0 ] + ξ 2 [ 0 1 je možné vektor G(ϕ)x vyjádřit ve tvaru ] = ξ 1 e 1 + ξ 2 e 2, G(ϕ)x = ξ 1 (G(ϕ) e 1 ) + ξ 2 (G(ϕ) e 2 ). Otáčí-li G(ϕ) bázové vektory e 1 a e 2 o úhel ϕ, otáčí i libovolný vektor x o úhel ϕ. 10

Rotace jednotkových vektorů o úhel ϕ 0 11

Matice Givensovy rotace vr 2 G(ϕ) [ 1 0 ] = [ cos ϕ sin ϕ ], G(ϕ) [ 0 1 ] = [ sin ϕ cos ϕ ], tj. [ cos ϕ sin ϕ G(ϕ) = sin ϕ cos ϕ ] Matice G(ϕ) se nazývá matice Givensovy rotace. Použití: Jsou-li v R 2 dány vektory x a y, x = y 0. Potom y lze získat pootočením x, y = G(ϕ)x. 12

Matice Givensovy rotace vr n Elementární Givensova rotace Rotaci v rovině dané dvojicí jednotkových vektorů {e i, e j }, i < j, o úhel ϕ ve směru od e i k e j lze realizovat pomocí 1 G i,j (ϕ) =... 1 cos ϕ 1 sin ϕ... 1 sin ϕ cos ϕ 1... 1. 13

Matice Givensovy rotace vr n Vlastnosti je ortonormální, det(g i,j (ϕ)) = 1 (cvičení). G i,j (ϕ)x modifikuje pouze i-tý a j-tý prvek vektoru x = [ξ 1,..., ξ n ] T, G i,j (ϕ) x = ξ 1. ξ i cos ϕ ξ j sin ϕ. ξ i sin ϕ + ξ j cos ϕ. ξ n i-tý řádek j-tý řádek. 14

Nulování prvků vektoru pomocí Givensových rotací Nulování vr 2 Požadujeme, aby platilo [ ] [ ] [ cos ϕ sin ϕ ξ1 y = G(ϕ) x = = sin ϕ cos ϕ ξ 2 ± ξ1 2 + ξ2 2 0 ]. Ze vztahu dostaneme ξ 1 sin ϕ + ξ 2 cos ϕ = 0 Ověření sin ϕ = cos ϕ = ± ξ 2 ξ 2 1 + ξ2 2 ξ 1 ξ 2 1 + ξ2 2,. 15

Nulování prvků vektoru pomocí Givensových rotací Nulování vr n Úloha: vynulovat n 1 složek vektoru x R n, x ± x e 1. Opakovaně aplikujeme elementární Givensovy rotace: x =.. 0... 0. 0 ± x 0. 0 = y. Nulujeme prvky na pozicích n, n 1,..., 2 (volíme např. roviny rotace span{e 1, e n },..., span{e 1, e 2 }) 16

Nulování prvků vektoru pomocí Givensových rotací Formalizace Označíme-li jednotlivé elementární Givensovy rotace jako G 1,2,..., G 1,n 1, G 1,n, potom y = Γx, kde Γ G 1,2... G 1,n 1 G 1,n. Matici Γ budeme nazývat složenou Givensovou rotací. Prvky nemusíme nutně nulovat v pořadí, které jsme naznačili. Násobení elementárních (tedy i složených) Givensových rotací není obecně komutativní (cvičení). 17

Nulování prvků vektoru pomocí Householderových reflexí Nulování vr n Druhá základní unitární transformace je Householderova reflexe (zrcadlení, odraz). Úloha: Nechť je v R n dána nadrovina dimenze n 1, kterou popíšeme jejím normálovým vektorem q, q = 1, a nechť je dán vektor x R n. H(q) {z R n : z q}, Cíl: nalézt zrcadlový obraz vektoru x podle nadroviny H(q) (nadrovinu H(q) nazveme nadrovinou zrcadlení). 19

Zrcadlení x q x 0 q x x q y = x 2x q x q = (qq T ) x, y = (x x q ) x q = x 2x q = (I 2qq T ) x. 20

Matice Householderovy reflexe Nechť q R n a q = 1. Pak matici H(q) = I 2qq T R n n nazýváme maticí Householderovy reflexe vzhledem k nadrovině H(q) definované normálovým vektorem q. Vlastnosti: H(q) je ortonormální a symetrická, platí H 2 (q) = I, det(h(q)) = 1 (cvičení). 21

Zrcadlení x na y pomocí Householderovy reflexe Úloha: Dány x a y stejné délky, nalézt H tak, aby y = Hx. Zrcadlení x na ±y vr n Nechť jsou dány dva různé vektory x R n a y R n, x = y, a nechť q 1 x y x y, q 2 x + y x + y. Potom H(q 1 )x = y, H(q 2 )x = y. Důkaz: Vektor x y je kolmý k nadrovině zrcadlení vektoru x na vektor y. Podobně, vektor x + y je kolmý k nadrovině zrcadlení vektoru x na vektor y. 22

Nulování prvků vektoru pomocí Householderových reflexí Dán x R n a Hledáme H. y = ± x e 1. Dle předchozího, pro q 1 = x x e 1 x x e 1, q 2 = x + x e 1 x + x e 1 je H(q 1 )x = x e 1, H(q 2 )x = x e 1. Je lepší zvolit q 1 nebo q 2? 23

Nulování prvků vektoru pomocí Householderových reflexí Volba vektoru q x ± x e 1 = ξ 1 ± x ξ 2 Pokud ξ 1 0, ξ 1 x, potom při odečítání ξ 1 x může dojít k vyrušení platných číslic. Navíc, ξ 1 x e 1 0, dělíme malou normou relativní zvětšení chyby vypočteného vektoru ve srovnání s chybou obsaženou v x.. ξ n Kvůli numerické stabilitě, pokud ξ 1 0 pak q x + x e 1 x + x e 1. Analogicky pro ξ 1 < 0 volíme q = x x e 1 x x e 1. 24

QR rozklad Nechť A C n m je obecně obdélníková matice. Rozklad A = QR, kde Q je matice s ortonormálními sloupci (Q Q = I) a R má všechny prvky pod hlavní diagonálou nulové, nazveme QR rozkladem matice A. Pro n > m může QR rozklad vypadat schematicky jako A Q R = kde Q C n n a R C n m. 0, 26

QR rozklad Vynecháním posledních n m nulových řádků matice R a příslušných sloupců Q dostaneme A Q R = 0, kde Q C n m a R C m m. Tomuto QR rozkladu, jehož uložení vyžaduje méně paměťového místa než v prvním případě, se říká ekonomický QR rozklad. Pro n m má QR rozklad, schematicky, tvar A Q R = kde Q C n n a R C n m. 0, 27

Obecně o QR rozkladu Lze použít k numerickému řešení mnoha problémů, například problémů nejmenších čtverců Ax b nebo Ax = b. Ax = b, kde A C n n je regulární matice, Ax = b QRx = b, QRx = QQ b, Rx = Q b. Díky ortogonalitě bývá výpočet numericky stabilnější než při použití jiných druhů rozkladů (LU rozklad). Problém pro velké řídké matice požadavek ortogonality ztráta řídkosti. Algoritmů pro výpočet QR rozkladu je několik. 28

QR rozklad užitím Givensových rotací I A C n m, A = [a 1,..., a m ]. Cíl: vynulování všech prvků pod hlavní diagonálou za použití Givensových rotací, získáme Givensův QR rozklad. Symbolem Γ 1 označíme složenou Givensovu rotaci, která realizuje transformaci a 1,1 r 1,1 a 2,1 0 a 1 =. a n,1. 0 = Γ 1a 1 r 1. 29

QR rozklad užitím Givensových rotací II Aplikujeme-li Γ 1 na A, dostaneme (r 1,1 = 0 a 1 = 0) 0 A = 0 = Γ 1 A A (1), 0 0 Nyní nulujeme poddiagonální prvky druhého sloupce matice A (1) = [r 1, a (1) 2,..., a(1) m ], aplikujeme n 2 rotací, a (1) 1,2 a (1) a (1) 1,2 2,2 r 2,2 a (1) a (1) 0 2 = 3,2 = Γ 2 a (1) 2 r 2.. a (1) n,2.. 0 30

QR rozklad užitím Givensových rotací III Aplikací složené rotace Γ 2 na matici A (1) = Γ 1 A dostaneme A (1) = 0 0 0 0 0 0 0 0 0 0 0 = Γ 2 Γ 1 A A (2). V k-tém kroku, k < min{m, n}, konstruujeme složenou rotaci tak, aby nulovala n k poddiagonálních prvků sloupce a (k 1) k. Příslušná složená rotace Γ k je blokově diagonální se dvěma bloky, kde první blok je jednotková matice řádu k 1. r k,k = 0 je-li k-tý sloupec matice A lineární kombinací předchozích k 1 sloupců matice A (cvičení). 31

QR rozklad užitím Givensových rotací IV Poslední transformační maticí Γ m 1 pro n > m resp. Γ n 1 pro n m Případ n > m, platí 0 A (m 2) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A (m 1) = Γ m 1... Γ 1 A. = A (m 1) R. Γ i jsou unitární součin je také unitární matice. Označíme-li Q Γ 1 Γ 2... Γ m 1, platí A = QR. 32

Existence a jednoznačnost QR rozkladu Existence Konstrukcí jsme získali rozklad typu A = Q R 0, resp. A = Q R 0, kde Q C n n a R C n m. Existence QR rozkladu (i ekonomického) plyne z konstrunkce. 33

Existence a jednoznačnost QR rozkladu Jednoznačnost Není obecně jednoznačný: diagonální D, D D = I, platí A = QR = (QD )(DR) = Q R. Povolíme-li na diagonále R jen kladné prvky jednoznačnost. Jednoznačnost QR rozkladu Nechť A C n m, n m, je matice s lineárně nezávislými sloupci. Pak existuje jediná dvojice matic Q C n m a R C m m taková, že Q má ortonormální sloupce a R je horní trojúhelníková matice s kladnými diagonálními prvky a přitom A = QR. 34

QR rozklad pomocí Householderových reflexí Householderův QR rozklad konstrukčně stejný jako Givensův, pro n > m transformujeme A C n m A H 1 A... H m 1... H 2 H 1 A R, kde H k je blokově diagonální matice, první blok je jednotková matice řádu k 1, druhý blok je matice Householderovy reflexe nulující poddiagonální prvky aktuálního k-tého sloupce. Označme Q H 1H 2... H m 1 A = QR. Analogicky QR rozklad matice A C n m pro n m. 35

QR rozklad a Gram-Schmidtův ortogonalizační proces Pro jednoduchost případ n > m a podprostor C n generovaný lineárně nezávislými vektory {a 1,..., a m }. Gram-Schmidtův ortogonalizační proces spočte ortonormální bázi {q 1,..., q m } takovou, že span{a 1,..., a k } = span{q 1,..., q k }, k = 1,..., m. k = 1: q 1? span{a 1 } = span{q 1 } a q 1 = 1 q 1 = a 1 a 1. Označme r 1,1 = a 1. k = 2: q 2? span{a 1, a 2 } = span{q 1, q 2 }, q 2 q 1, q 2 = 1. Odečteme projekce a 2 ve směru q 1 a normalizujeme, z = (I q 1 q 1 ) a 2 = a 2 (q 1 a 2)q 1, r 2,2 = z, q 2 = z/r 2,2. 37

Gram-Schmidtův ortogonalizační proces k-tý krok obecné k: odečteme od a k projekci na prostor generovaný sloupci [q 1,..., q k 1 ] = Q k 1 a normalizujeme k 1 z = (I Q k 1 Q k 1) a k = a k (qi a k )q i r k,k = z q k = z/r k,k. i=1 Proveditelnost: Jelikož jsou vektory a 1,..., a m lineárně nezávislé, je vektor z vždy nenulový, a tudíž r k,k 0, k = 1,..., m. Dosadíme-li za z vektor r k,k q k a označíme-li r i,k = q i a k, k 1 a k = r i,k q i + r k,k q k, k = 1,..., m. i=1 38

Gram-Schmidtův ortogonalizační proces QR rozklad Po rozepsání a 1 = r 1,1 q 1 a 2 = r 1,2 q 1 + r 2,2 q 2. a m = r 1,m q 1 + r 2,m q 2 + + r m,m q m. S označením A = [a 1,..., a m ], Q = [q 1,..., q m ] a r 1,1 r 1,2 r 1,m 0 r 2,2 r 2,m R........ Cm m 0 0 r m,m dostáváme A = QR 39

Gram-Schmidtův ortogonalizační proces QR rozklad komentáře Narozdíl od QR rozkladu spočteného pomocí rotací či reflexí rozměr Q je n m, R má rozměr m m, pro n > m máme přímo ekonomický QR rozklad. Gram-Schmidtův ortogonalizační proces vzhledem k obecnému skalárnímu součinu, : k 1 z = a k a k, q i q i, r k,k = q k = z/r k,k. i=1 z, z, {q 1,..., q k } je ortonormální báze prostoru span{a 1,..., a k }. 40

Implementace Gram-Schmidtova procesu Klasický Gram-Schmidtův algoritmus Gram-Schmidtův proces lze zapsat několika matematicky ekvivalentními způsoby. Dvě základní varianty klasický a modifikovaný algoritmus. Výpočet vektoru z v k-tém kroku lze zapsat ve tvaru kde ortogonální projektor k 1 z = (I q i qi ) a k C Q a k, i=1 k 1 C Q = I q i qi = I Q k 1 Q k 1 i=1 je komplementárním projektorem k projektoru Q k 1 Q k 1. Tento zápis umožňuje paralelní implementaci. 41

Klasický Gram-Schmidtův algoritmus (CGS) Operátor C Q input A = [a 1,..., a m ] r 11 := a 1 q 1 := a 1 /r 11 Q 1 := [q 1 ] for k = 2 : m do z := a k [r 1,k,..., r k 1,k ] T := Q k 1 z z := z Q k 1 [r 1,k,..., r k 1,k ] T r kk := z q k := z/r kk Q k := [Q k 1, q k ] end for 42

Implementace Gram-Schmidtova procesu Modifikovaný Gram-Schmidtův algoritmus Z ortonormality vektorů q 1,..., q k 1 plyne (cvičení) k 1 I q i qi } i=1 {{ } C Q = (I q k 1 qk 1 )... (I q 2q2 )(I q 1q1 }{{} ). M Q Vektor z = C Q a k lze tedy ekvivalentně spočít pomocí z = M Q a k = (I q k 1 q k 1)... (I q 2 q 2)(I q 1 q 1) a k. Implementace využívající M Q je sekvenční z 1 = a k z 2 = z 1 (q1z 1 ) q 1,. z k = z k 1 (q k 1 z k 1) q k 1. 43

Modifikovaný Gram-Schmidtův algoritmus (MGS) Operátor M Q input A = [a 1,..., a m ] r 11 := a 1 q 1 := a 1 /r 11 Q 1 := [q 1 ] for k = 2 : m do z := a k for i = 1 : k 1 do r ik := q i z z := z r ik q i end for r kk := z q k := z/r kk Q k := [Q k 1, q k ] end for 44

Iterační zpřesnění Vztahy používající C Q a M Q jsou matematicky ekvivalentní. Vedou však na algoritmy s různými numerickými vlastnostmi. CGS počítá méně přesněji, u MGS jsou chyby vznikající při výpočtu z částečně eliminovány, výpočet r i,k := q i z následuje až po výpočtu aktualizace. Ortogonalizační krok můžeme opakovat CGS a MGS s iteračním zpřesněním ICGS, IMGS. ICGS si zachovává hlavní výhodu CGS velmi dobře se paralelizuje a navíc redukuje ztrátu ortogonality díky opakované ortogonalizaci. Pro dosažení maximální přesnosti (ztráty ortogonality na úrovni úměrné strojové přesnosti) stačí jediné opakování ortogonalizace. Jak vypočítat zpřesněné koeficienty r i,k? 45

CGS algoritmus s opakovanou ortogonalizací První ortogonalizace: projektujeme a k z = a k [(qk 1 a k) q k 1 +... + (q1 a k) q 1 ]. Opakovaná ortogonalizace: projektujeme z w = z [(qk 1z) q k 1 +... + (q1z) q 1 ]. Dosadíme-li za z do druhého vztahu, w = a k [(qk 1 a k + qk 1 z) q k 1 +... + (q1 a k + q1 z) q 1]. Zpřesněné koeficienty (prvky horní trojúhelníkové R) vzniknou součtem projekcí a k a z do jednotlivých směrů. 46

Iterovaný klasický Gram-Schmidtův algoritmus input A = [a 1,..., a m ] r 11 := a 1 q 1 := a 1 /r 11 Q 1 := [q 1 ] for k = 2 : m do z := a k r := 0 for l = 1 : 2 do r := Q k 1 z z := z Q k 1 r r := r + r end for [r 1,k,..., r k 1,k ] T := r r kk := z q k := z/r kk Q k := [Q k 1, q k ] end for 47

Cena výpočtu Gram-Schmidtova procesu a QR rozkladu Čtvercová matice Měříme počtem aritmetických operací. Není třeba rozlišovat CGS a MGS (počet operací je stejný). ICGS vyžaduje přibližně dvakrát více operací než CGS a MGS. Cena k-tého kroku (cvičení): k 1 z = a k i=1 (q i a k )q i, q k = z z = z z z, 2n(k 1) + 2n násobení, (2n 1)(k 1) + n 1 sčítání nebo odčítání, jednu odmocninu a jedno dělení. Sečtením všech operací pro kroky k = 1,..., n zjistíme, že CGS (MGS) stojí približně 2n 3 aritmetických operací. 49

Cena výpočtu QR rozkladu pomocí Gram-Schmidtova procesu Operace k-tý krok celkem 2n(k 1) + 2n n 3 + n 2 +, (2n 1)(k 1) + n 1 n 3 1 2 n2 1 2 n : 1 n 1 n 50

Výpočetní ceny různých implementací QR rozkladu Obdélníková matice Algoritmus celkový počet operací n > m n = m Householderův QR rozklad 2nm 2 2m 3 /3 4/3n 3 Givensův QR rozklad 3nm 2 m 3 2n 3 CGS, MGS 2nm 2 2n 3 Počet operací u Householderových reflexí je počet operací potřebných ke spočtení rozkladu v součinovém tvaru A = H 1 H 2... H m 1 R, kde H i jsou jednoduché Householderovy reflexe. Explicitní znalost matice Q vyžaduje dalších 2nm 2 2m 3 /3 operací. Totéž u Givensových rotací. 51

Numerická stabilita QR rozkladu Říkáme, že algoritmus je zpětně stabilní, pokud spočtené řešení dané úlohy je přesným řešením modifikované úlohy se vstupními daty, která jsou blízká původním datům dané úlohy. Nechť Q a R jsou spočtené faktory QR rozkladu matice A C n m v aritmetice s konečnou přesností. Nechť fl(u A) je spočtený výsledek aplikace elementární Givensovy rotace nebo Householderovy reflexe U na matici A v aritmetice s konečnou přesností. Otázky: Jaká je přesnost vypočtené matice fl(u A)? Co lze říci o ortogonalitě spočtené matice Q? Jak přesně spočtený je faktor R? Do jaké míry odpovídá součin Q R matici A? 53

Aplikace Givensových rotací a Householderových reflexí v konečné aritmetice Wilkinson, Turing: Je-li U C n n matice elementární Givensovy rotace nebo Householderovy reflexe, potom fl(ua) = U(A + E), γ malá konstanta. kde E A γn2 u + O(u 2 ), Faktor n 2 je velmi pesimistický a není důležitý z hlediska pochopení fungování algoritmu v konečné aritmetice počítače. Výše zmíněný odhad normy E budeme zjednodušeně zapisovat E u A. 54

Numerická stabilita QR rozkladu Ortogonalita spočtené matice ˆQ Ztrátu ortogonality matic vypočtených v aritmetice s konečnou přesností budeme měřit pomocí 2-normy matice E Q Q Q I. Velikosti normy E Q pro jednotlivé algoritmy: Algoritmus Householderův QR rozklad Givensův QR rozklad CGS MGS ICGS E Q u u κ 2 (A) u κ(a) u u Lze matematicky dokázat. 55

Numerická stabilita QR rozkladu Stabilita výpočtu faktoru ˆR Pomocí analýzy zaokrouhlovacích chyb lze ukázat, že Householderův QR, Givensův QR a MGS jsou zpětně stabilní algoritmy v následujícím smyslu: Nechť R je spočtený trojúhelníkový faktor. Potom existuje unitární matice Q a perturbace E tak, že platí Q (A + E) = R, E F u A F. Překvapivé hlavně pro MGS, kde není zaručená ztráta ortogonality na úrovni strojové přesnosti. 56

Numerická stabilita QR rozkladu Norma rezidua A ˆQ ˆR Matice Q a R vypočtené všemi uvažovanými variantami QR rozkladů splňují A Q R u A. Platí i pro CGS, kde je ztráta ortogonality největší. 57

Cvičení 3.3 Určete vlastní čísla a determinant elementární Givensovy rotace. 3.5 Určete vlastní čísla a determinant Householderovy reflexe v reálném oboru. 3.8 Ukažte, že Householderovy reflexe odpovídající vzájemně ortogonálním normálovým vektorům jsou komutativní. 59

Cvičení 3.11 Mějme dánu matici Givensovy rotace v R 2 [ cos(ϕ) sin(ϕ) G(ϕ) = sin(ϕ) cos(ϕ) ]. Definujme dva normalizované vektory q 1 = 0.5 [ ] 1 cos(ϕ), q 1 + cos(ϕ) 2 = [ 0 1 q 1 = 1 2 (1 cos(ϕ) + 1 + cos(ϕ)) = 1 = q 2. ], Ukažte, že [ cos(ϕ) sin(ϕ) H(q 2 )H(q 1 ) = sin(ϕ) cos(ϕ) ] = G(ϕ), tedy každou Givensovu rotaci lze popsaným způsobem složit ze dvou Householderových reflexí. 60

Cvičení 3.13 Dokažte, že matici Householderovy reflexe nelze složit z Givensových rotací. Dále dokažte, že pomocí Givensových rotací nelze vyjádřit žádná matice, která je součinem lichého počtu Householderových reflexí. 3.15 Ukažte, že jsou-li vektory q 1,..., q k navzájem ortogonální, pak platí I q 1 q 1 q 2q 2... q kq k = (I q 1q 1 )(I q 2q 2 )... (I q kq k ), tedy součin na pravé straně je komutativní. 3.16 Ukažte, že cena k-tého kroku algoritmu CGS je dána cenou 2n(k 1) + 2n součinů, (2n 1)(k 1) + n 1 součtů nebo rozdílů, jednoho podílu a jednoho výpočtu odmocniny. Využijte sčítací vzorce n k = 1 n 2 n(n + 1) a k 2 = 1 n (2n + 1) (n + 1). 6 k=1 k=1 61