In analisi numerica il metodo di Jacobi è un metodo iterativo per la risoluzione di sistemi lineari, un metodo cioè che calcola la soluzione di un sistema di equazioni lineari dopo un numero teoricamente infinito di passi. Per calcolare tale risultato il metodo utilizza una successione che converge verso la soluzione esatta del sistema lineare e ne calcola progressivamente i valori arrestandosi quando la soluzione ottenuta è sufficientemente vicina a quella esatta. Fu ideato dal matematico tedesco Carl Jacobi.

Premessa modifica

Idea modifica

Scrivendo la matrice A come differenza A = M - N, dove M è una matrice invertibile (ovvero non singolare, con determinante non nullo), allora la soluzione x di Ax = b risolve anche le equazioni

 
 

Algoritmo generico modifica

Partendo da un qualunque vettore x0, si può allora costruire una successione di vettori xk come

 

Se questa successione converge ad un vettore x, allora Ax = b.

Propagazione dell'errore modifica

Per misurare la distanza dei termini della successione xk dalla soluzione e controllare se la successione converge, si può considerare un vettore differenza

 

La successione dei vettori differenza è data dalla ricorsione

 

ovvero

 

Convergenza modifica

L'algoritmo converge se e solo se la successione delle differenze ek tende al vettore nullo.

La convergenza è garantita, indipendentemente dalla scelta iniziale di x0, se e solo se tutti gli autovalori di B = M−1N = M−1A - I hanno norma inferiore a 1, ovvero se il raggio spettrale (il valore massimo tra i moduli degli autovalori) è inferiore a 1.

Si può dimostrare che se A è una matrice a diagonale dominante per righe allora l'algoritmo converge (la stessa cosa vale per il Metodo di Gauss-Seidel).

Metodo di Jacobi modifica

Il metodo di Jacobi consiste nell'applicare l'algoritmo precedente con M = D, la matrice diagonale con la stessa diagonale di A.

È necessario che A non abbia elementi nulli sulla diagonale, perché D dev'essere invertibile. In caso contrario è possibile operare su A con una matrice di permutazione P, in modo che non vi siano elementi nulli sulla diagonale; la stessa permutazione va applicata al vettore b delle soluzioni ( PAx=Pb ).

Come sistema lineare modifica

La formula ricorsiva diventa ora

 

Leggendo il metodo di Jacobi su un sistema lineare, la scrittura x = -D−1((A - D)x - b) corrisponde ad isolare una variabile per ogni riga:

 
 
Esempio di metodo di Jacobi applicato alla matrice A = [[2.8, 4.41],[-2.31, 4.91]] e al vettore b = [-2, -5].

La ricorsione sui vettori è allora definita da

 

In generale, la ricorsione si può esprimere come

 

Aspetto computazionale modifica

Il metodo di Jacobi richiede di tenere in memoria almeno due vettori (2n), ma i calcoli possono essere svolti in parallelo sulle componenti. Una volta calcolata la matrice B, per ogni iterazione il calcolo di ognuna delle n componenti richiede n - 1 moltiplicazioni e n - 1 somme.

Recenti sviluppi modifica

Nel 2014, è stata pubblicata una nuova versione dell'algoritmo, detta metodo di Jacobi con rilassamento programmato dei vincoli[1] presso la Johns Hopkins University. Il nuovo metodo è stato dichiarato essere 200 volte più rapido.

Note modifica

Bibliografia modifica

  • Alfio Quarteroni, Riccardo Sacco; Fausto Saleri, Risoluzione di sistemi lineari con metodi iterativi, in Matematica numerica, 3ª edizione, Milano, Springer Verlag, gennaio 2008, Pagg.111-158, ISBN 978-88-470-0782-6.
  • (EN) Acton, F. S. Numerical Methods That Work, 2nd printing. Washington, DC: Math. Assoc. Amer., pp. 161–163, 1990.
  • (EN) Bronshtein, I. N. and Semendyayev, K. A. Handbook of Mathematics, 3rd ed. New York: Springer-Verlag, p. 892, 1997.
  • (EN) Hageman, L. and Young, D. Applied Iterative Methods. New York: Academic Press, 1981.
  • (EN) Press, W. H.; Flannery, B. P.; Teukolsky, S. A.; and Vetterling, W. T. Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed. Cambridge, England: Cambridge University Press, pp. 864–866, 1992.
  • (EN) Varga, R. Matrix Iterative Analysis. Englewood Cliffs, NJ: Prentice-Hall, 1962.
  • (EN) Young, D. Iterative Solutions of Large Linear Systems. New York: Academic Press, 1971.

Voci correlate modifica

Collegamenti esterni modifica

Controllo di autoritàGND (DE4314623-5
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica