QR-algoritmi on lineaarialgebran numeerinen menetelmä täydellisen ominaisarvoongelman ratkaisemiseksi, eli matriisin kaikkien ominaisarvojen ja ominaisvektorien löytämiseksi . Sen kehittivät 1950-luvun lopulla itsenäisesti V. N. Kublanovskaya ja J. Francis .
Olkoon A todellinen matriisi, jolle haluamme löytää ominaisarvoja ja vektoreita. Laitamme A 0 = A . Laske k :nnessa vaiheessa (alkaen k = 0: sta) QR-hajotelma A k = Q k R k , missä Q k on ortogonaalinen matriisi (eli Q k T = Q k −1 ) ja R k on ylempi kolmion matriisi . Sitten määritellään A k +1 = R k Q k .
huomaa, että
eli kaikki matriisit A k ovat samanlaisia , eli niiden ominaisarvot ovat yhtä suuret.
Olkoot matriisin A kaikki diagonaaliset minorit ei - degeneroituneita . Sitten matriisien sarja A k konvergoi muodoltaan solun oikeanpuoleiseen kolmiomuotoon , joka vastaa soluja, joilla on saman moduulin ominaisarvot. [yksi]
Saadaksesi matriisin ominaisvektorit, sinun on kerrottava kaikki matriisit Q k .
Algoritmia pidetään laskennallisesti stabiilina , koska se tuotetaan ortogonaalisilla samankaltaisuusmuunnoksilla.
Oletetaan, että positiivisen määrätyn matriisin A ominaisarvot on järjestetty laskevassa järjestyksessä:
Päästää
ja S on matriisi, joka koostuu matriisin A ominaisvektoreista . Sitten matriisi A voidaan kirjoittaa spektrihajotelmana
Etsitään lauseke alkuperäisen matriisin potenssien suhteen matriisien Q k ja R k suhteen . Toisaalta QR-algoritmin määritelmän mukaan:
Kun tätä suhdetta käytetään rekursiivisesti, saamme:
Ottamalla käyttöön seuraavan merkinnän:
saamme
Toisaalta:
Yhdistämällä kahden viimeisen kaavan oikeat osat saamme:
Oletetaan, että matriisilla S T on LU-hajotelma :
sitten
Kerrotaan oikealta matriisin käänteisarvolla U ja sitten matriisin käänteisluvulla Λ k :
Sen voi osoittaa
Sillä ilman yleisyyden menetystä voidaan olettaa, että matriisin L diagonaalissa on yksiköitä , joten
Merkitse
lisäksi matriisi P k on ylempi kolmiomainen, ylempien kolmio- ja diagonaalimatriisien tulona.
Olemme siis todistaneet sen
.QR-hajoamisen ainutlaatuisuudesta seuraa, että jos ortogonaalisen ja kolmiomatriisin tulo konvergoi ortogonaalimatriisiin, kolmiomatriisi konvergoi identiteettimatriisiin . Siitä, mitä on sanottu, se seuraa
Toisin sanoen matriisit S k konvergoivat matriisin A ominaisvektorien matriisiin .
Koska
sitten
Ylittäessämme rajan, saamme:
Olemme siis osoittaneet, että QR-algoritmin avulla voimme ratkaista täydellisen ominaisarvoongelman symmetriselle positiivis-määräiselle matriisille.
Tietyissä olosuhteissa matriisien sekvenssi konvergoi kolmiomatriisiin, matriisin Schur-hajotelmaan . Tässä tapauksessa kolmiomatriisin ominaisarvot sijaitsevat sen diagonaalissa, ja ominaisarvojen löytämisen ongelma katsotaan ratkaistuksi. Konvergenssitesteissä ei ole käytännöllistä vaatia tarkkoja nollia matriisin nollaosaan, vaan voidaan käyttää Gershgorinin ympyrälausetta , joka asettaa virherajat.
Matriisin alkutilassa (ilman lisämuunnoksia) iteraatioiden kustannukset ovat suhteellisen korkeat. Algoritmin kustannuksia voidaan pienentää muuntamalla matriisi ensin ylemmän Hessenberg-matriisin muotoon (jonka saamisen kustannukset Householder-muunnokseen perustuvalla menetelmällä arvioidaan aritmeettisina operaatioina) ja sitten käyttämällä äärellistä ortogonaalista sarjaa. samankaltaisuusmuunnoksia. Tämä algoritmi on jossain määrin samanlainen kuin kaksipuolinen QR-hajotus. (Tavallisessa QR-jakelussa Householderin heijastusmatriisi kerrotaan alkuperäisellä vain vasemmalla, kun taas Hessenberg-muotoa käytettäessä heijastusmatriisi kerrotaan alkuperäisellä sekä vasemmalla että oikealla.) Ylemmän Hessenberg-matriisin QR-hajotelman löytäminen arvioidaan aritmeettisina operaatioina. Koska Hessenberg-matriisin muoto on melkein ylemmän kolmion muotoinen (sillä on vain yksi diagonaalinen elementti, joka ei ole yhtä suuri kuin nolla), on mahdollista välittömästi vähentää QR-algoritmin konvergenssiin tarvittavien iteraatioiden määrää. .
Jos alkuperäinen matriisi on symmetrinen, ylempi Hessenberg-matriisi on myös symmetrinen ja siksi kolmikulmainen. Koko matriisijonolla on sama ominaisuus . Tässä tapauksessa toimenpiteen hinta arvioidaan aritmeettisina operaatioina Householder-muunnoksen menetelmällä. Symmetrisen kolmikulmaisen matriisin QR-hajotelman löytäminen arvioidaan operaatioina.
Konvergenssin nopeus riippuu ominaisarvojen erotteluasteesta, ja käytännön toteutuksessa "siirtymiä" käytetään eksplisiittisesti tai implisiittisesti tehostamaan ominaisarvojen erottelua ja nopeuttamaan konvergenssia. Tyypillisessä muodossaan symmetrisille matriiseille QR-algoritmi löytää tarkasti yhden ominaisarvon (pienentämällä matriisin ulottuvuutta) yhdessä tai kahdessa iteraatiossa, mikä tekee tästä lähestymistavasta sekä tehokkaan että luotettavan.
Nykyaikaisessa laskentakäytännössä QR-algoritmi toteutetaan käyttämällä sen implisiittistä versiota, mikä yksinkertaistaa useiden "siirtojen" lisäämistä. Aluksi matriisi pelkistetään ylemmän Hessenberg-matriisin muotoon , aivan kuten eksplisiittisessä versiossa. Sitten jokaisessa vaiheessa ensimmäinen sarake muunnetaan pieniulotteisella Householder-samankaltaisuusmuunnolla ensimmäiseksi sarakkeeksi (tai ), jossa on astepolynomi, joka määrittää "siirtymien" strategian (yleensä , missä ja ovat kaksi ominaisarvoa 2 × 2 jäännösalimatriisista nämä ovat niin kutsuttuja implisiittisiä kaksoissiirtoja). Sitten suoritetaan peräkkäiset Householder-muunnokset dimensiosta työmatriisin palauttamiseksi ylemmän Hessenberg-matriisin muotoon.
Vektorit ja matriisit | |||||||||
---|---|---|---|---|---|---|---|---|---|
Vektorit |
| ||||||||
matriiseja |
| ||||||||
Muut |