QR algoritme

QR-algoritmen  er en numerisk metode i lineær algebra til at løse det komplette egenværdiproblem, det vil sige at finde alle egenværdier og egenvektorer i en matrix . Det blev udviklet i slutningen af ​​1950'erne uafhængigt af V. N. Kublanovskaya og J. Francis.

Algoritme

Lad A  være en reel matrix, som vi ønsker at finde egenværdier og vektorer for. Vi sætter A 0 = A . Ved det k . trin (startende fra k = 0), udregn QR-dekomponeringen A k = Q k R k , hvor Q k  er en ortogonal matrix (det vil sige Q k T = Q k −1 ), og R k  er en øvre trekantet matrix . Så definerer vi A k +1 = R k Q k .

Læg mærke til det

det vil sige, at alle matricer A k er ens , det vil sige, at deres egenværdier er ens.

Lad alle diagonale minorer i matrix A være ikke - degenererede . Derefter konvergerer sekvensen af ​​matricer A k i form til den cellulære retvinklede trekantede form svarende til celler med egenværdier af samme modul. [en]

For at få egenvektorerne til matricen skal du gange alle matricerne Q k .

Algoritmen betragtes som beregningsstabil , da den er produceret af ortogonale lighedstransformationer.

Bevis for en symmetrisk positiv bestemt matrix

Vi antager, at egenværdierne af en positiv-definitiv matrix A er ordnet i faldende rækkefølge:

Lade

og S  er en matrix sammensat af egenvektorer af matricen A . Derefter kan matrix A skrives som en spektral dekomponering

Lad os finde et udtryk for potenserne af den oprindelige matrix i form af matricerne Q k og R k . På den ene side, per definition af QR-algoritmen:

Ved at anvende denne relation rekursivt får vi:

Ved at introducere følgende notation:

vi får

På den anden side:

Ved at sidestille de rigtige dele af de sidste to formler får vi:

Antag, at der er en LU-nedbrydning af matricen S T :

derefter

Vi multiplicerer fra højre med matrixen invers til U og derefter med matrixen invers til Λ k :

Det kan man vise

For uden tab af generalitet kan vi antage, at der er enheder på diagonalen af ​​matricen L , derfor

Betegn

desuden er matrixen P k øvre trekantet, som produktet af øvre trekantede og diagonale matricer.

Det har vi altså bevist

.

Det følger af det unikke ved QR-nedbrydningen, at hvis produktet af en ortogonal og trekantet matrix konvergerer til en ortogonal matrix, så konvergerer den trekantede matrix til identitetsmatrixen . Af det sagte følger det

Det vil sige, at matricerne Sk konvergerer til matrixen af ​​egenvektorer for matricen A.

Fordi

derefter

Går vi til grænsen får vi:

Så vi har bevist, at QR-algoritmen giver os mulighed for at løse det komplette egenværdiproblem for en symmetrisk positiv-bestemt matrix.

Implementering af QR-algoritmen

Under visse betingelser konvergerer sekvensen af ​​matricer til en trekantet matrix, Schur-nedbrydningen af ​​en matrix . I dette tilfælde er egenværdierne af den trekantede matrix placeret på dens diagonal, og problemet med at finde egenværdierne anses for at være løst. I konvergenstests er det ikke praktisk at kræve nøjagtige nuller i nuldelen af ​​en matrix, men man kan bruge Gershgorins cirkelsætning , som sætter fejlgrænser.

I matrixens begyndelsestilstand (uden yderligere transformationer) er omkostningerne ved iterationer relativt høje. Omkostningerne ved algoritmen kan reduceres ved først at konvertere matricen til form af en øvre Hessenberg-matrix (omkostningerne ved at opnå, som ved metoden baseret på Householder-transformationen estimeres som aritmetiske operationer), og derefter bruge en endelig sekvens af ortogonal lighedstransformationer. Denne algoritme minder lidt om den tosidede QR-nedbrydning. (I den sædvanlige QR-nedbrydning multipliceres Householder-reflektionsmatricen kun med originalen til venstre, mens i tilfælde af brug af Hessenberg-formen multipliceres refleksionsmatricen med originalen både til venstre og på højre.) At finde QR-nedbrydningen af ​​den øvre Hessenberg-matrix vurderes som aritmetiske operationer. På grund af det faktum, at formen af ​​Hessenberg-matricen er næsten øvre trekantet (den har kun et subdiagonalt element, der ikke er lig med nul), er det muligt straks at reducere antallet af iterationer, der kræves til konvergensen af ​​QR-algoritmen .

Hvis den oprindelige matrix er symmetrisk, er den øvre Hessenberg-matrix også symmetrisk og derfor tridiagonal. Hele sekvensen af ​​matricer har den samme egenskab . I dette tilfælde estimeres omkostningerne ved proceduren som aritmetiske operationer ved hjælp af en metode baseret på Householder-transformationen. At finde QR-nedbrydningen af ​​en symmetrisk tridiagonal matrix evalueres som operationer.

Konvergenshastigheden afhænger af graden af ​​separation af egenværdierne, og i praktisk implementering bruges "skift" eksplicit eller implicit for at øge separationen af ​​egenværdierne og for at fremskynde konvergens. I sin typiske form for symmetriske matricer finder QR-algoritmen nøjagtigt én egenværdi (reducerer dimensionen af ​​matrixen) i en eller to iterationer, hvilket gør denne tilgang både effektiv og pålidelig.

Implicit implementering af QR-algoritmen

I moderne computerpraksis implementeres QR-algoritmen ved hjælp af dens implicitte version, hvilket forenkler tilføjelsen af ​​flere "skift". Til at begynde med er matrixen reduceret til formen af ​​den øvre Hessenberg-matrix , ligesom i den eksplicitte version. Derefter, ved hvert trin, transformeres den første søjle gennem en lavdimensionel husholderlighedstransformation til den første søjle (eller ), hvor er et gradpolynomium , der bestemmer "skift"-strategien (normalt , hvor og er to egenværdier) af 2×2 resterende submatrix, er disse såkaldt implicit dobbeltforskydning). Derefter udføres successive Householder-transformationer af dimensionen for at returnere arbejdsmatricen til formen af ​​den øvre Hessenberg-matrix.

Noter

  1. Numeriske metoder / N. S. Bakhvalov, N. P. Zhidkov, G. M. Kobelkov. - 3. udg. - M. : BINOM, Videnlaboratoriet, 2004. - S. 321. - 636 s. — ISBN 5-94774-175-X .

Links