• Non ci sono risultati.

Metodi iterativi per la soluzione di sistemi lineari

N/A
N/A
Protected

Academic year: 2021

Condividi "Metodi iterativi per la soluzione di sistemi lineari"

Copied!
75
0
0

Testo completo

(1)

Metodi iterativi per la soluzione di sistemi lineari

Alvise Sommariva

Universit`a degli Studi di Padova Dipartimento di Matematica

(2)

Metodi iterativi e diretti

Problema.

Supponiamo che siano A ∈ Cn×n (matrice non singolare), b ∈ Cn (vettore colonna). Bisogna risolvere il problemaAx = b avente sol. unica x∗.

A tal proposito si pu`o utilizzare la fatt. LU con pivoting. Il costo computazionale `e in generale diO(n3/3)operazioni moltiplicative. Questo diventa proibitivo se n `e particolarmente elevato.

Nota.

Sia A una matrice invertibile. AlloraPA = LU dove P `e una matrice di permutazione,

L `e una matrice triangolare inferiore a diagonale unitaria (lii= 1, ∀i ),

U una matrice triangolare superiore.

Se Ax = b, nota PA = LU, per risolvere Ax = b da

(3)

Metodi iterativi e diretti

L’idea dei metodi iterativi`e quello di ottenere una

successione di vettori x(k) → x∗ cosicch`e per ¯k  n sia

x(¯k) ≈ x∗.

(4)

Metodi iterativi stazionari

Supponiamo che la matrice non singolare A ∈ Cn×n sia tale che

A = M − N, con M non singolare.

Allora, se Ax = b necessariamenteMx − Nx = Ax = b. Di conseguenza da Mx = Nx + b

moltiplicando ambo i membri per M−1, posto φ(x ) = M−1Nx + M−1b,

x = M−1Nx + M−1b = φ(x ).

Viene quindi naturale utilizzare la succ. del metodo di punto fisso

x(k+1)= φ(x(k)) = M−1Nx(k)+ M−1b.

(5)

Esempio A, E, F

Definizione

Sia A = M − N, con M non singolare. Un metodo iterativo le cui iterazioni sono

x(k+1)= φ(x(k)) = M−1Nx(k)+ M−1b.

si diceiterativo stazionario.

La matrice P = M−1N si dice dimatrice iterazione.

Nota.

(6)

Esempio A, E, F

Risulta utile anche scrivere la matrice A come A = D − E − F dove D `e una matrice diagonale,

E `e triangolare inferiore con elementi diagonali nulli, F `e triangolare superiore con elementi diagonali nulli. E’ immediato osservato che tale scrittura esiste ed `e unica. Tramite questo splitting di matrici descriveremo i metodi iterativi stazionari pi`u noti e sar`a particolarmente semplice la

(7)

Esempio A, E, F

Esempio >> A =[1 2 3 4 ; 5 6 7 2 ; 8 9 1 2 ; 3 4 5 1 ] A = 1 2 3 4 5 6 7 2 8 9 1 2 3 4 5 1 >> E=−(t r i l( A )−d i a g(d i a g( A ) ) ) E = 0 0 0 0 −5 0 0 0 −8 −9 0 0 −3 −4 −5 0 >> F=−(t r i u( A )−d i a g(d i a g( A ) ) ) F = 0 −2 −3 −4 0 0 −7 −2 0 0 0 −2 0 0 0 0

(8)

Metodo di Jacobi

Definizione (Metodo di Jacobi, 1846)

Sia A = D − E − F ∈ Cn×n dove

D `e una matrice diagonale, non singolare

E `e triangolare inferiore con elementi diagonali nulli, F `e triangolare superiore con elementi diagonali nulli. Sia fissato x(0)∈ Cn. Il metodo di Jacobigenera {x(k)}

k con

x(k+1)= φ(x(k)) = M−1Nx(k)+ M−1b

dove

M = D, N = E + F .

Si vede che la matrice di iterazione P = M−1N `e in questo caso

(9)

Metodo di Jacobi

Nota.

Se D `e non singolare il metodo di Jacobi

x(k+1)= φ(x(k)) = D−1(E + F )x(k)+ D−1b

pu`o essere descritto comemetodo delle sostituzioni simultanee

xi(k+1)= (bi− i −1 X j =1 aijx (k) j − n X j =i +1 aijx (k) j )/aii, i = 1, . . . , n. (1) Nota.

Si osservi che se D `e non singolare, ovviamente ai ,i6= 0 per ogni indice i e

(10)

Metodo di Jacobi

Vediamo perch`e questa derivazione. Da Ax = b, con A ∈ Cn×n abbiamo X j <i ai ,jxj+ ai ,ixi+ X j >i ai ,jxj= X j ai ,jxj= bi, i = 1, . . . , n

