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

Similar documents