18.01.2015 Views

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8. METODI ITERATIVI PER LA SOLUZIONE DI SISTEMI LINEARI<br />

[<br />

x (k+1) = 1<br />

i<br />

a i i<br />

i−1 ∑<br />

b i −<br />

j =1<br />

a i j x (k+1)<br />

j<br />

−<br />

n∑<br />

j =i+1<br />

a i j x (k)<br />

j<br />

]<br />

per i = 1,...,n<br />

Il metodo è detto anche <strong>degli</strong> spostamenti successivi, in quanto il calcolo delle componenti del vettore<br />

x (k+1) è fatto utilizzando le componenti già calcolate del vettore stesso. Infatti, per i > 1, è ragionevole pensare<br />

che i valori già calcolati x (k+1)<br />

1<br />

, x (k+1)<br />

2<br />

,..., x (k+1) possano essere utilizzati per dare una migliore approssimazione<br />

del valore x (k+1) . Dalle equazioni del sistema, ragionando come per il metodo <strong>di</strong> Jacobi, possiamo quin<strong>di</strong><br />

i−1<br />

i<br />

scrivere:<br />

(<br />

)<br />

a 11 x (k+1)<br />

1<br />

= b 1 − a 12 x (k)<br />

2<br />

+ a 13 x (k)<br />

3<br />

+ ... + a 1n x n<br />

(k)<br />

(<br />

)<br />

a 22 x (k+1)<br />

2<br />

= b 2 − a 21 x (k+1)<br />

1<br />

+ a 23 x (k)<br />

3<br />

+ ... + a 2n x n<br />

(k)<br />

. =<br />

a i i x (k+1) = b<br />

i<br />

i −<br />

. =<br />

a nn x n<br />

(k+1) = b n −<br />

.<br />

(<br />

a i 1 x (k+1)<br />

1<br />

+ a i 2 x (k+1)<br />

.<br />

2<br />

+ ... + a i i−1 x (k+1)<br />

i−1<br />

)<br />

+ a i i+1 x (k)<br />

i+1 + ... + a i n x n<br />

(k)<br />

(<br />

a n1 x (k+1)<br />

1<br />

+ a n2 x (k+1)<br />

2<br />

+ a n3 x (k+1)<br />

3<br />

+ ... + a nn−1 x (k+1)<br />

n−1<br />

Dividendo ambo i membri dell’equazione i -sima per a i i (per i = 1,2,...,n) si ha:<br />

x (k+1)<br />

1<br />

= 1 [ (<br />

)]<br />

b 1 − a 12 x (k)<br />

2<br />

+ a 13 x (k)<br />

3<br />

+ ... + a 1n x n<br />

(k)<br />

a 11<br />

x (k+1)<br />

2<br />

= 1<br />

a 22<br />

[<br />

b 2 −<br />

. =<br />

x (k+1)<br />

i<br />

= 1<br />

a i i<br />

[<br />

b i −<br />

. =<br />

x (k+1)<br />

n = 1<br />

a nn<br />

[<br />

b n −<br />

(<br />

a 21 x (k+1)<br />

1<br />

+ a 23 x (k)<br />

3<br />

+ ... + a 2n x n<br />

(k)<br />

.<br />

(<br />

a i 1 x (k+1)<br />

1<br />

+ a i 2 x (k+1)<br />

.<br />

)]<br />

2<br />

+ ... a i i−1 x (k+1)<br />

i−1<br />

)]<br />

+ a i i+1 x (k)<br />

i+1 + ... + a i n x n<br />

(k)<br />

(<br />

a n1 x (k+1)<br />

1<br />

+ a n2 x (k+1)<br />

2<br />

+ a n3 x (k+1)<br />

3<br />

+ ... + a nn−1 x (k+1)<br />

n−1<br />

Usando il residuo, lo schema <strong>di</strong> Gauss-Seidel si scrive come<br />

x (k+1) = x (k) + (D + L) −1 r (k)<br />

)<br />

)]<br />

Il metodo <strong>di</strong> rilassamento<br />

Ciascuno dei meto<strong>di</strong> <strong>di</strong> Jacobi e Gauss-Seidel può essere anche rilassato tramite un fattore ω in modo che<br />

la nuova approssimazione x (k+1) sia ottenuta come una combinazione <strong>di</strong> x (k+1) e x (k) me<strong>di</strong>ante il fattore ω. In<br />

pratica:<br />

x (k+1) ←− (1 − ω)x (k) + ωx (k+1)<br />

Questa operazione viene fatta <strong>di</strong>rettamente nel momento in cui si stabilisce il metodo iterativo con<br />

rilassamento.<br />

Si può osservare che il metodo <strong>di</strong> Jacobi rilassato non produce effettivi miglioramenti rispetto al metodo<br />

non rilassato. Invece, il metodo <strong>di</strong> Gauss-Seidel rilassato può produrre un metodo molto più veloce in termini<br />

124

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!