Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor se skalárním součinem a X jeho podprostor. Prvek x X nazýváme ortogonální (kolmá) projekce prvku v V na podprostor X, pokud platí v x X. Úloha. Určete ortogonální projekci vektoru w = (,, 2, 0) T q = (2, 0,, 2) T vzhledem ke standardnímu skalárnímu součinu. na podprostor generovaný vektorem Řešení. Studenti si mohou pamatovat, že w q = q w q q q = 4 9 (2, 0,, 2)T. Jinak, z definice hledáme w q = αq, aby w w q q. Tedy Ortogonální projekci lze tedy vyjádřit vztahem 0 = (w w q ) q = w q αq q α = q w q q = 4/9. w q = q q qq w. Úloha 2. Uvažujte matici P = q q qq pro q z předchozího příkladu. Jaký má matice rozměr? Jakou má hodnost? Co je oborem hodnot zobrazení? Jaký je geometrický význam tohoto zobrazení? Řešení. Matice P R 4 4 má hodnost. Hodnost matice lze nahlédnout několika způsoby: Jádrem je q, který je třídimenzionální. Sloupce matice jsou různými násobky vektoru q. Oborem hodnot je prostor generovaný vektorem q. Pro libovolné w R 4 je totiž P w = q w q. Uvědomíme si, že libovolnému q q vektoru w je přiřazena jeho ortogonální projekce na podprostor generovaný vektorem q. Skalár q w je q q onen ortogonalizační koeficient. Vskutku: (w q w q q q) q = 0. Matice P je tedy maticovým vyjádřením zobrazení, jež určí ortogonální projekci libovolného vektoru do směru generovaného vektorem q. Aplikace tohoto zobrazení řeší předchozí úlohu. Definice 2 (Projekce/Projektor). Zobrazení P, pro které platí, že P 2 = P nazýváme projekce. Matice, která takové zobrazení reprezentuje, se někdy nazývá projektor.
Projektor z předchozí úlohy projektoval kolmo na podprostor span {q}. Uvědomme si, že také ˆP I P je projekce. Úloha 3. a) Rozložte vektor v = (0, ) T do složek vzhledem k bázi w = (, 0) T, w 2 = (, 0 )T. Tedy rozložte vektor v do tvaru v = αw + βw 2. b) Sestavte matice W, W 2, které by libovolnému vektoru v R 2 přiřadily vektory odpovídající rozkladu v do složek vůči bázi w, w 2. (Tedy má mj. platit, že x = W x + W 2 x pro lib. vektor). Hint: sestavte matice jako složení více jednodušších zobrazení, využijte přechodu do souřadnic vůči nové bázi. c) Jsou zobrazení určená maticemi W a W 2 projekce? Pokud ano, jsou ortogonální? Hint: existují vektory, které se při zobrazení zachovávají? Jaké mají jádro? Řešení. a) Protože báze W = (w, w 2 ) není ON, nelze použít postup z předchozích úloh. Počítáme tedy soustavu rovnic, abychom určili koeficienty α, β v následující lineární kombinaci: ( ) 0 = αw + βw 2. Dostaneme řešení ( ) 0 = 0w + 0w 2 = +. 0 ( ) b) Označme W = (w, w 2 ) = matici přechodu od báze W do kanonické. Matice W 0 a W 2 0 sestavíme následovně: 0 0 W = W W = W 2 = W W = 0 0 ( ) 0 Matice W = převede souřadnice z kanonické báze do báze W, prostřední matice odřízne nepotřebnou složku, levá matice převede souřadnice vůči W zpět do kanonické báze. Alternativně bychom mohli matice získat přímo: spočítat obrazy kanonických vektorů při zobrazeních W a W 2 a dosadit je do příslušných sloupců (druhé sloupce jsme už spočítali v části a)). Ale pro další část úlohy je vhodnější tvar s třemi maticemi. c) Ano, jedná se o projekce, protože ( ) 0 W W = W W W analogicky pro W 2. ( ) 0 W = W ( 0 ) ( ) 0 W = W, Ne, projekce nejsou ortogonální, protože v případě W promítáme na přímku generovanou vektorem w ve směru vektoru w 2, který na w není kolmý. Pro W 2 analogicky, jen role vektorů jsou prohozené. Maticová reprezentace ortogonální projekce Princip projekcí je v jádru algoritmu Gram-Schmidtovy ortogonalizace (GSO), který znáte z LA. GSO je proces, který z lineárně nezávislé posloupnosti vektorů a,... a n vytvoří posloupnost ortonormálních vektorů q,... q n tak, že platí span{a,... a k } = span{q,... q k } 2
pro všechna k =,... n. Necht již jsme získali q,... q k pro nějaké k. Popíšeme nyní, jak získáme vektor q k+. Od vektoru postupně odečítáme jeho projekce na prodprostory generované jednotlivými vektory již spočtené ortonormální báze: z = a k+ a k+ = (I i= )a k+, () i= Výsledný vektor z pak normalizujeme a získáme tak q k+. Při operaci () odečítáme od vektoru a k+ jeho projekci na podprostor X = span{q,... q k }: z = a k+ P X a k+ = (I P X )a k+. (2) Zobrazení P X = k i= q iq i lze zapsat pomocí matice. Jaký má tvar? Úloha 4. Uvažujme, že máme ortonormální bázi q,..., q k podprostoru X R n a necht sloupce matice Q R n k jsou tvořeny těmito vektory. Rozmyslete si, že I P X = i= I P X = I i=? = QQ, (3) = I QQ (4) i=? = (I q q )... (I q k q k) (5) Řešení. Rovnost v (3) lze nahlédnout z vyjádření maticového násobení pomocí vnějších součinů sloupců levé a řádků pravé matice: (AB) ij = n a ik b kj AB = k= n a k b k. k= Také lze rovnost vidět následovně: QQ x = Q(Q x). Q x je vektor, jehož i-tá složka je skalární součin vektorů q i a x. Po vynásobení tohoto vektoru maticí Q dostávám lineární kombinaci sloupců Q s se skalárními součiny v Q x jako koeficienty. A to je totéž co k i= q iq i x Poslední rovnost (5) plyne z ortogonality vektorů q i : všechny smíšené členy při roznásobení pravé strany jsou nulové. Implementace GSO Při pohledu na GSO z hlediska numerických výpočtů existují dvě základní implementace, lišící se způsobem ortogonalizace: ) V LA jsme se učili postup, který odpovídá klasické implementaci GSO: z = a k+ a k+. i= (CGS) 2) Modifikovaná implementace GSO odpovídá postupné ortogonalizaci vektoru a k+ : z = a k+ ; for i = :k do z = z q i q i z, (MGS) 3
Úloha 5. Zapište (CGS) a (MGS) pomocí projekcí a jejich matic tak, aby byl vidět rozdíl mezi implementacemi. Řešení. CGS zapíšeme: ( z = I ) a k+ = (I P X )a k+ = (I QQ )a k+ i= MGS zapíšeme: z = (I q k q k)... (I q q )a k+ = (I P span{qk })... (I P span{q })a k+ Matematickou ekvivalenci zápisů jsme ověřili v úloze 4. Rozdílné numerické stabilitě se budeme věnovat v domácí úloze a pak příště ve cvičení s Matlabem. 2 Givensovy rotace a Householderovy reflexe Úloha 6. Nalezněte vlastní čísla a vektory matice Householderovy reflexe I 2qq R n n a nalezněte vlastní čísla matice Givensovy rotace G i,j (ϕ) R n n. cos ϕ sin ϕ... i G i,j (ϕ) =... sin ϕ cos ϕ... j Hint: Rozmyslete si, které vektory se zobrazí samy na sebe. Řešení. Matice Householderovy reflexe I 2qq R n n libovolný vektor kolmý na q zřejmě zobrazuje sám na sebe, tedy je zde n násobné vlastní číslo, kterému odpovídá n dimenzionální invariantní podprostor vlastních vektorů q. Normálový vektor q je pak zobrazen na q, tedy jde o další vlastní vektor odpovídající vlastnímu číslu. Pro elementární Givensovou rotaci v R 2 platí ([ ]) λ c s det(λi G(ϕ)) = det = (λ c) 2 + s 2 = λ 2 2λc +. s λ c Diskriminant této kvadratické rovnice je 4c 2 4 = 4s 2, a proto jsou hledaná vlastní čísla rovna λ,2 = c ± is. Vlastní čísla elementární Givensovy rotace G i,j (ϕ) v R n n (která modifikuje i-tý a j-tý řádek vektoru) pro n > 2 jsou potom čísla λ,2 a navíc číslo λ 3 = s násobností n 2. Úloha 7. Určete determinant Givensovy rotace a Householderovy reflexe? Zkuste rozhodnout zda: Givensova rotace lze složit z Householderových reflexí. Householderova reflexe lze složit z Givensových rotací. 4
Hint: Obecně platí, že det(a) = λ λ 2 λ n, kde λ, λ 2,..., λ n jsou vlastní čísla matice A. Řešení. Determinant Givensovy rotace, matice G(ϕ) je evidentně vždy roven det G(ϕ) = c 2 + s 2 =. Výpočet lze provést jednoduše například přímo z definice determinantu, díky nenulové struktuře matice Givensovy rotace. Pro určení determinantu matice Householderovy reflexe je výhodné použít vztah mezi determinantem a vlastními čísly matice. Determinant matice Householderovy reflexe je tedy. Ano, Givensova rotace lze složit z Householderovývh reflexí, ale pouze ze sudého počtu. Ne, Householderovy reflexi nelze složit z Givensových rotací. Složení Givensových rotací má stále determinant, ale matice Householderovy reflexe má determinant. 5