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.
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.
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.
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.
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.
Vektorer og matricer | |||||||||
---|---|---|---|---|---|---|---|---|---|
Vektorer |
| ||||||||
matricer |
| ||||||||
Andet |