QR-algoritmen är en numerisk metod i linjär algebra för att lösa hela egenvärdesproblemet, det vill säga att hitta alla egenvärden och egenvektorer i en matris . Det utvecklades i slutet av 1950-talet oberoende av V. N. Kublanovskaya och J. Francis.
Låt A vara en reell matris för vilken vi vill hitta egenvärden och vektorer. Vi sätter A 0 = A . Vid det k : te steget (med början från k = 0), beräkna QR-sönderdelningen Ak = Qk Rk , där Qk är en ortogonal matris ( det vill säga QkT = Qk − 1 ) och Rk är en övre triangulär matris . Sedan definierar vi A k +1 = R k Q k .
Lägg märke till att
det vill säga alla matriser A k är lika , det vill säga deras egenvärden är lika.
Låt alla diagonala minorer i matrisen A vara icke- degenererade . Sedan konvergerar sekvensen av matriser A k i form till den cellulära rätvinkliga triangulära formen som motsvarar celler med egenvärden med samma modul. [ett]
För att få matrisens egenvektorer måste du multiplicera alla matriserna Q k .
Algoritmen anses beräkningsstabil , eftersom den produceras av ortogonala likhetstransformationer.
Vi antar att egenvärdena för en positiv-definitiv matris A är ordnade i fallande ordning:
Låta
och S är en matris sammansatt av egenvektorer för matrisen A . Sedan kan matrisen A skrivas som en spektral nedbrytning
Låt oss hitta ett uttryck för potenserna av den ursprungliga matrisen i termer av matriserna Q k och R k . Å ena sidan, per definition av QR-algoritmen:
Genom att tillämpa denna relation rekursivt får vi:
Genom att införa följande notation:
vi får
Å andra sidan:
Genom att likställa de rätta delarna av de två sista formlerna får vi:
Antag att det finns en LU-sönderdelning av matrisen S T :
sedan
Vi multiplicerar från höger med matrisen invers till U och sedan med matrisen invers till Λ k :
Det kan man visa
För utan förlust av generalitet kan vi anta att det finns enheter på diagonalen av matrisen L , därför
Beteckna
dessutom är matrisen Pk övre triangulär, som produkten av övre triangulära och diagonala matriser.
Det har vi alltså bevisat
.Det följer av det unika med QR-nedbrytningen att om produkten av en ortogonal och triangulär matris konvergerar till en ortogonal matris, då konvergerar den triangulära matrisen till identitetsmatrisen . Av det sagda följer att
Det vill säga, matriserna Sk konvergerar till matrisen av egenvektorer för matrisen A .
Därför att
sedan
När vi går till gränsen får vi:
Så vi har bevisat att QR-algoritmen tillåter oss att lösa hela egenvärdesproblemet för en symmetrisk positiv-definitiv matris.
Under vissa förhållanden konvergerar sekvensen av matriser till en triangulär matris, Schur-nedbrytningen av en matris . I det här fallet är egenvärdena för den triangulära matrisen placerade på dess diagonal, och problemet med att hitta egenvärden anses löst. I konvergenstest är det inte praktiskt att kräva exakta nollor i nolldelen av en matris, men man kan använda Gershgorins cirkelsats , som sätter felgränser.
I matrisens initiala tillstånd (utan ytterligare transformationer) är kostnaden för iterationer relativt hög. Kostnaden för algoritmen kan reduceras genom att först konvertera matrisen till formen av en övre Hessenberg-matris (kostnaden för att erhålla vilken med metoden baserad på hushållartransformen uppskattas som aritmetiska operationer), och sedan använda en ändlig sekvens av ortogonal likhetstransformationer. Denna algoritm påminner något om den tvåsidiga QR-nedbrytningen. (I den vanliga QR-sönderdelningen multipliceras Householder-reflektionsmatrisen med originalet endast till vänster, medan vid användning av Hessenberg-formen multipliceras reflektionsmatrisen med originalet både till vänster och på höger.) Att hitta QR-nedbrytningen av den övre Hessenberg-matrisen utvärderas som aritmetiska operationer. På grund av det faktum att formen på Hessenberg-matrisen är nästan övre triangulär (den har bara ett subdiagonalt element som inte är lika med noll), är det möjligt att omedelbart minska antalet iterationer som krävs för konvergensen av QR-algoritmen .
Om den ursprungliga matrisen är symmetrisk, är den övre Hessenberg-matrisen också symmetrisk och därför tridiagonal. Hela sekvensen av matriser har samma egenskap . I detta fall uppskattas kostnaden för proceduren som aritmetiska operationer med hjälp av en metod baserad på hushållartransformeringen. Att hitta QR-sönderdelningen av en symmetrisk tridiagonal matris utvärderas som operationer.
Konvergenshastigheten beror på graden av separation av egenvärdena, och i praktisk implementering används "förskjutningar" explicit eller implicit för att förbättra separationen av egenvärdena och för att påskynda konvergensen. I sin typiska form för symmetriska matriser hittar QR-algoritmen exakt ett egenvärde (minskar matrisens dimension) i en eller två iterationer, vilket gör detta tillvägagångssätt både effektivt och tillförlitligt.
I modern datorpraxis implementeras QR-algoritmen med sin implicita version, vilket förenklar tillägget av flera "skift". Inledningsvis reduceras matrisen till formen av den övre Hessenberg-matrisen , precis som i den explicita versionen. Sedan, vid varje steg, transformeras den första kolumnen genom en lågdimensionell hushållarlikhetsomvandling till den första kolumnen (eller ), där är ett gradpolynom som bestämmer strategin för "förskjutningar" (vanligtvis , där och är två egenvärden av 2×2 restsubmatrisen är dessa så kallade implicita dubbelskift). Sedan utförs successiva hushållartransformationer av dimensionen för att återställa arbetsmatrisen till formen av den övre Hessenberg-matrisen.
Vektorer och matriser | |||||||||
---|---|---|---|---|---|---|---|---|---|
Vektorer |
| ||||||||
matriser |
| ||||||||
Övrig |