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.
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]; } }