C++ Bc. 33: Porovnání verzí
mBez shrnutí editace |
mBez shrnutí editace |
||
Řádek 25: | Řádek 25: | ||
0 & 0 & 0 & 0 & 1 | 0 & 0 & 0 & 0 & 1 | ||
\end{pmatrix} | \end{pmatrix} | ||
</math> | </math> | ||
První sloupec Choleskyho rozkladu můžeme vypočítat jako | |||
<math> | |||
\mathbf A = \mathbf A^{(1)} = \begin{pmatrix} | |||
a_{11} & a_{*1}^t \\ | |||
a_{*1} & A^{(2)} | |||
\end{pmatrix} | |||
\longrightarrow | |||
\begin{pmatrix} | |||
\sqrt{a_{11}} & 0 \\ | |||
b_{*1} & B^{(2)} | |||
\end{pmatrix},</math> | |||
kde <math>b_{*1} = {1\over \sqrt{a_{11}}} a_{*1}</math> (tj. prvky pod diagonálou vydělíme odmocninou z diagonálnho prvku) a | |||
<math>\mathbf B^{(2)} = \mathbf A^{(2)} - b_{*1}b_{*1}^t</math>. V našem příkladu tedy | |||
<math>\mathbf B^{(2)} = | |||
\begin{pmatrix} | |||
15 & 0 & 0 & 0 & 0 \\ | |||
\underline{14} & 365 & 311 & 230 & 122 \\ | |||
\underline{12} & 311 & 365 & 266 & 134 \\ | |||
\underline{ 9} & 230 & 266 & 230 & 110 \\ | |||
\underline{ 5} & 122 & 134 & 110 & 55 \\ | |||
\end{pmatrix}, | |||
</math> prvky vektoru <math>b_{*1}</math> jsou podtrženy. Submatice <math>B^{(2)}</math> je také pozitivně definitní a stejným způsobem můžeme vypočítat druhý sloupec choleskyho rozkladu a obdonbě i pro zbývající sloupce. | |||
Verze z 9. 9. 2006, 12:44
Choleskyho rozklad
Matice je pozitivně definitní, pokud pro každý nenulový vektor platí Pro každou pozitivně definitní matici existuje jednoznačný symetrický rozklad (Choleskyho rozklad) kde je dolní trojúhelníková matice. Například
První sloupec Choleskyho rozkladu můžeme vypočítat jako
kde (tj. prvky pod diagonálou vydělíme odmocninou z diagonálnho prvku) a . V našem příkladu tedy
prvky vektoru jsou podtrženy. Submatice je také pozitivně definitní a stejným způsobem můžeme vypočítat druhý sloupec choleskyho rozkladu a obdonbě i pro zbývající sloupce.