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 ...
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