• Non ci sono risultati.

28-29Gennaio2009 [email protected] MassimilianoMartinelli SoluzioniAnaliticheeNumericheApplicateall’IngegneriaAmbientale

N/A
N/A
Protected

Academic year: 2021

Condividi "28-29Gennaio2009 [email protected] MassimilianoMartinelli SoluzioniAnaliticheeNumericheApplicateall’IngegneriaAmbientale"

Copied!
93
0
0

Testo completo

(1)

Metodi numerici per la risoluzione di sistemi lineari

Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale

Massimiliano Martinelli

[email protected]

Università Politecnica delle Marche, Ancona Facoltà di Ingegneria

28-29 Gennaio 2009

(2)

Metodi numerici per la risoluzione di sistemi lineari

Outline

1 Introduzione

2 Metodi numerici per la risoluzione di sistemi lineari Metodi diretti

Metodi iterativi

(3)

Metodi numerici per la risoluzione di sistemi lineari

Outline

1 Introduzione

2 Metodi numerici per la risoluzione di sistemi lineari Metodi diretti

Metodi iterativi

(4)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi

La matrice del sistema non viene modificata⇒ migliore sfruttamento della sparsità

Soluzione come limite di una successione⇒ si pone il problema della convergenza (e anche della velocità di convergenza)

Per matrici piene O(n2) operazioni ogni iterazione ⇒ metodi iterativi meno costosi dei metodi diretti se si ottiene la convergenza in un numero di iterazioni che dipende da n in modo sublineare

Possibilità di utilizzare approcci matrix-free

I metodi iterativi si possono applicare anche alla risoluzione di sistemi non-lineari

(5)

Metodi numerici per la risoluzione di sistemi lineari

Principio dei metodi iterativi

Data una stima iniziale x(0)della soluzione del problema, si costruisce una successione di vettori x(k)che verifica la proprietà di convergenza

k→∞limx(k)= x

(6)

Metodi numerici per la risoluzione di sistemi lineari

Principio dei metodi iterativi

Data una stima iniziale x(0)della soluzione del problema, si costruisce una successione di vettori x(k)che verifica la proprietà di convergenza

k→∞limx(k)= x

Il metodo iterativo può essere scritto nella forma

x(k+1)=ϕϕϕk+1(x(k), x(k−1), . . . , x(k−m), A, b) per k≥ m doveϕϕϕke x(0), . . . , x(m)sono rispettivamente funzioni e vettori dati.

(7)

Metodi numerici per la risoluzione di sistemi lineari

Principio dei metodi iterativi

Data una stima iniziale x(0)della soluzione del problema, si costruisce una successione di vettori x(k)che verifica la proprietà di convergenza

k→∞limx(k)= x

Il metodo iterativo può essere scritto nella forma

x(k+1)=ϕϕϕk+1(x(k), x(k−1), . . . , x(k−m), A, b) per k≥ m doveϕϕϕke x(0), . . . , x(m)sono rispettivamente funzioni e vettori dati.

m è chiamato ordine del metodo

se le funzioniϕϕϕknon dipendono dal passo k, il metodo è detto stazionario, altrimenti non-stazionario

se le funzioniϕϕϕkdipendono linearmente dai vettori x(0), . . . , x(m)il metodo è chiamato lineare, altrimenti non-lineare

(8)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Consistenza con il sistema lineare

Sia B∈ Rn×n(matrice di iterazione). Il metodo iterativo lineare x(k+1)= Bx(k)+ f

è detto essere consistente con il sistema lineare Ax= b se x= Bx + f

o, equivalentemente

f= (I − B)A−1b

(9)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Consistenza con il sistema lineare

Sia B∈ Rn×n(matrice di iterazione). Il metodo iterativo lineare x(k+1)= Bx(k)+ f

è detto essere consistente con il sistema lineare Ax= b se x= Bx + f

o, equivalentemente

f= (I − B)A−1b

La sola consistenza non è sufficiente per la convergenza

(10)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Consistenza con il sistema lineare

Sia B∈ Rn×n(matrice di iterazione). Il metodo iterativo lineare x(k+1)= Bx(k)+ f

è detto essere consistente con il sistema lineare Ax= b se x= Bx + f

o, equivalentemente

f= (I − B)A−1b

