FAV-ZCU/KMA NM/Zkouška/06. okruh.md

3.7 KiB
Raw Blame History

Numerické metody pro řešení úloh na vlastní čísla. ƒČástečný problém a úplný problém. Mocninná metoda a metoda Rayleighova podílu. Ortogonální transformace. Singulární rozklad matice. Využití pro rešení obecných soustav lineárních algebraických rovnic.

Vlastní čísla

  • Av = \lambda x
    • \lambda ... vlastní číslo
    • x ... vlastní vektor
  • charakteristická rovnice ... \det(A - \lambda I) = 0
  • spektrální matice ... A = \text{diag}(\lambda_{1}, \lambda_{2}, \dots, \lambda_{n})

Typy problémů

  • úplný problém: úlohou je najít všechna vl. čísla
  • částečný problém: úlohou je najít pouze některá vl. čísla (obvykle s největší absolutní hodnotou)

Mocninná metoda

Řeší částečný problém - vlastní číslo matice A s největší absolutní hodnotou.

Předpoklady

  • An LN vlastních vektorů
  • existuje právě jedno dominantní vlastní číslo
  • vl. čísla lze seřadit: |\lambda_{1}| > |\lambda_{2}| \geq |\lambda_{3}| \geq \dots \geq |\lambda_{n}|

Algoritmus

  • vstup: matice A a sloupcový vektor y^{(0)} (LK vlastních vektorů)
  • zastavovací podmínka: |\lambda^{(k+1)} - \lambda^{(k)}| < \epsilon
  1. pomocí iterační formule y^{(k+1)} = A\cdot y^{(k)} počítáme další y^{(k+1)} pro k = 0, 1, \dots
  2. z vektoru y^{(k+1)} vybereme index i, kde je absolutní hodnota |y^{(k+1)}_{i}| největší
  3. vypočítáme přibližné vl. číslo \displaystyle\lambda^{(k+1)} = \frac{y^{(k+1)}_{i}}{y^{(k)}_{i}}
    • použijeme hodnoty na $i$-tém indexu v aktuálním a předchozím vektoru y
  4. opakujeme, pokud neplatí zastavovací podmínka

Poznámky

  • kvůli přetečení/podtečení je vhodné vektor y^{(k+1)} v každém kroku normovat
    • \displaystyle y^{(k)} = \frac{y^{(k)}}{\Vert y^{(k)}\Vert}

Metoda Rayleighova podílu

Tato metoda je velice podobná mocninné metodě, ale pro výpočet lambdy použijeme jiný vzorec níže.

\displaystyle\lambda_{k} = \frac{y^{(k-1)^T} \cdot y^{(k)}}{y^{(k-1)^T} \cdot y^{(k-1)}}

Předpoklady

  • stejné jako u mocninné metody
  • navíc: matice A je blízce symetrická (hodnoty jsou téměř symetrické)
    • vlastní vektory jsou díky tomu ortonormální
    • v_{i}^Tv_{j} = 0, i\neq j \quad v_{i}^Tv_{i} = 1

Poznámky

  • konverguje k nule zhruba dvakrát rychleji

Ortogonální transformace

Podobnost matic

  • matice A a B jsou si podobné, pokud existuje P, pro které platí P^{-1}AP = B nebo A = PBP^{-1}
  • podobné matice mají stejná vlastní čísla

Princip

  • konstruujeme posloupnost vzájemně podobných matic, která konverguje k matici, jejíž vlastní čísla se dají snadno určit
  • posloupnost vzájemně podobných matic: A_{k+1} = Q_{k}^TA_{k}Q_{k}, k = 0,1,2,\dots

Metoda QU-rozkladu

  • používáme pro obecnou matici
  • A = QU
    • Q ... ortogonální matice - QQ^T = I, tedy Q^T = Q^{-1}
    • U ... horní trojúhelníková matice
  • B = UQ
    • U = Q^{-1}A \implies B = Q^{-1}AQ = Q^{T}AQ

Příkladem ortogonální matice je matice rovinné rotace o úhel \alpha.

  • pro dostatečně velké k je A^k horní trojúhelníková matice

$$ \begin{bmatrix} \cos \alpha & -\sin \alpha \ \sin \alpha & \cos \alpha \end{bmatrix}

Metoda Jacobiovy diagonalizace

  • používáme, když A ... reálná symetrická matice
  • \implies \exists ortogonální matice Q taková, že Q^TAQ = A
  • A ... spektrální matice = matice s vlastními čísly na diagonále
  • postupné nulování
    • vybereme prvek mimo diagonálu a ten vynulujeme
    • poté vybereme další, ale zase se nám odnuluje ten původní
    • při iteračním pojetí ale budou všechny prvky mimo diagonálu konvergovat k nulám