Il metodo di Jacobi è un metodo iterativo per la soluzione di sistemi lineari A\vec{x} = \vec{b}. Aggiorna simultaneamente tutte le componenti della soluzione usando i valori dell’iterazione precedente. È il più semplice tra i metodi iterativi stazionari.
Nota: questa voce tratta il metodo iterativo di Jacobi per sistemi lineari, distinto dalla matrice jacobiana di una funzione vettoriale. Vedi: Jacobiano.
Vedi anche: Metodo di Gauss-Seidel, Numero di Condizionamento, Metodi Numerici per Sistemi Lineari.
Schema di Iterazione
Data la decomposizione A = D + L + U con D diagonale, L triangolare inferiore stretta, U triangolare superiore stretta, il metodo di Jacobi è:
\vec{x}^{(k+1)} = D^{-1}\bigl(\vec{b} - (L + U)\vec{x}^{(k)}\bigr)
Componente per componente:
x_i^{(k+1)} = \frac{1}{a_{ii}}\left(b_i - \sum_{j \neq i} a_{ij} x_j^{(k)}\right)
La formula richiede a_{ii} \neq 0 per ogni i (matrice con diagonale non nulla).
Convergenza
Il metodo converge se e solo se il raggio spettrale della matrice di iterazione è minore di 1:
\rho(B_J) < 1, \quad B_J = -D^{-1}(L + U)
Condizione sufficiente: la matrice A è a dominanza diagonale stretta per righe:
|a_{ii}| > \sum_{j \neq i} |a_{ij}| \quad \forall\, i
Se A è simmetrica e definita positiva, la convergenza non è garantita per Jacobi (al contrario di Gauss-Seidel).
Confronto con Gauss-Seidel
| Proprietà | Jacobi | Gauss-Seidel |
|---|---|---|
| Aggiornamento | simultaneo | sequenziale |
| Parallelizzabilità | alta | bassa |
| Convergenza tipica | più lenta | circa il doppio più veloce |
| Memoria | due vettori | un vettore |
Il metodo di Jacobi è intrinsecamente parallelizzabile (ogni componente si aggiorna indipendentemente) ed è spesso preferito in implementazioni su GPU. Vedi: Metodo di Gauss-Seidel.
Applicazioni ingegneristiche
- FEM su GPU: la natura parallela di Jacobi lo rende adatto a implementazioni massivamente parallele su architetture GPU per la soluzione di grandi sistemi sparsi.
- Elaborazione di immagini: la diffusione isotropa discreta (smoothing) è equivalente a un’iterazione di Jacobi sul laplaciano discreto della griglia dell’immagine.
- Ottimizzazione distribuita: l’algoritmo ADMM (Alternating Direction Method of Multipliers) per problemi di ottimizzazione distribuita usa schemi analoghi a Jacobi nei sottoproblemi locali.