Sunteți pe pagina 1din 9

Capitolul 2

SISTEME DETERMINATE DE ECUAŢII


ALGEBRICE LINIARE

2.3 Rezolvarea sistemelor prin triangularizare cu


pivotare parţială
În cazul triangularizării cu pivotare parţială (Figura 2.1), la pasul k se caută
pivotul ξ k printre elementele din coloana k, pornind de la elementul de pe
diagonala principală în jos, alegându-se elementul care are cea mai mare valoare
în modul:
| a [i kk ],k |= max{| a [i,kk] |} = ξ k .
k ≤i ≤ n

k
Ak = 0
 ik

n
|
k
Fig. 2.1 Principiul triangularizării cu pivotare parţială a unei matrice: pivotul se
găseşte în coloana k, liniile k ÷ n; k=1,...,n
Dacă i k ≠ k , elementul maxim în modul nu se găseşte pe diagonala
principală, atunci se interschimbă (permută) liniile k şi i k . Lucrul acesta se
realizează automat cu ajutorul unei matrice de permutare de linii Pk care
multiplică la stânga matricea A k : Pk ⋅ A k . Pentru matricea care rezultă astfel,
se determină apoi matricea de transformare M k ca şi în cazul traingularizării
simple, obţinând matricea:
A k +1 = M k ⋅ ( Pk ⋅ A k ) .
În felul acesta, multiplicatorii calculaţi sunt subunitari în modul
| µ i,k |≤ 1, i = k + 1,..., n , iar algoritmul triangularizării devine stabil numeric.
Matricea M k ⋅ Pk se numeşte matrice de transformare elementară stabilizată.
Matricea de permutare Pk se obţine din matricea unitate de ordinul n, I n ,
schimbând adecvat între ele liniile k şi i k . Această matrice are următoarele
proprietăţi:
det(Pk ) = −1; Pk = Pk−1 .

Teoremă:
Dacă matricea A ∈ ℜ n×n este nesingulară, atunci există o matrice P ∈ ℜ n×n ,
numită matrice generală de permutare de linii, astfel încât:
P ⋅ A = L' ⋅ U ,
în care U este o matrice superior triunghiulară şi L' este o matrice inferior
triunghiulară unitate. cu elementele | l i , j |≤ 1, i > j .
Demonstraţia acestei teoreme este constructivă, constituind însuşi algoritmul
de triangularizare cu pivotare parţială a unei matrice. Se poate face observaţia
că matricea L' conţine în coloana k, sub elementul de pe diagonala principală,
subvectorul Gauss (de la triangulaizarea simplă) având liniile permutate.
Algoritmul de triangularizare cu pivotare parţială este următorul:
atribuie A 1 ← A
pentru k = 1, n − 1 execută
 * determinare pivot ξ k ← a [i kk ],k astfel încât | a [i kk ],k |= max{| a [i,kk] |}
k ≤i ≤ n
 dacă (i k ≠ k ) atunci
  * determină Pk
 altfel
  atribuie Pk ← I n
 
 * calcul Pk ⋅ A k
 * determinare matrice M k astfel încât matricea
 A k +1 = M k ⋅ ( Pk ⋅ A k ) să îndeplinească condiţiile de la
 triangularizarea simplă
 atribuie A k +1 ← M k ⋅ ( Pk ⋅ A k )

atribuie U ← A n

În ansamblu, asupra matricei A sunt aplicate următoarele transformări:


M n −1 ⋅ Pn −1 ⋅ K ⋅ M 2 ⋅ P2 ⋅ M 1 ⋅ P1 ⋅ A = U . (2.1)

Folosind faptul că Pk = Pk−1 , sau altfel spus Pk ⋅ Pk = I n , relaţia (2.1) poate fi


scrisă sub forma:
( M n −1 ⋅ Pn −1 ⋅ K ⋅ M 1 ⋅ P1 ⋅ P1 ⋅ P2 ⋅ K ⋅ Pn −1 ) ⋅ ( Pn −1 ⋅ K ⋅ P2 ⋅ P1 ) ⋅ A = U (2.2)
Matricea produs Pn −1 ⋅ K ⋅ P2 ⋅ P1 se notează cu P. Ea este numită matrice
generală de permutare de linii. Produsul din prima paranteză din relaţia (2.2) se
notează cu L'−1 . Relaţia (2.2) se scrie sub forma: P ⋅ A = L' ⋅ U , în care matricea
L' = Pn −1 ⋅ K ⋅ P2 ⋅ M 1−1 ⋅ P2 ⋅ M 2−1 ⋅ K ⋅ Pn −1 ⋅ M −n1−1 este o matrice inferior
triunghiulară unitate având în fiecare coloană, sub diagonala principală,
subvectori Gauss cu liniile permutate.
Definiţie:
Matricea A ∈ ℜ n×n se numeşte diagonal dominantă pe coloane dacă în
fiecare coloană a sa elementul de pe diagonala principală este, în modul, mai
mare decât suma modulelor celorlaltor elemente:
n
| a j, j |≥ ∑ | a i , j |, ∀j = 1,..., n .
i =1
i≠ j

În acest caz, se poate enunţa următorul rezultat.


Propoziţie:
Dacă matricea A este diagonal dominantă pe coloane, atunci ea admite
factorizarea:
P ⋅ A = L' ⋅ U ,
în care P = I n şi elementele matricei L' sunt în modul subunitare.

Altfel spus, nu este implicată permutarea de linii în cazul traingularizării unei


matrice diagonal dominante pe coloane.
Rezolvarea sistemului A ⋅ x = b, A ∈ ℜ n×n , b ∈ ℜ n×1 se realizează în două
etape:
a) descompunerea L' -U a matricei A:
P ⋅ A = L' ⋅ U
b) rezolvarea propriu-zisă a sistemului care comportă trei subetape, şi anume:
b.1.) calculul vectorului c = P ⋅ b ;
b.2.) rezolvarea sistemului L' ⋅ y = c prin substituţie înainte;
b.3.) rezolvarea sistemului U ⋅ x = y prin substituţie înapoi.
Această modalitate de rezolvare se bazează pe următoarele relaţii:
P ⋅ A ⋅ x = P ⋅ b , P ⋅ A = L' ⋅ U , L' ⋅ U ⋅ x = P ⋅ b , y = U ⋅ x , c = P ⋅ b .

Exemplul 2.3:
Se consideră problema de la Exemplul 2.2. Se aplică, de această dată,
triangularizarea cu pivotare parţială. În acest caz, permutarea de linii intervine
la pasul al doilea al triangularizării, permutându-se liniile 2 şi 3: P = P2 . Se
obţine, în final:
 7  10 − 7 0  0
  
y =  2.5 ; U =  0 2.5 5 ; x =  − 1 .

6.002  0 0 6.002  1 

Dacă algoritmul de triangularizare cu pivotare parţială eşuează, în sensul că


pivotul găsit la o anumită etapă [k] este nul sau foarte mic în modul, aceasta
corespunde situaţiei când în aritmetica reală primele k coloane ale matricei A
sunt liniar dependente. Dacă însă pivotul găsit este în modul foarte mic în
sensul preciziei dorite (mai mic decât un anumit parametru ε impus), atunci se
recurge la traingularizarea matricei sistemului prin pivotare totală, ceea ce
implică atât permutări de linii cât şi de coloane.

2.4 Aplicaţii ale descompunerilor L-U

2.4.1 Calculul determinantului

Considerând o matrice A ∈ ℜ n×n nesingulară, pentru care s-a calculat una


din descompunerile de tip L-U, calculul determinantului acesteia poate fi făcut
după cum urmează.
 Descompunerea L-U bazată pe triangularizarea simplă
În acest caz, descompunerea L-U a matricei A este:
A =L⋅U , (2.3)
unde L este o matrice inferior triunghiulară unitate, iar matricea U = [u i , j ]1≤i , j≤ n
este o matrice superior triunghiulară. Aplicând funcţia determinant det(.) relaţiei
(2.3) se obţine:
det(A ) = det(L ⋅ U ) = det(L) ⋅ det(U ) . (2.4)

Matricea L fiind o matrice inferior triunghiulară unitate, determinantul său este


egal cu 1, iar matricea U fiind o matrice superior triunghiulare, determinantul
său este egal cu produsul elementelor de pe diagonala principală. Ţinând cont
de acestea, relaţia (2.4) devine:
n
det( A ) = ∏ u i ,i .
i =1

 Descompunerea L-U bazată pe triangularizarea cu pivotare parţială


