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.6. Meto<strong>di</strong> classici<br />

<strong>di</strong> convergenza e, quin<strong>di</strong>, preferibile rispetto al metodo senza rilassamento. Come metodo <strong>di</strong> rilassamento,<br />

dunque, consideriamo il metodo <strong>di</strong> rilassamento ottenuto da Gauss-Seidel. Per scelte <strong>di</strong> ω nell’intervallo<br />

]0,1[ si parla <strong>di</strong> metodo Sotto-Rilassato, o Under-Relaxation (e in genere è usato per ottenere convergenza<br />

nella soluzione <strong>di</strong> sistemi che non convergono con il metodo <strong>di</strong> Gauss-Seidel). Per valori <strong>di</strong> ω nell’intervallo<br />

[1,2[ si ha, invece, il metodo noto come metodo <strong>di</strong> sovra-rilassamento o SOR (Successive Over-Relaxation) –<br />

usato per accelerare la convergenza in sistemi che sono convergenti con il metodo <strong>di</strong> Gauss-Seidel.<br />

Lo schema <strong>di</strong> rilassamento, applicato al metodo <strong>di</strong> Gauss-Seidel, è dato da<br />

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

i<br />

+ ω i−1 ∑<br />

[b<br />

i i −<br />

a i 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 />

La matrice <strong>di</strong> iterazione del metodo <strong>di</strong> rilassamento si ricava scrivendo in forma matriciale l’algoritmo<br />

appena descritto<br />

x (k+1) = (1 − ω)x (k) + ωD −1 ( b − Lx (k+1) −U x (k))<br />

x (k+1) = [ (1 − ω)I − ωD −1 U ] x (k) − ωD −1 Lx (k+1) + ωD −1 b<br />

(I + ωD −1 L)x (k+1) = [ (1 − ω)I − ωD −1 U ] x (k) + ωD −1 b<br />

Moltiplicando ambo i membri per D, si ricava<br />

La matrice <strong>di</strong> iterazione del metodo è dunque<br />

E = (D + ωL) −1 [(1 − ω)D − ωU ]<br />

= (D + ωL) −1 [(1 − ω)D − ω(A − D − L)]<br />

= (D + ωL) −1 [(D + ωL) − ωA]<br />

= [ I − ω(D + ωL) −1 A ]<br />

(D + ωL)x (k+1) = [(1 − ω)D − ωU ] x (k) + ωb<br />

A questo punto, ci si può chiedere quale sia l’ω ottimale nel metodo <strong>di</strong> rilassamento. L’ω ottimale è quello<br />

che fa sì che il metodo <strong>di</strong> rilassamento converga nel minor numero <strong>di</strong> iterazioni (quin<strong>di</strong>, l’ω ottimale rende<br />

minimo il raggio spettrale della matrice <strong>di</strong> iterazione). Vedremo, per particolari matrici A, quando è possibile<br />

stabilire a priori quale sia l’ω ottimale per risolvere il sistema lineare Ax = b.<br />

8.6.4 Convergenza dei meto<strong>di</strong> <strong>di</strong> Jacobi, Gauss-Seidel, rilassamento<br />

Le matrici <strong>di</strong> iterazione dei tre meto<strong>di</strong> appena descritti sono scritte in Tabella 8.6.4 Perchè ci sia<br />

metodo matrice<br />

Jacobi E J = I − D −1 A = −D −1 (L +U )<br />

Gauss-Seidel E S = I − (D + L) −1 A = −(D + L) −1 U<br />

rilassamento E ω = I − ω(D + ωL) −1 A<br />

Tabella 8.1: Matrici <strong>di</strong> iterazione dei meto<strong>di</strong> <strong>di</strong> Jacobi, Gauss-Seidel, rilassamento<br />

convergenza, il raggio spettrale della matrice <strong>di</strong> iterazione deve essere minore <strong>di</strong> uno.<br />

Per i meto<strong>di</strong> <strong>di</strong> Jacobi e <strong>di</strong> Gauss-Seidel si può provare la convergenza del metodo, se la matrice A ha una<br />

delle seguenti caratteristiche:<br />

G A è <strong>di</strong>agonalmente dominante in senso stretto<br />

125

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

Saved successfully!

Ooh no, something went wrong!