Documente Academic
Documente Profesional
Documente Cultură
3
Definiţia 2.1.1.:
Vom spune că metoda iterativă este convergentă dacă
lim x (k ) = x* , () x (o ) (2.4)
k →
( )
( unde x (k ) k este procesul iterativ generat de metodă).
4
Observaţia 2.1.3.:
1. Dacă G 1 , atunci
(I n G) GLn şi (I n G )−1
1
(2.8)
1− G
2. Se reduce analiza convergenţei şirului (2.3) la problema algebrică a
demonstrării că (G ) 1 .
( )
3. Verificarea stabilităţii procesului iterativ x (k ) k implică de regulă un volum
prohibitiv de calcule; de aceea, în practică, se preferă verificarea unei condiţii de
tip Cauchy:
() k N a.i. x (k + 1) − x (k ) x (k ) , () k k (2.9)
unde este eroarea prestabilită, în limita unui număr maxim de iteraţii Maxiter.
4. Metoda iterativă definită anterior nu reprezintă altceva decât metoda
aproximaţiilor succesive pentru determinarea unui punct fix al funcţiei:
f : R n → R n , f (x ) = G(x ) + c ((iii) f contracţie pe R n ).
5
Studiul metodelor iterative este axat pe soluţionarea a două probleme
importante:
(1) Dată fiind o metodă iterativă, să se stabilască dacă ea este convergentă (i.e.
verificarea uneia dintre condiţiile echivalente din teorema 2.1.2).
(2) Date fiind două metode iterative, să se stabilească care este cea cu viteza de
convergenţă mai mare.
De obicei, o metodă iterativă se bazează pe o descompunere a matricei
sistemului (2.1),
A= P−N (2.10)
unde P GL(n) , iar P −1 este “uşor” de determinat.
Atunci, (2.1)
Px = Nx + b (2.11)
x = P −1 Nx + P −1b (2.12)
Deoarece (2.12) are o formă asemănătoare cu (2.2), i se asociază o metodă
iterativă, ce generează următorul proces iterativ:
( ) ( ) ( )
x (k ) k , unde x (k + 1) = P − 1 N x (k ) + P − 1b () k 0, G = P -1 N şi c = P 1b . (2.13)
6
3.2.2. Metode iterative clasice: Jacobi, Gauss-Seidel, suprarelaxare
1. Descrierea metodei
a) Metoda Jacobi
Cea mai simplă descompunere (2.10) a matricei A , este: A = D − (L + U ) , unde
aij , i j aij , i j
D = diag(a11 ,...,ann ) , − L = lij( )
i , j = 1,n
, lij = ( )
şi − U = uij i , j =1,n , uij = ,
0, i j 0, i j
iar P = D şi N = L + U (2.14)
10
Totuşi, condiţia (2.30) este destul de restrictivă. Există situaţii destul de frecvent
întâlnite, mai ales în probleme numerice de teoria ecuaţiilor cu derivate parţiale,
când aceasta nu este satisfăcută. În astfel de cazuri, se foloseşte cu succes,
următorul rezultat:
Propoziţia 2.2.2.:
Dacă A R nn este ireductibilă şi slab diagonal-dominantă, atunci metoda
Jacobi converge.
Definiţia 2.2.3.:
A R nn s.n. ireductibilă dacă nu poate fi adusă prin permutări de linii şi de
coloane sub forma
A11 A12
A = (2.31)
O A22
unde A11 şi A22 sunt blocuri pătrate.
11
Definiţia 2.2.4.:
n
a) A R n n
s.n. slab diagonal dominantă dacă aii aij , () i = 1, n şi
j =1
j i
() k 1,...,n a.i.
n
a kk aij (2.32)
j =1
j k
12
b) Metoda Gauss-Seidel
Conform teoremei 2.1.2, metoda Gauss-Seidel este convergentă dacă şi
numai dacă (GGS ) 1 .
Pentru ca (GGS ) 1 , este suficient ca A să aibă una din următoarele
proprietăţi:
i) A este strict-diagonal dominantă;
ii) A este diagonal dominantă şi ireductibilă.
Argumentarea este analogă cu cea din cazul metodei Jacobi.
13
c) Metoda (SOR)
Următoarea teoremă oferă o condiţie necesară de convergenţă:
14
Teorema 2.2.10. (Ostrowski-Reich):
Dacă A este simetrică şi pozitiv-definită, atunci metoda (SOR) converge dacă
şi numai dacă w (0 ,2) .
Demonstraţie:
Se aplică teorema 2.2.5. În acest caz, P + PT − A = − 1 D .
2
w
Observaţia 2.2.11.:
Dacă A R nn este tridiagonală , simetrică şi pozitiv-definită, atunci există
un parametru optim de relaxare w* =
1
( )
şi G*SR = w* − 1 , dacă
1+ 1− Gj 2 ( )
( )
G j 0 , iar dacă (G j ) = 0 , w* = 1 şi (GSR ) = 0 .
Analiză numerică 15
3) Evaluarea erorii de aproximare
a) Metoda Jacobi
Evaluăm
( )( ) ( ) (
x (k ) − x (k − 1) = x (k ) − x* − x (k − 1) − x* = x (k ) − x* − G j x (k ) − x* = )
( )(
= I n − G j x (k ) − x* ) (2.36)
Conform teoremei 2.1.2, (I n − G j ) GL(n) şi (I n − G j )−1
1
. Deci,
1n − G j
x (k ) − x* x (k ) − x (k + 1) , () k 0
1
(2.37)
1− Gj
( )
Din (2.36), rezultă că x (k ) − x* = (I n − G j )−1 G kj x (0 ) − x (1) şi de aici,
k
Gj
x (k ) − x* x (0 ) − x (1) (2.38)
1− Gj
unde este norma matriceală din teorema 2.1.2, pentru care are loc (iii) şi , în
R n este norma vectorială corespunzătoare.
(2.37) reprezintă o evaluare à posteriori, iar (2.38) à priori a erorii de aproximare.
Pentru a obţine evaluările erorilor de aproximare pentru metoda Gauss-
Seidel şi (SOR), se procedează analog.
16
Algoritmul Jacobi:
1. Se dau matricele A R nn , b R n1 şi eroarea .
n n aij
2. Se calculează = G j = max (unde G j = D 1 (L + U ) .
i = 1 j = 1 aii
j i
17
Algoritmul Gauss-Seidel:
1. Se dau matricele A R nn , b R n1 şi eroarea .
n n
a sj s − 1 a sj
2. Se calculează = max / 1 − .
s = 1 j = s + 1 a ss a ss
j =1
Se alege o aproximaţie iniţială x (0 ) .
3. Fie k = 1 .
bi − aij x (jk ) −
n n
(k −1)
ij
a k
4. Pentru i = 1,n , se calculează: xi(k + 1) = j =1 j =i +1
.
aii
k x (1) − x (0 )
5. Dacă , se trece la 7.
1−
6. Se adună 1 la k şi se trece la 4.
Procedura este completă. Soluţia sistemului Ax = b este x (k ) .
Analiză numerică 18
Algoritmul suprarelaxării:
1. Se dau matricele A R nn , b R n1 , eroarea şi parametrul de relaxare w .
−1
1− w
2. Se calculează = GRS , unde G RS = D − L
1
D +U .
w w
Se alege o aproximaţie iniţială x (0 ) .
3. Fie k = 1 .
4. Pentru i = 1,n , se calculează:
i −1
wbi − w aij x (jk ) + (1 − w)xi(k ) − w
n
aij k (k )
xi(k + 1) =
j =1 j =i +1
.
aii
k x (1) − x (0 )
5. Dacă , se trece la 7.
1−
6. Se adună 1 la k şi se trece la 4.
Procedura este completă. Soluţia aproximativă a sistemului Ax = b este x (k ) .
19
3.2.3. Metode de relaxare şi de gradient
Rezolvarea unui sistem de ecuaţii liniare printr-o metodă iterativă poate fi
echivalentă cu problema minimizării unei forme pătratice.
În metodele de relaxare, se porneşte cu o aproximaţie iniţială a soluţiei, x (0 ) ,
căreia îi corespunde vectorul reziduu
r (0 ) = Ax (0 ) − b (2.39)
x (0 ) este modificat sistematic a.i. în cele din urmă, r (0 ) să se anuleze.
20
Propoziţia 2.3.1.:
Dacă A R nn este simetrică şi pozitiv–definită, iar x* este soluţia exactă a
sistemului de ecuaţii liniare Ax = b , atunci x* este punct de minim pentru forma
pătratică asociată, J , şi reciproc.
Demonstraţie:
“ ” Fie x* , soluţie exactă a sistemului de ecuaţii liniare Ax = b . Considerăm
următoarea formă pătratică:
E : R n → R , E (x ) =
1
2
( )( )
A x − x* , x − x* (2.41)
21
Fie v , o aproximaţie a soluţiei exacte. Considerăm o dreaptă d , ce trece prin v şi
este paralelă cu o direcţie dată p , numită direcţie de relaxare, i.e. d = v + cp c R.
Scopul: modificarea lui v de-a lungul direcţiei p a.i. valoarea J (v ) să scadă i.e.
determinarea v0 d a.i.
J (v0 ) = min J (v) (2.42)
v d
22
Metodele de relaxare diferă prin modul de alegere a direcţiei de relaxare.
Spre exemplu, metoda de relaxare cu paşi separaţi (Southwell): la fiecare pas se
n
modifică numai componenta cea mai mare a reziduului rk = max ri , ceea ce
i =1
corespunde cu alegerea ca direcţie de relaxare a vectorului unitate ek . Atunci:
k r , ek r
cmin =− =− k (2.46)
Aek ,ek akk
vi , ik
r
Obţinem: v = v + cmin
k
ek = v − k ek = rk (2.47)
a kk k a ,i=k
v −
kk
De asemenea,
rk
rk i
r − aik , i k
r = Av − b = r − Aek = a kk (2.48)
a kk 0,
i=k
Convergenţa acestei metode este lentă, ea fiind satisfăcătoare doar în cazul
în care matricea sistemului este predominant dominantă.
23
Metoda Gauss-Seidel poate fi considerată ca metodă de relaxare, în care
direcţiile de relaxare, se aleg succesiv e1 ,e2 ,...,en , în mod ciclic: p (k ) = ei , i = k (mod
n).
Metoda suprarelaxării foloseşte aceleaşi direcţii de relaxare ca mai sus,
înlocuind pe fiecare direcţie pe cmin cu wcmin .
Metodele de relaxare impun ca singură restricţie privind alegerea direcţiei
de relaxare p , ca aceasta să nu fie ortogonala vectorului reziduu, r i.e r , p 0 .
În metodele de gradient, legătura între cei doi vectori este mult mai strânsă.
24
1. Metoda celei mai rapide coborâri
Se alege ca direcţie de relaxare, opusul reziduului de la iteraţia anterioară
i.e.:
p (k ) = −r (k − 1) (2.49)
Ax , x
unde R(x ) = , x 0.
x, x
2. Metoda gradientului conjugat
Fie x (0 ) , aproximaţie iniţială a soluţiei exacte x* . Considerăm:
p (1) = −r (0 ) (2.51)
Atunci:
(1) r (0 ) , p (1) r (0 ) , r (0 )
cmin = – = (2.52)
Ap , p Ar (0 ) , r (0 )
(1) (1)
26
Formulele (2.54)-(2.59) se pot simplifica (ca scriere) dacă facem următoarele
observaţii:
r (k ) ,r (k −1) = 0 (2.60)
r (k ) , p (k −1) = 0 (2.61)
r (k ) , p (k ) = 0 (2.62)
ce se obţin prin calcul direct. Avem astfel:
(k − 1) , r (k − 1)
(k ) = r
cmin (2.63)
Ap (k ) , p (k )
r (k −1) , r (k −1)
d k −1 = , k2 (2.64)
r (k − 2 ) (k − 2 )
,r
27
3. Metoda direcţiilor conjugate
Această metodă constă în determinarea soluţiei sistemului, x* , utilizând o
descompunere liniară a acesteia după o bază de vectori A -ortogonali din R n i.e.
n
*
x = ck pk (2.65)
k =1
unde p1 ,.., pn satisfac:
Ap i , p j = pi , Ap j = ij , () i, j = 1, n (2.66)
iar conform (2.66),
b, pk
ck = , () k (2.67)
Apk , pk
n
(căci Ax , pk = b , pk c j Ap j , pk = b , pk .
*
j =1
(2.65)
n b , pk
*
x = Ap , p pk (2.68)
k =1 k k
28
Deci, problema este rezolvată dacă vom determina p1 ,...,pn o bază de vectori A -
ortogonali. În acest scop, vom utiliza o metodă de ortogonalizare de tip Gram-
Schmidt. Pentru aceasta, considerăm v1 ,...,vn , un sistem de vectori liniari
independenţi.
n −1
Fie p1 = v1 , p2 = v2 + c21 p1 ,..., pn = vn + cnk pk (2.69)
k =1
Determinăm ckj , k, j = 1, n , j k a.i.
Apk , p j = pk , Ap j = 0 (2.70)
Atunci, obţinem din (2.69) şi (2.70),
Avk , p j
ckj = − , k, j = 1, n , j k (2.71)
Ap j , p j
29
Algoritmul Southwell:
1. Se dau matricele A R nn , simetrică şi pozitiv-definită, b R n1 şi eroarea .
2. Se alege o aproximaţie iniţială x (0 ) .
Se calculează reziduul r (0 ) = Ax (0 ) − b .
3. Fie k = 1 .
n
4. Se alege rk = max ri(k − 1) .
i =1
(k ) = − rk .
5. Se calculează cmin
akk
x (k − 1) , i k
(k)
i
6. Se calculează pentru i = 1,n , xi = (k − 1) rk .
xi − ,i=k
a kk
8. Se calculează: p (k ) = − r (k − 1) + d k − 1 p (k − 1)
(k) (
r (k − 1) , p (k ) )
9. Se calculează: cmin = − (k )
p , Ap( (k)
.
)
(k)
10. Se calculează: x = x (k − 1)
−c
k
p (k ) .
min
(k)
11. Se calculează: r = r (k − 1)
− cmin Ap (k ) .
k