e quindi evidenziando xi, supposto ai ,i 6= 0 deduciamo

xi= 1 ai ,i bi− X j <i ai ,jxj+ X j >i ai ,jxj !! , i = 1, . . . , n

Quindi note delle approssimazioni della soluzione x(k)= {x(k)

j } per j = 1, . . . , n

`e naturale introdurre il metodo iterativo xi(k+1)= 1 ai ,i bi− X j <i ai ,jxj(k)+ X j >i ai ,jxj(k) !! , i = 1, . . . , n,

(11)

Metodo di Jacobi

Nota.

Storicamente Jacobi consider´o un problema inserito in Theoria Motus Corporum Coelestium in Sectionibus Conicis Solem Ambientium (1809) (Gauss), che consisteva nel risolvere il problema Ax = b dove

(12)

Metodo di Gauss-Seidel

Definizione (Metodo di Gauss-Seidel, 1823-1874)

Sia A = D − E − F ∈ Cn×n dove

D `e una matrice diagonale, non singolare

E `e triangolare inferiore con elementi diagonali nulli, F `e triangolare superiore con elementi diagonali nulli. Sia fissato x(0)∈ Cn. Il metodo di Gauss-Seidelgenera {x(k)}

k con

x(k+1)= φ(x(k)) = M−1Nx(k)+ M−1b

dove

M = D − E , N = F .

Si vede che la matrice di iterazione P = M−1N `e in questo caso

(13)

Metodo di Gauss-Seidel

Nota.

Se D `e non singolare il metodo di Gauss-Seidel

x(k+1)= φ(x(k)) = (D − E )−1Fx(k)+ (D − E )−1b

pu`o essere descritto comemetodo delle sostituzioni successive

xi(k+1)= bi− i −1 X j =1 aijx (k+1) j − n X j =i +1 aijx (k) j ! /aii. (3) Nota.

Si osservi che se D `e non singolare, ovviamente ai ,i6= 0 per ogni indice i e

(14)

Metodo di Gauss-Seidel

Vediamo perch`e questa derivazione. Da Ax = b, con A ∈ Cn×n abbiamo X j <i ai ,jxj+ ai ,ixi+ X j >i ai ,jxj= X j ai ,jxj= bi, i = 1, . . . , n

e quindi evidenziando xi, supposto ai ,i 6= 0 deduciamo

xi= 1 ai ,i bi− X j <i ai ,jxj+ X j >i ai ,jxj !! , i = 1, . . . , n

Quindi note delle approssimazioni della soluzione x(k)= {xj(k)} per j > i , e gi`a calcolate x(k+1)= {x(k+1)

j } per j < i `e naturale introdurre il metodo iterativo

(15)

Metodo di Gauss-Seidel

Nota.

Secondo Forsythe:

The Gauss-Seidel method was not known to Gauss and not recommended by Seidel.

(16)

SOR

Definizione (Successive over relaxation, (SOR), 1884-1950 (Frankel-Young))

Sia A = D − E − F ∈ Cn×n dove

D `e una matrice diagonale, non singolare

E `e triangolare inferiore con elementi diagonali nulli, F `e triangolare superiore con elementi diagonali nulli. Sia fissato x(0)∈ Cn e ω ∈ C\0. Il metodo SORgenera {x(k)}

(17)

SOR

Nota. ((cf.[1, p.555]))

SOR deriva dallo descrivere esplicitamente una iter. di Gauss-Seidel zi(k+1)= 1 aii " bi− i −1 X j =1 aijxj(k+1)− n X j =i +1 aijxj(k) #

(18)

SOR

Per convincersi dell’equivalenza tra formulazione matriciale ed equazione per equazione, osserviamo che

xi(k+1)= ω aii " bi− i −1 X j =1 aijxj(k+1)− n X j =i +1 aijxj(k) # + (1 − ω)x(k) diventa x(k+1)= ωD−1[b + Ex(k+1)+ Fx(k)] + (1 − ω)x(k) e dopo noiosi calcoli in cui si evidenziano x(k)e x(k+1)

D ω(I − ωD −1 E )x(k+1)=D ω  ωD−1F + (1 − ω)x(k)+ b

da cui, dovendo essere Mx(k+1)= Nx(k)+ b,

M = D ω − E , N = F + 1 − ω ω D =  1 ω− 1  D + F . Nota.

(19)

SOR

Nota.

(20)

SOR

Nota.

(21)

I metodi di Richardson stazionari

Definizione (Residuo)

Sia A una matrice quadrata in Cn×n, b ∈ Cn, x ∈ Cn. La quantit`a

r = b − Ax (4)

`e nota comeresiduo (relativamente ad A e b).

