QR-algoritmi

testwikistä
Siirry navigaatioon Siirry hakuun

QR-algoritmi on lineaarialgebrassa ominaisarvojen laskennassa käytetty algoritmi, eli menetelmä, jolla lasketaan matriisien ominaisarvoja. QR-algoritmin kehittivät samanaikaisesti 1961 John G.F. Francis (Englanti) ja Vera N. Kublanovskaya (Neuvostoliitto).[1]

QR-algoritmi perustuu QR-hajotelman muodostamien ortogonaalisen matriisin ja yläkolmiomatriisin kertomiseen päinvastaisessa järjestyksessä ja algoritmin soveltamiseen rekursiivisesti uuteen muodostuneeseen matriisiin, kunnes riittävän monen iteraatiokierrosten jälkeen ortogonaalinen matriisi lähestyy kohti ykkösmatriisia ja yläkolmiomatriisi matriisia, jonka diagonaalista voidaan lukea matriisin ominaisarvot.

QR-algoritmin kuvaus

Olkoon A matriisi, josta halutaan laskea ominaisarvot, ja olkoon A0:=A. Iteraation askeleella k (alussa k = 0), hajotetaan Ak ortogonaalisen matriisin Qk ja yläkolmiomatriisin Rk tuloksi ja muodostetaan Ak+1 = RkQk.

AkQkRk
RkQkAk+1

Huomaa että

Ak+1=RkQk=QkTQkRkQk=QkTAkQk=Qk1AkQk,

joten kaikki Ak:t ovat similaarisia matriiseja ja siten niillä on samat ominaisarvot. Algoritmi on numeraalisesti stabiili, koska se perustuu ortogonaalisiin similaarisuusmuunnoksiin.

Riittävän monen iteraatiokierroksen jälkeen matriisi Ak supistuu kolmiomatriisiksi, jolloin matriisin ominaisarvot voidaan lukea suoraan diagonaalista.

Esimerkki

Olkoon

A=[5249]

joka hajotetaan Givensin rotaation avulla ortogonaaliseksi matriisiksi Q ja yläkolmiomatriisiksi R.

AQ*R=[0,7810,6250,6250,781][6,4037,1840,0005,778]

Ensimmäinen iteraatiokierros

A1=R*Q=[6,4037,1840,0005,778][0,7810,6250,6250,781]=[0,9491,6103,6104,512]

Toinen iteraatiokierros

A2=R*Q=[10,1513,1090,0003,645][0,9350,3560,3560,935]=[10,5930,7041,2963,407]

Lopulta 10 iteraatiokierroksen jälkeen...

A10=R*Q=[10,4641,9990,0003,536][1,0000,0000,0001,000]=[10,4642,0000,0003,536]

Lähteet

Malline:Viitteet

Aiheesta muualla

  1. J.G.F. Francis, "The QR Transformation, I", The Computer Journal, vol. 4, no. 3, pages 265-271 (1961) online at oxfordjournals.org;
    J.G.F. Francis, "The QR Transformation, II" The Computer Journal, vol. 4, no. 4, pages 332-345 (1962) online at oxfordjournals.org.
    Vera N. Kublanovskaya, "On some algorithms for the solution of the complete eigenvalue problem," USSR Computational Mathematics and Mathematical Physics, vol. 1, no. 3, pages 637–657 (1963, received Feb 1961). Also published in: Zhurnal Vychislitel'noi Matematiki i Matematicheskoi Fiziki, vol.1, no. 4, pages 555–570 (1961).