Choleského dekompozice
Z Wikipedie, otevřené encyklopedie
Choleského dekompozice (také Choleského rozklad) je metoda rozložení symetrické pozitivně definitní čtvercové matice A na součin dolní a horní trojúhelníkové matice, přičemž jedna trojuhélníková matice je transpozicí matice druhé.
Dolní trojúhelníková matice L z tohoto rozkladu se nazývá Choleského trojúhelník matice A. Modifikací lze dosáhnout toho, že se touto metodou mohou vypočítávat silně regulární symetrické matice, pouze se musí ve vedlejším poli zaznamenávat, které řádky matice jsou imaginární.
Obsah |
[editovat] Využití
[editovat] Výpočet inverzní matice
Inverzní matici A-1 lze vypočítat z inverzní matice L-1 podle následujícího vztahu.
Samotný výpočet inverzní matice L-1 není příliš obtížný, neboť to je také dolní trojúhelníková matice a lze ji vypočítat užitím vztahu L-1 L = E, kde E je jednotková matice.
Pro prvky na hlavní diagonále lze odvodit následující vztah.
Prvky pod diagonálou lze počítat postupně zprava doleva následovně.
[editovat] Řešení soustavy lineárních rovnic
Soustavu lineárních rovnic Ax = b lze řešit převodem na dvě soustavy rovnic.
Vzhledem k tomu, že matice soustavy jsou trojúhelníkové, je řešení uvedených rovnic zpětným dosazením velmi snadné.
[editovat] Algoritmus rozkladu
Prvky matice L je možné počítat po sloupcích zleva a v každém sloupci odshora dolů.
Pro první sloupec platí následující.
Pro druhý sloupec platí:
Pro prvky na diagonále lze, vzhledem ke znalosti celého řádku vlevo od prvku, odvodit následující vzorec.
Pro prvky pod diagonálou lze odvodit následující vztah.
V jazyku C lze uvedený postup zapsat následovně.
for (c=0; c<n; c++) {
for (sum=0, i=c-1; i>=0; i--)
sum += sqr(L[c][i]);
L[c][c] = sqrt(A[c][c] - sum);
for (r=c+1; r<n; r++) {
for (sum=0, i=c-1; i>=0; i--)
sum += L[r][i]*L[c][i];
L[r][c] = (A[r][c] - sum) / L[c][c];
}
}
