Definizione (Metodo di Richardson stazionario, 1910)

Fissato α, un metodo diRichardson stazionario, conmatrice di precondizionamentoP, verifica

P(x(k+1)− x(k)) = αr(k). (5)

dove il residuo alla k-sima iterazione `e

(22)

I metodi di Richardson non stazionari

Definizione (Metodo di Richardson non stazionario)

Fissati αk dipendenti dalla iterazione k, un metodo di Richardson

non stazionario, conmatrice di precondizionamentoP, verifica

P(x(k+1)− x(k)) = αkr(k). (7)

Nota.

Si osservi che se αk= α per ogni k, allora il metodo di Richardson non

stazionario diventa stazionario.

Tipicamente la matrice P viene scelta cosicch`e il la soluzione di P(x(k+1)− x(k)

) = αkr(k)non sia computazionalmente costosa. Ad

(23)

I metodi di Richardson

I metodi di Jacobi e di Gauss-Seidel, SOR, sono metodi di Richardson stazionari.

Proposizione.

I metodi del tipo Mx(k+1) = Nx(k)+ b, con M invertibile e A = M − N sono di Richardson stazionari con P = M, α = 1.

Dimostrazione.

Sia, come da ipotesi,

Mx(k+1)= Nx(k)+ b, (8)

Essendo r(k)= b − Ax(k),

(24)

I metodi di Richardson

Nota.

Per l’asserto precedente, poich`e i metodi di Jacobi e di Gauss-Seidel, SOR, verificano

M(x(k+1)− x(k)

) = r(k) (10)

necessariamente sono metodi di Richardson stazionari, con α = 1 e matrice di precondizionamento P = M.

I metodi di tipo Richardson x(k+1)− x(k)= α(b − Ax(k)) sono spesso

usati cercando di selezionare i parametri α cos`ı da rendere pi`u veloce la convergenza del metodo. Nel caso A = AT, tale parametro ottimale `e α = 2/(λmin+ λmax).

(25)

Norma di matrici

Definizione (Raggio spettrale)

Siano λ1, . . . , λn gli autovalori di matrice A ∈ Cn×n. La quantit`a ρ(A) := max

i (|λi|) `e dettoraggio spettrale di A.

Definizione (Norma naturale)

Sia k · k : Cn → R+ una norma vettoriale. Definiamo norma

naturale(o indotta) di una matrice A ∈ Cn×n la quantit`a

kAk := sup

x ∈Cn,x 6=0 kAxk

kxk .

Nota.

(26)

Norma di matrici

Esempio ([4], p. 24)

Sia x un arbitrario elemento di Cn, A ∈ Cn×n.

Norma vettoriale Norma naturale

kxk1 :=Pnk=1|xk| kAk1= maxj Pn i =1|ai ,j| kxk2 := Pnk=1|xk|2 1/2 kAk2= ρ1/2(ATA)

kxk∞:= maxk|xk| kAk∞= maxiPnj =1|ai ,j|

Nota.

Nella norma matriciale 1, di ogni colonna si fanno i moduli di ogni componente e li si somma. Quindi si considera il massimo dei valori ottenuti, al variare della riga.

(27)

Norma di matrici

Per quanto riguarda un esempio chiarificatore in Matlab/Octave

(28)

Norma di matrici

Si dimostra che (cf. [4, p.28])

Teorema

Per ogni norma naturale k · k e ogni matrice quadrata A si ha ρ(A) ≤ kAk. Inoltre per ogni matrice A di ordine n e per ogni  > 0 esiste una norma naturale k · k tale che

ρ(A) ≤ kAk ≤ ρ(A) + . e inoltre (cf. [4, p.29], [3, p.232])

Teorema (Hensel 1926, Oldenburger 1940, Householder 1958)

Fissata una norma naturale k · k, A ∈ Cn×ni seguenti asserti sono equivalenti

1 Am→ 0;

2 kAmk → 0;

(29)

Sul raggio spettrale

Nota.

Siano {λk}k=1,...,nautovalori di A ∈ Cn×n. Ilraggio spettrale

ρ(A) = max

k (|λk|)

non `e una norma. Infatti la matrice 

0 1 0 0



ha raggio spettrale nullo, ma non `e la matrice nulla.

Osserviamo che dagli esempi il raggio spettrale di una matrice Anon coincide in generale con la norma 1, 2, ∞, ma che a volte ρ(A) = kAk2

(30)

Convergenza dei metodi iterativi stazionari

Definizione (Matrice diagonalizzabile)

Una matrice A ∈ Cn×n `e diagonalizzabile se e solo Cn possiede una

base composta di autovettoridi A.

