QR algoritmus

algoritmus

QR algoritmus je numerická metoda pro výpočet vlastních čísel obecné čtvercové založená na principu QR rozkladu. Výhodou algoritmu je numerická stabilita.

Využití rozkladu editovat

Nechť  , kde   je ortogonální matice a   je horní trojúhelníková matice. Pak matice   je podobná matici  , protože:

 

Stejným způsobem je možné vyjádřit matici  . Z podobnosti plyne, že obě matice mají shodná vlastní čísla.

Algoritmus editovat

Finitní transformace na horní Hessenberův tvar (preprocessing) editovat

Iteračnímu QR algoritmu zpravidla předchází transformace matice typicky do horního Hessenbergova tvaru

 ,

tedy do „skoro trojúhelníkového“ tvaru, až na obecně nenulovou první poddiagonálu. Tuto transformaci lze provést v konečném počtu kroků (tj. pomocí konečného počtu elementárních aritmetických operací sčítání, odečítání, násobení, dělení a výpočtu druhé odmocniny), např. pomocí tzv. Arnoldiho algoritmu.

Vlastní iterační algoritmus editovat

Samotný iterační QR algoritmus konverguje limitně (pokud konverguje)

  1.  ,   je zadaná matice, případně matice   v horním Hessenbergově tvaru,
  2. vypočteme QR rozklad  ,
  3. vypočteme novou matici   (z předchozích úvah je zřejmé, že  ),
  4. pokud je   trojúhelníková matice, má vlastní čísla na diagonále. Jinak položíme   a pokračujeme druhým krokem algoritmu.

V právě popsaném algoritmu je matice   přímo maticí z QR rozkladu, v jistém smyslu tedy eliminuje všechny poddiagonální prvky matice  . Jednotlivé iterace je ale možné dělat „jemněji“, resp. postupně. Matice   může být volena tak, aby byl eliminovala jeden nenulový prvek matice   pod diagonálou. (Možným postupem je volit   jako Givensovu rotaci  , kde   a   jsou indexy řádku a sloupce eliminovaného prvku; k tomu je potřeba nalézt úhel  , pod kterým lze prvek eliminovat.)

Horního Hessenbergova tvar má hned několik výhod: Tento tvar je invariantní vůči transformaci   popsané v bodech 2 a 3, tedy je-li   v horním Hessenbergově tvaru, jsou také všechny matice   v horním Hessenbergově tvaru. V matici navíc potřebujeme eliminovat pouze   nenulových poddiagonálních prvků, k výpočtu QR rozkladu tedy potřebujeme pouze   Givensových rotací.

Pořadí eliminovaných prvků může být např. podle indexů nebo podle velikosti prvku v absolutní hodnotě (vždy ten největší) atp. Další výhodou horního Hessenbergova tvaru je triviální pozorování, že se s každou úspěšnou eliminací poddiagonálního prvku:

  • buď zmenší efektivní rozměr matice o jedna přičemž zároveň dojde k identifikaci jednoho vlastního čísla (když dojde k eliminaci prvního, nebo posledního poddiagonálního prvku),
  • nebo se úloha rozpadne na dvě menší zcela nezávislé podúlohy, což je možné využít k paralelizaci (ve všech ostatních případech).

Poznámka ke konvergenci editovat

Zde prezentovaný QR algoritmus nemusí vždy konvergovat ke trojúhelníkové matici. V praxi se (nejen) proto používá řada sofistikovaných „triků“, které chování algoritmu vylepšují.

Pro příklad, kdy shora uvedený algoritmus nebude konvergovat, stačí uvažovat reálnou čtvercovou matici  , která má alespoň jedno vlastní číslo s nenulovou imaginární složkou (pro jednoduchost budeme říkat komplexní vlastní číslo). V důsledku jsou zřejmě všechny matice  ,  ,   reálné (nezávisle na tom, zda matice   a   (viz krok 2) pocházejí přímo z QR rozkladu, nebo zda mají původ jen v jediné Givensově rotaci; součiny reálných matic   (viz krok 3) jsou opět pouze reálné matice). Trojúhelníková matice, ke které bychom rádi dokonvergovali (viz krok 4), má ale na diagonále vlastní čísla matice  , je tedy nutně komplexní.

Jacobiova diagonalizace editovat

Speciálním případem QR algoritmu je Jacobiova diagonalizace pojmenovaná po matematikovi Carlu Gustavu Jacobu Jacobiovi. Tento případ nastává, pokud je matice   symetrická. Při volbě   dochází k eliminaci nejen prvku  , ale také prvku  . Výsledkem je pak diagonální matice podobná  .

Odkazy editovat

Reference editovat

V tomto článku byl použit překlad textu z článku QR algorithm na anglické Wikipedii.

Literatura editovat

  • DUINTJER TEBBENS, Erik Jurjen; HNĚTYNKOVÁ, Iveta; PLEŠINGER, Martin; STRAKOŠ, Zdeněk; TICHÝ, Petr. Analýza metod pro maticové výpočty: Základní metody. 1. vyd. Praha: Matfyzpress, 2012. xvi+308 s. ISBN 978-80-7378-201-6. 
  • HLADÍK, Milan. Lineární algebra (nejen) pro informatiky. 1. vyd. Praha: Matfyzpress, 2019. 328 s. ISBN 978-80-7378-378-5. 
  • OLŠÁK, Petr. Lineární algebra [online]. Praha: 2007 [cit. 2023-02-20]. Dostupné online. 

Související články editovat