Katsaus konepellin alle - iteratiivisia menetelmiä ominaisarvotehtävälle

Samankaltaiset tiedostot
Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Milloin A diagonalisoituva?

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

MS-A0004/A0006 Matriisilaskenta

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Matriisilaskenta Luento 16: Matriisin ominaisarvot ja ominaisvektorit

Insinöörimatematiikka D

5 OMINAISARVOT JA OMINAISVEKTORIT

Ratkaisuehdotukset LH 10 / vko 48

Lineaarikuvauksen R n R m matriisi

Ratkaisuehdotukset LH 3 / alkuvko 45

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Ominaisarvo ja ominaisvektori

Ominaisarvo ja ominaisvektori

Kanta ja Kannan-vaihto

Insinöörimatematiikka D

Esimerkki 4.4. Esimerkki jatkoa. Määrää matriisin ominaisarvot ja -vektorit. Ratk. Nyt

1 Ominaisarvot ja ominaisvektorit

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

MS-C1340 Lineaarialgebra ja

Matemaattinen Analyysi / kertaus

Numeeriset menetelmät

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

MS-C1340 Lineaarialgebra ja

Päättelyn voisi aloittaa myös edellisen loppupuolelta ja näyttää kuten alkupuolella, että välttämättä dim W < R 1 R 1

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

5 Ominaisarvot ja ominaisvektorit

Sisätuloavaruudet. 4. lokakuuta 2006

Ominaisarvoon 4 liittyvät ominaisvektorit ovat yhtälön Ax = 4x eli yhtälöryhmän x 1 + 2x 2 + x 3 = 4x 1 3x 2 + x 3 = 4x 2 5x 2 x 3 = 4x 3.

Esimerkki 19. Esimerkissä 16 miniminormiratkaisu on (ˆx 1, ˆx 2 ) = (1, 0).

Matriisiteoria Harjoitus 1, kevät Olkoon. cos α sin α A(α) = . sin α cos α. Osoita, että A(α + β) = A(α)A(β). Mikä matriisi A(α)A( α) on?

s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Lineaarialgebra ja matriisilaskenta I

Matriisilaskenta Luento 8: LU-hajotelma

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

Ratkaisuehdotukset LH 7 / vko 47

2.5. Matriisin avaruudet ja tunnusluvut

MS-A0003/A Matriisilaskenta Laskuharjoitus 6

1 Matriisit ja lineaariset yhtälöryhmät

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Matematiikka B2 - TUDI

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

MS-A0004/MS-A0006 Matriisilaskenta Laskuharjoitus 6 / vko 42

Lineaarialgebra ja matriisilaskenta I

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

ominaisvektorit. Nyt 2 3 6

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Arvostus Verkostoissa: PageRank. Idea.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Matriisialgebra harjoitukset, syksy 2016

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

Kanta ja dimensio 1 / 23

Insinöörimatematiikka D

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Matematiikka B2 - Avoin yliopisto

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Similaarisuus. Määritelmä. Huom.

Avaruuden R n aliavaruus

Osoita, että täsmälleen yksi vektoriavaruuden ehto ei ole voimassa.

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

Ortogonaalisen kannan etsiminen

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Käänteismatriisin ominaisuuksia

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Matriisihajotelmat. MS-A0007 Matriisilaskenta. 5.1 Diagonalisointi. 5.1 Diagonalisointi

802320A LINEAARIALGEBRA OSA I

Lineaarialgebra, kertausta aiheita

6 MATRIISIN DIAGONALISOINTI

ja F =

Tehtäväsarja I Seuraavat tehtävät liittyvät kurssimateriaalin lukuun 7 eli vapauden käsitteeseen ja homogeenisiin

MS-C1340 Lineaarialgebra ja

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

1 Kannat ja kannanvaihto

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

C = {(x,y) x,y R} joiden joukossa on määritelty yhteen- ja kertolasku seuraavasti

Oppimistavoitematriisi

Ortogonaaliset matriisit, määritelmä 1

1 Lineaariavaruus eli Vektoriavaruus

Lineaarialgebra II, MATH.1240 Matti laaksonen, Lassi Lilleberg

Insinöörimatematiikka D

(0 desimaalia, 2 merkitsevää numeroa).

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Differentiaaliyhtälöt II, kevät 2017 Harjoitus 5

Tehtäväsarja I Seuraavat tehtävät liittyvät kurssimateriaalin lukuun 7 eli vapauden käsitteeseen ja homogeenisiin

Ominaisvektoreiden lineaarinen riippumattomuus

Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44

4. Lasketaan transienttivirrat ja -jännitteet kuvan piiristä. Piirielimien arvot ovat C =

Ennakkotehtävän ratkaisu

x = y x i = y i i = 1, 2; x + y = (x 1 + y 1, x 2 + y 2 ); x y = (x 1 y 1, x 2 + y 2 );

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Matriisilaskenta Laskuharjoitus 5 - Ratkaisut / vko 41

Lineaarialgebra ja differentiaaliyhtälöt Harjoitus 4 / Ratkaisut

1 Avaruuksien ja lineaarikuvausten suora summa

Numeeriset menetelmät

Matriisialgebra harjoitukset, syksy x 1 + x 2 = a 0

Oppimistavoitematriisi

x = y x i = y i i = 1, 2; x + y = (x 1 + y 1, x 2 + y 2 ); x y = (x 1 y 1, x 2 + y 2 );

Transkriptio:

Katsaus konepellin alle - iteratiivisia menetelmiä ominaisarvotehtävälle Saku Suuriniemi saku.suuriniemi@tut.fi TTY / Sähkötekniikka Fysiikan seminaari 13.2.2014 1 / 29

Outline Ominaisarvotehtävä Matriisien spektrilause Potenssiinkorotusmenetelmä Rayleigh n osamäärä Inverssi-iteraatio Ominaisarvojen siirto Ominaisarvojen siirto ja kääntö Useampi ominaisvektori kerralla Deflaatio Yhteenveto Polkuja eteenpäin 2 / 29

Outline Ominaisarvotehtävä Matriisien spektrilause Potenssiinkorotusmenetelmä Rayleigh n osamäärä Inverssi-iteraatio Ominaisarvojen siirto Ominaisarvojen siirto ja kääntö Useampi ominaisvektori kerralla Deflaatio Yhteenveto Polkuja eteenpäin 2 / 29

Outline Ominaisarvotehtävä Matriisien spektrilause Potenssiinkorotusmenetelmä Rayleigh n osamäärä Inverssi-iteraatio Ominaisarvojen siirto Ominaisarvojen siirto ja kääntö Useampi ominaisvektori kerralla Deflaatio Yhteenveto Polkuja eteenpäin 2 / 29

Outline Ominaisarvotehtävä Matriisien spektrilause Potenssiinkorotusmenetelmä Rayleigh n osamäärä Inverssi-iteraatio Ominaisarvojen siirto Ominaisarvojen siirto ja kääntö Useampi ominaisvektori kerralla Deflaatio Yhteenveto Polkuja eteenpäin 2 / 29

Outline Ominaisarvotehtävä Matriisien spektrilause Potenssiinkorotusmenetelmä Rayleigh n osamäärä Inverssi-iteraatio Ominaisarvojen siirto Ominaisarvojen siirto ja kääntö Useampi ominaisvektori kerralla Deflaatio Yhteenveto Polkuja eteenpäin 2 / 29

Outline Ominaisarvotehtävä Matriisien spektrilause Potenssiinkorotusmenetelmä Rayleigh n osamäärä Inverssi-iteraatio Ominaisarvojen siirto Ominaisarvojen siirto ja kääntö Useampi ominaisvektori kerralla Deflaatio Yhteenveto Polkuja eteenpäin 2 / 29

Ominaisarvotehtävä Ominaisarvotehtävä määritellään lineaarioperaattorille L : V V. (Kuvaa vektoriavaruuden V alkiot takaisin avaruuteen V ) Etsi v V, v 0 ja luku λ C, että yhtälö toteutuu. Lv = λv Kuva kollineaarinen alkukuvan kanssa (tai nolla). Ominaispareja (v, λ) usein paljon. Jos V :n dimensio ei ole äärellinen, ominaispareja yleensä ääretön määrä. 3 / 29

Ominaisarvotehtävä Miksi sen pitäisi kiinnostaa? 4 / 29

Ominaisarvotehtävä Ajasta riippumattoman Schrödingerin yhtälön ratkaiseminen on ominaisarvotehtävä: HΨ = EΨ. (H Hamiltonin operaattori, kuvaa aaltofunktioiden avaruuden itselleen. Energialle E pätee E R.) Ratkaisusoftat etsivät ratkaisun likiarvoja, koska aaltofunktioiden avaruuden dimensio ei ole äärellinen. Tehtävä palautetaan tavalla tai toisella koskemaan matriisin ominaisarvoja. 5 / 29

Ominaisarvotehtävä Hieno homma! Käytetään MatLabin eig:iä. 6 / 29

Ominaisarvotehtävä Matriisit voivat olla aika isoja, ja harvoja: Tarkkaa likiarvoa etsittävä laajasta avaruudesta. Muistin ja laskentatehon kannalta tärkeää, ettei matriisin jokainen alkio poikkea nollasta. Tavallisesti kiinnostavia ominaisarvoja vain muutama. Yleisalgoritmi kaikille ominaispareille epäkäytännöllinen. Halutaan Harvoille matriiseille tehokas tapa. Ominaisparit yksi kerrallaan tai muutamia (satoja) kerrallaan halutulta alueelta. Ominaisarvotehtävien ratkaisu tiheille ja pienillekin matriiseille iteraatio. (Yli 5. asteen polynomin juuritehtävä). MatLabin roots etsii polynomin juuret ominaisarvotehtävän ratkaisijalla, eikä Newtonilla. Tämä esitys ei edes pyri olemaan tyhjentävä, vaan intro! 7 / 29

Matriisien spektrilause n-kertaa-n-matriisille A löytyy n ominaisparia. Ne voidaan koota matriisimuotoon AH = HΛ, missä matriisin H sarakkeina ominaisvektorit ja diagonaalimatriisin Λ halkaisijalla ominaisarvot. H:n sarakkeiden järjestystä voi vaihdella (kunhan päivittää myös Λ:n). 8 / 29

Matriisien spektrilause Tärkeää: H:n rangi on täysi, eli se virittää määrittely- ja kuva-avaruuden. Siksi mille tahansa neliömatriisille on spektrihajotelma A = HΛH 1. Hamiltonin operaattorista tuotettu matriisi on hermiittinen, eli A H = A pätee. Siksi H unitaari (HH H = H H H = I ). Ominaisarvot reaalisia. 9 / 29

Potenssiinkorotusmenetelmä Harvojen matriisien muuttaminen kallista, niillä kertominen halpaa. 10 / 29

Potenssiinkorotusmenetelmä Satunnaisesti valittu vektori x kerrotaan k kertaa matriisilla A v k = A k x. Esitetään x ominaisvektorien avulla: x = Nyt siis pätee n c i h i. i=1 n v k = A k n n c i h i = c i A k h i = c i λ k i h i. i=1 i=1 i=1 11 / 29

Potenssiinkorotusmenetelmä Moduliltaan suurin ominaisarvo on dominanttti ominaisarvo. Olkoon λ 1 dominantti. Jaetaan n v k = c i λ k i h i. i=1 λ 1 k :lla ja erotetaan ensimmäinen termi: ( ) v k k λ 1 k = c λ1 1 h 1 + λ 1 n i=2 ( ) k λi c i h i. λ 1 Mitä pienempiä suhteet λ i λ 1, sitä nopeammin v k suppenee dominantin ominaisvektorin suuntaiseksi. Käytännön algoritmi: v Av, v v/ v, toistetaan. Tällä Googlekin porskuttaa. Ns. Krylov-menetelmien teho perustuu myös osin tähän. 12 / 29