La sola consistenza non è sufficiente per la convergenza Convergenza di un metodo iterativo consistente

(11)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Tecnica dello splitting

Scegliere due matrici P e N tali che A= P − N

(12)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Tecnica dello splitting

Scegliere due matrici P e N tali che A= P − N

P (matrice di precondizionamento) deve essere non singolare e “facilmente”

invertibile

(13)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Tecnica dello splitting

Scegliere due matrici P e N tali che A= P − N

P (matrice di precondizionamento) deve essere non singolare e “facilmente”

invertibile

Dato x(0), un metodo iterativo lineare e consistente si scrive come Px(k+1)= Nx(k)+ b k≥ 0

(14)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Tecnica dello splitting

Scegliere due matrici P e N tali che A= P − N

P (matrice di precondizionamento) deve essere non singolare e “facilmente”

invertibile

Dato x(0), un metodo iterativo lineare e consistente si scrive come Px(k+1)= Nx(k)+ b k≥ 0

ovvero, introducendo il residuo al passo k r(k)= b − Ax(k) si ottiene

x(k+1)= x(k)+ P−1r(k)

(15)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Tecnica dello splitting

Scegliere due matrici P e N tali che A= P − N

P (matrice di precondizionamento) deve essere non singolare e “facilmente”

invertibile

Dato x(0), un metodo iterativo lineare e consistente si scrive come Px(k+1)= Nx(k)+ b k≥ 0

ovvero, introducendo il residuo al passo k r(k)= b − Ax(k) si ottiene

x(k+1)= x(k)+ P−1r(k)

La matrice di iterazione è B= P−1N f= P−1b

(16)

Metodi numerici per la risoluzione di sistemi lineari

Scriviamo A= D − E − F

D è la matrice diagonale uguale agli elementi diagonali di A, e sia D invertibile (ovvero dii= aii6= 0 per i = 1, . . . , n)

E è la matrice di elementi eij= −aijse i> j, eij= 0 se i ≤ j F è la matrice di elementi fij= −aijse j> i, fij= 0 se j ≤ i

(17)

Metodi numerici per la risoluzione di sistemi lineari

Scriviamo A= D − E − F

D è la matrice diagonale uguale agli elementi diagonali di A, e sia D invertibile (ovvero dii= aii6= 0 per i = 1, . . . , n)

E è la matrice di elementi eij= −aijse i> j, eij= 0 se i ≤ j F è la matrice di elementi fij= −aijse j> i, fij= 0 se j ≤ i

a11 a12 . . . a1n a21 a22 . . . a2n ... ... ... an1 an2 . . . ann

| {z }

A

=

a11 0

a22 . ..

0 ann

| {z }

D

+

0 0

a21 0 ... . .. . .. an1 . . . an,n−1 0

| {z }

−E

+

0 a12 . . . a1n 0 . .. ...

. .. a1,n−1

0 0

| {z }

−F

(18)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Px(k+1)= Nx(k)+ b dove A= P − N Metodo di Jacobi: P= D e N = E + F

Dx(k+1)= (E + F)x(k)+ b ovvero x(k+1)= x(k)+ D−1r(k)

(19)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Px(k+1)= Nx(k)+ b dove A= P − N Metodo di Jacobi: P= D e N = E + F

Dx(k+1)= (E + F)x(k)+ b ovvero x(k+1)= x(k)+ D−1r(k)

(D−1)ii=d1

ii

BJ= D−1(E + F) = I − D−1A Equivale a

x(k+1)i = 1 aii

 bi

i−1

j=1

aijx(k)j

n j=i+1

aijx(k)j



con i= 1, . . . , n

(20)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Px(k+1)= Nx(k)+ b dove A= P − N Metodo di Gauss-Seidel: P= D − E e N = F

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

(21)

Metodi numerici per la risoluzione di sistemi lineari

Metodi iterativi lineari

Px(k+1)= Nx(k)+ b dove A= P − N Metodo di Gauss-Seidel: P= D − E e N = F

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

(D − E) è la parte triangolare inferiore di A (invertibile perché gli elementi diagonali non sono nulli)

BGS= (D − E)−1F Equivale a

x(k+1)i = 1 aii

 bi

i−1

j=1

aijx(k+1)j

n j=i+1

aijx(k)j