În acest caz, descompunerea L-U a matricei A este:
P ⋅ A = L' ⋅ U , (2.5)
în care P este matricea generală de permutare de linii (matrice nesingulară), L'
este o matrice inferior triunghiulară unitate, iar U = [u i , j ]1≤i , j≤ n este o matrice
superior triunghiulară. Ţinând cont de faptul că matricea P este inversabilă,
relaţia (2.5) poate fi scrisă sub forma:
A = P −1 ⋅ L' ⋅ U . (2.6)
Aplicând funcţia determinant det(.) relaţiei (2.6), se obţine:
det(A) = det(P −1 ⋅ L' ⋅ U ) = det(P −1 ) ⋅ det(L' ) ⋅ det(U ) .
Ţinând cont de următoarele:
• P −1 = P1 ⋅ P2 ⋅ K ⋅ Pn −1 , det(P −1 ) = det(P1 ) ⋅ det(P2 ) ⋅ K ⋅ det(Pn −1 ) ;
• det( Pi ) = −1, i ∈ {1,..., n − 1} , deoarece dacă Pi ≠ I n este realizată o
permutare de linii la iteraţia [i] a algoritmului de triangularizare cu
pivotare parţială;
• det(L' ) = 1 ;
n
• det( U ) = ∏ u i ,i ,
i =1

atunci relaţia (2.6) devine:


n
det( A ) = ( −1) Npl ⋅ ∏ u i ,i ,
i =1

unde Npl reprezintă numărul de permutări de linii efectiv realizate în procesul


de triangularizare a matricei A.

2.4.2 Calculul inversei unei matrice

Fie o matrice A ∈ ℜ n×n nesingulară. Se doreşte aflarea inversei acesteia,


notată cu A −1 . Acest tip de problemă se încadrează în problematica rezolvării
ecuaţiilor matriciale de tipul Error! Reference source not found., considerând
B = In .
Astfel, în prima fază se utilizează una din descompunerile L-U ale matricei
A, anume traingularizare simplă, triangularizare cu pivotare parţială sau
triangularizare cu pivotare totală, urmată de o a doua fază de rezolvare propriu-
zisă a unui sistem de tipul Error! Reference source not found.. În final,
matricea inversă A −1 este egală cu matricea ale cărei coloane sunt vectorii
rezultaţi la faza a doua menţionată şi anume: A −1 = X = [x 1 K x k K x n ] .
Detaliile acestei proceduri sunt următoarele, în funcţie de tipul de
triangularizare a matricei de inversat A caee este folosit:
 triangularizare simplă
1. descompunere L-U (relaţia (2.3));
2. L ⋅ y k = e k , e k = [0 K 0 1 0 K 0] T , unde 1 apare în poziţia k;
U ⋅ x k = y k , k = 1,..., n

 triangularizare cu pivotare parţială


1. descompunere L-U (relaţia (2.5));
2. c = P ⋅ e k , e k = [0 K 0 1 0 K 0] T , unde 1 apare în poziţia k;
L' ⋅ y k = c
U ⋅ x k = y k , k = 1,..., n

Această procedură de determinare a inversei unei matrice necesită un număr


de operaţii în virgulă mobilă de ordinul lui (n 3 / 3) + n ⋅ n 2 , în cazul utilizării
triangularizării simple. Concluzia care se poate desprinde este aceea că
inversarea unei matrice necesită un număr mare de operaţii în virgulă mobilă.
Ca urmare, în practică, nu se recomandă rezolvarea sistemelor prin metoda
bazată pe calculul explicit al inversei matricei sistemului:
−1
A ⋅ x = b ⇒ x = A ⋅ b , deoarece există posibilitatea afectării rezultatului
obţinut de către erorile de rotunjire acumulate.

2.5 Metode iterative

2.5.1 Principiul şi convergenţa metodelor iterative

Fie sistemul de ecuaţii algebrice liniare:


A ⋅ x = b, A ∈ ℜ n×n , b ∈ ℜ n×1 , (2.7)

în care A este o matrice nesingulară.


Metodele iterative se bazează pe construcţia unui şir de aproximaţii ale
[k]
soluţiei, x , k = 0,1,... , convergent la soluţia adevărată:
[k] [ 0]
lim x = x , ∀x .
k →∞

Pentru construcţia acestui şir, se consideră rescrierea sau descompunerea


matricei A a sistemului sub forma: A = N − P , în care N este o matrice
nesingulară. De regulă, se alege matricea N cu o formă simplă. Ecuaţia (2.7)
devine:
( N − P) ⋅ x = b ⇔ N ⋅ x = P ⋅ x + b . (2.8)

Şirul de aproximaţii se construieşte cu ajutorul relaţiei:


[ k +1] [k ]
N⋅x =P⋅x + b, k = 0,1,... (2.9)
[ 0]
în care estimaţia iniţială x este dată (cunoscută). În particular, x [ 0 ] = 0 n .
Din relaţia (2.9) rezultă:
[ k +1] [k ]
x = N −1 ⋅ P ⋅ x + N −1 ⋅ b, k = 0,1,... . (2.10)

Se face următoarea notaţie:


G = N −1 ⋅ P, G ∈ ℜ n×n .
Matricea G are valori proprii în general complexe, λ i (G ) ∈ C , care formează
mulţimea numită spectrul matricei G.
Definiţie:
Se numeşte rază spectrală a matricei G mărimea:
ρ(G ) = max{| λ i (G ) |} .
1≤ i ≤ n

În cele ce urmează, se enunţă şi demonstrează următorul rezultat.


Propoziţie:
Condiţia necesară şi suficientă ca şirul de soluţii aproximative, defint prin
relaţia (2.10), să fie convergent către soluţia adevărată a sistemului de ecuaţii
(2.7) este ca matricea G = N −1 ⋅ P să aibă toate valorile proprii în modul
subunitare sau, altfel spus, raza spectrală a matricei G să fie subunitară.
Demonstraţia porneşte de la expresia erorii la iteraţia [k], care este:
[k] [k]
e = x − x , k = 0,1,... . Eroarea la pasul [ k + 1 ] este:
[ k +1] [ k +1] [k]
e =x−x =x −G⋅x − N −1 ⋅ b . (2.11)
Înlocuind în relaţia (2.11) expresia vectorului b din relaţia (2.8), se obţine:
[ k +1] [k] [k] [k]
e =x −G⋅x − N −1 ⋅ ( N ⋅ x − P ⋅ x ) = G ⋅ ( x − x )= G⋅e . (2.12)

Exprimând eroarea la pasul [k] în funcţie de eroarea la pasul [k-1], prin


folosirea repetată a relaţiei (2.12), se obţine următorul rezultat:
[ k +1] [k] [ k −1] [ 0]
e = G ⋅e = G2 ⋅e = K = G k +1 ⋅ e .

Cum e [ 0 ] ≠ 0 n în general, atunci condiţia referitoare la limita şirului de


aproximaţii, prezentată la început, este îndeplinită dacă şi numai dacă
lim G k = 0 n×n . Această condiţie este satisfăcută dacă matricea G are valorile
k →∞

proprii subunitare în modul, altfel spus, dacă rază spectrală a matricei G este
subunitară.
Observaţii:
1. Cu cât raza spectrală subunitară a matricei G este mai mică, cu atât viteza de
convergenţă a şirului de soluţii aproximative (2.10) va fi mai mare.
2. În practică, de multe ori, condiţia necesară şi suficientă prezentată anterior se
verifică (înlocuieşte) printr-o condiţie suficientă, dacă este posibil, şi anume:
dacă || G || α < 1 atunci ρ(G ) < 1 .
De regulă se foloseşte norma matricială infinit, rezultând condiţia:
n
|| G || ∞ = max{∑ | g i, j |} < 1 .
1≤i ≤ n j=1

Dacă această ultimă condiţie este îndeplinită, atunci metoda iterativă este
sigur convergentă şi nu mai este necesar să se calculeze valorile proprii ale
matricei G de caracterizare a convergenţei. Dacă, însă, condiţia suficientă nu
este satisfăcută, atunci nu se poate afirma nimic în ceea ce priveşte
convergenţa metodei şi se recurge la calculul valorilor proprii ale matricei G,
în scopul verificării condiţiei necesare şi suficiente.
În continuare se consideră următoarea descompunere a matrcii A a
sistemului (2.7):
A =L+ D+ U,
în care L este o matrice inferior triunghiulară cu diagonala principală nulă având
elementele de sub diagonala principală egale cu elementele matricei A de
acelaşi rang, D este o matrice diagonală având elementele de pe diagonala
principală egale cu elementele de pe diaonala principală a matricei A, iar U este
o matrice superior triunghiulară având elementele de deasupra diagonalei
principale egale cu elementele matricei A de acelaşi rang.
Se mai face presupunerea că elementele diagonalei principale a matricei A
sunt nenule. În caz contrar, se pot face permutări de linii şi/sau coloane astfel
încât să fie îndeplinită şi această condiţie.