Equivalentemente A ∈ Cn×n `e diagonalizzabile se e solo se `e simile ad una matrice diagonale D, cio`e esiste S tale che

A = S−1DS.

Definizione (Metodo consistente)

Sia A una matrice non singolare e Ax∗= b. Il metodo stazionario

x(k+1)= Px(k)+ c

(31)

Convergenza dei metodi iterativi stazionari

Lemma

Siax(k+1)= Px(k)+ c un metodo iterativo stazionario.

Supponiamo sia consistente, relativamente al problema Ax = b, cio`e

Ax∗= b implica x∗= Px∗+ c.

Allora, posto e(k)= x(k)− x(∗) si ha che e(k+m) = Pme(k). In particolare, per k = 0 si ottiene e(m) = Pme(0).

Dimostrazione.

Basta osservare che

e(k+m) := x(k+m)− x∗= Px(k+m−1)+ c − (Px∗+ c)

(32)

Convergenza dei metodi iterativi stazionari

Teorema

Se P ∈ Cn×n `e diagonalizzabile allora un metodo iterativo stazionario consistente x(k+1) = Px(k)+ c convergeper ogni

vettore inizialex0∈ Cn se e solo se ρ(P) < 1.

Dimostrazione.

⇐ Siccome P `e diagonalizzabile allora Cn possiede una base

composta di autovettori di P.

Consideriamo un metodo iterativo stazionario x(k+1)= Px(k)+ c in cui scelto x(0) si abbia

e(0) := x(0)− x∗ =

n

X

s=1

csus

(33)

Convergenza dei metodi iterativi stazionari

Supponiamo |λs| < 1 per s = 1, . . . , n.

Se il metodo `e consistente, cio`e

x∗= Px∗+ c

da un lemma precedente abbiamoe(k)= Pke(0) e da Pu

(34)

Convergenza dei metodi iterativi stazionari

Dimostrazione.

Quindi se |λks| < 1 per ogni s = 1, . . . , n e k = 1, 2, . . ., abbiamo

kx(k)− x∗k = k n X s=1 csλksusk ≤ n X s=1 |cs||λks|kusk → 0.

⇒ Se invece per qualche k si ha |λk| ≥ 1 e c

k 6= 0 allora

kx(k)− xk non converge a 0 al crescere di k.

Infatti, se |λl| ≥ 1 e λl `e l’autovalore di massimo modulo, posto

x(0)− x∗= ul

abbiamo da (11)

kx(k)− x∗k = kλklulk = |λkl|kulk

(35)

Convergenza dei metodi iterativi stazionari

Introduciamo il teorema di convergenza nel caso generale, basato sul teorema di Hensel.

Teorema

Un metodo iterativo stazionario consistente x(k+1) = Px(k)+ c, ove P ∈Cn×n, converge per ogni vettore iniziale x0 ∈Cn se e solo

se ρ(P) < 1.

Nota.

Si noti che il teorema riguarda la convergenzaper ogni vettore iniziale x0ed `e quindi di convergenza globale.

(36)

Convergenza dei metodi iterativi stazionari

Dimostrazione. ( [3], p. 236)

⇐ Se ρ(P) < 1, allorax = Px + c ha una e una sola sol. x∗. Infatti,

x = Px + c ⇔ (I − P)x = c

e la matrice I − P ha autovalori 1 − λk con k = 1, . . . , n tali che

0 < |1 − |λk|C|R≤ |1 − λk|C, poich`e |λk|C≤ ρ(P) < 1 e quindi det(I − P) = n Y k=1 (1 − λk) 6= 0,

(37)

Convergenza dei metodi iterativi stazionari

Dimostrazione.

Sia e(k) = x(k)− x∗. Come stabilito dal Teorema che lega norme a raggi spettrali, sia inoltre una norma naturale k · k tale che

ρ(P) ≤ kPk = ρ(P) + (1 − ρ(P))/2 < 1. Da

x(k+1) = Px(k)+ c,

x∗ = Px∗+ c,

da un lemma precedentee(k)= Pke(0) e quindi essendo k · k una norma naturale

ke(k)k = kPke(0)k ≤ kPkkke(0)k. (12) Essendo ρ(P) < 1, abbiamo che kPkk → 0 da cui per (12) `e

ke(k+1)k → 0 e quindi per le propriet`a delle norme e(k)→ 0 cio`e

(38)

Convergenza dei metodi iterativi stazionari

Dimostrazione.

⇒ Supponiamo che la successione x(k+1) = Px(k)+ c converga a

x∗ per qualsiasi x(0)∈ Cn ma che sia ρ(P) ≥ 1. Sia λ

max∈ Cil

massimo autovalore in modulo di P e scegliamo x(0) tale che e(0)= x(0)− x∗ sia autovettore di P relativamente all’autovalore λmax. Essendo Pe(0)= λmaxe(0) e e(k+1) = Pke(0) abbiamo che

e(k+1) = λkmaxe

(0)

da cui, qualsiasi sia la norma k · k, per ogni k = 1, 2, . . . si ha ke(k)k = |λk

max|Cke

(0)k ≥ ke(0)k

il che comporta che la successione non `e convergente (altrimenti

(39)

Convergenza dei metodi iterativi stazionari

Nota.

Si osservi che nel precedente teorema, se P ∈ Rn×n allora a priori potrebbe essere

λmax∈C\R,

e pure il suo autovettore potrebbe avere componenti complesse ma non reali.

(40)

Velocit`

a di convergenza

Proposito.

L’analisi che faremo in questa sezione non `e rigorosamente matematica. Ci`o nonostante permette di capire il legame tra il raggio spettrale della matrice di iterazione P e la riduzione dell’errore.

Supponiamo di voler approssimare x∗ tale che Ax∗ = b con il metodo stazionario

x(k+1) = Px(k)+ c.

Supporremo tale metodo consistente e quindi se Ax∗ = b allora

x∗ = Px∗+ c. Inoltre indicheremo con e(k) l’errore

(41)

Velocit`

a di convergenza

Da un lemma precedente

e(k+m) = Pme(k). (13)

Si dimostra che se A ∈ Cn×n e k · k `e una norma naturale allora

lim

k kA

kk1k = ρ(A)

Quindi per k sufficientemente grande si ha kPkk1/k ≈ ρ(P)

(42)

Velocit`

a di convergenza

Sotto queste ipotesi, per k sufficientemente grande, da e(k+m)= Pme(k), kPkk ≈ ρk(P), abbiamo ke(k+m)k = kPm e(k)k ≤ kPmkke(k)k ≈ ρm (P)ke(k)k (14) e quindi ke(k+m)k/ke(k) k / ρm (P). (15)

Per cui seρm(P) ≈ , ovverom ≈ log() log (ρ(P)), allora

ke(k+m)k/ke(k)k / ρm(P) ≈ .

Quindi per avere una riduzione dell’errore ke(k)k di un fattore , servono asintoticamente circa m iterazioni, dove

(43)

Velocit`

a di convergenza

Se

R(P) = − log(ρ(P))

`

e la cosidettavelocit`a di convergenza asintoticadel metodo iterativo stazionario relativo a P abbiamo

m ≈  log  log (ρ(P))  = − log() R(P)  .

Se ρ(P) < 1 `a particolarmente piccolo allora log(ρ(P))  0 e quindi R(P) = − log(ρ(P))  0 per cui asintoticamente il numero di iterazioni m per abbattere l’errore di un fattore  sar`a

particolarmente basso e quindi il metodoveloce.

(44)

Alcuni teoremi di convergenza

Definizione (Matrice tridiagonale)

Una matrice A si dicetridiagonale se Ai ,j = 0 qualora |i − j | > 1.

(45)

Alcuni teoremi di convergenza

Teorema

Per matricitridiagonaliA = (ai ,j) ∈ Cn×n concomponenti diagonali non nulle,i metodi di Jacobi e Gauss-Seidelsono

o entrambi convergenti o entrambi divergenti.

La velocit`a di convergenza del metodo di Gauss-Seidel `e ildoppio

di quello del metodo di Jacobi.

Nota.

(46)

Alcune definizioni

Definizione (Matrice a predominanza diagonale)

La matrice A ∈ Cn×n `e apredominanza diagonale (per righe) se per ogni i = 1, . . . , n risulta

|ai ,i| ≥ n

X

j =1,j 6=i

|ai ,j|

e per almeno un indice s si abbia

|as,s| >

n

X

j =1,j 6=s

|as,j|.

La matrice A = (ai ,j) ∈ Cn×n `e a predominanza diagonale per

colonne se la matrice hermitiana AH = (¯ai ,j) a predominanza

(47)

Alcune definizioni

Definizione (Matrice a predom. diagonale in senso stretto)

Se |as,s| > n X j =1,j 6=s |as,j|, s = 1, . . . , n

allora la matrice A ∈ Cn×n si dice apredominanza diagonale (per righe) in senso stretto.

La matrice A `e apredominanza diagonale (per colonne) in

senso strettose AH a predominanza diagonale per righe in senso

stretto. Ad esempio la matrice A =   4 −4 0 −1 4 −1 0 −4 4  

(48)

Teoremi di convergenza

Teorema

Sia A una matrice quadrata apredominanza diagonale per righe in senso stretto. Allora il metodo di Jacobi convergealla soluzione di Ax = b, qualsiasi sia il punto x(0) iniziale.

Teorema

Sia A `e a predominanza diagonale per righe in senso stretto. Allora il metodo diGauss-Seidel converge, qualsiasi sia il punto x(0) iniziale.

