Fattorizzazione di Cholesky

Indice dei contenuti

    La fattorizzazione di Cholesky decompone una matrice simmetrica definita positiva AA come prodotto A=LLTA = LL^T, dove LL è una matrice triangolare inferiore con elementi diagonali positivi. È il metodo diretto più efficiente per questa classe di matrici.

    Vedi anche: Decomposizione LU, Legge di Inerzia di Sylvester, Numero di Condizionamento.

    Enunciato

    Teorema: una matrice AMn(R)A \in M_n(\mathbb{R}) è simmetrica e definita positiva se e solo se esiste un’unica matrice triangolare inferiore LL con elementi diagonali positivi tale che:

    A=LLTA = LL^T

    La matrice LL si chiama fattore di Cholesky di AA.

    Algoritmo

    Gli elementi di LL si calcolano colonna per colonna:

    Lii=Aiik=1i1Lik2L_{ii} = \sqrt{A_{ii} - \sum_{k=1}^{i-1} L_{ik}^2}

    Lji=1Lii(Ajik=1i1LikLjk)(j>i)L_{ji} = \frac{1}{L_{ii}}\left(A_{ji} - \sum_{k=1}^{i-1} L_{ik} L_{jk}\right) \quad (j > i)

    Se in qualsiasi passo si ottiene AiikLik2<0A_{ii} - \sum_k L_{ik}^2 < 0, la matrice non è definita positiva e la fattorizzazione fallisce — questo è anche un test di definitezza positiva computazionalmente efficiente.

    Costo Computazionale

    La fattorizzazione di Cholesky richiede circa n33\frac{n^3}{3} operazioni — metà del costo dell’eliminazione di Gauss (2n33\frac{2n^3}{3}) — e usa solo la parte triangolare della matrice, risparmiando anche memoria.

    Per risolvere Ax=bA\vec{x} = \vec{b} una volta nota LL:

    1. Risolvere Ly=bL\vec{y} = \vec{b} (sostituzione in avanti): O(n2)O(n^2)
    2. Risolvere LTx=yL^T\vec{x} = \vec{y} (sostituzione all’indietro): O(n2)O(n^2)

    Stabilità Numerica

    La fattorizzazione di Cholesky è incondizionatamente stabile per matrici simmetriche definite positive: non richiede pivoting (a differenza dell’eliminazione di Gauss) e gli errori di arrotondamento non si amplificano. Vedi: Virgola Mobile.

    Varianti

    • Fattorizzazione LDLTLDL^T: A=LDLTA = LDL^T con LL triangolare inferiore a diagonale unitaria e DD diagonale. Applicabile a matrici simmetriche non necessariamente definite positive; evita radici quadrate.
    • Fattorizzazione di Cholesky incompleta: usata come precondizionatore per metodi iterativi (IC-CG). Vedi: Gradiente Coniugato.

    Applicazioni ingegneristiche

    • FEM e analisi strutturale: le matrici di rigidezza globale sono simmetriche definite positive (struttura ben vincolata); Cholesky è il solutore diretto standard nei codici FEM (NASTRAN, Abaqus, Code_Aster).
    • Filtro di Kalman: la matrice di covarianza dell’errore è simmetrica definita positiva; la fattorizzazione di Cholesky garantisce stabilità numerica nell’aggiornamento della covarianza (square-root Kalman filter).
    • Statistica e machine learning: la generazione di campioni da distribuzioni normali multivariate usa Cholesky: x=Lz\vec{x} = L\vec{z} con zN(0,I)\vec{z} \sim \mathcal{N}(0, I) produce xN(0,Σ)\vec{x} \sim \mathcal{N}(0, \Sigma) con Σ=LLT\Sigma = LL^T.
    • Ottimizzazione: nei metodi del secondo ordine (Newton), la matrice hessiana è simmetrica; Cholesky verifica la definitezza positiva e risolve il sistema lineare per la direzione di Newton.

    Ultimo aggiornamento: