Sunteți pe pagina 1din 12

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.

ro/~ccosmin)

SISTEME DE ECUATII LINIARE

1. Introducere Metodele de rezolvare a sistemelor de ecuatii liniare de forma (1) se grupeaza in general in doua categorii: metode directe, bazate pe procedee de eliminare si metode indirecte (iterative).
a11 a 21 ... a n1 a12 a 22 ... an 2 ... a1n x1 b1 ... a 2 n x b 2 = 2 ... ... ... ... ... a nn xn bn
AX = B

(1)

(1')

Proprietatile pe care le ofera liniaritatea unei functii sau ecuatii sunt utilizate ca elemente de baza pentru metodele de rezolvare bazate pe procedee de eliminare a necunoscutelor. Ecuatiile sistemului initial se pot multiplica prin constante si se combina cu ajutorul operatiilor suplimentare obtinindu-se in final forme simplificate ale sistemului considerat. La alegerea unei metode de calcul, pentru rezolvarea unei anumite probleme pe un sistem de calcul dat, trebuie avute in vedere o serie de criterii cum ar fi: numarul secventelor de calcul, precizia rezultatelor, posibilitatea introducerii unor teste de precizie, secventiale, pe parcursul desfasurarii algoritmului. In cadrul metodelor directe, care se considera a fi metode exacte, s-au impus metodele care au la baza algoritmul de eliminare Gauss, cu variantele Gauss-Jordan, Doolitle, Crout si Cholesky. Metodele exacte permit obtinerea solutiei exacte a sistemului de ecuatii facind abstractie de erorile de tip round-off ale sistemului de calcul, de erorile de rotunjire si trunchiere folosind un numar finit de operatii elementare. In cadrul metodelor iterative s-au impus metodele Jacobi, Gauss-Seidl, metoda relaxarilor succesive si metoda Lanczos. Metodele iterative se caracterizeaza prin faptul ca solutia sistemului considerat se obtine ca limita a unui sir de valori ce reprezinta solutii pentru diverse iteratii succesive. In cadrul acestor metode, se pune problema de a alege acea metoda, care asigura cea mai mare viteza de convergenta a solutiilor pentru o aproximare initiala adecvat aleasa. Dintre metodele numerice directe, utilizate la rezolvarea sistemului de ecuatii algebrice neomogene se vor prezenta: metoda eliminarii directe Gauss, metoda factorizarii LU si metoda Cholesky.

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

2. Proceduri numerice de rezolvare a sistemelor de ecuatii liniare Dintre metodele numerice directe, utilizate la rezolvarea sistemului de ecuatii algebrice neomogene se vor prezenta: metoda eliminarii directe Gauss, metoda factorizarii LU si metoda Cholesky, iar ca si metoda indirecta (iterativa) de rezolvare a sistemelor de ecuatii liniare va fi prezentata metoda Jacobi. 2.1. Metoda eliminarii Gauss In prima etapa numita triangularizare (substitutia inainte) se elimina succesiv in n-1 pasi necunoscutele xi, i=1,2,...n-1 din ecuatiile sistemului ceea ce are ca rezultat eliminarea elementelor situate sub diagonala principala a metricei A si transformarea acestora intr-o matrice superior triunghiulara. In pasul 1 se obtine: a11 0 ... 0 sau cu notatiile a12 a a22 21 a12 a11 ... a a n 2 n1 a12 a11 a1n b1 x 1 a a ... a 2 n 21 a1n x b2 21 b1 a11 a11 2 = ... ... ... ... a n1 an1 a1n xn bn ... a nn b1 a11 a11 ...

(2)

(1) 1 aij = aij ai1 a11 a1 j , i = 2,3,...n; j = j = 1,2,...n


1 bi(1) = bi ai1 a11 b1

(3)

rezulta: a11 0 ... 0 a12 ... a1n x1 b1 (1) (1) (1) a22 ... a2 b n x2 = 2 ... ... ... ... ... (1) (1) (1) an ... ann bn 2 xn

(4)

In pasul i-1 al eliminarii sistemul de ecuatii devine: a11 a12 ... a1i ... a1n x1 b1 0 a (1) ... a (1) ... a (1) x b (1) 22 2i 2n 2 2 ... ... ... ... ... ... ... ... (i 1) (i 1) = (i 1) a a 0 0 ... ... ii in xi bi ... ... ... ... ... ... ... ... (i 1) (i 1) (i 1) 0 ... a ni ... a nn 0 xn bn sau in forma restrinsa: A (i 1) [X] = B (i 1)

(5)

(6)

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

In pasul l se obtine cu
(l ) (l 1) aij = aij

[A ( ) ] [X] = [B ( ) ]
l l

(7)

(l 1) ail (l 1) (l 1) (l 1) , i, j = l + 1,..., n = aij mi(l 1) alj (l 1) alj all

bi = bi

(l )

(l 1)

(l 1) ail (l 1) bl(l 1) = bi(l 1) mi(l 1)bl(l 1) all

(8)

In final dupa consumarea pasului n-1, sistemul este complet triangularizat: a11 a12 a13 ... a1n x1 b1 (1) (1) (1) (1) ... a 2 a 22 a 23 b n x2 2 (2 ) (2 ) a33 ... a3n x3 = b3( 2 ) ... ... ... ... ( n 1) ( n 1) ann xn bn sau utilizind o scriere simbolica:

(9)

[0 \ S] [X] = [B ' ]

(10)

Observatie In procesul de calcul automat, matricele succesive A (l ) se construiesc in spatiul de memorie initial alolcat pentru matricea [A ] . Procedeul se prezinta algoritmat in forma urmatoare:

[ ]

l = 1,2,..., n 1 i = l + 1,..., n a mi = il all bi = bi mi bl j = l + 1,..., n aij = aij mi alj

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

Pentru determinarea solutiei sistemului (1) are loc un proces de eliminare inversa (substitutia inapoi) care poate fi descris astfel:

xn =

( n 1) bn ( n 1) ann (n 2 ) (n 2 ) an 1,n xn (n 2 ) an 1,n 1

xn1 = bn1 ... xi = bi


(i 1)

(11)
1) ai(,ii +1 xi +1

ai ,n xn ...

(i 1)

(i 1) aii

, i = n 2, n 3,...,1

respectiv in forma algoritmica:


1 xn = ann bn

i = n 1, n 2,...,1 xi = a bi
1 ii

a x ij j j = i +1
n

in care aij sunt elemente ale matricii triunghiulare S iar bi elementele matricii B'. In concluzie, in urma aplicarii unei eliminari Gauss dupa n-1 etape de calcul se obtine o matrice S superior triunghiulara, asociata sistemului (1) cu conditia ca matricea A sa fie nesingulara, iar elementele transformate de pe diagonala principala sa rezulte nenule in (l ) fiecare pas al eliminarii: aii 0 , i=1,2,...,n; l=1,2,...,n-1. Valoarea determinantului matricii A este dat de produsul elementelor de pe diagonala principala a matricii S: (1) (2 ) ( n 1) det (A ) = det (S ) = a11 a 22 a33 ... a nn (12)

2.2. Descompunerea LU
O modificare a metodei eliminarii, numita descompunerea sau factorizarea LU este frecvent utilizata. In aceasta metoda, matricea coeficientilor A este tranformata intr-un produs de doua matrici L si U unde L este matricea inferior triunghiulara si U este matricea superior triunghiulara avind elemente egale cu 1 pe diagonala principala. Orice matrice poate fi scrisa ca produsul unei matrici a permutarilor P a unei matrice inferior triunghiulara L si a uneia superior triunghiulara U, intr-o infinitate de moduri. Din intreaga gama de posibilitati vom alege varianta in care U are 1 pe diagonala.In continuare va fi exemplificata aplicarea metodei in cazul unei matrici de dimensiuni 4x4.

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

Fie urmatoarea descompunere a matricii A in produsul a doua matrice L si U:


l11 0 l l 21 22 l31 l32 l 41 l 42
0 0 l33 l 43 0 1 u12 0 0 1 0 0 0 l 44 0 0 u13 u 23 1 0 u14 a11 a u 24 = 21 u 34 a31 1 a 41 a12 a22 a32 a42 a13 a 23 a33 a 43 a14 a 24 a34 a 44

(13)

Inmultind liniile lui L cu prima coloana a lui U: l11 = a11 ; l 21 = a 21 ; l31 = a31 ; l 41 = a 41 Inmultind prima linie a lui L cu coloanele a lui U: l11 u12 = a12 ; l11 u13 = a13 ; l11 u14 = a14 ; de unde a a a u12 = 12 ; u13 = 13 ; u14 = 14 l11 l11 l11

(14) (15)

(16)

In aceasta metoda se alterneaza gasirea unei coloane a lui L si a unei linii a lui U, astfel ca urmeaza gasirea urmatoarei coloane a lui L, prin inmultirea liniilor lui L cu cu coloana a doua a lui U: l 21 u12 + l 22 = a22 ; l31 u12 + l32 = a32 ; l 41 u12 + l 42 = a42 (17) l 22 , l32 , l 42
Procedind analog obtinem in continuare: a l u a l u u 23 = 23 21 13 ; u 24 = 24 21 14 l 22 l 22 l33 = a33 l31u13 l32 u 23 ; l 43 = a43 l 41u13 l 42 u 23 a l u l u u34 = 34 31 14 32 24 l33 l 44 = a44 l 41u14 l 42u 24 l 43u34 Formulele generale pentru obtinerea elementelor matricelor L si U sunt: lij = aij lik u kj ; j i, i = 1,2,..., n
k =1 j 1

(18)

uij =

aij lik u kj
k =1

i 1

(19) , i > j , j = 2,3,..., n ai1 a1 j = l11 a11 (20)

lii

Pentru j=1, li1 = ai1 si pentru. i=1, u1 j =

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

Observatie: Stocarea matricii Deoarece matricele L si U pot fi stocate in zona rezervata matricei A aceasta metoda este cunoscuta si sub denumirea de schema compacta:
a11 a 21 A= ... a n1
a12 a 22 ... an 2 ... a1n l11 u12 ... a 2 n l 21 l 22 ... ... ... ... ... a nn l n1 l n 2 ... u1n ... u 2 n ... ... ... l nn

(21)

Rezolvarea sistemului de ecuatii

[][X] = [B] dupa factorizare [L][U][X] = [B] Notam [U ][X] = [B']


Atunci avem: [L][B'] = [B] [B'] prin substitutie inainte dupa care cu B' cunoscut, prin substitutie inapoi obtinem [U ][X] = [B'] [X] Un avantaj special al metodei factorizarii LU este posibilitatea rezolvarii sistemului cu mai multe coloane de termeni liberi cu o mare economie de efort de calcul. De retinut ca spre deosebire de cazul clasic al eliminarii Gauss, in care termenii liberi trebuiau cunoscuti in avans, in aceasta metoda nu este necesar sa cunoastem acesti vectori in momentul reducerii la forma LU. Numarul operatiilor aritmetice necesare aflarii solutiei pentru fiecare nou termen liber, este exact numarul operatiilor necesar efectuarii inmultirii dintre o matrice nxn cu un vector de n dimensiuni. 2.3 Factorizarea Cholesky In cazul matricelor simetrice (A=AT) si pozitiv definite ( XT AX > 0 , pentru orice vector X nenul) una dintre cele mai eficiente metode de rezolvare a sistemelor liniare este factorizarea Cholesky. Metoda consta in descompunerea matricei A in L si LT astfel incit A=LLT unde L este matrice inferior triunghiulara. Aceasta descompunere se poate face pentru orice matrice A simetrica si pozitiv definita: A = L LT
l11 l l 21 22 ... ... L= li1 li 2 ... ... ln1 ... elemente nule lii ... ... lni ... l nn

(22)

... ... ... ...

(23)

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

Elementele matricei L se obtin in functie de cele ale matricei A prin identificarea termen cu termen a rezolvarii produsului matrceal (22). Se obtin urmatoarele relatii de recurenta: a l11 = a11 ; li1 = i1 l11
2 lii = aii lii ; 1< i = j
l =1 j 1 1 lij = a l jj , i > j > 1, lij = 0, i < j ij lli llj l =1 i 1

(24)

( )

Relatia (24) arata ca termenii de pe diagonala principala rezulta sub forma radacinii patrate din diferenta dintre elementele diagonalei respective aii si suma patratelor tuturor elementelor de pe aceeasi coloane calculate anterior. Termenii secundari se calculeaza ca diferente intre elementele respective aij al matricei A si suma unor produse de cite doi factori, reprezentind elementele coloanelor i si j, totul impartit la termenul corespunzator de pe diagonala principala lii. Rezolvarea sistemului de ecuatii: (25) Cu notatia [L ][X] = [B'] procedura de rezolvare in doua etape se aplica dupa cum urmeaza: Substitutia inainte: [L][B'] = [B] [B']
1 ) b1' = b1 (l11 i 1 1 ' lii , i = 2,3,..., n bi' = b l b i ji j j =1 Substitutia inapoi [L][X] = [B'] [X]

[L ][L][X] = [B] ;
T

(26)

(27)

(28)

xn =

' bn 1 l nn

i = n 1, n 2,...,1
n ' 1 xi = bi lij x j lii j = i +1

(29)

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

Observatie: Remarcabil este faptul ca in factorizarea Cholesky vectorul B nu este afectat si in consecinta matricea L o data obtinuta poate fi utilizata si pentru alte situatii, vectori liberi diferiti.

2.4 Metoda iterativa Jacobi de rezolvare a sistemelor de ecuatii liniare


In principiu metodele iterative constau in considerarea unei valori initiale X (0 ) pentru vectorul solutie X si apoi prin aplicarea unui algoritm de calcul iterativ se determina un sir de aproximatii succesive X (1) , X ( 2 ) , ..., X ( k ) care in principiu trebuie sa convearga catre solutia exacta a sistemului. Fie sistemul de ecuatii: AX=b:
a11 x1 + a12 x2 + a13 x3 + ... + a1n xn = b1 a x + a x + a x + ... + a x = b 22 2 23 3 2n n 2 21 1 ... ai1 x1 + ai 2 x2 + ai 3 x3 + ... + ain xn = bi ... an1 x1 + an 2 x2 + an 3 x3 + ... + ann xn = bn Explicitind din fiecare relatie a sistemului (30) pe xi i=1,2,...,n obtinem urmatorul relatii: a13 a1n b1 a12 x1 = a a x2 a x3 ... a xn 11 11 11 11 a a b2 a21 x1 23 x3 ... 2 n xn x2 = a22 a22 a22 a22 ... bn an1 an 2 ann1 xn = a a x1 a x2 ... a xn1 nn nn nn nn si care poate fi rescris in forma matriceala astfel: m12 m13 ... m1n x1 ... x1 g1 0 x g m m23 ... m2 n 0 ... 21 x2 2 2 ... ... ... ... ... ... ... ... ... = + min xi 0... xi g i mi1 mi 2 mi 3 ... ... ... ... ... ... ... ... ... ... 0 mn1 mn 2 mn 3 ... mn,n1 xn gn xn
unde g i = aij bi ; mij = . aii aii

(30)

set de

(31)

(32)

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

Calculele se pot conduce matriceal considerind relatia (32) scrisa sub forma condensata:
X = g + MX (33) gasind simultan la fiecare iteratie aproximatiile tuturor necunoscutelor. Considerind vectorul de pornire:

(X ( ) ) = (x ( )
0 T 0 1

(0 ) (0 ) ) x2 ... xi(0 ) ... xn

(34) (35)

dupa prima iteratie gasim: apoi:

X (1) = g + MX (0 )
X ( 2 ) = g + MX (1) ....

(36)

X ( m+1) = g + MX ( m ) Relatiile (36) se mai pot scrie astfel: X (1) = g + MX (0 )

X ( m+1) = (I + M + M 2 + ... + M m )g + M m+1 X (0 ) Cum procesul iterativ, daca e convergent, nu trebuie sa depinda de vectorul de pornire X(0), va rezulta ca: m +1 (38) lim M = 0
n

X (3 ) = g + MX ( 2 ) = g + M ((I + M )g + M 2 X (0 ) ) = (I + M + M 2 )g + M 3 X (0 ) ...

X ( 2 ) = g + MX (1) = g + M (g + MX (0 ) ) = (I + M )g + M 2 X (0 )

(37)

adica matricea M trebuie sa fie convergenta, sa ca M < 1 . Folosind pentru norma, norma linie rezulta ca putem scrie: n n a 1 n ij < 1; (39) mij < 1; aij < aii aii j =1 j =1 j =1 aii
j i j i j i

din ultima inegalitate deducindu-se ca, pentru ca metoda Jacobi sa fie convergenta, trebuie ca matricea A a sistemului sa fie diagonal dominanta. Procesul de iterare este continuat in baza relatiilor (37) pina la incadrarea in precizia dorita: X ( k +1) X ( k ) < (40) X ( k +1) numarul de iteratii fiind influentat de calitatea aproximatiei initiale X(0) si de modul in care este conditionata matricea A a coeficientilor sistemului.

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

3. Conditionarea sistemelor de ecuatii liniare


Sistemele de de ecuatii liniare pot fi bine conditionate (cu solutie stabila) si rau conditionate (cu solutie instabila). Stabilitatea solutiei se judeca in raport cu mici perturbatii ale vectorului liber. Daca la modificari nesemnificative ale termenului liber, solutia sistemului se modifica in aceeasi masura, atunci sistemul este bine conditionat, avind solutie stabila; daca solutia se modifica esential, sistemul este rau condtionat si are solutie instabila. Un sistem este rau conditionat pentru o operatie determinata, efectuata printr-o metoda determinata, atunci cind aceasta sensibilitate este mare. Aceasta definitie introduce distinctia intre doua tipuri de de conditionare: un sistem poate fi rau conditionat pentru o metoda particulara sau rau conditionat pentru o operatie particulara, oricare ar fi metoda folosita. Sa consideram sistemul:
AX = b (41) Fie b' = b + r si X' = X + e unde r reprezinta vectorul care produce perturbarea iar e este vectorul perturbarii solutiei. Avem: AX = b (42) A X' = b ' care mai poate fi rescris: A(X' X ) = b' b (43) sau Ae = r (44)

X = A 1 b; X A 1 b ; b A X e = A 1 r; e A 1 r ; r A e
sau:

(45)

b e A A 1 X r X r A A 1 b e
Din (46) rezulta
be A A 1 Xr be 1 Xr A A 1

(46)

(47)

sautinind cont ca A A 1 = cond(A ) numit numarul de conditie a matricii A obtinem: r e r 1 cond( A) cond( A) b X b (48)

10

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

Relatia (48) poate furniza informatii asupra stabilitatii sistemelor de ecuatii liniare. Astfel daca matricea A a sistemului are numarul de conditie cond(A)1 atunci modificarea e este de acelasi ordin de marime ca si modificarea in termenul solutiei exprimata prin X liber definit de r . Altfel spus daca mici modificari se produc in termenul liber, solutia b se modifica si ea in aceeasi masura. Sistemele cu matricea coeficientilor A avind numarul de conditie cond(A) mic sunt sisteme bine conditionate, stabile in solutie.

Exemplu numeric

Fie sistemul de ecuatii:


1.57 x 3.42 y = 2.35 (49) 1.60 x 3.40 y = 2.40 ale carei solutii x=1.64, y=0.060 au fost obtinute efectuindu-se calculele cu trei cifre semnificative. Sistemul este slab conditionat deoarece modificari neinsemnate ale coeficientilor produc variatii mari ale solutiilor. Afirmatia este ilustrata grafic in Fig. 1.
16 14 12 10 8

6 4 2 0 0 -2 5 10 15 20

1.57x-3.42y=2.35 1.6x-3.40y=2.40

25

30

35

Fig. 1 O imbunatatire a conditionarii se obtine daca se scade prima ecuatie din cea de a doua si rezultatul se multiplica cu 100: 3.0 x + 2.04 y = 5.0 (50) 1.60 x 3.40 y = 2.40 Solutiile acestui nou sistem x=1.63, y=0.06 sunt putin diferite de ale celui precedent, dar modificarile coeficientilor nu le influenteaza in mod insemnat (Fig. 2).

11

ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)

20

10

0 0 -10 3.0x+2.04y=5.0 -20 1.6x-3.40y=2.4 5 10 15 20 25 30 35

Y
-30 -40 -50

Fig. 2

12