QR algoritmus

QR algoritmus (také QR transformace) je numerická metoda pro výpočet vlastních čísel obecné regulární matice založená na principu QR rozkladu. Výhodou algoritmu je numerická stabilita.

Algoritmus

Nechť , kde je ortogonální matice a je horní trojúhelníková matice. Pak matice je podobná matici : . Z podobnosti plyne, že tyto matice mají stejná vlastní čísla.

algoritmus:

  1. je zadaná matice
  2. provedeme rozklad
  3. vypočteme
  4. pokud je trojúhelníková matice, její vlastní čísla se nacházejí na její diagonále. Jinak definujeme a pokračujeme druhým krokem algoritmu.

V každé iteraci algoritmu volíme tak, aby anulovala jeden prvek matice pod diagonálou. Možným postupem pro volbu je Givensova matice rotace , kde jsou řádek a sloupec anulovaného prvku. Pro tuto matici je potřeba správně nalézt úhel , který prvek anuluje. Pořadí anulovaných prvků může být např. podle indexů nebo podle velikosti prvku v absolutní hodnotě (vždy ten největší).

Jacobiova diagonalizace

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

Reference

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

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.