Tali teoremi valgono anche se A `e a predominanza diagonale per colonne in senso stretto.

(49)

Alcune definizioni

Definizione (Matrice simmetrica)

La matrice A ∈ Cn×n `e hermitiana se A = AH.

Definizione (Matrice definita positiva)

Una matrice hermitiana A ∈ Cn×n `e definita positivase ha tutti gli autovalori positivi.

Equivalentemente una matrice hermitiana A `e definita positiva se

(50)

Alcune definizioni

Esempio Ad esempio la matrice A =   4 −1 0 −1 4 −1 0 −1 4  

`e simmetrica e definita positiva. Per convincersene basta vedere che ha tutti gli autovalori positivi.

(51)

Alcuni teoremi di convergenza

Teorema (Kahan, 1958)

Sia A ∈ Cn×n una matrice quadrata. Condizione necessaria affinch`e il metodo SOR converga globalmente alla soluzione di Ax = b `e che sia |1 − ω| < 1. Se ω ∈ R in particolare `e che sia ω ∈ (0, 2).

Teorema (Ostrowski (1954)-Reich(1949))

Sia A ∈ Cn×n

definita positiva, ω ∈ (0, 2).

Allora il metodo SOR converge.

(52)

Test di arresto

Problema. (Test di arresto)

Consideriamo il sistema lineare Ax = b avente un’unica soluzione x∗ e supponiamo di risolverlo numericamente con un metodo iterativo stazionario del tipo

x(k+1) = Px(k)+ c,

che sia consistente cio`e

x∗ = Px∗+ c.

(53)

Test di arresto: criterio dello step

Proposizione. (Stima a posteriori)

Sia Ax = b con A non singolare e x(k+1)= Px(k)+ c un metodo iterativo stazionario consistente, con kPk < 1. Allora

(54)

Test di arresto: criterio dello step

Fissata dall’utente una tolleranza tol, si desidera interrompere il processo iterativo quando

kx∗− x(k)k ≤ tol.

Definizione (Criterio dello step)

Ilcriterio dello step, consiste nell’interrompere il metodo iterativo che genera la successione {x(k)} alla k + 1-sima iterazione qualora

kx(k+1)− x(k)k ≤ tol

(dove tol `e una tolleranza fissata dall’utente).

Quindi, da ke(k)k := kx

− x(k)k ≤ kx(k+1)−x(k)k

1−kPk , se kPk  1 allora il criterio

(55)

Test di arresto: criterio dello step

Analizziamo il caso particolare in cui P sia simmetrica e la norma sia k · k2.

Teorema

(56)

Test di arresto: criterio dello step

Nota.

Osserviamo che da ρ(P) ≤ kPk, qualsiasi sia la norma k · k e

ke(k)k := kx− x(k)k ≤ kx(k+1)− x(k)k

1 − kPk non consegue direttamente per k · k = k · k2

ke(k)k2 := kx∗− x(k)k2 ≤

kx(k+1)− x(k)k 2

1 − ρ(P) in quanto per ogni norma k · k

1 1 − ρ(P) ≤

(57)

Test di arresto: criterio dello step

Lemma (Facoltativo)

SeP `e simmetrica, allora esistono

una matrice ortogonale U, cio`e tale che UT = U−1, una matrice diagonale a coefficienti reali Λ

per cui

P = UΛUT

(58)

Test di arresto: criterio dello step

Dimostrazione. (Facoltativo)

Dal lemma, se P `e simmetrica, essendo kPk2 :=pρ(PPT), UTU = I kPk2 = q ρ(PPT) =qρ(UΛUT(UΛUT)T) = q ρ(UΛUTUΛUT) = q ρ(UΛ2UT) (16)

Essendo UΛ2UT simile a Λ2, UΛ2UT e Λ2 hanno gli stessi autovalori uguali a {λ2

k}k e di conseguenza lo stesso raggio

spettrale, da cui

(59)

Test di arresto: criterio dello step

Da ρ(UΛ2UT) = ρ(Λ2) ricaviamo kPk2 = q ρ(Λ2) =qmax k |λ 2 k| = q max k |λk| 2 = q(max k |λk|) 2 = max k |λk| =ρ(P). (17)

Se il metodo stazionario x(k+1)= Px(k)+ c `e convergente, per il teorema di convergenza kPk2 = ρ(P) < 1 e per la precedente

proposizione ke(k)k2 := kx∗− x(k)k2 ≤ kx (k+1)− x(k)k 2 1 − kPk2 = kx (k+1)− x(k)k 2 1 − ρ(P) 4. Nota.

(60)

Test di arresto: criterio del residuo

Definizione (Criterio del residuo)

Ilcriterio del residuo, consiste nell’interrompere il metodo

iterativo che genera la successione {x(k)} alla k + 1-sima iterazione qualora

kr(k)k ≤ tol

dove

(61)

Test di arresto: criterio del residuo

Teorema

Sia Ax∗= b con A non singolare e k · k una norma naturale. Sia {x(k)} la successione generata da un metodo iterativo. Allora

kx(k)− xk kx∗k = ke(k)k kx∗k ≤ κ(A) kr(k)k kbk .

dove κ(A) `e il numero di condizionamento di A.

Nota.

Dal teorema si evince che il criterio krkbk(k)k≤ tol non offre indicazioni su

kx(k)−xk

(62)

Test di arresto: criterio del residuo

Dimostrazione.

Se b = Ax∗allora, essendo A invertibile e(k)= x∗− x(k)

= A−1A(x∗− x(k)

) = A−1(b − Ax(k)) = A−1r(k) e quindi, essendo k · k una norma naturale

ke(k)k ≤ kA−1

kkr(k)k;

Inoltre, poich`e b = Ax∗abbiamo kbk ≤ kAkkx∗k e quindi 1

kx∗k

kAk kbk.

Di conseguenza, posto κ(A) = kAkkA−1k, se x∗6= 0 ricaviamo

(63)

I metodi di discesa

SiaA una matrice simmetrica definita positiva.

Si osserva che se x∗ `e l’unica soluzione di Ax = b allora `e pure il minimo delfunzionale dell’energia

φ(x ) = 1

2x

TAx − bTx , x ∈ Rn

in quanto

grad(φ(x )) = Ax − b = 0 ⇔ Ax = b.

(64)

I metodi di discesa

Un genericometodo di discesa consiste nel generare una successione

x(k+1)= x(k)+ αkp(k)

dove p(k)`e una direzione fissata secondo qualche criterio. Lo scopo ovviamente `e che

φ(x(k+1)) < φ(x(k)),

(65)

I metodi di discesa

Definizione (Metodo del gradiente classico, Cauchy 1847)

Il metodo delgradiente classico `e un metodo di discesa

x(k+1)= x(k)+ αkp(k)

con αk e p(k) scelti cos`ı da ottenere la massima riduzione del

funzionale dell’energia a partire dal punto x(k).

Differenziandoφ(x ) = 12xTAx − bTx , x ∈ Rn si mostra che tale scelta coincide con lo scegliere

p(k) = r(k), αk =

kr(k)k2 2

(r(k))TAr(k). (18)

Nota.

(66)

Il metodo del gradiente: propriet`

a

Teorema

Se

A `e simmetrica e definita positiva, kxkA=

√ xTAx ,

e(k)= x∗− x(k), con x(k) iterazione del gradiente

(67)

Il metodo del gradiente: propriet`

a

Nota.

Questo risultato stabilisce che la convergenza del gradiente `e lenta qualora si abbiano alti numeri di condizionamento

(68)

Il metodo del gradiente coniugato.

Definizione (Gradiente coniugato, Hestenes-Stiefel, 1952)

Il metodo delgradiente coniugato`e un metodo di discesa

x(k+1)= x(k)+ αkp(k) con αk = (r (k))Tr(k) (p(k))TAp(k), p(0) = r(0), p(k) = r(k)+ βkp(k−1), k = 1, 2, . . . βk = (r (k))Tr(k) (r(k−1))Tr(k−1) = kr(k)k2 2 kr(k−1)k2 2 .

(69)

Il metodo del gradiente coniugato

Nota.

Hestenes was working at the I.N.A. at UCLA. In June and early July 1951, he derived the conjugate gradient algorithm.

When, in August, Stiefel arrived at I.N.A. from Switzerland for a congress, the librarian gave him the routine written by Hestenes. Shortly after, Stiefel came to Hestenes office and said about the paper ”this is my talk!”.

Indeed, Stiefel had invented the same algorithm from a different point of view. So they decided to write a joint paper from a different point of view.

Nota. (Saad, van der Vorst)

(70)

Il metodo del gradiente coniugato: propriet`

a

Il metodo del gradiente coniugato ha molte propriet`a particolari. Ne citiamo alcune.

Teorema

Se A `e una matrice simmetrica e definita positiva di ordine n, allora il metodo del gradiente coniugato `e convergente e fornisce in aritmetica esatta la soluzione del sistema Ax = b in al massimo n iterazioni.

Questo teorema tradisce un po’ le attese, in quanto

(71)

Il metodo del gradiente coniugato: propriet`

a

Definizione (Spazio di Krylov)

