Metodo di Gauss-Seidel

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:F In analisi numerica il metodo di Gauss-Seidel è un metodo iterativo, simile al metodo di Jacobi, per la risoluzione di un sistema lineare, scritto nella forma matriciale Ax=b.

Algoritmo

Come per il metodo di Jacobi, la matrice A viene scritta come differenza di due matrici: A=MN. Nel metodo di Gauss-Seidel si prendono M=L, matrice triangolare inferiore, e N=U, matrice triangolare superiore con diagonale nulla.

Preso un qualunque vettore x0, si costruisce quindi una successione di vettori per iterazione (come per il metodo di Jacobi)

xk+1=L1(Uxk+b).

Come sistema lineare

Come per il metodo di Jacobi, la ricorrenza si può ottenere riscrivendo il sistema di equazioni lineari in modo da isolare una variabile per ogni riga. In questo caso, tuttavia, ogni nuova componente di xk+1 viene immediatamente sostituita per il calcolo delle successive

Ad esempio, se con il metodo di Jacobi in un sistema 3x3 si utilizza la ricorrenza

{xk+1=a1,2a1,1yka1,3a1,1zk+b1a1,1yk+1=a2,1a2,2xka2,3a2,2zk+b2a2,2zk+1=a3,1a3,3xka3,2a3,3yk+b3a3,3

con il metodo di Gauss-Seidel si utilizza la ricorrenza

{xk+1=a1,2a1,1yka1,3a1,1zk+b1a1,1yk+1=a2,1a2,2xk+1a2,3a2,2zk+b2a2,2zk+1=a3,1a3,3xk+1a3,2a3,3yk+1+b3a3,3

Convergenza

Come per il metodo di Jacobi, la successione converge indipendentemente dalla scelta di x0 se e solo se la matrice B=M1N=L1U ha tutti autovalori con valore assoluto minore di 1.

Una condizione sufficiente perché questo avvenga è che A sia una matrice a diagonale dominante per righe o per colonne in senso stretto. (Questa condizione implica la non singolarità di A, quindi l'unicità della soluzione.)

Per risolvere il sistema lineare si utilizza quindi una successione x(k) che converge verso la soluzione x del sistema lineare. Siano A=(aij) e b=(bi), la successione è costruita come segue:

xi(k+1)=bij<iaijxj(k+1)j>iaijxj(k)aii.

Aspetti computazionali

A differenza del metodo di Jacobi, il metodo di Gauss-Seidel richiede di tenere in memoria un solo vettore, purché i calcoli non vengano svolti in parallelo.

Considerando il fatto che per calcolare la componente i-esima xi(k+1) del nuovo vettore della successione si utilizzano le j<i componenti xj(k+1) già calcolate, si osserva che una iterazione del metodo di Gauss-Seidel equivale a due iterazioni del metodo di Jacobi (che utilizza soltanto le componenti del vecchio vettore xi(k)), quindi nel metodo di Gauss-Seidel si eseguano meno iterazioni e, quindi, converge più velocemente. Tuttavia la complessità computazionale non varia ed entrambi i due metodi hanno una complessità di O(n2) iterazioni.

Voci correlate

Collegamenti esterni

Template:Algebra Template:Controllo di autorità Template:Portale