3.7 KiB
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í číslox
... 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
A
mán
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ý vektory^{(0)}
(LK vlastních vektorů) - zastavovací podmínka:
|\lambda^{(k+1)} - \lambda^{(k)}| < \epsilon
- pomocí iterační formule
y^{(k+1)} = A\cdot y^{(k)}
počítáme dalšíy^{(k+1)}
prok = 0, 1, \dots
- z vektoru
y^{(k+1)}
vybereme indexi
, kde je absolutní hodnota|y^{(k+1)}_{i}|
největší - 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
- použijeme hodnoty na $i$-tém indexu v aktuálním a předchozím vektoru
- 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
aB
jsou si podobné, pokud existujeP
, pro které platíP^{-1}AP = B
neboA = 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
, tedyQ^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
jeA^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í maticeQ
taková, žeQ^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