Lo spazio

Kk= span(r(0), Ar(0), . . . , Ak−1r(0))

per k ≥ 1 si dicespazio di Krylov.

Osserviamo che per quanto concerne il gradiente coniugato x(k+1)= x(k)+ αkp(k), p(k)= r(k)+ βkp(k−1) con p(0)= r(0), abbiamo x(0)∈ x(0) + K0, supposto K0= ∅; x(1)= x(0)+ α 0p(0)= x(0)+ α0r(0)∈ x(0)+ K1; r(1)= b − Ax(1)= b − Ax(0)− α0Ar(0)= r(0)− α0Ar(0)∈ K2; x(2)= x(1)+ α 1p(1)= x(1)+ α1(r(1)+ β1p(0)) = x(1)+ α1(r(1)+ β1r(0)) ∈ x(0)+ K2; x(k)∈ x(0)

(72)

Il metodo del gradiente coniugato: propriet`

a

Teorema

Sia

Kk = span(r(0), Ar(0), . . . , Ak−1r(0))

per k ≥ 1. Allora la k-sima iterata dal metodo del gradiente coniugato, minimizza il funzionale φ nell’insieme x(0)+ K

k.

Per una dimostrazione si veda [7, p.12].

Si osservi che essendo la k-sima iterazione del gradiente classico pure in x(0)+ Kk, il gradiente classico non minimizza in generale il funzionale φ

in x(0)+ K k.

Se Kn ha dimensione n allora x∗∈ Rnsoluzione di Ax∗= b appartiene a

x(0)+ Kned `e l’unico minimo del funzionale dell’energia, come pure

l’iterazione x(n) del gradiente coniugato. Quindi x(n)= x(∗).

Si dimostra che se Knha dimensione minore di n allora il gradiente

(73)

Il metodo del gradiente coniugato: propriet`

a

Teorema

Se

A `e simmetrica e definita positiva, kxkA=

√ xTAx ,

e(k)= x∗− x(k), con x(k) iterazione del gradiente coniugato

(74)

Il metodo del gradiente coniugato: propriet`

a

Nota.

Questo risultato stabilisce che la convergenza del gradiente coniugato `e lenta qualora si abbiano alti numeri di condizionamento

K2(A) := kAk2kA −1 k2= maxi|λi| minj|λj| , {λi} = spettro(A). Posto µcg(x ) = √ x − 1 √ x + 1 abbiamo ad esempio µcg(10) ≈ 0.5195, µcg(1000) ≈ 0.9387, µcg(100000) ≈ 0.9937.

(75)

Bibliografia

K. Atkinson, Introduction to Numerical Analysis, Wiley, 1989. K. Atkinson e W. Han, Theoretical Numerical Analysis, Springer, 2001.

D. Bini, M. Capovani e O. Menchi, Metodi numerici per l’algebra lineare, Zanichelli, 1988. V. Comincioli, Analisi Numerica, metodi modelli applicazioni, Mc Graw-Hill, 1990. S.D. Conte e C. de Boor, Elementary Numerical Analysis, 3rd Edition, Mc Graw-Hill, 1980.

G.H. Golub, C.F. Van Loan Matrix Computations, third edition, The John Hopkins University Press, 1996. C.T. Kelley, Iterative Methods for Linear and Nonlinear Equations, SIAM, 1995.

Riferimenti

Documenti correlati

Implementare il metodo di rilassamento per risolvere il sistema c.. del punto precedente per vari valori del

Laboratorio del corso di Calcolo

(Una matrice tridiagonale ` e un esempio di matrice sparsa.) Se una matrice ` e sparsa ` e conveniente memorizare solo dove si trovano gli elementi non nulli e il loro valore.. I

Vediamo quanto accurato `e il teorema di Banach nelle sue stime. Il metodo esegue 24 iterazioni.. Punto fisso in Matlab.. ◮ Si osservi che, eccetto nell’ultima riga, la stima

Se A ` e una matrice simmetrica e definita positiva di ordine n, allora il metodo del gradiente coniugato ` e convergente e fornisce in aritmetica esatta la soluzione del sistema Ax =

Se A ` e una matrice simmetrica e definita positiva di ordine n, allora il metodo del gradiente coniugato ` e convergente e fornisce in aritmetica esatta la soluzione del sistema Ax =

Il metodo SOR ha quale costante quasi ottimale w = 1.350; Il metodo del gradiente coniugato converge in meno iterazioni rispetto agli altri metodi (solo 5 iterazioni, ma si osservi

Si rimane un po’ sorpresi dal fatto che per w = 1.350 il numero di iterazioni fosse inferiore di quello fornito dal valore ottimale teorico w ∗ = 1.333.. Il fatto `e che questo