Sunteți pe pagina 1din 8

Capitolul 4.

Metode de rezolvare a sistemelor liniare


}n acest capitol sunt prezentate metodele fundamentale de rezolvare a sistemelor liniare. Metodele de rezolvare pot fi ]mp[r\ite ]n dou[ categorii: metode exacte sau directe =i metode iterative. Metodele exacte propun formule de calcul (algoritmi fini\i) pentru determinarea solu\iei unui sistem liniar. Metodele iterative permit aproximarea solu\iei sistemului cu o precizie dat[ cu ajutorul unui proces convergent infinit. Metodele ce vor fi prezentate ]n continuare au ]n vedere numai sistemele liniare cu num[r egal de ecua\ii =i necunoscute (sisteme p[trate), cu matrice nesingular[. Fie sistemul:
a11x1 + a12 x 2 + K + a1n x n = b1 a x + a x + K + a x = b 21 1 22 2 2n n 2 K a n1x1 + a n 2 x 2 + K + a nn x n = b n

(4.1)

unde n N , a ij , bi R , i,j = 1, n . Dac[ not[m:


a11 a12 a a 22 A = 21 K K a n1 a n 2 sistemul (4.1) poate fi scris sub forma: K K K K a1n x1 b1 b a 2n x2 , X= =i B = 2 , K K K a nn x n b n

AX = B (4.2) A se nume=te matricea coeficien\ilor, X se nume=te vectorul necunoscutelor iar B este vectorul termenilor liberi. Se cunoa=te c[ sistemul (4.2) este compatibil unic determinat dac[ =i numai dac[ matricea coeficien\ilor este nesingular[: det(A) 0 (4.3)

4.1. Metode directe de rezolvare a sistemelor liniare


Principalele metode de rezolvare direct[ a sistemelor liniare sunt regula lui Cramer, metoda Gauss =i metodele de factorizare. De=i simpl[ ]n aparen\[, regula lui Cramer nu se utilizeaz[ practic ]n rezolvarea sistemelor din cauza num[rului mare de opera\ii pe care ]l presupune. Metoda elimin[rii (Gauss) este una dintre cele mai utilizate metode de rezolvare a sistemelor liniare. Unul din avantajele acestei metode este acela c[ ea poate fi folosit[ at`t pentru rezolvarea sistemelor liniare c`t =i pentru inversarea matricilor sau pentru calculul determinan\ilor. Un alt avantaj este acela c[ se pot rezolva simultan mai multe sisteme ce difer[ doar prin termenii liberi. Metodele de factorizare transform[ matricea sistemului ]ntr-un produs de dou[ matrici, una superior-triunghiular[ =i alta inferior triunghiular[. Sistemul ini\ial devine astfel echivalent cu dou[ sisteme triunghiulare, care se rezolv[ ]n cascad[.

4.1

Capitolul 4.

Metode de rezolvare a sistemelor liniare 4.1.1. Rezolvarea sistemelor liniare cu matrice triunghiular[

Matricea A se nume=te superior-triunghiular[ dac[: a ij = 0 i,j = 1, n , i > j :


a11 0 K 0 a12 a 22 K 0 K K K K a1n a 2n K a nn

(4.4)

Analog, A se nume=te inferior-triunghiular[ dac[: a ij = 0 i,j = 1, n , i < j :


a11 0 a 21 a 22 K K a n1 a n 2 Evident, condi\ia de compatibilitate a sistemului devine: 0 K 0 (4.5) K K K a nn (4.1), ]n cazul ]n care matricea este triunghiular[, K
n

det(A) = a i ,i 0
i =1

(4.6)

Rezolvarea sistemului (4.1), cu matricea de forma (4.4), se face ]n cascad[ invers[: Din ultima ecua\ie se determin[ ultima necunoscut[: b xn = n a n ,n Se ]nlocuie=te xn ]n penultima ecua\ie =i se determin[ xn-1, etc. Presupunem determinate x n , x n 1 ,K, x n i+1 . Ecua\ia n-i a sistemului este:

(4.7)

a n i ,n i x n i + a n i ,n i+1x n i+1 + K + a n i ,n x n = b n i sau a n i ,n i x n i +


x n i = 1

j= n i +1

n i , j

x j = b n i , deci:

n b n i a n i , j x j , i = 1, n 1 a n i ,n i j=n i +1 }n cazul sistemului (4.1) cu matricea de forma (4.5), rezolvarea se face ]n cascad[ direct[: Din prima ecua\ie se determin[ prima necunoscut[: b x1 = 1 a1,1

(4.8)

(4.9)

Se ]nlocuie=te x1 ]n a doua ecua\ie =i se determin[ x2, etc. Presupunem determinate x1 , x 2 ,K, x i1 . Ecua\ia i a sistemului este:

a i ,i x i + a i ,i+1x i+1 + K + a i ,n x n = bi sau a i ,i x i + a i , j x j = b i , deci:


j=1

i 1

xi =

i 1 1 b i a i , j x j , i = 2, n a i ,i j=1

(4.10)

4.2

Capitolul 4.

Metode de rezolvare a sistemelor liniare 4.1.2. Rezolvarea sistemelor liniare tridiagonale


b1x1 + c1x 2 = d1 a x + b x + c x = d 2 1 2 2 2 3 2 K a n x n 1 + b n x n = d n

Consider[m un sistem liniar de n ecua\ii =i n necunoascute de forma:

(4.11)

]n care a i R, i = 2, n , b j , d j R, j = 1, n , c k R, k = 1, n 1 . Matricea sistemului (4.11) se nume=te tridiagonal[, deoarece are toate elementele nule, cu excep\ia celor de pe diagonala principal[ =i a celor de pe dou[ <paralele> la aceasta. Rezolvarea sistemului (4.11) se face prin metoda baleierii (sweep method). Din prima ecua\ie se determin[: 1 x1 = (d1 c1x 2 ) (4.12) b1
a 2c1 a d =i se ]nlocuie=te ]n ecua\ia a doua: b x 2 + c2 x 3 = d 2 2 1 . 2 b1 b1 Astfel, ecua\ia se poate scrie sub forma: a 2 x1 + b2 x 2 + c2 x 3 = d2 , unde:

a2 = 0 b2 = b 2 a 2c1 b1 c2 = c 2 a 2d1 d2 = d 2 b1
Deoarece a 2 = 0 , se poate determina x2 care se ]nlocuie=te ]n ecua\ia a treia, etc.
S[ presupunem c[ ecua\ia i-1 este scris[ sub forma: a i 1x i 2 + b i 1 x i 1 + c i1 x i = d i 1 , cu a i 1 = 0 . a i c a i d i 1 i1 Explicit`nd xi-1 =i ]nlocuind ]n ecua\ia i se ob\ine: x i + ci x i+1 = d i b , adic[: b i b i 1 i1

a i =0 a i c i 1 b i = bi bi 1 , i = 2, n (4.13) i = ci c a i d i 1 d i = di b i 1 Aplic`nd rela\iile (4.13), se ob\ine un sistem superior-triunghiular care se rezolv[ ]n cascad[ invers[: dn x n = b n (4.14) x = 1 (d c x n i n i n i n i +1 ), i = 1, n 1 bn i

4.3

Capitolul 4.

Metode de rezolvare a sistemelor liniare 4.1.3. Metoda Gauss

Numit[ =i metoda elimin[rii, metoda Gauss este una dintre cele mai folosite metode directe de rezolvare a sistemului (4.1). Rezolvarea unui sistem liniar prin aceast[ metod[ se face ]n dou[ etape. }n prima etap[, se elimin[ x1 din ecua\iile 2, 3, ... , n apoi se elimin[ x2 din ecua\iile 3, 4, ..., n, etc. Se ob\ine astfel un sistem superior-triunghiular care, ]n etapa a doua, se rezolv[ ]n cascad[ invers[. a Pentru a elimina x1 din ecua\ia i ( i = 2, n ), se ]nmul\e=te prima ecua\ie cu i ,1 =i se adaug[ la a1,1 ecua\ia i:

a a a a a a i ,1 i ,1 a1,1 x1 + a i , 2 i ,1 a1, 2 x 2 + a i ,3 i ,1 a1,3 x 3 + K + a i ,n i ,1 a1,n x n = b i i ,1 b1 a1,1 a1,1 a1,1 a1,1 a1,1


) (1) (1) (1) Ecua\ia i poate fi scris[ sub forma: 0 x1 + a i(1 , 2 x 2 + a i , 3 x 3 + K + a i ,n x n = b i , unde:

(1) a i ,1 a1,1 = 0 a i ,1 = a i ,1 a1,1 a i ,1 (1) a1,k k = 2, n a i ,k = a i ,k a1,1 a b i(1) = bi i ,1 b1 a1,1

S[ presupunem acum c[ am eliminat x1 , x 2 ,K, x i1 din ecua\iile i, i+1, ..., n, cu i = 2, n . Ecua\ia <i a sistemului a devenit:
1) ( i 1) ( i 1) iar ecua\ia <j> (cu j = i + 1, n ) este: a i(,ii1) x i + a i(,ii +1 x i +1 + K + a i ,n x n = b i

1) a (j,ii1) x i + a (j,ii+11) x i+1 + K + a (ji,n x n = b (ji1)

Pentru a elimina xi din ecua\ia <j>, se ]nmul\e=te ecua\ia <i> cu

a (j,ii1) a i(,ii1)

=i se adaug[ ecua\iei <j>:

( i1) a (j,ii1) ( i1) ( i1) a (j,ii1) ( i1) a (ji,i1) (i1) ( i 1) 0 x i + a j,i+1 ( i1) a i ,i+1 x i+1 + K + a j,n ( i1) a j,n x n = b j (i1) bi a i ,i a i ,i a i ,i Am ob\inut astfel:
(i ) a (j,ii1) (i1) ( i 1) = a i ,k a a j, k j,k ( i 1) a i ,i , i = 1, n 1 , j = i + 1, n , k = i + 1, n ( i 1) a (i ) j,i ( i1) ( i1) b j = b j a ( i1) b i i ,i Sistemul ob\inut este superior-triunghiular =i se rezolv[ ]n cascad[ invers[:

(4.15)

b (nn 1) x n = a ( n 1) n ,n n ( n i ) ( n i ) x = 1 , i = 1, n 1 b a x j n i n i n i , j ( n i ) a = + j n i 1 n i ,n i
4.4

(4.16)

Capitolul 4. Metode de rezolvare a sistemelor liniare Metoda Gauss prezint[ dezavantajul c[, ]n anumite cazuri, chiar dac[ sistemul este compatibil unic determinat ( det(A) 0 ), la pasul <i> din (4.15) putem avea a i(,ii1) = 0 . Solu\ia const[ ]n inversarea a dou[ linii din matricea sistemului. S[ consider[m submatricea de ordin < n i + 1 > a matricii sistemului, ob\inut[ ]n urma elimin[rii necunoscutelor x1 , x 2 ,K, x i1 ( i = 1, n 1 ):

a i(,ii1) ( i1) a i+1,i K ( i1) a n ,i


Fie p N, i p n astfel ]nc`t:

1) a i(,ii +1 i 1) a i(+ 1,i +1 K 1) a (ni, i +1

1) K a i(,in ( i 1) K a i+1,n K K 1) K a (ni, n

(4.17)

1) 1) a (pi, = max a (ki, i i k =i , n 1) Dac[ matricea sistemului este nesingular[, avem evident a (pi, 0. i

(4.18)

}n conscin\[, dac[ ]naintea aplic[rii pasului <i> din (4.15), se inverseaz[ liniile <i =i <p din matricea sistemului, avem asigurat[ condi\ia a i(,ii1) 0 . Metoda ob\inut[ se nume=te metoda elimin[rii cu pivotare par\ial[. S[ consider[m p, q N, i p, q n pentru care:
1) ( i 1) a (pi, q = max a k , j k , j=i ,n 1) Avem evident a (pi, q 0 deoarece, ]n caz contrar, matricea sistemului ar fi singular[.

(4.19)

Deci, dac[ ]naintea aplic[rii pasului <i> din (4.15), se inverseaz[ at`t liniile <i =i <p c`t =i colanele <i> =i <q> din matricea sistemului, avem asigurat[ condi\ia a i(,ii1) 0 . Metoda poart[ numele de metoda elimin[rii cu pivotare total[. Deoarece metoda elimin[rii cu pivotare total[ presupune invers[ri de coloane ]n matricea sistemului, ordinea componentelor solu\iei este modificat[. Algoritmul care implementeaz[ metoda elimin[rii cu pivotare total[ utilizeaz[ o linie suplimentar[, ad[ugat[ matricii sistemului, care se ini\ializeaz[ cu numerele de la 1 la n. Opera\iile de schimbare a coloanelor se extind =i asupra acestei linii, astfel c[, la sf`r=itul procesului de eliminare, se poate reconstitui ordinea ini\ial[ a componentelor solu\iei.

4.5

Capitolul 4.

Metode de rezolvare a sistemelor liniare 4.1.4. Metode de factorizare

Metoda Crout Matricea sistemului (4.2) poate fi scris[ ca un produs de dou[ matrici, una inferior-triunghiular[ =i alta, superior-triunghiular[: A = LR (4.20)
0 1,1 2, 2 2 ,1 unde: L = K K n ,1 n , 2 deci: 0 1,1 1, 2 0 K 0 2, 2 =i R = K K K K K n ,n 0 0
K K 1,n K 2 ,n , K K K n ,n

i , j = 0 pentru i < j i , j = 0 pentru i > j

(4.21) (4.22)

Avem evident A X = (L R ) X = L (R X) = B =i, dac[ se notez[ R X = Y , sistemul (4.2) devine echivalent cu dou[ sisteme triunghiulare: LY = B (4.23) R X = Y (4.24) 2 2 Sistemul (4.20) furnizeaz[ n rela\ii pentru cele n +n necunoscute, deci se pot fixa n necunoscute, de exemplu:

i ,i = 1 , i = 1, n
Explicit`nd (4.20) pentru cazurile i j =i i > j =i \in`nd seam[ de (4.21) =i (4.22), avem:

(4.25)

k =1 j1

i 1

i ,k

k , j + i ,ii , j = a i , j , i j

k =1

i ,k

k , j + i , j j, j = a i , j , i > j

Av`nd ]n vedere (4.25), elementele matricilor L =i R se pot determina astfel:


i 1 a = i ,k k , j , i = 1, j i , j i , j k =1 , j = 1, n (4.26) j1 1 = a i , j i ,k k , j i, j , i = j + 1, n j, j k =1 Solu\ia sistemului (4.2) se ob\ine rezolv`nd ]n cascad[ direct[ (4.23) =i ]n cascad[ invers[ (4.24):

y1 = b1 i 1 y b = i , k y k , i = 2, n i i k =1
yn x n = n ,n n x = 1 y n i n i ,k x k , i = 1, n 1 n i n i ,n i k =n i +1

(4.27)

(4.28)

4.6

Capitolul 4. Metoda r[d[cinii p[trate

Metode de rezolvare a sistemelor liniare

Dac[ matricea sistemului (4.2) este simetric[, adic[ A T = A sau a i , j = a j,i , i, j = 1, n , atunci ea se poate descompune astfel:

A = RT R
unde R este o matrice superior triunghiular[:
11 0 22 R T = 12 K K 1n 2 n Explicit`nd sistemul (4.29), se ob\ine: 0 11 12 0 K 0 22 , R= K K K K K nn 0 0
K K 1n K 2 n K K K nn

(4.29)

1,1 = a1,1 a1, j = , j = 2, n 1 , j 1,1 i 1 2 i ,i = a i ,i k ,i , i = 2, n k =1 i 1 1 i , j = a i , j k ,i k , j , i < j i ,i k =1

(4.30)

Avem evident A X = (R T R ) X = R T (R X) = B =i, dac[ se notez[ R X = Y , sistemul (4.2) devine echivalent cu dou[ sisteme triunghiulare:

RT Y = B (4.31) R X = Y (4.32) Solu\ia sistemului (4.2) se ob\ine rezolv`nd ]n cascad[ direct[ (4.31) =i ]n cascad[ invers[ (4.32): b1 y1 = 1,1 i 1 k ,i y k b i k =1 , i = 2, n yi = i , i

(4.33)

yn x n = n ,n (4.34) n x = 1 n i ,k x k , i = 1, n 1 y n i n i ,n i n i k = n i +1 Metoda r[d[cinii p[trate se poate utiliza pentru orice sistem liniar cu matrice nesingular[, prin transformarea sa ]ntr-un sistem echivalent cu matrice simetric[.
}ntr-adev[r, dac[ se ]nmul\e=te la st`nga rela\ia (4.2) cu A T , se ob\ine sistemul (A T A) X = A T X . Acest sistem este simetric deoarece (A T A) T = A T A .

4.7

Capitolul 4.

Metode de rezolvare a sistemelor liniare

4.2. Metode iterative de rezolvare a sistemelor liniare


Utilizarea metodelor directe, prezentate ]n paragraful anterior, prezint[ urm[torul dezavantaj: dac[ ordinul sistemului este foarte mare, erorile cumulate devin inacceptabile. Metodele iterative permit determinarea unei aproxima\ii a solu\iei sistemului cu precizia dorit[ prin construc\ia unui =ir X ( k ) , convergent cu limita solu\ia exact[ a sistemului. Eficien\a metodelor iterative depinde, ]n mare m[sur[, de alegerea aproxima\iei ini\iale =i de rapiditatea convergen\ei =irului aproxima\iilor succesive. 4.2.1. Metoda itera\iilor S[ consider[m sistemul (4.2) =i s[ presupunem c[:

a i ,i 0 , i = 1, n
Explicit`nd x i din ecua\ia i se ob\ine:
X = CX + D

(4.35) (4.36)

unde
0 pentru i = j b =i d i = i , cu i, j = 1, n ci, j = a i , j a i ,i a pentru i j i ,i

(4.37)

Consider`nd aproxima\ia ini\ial[ X ( 0 ) = D , rela\ia (4.36) permite construc\ia unui =ir:

X ( k +1) = C X ( k ) + D , k 0

(4.38)

Dac[ =irul X ( k ) este convergent, limita sa este, evident, solu\ia sistemului (4.2). Se poate demonstra c[, dac[ =irul (4.38) este convergent pentru o anumit[ aproxima\ie ini\ial[ (de exemplu X ( 0 ) = D ), atunci el este convergent pentru orice aproxima\ie ini\ial[. }n consecin\[, aproxima\ia ini\ial[ se poate alege arbitrar. Se demonstreaz[ c[ =irul (4.38) este convergent dac[ cel pu\in una din condi\iile:

c
j=1 n i =1

i, j

< 1 , i = 1, n

(4.39) (4.40)

i, j

< 1 , j = 1, n

}n consecin\[, o condi\ie suficient[ pentru convergen\a metodei itera\iilor este:


a i ,i > a i , j , i = 1, n
j=1 ji n

(4.41)

4.2.2. Metoda lui Siedel Metoda lui Siedel este o modificare a metodei itera\iilor. Ea utilizeaz[, ]n calculul componentei x i( k +1) ( k +1) k +1) a aproxima\iei X ( k +1) , a componentelor deja determinate x1 , x (2k +1) ,K, x i( 1 :
n ( k +1) (k) = + x d c1, j x1 1 1 j=1 n i 1 x ( k +1) = d + c x ( k +1) + c x ( k ) , i = 2, n i, j 1 i i i, j 1 j=i j=1 Condi\iile de convergen\[ ale metodei Siedel sunt acelea=i ca =i ]n cazul metodei itera\iilor.

(4.42)

4.8

S-ar putea să vă placă și