Sistemi lineari: generalità Problema: risolvere un sistema lineare di grandi dimensioni N ∑ ⎪ ⎪ ⎨ ⎧ = + + + = + + + n n n n b x a x a x a b x a x a x a L L 2 2 2 22 1 21 1 1 2 12 1 11 n i b x a i j ij , 1 1 = = ∑ ⎪ ⎪ ⎩ ⎪ ⎨ = + + + n n b x a x a x a L M M M M 2 2 1 1 2 2 2 22 1 21 ⇔ In forma compatta: ⎩ + + + n n nn n n b x a x a x a 2 2 1 1 In forma compatta: A = [ a ij ]∈ ℜ nxn vettore dei coefficienti B AX = B = [ b i ]∈ ℜ n vettore dei termini noti X = [x i ]∈ ℜ n vettore delle incognite X [ x i ]∈ ℜ vettore delle incognite 1
21
Embed
Sistemi lineari: generalità - Home | Dipartimento di Scienze di …riccardo.broglia/Didattica/PMN2009... · 2011. 6. 2. · Sistemi lineari: metodi •L’uso del metodo di Cramer
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Sistemi lineari: generalità
Problema: risolvere un sistema lineare di grandi dimensioni
N
∑⎪⎪⎨
⎧=+++=+++
nn
nn
bxaxaxabxaxaxa
L
L
22222121
11212111
nibxa ijij ,11
==∑⎪⎪⎩
⎪⎨
=+++
nn
bxaxaxa
bxaxaxa
L
MMMM
2211
22222121 ⇔
In forma compatta:
⎩ +++ nnnnnn bxaxaxa 2211
In forma compatta:
A = [ aij ]∈ ℜnxn vettore dei coefficienti
BAX = B = [ bi ]∈ ℜn vettore dei termini noti
X = [ xi ]∈ ℜn vettore delle incogniteX [ xi ]∈ ℜ vettore delle incognite1
Sistemi lineari: soluzione
Teorema (Rouché-Capelli): il sistema lineare AX=Bammette soluzione se e solo se r(A|B)=r(A) ovvero seammette soluzione se e solo se r(A|B) r(A), ovvero see solo se B appartiene allo spazio lineare generato dallecolonne di A.
Metodo di Cramer: se la matrice è quadrata e non sin-
i 11 DA
qgolare la soluzione è esprimibile nella forma:
nix ii ,1
)det(1 ==⇔= −
ADBAX
è il d i d ll i iDove Di è il determinante della matrice ottenuta sosti-tuendo alla i-esima colonna della matrice A, il vettore deitermini noti B.termini noti B.
2
Metodo di Cramer: costo• Costo computazionale: stima del numero di operazioni pe-
santi (moltiplicazioni e divisioni) per ottenere la soluzione.( p ) p• Algoritmo di Cramer:
– n+1 determinanti nix ii ,1
)det(==
AD
– n! prodotti per determinante– n-1 moltiplicazioni per ciascun prodotto
• L’uso del metodo di Cramer è valido solo per sistemi di dimensione estremamente contenute (ad es 10x10)dimensione estremamente contenute (ad es. 10x10).
• Metodi diretti:– soluzione esatta in un numero finito di passi (operazioni sulla matrice);– elevata occupazione della memoria;– problemi “densi” o matrici particolari (tridiagonali,…);
efficienti per “piccoli” problemi (100x100)– efficienti per piccoli problemi (100x100).
• Metodi iterativi:– la soluzione ottenuta tramite approssimazioni successive (punto unito);la soluzione ottenuta tramite approssimazioni successive (punto unito);– soluzione esatta in un numero infinito di passi (errore di troncamento);– bassa occupazione di memoria;– problemi “sparsi” e/o di elevate dimensioni.
4
Sistemi lineari: condizionamento• Condizionamento: stima della “sensibilità” del
problema ad una variazione sui dati “di input”.p p• Indipendente dal metodo numerico adottato, però ne
influenza la scelta e la precisione dei calcoli.• Analisi: si perturbano i dati di ingresso e si valuta la
corrispondente variazione della soluzione.• Un problema si dice malcondizionato se ad una
“piccola” variazione sui dati “di ingresso” corrisponde “ d ” i i d ll l iuna “grande” variazione della soluzione.
• Nel caso di A non affetta da “errori”, e con δB errore sui dati (sul termine noto B):sui dati (sul termine noto B):
BAA
X δδ 1−≤B
AAX
≤5
Sistemi lineari: condizionamento
• Detti ||δA|| e ||δB|| l’errore sui coefficienti e sul termine noto, e con ||δX|| l’errore sulla soluzione, si ha:
⎟⎞
⎜⎛ ABAX δδδ )(K
⎟⎟⎠
⎞⎜⎜⎝
⎛+
−≤
AA
BB
AA
A
AXX δδ
δδ
)(1
)(
K
K
A
• Dove K(A)=||A||·||A-1|| è il numero di condizionamentoDove K(A) ||A|| ||A || è il numero di condizionamentodi A, con 1 ≤ K(A)≤ ∞; nel caso di norma spettrale e per matrici simmetriche e definite positive:
Metodi iterativi: generalità• Sono basati su una trasformazione del problema in uno
equivalente dalla struttura più semplice tramite una d i i d ll t i d i ffi i ti ( litti )decomposizione della matrice dei coefficienti (splitting).
• Il problema equivalente è risolto per mezzo di una procedura iterativa di approssimazioni successiveprocedura iterativa di approssimazioni successive.
• Sono applicati a problemi “grandi” e/o “sparsi”.
( ) ( )
( ) ( )⎪
⎪⎨⎧
+∑=
+=⇔+=⇔= +
+
+n kk
kk
qxcx 1
1 QCXXQCXXBAX
NMA 31⎪⎩
+∑==
=−=
+=
−
−i
jjiji qxcx
1BMQNMC
NMA
1
143421
C è detta matrice di iterazione.
8
Metodi iterativi: convergenzaUn metodo iterativo fornisce la soluzione esatta (in assenza di errori di arrotondamento) in un numero infinito di passi; ) p ;si definisce errore di troncamento, la quantità:
( ) ( )kk XXE −=Un metodo iterativo è detto convergente se:
XXE =
( )k( ) 0E =∞→
k
klim
Teorema: condizione sufficiente affinché il metodoTeorema: condizione sufficiente affinché il metodo iterativo sia convergente qualunque sia il vettore iniziale X(0) è che sia ||C||<1.|| ||
Teorema: il metodo iterativo converge, qualunque sia il vettore iniziale X(0), se e solo se ρ(C)<1.vettore iniziale X , se e solo se ρ(C) 1.
9
Metodi iterativi: definizioni
Per un metodo iterativo convergente sotto la condizione||C||< 1 fissata una certa tolleranza ε la procedura iterativa||C||< 1, fissata una certa tolleranza ε, la procedura iterativa può essere arrestata quando l’indice di iterazione k è tale che:
( ) ( )+ kk XX 1 i i di( ) ( ) ε≤−+ kk XX 1 Criterio di arresto
In tal caso, per l’errore commesso rispetto alla soluzione , p pesatta, si hanno le seguenti stime:
( ) ( ) ( )kkk XXC
E ≤ ++ 11 Sti t i i( ) ( ) ( )XXC
E −−
≤1 Stima a posteriori
( ) ( ) ( )011
1 C ++
kk( ) ( ) ( )011
1XX
CC
E −−
≤+k Stima a priori
E i i i li t [GL] 7 41• Esercizio consigliato [GL] 7.4110
Metodi iterativi: decomposizione di A
I metodi iterativi sono basati su uno “splitting” della i d i ffi i i dmatrice dei coefficienti: A=L+D+U, dove:
⎥⎤
⎢⎡ 0000 L
⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
=⎩⎨⎧
≤>
= 00000
0 3231
21
LLLLLLL
ijij aa
a
jijial L
Triangolare inferiore
=⎩⎨⎧
≠==
⎥⎦⎢⎣ −
),,,(0
0
2211
121
L
L
nnii
ij
nnnn
aaadiagjijiad
aaa
D Diagonale
⎥⎥⎤
⎢⎢⎡
⎨⎧ <
⎩ ≠
000
0
222
11312LL
n
n
ijaaaaa
jia
ji
U
g
Triangolare
⎥⎥⎥⎥
⎦⎢⎢⎢⎢
⎣
=⎩⎨⎧
≥<
=−
00000000
1LL
LLLLL
nn
ijij
ajijiau U
go esuperiore
11
Metodi iterativi: Jacobi
Posto M=D e N=L+U, si ha: X=-D-1(L+U)X+D-1B=CJX+QJ
⎥⎥⎤
⎢⎢⎡ −−0
11
1
11
12 L n
aa
aa
i di i i
⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
−−= 022
2
22
21
J
LOLL
L n
aa
aa
CMatrice di iterazione
di Jacobi
⎥⎥⎥
⎦⎢⎢⎢
⎣−− 021 L
nn
n
nn
n
aa
aa
Quindi, l’algoritmo di Jacobi fornisce la successione:⎞⎛
0,11
1
)()1(J
)(J
)1(
≥=
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛+−=⇔+= ∑
≠=
++
knibxa
ax
n
ijj
ik
jijii
ki
kk QXCX
⎠⎝ ≠ij
12
Metodi iterativi: Gauss-Seidel
Il metodo di Gauss-Seidel fa uso dei valori già calcolati:
0,11
1
)(1
1
)1()1(
≥=
⎟⎟⎠
⎞⎜⎜⎝
⎛+−−= ∑∑
+=
−
=
++
kni
bxaxaa
x i
n
ij
kjij
i
j
kjij
ii
ki
In forma compatta, posto:p , p
UNLDM =+=
( ) ( ) 11 QXCBLDUXLDX +=+++−= −−
Ottenendosi:
( ) ( ) GSGS QXCBLDUXLDX +=+++=
13
Jacobi & Gauss-Seidel: convergenzaTeorema: se A è diagonalmente dominante, per righe o per
colonne, i metodi di Jacobi e di Gauss-Seidel sono ,convergenti per qualunque valore del vettore X(0).
Corollario: il metodo di Jacobi (Gauss-Seide) converge se eCorollario: il metodo di Jacobi (Gauss-Seide) converge se e solo se ρ(CJ )<1 (ρ(CGS )<1), qualunque sia X(0).
T A è i t i d fi it iti il t d diTeorema: se A è simmetrica e definita positiva, il metodo di Gauss-Seidel è convergente per qualunque valore di X(0).
Criterio di Sylvester: condizione necessaria e sufficiente affinché una matrice quadrata e simmetrica sia definita positi a è che:positiva è che:
( ) nkk ,,2,10det K=>A
14
Jacobi & Gauss-Seidel: esempio
E i 4 5 1 ifi l d i t di diEsempio 4.5.1: verificare la convergenza dei metodi di Jacobi e di Gauss-Seidel per i seguenti problemi:problemi:
⎤⎡ 211 ⎤⎡ 101
⎥⎥⎤
⎢⎢⎡ −
= 212211
A ⎥⎥⎤
⎢⎢⎡
= 011101
A⎥⎥⎦⎢
⎢⎣ 122 ⎥
⎥⎦⎢
⎢⎣ 111
• Esercizi consigliati [GL] 2.20, 2.21, 7.16
15
Metodi iterativi: S.O.R.
Il metodo S.O.R. (successive over relaxation) si ottiene dal rilassamento della soluzione fornita dal metodo GS:rilassamento della soluzione fornita dal metodo GS:
Lemma: condizione necessaria affinché il metodo di rilassamento converga è che ω∈(0,2).
Teorema: se A è simmetrica e definita positiva, la condizione 0<ω<2 è necessaria e sufficiente per lacondizione 0<ω<2, è necessaria e sufficiente per la convergenza del metodo S.O.R., qualunque sia X(0).
Teorema: se A è tridiagonale e definita positiva, la convergenza del metodo S.O.R. è massima per:
E i [GL] 2 30 C l l l l ità i t ti diEsempio [GL] 2.30: Calcolare la velocità asintotica di convergenza dei metodi di Jacobi, Gauss-Seidel e S.O.R. con parametro ottimo, applicati alla soluzioneS.O.R. con parametro ottimo, applicati alla soluzione del sistema algebrico avente come matrice dei coefficienti la matrice: