Choleského dekompozice
Kategorie: Nezařazeno (celkem: 23179 referátů a seminárek)
Informace o referátu:
- Přidal/a: anonymous
- Datum přidání: 20. srpna 2008
- Zobrazeno: 3200×
- Licence: GNU Free Documentation License
- Seznam autorů a změn
- Vyloučení odpovědnosti
Příbuzná témata
Choleského dekompozice
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 |
Využití
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ě.
Ř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é.
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]; } }