Documente Academic
Documente Profesional
Documente Cultură
FACULTATEA DE MATEMATICA
REZOLVAREA NUMERICĂ
A SISTEMELOR DE
ECUAȚII LINIARE
FOLOSIND METODE
ITERATIVE
Aspecte teoretice
Rezolvarea sistemelor cu un mare număr de ecuații liniare reprezintă unul din domeniile în
care calculatoarele numerice ș-au dovedit din plin eficienta. Problema rezolvării sistemelor de
ecuații liniare este foarte des întâlnită în simularea numerică. Enumerăm câteva situații:
interpolare cu funcții spline cubice, rezolvarea sistemelor de ecuații neliniare cu ajutorul
metodelor iterative care au la bază liniarizarea ecuațiilor, discretizarea ecuațiilor diferențiale
ordinare cu condiții la limită, discretizarea ecuațiilor cu derivate parțiale. ˆIn mod
corespunzător, a trebuit să fie puse la punct procedee numerice adecvate, atât pentru
reducerea numărului mare de operații, cât ¸si pentru reducerea erorilor de calcul care cresc cu
dimensiunile sistemului de ecuații. În cazul general, problema care trebuie rezolvată poate fi
scrisă sub forma Xn j=1 ai,jxj = bi , i ∈ 1, unde ai,j ∈ R sunt coeficient¸i, xj , j ∈ 1, n sunt
necunoscutele sistemului, iar bi sunt termenii liberi. Vom distinge trei situatii:
(a) Pentru m < n sistemul este subdeterminat, avem mai puține ecuații decăt necunoscute. În
general, vor trebui aleși n−m parametrii pentru a obține o soluție.
(b) Pentru m = n ¸si det A = 0 sistemul este compatibil determinat. Sistemul are o soluție
unică. Este cazul cel mai des întâlnit. Pentru m = n ¸si det A = 0 sistemul poate fi compatibil
nedeterminat, cu o infinitate de soluții posibile, sau incompatibil, cu nici o soluție.
(c) Pentru m > n sistemul este supradeterminat, caz în care se caută o soluție care să verifice
“cel mai bine” ecuațiile în sensul minimizării reziduului R = Pn i=1(bi − Pn j=1 ai,jxj ) . Nu
trebuie uitat că, la reprezentarea numerelor în calculator nu putem reține decât un număr finit
de cifre, iar erorile de rotunjire se propagă după reguli. Se poate ajunge în situația ca din
cauza acestor erori, determinantul să devină egal cu zero sau să aibă o valoare foarte mică în
modul. Complexitatea implementărilor prezente în bibliotecile matematice se datorează în
mare parte tehnicilor de evitare a acestei situații, dar totodată și eforturilor de minimizare a
memoriei utilizate și a timpului de calcul.
Metodele de rezolvare a sistemelor de ecuații liniare sunt de dou˘a tipuri:
a) metode directe (sau metode de eliminare sau metode exacte), în care soluția este obținută
în urma unui număr de operatii dinainte cunoscut;
(b) metode iterative, care se bazează pe folosirea unei aproximatii initiale ce se îmbunătățește
de la o etapă la alta.
X k +1 = F (X k ), k = 0, 1,
În ceea ce priveşte convergenţa metodei, se poate demonstra că aceasta este garantată numai
dacă matricea coeficienţilor A este diagonal dominantă. Aproximaţia iniţială X0 nu joacă un
rol determinant în convergenţă, aceasta afectând numai numărul de iteraţii. Metodele de
eliminare comportă un număr de operațiii care crește la sistemele mari, cu cubul numărului
de ecuații din system. Operații suplimentare sunt cerute de căutarea pivoților, în vederea
reducerii erorilor de rotunjire. Metodele iterative pot conduce la un număr mai mic de
operații pe iterație. Dacă procedeul iterativ este suficient de rapid convergent se poate obține
o economie importantă de timp de calcul. În plus, metodele iterative permit mentinerea
structurii inițiale a unei matrice rare, rezultând un consum redus de memorie. Principiul
general al metodelor iterative poate fi prezentat prin analogie cu metoda iterației simple de
rezolvare a ecuației F(x) = 0, în care ecuația originală este transcrisă ca x = f(x), ce conduce
la procedeul iterativ xk+1 = f(xk). În cazul sistemelor liniare, Ax = b vom forța o
descompunere a matricei A A = A + B − B și vom scrie forma echivalentă a sistemului liniar
inițial Bx = c ≡ (B − A)x + b . Analog iterației simple, vom considera relatția ca o procedură
de obtinere a unei aproximații îmbunătățite a soluției sistemului x (k+1), dată fiind o
aproximație inițială x (k) , Bx(k+1) = (B − A)x (k) + b . Descompunerea se alege astfel încât:
1. șirul aproximațiilor {x (k)}k∈N să fie cât mai rapid convergent către solutia sistemului
Ax = b;
2. sistemul Bx = c să fie ușor de rezolvat.
Metode de soluționare iterative
1. Metoda Jacobi
n
xi k +1
= (bi − ∑aij ⋅ xkj ) / aii , i = 1,..., n , k ≥ 0 (3)
a
ii > ∑ aij (4)
j=1
j≠i
Dacă matricea A este dominant diagonală, aproximaţia iniţială poate fi aleasă oricum,
iar metoda va converge. Însă, atunci când nu se cunosc informaţii privind localizarea
soluţiei se poate considera aproximaţia iniţială identică cu termenii liberi.
Condiţia de convergenţă impusă procesului iterativ se referă la abaterea maximă între
două iteraţii succesive care trebuie să fie se fie sub o valoare prag Emax, impusă de
utilizator. Abaterea maximă se defineşte ca cea mai mare abatere, în valoare absolută,
între necunoscute în două iteraţii succesive:
2. Metoda Seidel-Gauss
a a
b i−1
ij
n
ij
xik +1 = i
−∑ xj−∑
k
xkj
a = a =+ a
ii j1 ii ji1 ii
1 k +1 k
+ 1− (xi − xi ) i = 1,
α
În acest caz, noua aproximaţie se determină în funcţie de aproximaţia calculată cu relația
(6) căreia i se aplică o corecţie depedentă de factorul de accelerare:
a a
* b i−1 ij n ij
((
(xik +1 ) = i
− xkj −∑ xkj
a ∑
= a =+ a
ii j1 ii j i 1 ii
k +1 k +1 * 1 k +1 k
xi = (xi ) +1 − α (xi − xi ) i = 1, , n
Utilizarea unui factor de accelerare care nu a fost bine ales poate transforma un proces care
îndeplineşte condiţia de convergenţă într-unul divergent. Valoarea acestui factor este dependent
de problemă şi se recomandă, ca atunci când se foloseşte metoda Seidel-Gauss modificată, acesta
să se aleagă cu prudenţă între anumite valori. În general se recomandă utilizarea unor valori
cuprinse în intervalul (0, 2).
Exemple numerice
Exemplul 1
Rezolvare
Se alege aproximaţia iniţială, X0 = [0; 0; 0; 0], abaterea maximă între două iteraţii,
Emax = 0,0001 şi numărul maxim de iteraţii, Nmax=100, formula iterativă (3) devine:
x4 = (2 − 2x2 − 2x3 ) / 5
Iteraţia 1
x1 = (−2 − 6 x0 + 2 x 0) / 8 = −2 / 8 = −0,25
x2 = (−8 − 6 x 0 + 2 x 0 − 2 x0) /10 = − 8 10 = −0,8
x3 = (16 + 2 x0 + 2x 0) / 5 = 16 5 = 3,2
x4 = (2 – 2x 0 – 2x 0) / 5 = 2 5 = 0,4
………………………………………………………………………………………………
Iteraţia 48
Exemplul 2
Se consideră sistemul format din 4 ecuaţii liniare definit în cadrul exemplului 1. Se cere
determinarea soluţiei acestui sistem folosind metoda iterativă Seidel-Gauss.
Rezolvare
Se alege aproximaţia iniţială, X0=[0; 0; 0; 0], abaterea maximă între două iteraţii,
Emax = 0,0001 şi numărul maxim de iteraţii, Nmax = 100, formula iterativă (6) devine:
x4 = (2 − 2x2 − 2x3 ) / 5
Iteraţia 1
x1 = (−2 − 6 x0 + 2x 0) / 8 = −2 / 8 = −0,25
x2 = (−8 − 6 x (−0,25) + 2 x 0 − 2 x 0) /10 = − 6.5 10 = −0,65
x3 = (16 + 2 x (−0,25) + 2 x 0) / 5 = 15,5 5 = 3,1
x4 = (2 − 2 x (−0,65) − 2 x 3,1) / 5 = − 2,9 5 = −0,58
----------------------------------------------------------------------------------------------------------------
Iteraţia 11
x1 = (−2 − 6 x (−0,6272) + 2 x 3,3477) / 8 = 8,4586 / 8 = 1,0574
x2 = (−8 − 6 x1,0574 + 2 x 3,3477 − 2 x (−0,6882)) /10 = − 6,2726 10 = −0,6272
x3 = (16 + 2 x1,0574 + 2 x (−0,6882)) / 5 = 16,7348 5 = 3,3477
x4 = (2 − 2 x (−0,6272) − 2 x 3,3477) / 5 = − 3,441 5 = −0,6882
Exemplul 3
Se consideră sistemul format din 4 ecuaţii liniare definit în cadrul exemplului 1. Se cere
determinarea soluţiei acestui sistem folosind metoda iterativă Seidel-Gauss modificată.
Rezolvare
Dacă se alege aproximaţia iniţială X0=[0; 0; 0; 0], abaterea maximă între două iteraţii
Emax = 0,0001, numărul maxim de iteraţii Nmax = 100, coeficientul de accelerare
ω= 1,15, formula iterativă devine:
Iteraţia 1
x
4 = x4 + ω ⋅ (x4 − x4 )= −0,6882 + 1,15 ⋅ (−0,6882 + 0,6882) = −0,6882
CONCLUZII
Spre deosebire de metodele directe,soluţia folosind metodele iterative se obţine printr-o serie
(proces) de aproximaţii succesive, fiecare secvenţă de operaţii aritmetice elementare (mai
mic decât la metodele directe) este parcursă de mai multe ori, obținându-se aproximaţii din
ce în ce mai bune ale soluţiei până la atingerea unei precizii fixate dinainte (precizie dorită).
Aceste metode permit obţinerea soluţiei numerice a unui sistem de ecuaţii prin generarea
unui şir care tinde la soluţia exactă.Practic se poate efectua numai un număr finit de
iteraţii, erorile de rotunjire sunt însoţite în cazul metodelor iterative şi de erori de
trunchiere.Ca avantaj al metodelor iterative putem enumera simplitatea şi eficienţa
implementării lor în programe, în cazurile în care nu sunt rezolvabile prin metode
directe.Aceste metode au și dezavantaje pentru faptul că nu se poate stabili de la început
numărul de pași necesari rezolvării.Astfel sunt costisitoare,mai ales în ceea ce privește timpul
de calcul.Se folosesc în general pentru sisteme de dimensiuni mari și sunt de asemenea
potrivite rezolvării sistemelor ce prezintă mulți coeficienți nuli.