con i= 1, . . . , n

(22)

Metodi numerici per la risoluzione di sistemi lineari

Tecniche di accelerazione della convergenza

Metodo di rilassamento

Si introduce nei metodi precedenti il parametro di rilassamentoωda scegliere opportunamente

Metodo di Jacobi

x(k+1)= x(k)+ D−1r(k)

BJ= I − D−1A Equivale a

x(k+1)i = 1 aii

 bi

i−1

j=1

aijx(k)j

n j=i+1

aijx(k)j



con i= 1, . . . , n

(23)

Metodi numerici per la risoluzione di sistemi lineari

Tecniche di accelerazione della convergenza

Metodo di rilassamento

Si introduce nei metodi precedenti il parametro di rilassamentoωda scegliere opportunamente

Metodo di Jacobi con rilassamento (JOR)

x(k+1)= x(k)+ωD−1r(k)

BJω =ωBJ+(1 −ω)I= I −ωD−1A Equivale a

x(k+1)i = ω aii

 bi

i−1

j=1

aijx(k)j

n j=i+1

aijx(k)j



+ (1 −ω)x(k)i con i= 1, . . . , n

Consistente per ogniω6= 0 (ω= 1 metodo di Jacobi)

(24)

Metodi numerici per la risoluzione di sistemi lineari

Tecniche di accelerazione della convergenza

Metodo di Gauss-Seidel

x(k+1)= x(k)+ ( D − E)−1r(k)

BGS= (D − E)−1F Equivale a

x(k+1)i = 1 aii

 bi

i−1

j=1

aijx(k+1)j

n j=i+1

aijx(k)j



con i= 1, . . . , n

(25)

Metodi numerici per la risoluzione di sistemi lineari

Tecniche di accelerazione della convergenza

Metodo di Gauss-Seidel con rilassamento (SOR) x(k+1)= x(k)+ (1

ωD− E)−1r(k)

BGSω = (ω1D− E)−1

(ω1− 1)D +F Equivale a

x(k+1)i = ω aii

 bi

i−1

j=1

aijx(k+1)j

n j=i+1

aijx(k)j



+ (1 −ω)x(k)i con i= 1, . . . , n

Consistente per ogniω6= 0 (ω= 1 metodo di Gauss-Seidel)

(26)

Metodi numerici per la risoluzione di sistemi lineari

Alcuni risultati di convergenza

Se A è strettamente diagonale dominante per righe, i metodi di Jacobi e Gauss-Seidel sono convergenti

Se A è simmetrica e definita positiva, il metodo JOR è convergente con 0<ω< 2/ρ(D−1A)

Se il metodo di Jacobi è convergente, allora il metodo JOR converge per 0<ω≤ 1

Per ogniω∈ R si haρ(BGSω) ≥ |ω− 1|; perciò il metodo SOR non converge seω≤ 0 oω≥ 2

(Teorema di Ostrowski) Se A è simmetrica e definita positiva, allora il metodo SOR converge se e solo se 0<ω< 2. Inoltre, la sua convergenza è monotona rispetto ad||·||A(ovvero||x(k+1)− x||A< ||x(k)− x||A)

(27)

Metodi numerici per la risoluzione di sistemi lineari

Metodi di Richardson

Il metodo iterativo x(k+1)= x(k)+ P−1rkpuò essere generalizzato da x(k+1)= x(k)+αkP−1rk con αk∈ R

(28)

Metodi numerici per la risoluzione di sistemi lineari

Metodi di Richardson

Il metodo iterativo x(k+1)= x(k)+ P−1rkpuò essere generalizzato da x(k+1)= x(k)+αkP−1rk con αk∈ R

La matrice di iterazione è R(αk) = I −αkP−1A

(29)

Metodi numerici per la risoluzione di sistemi lineari

Metodi di Richardson

Il metodo iterativo x(k+1)= x(k)+ P−1rkpuò essere generalizzato da x(k+1)= x(k)+αkP−1rk con αk∈ R

La matrice di iterazione è R(αk) = I −αkP−1A Seαk=α⇒ metodo di Richardson stazionario

I metodi di Jacobi e Gauss-Seidel sono metodi di Richardson stazionari

(30)

Metodi numerici per la risoluzione di sistemi lineari

