Metodo di Cholesky

Messaggioda Scofield88 » 14/06/2013, 14:44

Ciao a tutti,

Ho un problema con l'applicazione del metodo di Cholesky.
In un sistema lineare Ax=b, con A matrice 3x3 (1°riga: 1 1 1, 2° riga:1 2 3; 3°riga:1 3 6) e b 1x3 (16 29 47) devo ricavare la soluzione con questo metodo.
Qualcuno sa applicarlo?
Purtroppo ho una professoressa universitaria a cui piace molto fare teoria senza pratica (o con esempi velocissimi), salvo poi far applicare questi metodi durante l'esame scritto!

Grazie in ogni caso :smt023
Scofield88
Starting Member
Starting Member
 
Messaggio: 5 di 26
Iscritto il: 12/06/2013, 16:34

Re: Metodo di Cholesky

Messaggioda Lory314 » 14/06/2013, 17:12

L'algoritmo di Cholesky consente di decomporre una matrice $A$ simmetrica e definita positiva nel prodotto $LL^T$, con $L$ matrice triangolare inferiore. Qual è il vantaggio di tale decomposizione?

Supponiamo che devi risolvere il sistema lineare $Ax=b$; bene, sostituiamo ad $A$ la sua decomposizione e otteniamo
\[
LL^Tx=b
\]
Ora denotiamo con $y=L^Tx$. Otteniamo due sistemi:
\[
Ly=b \\
L^Tx=y
\].
Il primo ha come termine noto $b$, incognita $y$ e matrice dei coefficienti $L$; risolvendo questo sistema trovi $y$ che sarà il termine noto del secondo sistema, da cui poi ricavi $x$ che coincide con la soluzione del tuo sistema originale. Il vantaggio sta nel fatto che questi due sistemi si risolvono molto rapidamente con gli algoritmi di sostituzione in avanti o indietro dato che le matrici sono triangolare.

La matrice $L$ si costruisce procedendo per righe con le formule:
\[
L_{j,j} = \sqrt{A_{j,j} - \sum_{k=1}^{j-1}{L_{j,k}^2}} \\
L_{i,j} = \frac{1}{L_{j,j}}(A_{i,j} - \sum_{k=1}^{j-1}{L_{i,k}L_{j,k}})
\]
Nel tuo esempio, applicando le formule che ti ho scritto dovresti ottenere che
$
L = (( 1 , 0 , 0 ),( 1 , 1 , 0 ),( 1 , 2 , 1 ) )
$
Da qui poi risolvi i sistemi come prima ti ho detto.
Lory314
Junior Member
Junior Member
 
Messaggio: 156 di 419
Iscritto il: 04/01/2010, 22:17


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite