QR-algoritmi

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 .

Algoritmi

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.

Todistus symmetriselle positiiviselle määrätylle matriisille

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.

QR-algoritmin toteutus

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.

QR-algoritmin implisiittinen toteutus

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.

Muistiinpanot

  1. Numeeriset menetelmät / N. S. Bakhvalov, N. P. Zhidkov, G. M. Kobelkov. - 3. painos - M. : BINOM, Knowledge Laboratory, 2004. - S. 321. - 636 s. — ISBN 5-94774-175-X .

Linkit