Metodi di Richardson

Il metodo iterativo x(k+1)= x(k)+ P−1rkpuò essere generalizzato da x(k+1)= x(k)+αkP−1rk con αk∈ R

La matrice di iterazione è R(αk) = I −αkP−1A Seαk=α⇒ metodo di Richardson stazionario

I metodi di Jacobi e Gauss-Seidel sono metodi di Richardson stazionari Algoritmo per il metodo di Richardson

1 x(k)soluzione approssimata al passo k

2 Calcolo del residuo: r(k)= b − Ax(k)

3 Soluzione del sistema lineare Pz(k)= r(k) α

(31)

Metodi numerici per la risoluzione di sistemi lineari

Metodi di Richardson

Il metodo iterativo x(k+1)= x(k)+ P−1rkpuò essere generalizzato da x(k+1)= x(k)+αkP−1rk con αk∈ R

La matrice di iterazione è R(αk) = I −αkP−1A Seαk=α⇒ metodo di Richardson stazionario

I metodi di Jacobi e Gauss-Seidel sono metodi di Richardson stazionari Algoritmo per il metodo di Richardson

1 x(k)soluzione approssimata al passo k

2 Calcolo del residuo: r(k)= b − Ax(k)

3 Soluzione del sistema lineare Pz(k)= r(k)

4 Calcolo del parametro di accelerazioneαk

5 Aggionamento della soluzione al passo k+ 1: x(k+1)= x(k)+αkz(k)

(32)

Metodi numerici per la risoluzione di sistemi lineari

Metodo di Richardson: analisi di convergenza

Per ogni matrice invertibile P, il metodo di Richardson stazionario è convergente se e solo se

2 Reλi

α|λi|2 > 1 ∀i = 1, . . . , n doveλi∈ C sono gli autovalori di P−1A.

(33)

Metodi numerici per la risoluzione di sistemi lineari

Metodo di Richardson: analisi di convergenza

Per ogni matrice invertibile P, il metodo di Richardson stazionario è convergente se e solo se

2 Reλi

α|λi|2 > 1 ∀i = 1, . . . , n doveλi∈ C sono gli autovalori di P−1A.

Se P−1A ha autovalori reali e positivi, allora il metodo di Richardson stazionario è convergente se e solo se

0<α< 2 λmax

inoltre, il raggio spettrale della matrice di iterazione IαP−1A è minimo per αopt= 2

λmin+λmax

(34)

Metodi numerici per la risoluzione di sistemi lineari

Scelta della matrice di precondizionamento P

Il metodo di Richardson non specifica come scegliere P e, in generaleαk

Mancanza di risultati teorici riguardo alla scelta ottimale di P

(35)

Metodi numerici per la risoluzione di sistemi lineari

Scelta della matrice di precondizionamento P

Il metodo di Richardson non specifica come scegliere P e, in generaleαk

Mancanza di risultati teorici riguardo alla scelta ottimale di P

Scegliendo P= A si ha convergenza in una iterazione (ma l’obiettivo è proprio risolvere Ax= b)

(36)

Metodi numerici per la risoluzione di sistemi lineari

Scelta della matrice di precondizionamento P

Il metodo di Richardson non specifica come scegliere P e, in generaleαk

Mancanza di risultati teorici riguardo alla scelta ottimale di P

Scegliendo P= A si ha convergenza in una iterazione (ma l’obiettivo è proprio risolvere Ax= b)

In pratica, si cercano matrici di precondizionamento P tali che P−1A≈ I dove P è facilmente invertibile

(37)

Metodi numerici per la risoluzione di sistemi lineari

Scelta della matrice di precondizionamento P

Il metodo di Richardson non specifica come scegliere P e, in generaleαk

Mancanza di risultati teorici riguardo alla scelta ottimale di P

Scegliendo P= A si ha convergenza in una iterazione (ma l’obiettivo è proprio risolvere Ax= b)

In pratica, si cercano matrici di precondizionamento P tali che P−1A≈ I dove P è facilmente invertibile

Diverse strategie per la scelta (e il calcolo) di P:

Matrice di precondizionamento diagonale (analoga a quella usata nel metodo di Jacobi)

Fattorizzazione LU Incompleta (ILU)

Precondizionatori polinomiali (polinomiale di Neumann, “minimi quadrati”,. . . )

(38)

Metodi numerici per la risoluzione di sistemi lineari

Scelta della matrice di precondizionamento P

Il metodo di Richardson non specifica come scegliere P e, in generaleαk

Mancanza di risultati teorici riguardo alla scelta ottimale di P

Scegliendo P= A si ha convergenza in una iterazione (ma l’obiettivo è proprio risolvere Ax= b)

In pratica, si cercano matrici di precondizionamento P tali che P−1A≈ I dove P è facilmente invertibile

Diverse strategie per la scelta (e il calcolo) di P:

Matrice di precondizionamento diagonale (analoga a quella usata nel metodo di Jacobi)

Fattorizzazione LU Incompleta (ILU)

Precondizionatori polinomiali (polinomiale di Neumann, “minimi quadrati”,. . . )

(39)

Metodi numerici per la risoluzione di sistemi lineari

Fattorizzazione ILU(p)

ILU(0)

Sia A una matrice tale che la fattorizzazione LU non richiede il pivoting Si costruiscono due matrici ˜L triangolare inferiore e ˜U triangolare superiore tali che:

L e ˜˜ U abbiano la stessa struttura di sparsità di D− E e D − F ( ˜L ˜U)ij= aijse aij6= 0

⇒ Stessa quantità di memoria necessaria per A (nessun fill-in)

(40)

Metodi numerici per la risoluzione di sistemi lineari

Fattorizzazione ILU(p)

ILU(0)

Sia A una matrice tale che la fattorizzazione LU non richiede il pivoting Si costruiscono due matrici ˜L triangolare inferiore e ˜U triangolare superiore tali che:

L e ˜˜ U abbiano la stessa struttura di sparsità di D− E e D − F ( ˜L ˜U)ij= aijse aij6= 0

⇒ Stessa quantità di memoria necessaria per A (nessun fill-in) Permettendo il fill-in si ha una fattorizzazione di A più accurata

Per esempio si può considerare la fattorizzazione ILU(0) della matrice ˜L ˜U ILU(1) e cosi via⇒ ILU(p)

(41)

Metodi numerici per la risoluzione di sistemi lineari

Fattorizzazione ILU(p)

ILU(0)

Sia A una matrice tale che la fattorizzazione LU non richiede il pivoting Si costruiscono due matrici ˜L triangolare inferiore e ˜U triangolare superiore tali che:

L e ˜˜ U abbiano la stessa struttura di sparsità di D− E e D − F ( ˜L ˜U)ij= aijse aij6= 0

⇒ Stessa quantità di memoria necessaria per A (nessun fill-in) Permettendo il fill-in si ha una fattorizzazione di A più accurata

Per esempio si può considerare la fattorizzazione ILU(0) della matrice ˜L ˜U ILU(1) e cosi via⇒ ILU(p)

L’esistenza della fattorizzazione ILU non è garantita per tutte le matrici invertibili⇒ Esistenza per matrici a diagonale dominante, M-matrici, . . .

(42)

Metodi numerici per la risoluzione di sistemi lineari

Fattorizzazione ILU(p)

ILU(0)

Sia A una matrice tale che la fattorizzazione LU non richiede il pivoting Si costruiscono due matrici ˜L triangolare inferiore e ˜U triangolare superiore tali che:

L e ˜˜ U abbiano la stessa struttura di sparsità di D− E e D − F ( ˜L ˜U)ij= aijse aij6= 0

⇒ Stessa quantità di memoria necessaria per A (nessun fill-in) Permettendo il fill-in si ha una fattorizzazione di A più accurata

Per esempio si può considerare la fattorizzazione ILU(0) della matrice ˜L ˜U ILU(1) e cosi via⇒ ILU(p)

L’esistenza della fattorizzazione ILU non è garantita per tutte le matrici invertibili⇒ Esistenza per matrici a diagonale dominante, M-matrici, . . . Esistono varianti per la riduzione del fill-in (ILUT, MILU,. . . )

(43)

Metodi numerici per la risoluzione di sistemi lineari

Sia A simmetrica e definita positiva e siaΦ(y) =1

2yTAy− yTb x è soluzione di Ax= b ⇔Φ(x) = min

y∈RnΦ(y)

(44)

Metodi numerici per la risoluzione di sistemi lineari

Sia A simmetrica e definita positiva e siaΦ(y) =1

2yTAy− yTb x è soluzione di Ax= b ⇔Φ(x) = min

y∈RnΦ(y) Domanda

Come determinare x∈ Rnche minimizzaΦ(y), partendo da un punto x(0)?

(45)

Metodi numerici per la risoluzione di sistemi lineari

Sia A simmetrica e definita positiva e siaΦ(y) =1

2yTAy− yTb x è soluzione di Ax= b ⇔Φ(x) = min

y∈RnΦ(y)

Domanda

Come determinare x∈ Rnche minimizzaΦ(y), partendo da un punto x(0)? Metodo del gradiente (o Steepest Descent)

(46)

Metodi numerici per la risoluzione di sistemi lineari

Sia A simmetrica e definita positiva e siaΦ(y) =1

2yTAy− yTb x è soluzione di Ax= b ⇔Φ(x) = min

y∈RnΦ(y)

Domanda

Come determinare x∈ Rnche minimizzaΦ(y), partendo da un punto x(0)? Metodo del gradiente (o Steepest Descent)

Si calcola la direzione di massima pendenza (locale):

∇Φ(x(k)) = Ax(k)− b = −r(k)

(47)

Metodi numerici per la risoluzione di sistemi lineari

Sia A simmetrica e definita positiva e siaΦ(y) =1

2yTAy− yTb x è soluzione di Ax= b ⇔Φ(x) = min

y∈RnΦ(y)

Domanda

Come determinare x∈ Rnche minimizzaΦ(y), partendo da un punto x(0)? Metodo del gradiente (o Steepest Descent)

Si calcola la direzione di massima pendenza (locale):

∇Φ(x(k)) = Ax(k)− b = −r(k)

Si cerca un minimo diΦlungo la direzione x(k)+αkr(k)⇒ differenziando Φ(x(k+1)) =Φ(x(k)+αkr(k)) rispetto adαked uguagliando a zero si ha:

αk= hr(k), r(k)i hr(k), Ar(k)i

(48)

Metodi numerici per la risoluzione di sistemi lineari

Metodo del gradiente: algoritmo Dato x(0)∈ Rn, per k= 0, 1, . . .

1 r(k)= b − Ax(k)

2 αk= hr(k), r(k)i

hr(k), Ar(k)i

3 x(k+1)= x(k)+αkr(k)

(49)

Metodi numerici per la risoluzione di sistemi lineari

Metodo del gradiente: algoritmo Dato x(0)∈ Rn, per k= 0, 1, . . .

1 r(k)= b − Ax(k)

2 αk= hr(k), r(k)i

hr(k), Ar(k)i

3 x(k+1)= x(k)+αkr(k)

Metodo del gradiente: convergenza

Sia A una matrice simmetrica e definita positiva. Allora il metodo del gradiente è convergente per ogni scelta del dato iniziale x(0)e

||e(k+1)||AK2(A) − 1 K2(A) + 1||e(k)||A

(50)

Metodi numerici per la risoluzione di sistemi lineari

Metodo del gradiente: algoritmo Dato x(0)∈ Rn, per k= 0, 1, . . .

1 r(k)= b − Ax(k)

2 αk= hr(k), r(k)i

hr(k), Ar(k)i

3 x(k+1)= x(k)+αkr(k)

Metodo del gradiente: convergenza

Sia A una matrice simmetrica e definita positiva. Allora il metodo del gradiente è convergente per ogni scelta del dato iniziale x(0)e

||e(k+1)||AK2(A) − 1 K2(A) + 1||e(k)||A

λ

(51)

Metodi numerici per la risoluzione di sistemi lineari

Metodo del gradiente⇒ Scelta di una direzione di discesa (∇Φ(x(k)) = −r(k)) + minimizzazione lungo quella direzione

(52)

Metodi numerici per la risoluzione di sistemi lineari

Metodo del gradiente⇒ Scelta di una direzione di discesa (∇Φ(x(k)) = −r(k)) + minimizzazione lungo quella direzione

Possibili altre scelte per la direzione di discesa

(53)

Metodi numerici per la risoluzione di sistemi lineari

Metodo del gradiente⇒ Scelta di una direzione di discesa (∇Φ(x(k)) = −r(k)) + minimizzazione lungo quella direzione

Possibili altre scelte per la direzione di discesa

Ottimalità rispetto ad una direzione

Una direzione x(k)è detta essere ottimale rispetto ad una direzione p6= 0 se Φ(x(k)) ≤Φ(x(k)+λp) λ∈ R

(54)

Metodi numerici per la risoluzione di sistemi lineari

Metodo del gradiente⇒ Scelta di una direzione di discesa (∇Φ(x(k)) = −r(k)) + minimizzazione lungo quella direzione

Possibili altre scelte per la direzione di discesa

Ottimalità rispetto ad una direzione

Una direzione x(k)è detta essere ottimale rispetto ad una direzione p6= 0 se Φ(x(k)) ≤Φ(x(k)+λp) λ∈ R

Se x(k)è ottimale rispetto a p alloraΦammette un minimo locale lungo p per λ= 0, e quindi

0=Φ

∂λ(x(k)+λp) λ=0=h

hp, (Ax(k)− b)i +λhp, Apii

λ=0

= −hp, r(k)i

(55)

Metodi numerici per la risoluzione di sistemi lineari

Metodo del gradiente⇒ Scelta di una direzione di discesa (∇Φ(x(k)) = −r(k)) + minimizzazione lungo quella direzione

Possibili altre scelte per la direzione di discesa

Ottimalità rispetto ad una direzione

Una direzione x(k)è detta essere ottimale rispetto ad una direzione p6= 0 se Φ(x(k)) ≤Φ(x(k)+λp) λ∈ R

Se x(k)è ottimale rispetto a p alloraΦammette un minimo locale lungo p per λ= 0, e quindi

0=Φ

∂λ(x(k)+λp) λ=0=h

hp, (Ax(k)− b)i +λhp, Apii

λ=0

= −hp, r(k)i

x(k)è ottimale rispetto a p⇔ p è ortogonale al residuo r(k)

(56)

Metodi numerici per la risoluzione di sistemi lineari

Nel metodo del gradiente x(k+1)è ottimale rispetto a r(k)(ovvero r(k+1)⊥ r(k) ), infatti

hr(k+1), r(k)i = hb − Ax(k+1), r(k)i

= hb − A



x(k)+ hr(k), r(k)i hr(k), Ar(k)ir(k)

 , r(k)i

= hr(k), r(k)i − hr(k), r(k)i

hr(k), Ar(k)ihAr(k), r(k)i

= hr(k), r(k)i − hr(k), r(k)i

= 0

(57)

Metodi numerici per la risoluzione di sistemi lineari

Nel metodo del gradiente x(k+1)è ottimale rispetto a r(k)(ovvero r(k+1)⊥ r(k) ), infatti

hr(k+1), r(k)i = hb − Ax(k+1), r(k)i

= hb − A



x(k)+ hr(k), r(k)i hr(k), Ar(k)ir(k)

 , r(k)i

= hr(k), r(k)i − hr(k), r(k)i

hr(k), Ar(k)ihAr(k), r(k)i

= hr(k), r(k)i − hr(k), r(k)i

= 0

La iterata successiva x(k+2)non è più ottimale rispetto a r(k)

(58)

Metodi numerici per la risoluzione di sistemi lineari

Nel metodo del gradiente x(k+1)è ottimale rispetto a r(k)(ovvero r(k+1)⊥ r(k) ), infatti

hr(k+1), r(k)i = hb − Ax(k+1), r(k)i

= hb − A



x(k)+ hr(k), r(k)i hr(k), Ar(k)ir(k)

 , r(k)i

= hr(k), r(k)i − hr(k), r(k)i

hr(k), Ar(k)ihAr(k), r(k)i

= hr(k), r(k)i − hr(k), r(k)i

= 0

La iterata successiva x(k+2)non è più ottimale rispetto a r(k)

Domanda

Riferimenti

Documenti correlati

Nei metodi diretti, la presenza di eventuali element nulli nella matrice non può essere sfruttata ai fini di ridurre il costo computa- zionale e l’occupazione

Geometricamente, il metodo costruisce ad ogni passo l’approssimazione della radice calcolando l’intersezione della retta passan- te per i punt (a i ,sgn(a i )) e (b

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 =

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