Sei sulla pagina 1di 44

Docente Vittoria Bruni

Email: vittoria.bruni@sbai.uniroma1.it
Calcolo Numerico Ufficio: Via A. Scarpa,

(A.A. 2018-2019) Pal. B, I piano, Stanza n. 16

Tel. 06 49766648

Ricevimento: Consultare la sezione Avvisi della pagina web dedicata al corso


Ingegneria meccanica
Testi consigliati:

Calcolo Numerico, L. Gori, Ed. Kappa, 2006

Esercizi di Calcolo Numerico, L. Gori-M.L. Lo Cascio, F. Pitolli, Ed. Kappa, 2007

Il materiale didattico è disponibile sul sito

https://elearning.uniroma1.it/enrol/index.php?id=7192
Appunti delle lezioni: Sistemi lineari
piattaforma elearning — Identificativo del corso: Calcolo Numerico (BMER AA
2018/19)

Esempio 1

Un ubriaco compie una passeggiata casuale, facendo un passo a


sinistra o a destra a caso lungo una strada rettilinea. Quando raggiunge
una estremità della strada, si ferma.

Calcolare la probabilità che l’ubriaco raggiunga l’estremità sinistra


della strada partendo dalla posizione i.
Sistemi di equazioni lineari

2 3
Esempio di passeggiata per N = 10
Soluzione
Si può simulare una passeggiata casuale tirando una moneta.
La probabilità pi, i = 0, 1, ..., N , di raggiungere l’estremo sinistro
90

partendo dalla posizione i, soddisfa la relazione


80

70
 p0 = 1
 pN = 0


60 pi = 1 1
2 pi−1 + 2 pi+1 i = 1, . . . , N − 1

50
Si tratta di un sistema lineare tridiagonale nelle incognite
40 pi, i = 1, . . . , N − 1


 p1 − 12 p2 = 1
30

 2




20  − 12 p1 +p2 − 12 p3 = 0
··· ··· ··· ··· ··· ···


10 
 − 12 pN −3 +pN −2 − 12 pN −1 = 0




0
 − 12 pN −2 +pN −1 = 0
0 1 2 3 4 5 6 7 8 9 10

Punto di partenza: x5
4 5

Infatti, se vi indica il potenziale nel nodo i−esimo e


Esempio 2
Ipq la corrente tra il nodo i e il nodo j (ramo ij)

Determinare i potenziali nei nodi A


3 1 3 2 4 3
si ha:
1 − 6 del circuito sapendo che tra
15 10 3 v − vij
A e B è applicata una differenza Iij = i legge di Ohm
di potenziale pari a 100V (le re- B Rij
1 6 2 5 3 4
sistenze sono misurate in Ohm)
Soluzione Ogni equazione esprime la legge delle correnti di Kirchoff:

P La somma delle correnti in ciascun nodo deve essere nulla.


Applicando la legge di Ohm ∆V = RI e la legge di Kirchoff i Ii = 0
in ogni nodo si ottiene il sistema lineare
Es. per il primo nodo:
 100 − v1 v − v1 v − v1



11v1 −5v2 −v6 = 500 IA1 + I21 + I61 = + 2 + 6 =0

 −20v1 +41v2 −15v3 −6v5 = 0 3 3 15

−3v2 +7v3 −4v4 = 0 ovvero

 −v3 +2v4 −v5 = 0

 −3v2 −10v4 +28v5 −15v6 = 0 11v1 − 5v2 − v6 = 500


−2v1 −15v5 +47v6 = 0

6 7
Esempio 3
Nelle ore di punta il traffico è congestionato in corrispondenza degli Inoltre:
incroci rappresentati nella figura di seguito 1. Incrocio A: 700 macchine ogni ora
provengono da Spruce Street men-
tre 300 provengono da 9th Street

2. Incrocio B: 200 macchine ogni


ora attraversano l’incrocio B prove-
nendo da Spruce Street mentre 900
provengono da 10th Street.

3. Incrocio C: 400 macchine ogni ora


entrano in Pine Street attraverso
l’incrocio C mentre 300 provengono
da 10th Street.

4. Incrocio D: 200 macchine ogni ora


lasciano l’incrocio D in direzione
Pine Street mentre 400 in direzione
9th Street fino all’incrocio A.

Tutte le strade sono a senso unico e la direzione di circolazione è


indicata dalle frecce.
8 9

Indicando con

• x1 il numero di macchine che la-


scia l’incrocio A percorrendo Spruce
Street verso l’incrocio B ;

• x2 il numero di macchine che ar-


riva all’incrocio B percorrendo 10th
Street dall’incrocio C;

• x3 il numero di macchine che lascia


l’incrocio C percorrendo Pine Street
verso l’incrocio D;

• x4 il numero di macchine che ar- Si ha


riva all’incrocio D percorrendo 9th
Street dall’incrocio A. Incrocio A Incrocio B Incrocio C Incrocio D
x1 + x4 = 700 + 300 x1 + x2 = 900 + 200 x2 + x3 = 400 + 300 x3 + x4 = 400 + 200
Assumendo che
Cioè è necessario risolvere il seguente sistema lineare
1. per velocizzare il flusso del traffico ogni macchina che arriva ad un certo incrocio
deve anche lasciarlo; 
 x + x4 = 1000
 1
x1 + x2 = 1100
2. tutte le strade sono a senso unico x2 + x3 = 700


x3 + x4 = 600
3. x1 , x2, x3 e x4 sono numeri positivi

10 11
Esempio 4 Esempio 5
Il sistema in figura
Analisi di strutture

è costituito da 4 molle che sostengono 3 pesi Wi, i = 1, .., 3 e all’equilibrio


soddisfa

 (k1 + k2 + k3 + k5)x1
 −k3 x2 −k5x3 = W1 Nel telaio (struttura statica bidimensionale) rappresentato in figura, le forze Fi , i = 1, 2, 3 rappre-
−k3x1 +(k3 + k4) x2 −k4x3 = W2

 sentano le tensioni e compressioni che agiscono sulle aste della struttura, H2 , V2 , V3 sono le forze
−k5x1 −k4 x2+ (k4 + k5)x3 = W3 relative all’interazione con il supporto; le forze Ei , i = 1, 2, 3 sono le forze esterne applicate ai nodi
con ki costante elastica della molla i − esima e xj spostamento della della struttura. Nell’esempio considerato, E2 , E3 sono nulle, il nodo 2 è vincolato mentre il nodo 3
massa j − esima rispetto alla posizione nel sistema non deformato. può scivolare.
12 13

In condizioni statiche, all’ equilibrio si ha



 −F1cos(30) + F3cos(60) + E1,h = 0


 −F1 sin(30) − F3 sin(60) + E1,v = 0
Esempio 6


F1cos(30) + F2 + H2 + E2,h = 0
 F1sin(30) + V2 + E2,v = 0
 Punto di intersezione tra due rette

 −F2 − F3 cos(60) + E3,h = 0


F3sin(60) + V3 + E3,v = 0
in cui E1,h = E2,h = E2,v = E3,h = E3,v = 0 e E1,v = −500.
( ( (
Si tratta dunque di risolvere un sistema lineare di 6 equazioni nelle incognite
2x + y = 3 2x + y = 3 2x + y = 3
F 1 , F 2 , F 3 , H 2 , V2 , V3 , 4x + 2y = 6 4x + 2y = 0 x + 2y = 3
ovvero
AX = B,
con X = [F1 , F2 , F3 , H2 , V2 , V3 ]T , B = [0, 500, 0, 0, 0, 0]T e rette coincidenti rette parallele rette incidenti
 
−cos(30) 0 cos(60) 0 0 0
 −sin(30) 0 −sin(60) 0 0 0 
  infinite soluzioni non esistono soluzioni unica soluzione
 cos(30) 1 0 1 0 0             
A= 
 sin(30) 0 0 0 1 0  2 1 3 2 1 3 2 1 3
 0 −1 −cos(60) 0 0 0  A= , b= A= , b= A= , b=
4 2 6 4 2 0 1 2 3
0 0 sin(60) 0 0 1
Si osservi che det(A) = 1

det(A) = 4 − 4 = 0 det(A) = 4 − 4 = 0 det(A) = 4 − 1 = 3 6= 0


A è la matrice di stiffness mentre B rappresenta il carico delle forze
esterne.
14 15
Metodi diretti per la soluzione di sistemi lineari
Sistema lineare AX = B

A = matrice dei coefficienti X = vettore delle incognite

B = vettore dei termini noti Costo computazionale di un algoritmo

• I metodi diretti sono basati sulla trasformazione del sistema di Prima di implementare un algoritmo bisogna stimare il suo costo com-
partenza in uno equivalente che abbia una struttura particolar- putazionale, cioè il numero di operazioni pesanti (moltiplicazioni o
mente semplice per cui è facile calcolarne la soluzione. divisioni) necessarie per calcolare numericamente la soluzione.

• La soluzione numerica viene calcolata in un numero finito di Costo computazionale:


passi e, se non vi fossero errori di arrotondamento nei dati o durante Cc ≈ numero di moltiplicazioni o divisioni
i calcoli, la soluzione numerica sarebbe esatta.

• Data l’occupazione di memoria (RAM) richiesta nei passaggi


dell’algoritmo, vengono utilizzati quando la matrice dei coeffi-
cienti ha dimensione non ”troppo” elevata.

16 17

2. Se A ha due righe o due colonne con gli stessi elementi, allora


Richiami sul determinante di matrici det(A) = 0

3. Se à è ottenuta scambiando due delle righe di A allora det(Ã) =


• Se A è una matrice di dimensione 1 × 1 con a11 = a, det(A) = a −det(A)

4. Se à è ottenuta moltiplicando una riga di A per lo scalare λ,


• Se A è una matrice di dimensione n × n, allora allora det(Ã) = λdet(A)
Pn i+j a M ,
det(A) = j=1 (−1) ij ij ∀ i = 1, . . . , n 5. Se à è ottenuta sommando ad una riga di A un’altra riga molti-
P plicata per lo scalare λ, allora det(Ã) = det(A)
oppure det(A) = n i=1 (−1)
i+j a M ,
ij ij ∀ j = 1, . . . , n,

con Mij il determinante della matrice A di cui si trascurano la 6. Se B è una matrice quadrata di ordine n, allora det(AB) =
det(A)det(B)
i − esima riga e la j − esima colonna
7. det(AT ) = det(A)
• Se A è una matrice quadrata di dimensione n: 8. Se esiste A−1, allora det(A−1) = 1/det(A)

1. Se una riga o una colonna di A ha tutti gli elementi nulli, allora 9. Se A è una matrice triangolare superiore (o inferiore), allora
Q
det(A) = 0 det(A) = ni=1 aii

18
Esempio: Calcolare la soluzione del sistema AX = B, con
   
1 2 3 1
   
Metodo di Cramer A= 4 5 6  e b= 0 
7 8 0 2

Dall’Algebra sappiamo che la soluzione esatta di un sistema lineare si


può ottenere con il metodo di Cramer. det(A) = 0 + 84 + 96 − 105 − 0 − 48 = 27 6= 0
 
1 2 3
  D1 −54
Se A è regolare, allora D1 = det  0 5 6  = 24−30−48 = −54 x1 = = = −2
2 8 0 det(A) 27
 
1 1 3
Di   D2 54
X = A−1B ⇒ xi = , i = 1, 2, ..., n, D2 = det  4 0 6  = 42 + 24 − 12 = 54 x2 = = =2
detA 7 2 0 det(A) 27

 
1 2 1
  D3 −9 1
dove Di è il determinante della matrice ottenuta da A sostituendo alla D3 = det  4 5 0  = 10+32−35−16 = −9 x3 = = =−
7 8 2 det(A) 27 3
colonna i-esima il vettore B.  
−2
 
e quindi X =  2 
1
−3
19 20

Costo computazionale del metodo di Cramer


Di Calcolo dell’inversa di A
xi = i = 1, 2, ..., n
detA
X = A−1B
• n + 1 determinanti (Di, i = 1, . . . , n e det A) Si tratta di trovare la matrice M tale che

AM = I
• n! prodotti per ciascun determinante
con I la matrice identità .

• n − 1 moltiplicazioni per ciascun prodotto Corrisponde alla soluzione di n sistemi lineari ognuno dei quali ha A
come matrice dei coefficienti, una colonna di I come vettore dei termini
• + n divisioni (trascurabili) noti e una colonna di M come incognita.

Per esempio, se n = 3
     
Costo computazionale: Cc = (n + 1)n!(n − 1) + n ' (n + 1)n!(n − 1) a11 a12 a13 m11 m12 m13 1 0 0
 a21 a22 a23   m21 m22 m23  =  0 1 0 

n = 15 → Cc ' 3 · 1014 moltiplicazioni → 3 giorni a31 a32 a33 m31 m32 m33 0 0 1
Inutilizzabile!!
n = 20 → Cc ' 3 · 1021 moltiplicazioni → 3 · 105anni

(supponendo 10−9 secondi per operazione)


21 22
Metodo di eliminazione di Gauss Soluzione di sistemi triangolari
Il metodo di eliminazione di Gauss trasforma, in n−1 passi, il sistema Sistemi triangolari superiori
lineare

AX = B X, B ∈ IRn A ∈ IRn×n 

 u11x1 + u12x2 + · · · + u1k xk + ··· + u1nxn = b1



 u22x2 + · · · + u2k xk + ··· + u2nxn = b2


con matrice dei coefficienti A ”piena”, nel sistema equivalente ··· ··· ··· ··· ··· ··· ··· ··· ···



u kk xk + ··· + uknxn = bk
e e ∈ IRn U ∈ IRn×n 

UX = B X, B 
 ··· ··· ··· ··· ···

 unnxn = bn

con matrice dei coefficienti U triangolare superiore.



bn
 x =
Il metodo utilizza le seguenti operazioni ”lecite”:  n

unn
 
UX = B → n
X 1



 x = bk −
 k
ukixi , k = n − 1, n − 2, ..., 2, 1
• scambio di 2 equazioni i=k+1
ukk

(Algoritmo di sostituzione all’indietro)


• somma di due equazioni di cui una è moltiplicata per una costante

23 24

Sistemi triangolari inferiori




 l11x1 = b1



 · · · · · · · ·· ··· ···

lk1x1 + lk2x2 + · · · + lkk xk = bk



 ··· ··· ··· ··· ··· ··· ··· ··· ··· ···


 l x
n1 1 + ln2x2 + · · · + lnk xk + · · · + lnnxn = bn Costo computazionale

Algoritmo di sostituzione
 Ad ogni passo ci sono

 b

 x = 1
 1

l11 n
LX = B →
 • n − k moltiplicazioni X n2
k−1
X Cc = (n − k + 1) '

 1

 xk = bk − lkixi k = 1, 2, . . . , n • 1 divisione k=1
2

 lkk
i=1

(Algoritmo di sostituzione in avanti)

Nota: Se le matrici U e L sono regolari, sicuramente ukk e lkk sono


6= 0.
25 26
Metodo di eliminazione di Gauss

Si moltiplica la prima riga per 4 e si sottrae alla seconda, annullando


Metodo di eliminazione di Gauss
cosı̀ il secondo elemento della prima colonna di A.

Per risolvere il seguente sistema lineare



 
 x1 + 2x2 + 3x3 = 1

1 2 3 | 1
4x1 + 5x2 + 6x3 = 0  
 0 −3 −6 | −4 

 7x
1 + 8x2 + = 2 7 8 0 | 2
si considerano la matrice A e il termine noto b associati ad esso
 
1 2 3 | 1 Si moltiplica la prima riga per 7 e si sottrae alla terza, annullando il
 
 4 5 6 | 0  terzo elemento della prima colonna di A.
7 8 0 | 2  
1 2 3 | 1
 
 0 −3 −6 | −4 
0 −6 −21 | −5

27 28

Metodo di eliminazione di Gauss

Si moltiplica la seconda riga per 6/3 e si sottrae alla terza, annullando


il terzo elemento della seconda colonna di A

Metodo di eliminazione di Gauss


 
1 2 3 | 1
  Il sistema in questa forma diventa di facile soluzione.
 0 −3 −6 | −4 
0 0 −9 | 3
Infatti, partendo dall’ultima equazione, si ha
x3 = −3/9 = −1/3
Si ottiene un sistema equivalente a quello dato in cui la matrice dei x2 = (−4 + 6x3)/(−3) = 2
coefficienti è triangolare superiore x1 = 1 − 3x3 − 2x2 = 1 + 1 − 4 = −2


 x1 + 2x2 + 3x3 = 1

− 3x2 − 6x3 = −4

 − 9x3 = 3

29 30
Metodo di eliminazione di Gauss Al termine di questo passo si ottiene un sistema equivalente con
matrice dei coefficienti
 
Generalizzando, se la matrice A è tale che aii 6= 0, ∀ i = 1, 2, . . . , n a11 a12 . . . . . . a1n
 0 a(1) . . . . . . a(1) 
 22 2n 
 
A(1) = 0 a(1)
32 . . . . . . a(1)
3n 
I passo : annullare gli elementi della prima colonna di A al di sotto  ... ... ... ... 
 
(1) (1)
della diagonale principale 0 an2 . . . . . . ann
dove
I.1 sottrarre alla seconda equazione la prima moltiplicata per m21 =
a21 (1)
aij = aij − mi1a1j , i = 2, . . . , n j = 1, . . . , n
a11
e vettore dei termini noti
I.2 sottrarre alla terza equazione la prima moltiplicata per m31 =  
a31 b1
a11  b(1) 
 2 
 
b(1) =  b(1) 
...  3.. 
 . 
b(1)
n
...
dove
(1)
I.n-1 sottrarre alla n − esima equazione la prima moltiplicata per bi = bi − mi1b1, i = 2, . . . , n
mn1 = aan1
11
31

matrice dei coefficienti


II passo : annullare gli elementi della seconda colonna di A(1) al di  
a11 a12 . . . . . . a1n
sotto della diagonale principale  0 a(1) ... . . . a(1) 
 22 2n 
 
A(2) =  0 0 a(2)
33 . . . a(2)
3n 
 ... ... ... ... ... 
II.1 sottrarre alla terza equazione la seconda moltiplicata per m32 =  
(1)
a32 0 0 a(2)
n3
(2)
. . . ann
(1) dove
a22
(2) (1) (1)
II.2 sottrarre alla quarta equazione la seconda moltiplicata per aij = aij − mi2a2j , i = 3, . . . , n j = 2, . . . , n
(1)
a42 e vettore dei termini noti
m42 = (1)
 
a22 b1
 b(1) 
 2 
...  
b(2) = b(2)
3 
 ... 
 
(2)
... bn
dove
II.n-2 sottrarre alla n−esima equazione la seconda moltiplicata per (2) (1) (1)
(1)
bi = bi − mi2b2 , i = 3, . . . , n
an2
mn2 = (1)
a22
Al termine di questo passo si ottiene un sistema equivalente con
...
...

n-1 passo : annullare gli elementi della (n − 1) − esima colonna di


A(n−2) al di sotto della diagonale principale
e vettore dei termini noti
 
II.1 sottrarre alla n−esima equazione la (n−1)−esima moltiplicata b1
 b(1) 
(n−2)
an n−1  2 
 
per mn n−1 = b(n−1) =  b(2) 
(n−2)
an−1 n−1  3.. 
 . 
Al termine di questo passo si ottiene un sistema equivalente con b(n−1)
n

matrice dei coefficienti dove


 
a11 a12 . . . ... a1n (n−1) (n−1) (n−1)
  bi = bi − mi n−1bn−1 , i=n
 0 a(1)
22 ... . . . a(1)
2n 
(n−1)  
A = 0 0 a(2)
33 . . . a(2)
3n 
 ... ... ... ... ... 
 
(n−1)
0 0 0 . . . ann
dove
(n−1) (n−2) (n−2)
aij = aij − mi n−1an−1 j , i=n j = n − 1, . . . , n

Costo computazionale
Metodo di eliminazione di Gauss:
Metodo di eliminazione di Gauss
n3
• triangolarizzazione ' . Infatti:
Quindi, dopo n − 1 passi il sistema Ax = b è stato trasformato nel 3
n−1 n
sistema equivalente A(n−1)x = b(n−1), con A(n−1) matrice triangolare X X
(|{z}
1 +n| − {z
k + 2} =
superiore k=1 i=k+1 div. molt.
| {z } | {z }
ognipasso righe
al passo k si definiscono gli elementi
n−1
(k) (k−1) (k−1)
X n3
aij = aij − mik akj , i = k + 1, . . . , n j = k, k + 1, . . . , n = (n − k)(n + 3 − k) '
k=1
3
Sono state usate le seguenti identità :
(k) (k−1) (k−1) Pn n(n+1) Pn 2 n(n+1)(2n+1)
bi = bi − mik bk , i = k + 1, . . . , n k=1 k = 2
, k=1 k = 6

(k−1)
aik
con mik =
akk
(k−1) n2
• sostituzione all’indietro '
2
n3
⇒ Cc '
3
32 33
Fattorizzazione LU

Il metodo di eliminazione di Gauss può essere interpretato come la


Esercizio fattorizzazione della matrice di partenza A nel prodotto di due matrici
triangolari.
Risolvere il seguente sistema lineare

Teorema. Se la matrice A ∈ IRn×n ha determinanti principali
 2x1 + x2 + 2x3 = 10

4x1 + x2 + 2x3 = 12 di testa tali che

 x
1 + 2x2 + 5x3 = 20 detAk 6= 0, k = 1, 2, · · · , n,
allora
usando il metodo di eliminazione di Gauss A = LU
dove L ∈ IR n×n è una matrice triangolare inferiore con ele-
menti diagonali pari a 1 e U ∈ IRn×n è una matrice triangolare
superiore.

34 35

 
1 2 3
 
Infatti, riprendendo l’esempio precedente in cui A =  4 5 6 
7 8 0 Moltiplicare la seconda riga della matrice ottenuta al passo precedente
per 2 e sottrarla alla terza equivale a moltiplicare a sinistra la matrice
Moltiplicare per 4 la prima riga e sottrarla alla seconda e moltiplicare la
L1A per la matrice
prima riga per 7 e sottrarla alla terza equivale a moltiplicare a sinistra
la matrice A per la matrice  
1 0 0
 
  L2 =  0 1 0 
1 0 0 0 −2 1
 
L1 =  −4 1 0 
−7 0 1 cioè
    
1 0 0 1 2 3 1 2 3
cioè     
      0 1 0   0 −3 −6  =  0 −3 −6 
1 0 0 1 2 3 1 2 3 0 −2 1 0 −6 −21 0 0 −9
    
 −4 1 0   4 5 6  =  0 −3 −6 
−7 0 1 7 8 0 0 −6 −21

36 37
Struttura delle matrici L e U
Ma allora la matrice triangolare superiore U ottenuta precedentemente
 
con il metodo di eliminazione di Gauss è tale che (1) (1) (1) (1)
a
 11
a12 a13 · · · a1n 
 
  
 (2) (2) (2) 

1 0 0 0 ··· 0  0 a22 a23 ··· a2n 
   
 m21 1 0 0 ··· 0   
L2 L1 A = U    
A = LU =    ... (3) ... (3) 
 m31 m32 1 0 ··· 0   0 a33 a3n 
 ... ... ... ... ... ...   
e quindi   



mn1 mn2 mn3 · · · · · · 1  ... ... ... ... ... 
 
 
 
 
0 0 0 ... (n)
ann
A = (L2L1)−1U = L−1 −1
1 L2 U = LU

Nota 1: Se A non soddisfa le ipotesi detAk 6= 0, ma è comunque


    regolare, tramite scambi di righe può essere riportata ad una matrice
1 0 0 1 0 0 che soddisfa le ipotesi e che quindi può essere fattorizzata.
   
Si verifica facilmente che L−1
1 =  4 1 0  e L−1
2 =  0 1 0 
7 0 1 0 2 1 Nota 2: il costo computazionale della fattorizzazione è lo stesso di
n3
quello dell’eliminazione di Gauss Cc ' .
3
38 39

Applicazioni della fattorizzazione Soluzione di più sistemi lineari

Soluzione di un sistema lineare Se dobbiamo risolvere più sistemi lineari

AXi = Bi i = 1, 2, . . . , r
Consideriamo il sistema lineare AX = B e supponiamo che la matrice
dei coefficienti A possa essere fattorizzata.
aventi la stessa matrice A e diversi termini noti, si fattorizza una
A=LU
AX = B → LU X} = B
| {z volta per tutte la matrice A = LU e si risolvono, per ogni vettore Bi, i
Y due sistemi triangolari

 LY = B sist. triang. inf. sost. in avanti 


  LYi = Bi
 i = 1, 2, . . . , r


 
 UX = Y

 i i
UX = Y sistema triang. sup. sost. all’indietro

per la soluzione dei quali il costo computazionale è ”solo” n2.


Una volta fattorizzata A,

la soluzione del sistema si ottiene risolvendo i due sistemi trangolari


2
con costo computazionale 2 n2 .
40 41
Calcolo del determinante di A Calcolo dell’inversa di A

La matrice inversa A−1 di una matrice regolare A è la matrice tale


  
n
Y n
Y che
(1) (2) (n)
detA = det(L U ) = detL detU =  lkk   ukk  = a11 a22 · · · ann A A−1 = I I : matrice identità
| k=1
{z } k=1
 
1 0 ··· 0
↓ &  0 1 ··· 0 
 
I :=   = [E1 E2 · · · En] 1 , 0, · · · , 0]T
Ei = [0, 0, · · · , |{z}
 ··· ··· ··· ··· 
Teorema di Binet =1 i
0 0 ··· 1

Vettori della base canonica
Se durante la fattorizzazione sono stati fatti s scambi di righe, allora

A A−1 = I ⇒ A Xi = Ei i = 1, 2, · · · , n ⇒ A−1 = [X1 X2 · · · Xn]

(1) (2) (n)


detA = (−1)sa11 a22 · · · ann Una volta nota la fattorizzazione di A, basta risolvere gli n sistemi

L Yi = Ei, U Xi = Yi, i = 1, · · · , n

n3 4
Costo computazionale: Cc ' + n · n2 = n3
3 3
42 43

Calcolo del rango di A

• Se l’algoritmo di eliminazione applicato alla matrice quadrata


A ∈ IRn×n termina regolarmente dopo n − 1 passi ⇒ la matrice A Metodo di eliminazione di Gauss
ha rango massimo pari a n (matrice regolare).
Nel metodo di Gauss, come anche nella fattorizzazione LU, si richiedono
divisioni per gli elementi della diagonale principale della matrice con-
• Se l’algoritmo di eliminazione applicato alla matrice quadrata
siderata. Se questi ultimi sono prossimi allo zero, la soluzione può non
A ∈ IRn×n non può proseguire dopo q passi perchè
essere esatta a causa della cancellazione numerica.
(k)
ark = 0, r = k, . . . , n ⇒ la matrice A ha rango pari a q ≤ n
(matrice singolare). Esempio: Supponiamo di dover risolvere il seguente sistema
(
−0.0590x1 + 0.2372x2 = −0.3528
• L’algoritmo di eliminazione applicato alla matrice rettangolare 0.1080x1 − 0.4348x2 = 0.6452
A ∈ IRm×n termina necessariamente dopo q ≤ m passi ⇒ la matrice usando il metodo di eliminazione di Gauss e 4 cifre significative.
A ha rango pari a q.

Nota: le operazioni ”lecite” conservano il rango.


44 45
Metodo di eliminazione di Gauss
Metodo di eliminazione di Gauss e quindi
!
−0.0590 0.2372 | −0.3528
Il rapporto 0 −0.0005 | −0.0008
0.1080
≈ −1.830508 ≈ −1.831 da cui
−0.0590 0.0008
moltiplicando questa quantità con la prima equazione del sistema e x2 = = 1.6
0.0005
sottraendo alla seconda, il secondo elemento della seconda colonna
diventa −0.3528 − 1.6(0.2372) 0.7323
x1 = = = 12.41
−0.0590 0.0590
−0.4348 − 0.2372(−1.831) = −0.4348 + 0.4343 = −0.0005
Mentre la soluzione esatta è
Mentre il secondo elemento del termine noto è
x1 = 10
0.6452 − 0.3528(−1.831) = 0.6452 − 0.6460 = −0.0008

x2 = 1

46 47

Metodo di eliminazione di Gauss: pivoting parziale

Non si ha cancellazione numerica se si scambiano le equazioni del si-


stema, cioè
Pivoting parziale
(
0.1080x1 − 0.4348x2 = 0.6452 Ad ogni passo k del metodo di eliminazione di Gauss si individua il
−0.0590x1 + 0.2372x2 = −0.3528 valore r ≥ k per cui risulta
(k) (k)
|ark | = max |ask |,
k≤s≤n
Eseguendo un passo del metodo di eliminazione di Gauss, il sistema si
(k)
riduce al sistema equivalente dove aij sono gli elementi della matrice del sistema al passo k,
(
0.1080x1 − 0.4348x2 = 0.6452
e si scambiano le righe r e k
0x1 + 0.3296x2 = 0.3296
da cui
x1 = 10 x2 = 1

48 49
Algoritmo di Thomas
Matrici tridiagonali 

 u1 = d1






Nel caso in cui la matrice dei coefficienti A è tridiagonale la fattoriz- 
 vi = si
 i = 1, 2, . . . , n − 1
zazione LU è molto semplice in quanto le matrici L e U hanno una


struttura semplice. 
 αi = ai/ui−1 i = 2, 3, . . . , n




  


d s1 0 ··· 0 ui = di − αivi−1 i = 2, 3, . . . , n
 1 
 a2 d2 s2 ··· 0 
 ... ... ... 
A=
 ··· ··· =
 Costo computazionale: Cc = 2n − 2
 0 0 · · · dn−1 sn−1 
 
0 0 · · · an dn Soluzione del sistema lineare AX = B
   
1 0 0 ··· 0 u1 v1 0 ··· 0 y1 = b1 yi = bi − αiyi−1 i = 2, 3, . . . , n
   
 α2 1 0 ··· 0   0 u2 v2 ··· 0 
   ... ... . . . . . . ...  xn = yn/un xi = (yi − vixi+1)/ui i = n − 1, . . . , 1
=
 0 α3 1 ··· 0 



 = LU

 ... ... ... ... ...   0 0 · · · un−1 vn−1 
   
0 0 ··· αn 1 0 0 ··· 0 un Costo computazionale: Cc = |(n − 1) + |(n −
{z }
1) +
{z }
n
|{z} = 3n − 2
moltipli− moltipli− divisioni
cazioni cazioni

50 51

Esempio 1: soluzione Condizionamento di un sistema lineare


La soluzione esatta è X̄ = [p̄0, . . . , p̄N ]T , dove p̄i = 1 − Ni , i = 0, . . . , N .
Il condizionamento del problema della soluzione di un sistema lineare
Algoritmo di eliminazione di Gauss è indipendente dal metodo numerico scelto per risolverlo.
N kX̄ − Xk∞ tempo di occupazione
calcolo di memoria
11 3.33e-016 0.000304 s 0.8 Kbyte Il condizionamento ”misura” quanto una perturbazione sui dati di
21 1.55e-015 0.000356 s 3.2 Kbyte
51 4.16e-015 0.000402 s 20 Kbyte input (matrice dei coefficienti e termine noto) influenzi i risultati (la
101 2.14e-014 0.001555 s 8 Kbyte soluzione).
501 1.11e-013 0.070898 s 200 Kbyte
5001 1.84e-012 29.306639 s 2 Mbyte
10001 1.38e-011 225.971643 s 800 Mbyte Un sistema lineare si dice ben condizionato se a piccole variazioni
sui dati corrispondono piccole variazioni sui risultati.
Algoritmo di Thomas
N kX̄ − Xk∞ tempo di occupazione
calcolo di memoria
Si osserva una notevole riduzione Viceversa, se a piccole variazioni sui dati corrispondono grandi varia-
11 1.11e-016 0.000061 s 624 bytes
21 1.11e-016 0.000089 s 1376 bytes
del tempo di calcolo, zioni sui risultati, si dice che il sistema è mal condizionato.
una discreta riduzione
51 4.33e-015 0.000179 s 3536 bytes
della memoria occupata e
101 9.10e-015 0.000454 s 7136 bytes
501 4.61e-014 0.002566 s 35936 bytes
una maggiore precisione Quando si approssima la soluzione di un sistema lineare mal condizio-
nella soluzione prodotta.
5001 3.20e-012 0.093172 s 359936 bytes nato bisogna ridurre il più possibile gli errori di arrotondamento.
10001 6.95e-012 0.364083 s 719936 bytes
52 53
L’ immagine sfocata tipicamente si presenta come mostrato di seguito
Condizionamento di un sistema lineare:
Image deblurring

Un’ immagine digitale è composta da elementi detti pixels. Ad ogni


pixel è assegnato un valore di intensità che caratterizza il colore (livello
di grigio) in una piccola porzione della scena rappresentata.

Un’immagine digitale a livelli di grigio (8 bits) è quindi una matrice i


cui elementi sono numeri appartenenti all’ intervallo [0, 255]
Ci chiediamo se si può ricostruire l’ immagine originale a partire da
Piu’ volte ci capita di scattare una foto e di non ottenere un’ imma- quella sfocata (l’ unico dato a disposizione)
gine nitiḋa perchè la messa a fuoco non è stata corretta. Si ha cosı̀
Nel caso di blurring lineare, il problema consiste nel risolvere il sistema
un’ immagine sfocata. Una situazione molto simile si ha in diverse
applicazioni come, per esempio, lo imaging astronomico in cui le im- AX = B
magini acquisite mediante telescopio possono essere disturbate dalla In cui A è l’ operatore di blurring (dipendente dalla cosiddetta point
turbolenza dell’ atmosfera. spread function), X è l’immagine originale e B è l’immagine osservata
(sfocata)
54 55

L’inversione della matrice è molto sensibile agli errori sui dati, anche
molto piccoli!

Tuttavia, se si risolve il sistema invertendo la matrice A, che si suppone


L’immagine B è sempre affetta da errori di arrotondamento che quindi
nota, il risultato non è quello aspettato
possono propagarsi in maniera disastrosa sulla soluzione del sistema.
In altre parole, invece di risolvere il sistema

AX = B
si risolve il sistema
AX = B + Err

Immagine originale Immagine sfocata Immagine ricostruita


e quindi nella soluzione X = A−1(B + Err) =

Cosa è accaduto???
il rumore/errore Err è molto amplificato!

Il problema si dice mal condizionato.


56
Errore sul termine noto Numero di condizionamento

Supponiamo che il termine noto B sia affetto da un errore δB.


K(A) := ||A|| · ||A−1||: numero di condizionamento della matrice A
δB
A X = B → A(X + δX) = B + δB
||δX|| ||δB|| Rappresenta il coefficiente di amplificazione
≤ K(A)
Per sottrazione si ricava ||X|| ||B|| dell’errore relativo sui dati
A δX = δB → δX = A−1 δB
Si può dimostrare che 1 ≤ K(A) ≤ +∞
Per ”misurare” la perturbazione δX indotta su X si ricorre alla norma. . &
Condizionamento ottimo Condizionamento peggiore
(matrici ortogonali) (matrici singolari)
||δX|| = ||A−1 δB|| ≤ ||A−1|| · ||δB||
Oss: 1 = kIk = kAA−1k ≤ kAkkA−1k = K(A)
||B|| = ||A X|| ≤ ||A|| · ||X||
Esempi di matrici malcondizionate: matrici di Hilbert
 
Dividendo termine a termine si trova una maggiorazione per l’errore 1 1/2 1/3 ··· 1/n
relativo ||δX||/||X||.  1/2 1/3 1/4 · · · 1/(n + 1) 
  3
H =  1/3 1/4 1/5 · · · 1/(n + 2)  n = 2 K(H) = 2
18 =
 ··· ··· ··· ··· ··· 
||δX|| ||δB|| ||δB||
≤ ||A|| · ||A−1|| = K(A) 1/n 1/(n + 1) 1/(n + 2) · · · 1/(2n − 1)
||X|| | {z } ||B|| ||B|| 27
57 58

Errore sulla matrice dei coefficienti Esempio


Equilibrio delle forze elastiche
Se anche la matrice A è affetta da un errore δA si ha
!
||δX|| K(A) ||δB|| ||δA||
≤ +
||X|| ||δA|| ||B|| ||A||
1 − K(A)
||A||
| {z }

Coefficiente di amplificazione
1 K(A)
Oss: Se ||δA|| ≤ 2||A−1 ||
, allora ≤ 2K(A)
||δA||
1 − K(A) Nel sistema in figura f1 , f2 rappresentano le forze di stress applicate in B e C,
||A||
mentre x1, x2 sono gli spostamenti prodotti dalle due forze. Supponendo che le
forze elastiche di reazione delle molle siano lineari (legge di Hooke) e indicando con
Condizionamento in norma 2 α e β i coefficienti di stiffness (costanti elastiche), il sistema è in equilibrio se

(α + β)x1 − βx2 = f1
λmax −βx1 + (α + β)x2 = f2
Se A è (simmetrica) definita positiva si ha K2(A) = ||A||2||A−1||2 =
λmin Si tratta, dunque, di risolvere il sistema lineare rispetto al vettore delle incognite
p p X = [x1, x2]T avente
 
Infatti ||A||2 = ρ(AT A) = ρ(A2) = ρ(A) = λmax α+β −β
A=
1 1 −β α+β
||A−1 ||2 = ρ(A−1 ) = maxi =
λi λmin come matrice dei coefficienti e B = [f1 , f2 ]T come vettore dei termini noti.
59 60
Per esempio, se α = 1, β = 1000 e f1 = f2 = 1, allora K1(A) = 2001
mentre X = [1, 1]. Se si perturba la matrice A come segue
Studiamo il condizionamento del sistema lineare rispetto alla norma 1 in dipendenza !
delle costanti elastiche α e β (equivalente a studiare il condizionamento rispetto alla 1002 −1000
à =
norma infinito poichè A è simmetrica). −1000 1002
 
1 α+β β mentre si lascia inalterato il vettore dei termini noti, si ha
A−1 =
α(α + 2β) β α+β
kδ Ak1 1
= ≈ 0.0005
quindi, poichè α > 0, β > 0,
kAk1 2001
1 β e X̃ = [.5, .5]; quindi
K1 (A) = kAk1 kA−1k1 = (α + 2β) =1+2 .
α α kδ Xk1 1
≈ = 0.5.
kXk1 2
Ne segue che il problema non risulta ben condizionato per tutti i valori delle costanti
elastiche: se la molla centrale è molto più rigida delle molle adiacenti, ovvero β >> α,
il sistema risulta mal condizionato. Esercizio: Studiare il condizionamento del sistema associato all’equilibrio
delle forze elastiche nella struttura in figura quando le tre molle hanno
tre diversi coefficienti di stiffness.

61 62

!
1 −1 − δ
Soluzione Si verifica facilmente che A−1 = δ12
−1 + δ 1
Esercizio 1
2
Determinare il numero di condizionamento, rispetto alla norma infinito, e quindi K∞(A) = kAk∞kA−1k∞ = (2 + δ) 2+δ
δ2
= (2+δ)
δ2
della seguente matrice
! Si osserva che
1 1+δ
A= limk→+∞K∞(A) = 1
1−δ 1
con δ > 0. mentre
limk→0+ K∞(A) = +∞;
Posto δ = 0.01, sia A la matrice dei coefficienti del sistema AX = B,
con B = (2.01, 1.99)T e si consideri il sistema perturbato AX̄ = B̄, cioè per valori di δ molto piccoli, la matrice risulta malcondizionata.
con B̄ = (2, 2)T . Dare una stima dell’errore relativo commesso sulla
soluzione X. Per esempio, se δ = 0.01, K∞(A) = (2012) = 40401, mentre se δ =
100, K∞(A) = 10404
10000 = 1.0404.

63 64
Esercizio 2
kδXk∞ kδBk∞  
≤ K∞(A) 1 −2 −λ
kXk∞ kBk∞  
Data la matrice A =  −1 0 −λ 
e, quindi, posto δ = 0.01 si ha 0 0 −1
kδXk∞ kB − B̄k∞ 0.01
≤ 40401 = 40401 = 201
kXk∞ 2.01 2.01 a) studiare come varia il numero di condizionamento K(A(λ)) in norma
1
1 per |λ| ≤ e trovarne il massimo.
2
Si verifica facilmente che la soluzione del sistema AX = B è X =  
kδXk
(1, 1)T , da cui kXk ∞ ≤ 201 b) Dato il sistema A 1
2 X = B, fornire una stima dell’errore relativo

||δX||1 ||δB||
mentre X̄ = (−200, 200)T , da cui kδXk∞ = 200. ||X||1
corrispondente a un errore relativo ||B|| 1 = 10−2.
1

65 66

Traccia della soluzione


(
2 per 2|λ| + 1 ≤ 2 ⇒ |λ| ≤ 1
a) kA(λ)k1 = max(2, 2, 2|λ|+1) = 2
2|λ| + 1 per 2|λ| + 1 > 2 ⇒ |λ| > 1
2

⇒ kA(λ)k1 ≤ 3 per |λ| ≤ 1


Esercizio 3
K(A(λ)) = kA(λ)k1 kA−1(λ)k1
  Studiare il condizionamento del seguente sistema lineare
0 −2 2λ (
1 3/2 per |λ| ≤ 1

A−1(λ) =  −1 1 2λ  kA−1(λ)k1 = 4
1
2 0 0 −2 2|λ| + 1 per |λ| > 4
(
 2x+y =3
 3 per |λ| ≤ 1

 4 2 x + 1.001 y = 0
K(A(λ)) = 2(2|λ| + 1) per 14 < |λ| ≤ 1
2


 (2|λ| + 1)2 per 1 < |λ|
2

⇒ max|λ|≤1/2 K(A(λ)) = K(A(1/2)) = 4

||δX|| ||δB||
b) ||X|| 1 ≤ K(A(1/2)) ||B|| 1 = 4 · 10−2
1 1
67 68
Si verifica facilmente che
Soluzione La matrice dei coefficienti del sistema è !
1 1.001 −1
A−1 =
det(A) −2 2
!
2 1 con det(A) = 0.002.
A=
2 1.001
Quindi
4
kAk∞ = 3.001 kA−1k∞ = ⇒ K∞(A) = 3.001·2·1000 = 6002
Il numero di condizionamento di A è : K(A) = kAkkA−1k. 0.002

K(A) dipende dalla norma di matrici scelta.

Valutiamo allora K1(A), K∞(A) e K2(A), rispettivamente il numero di 3.001 3.001


kAk1 = 4 kA−1k1 = ⇒ K1(A) = 4 · = 6002
condizionamento di A rispetto alle norme 1, ∞ e spettrale. 0.002 0.002

69 70

Per valutare la norma spettrale di A è necessario calcolare il raggio Analogamente


! ! !
spettrale della matrice AT A, infatti 1 1.001 −2 1.001 −1 5.002001 −5.001
A−1 T A−1 = =
q (det(A))2 −1 2 −2 2 −5.001 5
kAk2 = ρ(AT A):

da cui risulta
! ! ! q
2 2 2 1 8 4.002 kA−1k2 = ρ(A−1 T A−1) ≈ 1.5813 · 103
AT A = =
1 1.001 2 1.001 4.002 2.002001
e quindi
i cui autovalori λ1 e λ2 sono soluzione della seguente equazione di
secondo grado K2(A) = kAk2kA−1k2 = 3.1626 · 1.5813 · 103 = 5.0010 · 103.
λ2 − 10.002001λ + 0.000004
Poichè ρ(AT A) = max{|λ1|, |λ2|} = 10.00200060008001, risulta
In tutti e tre i casi il numero di condizionamento è molto alto, ne
q
segue che una piccola perturbazione sui dati, produce un errore non
kAk2 = ρ(AT A) ≈ 3.1626.
trascurabile sulla soluzione.

71 72
Per esempio, la soluzione del sistema procedente è x = (x, y), con Esercizio 4
x = 1501.5 e y = −3000.

Supponiamo ora di aver un errore pari a 0.001 sul coefficiente a22 della
matrice A, cioè di dover risolvere il sistema
(
2x+y =3
2 x + 1.002 y = 0
In questo caso la soluzione diventa x̃ = (x̃, ỹ), con x̃ = 751.5 e ỹ =
−1500, cioè , scegliendo la norma infinito, Il sistema in figura, , costituito da 4 molle che sostengono
kδ xk∞ 1500 1 3 pesi Wi, i = 1, .., 3, all’equilibrio soddisfa
= = 
kxk∞ 3000 2  (k1 + k2 + k3 + k5)x1
 −k3 x2 −k5x3 = W1
mentre −k3x1 +(k3 + k4) x2 −k4x3 = W2


kδ Ak∞ 0.001 −k5x1 −k4 x2+ (k4 + k5)x3 = W3
= = 3.33 · 10−4.
kAk∞ 3.001 con ki costante elastica della molla i − esima e xj spostamento della
massa j − esima rispetto alla posizione nel sistema non deformato.

73 74

Soluzione:
 
6k −k −2k
 
La matrice dei coefficienti del sistema è A =  −k 2k −k  da cui
−2k −k 3k
 1 1 1 
 3 3 3 
Ponendo k1 = k3 = k4 = k, k2 = k5 = 2k, W1 = W3 = 2W e W2 = W ,  
 1 8 
stabilire se il numero di condizionamento del sistema, calcolato rispetto A−1 = 1
k
 14 
15 
 3 15 
alle norme 1, 2 e inf inito, dipende dal valore del parametro k. Produrre  
1 8 11
una maggiorazione dell’errore relativo sulla soluzione nel caso in cui il 3 15 15
valore del parametro W sia dato con errore pari a 0.03.
Poichè A, e quindi A−1, è simmetrica, il numero di condizionamento
di A rispetto alla norma 1 coincide con quello valutato rispetto alla
norma infinito, cioè

K1(A) = K∞(A) = kAk∞kA−1k∞.

75 76
Poichè
kAk∞ = max{9k, 4k, 6k} = 9k Gli autovalori di A e A−1 non dipendono dal paramtero k in quanto
esso moltiplica tutti gli elementi delle due matrici, quindi anche K2(A)
1 27 24 27 non dipende dal valore del parametro k e per calcolarlo basta valutare
kA−1k∞ = max{ , , }= il numero di condizionamento delle matrici
k 15 k 15 k 15 k
risulta  1 1 1 
27 81    3 3 3 
K1(A) = K∞(A) = 9k = 6 −1 −2  
15 k 5    1 8 
A1 =  −1 2 −1  e A−1 
1 = 3
14
15

15 
−2 −1 3  
 
1 8 11
Quindi, il condizionamento del sistema rispetto alle norme 1 e infinito 3 15 15

non dipende dal valore del parametro k.

77 78

Esercizio 5
 
1 2 3 4 5
 
 0 3 4 5 6 
 
Data la matrice A =  
 0 0 5 6 7 
 0 0 0 7 8 
 
L’errore relativo della soluzione del sistema valutato rispetto alla norma 0 0 0 0 9
infinito soddisfa
kδxk∞ kδbk∞  
< K∞(A) 15
kxk∞ kbk∞  
 18 
 
in quanto la matrice A si suppone non affetta da errori. Poichè W ha e il termine noto b =  
 18 
 15 
errore 0.03, kδbk∞ = max{2 · 0.03, 0.03, 2 · 0.03} = 0.06, e quindi  
9
kδxk∞ 81 6 1 243
< =
kxk∞ 5 100 2W 500 W
1. Risolvere il sistema AX = b con un opportuno metodo diretto

2. Sia δb = rand(5, 1) ∗ 10−3 una perturbazione di b; dare una stima


dell’errore relativo commesso risolvendo il sistema AX = b + δb
(usare le norme 1, 2 e ∞)

79 80
Sistemi non lineari Sistemi lineari
F (X) = 0 → F (X) = AX − B AX = B
Sistemi lineari: Metodi iterativi X, F ∈ IRn X, B ∈ IRn A ∈ IRn×n

• la soluzione si ottiene tramite approssimazioni successive (metodi ↓ ↓


del punto unito)

X = [x1, x2, ..., xn]T X = [x1, x2, ..., xn]T


• soluzione esatta si ottiene in un numero infinito di passi (errore di h in
troncamento) F = [f1(X), f2(X), ..., fn(X)]T A = aij i,j=0
0 = [0, 0, ..., 0]T B = [b1, b2, ..., bn]T
• bassa occupazione di memoria
 

 f1(x1, x2, ..., xn) = 0 
 a11x1 + a12x2 + ... + a1nxn = b1

 


 



 f2(x1, x2, ..., xn) = 0 

 a21x1 + a22x2 + ... + a2nxn = b2
• problemi sparsi e/o di elevate dimensioni

................................ 
................................

 



 ................................ 

 ................................

 

 fn(x1, x2, ..., xn) = 0  an1x1 + an2x2 + ... + annxnn = bn
81 82

Metodo del punto unito Metodi iterativi a un punto

Sistemi non lineari Il punto unito X = Φ(X), X = [x1, x2, ..., xn]T , può essere
F (X) = 0 ⇔ X = Φ(X) con Φ = [ϕ1(X), ϕ2(X), ..., ϕn(X)]T approssimato generando la successione
Se X ∈ IRn è radice di F allora è punto unito di Φ: 
 (0) (0) (0)
F (X) = 0 ⇔ X = Φ(X)



 X (0) = [x1 , x2 , ..., xn ]T dato









 (k) (k−1) (k−1) (k−1)
 
 x1 = ϕ1(x1 , x2 , ..., xn )
Sistemi lineari 




 X (0) dato 



A X = B ⇔ X = C X+Q con Q = [q1, q2, ..., qn]T 
⇔  x(k) = ϕ (x(k−1), x(k−1), ..., xn
(k−1)
)

  2
 2 1 2
h in  X (k) = Φ(X (k−1)) 


C = cij i,j=0 





 ······
k = 1, 2, ... 
Se X ∈ IRn è soluzione di A X = B allora è punto unito 



(k) (k−1) (k−1)
xn = ϕn(x1 , x2
(k−1)
, ..., xn )




di Φ = C X + Q: 

AX = B ⇔ X = C X + Q Le funzione ϕi sono chiamate funzioni di iterazione.


83 84
Convergenza
Per poter definire la convergenza di un metodo iterativo dobbiamo
Metodi iterativi per sistemi lineari prima di tutto definire l’errore di troncamento
Errore di troncamento: E (k) = X − X (k) ∈ IRn
. &
Nel caso lineare il punto unito X = [x1, x2, ..., xn]T , può soluzione soluzione
esatta approssimata
essere approssimato generando la successione
Per ”misurare” la lunghezza di un vettore V ∈ IRn si ricorre alla norma
 di vettore:  1/p
 X (k) = CX (k−1) + Q k = 1, 2, . . . n
X
kV k =  |vi|p
 X (0) ∈ IRn dato i=1

n
X
(k) (k−1) Convergenza: lim kE (k)k = 0 ⇐⇒ lim X (k) = X
⇒ xi = cij xj + qi i = 1, . . . , n k→∞ k→∞
j=1
Se il metodo iterativo è convergente, in assenza di errori di arroton-
damento si ottiene la soluzione esatta dopo un numero infinito di
La matrice C ∈ IRn×n è chiamata matrice di iterazione. passi.

Nota. In pratica ci si arresta quando kE (k)k ≤  (criterio di arresto)


85 86

Convergenza: condizione necessaria


Convergenza: condizione sufficiente
Tramite la norma di vettore si può ”misurare” la lunghezza del vet-
tore errore di trocamento, cioè la distanza tra la soluzione esatta e Definizione. Un’applicazione Φ : S −→ S, dove S è uno spazio
quella approssimata. normato è detta contrazione, se esiste λ ∈ (0, 1) tale che


kΦ(X) − Φ(Y )k ≤ λkX − Y k < kX − Y k ∀X, Y ∈ S
Convergenza: lim E (k) = 0 ⇐⇒ lim X (k) = X
k→∞ k→∞

Teorema. Sia S uno n spazio


o  onormato e sia Φ : S −→ S.
n vettoriale Teorema. Sia D ⊂ IRn. Se Φ : D → D è una contrazione
Se la successione X (k) = Φ X (k−1) è convergente a un valo-
re X ∈ S e l’applicazione
  Φ è continua in X ⇒ X è punto unito di
⇒ • esiste un unico punto unito X ∈ D di Φ
Φ, cioè X = Φ X .
n o n  o
⇒ • la successione X (k) = Φ X (k−1) è convergente a X
Dim.       per ogni approssimazione iniziale X (0) ∈D
X = lim X (k) = lim Φ X (k−1) = Φ lim X (k−1) = Φ X
k→∞ k→∞ k→∞

87 88
Contrazione: condizione sufficiente Metodi iterativi per sistemi lineari:
Matrice Jacobiana di Φ
  condizione sufficiente di convergenza
∂ϕ1(X) ∂ϕ1 (X) ∂ϕ1 (X)
··· Matrice Jacobiana di Φ = C X + Q
 ∂x1 ∂x2 ∂xn 
   
 
 ∂ϕ2(X) ∂ϕ2 (X) ∂ϕ2 (X)  ∂ϕ1 (X) ∂ϕ1 (X) ∂ϕ1 (X)
 ···   ... 
   ∂x1 ∂x2 ∂xn 
 ∂x1 ∂x2 ∂xn   
J(X) = 


  
 ··· ··· ··· ···   ∂ϕ2(X) ∂ϕ2(X) ∂ϕ2 (X) 
   ... 
   ∂x1 ∂x2 ∂xn 
  J(X) =  = C
 ∂ϕn(X) ∂ϕn (X) ∂ϕn (X)   
 ···   .... .... .... .... 
∂x1 ∂x2 ∂xn  
 ∂ϕn(X) ∂ϕn(X) ∂ϕn (X) 
 ... 
 ∂x ∂x ∂x 
1 2 n
Teorema. Se i) le funzioni di iterazione ϕ1 , ϕ2 , ..., ϕn sono continue e parzial-
mente derivabili in D;
ii) esiste λ ∈ (0, 1) tale che kJ(X)k ≤ λ per X ∈ D
Corollario. Se esiste λ ∈ (0, 1) tale che kCk ≤ λ
⇒ Φ è una contrazione in D ⇒ Φ è una contrazione per ogni X
⇒ il metodo iterativo è convergente
dim: ∀ X Y ∈ D, si può valutare kΦ(Y ) − Φ(X)k considerando lo sviluppo in serie di
Taylor arrestato al primo ordine della funzione Φ attorno a X, da cui risulta
Dim:
kΦ(Y ) − Φ(X)k ≤ kJ(X)k kY − Xk ≤ λkY − Xk.
∀ X 6= Y, kΦ(X) − Φ(Y )k = kC(X − Y )k ≤ kCkkX − Y k ≤ λkX − Y k
89 90

Condizione sufficiente di convergenza Condizione necessaria e sufficiente di convergenza

Teorema. Condizione sufficiente affinchè un metodo


iterativo sia convergente a X per qualunque scelta del Definizione. Una matrice A ∈ IRn×n si dice convergente se lim Ak = 0
k→∞
vettore iniziale X (0), è che (o, in modo equivalente, se lim kAk k = 0)
kCk < 1 k→∞

E (k) = X − X (k) = (CX + Q) − (CX (k−1) + Q) = Teorema. Una matrice A ∈ IRn×n è convergente se e solo se ρ(A) < 1

= C(X − X (k−1)) = CE (k−1) ⇒ E (k) = CE (k−1)


Teorema. Un metodo iterativo converge per qualunque scelta del vet-
tore iniziale X (0), se e solo se
kE (k)k = kCE (k−1)k = kC 2E (k−2)k = · · · = kC k E (0)k ≤ kC k k · kE (0)k
↓ ρ(C) < 1
Relazione di compatibilità dove ρ(C) = max |λi| è il raggio spettrale della matrice di iterazione C
1≤i≤n

kE (k)k ≤ kC k k · kE (0)k = k C
| · C{z· · · C} k · kE
(0) k ≤ kCkk · kE (0) k E (k) = C E (k−1) = · · · = C k E (0)
k volte
lim E (k) = lim C k E (0) = 0 ⇐⇒ lim C k = 0 ⇐⇒ ρ(C) < 1
k→∞ k→∞ k→∞
| {z }
se kCk < 1 ⇒ lim kE (k)k = 0 matrice
k→∞ convergente
91 92
Criterio d’arresto Velocità asintotica di convergenza
Se il metodo iterativo è convergente, si arresta il procedimento quando Se A ∈ IRn×n è una matrice convergente, vale la proprietà
q
kX (k+1) − X (k)k < ε ε: tolleranza prefissata lim
k
kAk k = ρ(A)
k→∞
• kE (k)k = kX (k) − Xk = kX (k) − X (k+1) + X (k+1) − Xk =
Dalla relazione
= kX (k) − X (k+1) + E (k+1) k ≤ kX (k+1) − X (k) k + kE (k+1)k
| {z }
• kE (k+1)k ≤ kCk · kE (k) k ≤ kCk kX (k+1) −↓X (k) k + kE (k+1)k
 kE (k)k ≤ kC k k · kE (0)k
kCk per k ”grande” si ottiene
kE (k+1) k ≤ · kX (k+1) − X (k) k
1 − kCk
kE (k)k
≤ kC k k ≈ ρk (C)
d’altra parte kE (0)k

kCkk+1
kE (k+1)k ≤ kCkk E (1) ≤ · kX (1) − X (0)k ≤ ε Stima a priori:
1 − kCk ⇒ L’errore si riduce di un fattore 10−m all’iterazione
il numero di iterazioni K necessario affinché
m
K'−
kE (K)k < ε, è dato da Log ρ(C)
!
(1 − kCk) ε 1
K > log
kX (1) − X (0)k log kCk Velocità asintotica di convergenza: V = −Log ρ(C)
93 94

Esercizio 1
 
β

 0 β − 
2 
Traccia della soluzione
 
 
 β 
 
Data la matrice di iterazione C(β) =  0 β − , β ∈ IR, e il 1.1) Condizione sufficiente di convergenza: ||C||1 < 1 oppure ||C||∞ < 1
 2 
 
 
 
 1 1  1 1 1 1
0 − ||C||1 = max(2|β| + , |β| + ) = 2|β| + ||C||1 < 1⇒|β| <
2 4 2 4 2 4
vettore Q = (7/8, 7/8, −1/2)T ,



3 1

 |β| ≤
1.1) determinare per quali valori di β il procedimento iterativo 3 3  4 2 2
||C||∞ = max( |β|, ) = ||C||∞ < 1⇒|β| <
( 2 4 
 3
 3
 1
X (k+1) = C(β)X (k) + Q, k = 0, 1, . . . X (k) ∈ IR3  |β| |β| >
2 2
X (0) dato
Attenzione: le condizioni su β sono diverse a seconda della norma che
risulta sicuramente convergente;
si sceglie.

1.2) posto β = 1/2, X (0) = (0, 0, 0)T , dare una stima del numero di
iterazioni necessarie affinché l’approssimazione abbia 5 decimali esatti.
95 96
Condizione necessaria e sufficiente di convergenza:
ρ(C(β)) < 1
1 3 3 1
1.2) β = ⇒ ||C( 1
2 )||1 = 2 > 1 ||C( 1
2 )||∞ = <1 Autovalori di C(β): 0 con molteplicità 2, +β
2 4 4

Attenzione: in norma uno non si può stabilire se il metodo converge,


si ha invece convergenza in norma infinito, infatti
1
lim ||E (k)||∞ = 0 Raggio spettrale di C(β): ρ(C(β)) = + β
k→∞ 4
  5 3
1 )|| )ε
(1 − ||C( 2 1 ρ(C(β)) < 1 ⇒ − <β<
∞ 4 4
K > log  
||X (1) − X (0)||∞ log ||C( 1
2 )||∞

||C( 1 3
2 )||∞ = 4 , ||X
(1) − X (0) || = ||Q|| = max |q | = 7 , ε = 0.5 · 10−5
∞ ∞ i 8
1
Velocità di convergenza: V (β) = −Log(ρ(C(β)) = −Log + β
4
⇒ K ≥ 47

Nota: questo intervallo di β contiene entrambi gli intervalli trovati


con la condizione sufficiente.
97 98

Soluzione

Il metodo iterativo si può riscrivere come

Esercizio 2 X (k+1) = (I + βA)X (k) − β B

Supponendo di applicare il metodo iterativo

X (k+1) = X (k) + β(AX (k) − B) con matrice di iterazione è C = I + βA, cioè


!
al sistema lineare 1 + 2β β
( C=
β 1 + 2β
2x1 + x2 = 5
x1 + 2x2 = 1
determinare un intervallo di valori di β per il quale il metodo sia
Poichè C è simmetrica, k · k∞ = k · k1.
convergente e calcolare in funzione di β la costante di contrazione in
una norma a scelta.
Condizione sufficiente per la convergenza
 
2
kCk∞ = |1 + 2β| + |β| < 1 ⇔ β ∈ − , 0
3

99 100
Costruzione di metodi iterativi
Condizione necessaria e sufficiente per la convergenza ρ(C) < 1, cioè
! AX = B −→ X = CX + Q
1 + 2β − λ β
det = 0 ⇔ (1 + 2β − λ)2 − β 2 = 0
β 1 + 2β − λ
Splitting di A: A = M + N dove M è una matrice invertibile.

⇔ λ2 − 2λ(1 + 2β) + (1 + 2β)2 − β 2 = 0 AX = B → (M + N )X = B → M X = −N X + B →

q →X = −M −1N X + M −1B ⇒ C = −M −1N Q = M −1B


⇔ λ1,2 = (1 + 2β) ± (1 + 2β)2 − (1 + 2β)2 + β2
Una possibile decomposizione di A è
A = L + D + U
⇔ λ1,2 = 1 + 2β ± β.
dove D = diag(a11, a22, . . . , ann) (elementi diagonali di A)
   
0 0 ··· ··· 0 0 a12 a13 · · · a1n
I due autovalori di C sono λ1 = 1 + β e λ2 = 1 + 3β da cui  a21 0 ··· ··· 0   0 0 a23 · · · a2n 
   
L =  a31 a32 0 ··· 0  U =  ··· ··· ··· ··· ··· 
   ··· ··· ··· ··· ···   0 ··· ··· 0 a 
2 n−1,n
ρ(C) = max{|1 + β|, |1 + 3β|} < 1 ⇔ β ∈ − , 0 an1 an2 · · · an,n−1 0 0 ··· ··· 0 0
3
(elementi di A al di sotto (elementi di A al di sopra
della diagonale principale) della diagonale principale)

101

Metodo di Jacobi
Metodo di Gauss-Seidel
  
a12 a1n  b1 
0 − ··· −  a11  CGS = −(D + L)−1 U
 a11 a11    M = D + L, N = U ⇒
    QGS = (D + L)−1 B
 a a2n   b2 
M = D, N = L + U  21   
⇓  − 0 ··· −   a  X (k) = CGS X (k−1) + QGS
  a22 a22 
CJ = −D−1(L + U ) CJ =   QJ = 

22 

   
−1
QJ = D B  ··· ··· ··· ···   · ··  ⇓
   
   
 an1 an2   bn  Algoritmo GS
− − ··· 0
ann ann ann  
i−1 n
1  X X
Algoritmo J x(k+1)
i = − aij x(k+1)
j − aij x(k)
j + bi

aii j=1 j=i+1
 

1   i = 1, 2, . . . , n; k ≥ 0
n
X
 
X (k) = CJ X (k−1) +QJ ⇒ x(k+1)
i = − aij x(k)
j + bi 
aii  
j=1 Infatti, riscrivendo X (k+1) = CGS X (k) + QGS come (L + D)X (k+1) = −U X (k) + B e
j 6= i considerando che D + L è una matrice triangolare inferiore mentre U è triangolare
superiore con elementi nulli sulla diagonale principale, si ha
i = 1, 2, . . . , n; k ≥ 0
i
X n
X
Infatti, è una matrice diagonale i cui elementi diagonali sono a1ii , i = 1, . . . , n,
D −1 aij x(k+1)
j =− aij x(k)
j + bi .
mentre la matrice (L + U ) ha gli elementi sulla diagonale principale tutti uguali a 0. j=1 j=i+1

Moltiplicare a sinistra la matrice (L+U ) per D−1 , corrisponde a dividere ogni elemento L’ algorithm GS si ottiene, quindi, isolando la componente x(k+1)
i al primo membro.
della i − sima riga di (L + U ) per a1ii
102 103
Convergenza dei metodi di Jacobi e Gauss-Seidel
Esercizio
• Per verificare la convergenza si possono applicare alle matrici di
iterazione CJ e CGS le condizioni già viste: Dato il sistema lineare AX = B dove
 
 1 1 −2
 C.S.:
 kCJ k1, kCJ k∞ < 1 e kCGS k1, kCGS k∞ < 1 



 

 C.N.S.: A=
 2 1 2 
, B = (1, 0, 0)T ,
ρ(CJ ) < 1 e ρ(CGS ) < 1  
 
2 1 1
Attenzione: Le condizioni di convergenza per le matrici di itera-
zione CJ e CGS vanno verificate di volta in volta.
1.1) verificare quale tra i metodi di Jacobi e Gauss-Seidel risulta con-
• Per alcune matrici A potrebbe convergere solo uno dei due metodi. vergente;

• Se convergono entrambi i metodi, quello di Gauss-Seidel converge 1.2) approssimare la soluzione del sistema lineare con 6 decimali esatti.
più velocemente.

104 105

Traccia della soluzione 1.2) Per approssimare la soluzione del sistema lineare con 6 decimali
      esatti, si può utilizzare il metodo di Jacobi arrestando le iterazioni
1 0 0 0 0 0 0 1 −2 quando
     
1.1) D =  0 1 0  L= 2 0 0  U = 0 0 2 
||E (k+1)|| ' ||X (k+1) − X (k)|| ≤ 0.5 · 10−6 (criterio di arresto)
0 0 1 2 1 0 0 0 0
   
0 −1 2 0 −1 2 Iterazioni
   
CJ =  −2 0 −2  CGS =  0 2 −6 
−2 −1 0 0 0 2
X (0) = QJ = D−1B = (1, 0, 0)T
Entrambe le matrici hanno norma maggiore di 1, quindi la condizione
sufficiente di convergenza non è soddisfatta. Per verificare se è X (1) = CJ X (0) + QJ = (1, −2, −2)T ||X (1) − X (0)||∞ = 2
soddisfatta la condizione necessaria e sufficiente bisogna calcolare
il raggio spettrale delle matrici di iterazione. X (2) = CJ X (1) + QJ = (−1, 2, 0)T ||X (2) − X (1)||∞ = 4

Autovalori di CJ : 0 con molteplicità 3 X (3) = CJ X (2) + QJ = (−1, 2, 0)T ||X (3) − X (2)||∞ = 0
⇒ ρ(CJ ) = 0 ⇒ il metodo di Jacobi converge
Nota 1. In questo caso la soluzione è esatta.
Autovalori di CGS : 0 con molteplicità 1, 2 con molteplicità 2
⇒ ρ(CGS ) = 2 ⇒ il metodo di Gauss-Seidel non converge Nota 2. La velocità di convergenza è VJ = −Log(ρ(CJ )) = ∞.
106 107
Convergenza per matrici A Matrici (simmetriche) definite positive:
con struttura speciale
Matrici diagonalmente dominanti: Una matrice quadrata A ∈ IRn×n simmetrica è definita positiva se
n
X n
X n
X
|aii| > |aij | i = 1, 2, . . . , n |aii| > |aji| i = 1, 2, . . . , n X T AX = aij xixj > 0 ∀X ∈ IRn
j=1 j=1 i,j=1
j 6= i j 6= i

(diagonale dominanza (diagonale dominanza Per riconoscere se una matrice è definita positiva si può usare il criterio
per righe) per colonne) di Sylvester:

Condizione sufficiente di convergenza: Affinché una matrice A ∈ IRn×n simmetrica sia definita po-
Teorema. Se A è diagonalmente dominante per righe o per sitiva, è necessario e sufficiente che
colonne, i metodi di Jacobi e Gauss-Seidel sono entrambi det Ak > 0 k = 1, 2, . . . , n,
convergenti per qualunque scelta dell’approssimazione iniziale dove Ak sono le sottomatrici principali di testa di A.
X (0).
Condizione sufficiente di convergenza:
Per esempio, se A è diagonalmente dominante
 per righe si ha
  Teorema. Se A è (simmetrica) definita positiva, il
X
n
− aij  X
n
 1
kCJ k∞ = max a = max  |aij | <1 metodo di Gauss-Seidel è convergente per qualunque scelta
1≤i≤n ii 1≤i≤n   |aii |
j=1
j 6= i
j=1
j 6= i
dell’approssimazione iniziale X (0).
108 109

Condizione sufficiente perchè un metodo iterativo converga rispetto ad


una norma di matrici k · k è che la norma della matrice di iterazione C
Esercizio sia strettamente minore di 1, cioè kCk < 1.
 
Dato il sistema 10 1 1
 
 
 
Sia A = 
 1 α 1 
 la matrice dei coefficienti del sistema,
 
  
 10x1 + x2 + x3
 = 2 2 1 β
x1 + αx2 + x3 = 1

 2x + x + βx
1 2 3 = 3      
0 0 0 10 0 0 0 1 1
     
L= 1 0 0 , D =  0 α 0  e U = 0 0 1 ,
2 1 0 0 0 β 0 0 0
dipendente dai parametri α e β. Stabilire per quali valori dei parametri α
e β i metodi iterativi di Jacobi e Gauss-Seidel convergono sicuramente allora la matrice di iterazione del metodo di Jacobi CJ è data da
per ogni scelta del vettore iniziale X(0).
CJ = −D−1(L + U ),

110 111
Considerando la k · k∞ risulta

cioè
2 2 3 2 3
kCJ k∞ = max{ , , }<1 ⇔ <1 ∧ < 1,
10 |α| |β| |α| |β|
 
0 1
− 10 1
− 10
 
 


 cioè
CJ =  − α1 0 −α 
1

 
 
 
− β2 − β1 0
|α| > 2 ∧ |β| > 3.

con α 6= 0 e β 6= 0.

Si osserva che alla stessa conclusione si giunge imponendo che la ma-


trice A del sistema sia a diagonale dominante per righe.

112 113

Considerando, invece, la k · k1 risulta


E’ opportuno notare che in questo caso non si arriva alla stessa con-
clusione imponendo la dominanza diagonale per colonne.
1 2 1 1 1 1
kCJ k1 = max{ + , + , + }<1
|α| |β| 10 |β| 10 |α| Inoltre, scegliendo α = 9 13
4 e β = 4 risulta kCJ k∞ < 1 mentre kCJ k1 > 1.
 Infatti,
 1 + 2 <1

 13 9 31 9 13 117
 |α| |β|
1 + 1 <1 +2 = = 7.75 > = ≈ 7.3125.
⇔ 10 |β| 4 4 4 4 4 16


 1
 1 <1
10 + |α|

In questo caso, per esempio, sono necessarie almeno


 K = 184

 |β|+2|α|
 |α||β| < 1

iterazioni per ottenere un errore kE (K)k∞ tra due approssimazioni

 |β| > 10

 9
 |α| > 10 successive inferiore a 0.5 · 10−5 avendo scelto X(0) = [0 0 0]T come
9 approssimazione iniziale.
da cui 10
3 < |β| + 2|α| < |α||β|.

114 115
Infatti risulta
kE (K)k∞ < ε Viceversa, se si pone α = 4 e β = 3, il metodo di Jacobi non soddisfa
quando la condizione sufficiente rispetto alla norma k · k∞ mentre converge
! sicuramente rispetto alla norma k · k1. Inoltre
(1 − kCk∞) ε 1
K > log
kX (1) − X (0)k∞ log kCk∞ kE (K)k1 < 0.5 · 10−5
se
dove kCk∞ = 12 −5
13 , ε = 0.5 · 10 ,
K > 166.03
avendo scelto X(0) = [0 0 0]T
kX(1) − X(0)k = kX(1)k = kQJk∞ = 12
∞ ∞ 13
h i
2
ed essendo kX (1)k1 = k 10 1 1 T 2 + 1 + 1 = 47
k1 = 10
4 3 4 3 60
e Q= D−1B = [ ab1 b2
a22
b3 T
a33 ] = 2
[ 10 4
9
12 ]T ,
13
11

e kCk1 = 11
12
con B = [b1 b2 b3 ]T = [2 1 3]T vettore dei termini noti del siste-
ma.

116 117

La matrice di iterazione del metodo di Gauss-Seidel è data da


CGS = −(L + D)−1U,
con

2 1 |2α − 1| + |9 + 2α|
  kCGS k∞ = max{ , , }<1
1 0 0 10 |α| 10|α||β|
 10 
  se
  (
 1 1 0 
(L + D)−1 =  − 10α α . |α| > 1
 
  |2α − 1| + |9 + 2α| < 10|α||β|
   
1 1 −2 1
− αβ 1
10β α β
Allora
Si osserva che α = 9 13
4 e β = 4 soddisfano la condizione precedente.
 
0 1
− 10 1
− 10
  Quindi il metodo di Gauss-Seidel sicuramente converge per ogni scelta
 
  dell’approssimazione iniziale.
 1 9 
CGS =  0 10α − 10α .
 
 
 
0 1 + 1
− 10αβ 9 1
+ 5β
5β 10αβ

118 119
Scegliendo X(0) = [0 0 0]T , sono necessarie
dove
K = 16
affinchè kE (K)k∞ < ε = 0.5 · 10−5.
 1 
10 0 0
 
Infatti, kCGS k∞ = 4
9




(L + D)−1 =  2
 − 45
4
9 0 .
 
mentre  
28
− 585 16
− 117 4
13

kX(1) − X(0)k∞ = kX(1)k∞ = kQGS k∞ = Si osserva che il metodo di Gauss-Seidel converge molto più ve-
locemente del metodo di Jacobi
1 16 404 T 404
= k(D + L)−1Bk∞ = k[ ] k∞ = Ripetere per kCGS k1.
5 45 585 585

120 121

Soluzione
 
1 4 0
 
 
 
La matrice dei coefficienti del sistema è A = 
 3 1 1 
.
 
Esercizio  
0 2 4
Dato il sistema
 Si osserva subito che A non è a diagonale dominante nè per righe nè

 x1 + 4x2 = 5
3x1 + x2 + x3 = 2 per colonne.

 2x2 + 4x3 = 20
La matrice di iterazione del metodo di Jacobi è

stabilire se è possibile risolverlo usando il metodo di Jacobi per ogni


scelta dell’approssimazione iniziale.  
0 -4 0
 
 
 
CJ = 
 -3 0 -1 

 
 
0 -1
2 0

122 123
Tuttavia, scambiando la prima e la seconda equazione del sistema, si
ottiene un sistema equivalente la cui matrice dei coefficienti è data da

per la quale risulta


 
kCJ k∞ = max{4, 4, 1/2} = 4 > 1 3 1 1
 
 
 
 = 
 1 4 0 

 
kCJ k1 = max{3, 9/2, 1} = 3 > 1  
0 2 4

ρ(CJ ) = max |λi| = 5/ 2 > 1
i
alla quale è associata la seguente matrice di iterazione del metodo di
infatti det(CJ − λI) = −λ3
+ λ/2 + 12λ = λ(−λ2 + 25/2) = 0 ⇔ λ1 = Jacobi
√ √
0, λ2,3 = ±5/ 2 e quindi maxi |λi| = 5/ 2.  
0 −1
3 −1
3
 
 
 1 
Quindi il metodo di Jacobi non converge. ĈJ = 
 −4 0 0 

 
 
0 −1
2 0

124 125

per la quale risulta Inoltre, la velocità di convergenza del metodo è


2 1 1 2
kĈJ k∞ = max{ , , } = < 1
3 4 2 3
−Log(ρ(ĈJ )) = −Log(0.4257) = 0.8540
1 5 1 5
kĈJ k1 = max{ , , } = < 1
4 6 3 6

ρ(ĈJ ) = max |λi| = 0.4257 < 1. e l’errore di approssimazione si riduce di un fattore 10−m all’iterazione
i

m m
In questo caso il metodo di Jacobi converge per ogni scelta della ap- K≈− = .
Log(ρ(ĈJ )) 0.8540
prossimazione iniziale.

126 127
Metodo di rilassamento (S.O.R.)
Il metodo di Gauss-Seidel può essere generalizato introducendo un e quindi
parametro di rilassamento ω 6= 0 nella decomposizione della matrice A: X (k) = Cω X (k−1) + Qω =

D D = (D + ωL)−1 (−ωU + (1 − ω)D)X (k) + ω(D + ωL)−1B


A = L + − + D + U ω ∈ IR+
ω ω
e ponendo

D
M = + L Algoritmo S.O.R. (successive over relaxation)
ω  
e (k) 1  i−1
X (k+1) Xn
(k)
D vi = − aij xj − aij xj + bi
N =U− (1 − ω) aii j=1 j=i+1
ω

  −1   (k+1) (k) (k)

 D D xi = ωvi + (1 − ω)xi

 Cω = − +L U − (1 − ω)

 ω ω
da cui i = 1, 2, . . . , n; k ≥ 0

  −1

 D


 Qω = +L B
ω
128 129

(k)
Convergenza del metodo di sovrarilassamento
vi è la soluzione del metodo di Gauss-Seidel mentre

(k+1) (k) (k) Teorema. Se A è (simmetrica) definita positiva, la con-


xi è la somma pesata di vi e xi usando i pesi ω e 1 − ω,
dizione ω ∈ (0, 2) è necessaria e sufficiente per la conver-
(k)
genza.
con xi i − esima componente della soluzione calcolata al passo prece-
dente
Teorema. Se A è (simmetrica) definita positiva e tridiago-
nale allora la velocità di convergenza è massima per
Se ω = 1, il metodo S.O.R. coincide con il metodo di Gauss- 2
ω = ω0 = q
Seidel. 1 + 1 − ρ(CGS )

130 131
La soluzione esatta è pi = 1 − Ni , i = 0, . . . , N .

Per il metodo di Jacobi si ha:


Esercizio
N kCJ k1 kCJ k∞ ρ(CJ ) kX (50) − X (49)k∞ kE (50)k∞ decimali
esatti
Si tratta di risolvere il sistema lineare 11 1 1 0.9595 0.64 · 10−2 0.77 · 10−1 0

 2p1 −p2 = 1 21 1 1 0.9888 0.95 · 10−2 0.36 0

 51 1 1 0.9981 0.95 · 10−2 0.68 0



 101 1 1 0.9995 0.95 · 10−2 0.81 0
 −p1 +2p2 −p3 = 0
··· ··· ··· ··· ··· ···

 −pN −3 +2pN −2 −pN −1 = 0





 Per il metodo di Gauss-Seidel si ha:
−pN −2 +2pN −1 = 0
N kCGS k1 kCGS k∞ ρ(CGS ) kX (50) − X (49) k∞ kE (50) k∞ decimali
nelle incognite pi, i = 1, . . . , N − 1. esatti
11 0.9990 0.9980 0.9206 0.69 · 10−3 0.80 ·10−2 1
21 1 1 0.9778 0.42 · 10−2 0.18 0
51 1 1 0.9962 0.44 · 10−2 0.55 0
101 1 1 0.9990 0.44 · 10−2 0.73 0

132 133

Per il metodo S.O.R. si ha:

N ω kCω k1 kCω k∞ ρ(Cω ) kX (50) − X (49)k∞ kE (50) k∞ decimali


esatti
11 0.5 0.9999 0.9999 0.9733 0.41 · 10−2 0.15 0
11 1.5604 2.34 1.34 0.56 1.02 · 10−12 1.24 · 10−12 11
11 1.8 5.21 1.7 0.8 8.2 · 10−6 6.29 · 10−6 5
21 0.5 0.9999 0.9999 0.9926 0.4 · 10−2 0.43 0
21 1.7406 5.35 1.61 0.7400 0.32 · 10−6 0.89 · 10−6 6
21
51
1.8
0.5
7.02
1
1.7
1
0.8
0.9987
2.65 · 10−6
0.46 · 10−2
6.29 · 10−6
0.71
5
0
Esercizi d’esame
51 1.8849 14.47 1.82 0.8840 0.22 · 10−2 0.41 · 10−2 2
51 1.8 7.95 1.7 0.9634 0.26 · 10−2 0.69 · 10−1 1
101 0.5 1 1 0.9997 0.45 · 10−2 0.84 0
101 1.9397 29.70 1.90 0.9396 0.69 · 10−2 0.05 1
101 1.8 8 1.70 0.9912 0.37 · 10−2 0.34 0

Si può verificare che dopo 15 iterazioni, scegliendo ω = ωott, il numero


di decimali esatti della soluzione è 3 nel caso N = 11.

134 135
ESERCIZIO 1 Soluzione ESERCIZIO 1

Dato il sistema lineare 1.1) La matrice G è definita positiva se è simmetrica e se X T G X ≥ 0


    per ogni X ∈ IR3. Per la simmetria deve essere α = 1. Per verificare
3 α 0 1
    se G è definita positiva si può utilizzare il criterio di Sylvester:
GY = F G=
 1 2 −1 
2  α, β ∈ IR F = 3 
1 −1 3
0 −2 β det G1 = 3 det G2 = 5 det G3 = det G = 5 β −
4
I primi due determinanti principali di testa sono positivi. Il deter-
minante di G è positivo se e solo se
1.1) individuare per quali valori dei parametri α e β la matrice G è 3 3
5β − >0 ⇒ β> = 0.15
definita positiva; 4 20

1.2) posto α = 1 e β = 1/4 stabilire se i metodi di Jacobi e di Gauss- 1.2) Per α = 1 e β = 1/4 la matrice
Seidel sono adatti ad approssimare la soluzione del sistema lineare;  
3 1 0
 
 
 1 
1.3) in caso di convergenza, specificare per ciascun metodo la scelta G=
 1 2 −2 
 
 
dell’approssimazione iniziale.
0 −1
2
1
4
136 137

è definita positiva, quindi il metodo di Gauss-Seidel converge si-


curamente. Poiché la matrice G non è diagonalmente dominante
né per righe né per colonne, non si può trarre nessuna conclusione
sulla convergenza del metodo di Jacobi analizzando le proprietà
della matrice dei coefficienti.

Per quanto riguarda la matrice di iterazione del metodo, data da 1.3) La convergenza dei metodi è indipendente dalla scelta dell’ appros-
  simazione iniziale X (0) ∈ IR3. Una buona scelta può essere X (0) = 0
0 −1
3 0




per il metodo di Gauss-Seidel, del quale non è stata calcolata la
  matrice di iterazione, e X (0) = D−1F = QJ per il metodo di Jacobi.
CJ = −D−1(L + U ) =  1
 −2 0 1  ,
4 
 
 
0 2 0 Si suggerisce di fare qualche iterazione di entrambi i metodi per
sia la norma 1 che la norma uniforme sono maggiori di 1. Per confrontare le differenti velocità di convergenza.
verificare la convergenza bisogna quindi calcolare il raggio spettrale,
cioé il massimo dei moduli degli autovalori di Cj :
s s
2 2
ρ(CJ ) = max( 0, )= ≈ 0.8165 < 1 ,
3 3
quindi anche il metodo di Jacobi è convergente.
ESERCIZIO 2 Soluzione Esercizio 2

Sia dato un sistema lineare con matrice


La matrice di iterazione del metodo di Jacobi è
 
0 −α1 1
− 2α
   
2 α 2 1 C = α 0 −2 
 5 
A=
 −α 5 2 
 5
−α1 −α1 0
1 1 α
5
∀ α 6= 0, mentre il termine noto è Q = [ 2α −2 1 T
5 α] .

dipendente dal parametro reale α, e vettore dei termini noti Affinchè il metodo di Jacobi converga per ogni scelta del punto iniziale,
è necessario che kCk∞ < 1.
b = [5 −2 1]T :

2.1) stabilire per quali valori del parametro α il metodo di Jacobi con-
1 1 |α| + 2 2 3 |α| + 2 2
verge per ogni scelta della approssimazione iniziale X(0); kCk∞ = max{ + , , } = max{ , , }.
|α| 2|α| 5 |α| 2|α| 5 |α|
3 < 2,
Poichè 2|α| ∀α 6= 0,
2.2) scelti α = 5
2 e X
(0) = [0 0 0]T , produrre una stima superiore |α|
del numero di iterazioni necessarie affinchè il metodo fornisca una |α| + 2 2
soluzione con almeno 5 decimali esatti. kCk∞ = max{ , }.
5 |α|
138 139

Quindi, Imponendo kCk∞ < 1 risulta


( √
|α| > 2 se |α| < √11 − 1

 2 se
|α|+2 2
< |α| |α| < 3 se |α| ≥ 11 − 1
kCk∞ = |α| 5
 |α|+2 da cui si deduce che il metodo di Jacobi converge in norma infinito se
5 viceversa
2 < |α| < 3.
cioè

 Il numero di iterazioni k necessarie affinchè la soluzione abbia la preci-


 2 se |α|2 + 2|α| − 10 < 0
kCk∞ = |α| sione  è maggiorabile come segue
 |α|+2 viceversa !
5 (1 − kCk∞) 1
k > log .
kX(1) − X(0)k∞ log(kCk∞)
da cui 5 +2
In questo caso,  = 0.5 · 10−5, kCk∞ = 2 9
= 10 mentre
5
 √ 2 2 T
 2 se |α| < 11 − 1 X(1) = CX(0) + Q = Q = [1 − ]
kCk∞ = |α| 5 5
 |α|+2 se

5 |α| ≥ 11 − 1 e quindi kX(1) − X(0)k∞ = kX(1)k∞ = 1. Ne risulta che
ESERCIZIO 3

Si consideri il sistema lineare Anx = bn dipendente da n ∈ N, con


 
n n  
 +1  b1,n
 2 2 
An = 


 bn = 



 n n  b2,n
+1 +2
2 2
log((1 − 9/10) · 0.5 · 10−5)
k> = 137.70.
log(9/10)
Quindi, il numero minimo di iterazioni per raggiungere la precisione 3.1) Valutare il numero di condizionamento di An al variare di n;
richiesta è k = 138.

3.2) stabilire per quali n il numero di condizionamento risulta inferiore


a 50;

3.3) sia n̄ il valore più grande di n verificante la condizione al punto


(2.2). Dare una maggiorazione in norma ∞ dell’errore relativo su

140

Soluzione ESERCIZIO 3

3.1) La matrice An è simmetrica e tutti i suoi elementi sono non nega-


tivi. Ne segue che kAnk1 = kAnk∞ = max{n + 1, n + 3} = n + 3.

Inoltre, risulta
" #
1 n+2 −n
x nel caso in cui la soluzione del sistema sia x = [1, 1]T e il vettore A−1 = 2 2−1
n
det(An) −n
2−1
n
2
bn̄ subisca una perturbazione pari a
" #
5 · 10−2 e quindi
δ bn̄ = .
10−3
kA−1 −1
n k1 = kAn k∞
in quanto si verifica facilmente che det(An) = −1, ∀ n. Ne segue
che il numero di condizionamento di An risulta
K(An) = (n + 3)2,

rispetto alle norme k · k1 e k · k∞, quindi il sistema diventa mal


condizionato anche per piccoli valori di n.
141
ESERCIZIO 4

3.2) Si consideri la matrice



K(An) = (n + 3)2 < 50 ⇔ n < 50 − 3.
 
7
 −1 −1 
 2 
Poichè n ∈ N, risulta n ≤ 4.  
 
 1 7 
 
A = 0  γ, δ ∈ IR .
 γ 2 
 
 
3.3) Si osserva che n̄ = 4. Poichè x = [1 1]T , risulta  
 7 
γ δ
bn̄ = [n̄ + 1 n̄ + 3]T . 2
kδ b k −2
Quindi, kb n̄k ∞ = 5·10
n̄+3 e
n̄ ∞
4.1) Dopo una opportuna permutazione delle righe, individuare i valori
kδ xk∞ kδ bn̄k∞ 5 · 10−2
≤ K(An̄) = (n̄+3)2 = 5·10−2(n̄+3) = 3.5·10−1. dei parametri γ e δ per i quali la matrice A risulti definita positiva;
kxk∞ kbn̄k∞ n̄ + 3

4.2) Sia B la matrice definita positiva costruita al punto precedente.


Determinare per quali valori dei parametri il numero di condiziona-
mento della matrice B risulta minore di 7.
142

ESERCIZIO 5 Dato il sistema Ax = b con


 
Soluzione ESERCIZIO 4 α 4 1/2
A=
 0 2α 1 

4.1) Con una permutazione delle righe della matrice A si ottiene la matrice −1 1 2
 
7 e α 6= 0,
γ δ
 2 
 7 
 −1 −1 
 2 
B= 


  5.1) stabilire per quali valori del parametro α i metodi iterativi di Jacobi
 0 1 7 
 γ 2
 e Gauss-Seidel convergono alla soluzione del sistema per qualsiasi
scelta della approssimazione iniziale;
che risulta simmetrica per γ = −1 e δ = 0. Si verifica facilmente che per questi
valori dei parametri la matrice B è definita positiva.
5.2) posto α = 8, in caso di convergenza dei metodi, stimare il numero
4.2) Poichè la matrice B è simmetrica, il numero di condizionamento in norma 1 o
infinito sono coincidenti: minimo di iterazioni necessarie affinché l’errore relativo soddisfi
K(B) = kBk · kB−1 k ≈ 2.95. kx − xk k
< 10−8
Si suggerisce di calcolare il numero di condizionamento in norma 2. kxk
dove xk è l’approssimazione prodotta alla k-esima iterazione.

143 144
ESERCIZIO 6 ESERCIZIO 7

Dato il sistema lineare Si consideri il sistema lineare di n equazioni in n incognite AX = B,


    con matrice dei coefficienti
θ 1 0 −1  
HA=Y

H =  1 2 −1

γ, θ ∈ IR
 
Y = 2  3 −1 0 0 ... 0
2  
 −1 2 −1 0 . . . 0


0 γ 3 0  
 0 −1 2 −1 . . . 0 
A =
 ... . . . . . . . . . . . . ...


 
 
 0 . . . 0 −1 2 −1 
6.1) individuare per i quali valori dei parametri γ e θ la matrice H è 0 . . . . . . 0 −1 3
definita positiva; e vettore dei termini noti B = (1, 0, · · · , 0)T .

6.2) posto γ = −1/2 e θ = 2/3 stabilire se i metodi di Jacobi e di • Stabilire se esistono valori di n per cui il metodo di Jacobi sicura-
Gauss-Seidel sono adatti ad approssimare la soluzione del sistema mente converge alla soluzione del sistema perturbato (A +δ A)(X +
δ X) = B, con δ A = diag (− n1, 1, 1, . . . , 1, −1
lineare; n n n n );

• scelto n pari all’intero per cui kδ Ak∞ = 1


2 , dare una maggiorazione
6.3) in caso di convergenza, specificare per ciascun metodo la scelta kδ Xk∞
dell’approssimazione iniziale. dell’errore relativo kXk .

145 146

Traccia della soluzione Condizione sufficiente per la convergenza del


metodo di Jacobi è che la matrice del sistema A + δA sia a diagonale ESERCIZIO 8
dominante. Imponendo la diagonale dominanza per righe si ha
( 8.1 Discutere la convergenza dei metodi di Jacobi e Gauss Seidel del seguente si-
|3 − 1/n| > 1 stema lineare
⇔ n > 2.     
|2 + 1/n| > 1 2 1 0 x1 1
 0 1 2   x2  =  2 
1 ⇒ 1 = 1 ⇔ n = 2 e quindi
kδAk∞ = n n 2 1 3 1 x3 0
!
3 −1
A= . 8.2 Detto AX = b un sistema lineare equivalente al precedente per il quale il metodo
−1 3 di Jacobi converge per ogni scelta dell’approssimazione iniziale, stabilire se esi-
stono valori del parametro β ∈ R per cui il metodo iterativo
Pertanto kAk∞ = 4, kA−1k∞ = 1/2, K∞(A) = 2
Xk+1 = Xk − β(ĀXk − b̄)
1
kδXk∞ 2 2 = 1 converge più velocemente del metodo di Jacobi.
⇒ < 1/2
X 1−2 4 4 3

147 148
Soluzione √
il cui raggio spettrale ρ(CJ ) = max {|λi |}1≤i≤3 = 1/ 3. Infatti, gli autovalori λi di CJ
3
sono le soluzioni dell’equazione caratteristica −λ + λ/3 = 0.
Siano A la matrice del sistema, x il vettore della soluzione e b il vettore dei termini
noti. La matrice A non soddisfa le condizioni sufficienti di convergenza dei metodi di
Jacobi e di Gauss Seidel. In particolare, A non è a diagonale dominante per righe o La matrice di iterazione del metodo iterativo
per colonne (una condizione sufficiente per la convergenza dei due metodi iterativi),
e neanche simmetrica e definita positiva (condizione sufficiente per la convergenza Xk+1 = Xk − β(ĀXk − b̄)
del metodo di Gauss Seidel). Tuttavia, scambiando la seconda e la terza riga della è C(β) = I−β Ā, con I matrice identità . Affinchè il metodo converga più velocemente
matrice A, si ottiene la matrice del metodo di Jacobi, deve esistere almeno un β per cui
 
2 1 0 ρ(C(β)) < ρ(CJ ), (∗).
Ā =  1 3 1 
0 1 2 Gli autovalori della matrice C(β) sono le soluzioni dell’equazione caratteristica
che risulta a diagonale dominante per righe e per colonne. Inoltre è simmetrica e (1 − 2β − λ)2(1 − 3β − λ) − 2β 2 (1 − 2β − λ) = 0,
definita positiva; infatti il determinante dei minori di testa di Ā è positivo: ovvero
det(Ā1 ) = 2 > 0; det(Ā2 ) = 6 − 1 = 5 > 0; det(Ā) = 12 − 4 = 8 > 0. (1 − 2β − λ)(λ2 − λ(2 − 5β) + 4β 2 − 5β + 1) = 0
Ne segue che i metodi di Jacobi e di Gauss-Seidel convergono alla soluzione del
cioè λ1 = 1 − 2β, λ2,3 = 2−5β±3β e quindi λ2 = 1 − β, λ3 = 1 − 4β. Ne segue che
sistema ĀX = b̄, con 2
    ρ(C(β)) < 1 ⇔ 0 < β < 1/2 e
x1 1 
X=  x2  e b̄ =  0  1 − β β ≤ 2/5
ρ(C(β)) =
x3 2 4β − 1 β > 2/5
Poichè
In questo caso, la matrice di iterazione del metodo di Jacobi è √ √
  1 − β < 1/ 3 ⇔ β > 1 − 1/ 3 ≈ 0.4226 > 2/5
0 −1/2 0 e
CJ =  −1/3 0 −1/3  , √ √
0 −1/2 0 4β − 1 < 1/ 3 ⇔ β < (1 + 1/ 3)/4 ≈ 0.3943 < 2/5,

149

non esistono valori di β per cui il metodo iterativo considerato converge più veloce-
mente del metodo di Jacobi.

Oss: Alla stessa conclusione si giunge ragionando come segue.

Poichè per una generica matrice M risulta ρ(M) ≤ kMk, con k · k norma di matrice
compatibile, la (∗) è sicuramente verificata per i valori di β tali che
ESERCIZIO 9 Si considerino i seguenti sistemi lineari:
kC(β)k∞ < ρ(CJ ),  
  x + 3x2 + 5x3 + 3x4 = −1
cioè  1  3x1 − x2 + 2x3 = 1
εx1 + x2 = 1 2x2 + 4x3 + 3x4 = −1
, , 9x1 − x2 − 4x3 = 0 .
x1 + x2 = 2  2x3 + x4 = 1
  −6x + 6x = 1
1 3
√ 2x4 = 2
max |1 − 2β| + |β|, |1 − 3β| + 2|β| < 1/ 3
Stabilire per quali di essi il metodo di eliminazione di Gauss senza pivoting fornisce
ovvero
la soluzione esatta. Motivare la risposta.

|1 − 3β| + 2|β| < 1/ 3
che non è mai soddisfatta.

Tuttavia, in questo caso non si può concludere che non esiste alcun valore di β per
cui il metodo iterativo considerato converge più velocemente del metodo di Jacobi.

150
ESERCIZIO 11 Stabilire se i seguenti metodi iterativi
X(k+1) = (I − αA)X(k) + β B, α, β ∈ R

ESERCIZIO 10 Dati i seguenti sistemi lineari dipendenti dal parametro k ∈ R: X(k+1) = β((1 − α)I − A)X(k) + β B, α, β ∈ R
  
 x1 − kx2 = 1 − k  −x1 + x2 = −1  kx1 − x2 + kx3 = 1
−kx1 + x2 − kx3 = 1 − 2k , 0.5x1 + 2x2 − 0.5x3 = 2 , −x1 + kx2 − x3 = 0 , X(k+1) = D−1(D + A)X(k) + B, con D matrice diagonale: Dii = Aii, ∀ i
 −x + x = 1 − k  √2x + kx = 1  kx − x = 1
2 3 2 3 1 2
possono convergere alla soluzione del sistema lineare AX = B per ogni scelta
stabilire per quali valori di k è possibile calcolarne la soluzione in modo esatto usando
dell’approssimazione iniziale X0. Motivare la risposta.
il metodo di Thomas.

Suggerimento: Verificare che la soluzione del sistema è un punto unito delle funzioni
di iterazione che generano i procedimenti proposti.

151 152

ESERCIZIO 12 Si consideri il seguente procedimento iterativo dipendente dal


parametro reale ω:  
I n Tn
X(k+1) = D(ω)X(k) + F(ω), ESERCIZIO 13 Si consideri il sistema lineare A X = B con A=
On In
,
   1

2ω + 2ω + 1 −2ω 2 + 2ω + 1
2 −ω In matrice identità di dimensione n × n, On matrice di zeri di dimensione n × n, Tn
con D(ω) = 14 2 2 e F(ω) = 2
1 .
−2ω + 2ω + 1 2ω + 2ω + 1 2
−ω matrice tridiagonale con elementi pari a tre sulla diagonale principale e pari a -1 sulle
codiagonali inferiore e superiore, B generico vettore di dimensione 2n.
12.1 Stabilire se esiste almeno un valore di ω per cui il procedimento iterativo
risulta
 adatto
 ad approssimare
  la soluzione del sistema lineare AX = B con Stabilire se, usando un opportuno procedimento iterativo, è possibile produrre la
1 2 3 soluzione del sistema dato con un numero finito di passi. Motivare la risposta.
A= e B= ;
2 3 5
Suggerimento: Se il procedimento iterativo ha velocità di convergenza pari a in-
12.2 in caso di risposta affermativa, determinare il valore di ω per cui la velocità di
convergenza al vettore X è massima; finito, esso produce la soluzione in un numero finito di passi. Verificare che ρ(CJ ) = 0
(osservare che la matrice A è una matrice triangolare superiore). Cosa si può dire
12.3 stabilire se il procedimento iterativo 
è adatto
 ad approssimare la soluzione del
3.1 del metodo di Gauss-Seidel?
sistema perturbato AX = B̄ con B̄ = . Motivare la risposta.
5.1

153 154
ESERCIZIO 15
ESERCIZIO 14 Si consideri il sistema lineare AX = B con X ∈ Rn, B ∈ Rn e
A∈ Rn×n, n ∈ N e tale che
  Si consideri il sistema lineare AX = B, con A ∈ Rn×n, X ∈ Rn×1,
1 −1 −1 ... −1 −1


0 1 −1 ... −1 −1 
 B ∈ Rn×1. Indicando con CJ la matrice di iterazione del metodo
A= 0 0 1 ... −1 −1 
 0 0 0 ... 1 −1  di Jacobi costruito per il sistema dato, stabilire per quali valori del
0 0 0 ... 0 1 parametro reale ω il seguente procedimento iterativo
Studiarne il condizionamento in funzione di n.
X(k+1) = (1 − ω)X(k) + ω CJ X(k)
Suggerimento: Mostrare che kAk∞ = n e che kA−1 k∞ = 2n−1. Utilizzare il metodo
sicuramente converge in norma infinito alla soluzione del sistema,
di sostituzione all’indietro per il calcolo di A−1 .
quando A è a diagonale dominante.

155 156

ESERCIZIO 16 Riferimenti bibliografici


Si consideri il sistema lineare AX = B, con A ∈ Rn×n,
X ∈ Rn×1, B ∈ Rn×1 e il L. Gori, Calcolo Numerico:
seguente procedimento iterativo dipendente dal parametro reale ω Cap. 2 §§ 2.1-2.5, 2.8-2.11
X(k+1) = ω X(k) + (1 − ω)(CGS X(k) + QGS ), (1) Cap. 4 §§ 4.1-4.6, 4.8, 4.9 (escluso il pivoting totale) 4.10 (solo enunciati dei
teoremi), 4.12
con CGS e QGS rispettivamente la matrice di iterazione e il termine noto del metodo
di Gauss-Seidel costruito per il sistema dato. Stabilire se esistono valori del parametro L. Gori, M.L. Lo Cascio, F. Pitolli, Esercizi di Calcolo Numerico:

reale ω per cui il procedimento iterativo in (1) converge alla soluzione del sistema 2.1-2.5, 2.10-2.13, 2.17, 2.19 - 2.26, 2.30, 7.7, 7.15, 7.16, 7.19, 7.35, 7.41, 7.49,

dato per ogni scelta dell’approssimazione iniziale X(0) ∈ Rn×1. 7.52, 7.57, 7.58, 7.64

157 158

Potrebbero piacerti anche