MS-A0002 Matriisilaskenta Laskuharjoitus 6 / 2022 Mallit / Loppuviikko
Transcription
MS-A0002 Matriisilaskenta Laskuharjoitus 6 / 2022 Mallit / Loppuviikko
MS-A0002 Matriisilaskenta, III/2022 Turunen / Bergman MS-A0002 Matriisilaskenta Laskuharjoitus 6 / 2022 Mallit / Loppuviikko Tehtävissä 5-6 lasketaan matriisin 7 1 A = 0 0 5 5 singulaariarvohajotelma A = U ΣV T ja käytetään sitä. Tehtävä 5 (L): Laske yllä mainitun matriisin A singulaariarvohajotelma eli SVD (U, Σ, V ), missä U ∈ C3×3 , V ∈ C2×2 ovat unitaarisia ja Σ ∈ R3×2 singulaariarvojen diagonaalimatriisi. Tarkista että A = U ΣV ∗ . Ratkaisu:Matriisin A singulaariarvot ovat matriisin AT A ominaisarvojen neliöjuuret, ja matriisin V sarakkeet ovat näitä ominaisarvoja vastaavat ominaisvektorit. Vastaavasti matriisin U sarakkeiksi tulee matriisin AAT ominaisvektorit (joita vastaavat ominaisarvot ovat samat kuin AT A:n). Nyt 74 32 T A A= , 32 26 Joten matriisin AT A ominaisarvoiksi saadaan λ1 + λ2 = T R(AT A) = 100 λ1 λ2 = det(AT A) = 74 · 26 − 322 = 900 ⇒ λ1 = 90, λ2 = 10. Siispä, ominaisarvoja vastaavat ominaisvektorit ovat 1 2 −16 32 0 −1 2 0 λ1 = 90 : ,→ ⇒ v1 = √ 32 −64 0 0 0 0 5 1 1 64 32 0 2 1 0 1 λ2 = 10 : ,→ ⇒ v1 = √ 32 16 0 0 0 0 5 −2 Huomaa, että edellä skaalattiin tarkoituksella molempia ominaisvektoreita tekijällä √15 , koska singulaariarvohajotelmassa matriisien U ja V sarakkeiden tulee olla yksikkövektoreita. Saatiin siis √ 90 √0 1 2 1 Σ= 0 . 10 , V = √ 1 −2 5 0 0 1 MS-A0002 Matriisilaskenta, III/2022 Matriisin A jokaiselle singulaarivektoriparille laarivektorit u matriisiin U : 7 1 1 0 u1 = Av1 = √ σ1 90 5 7 1 1 u2 = Av2 = √ 0 σ2 10 5 Turunen / Bergman pätee Avi = σ1 ui . Tästä saadaan ratkaistua singu 1 1 1 1 2 0 √ =√ 0 5 1 2 1 5 1 1 1 1 1 0 √ = √ 0 . 5 −2 2 −1 5 Kolmas singulaarivektori u3 saadaan ottamalla mikä tahansa singulaarivektoreita u1 ja u2 kohtisuoraan oleva yksikkövektori, joka saadaan esimerkiksi ristitulolla: i j k 0 1 1 u3 = u1 × u2 = √2 0 √2 = 1 . √1 0 − √12 0 2 Näin ollen matriisin A singulaariarvohajotelma on √ 1 √ √1 0 90 √0 2 2 1 2 1 T 0 1 A = U σV = 0 10 √ 0 5 1 −2 √1 √1 − 0 0 0 2 2 Tehtävä 6 (L): Päättele edellisen tehtävän matriisin A singulaariarvohajotelman avulla, minkä yksikkövektorin x kuvavektori Ax on kaikkein pisin. Ratkaisu:Koska matriisin V sarakkeet muodostavat lähtöavaruuden ortonormaalin kannan, mikä tahansa vektori x voidaan lausua V sarakevektorien lineaarikombinaationa x = w1 v1 +w2 v2 , w1 , w2 ∈ R. Lisäksi singulaariarvohajotelman määritelmän mukaan pätee Avi = σi ui kaikilla i = 1, . . . , n. Hyödyntämällä näitä, saadaan kuvavektoriksi Ax = A(w1 v1 + w2 v2 ) = w1 Av1 + w2 Av2 = w1 σ1 u1 + w2 σ2 u2 . Matriisin U sarakkeet ovat eli ||u1 || = ||u2 || = 1, joten ||σ1 u1 || > ||σ2 u2 ||, √ √ myös ortonormaaleja, koska σ1 > σ2 (σ1 = 90 ja σ2 = 10). Jos vektorin Ax pituus halutaan maksimoida ehdolla ||x|| = 1, tulee siis valita w1 itseisarvoltaan mahdollisimman suureksi ja asettaa w2 nollaksi. Valitaan siis w1 = ±1 ja w2 = 0, eli kuvavektorin pituus maksimoituu kun kuvattava vektori on x = ±v1 . (Huomaa, että tulos pätee yleisemminkin, eli pisimmän kuvavektorin antaa se vi , jota vastaava singulaariarvo on suurin. Tämä johtuu siitä, että riippumatta matriisin A dimensioista kuvattava vektori voidaan aina kirjoittaa muodossa x = w1 v1 + ... + wn vn , w1 , . . . , wn ∈ R, ja päättely voidaan tehdä täsmälleen kuten yllä. Yleensä sovitaan, että singulaariarvot järjestetään suurimmasta pienimpään, jolloin siis suurimman kuvavektorin pituuden antaa aina x = ±v1 .) 2 MS-A0002 Matriisilaskenta, III/2022 Turunen / Bergman Tehtävä 7 (L): Laske singulaariarvohajotelma (SVD) matriisille ∗ 3 a 2 0 5 c B= . 4 b 0 0 12 d Ratkaisu: Laskemalla saadaan matriiseiksi B ja B T B 30 72 2500 6000 T B= ja B B = . 40 96 6000 14400 Matriisin B singulaariarvot ovat matriisin B T B ominaisarvojen neliöjuuret, ja matriisin U sarakkeet ovat näitä ominaisarvoja vastaavat ominaisvektorit. Siispä matriisin B T B ominaisarvoiksi saadaan λ1 + λ2 = T R(B T B) = 16900 λ1 λ2 = det(B T B) = 2500 · 14400 − 60002 = 0 ⇒ λ1 = 16900, λ2 = 0. Siispä, ominaisarvoja vastaavat ominaisvektorit ovat 5 12 12 −14400 6000 −12 5 λ1 = 16900 : ,→ ⇒ v1 = 6000 −2500 0 0 13 1 12 1 2500 6000 5 12 λ2 = 0 : ,→ ⇒ v2 = 5 6000 14400 0 0 13 − 12 Saadaan siis 5 12 12 130 0 1 Σ= , V = 5 . 0 0 13 1 − 12 Matriisin B jokaiselle singulaarivektoriparille pätee Bvi = σi ui . Tästä saataisiin ratkaistua singulaarivektorit u matriisiin U , mutta koska ominaisarvo λ2 = 0, joten sitä vastaavaa singulaarivektoria ei voi laskea. Sen sijaan vastaavaksi singulaarivektoriksi voidaan valita mikä tahansa yksikkövektori, joka on ensimmäisen vektorin kanssa ortogonaalinen. 5 1 30 72 12 12 1 3 1 = u1 = Bv1 = σ1 130 40 96 13 1 5 4 1 −4 u2 = . 5 3 Täten, B:n singulaariarvohajotelma on 5 1 3 −4 130 0 12 12 1 B= 5 . 0 0 13 1 − 12 5 4 3 3