Il metodo di Jacobi è un metodo iterativo per la soluzione di sistemi lineari . 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 con diagonale, triangolare inferiore stretta, triangolare superiore stretta, il metodo di Jacobi è:
Componente per componente:
La formula richiede per ogni (matrice con diagonale non nulla).
Convergenza
Il metodo converge se e solo se il raggio spettrale della matrice di iterazione è minore di 1:
Condizione sufficiente: la matrice è a dominanza diagonale stretta per righe:
Se è 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.