Rayleigh n osamäärä Jos ominaisvektorin likiarvo tiedossa, miten estimoidaan ominaisarvoa? Ominaisarvoyhtälö voimaan mahdollisimman tarkasti: min λ C Av λv 2. Av λv 0. Ratkaisu: Rayleigh n osamäärä λ = vh Av v H v. 13 / 29

Rayleigh n osamäärä Pärjätäänkö näillä? 14 / 29

Harjoitusvastustaja Harjoitusvastustaja: Vetyatomi, ei-relativistinen radiaalinen aaltoyhtälö (l = 0) atomiyksiköissä ( d 2 1 2 dr 2 1 r ) u = Eu. Sidottujen tilojen ominaisarvot 1/(2n 2 ), n = 1, 2,.... Dimensio äärelliseksi differenssimenetelmällä: h u k 1 u k u k+1 u u k u k 1 h u k u k+1 2u k +u k 1 h 2 Tridiagonaalimatriisi, ominaisvektorissa u:n pisteittäiset arvot. 15 / 29

Harjoitusvastustaja r [0, 4] Bohrin sädettä, päädyissä ehto u = 0, sata pistettä. Pienimmät ominaisarvot: 6.53473 3.87331 1.82540 0.40390-0.48403. Yksi vaivainen negatiivinen ja paljon isompia positiivisia arvoja. Syy: väkisin katkaistu määrittelyalue. Maksimisäde 20, sata pistettä: 0.108730 0.014892-0.050198-0.124678-0.495098 Marginaalisesti parempi tilanne. Suurin ominaisarvo 49.901. 16 / 29

Harjoitusvastustaja Tarvitaan paljon isompi maksimisäde siksi myös paljon enemmän kuin 100 pistettä. Säde 200, 10000 pistettä: negatiivisia ominaisarvoja 12-0.0011057-0.0031202-0.0047611-0.0061573-0.0078124-0.0102041-0.0138889-0.0199999-0.0312498-0.0555549-0.1249969-0.4999500 Suurin ominaisarvo 5000. 0.06 0.04 0.02 0-0.02-0.04-0.06-0.08-0.1-0.12 0 5 10 15 20 Kuva : Neljä ensimmäistä aaltofunktiota 17 / 29

Harjoitusvastustaja Potenssiinkorotusmenetelmä ei löydä pieniä negatiivisia ominaisarvoja. Suppenee kohti dominantin ominaisarvon 5000 vektoria. 18 / 29

Inverssi-iteraatio A:n pienimmät ominaisarvot kuvautuvat A 1 :n suurimmiksi. Ominaisvektorit säilyvät päikseen: AA 1 = HΛH 1 (HΛH 1 ) 1 = HΛH 1 HΛ 1 H 1 = I. Idea: Jos halutaan moduliltaan pienin ominaisarvo, ajetaan potenssiinkorotusmenetelmää käänteismatriisilla! 19 / 29

Ominaisarvojen siirto Muita ominaisvektorit säilyttäviä jekkuja? 20 / 29

Ominaisarvojen siirto Matriisin A si spektrihajotelma: A si = HΛH 1 si = H(Λ si )H 1. Jokainen ominaisarvo λ i siirtyy arvoon λ i s. Tällä pääsee käsiksi esimerkin negatiivisiin ominaisarvoihin: tehdään negatiivisimmasta ominaisarvosta dominantti. s 21 / 29

Ominaisarvojen siirto Ongelma: Pelkällä siirrolla moni ominaisarvo lähellä dominanttia. Suppenee hitaasti. Koeajo 1 Siirretään ominaisarvot luvulla -5000, jolloin saadaan dominantti ominaisarvo -5000,5. Montako kierrosta tarvitaan, että virhe ominaisarvoestimaatissa on N:nessä numerossa? 1:825:(3), 12:95.4:(2), 123:9.42:(1), 2315:0.499:(0), 28978:-0.40001:(-1), 40852:-0.490:(-2) 40 000 iteraatiota kahteen oikeaan numeroon! 22 / 29

Ominaisarvojen siirto ja kääntö Jos matriisin ominaisarvot ensin siirretään ja sitten vielä käännetään, saadaan ominaisarvot 1 λ i s. Miten saadaan λi :n ominaisvektori huikean dominantiksi? Millä matriisilla pitää tehdä ja mitä, jotta vektori selviää nopeasti potenssiinkorotusmenetelmällä? Jos siirtoa s vielä päivitetään sopivasti, estimaatti suppenee hirmuista vauhtia. 23 / 29

Ominaisarvojen siirto ja kääntö Koeajo 2 Siirretään -1:llä ja käännetään. 3:-0.22834, 4:-0.40948, 5:-0.47591, 6:-0.49385, 8:-0.49954:(-3), 10:-0.49992:(-4), 11:-0.49994:(-5), 13:-0.49995:(-6) 15:(-7) No niin! 7 numeroa 15 iteraatiolla. Noin 2 iteraatiota uutta oikeaa numeroa kohti. Koeajo 3 Aloitetaan siirrosta -1, ja päivitetään siirtoa varovasti Rayleigh n osamäärän r suuntaan, eli s = (10s + r)/11. Suppenee arvoon -0.49995 7:llä askeleella. Uusi oikea numero melkein joka iteraatiolla. 24 / 29

Useampi ominaisvektori kerralla Yleensä yritetään ratkaista useampi kuin yksi ominaispari. Tarpeet: 1. Moninkertainen ominaisarvo 2. Siirron vaihto kallista. Sama siirto kiihdyttää useamman vektorin suppenemista. Haasteet: 1. Kaikki vektorit pyrkivät kohti dominanttia ominasvektoria. 2. Jokin vektoreista supennut. Mitä tehdään? 25 / 29

Deflaatio Ominaisvektori h 1 supennut: Rayleigh n osamäärä r toteuttaa Ah 1 rh 1 r δ. Aika jättää tämä pari rauhaan. Tehtävä hajotettuna tunnettuun ja tuntemattomaan: ] [ ] A [h [ ] r 0 1 H 2 = h 1 H 2 0 Λ 2 Hermittinen A, eli H 1 = H H ja [ ] [ ] h1 A = h 1 r H 2 Λ H 2 H2 H = h 1 rh1 H + H 2 Λ 2 H2 H. Matriisilla A h 1 rh1 H yksi nollasta poikkeava ominaisarvo vähemmän: ominaispariksi (h 1, 0). 26 / 29

Deflaatio Uudet ominaisvektorit h 1 :lle ortgonaalisia: h H 1 H 2 = 0. Tiedetään mistä etsiä. Deflaatio nollaa kerralla useamman tunnetun ominaisarvon. Matriisia A ei oikeasti tarvitse muokata: deflaatio voidaan toteuttaa algoritmeissa implisiittisenä. 27 / 29

Yhteenveto Redusointi likiarvotehtäväksi matriisimuotoon. Iteraatio: parannetaan likiarvoa askelittain. Avainoperaatio matriisilla tai sen inverssillä kertominen. Jahdataan dominanttia ominaisparia. Toteutus ammattilaisten koodaamia moduleja käyttäen. (Numeerinen lineaarialgebra on sudenkuoppia täynnä.) 28 / 29

Polkuja eteenpäin Erinomaisia kirjoja: Lloyd N. Trefethen, David Bau: Numerical Linear Algebra, SIAM, Philadelphia, 1997. Z. Bai, J. Demmel, J. Dongarra, A. Ruhe, H. van der Vorst: Templates for the solution of algebraic eigenvalue problems: a practical guide, SIAM, Philadelphia, 2000. Avainsanoja: Lanczosin menetelmä, Arnoldin menetelmä Ritzin parit, Ritzin projektiot Esikäsittely (preconditioning) QR-iteraatio (tai aliavaruusiteraatio) Yleistetty ominaisarvotehtävä Jacobi-Davidsonin menetelmä Luotettavia lohkoja lineaarialgebraan Matlab, Octave, SciPy LAPACK PETSc 29 / 29