Numeeriset menetelmät TIEA381 Luento 5 Kirsi Valjus Jyväskylän yliopisto Luento 5 () Numeeriset menetelmät 3.4.2013 1 / 28
Luennon 5 sisältö Luku 4: Ominaisarvotehtävistä Potenssiinkorotusmenetelmä QR-menetelmä Luento 5 () Numeeriset menetelmät 3.4.2013 2 / 28
Luku 4. Ominaisarvotehtävistä Ominaisarvotehtäviin törmätään monilla tieteenaloilla: rakenneanalyysissä ominaisarvotehtävän ratkaisu antaa rakenteen (laiva tai lentokone) ominaisvärähtelytaajuudet. kvanttifysiikassa systeemejä kuvataan Schrödingerin yhtälöllä, jonka ominaisarvot ovat eri tilojen energiat. makrotalousmalleissa niin sanottujen tasapainotettujen hinnoittelustrategioiden ja tuotantorakenteiden määrittäminen johtaa ominaisarvotehtäviin. Luento 5 () Numeeriset menetelmät 3.4.2013 3 / 28
4.1 Algebrallinen ominaisarvotehtävä 4.1 Algebrallinen ominaisarvotehtävä Skalaari λ on n n neliömatriisin A ominaisarvo, jos on olemassa vektori x 0, s.e. Ax = λx. (1) Vektoria x sanotaan ominaisvektoriksi. Matriisin ominaisarvojen muodostama joukko on matriisin spektri. Ominaisarvot ovat ne parametrin λ arvot, joilla yhtälöllä (A λi )x = 0 on nollasta poikkeava ratkaisu. Ominaisarvoa vastaava ominaisvektori ei ole yksikäsitteinen: Jos x on ominaisvektori ja α 0 mielivaltainen vakio, niin αx on myös ominaisvektori. Luento 5 () Numeeriset menetelmät 3.4.2013 4 / 28
4.1 Algebrallinen ominaisarvotehtävä Algebrallinen omin.arvotehtävä jatkuu Ominaisarvot ovat karakteristisen polynomin p n (λ) := det(a λi ) nollakohdat. Koska n-asteisella polynomilla on täsmälleen n kompleksista juurta, on ominaisarvojakin n kappaletta. Niitä merkitään yleensä symboleilla λ 1,..., λ n. Reaalisenkin matriisin ominaisarvot voivat olla kompleksisia. Symmetrisen matriisin ominaisarvot ovat kuitenkin aina reaalisia. Luento 5 () Numeeriset menetelmät 3.4.2013 5 / 28
4.1 Algebrallinen ominaisarvotehtävä Algebrallinen omin.arvotehtävä jatkuu Ominaisarvon algebrallinen kertaluku kertoo, kuinka moninkertainen karakteristisen polynomin juuri ominaisarvo on. Geometrinen kertaluku on ominaisarvoon liittyvien lineaarisesti riippumattomien ominaisvektoreiden lukumäärä. Jos algebrallinen kertaluku on suurempi kuin geometrinen kertaluku, ominaisarvoa sanotaan defektiiviseksi. Luento 5 () Numeeriset menetelmät 3.4.2013 6 / 28
Esimerkki 4.1. Luku 4: Ominaisarvotehtvistä 4.1 Algebrallinen ominaisarvotehtävä Tarkastellaan matriisia A: 3 1 0 λ 0 0 A = 1 2 1 ; λi = 0 λ 0. 0 1 3 0 0 λ A:n karakteristinen polynomi on det(a λi ) = 3 λ 1 0 1 2 λ 1 = (3 λ) 2 λ 0 1 3 λ 1 1 3 λ ( 1) 1 1 0 3 λ = = λ 3 + 8λ 2 19λ + 12 = p 3 (λ). Luento 5 () Numeeriset menetelmät 3.4.2013 7 / 28
Esimerkki 4.1. jatkuu 4.1 Algebrallinen ominaisarvotehtävä Ratkaistaan p 3 (λ) = 0 ja saadaan λ 1 = 1, λ 2 = 3 ja λ 3 = 4. Sijoitetaan λ 1 = 1 yhtälöön (A λ 1 I )x = 0; 2 1 0 x 1 2x 1 x 2 = 0 1 1 1 x 2 = 0 x 1 + x 2 x 3 = 0 0 1 2 x 3 x 2 + 2x 3 = 0, mistä saadaan x 2 = 2x 1 ja x 3 = x 1 + 2x 1 = x 1. Siten λ 1 :stä vastaava ominaisvektori on x 1 = (x 1, 2x 1, x 1 ). Merkitään x 1 = a, a R x 1 = (a, 2a, a). Luento 5 () Numeeriset menetelmät 3.4.2013 8 / 28
Esimerkki 4.1. jatkuu 4.1 Algebrallinen ominaisarvotehtävä Sijoitetaan λ 2 = 3 yhtälöön (A λ 2 I )x = 0; 0 1 0 x 1 x 2 = 0 1 1 1 x 2 = 0 x 1 x 2 x 3 = 0 0 1 0 x 3 x 2 = 0, mistä saadaan x 2 = 0 ja x 3 = x 1. Siten λ 2 :stä vastaava ominaisvektori on x 2 = (x 1, 0, x 1 ). Merkitään x 1 = b, b R x 2 = (b, 0, b). Vastaavalla tavalla saadaan λ 3 :sta vastaava ominaisvektori x 3 = (c, c, c). Luento 5 () Numeeriset menetelmät 3.4.2013 9 / 28
4.1 Algebrallinen ominaisarvotehtävä Esimerkki: 1D Schrödingerin yhtälö Kuvaa kvanttimekaanisten systeemien riippuvuuksia Kun hiukkanen liikkuu potentiaalin U(x) alaisena, niin hiukkasen tilafunktio Ψ(x) toteuttaa Schrödingerin yhtälön { Ψ (x) + au(x)ψ(x) = λψ(x), 0 < x < 1 Ψ(0) = Ψ(1) = 0 Ψ(x) - systeemin tilat λ - tilojen energiat Ajasta riippumaton Schrödingerin yhtälö, ts. systeemin energia ei muutu ajan funktiona vaan paikan x funktiona. Luento 5 () Numeeriset menetelmät 3.4.2013 10 / 28
4.1 Algebrallinen ominaisarvotehtävä Esimerkki: 1D Schrödingerin yhtälö jatkuu Diskretisoidaan yhtälö differenssimenetelmällä: (i = 1,.., n) Ψ(x i h) + 2Ψ(x i ) Ψ(x i + h) h 2 + au(x i )Ψ(x i ) = λψ(x i ), matriisimuodossa 2 2 h 2 + au(x 1 ) 1 h 2 1 2 h 2 h 2 + au(x 2 ) 1 h 2......... 6 4 1 h 2 2 1 h 2 h 2 + au(x n) Algebrallinen ominaisarvotehtävä AΨ = λψ 3 2 7 6 5 4 Ψ 1 Ψ 2. Ψ n 1 Ψ n 3 2 = λ 7 6 5 4 Ψ 1 Ψ 2. Ψ n 1 Ψ n 3. 7 5 Luento 5 () Numeeriset menetelmät 3.4.2013 11 / 28
4.1 Algebrallinen ominaisarvotehtävä Ominaisarvojen numeerinen laskeminen Ominaisarvojen ja -vektorien numeerinen laskeminen on paljon työläämpää kuin lineaarisen yhtälöryhmän ratkaiseminen. Toisin kuin lineaarisen yhtälöryhmän tapauksessa, yleiset ominaisarvotehtävien ratkaisumenetelmät ovat aina iteratiivisia. Vaikka ominaisarvot voidaan periaatteessa laskea polynomien juurten laskemiseen tarkoitetuilla algoritmeilla, ei näin kannata menetellä juuri koskaan. Päinvastoin, polynomien juuret kannattaa laskea ominaisarvojen laskemiseen tarkoitetuilla algoritmeilla! Luento 5 () Numeeriset menetelmät 3.4.2013 12 / 28
4.2. Potenssiinkorotusmenetelmät 4.2. Potenssiinkorotusmenetelmät Olkoon matriisin A ominaisarvoille voimassa λ 1 > λ 2 λ 3... λ n. Oletetaan lisäksi, että vastaavat ominaisvektorit on normeerattu siten, että v (j) = 1, j = 1,..., n. Likiarvo itseisarvoltaan suurimmalle ominaisarvolle λ 1 ja sitä vastaavalle ominaisvektorille v (1) voidaan laskea iteratiivisesti seuraavalla tavalla: Luento 5 () Numeeriset menetelmät 3.4.2013 13 / 28
4.2. Potenssiinkorotusmenetelmät Potenssiinkorotusmenetelmä jatkuu Olkoon x (0) alkuarvaus ominaisvektorille v (1). Muodostetaan jonot {x (k) } ja {c k } seuraavasti: y (k) = Ax (k), c k+1 = y (k) j, missä j valittu s.e. y (k) (k) j = max { y p } 1 p n x (k+1) = 1 y (k). c k+1 Voidaan osoittaa, että lim x (k) = v (1), k lim c k = λ 1. k Luento 5 () Numeeriset menetelmät 3.4.2013 14 / 28
Osoitetaan, että x (k) v (1) 4.2. Potenssiinkorotusmenetelmät Oletetaan, että alkuarvaus x (0) voidaan esittää normeerattujen ominaisvektorien lineaarikombinaationa x (0) = β 1 v (1) + β 2 v (2) +... + β n v (n) siten, että β 1 0, ts. että ominaisvektorit v (i) muodostavat R n :n kannan. Tällöin saadaan x (k) 1 ( = β1 λ k c 1 c 2... c 1v (1) + β 2 λ k 2v (2) +... + β n λ k nv (n)) k ( ( ) λ k k ( ) ) k 1 = β 1 v (1) λ2 + β 2 v (2) λn +... + β n v (n). c 1 c 2... c k λ 1 λ 1 Luento 5 () Numeeriset menetelmät 3.4.2013 15 / 28
4.2. Potenssiinkorotusmenetelmät Osoitetaan, että x (k) v (1) (cont.) Edellä saatiin ( ( ) x (k) λ k k ( ) ) k 1 = β 1 v (1) λ2 + β 2 v (2) λn +... + β n v (n). c 1 c 2... c k λ 1 λ 1 Alkuperäisestä oletuksesta seuraa λ i λ 1 < 1, kun i > 1. Siten ( ) k λi lim = 0 k λ 1 ja edelleen lim x (k) = λk 1β 1 v (1). k c 1 c 2... c k Luento 5 () Numeeriset menetelmät 3.4.2013 16 / 28
4.2. Potenssiinkorotusmenetelmät Osoitetaan, että x (k) v (1) (cont.) Ominaisvektori kerrottuna vakiolla on edelleen samaan ominaisarvoon liittyvä ominaisvektori. x (k) konvergoi λ 1 :een liittyvään ominaisvektoriin. Lisäksi voidaan osoittaa, että lim c k = λ 1. k Luento 5 () Numeeriset menetelmät 3.4.2013 17 / 28
4.2. Potenssiinkorotusmenetelmät Potenssiinkorotusmenetelmä jatkuu Menetelmä on yksinkertainen. Konvergenssi on hidasta, jos λ 1 λ 2 1. Etukäteen voi olla vaikea tietää, ovatko menetelmän vaatimat oletukset voimassa. (ts. λ 1 > λ i, v (j) lineaarisesti riippumattomia, β 1 0) Luento 5 () Numeeriset menetelmät 3.4.2013 18 / 28
4.2. Potenssiinkorotusmenetelmät Siirretty käänteinen potenssiinkorotusmenetelmä Samaa ideaa voidaan käyttää muidenkin ominaisarvojen laskemiseen. Tämä perustuu seuraavaan huomioon: Jos (λ, v) on matriisin A ominaispari, niin ((λ σ) 1, v) on matriisin (A σi ) 1 ominaispari. Olkoon A:n ominaisarvot reaaliset ja λ 1 > λ 2 >... > λ n. Lukua σ lähimpänä oleva ominaisarvo voidaan laskea korvaamalla potenssimenetelmän askel y (k) = Ax (k) seuraavalla: y (k) = (A σi ) 1 x (k). Luento 5 () Numeeriset menetelmät 3.4.2013 19 / 28
4.2. Potenssiinkorotusmenetelmät Siirretty käänteinen potenssiinkorotusmenetelmä Käänteismatriisia ei muodosteta eksplisiittisesti, vaan käytännössä ratkaistaan (A σi )y (k) = x (k) esim. LU-hajotelmaa käyttäen. Matriisien A ja (A σi ) 1 ominaisvektorit ovat samat, ts. algoritmiin ei tarvitse tehdä muita muutoksia. Huomaa, että nyt c k 1, ts. haluttu ominaisarvo saadaan λ σ kaavasta λ = σ + 1 c k. Itseisarvoltaan pienin ominaisarvo λ n, mikäli λ n < λ n 1, saadaan asettamalla σ = 0. Luento 5 () Numeeriset menetelmät 3.4.2013 20 / 28
4.3. QR-menetelmä 4.3. QR-menetelmä Olkoon Q kääntyvä matriisi. Tällöin matriisit A ja Q 1 AQ ovat similaarisia, eli niillä on samat ominaisarvot. Lisäksi, jos x on matriisin A ominaisvektori, niin Q 1 x on matriisin Q 1 AQ ominaisvektori. Oletetaan, että A:n ominaisarvot ovat reaaliset ja yksinkertaiset. QR-hajotelma: Jokainen matriisi A voidaan esittää ortogonaalimatriisin Q (eli Q 1 = Q T ) ja yläkolmiomatrisin R tulona A = QR. Luento 5 () Numeeriset menetelmät 3.4.2013 21 / 28
QR-menetelmä jatkuu 4.3. QR-menetelmä Olkoon A (0) := A annettu matriisi. Muodostetaan jono matriiseja {A (k) } seuraavasti: Tehdään QR-hajotelma A (0) :lle: Asetetaan A (0) = Q (0) R (0) (Q (0) ) 1 A (0) = R (0). A (1) = R (0) Q (0) ja sijoitetaan edellä ratkaistu R (0) : A (1) = (Q (0) ) 1 A (0) Q (0). matriisit A (0) ja A (1) ovat similaarisia, eli niillä on samat ominaisarvot. Luento 5 () Numeeriset menetelmät 3.4.2013 22 / 28
QR-menetelmä jatkuu 4.3. QR-menetelmä Iteraatiolla k + 1: Tehdään QR-hajotelma A (k) :lle: Asetetaan A (k) = Q (k) R (k) (Q (k) ) 1 A (k) = R (k). A (k+1) = R (k) Q (k) = (Q (k) ) 1 A (k) Q (k), ts. matriiseilla A (k) ja A (k+1) on samat ominaisarvot. Nyt matriisien jono {A (k) } lähenee yläkolmiomatriisia (tai diagonaalimatriisia, jos A on symmetrinen), jolla on samat ominaisarvot kuin matriisilla A = A (0). Luento 5 () Numeeriset menetelmät 3.4.2013 23 / 28
QR-menetelmä jatkuu 4.3. QR-menetelmä Sekä kolmiomatriisin, että diagonaalimatriisin ominaisarvot ovat diagonaalilla, ts. jono {A (k) } lähenee matriisia λ 1... 0 λ 2 jossa A:n ominaisarvot Λ =........, sijaitsevat diagonaalilla. 0... 0 λ n QR-hajotelman laskeminen täydelle matriisille on työlästä käytännössä A muunnetaan aluksi lähes yläkolmio- matriisiksi, ns. Hessenberg-muotoon, jolle QR-hajotelma on laskennallisesti edullisempi muodostaa. Luento 5 () Numeeriset menetelmät 3.4.2013 24 / 28
Esimerkki 4.2. Luku 4: Ominaisarvotehtvistä 4.3. QR-menetelmä k 1 m k 2 1 m k 3 2 m 3 Tarkastellaan kuvan yksinkertaista jousi-massa-systeemiä. Jos jätetään kitka huomiotta, niin massojen m i poikkeamat x i (t) vaakasuuntaan lepotilasta voidaan laskea differentiaaliyhtälöryhmästä (k 1 + k 2 )x 1 (t) k 2 x 2 (t) = m 1 x 1 (t) k 2 x 1 (t) + (k 2 + k 3 )x 2 (t) = m 2 x 2 (t) k 3 x 2 (t) + k 3 x 3 (t) = m 3 x 3 (t). Luento 5 () Numeeriset menetelmät 3.4.2013 25 / 28
Esimerkki 4.2. jatkuu 4.3. QR-menetelmä Etsitään tilannetta, jossa kaikki massat värähtelevät samalla (tuntemattomalla) taajuudella ω. Tehdään yrite x i (t) = v i cos(ωt), i = 1, 2, 3, missä v = (v 1, v 2, v 3 ) on tuntematon vektori. Sijoittamalla yrite ed. kalvon yhtälöihin havaitaan, että ω:n ja v:n on toteutettava yhtälöryhmä (tässä λ = ω 2 ) k 1 +k 2 k 2 m 1 m 1 0 k 2 k 2 +k 3 k 3 m 2 m 2 m 2 k 0 3 k 3 m 3 m 3 v 1 v 2 v 3 = λ Ominaisarvotehtävän ratkaisuksi saadaan jousi massa-systeemin kolme ominaisvärähtelytaajuutta ja ominaismuotoa, jotka vastaavat eo. yhtälön kolmea ominaisparia (λ i, v (i) ), i = 1, 2, 3. Luento 5 () Numeeriset menetelmät 3.4.2013 26 / 28 v 1 v 2 v 3.
Esimerkki 4.2. jatkuu 4.3. QR-menetelmä Olkoon yksinkertaisuuden vuoksi m i = k i = 1, i = 1, 2, 3. Lasketaan ominaisarvot QR-menetelmällä. 2.80 0.75 0.00 3.22 0.23 0.00 A (1) = 0.75 1.99 0.16, A (3) = 0.23 1.59 0.00 0.00 0.16 0.21 0.00 0.00 0.20 3.25 0.03 0.00 3.25 0.00 0.00 A (6) = 0.03 1.56 0.00, A (9) = 0.00 1.56 0.00 0.00 0.00 0.20 0.00 0.00 0.20 Omin.arvojen likiarvot ovat λ 1 3.25, λ 2 1.56, λ 3 0.20. Luento 5 () Numeeriset menetelmät 3.4.2013 27 / 28
Esimerkki 4.2. jatkuu 4.3. QR-menetelmä A symmetrinen A (k) diagonaalimatr. diagonaalilla. omin. arvot Saadaan ominaisvärähtelytaajuudet ω i (λ i = ω 2 i ) Saadaan ominaisvektorit v (i) Systeemin ominaismuodot saadaan sijoittamalla ω i, v (i) x i (t):n lausekkeeseen Kurssin www-sivulla jousi massa-systeemin ominaismuodot esitettynä animaationa ajan suhteen. Luento 5 () Numeeriset menetelmät 3.4.2013 28 / 28