3.8 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
Je dána čtvercová matice A
řádu n
. Vlastní vektor v
je nenulový vektor, pro který platí Av = \lambda v
. Číslo \lambda
se nazívá vlastním číslem matice A
.
Av = \lambda x
\lambda
... vlastní číslox
... vlastní vektor (nenulový)
- charakteristická rovnice ...
\det(A - \lambda I) = 0
- kořeny jsou vlastní čísla
- 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 vlastní čísla
- částečný problém: úlohou je najít pouze některá vlastní čí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
- matice
A
mán
LN vlastních vektorů - existuje právě jedno dominantní vlastní číslo
- vlastní čísla lze seřadit:
|\lambda_{1}| > |\lambda_{2}| \geq |\lambda_{3}| \geq \dots \geq |\lambda_{n}|
Algoritmus
- vstup: čtvercová matice
A
a sloupcový vektory^{(0)}
(např. samé jedničky) - 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; \quad i\neq j
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 existuje maticeP
, pro kterou platíP^{-1}AP = B
neboA = PBP^{-1}
- podobné matice mají stejná vlastní čísla
Princip
- využijeme podobnosti matic
- 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}, \quad 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
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
je reálná symetrická matice - poté existuje ortogonální matice
Q
taková, že platíQ^TAQ = A
A
... spektrální matice = matice s vlastními čísly na diagonále
- postupné nulování prvků mimo diagonálu (iteračně konvergují k nulám)