Metodi Numerici per Sistemi Lineari

Indice dei contenuti

    Per sistemi lineari Ax=bA\mathbf{x} = \mathbf{b} di grandi dimensioni i metodi diretti (eliminazione di Gauss, decomposizione LU) possono essere troppo costosi. I metodi iterativi producono una successione x(k)x\mathbf{x}^{(k)} \to \mathbf{x}^*.

    Metodo di Jacobi

    Si decompone A=D+L+UA = D + L + U con DD diagonale, LL triangolare inferiore stretta, UU triangolare superiore stretta. L’iterazione è: x(k+1)=D1(b(L+U)x(k))\mathbf{x}^{(k+1)} = D^{-1}(\mathbf{b} - (L+U)\mathbf{x}^{(k)})

    Componente per componente: xi(k+1)=1aii(bijiaijxj(k))x_i^{(k+1)} = \frac{1}{a_{ii}}\left(b_i - \sum_{j \neq i} a_{ij}x_j^{(k)}\right).

    Tutte le componenti di x(k)\mathbf{x}^{(k)} vengono usate contemporaneamente, il che permette la parallelizzazione.

    Metodo di Gauss-Seidel

    Come Jacobi, ma usa subito le componenti appena calcolate: xi(k+1)=1aii(bij<iaijxj(k+1)j>iaijxj(k))x_i^{(k+1)} = \frac{1}{a_{ii}}\left(b_i - \sum_{j < i} a_{ij}x_j^{(k+1)} - \sum_{j > i} a_{ij}x_j^{(k)}\right)

    Converge tipicamente in metà delle iterazioni rispetto a Jacobi.

    Convergenza: entrambi i metodi convergono se AA è a diagonale dominante stretta per righe, o se AA è simmetrica definita positiva (Gauss-Seidel).

    Condizionamento

    Il numero di condizionamento κ(A)=AA1\kappa(A) = \|A\|\cdot\|A^{-1}\| misura la sensibilità della soluzione alle perturbazioni dei dati: δxxκ(A)δbb\frac{\|\delta\mathbf{x}\|}{\|\mathbf{x}\|} \leq \kappa(A)\,\frac{\|\delta\mathbf{b}\|}{\|\mathbf{b}\|}

    Per κ(A)1\kappa(A) \gg 1 (sistema mal condizionato) piccoli errori numerici nei dati producono grandi errori nella soluzione. La fattorizzazione LU con pivoting parziale migliora la stabilità numerica.

    Ultimo aggiornamento: