Algoritmus QR

Algoritmus QR  je numerická metoda v lineární algebře pro řešení úplného problému vlastních čísel, tedy nalezení všech vlastních čísel a vlastních vektorů matice . Byl vyvinut koncem 50. let nezávisle na sobě V. N. Kublanovskou a J. Francisem.

Algoritmus

Nechť A  je skutečná matice, pro kterou chceme najít vlastní čísla a vektory. Dáme A 0 = A . V k -tém kroku (počínaje k = 0) vypočítejte QR rozklad A k = Q k R k , kde Q k  je ortogonální matice (tj. Q k T = Q k −1 ) a R k  je horní trojúhelníková matice . Potom definujeme A k +1 = R k Q k .

všimněte si, že

to znamená, že všechny matice A k jsou podobné , to znamená, že jejich vlastní hodnoty jsou stejné.

Nechť jsou všechny diagonální minory matice A nedegenerované . Poté posloupnost matic A k konverguje ve formě do buněčného pravého trojúhelníkového tvaru odpovídající buňkám s vlastními hodnotami stejného modulu. [jeden]

Abyste získali vlastní vektory matice, musíte vynásobit všechny matice Q k .

Algoritmus je považován za výpočetně stabilní , protože je produkován ortogonálními podobnostními transformacemi.

Důkaz pro symetrickou pozitivně definitní matici

Předpokládáme, že vlastní hodnoty pozitivně definitní matice A jsou seřazeny v sestupném pořadí:

Nechat

a S  je matice složená z vlastních vektorů matice A . Potom lze matici A zapsat jako spektrální rozklad

Najděte výraz pro mocniny původní matice pomocí matic Q k a R k . Na jedné straně podle definice QR algoritmu:

Rekurzivní aplikací tohoto vztahu dostaneme:

Zavedením následující notace:

dostaneme

Na druhou stranu:

Porovnáním správných částí posledních dvou vzorců dostaneme:

Předpokládejme, že existuje LU rozklad matice S T :

pak

Násobíme zprava maticí inverzní k U a poté maticí inverzní k Λ k :

Dá se to ukázat

Neboť bez ztráty obecnosti můžeme předpokládat, že na diagonále matice L jsou jednotky

Označit

navíc matice P k je horní trojúhelníková, jako součin horních trojúhelníkových a diagonálních matic.

Tím jsme to dokázali

.

Z jedinečnosti QR rozkladu vyplývá, že pokud součin ortogonální a trojúhelníkové matice konverguje k ortogonální matici, pak trojúhelníková matice konverguje k matici identity . Z toho, co bylo řečeno, vyplývá

To znamená, že matice S k konvergují k matici vlastních vektorů matice A .

Protože

pak

Překročením limitu dostaneme:

Dokázali jsme tedy, že algoritmus QR nám umožňuje vyřešit úplný problém vlastních čísel pro symetrickou pozitivně definitní matici.

Implementace QR algoritmu

Za určitých podmínek posloupnost matic konverguje k trojúhelníkové matici, Schurově rozkladu matice . V tomto případě jsou vlastní hodnoty trojúhelníkové matice umístěny na její diagonále a problém nalezení vlastních hodnot je považován za vyřešený. V testech konvergence není praktické vyžadovat přesné nuly v nulové části matice, ale lze použít Gershgorinův teorém , který nastavuje meze chyb.

V počátečním stavu matice (bez dodatečných transformací) jsou náklady na iterace poměrně vysoké. Náklady na algoritmus lze snížit tak, že se matice nejprve převede do tvaru horní Hessenbergovy matice (náklady na její získání metodou založenou na Householderově transformaci se odhadují jako aritmetické operace) a poté se použije konečná posloupnost ortogonálních podobnostní transformace. Tento algoritmus je poněkud podobný oboustrannému rozkladu QR. (Při obvyklém QR rozkladu je matice odrazu domácnosti násobena originálem pouze vlevo, zatímco v případě použití Hessenbergovy formy je matice odrazu násobena originálem jak vlevo, tak i vpravo.) Nalezení QR rozkladu horní Hessenbergovy matice je vyhodnoceno jako aritmetické operace. Vzhledem k tomu, že tvar Hessenbergovy matice je téměř horní trojúhelníkový (má pouze jeden subdiagonální prvek, který se nerovná nule), je možné okamžitě snížit počet iterací potřebných pro konvergenci QR algoritmu. .

Pokud je původní matice symetrická, horní Hessenbergova matice je také symetrická a tedy tridiagonální. Celá posloupnost matic má stejnou vlastnost . V tomto případě se náklady na postup odhadují jako aritmetické operace s použitím metody založené na transformaci domácnosti. Nalezení QR rozkladu symetrické tridiagonální matice se vyhodnocuje jako operace.

Rychlost konvergence závisí na stupni separace vlastních hodnot a v praktické implementaci se „posuny“ používají explicitně nebo implicitně ke zvýšení separace vlastních hodnot a k urychlení konvergence. Algoritmus QR ve své typické formě pro symetrické matice přesně najde jednu vlastní hodnotu (snížení rozměru matice) v jedné nebo dvou iteracích, díky čemuž je tento přístup účinný a robustní.

Implicitní implementace QR algoritmu

V moderní výpočetní praxi je QR algoritmus implementován pomocí jeho implicitní verze, která zjednodušuje přidávání více „posunů“. Zpočátku je matice redukována na formu horní Hessenbergovy matice , stejně jako v explicitní verzi. Poté se v každém kroku první sloupec transformuje pomocí nízkorozměrné transformace podobnosti domácnosti na první sloupec (nebo ), kde je polynom stupně , který určuje strategii „posunů“ (obvykle , kde a jsou dvě vlastní čísla zbytkové submatice 2×2 se jedná o tzv. implicitní dvojitý posun). Poté se provedou postupné Householderovy transformace dimenze , aby se pracovní matice vrátila do formy horní Hessenbergovy matice.

Poznámky

  1. Numerické metody / N. S. Bakhvalov, N. P. Zhidkov, G. M. Kobelkov. - 3. vyd. - M. : BINOM, Knowledge Laboratory, 2004. - S. 321. - 636 s. — ISBN 5-94774-175-X .

Odkazy