Sunteți pe pagina 1din 8

© Carmen-Sanda Georgescu, Tudor Petrovici, Radu Popa

Metode numerice. Fisa de laborator nr. 8:


CALCUL MATRICIAL(I). Metoda de eliminare Gauss, Factorizarea
LU, Metoda lui Jacobi, Metoda Gauss-Seidel, Metoda de rezolvare
a sistemelor liniare in sensul CMMP. Conditionarea sistemelor
liniare

5.1. METODE DIRECTE DE REZOLVARE A SISTEMELOR DE ECUATII LINIARE


Un sistem de n ecuatii liniare cu n necunoscute, scris sub forma matriceala A*X = B
unde matricea coeficientilor necunoscutelor A are proprietatea ca det(A)≠0, este un sistem liniar compatibil
si determinat. Acest sistem are o solutie unica X=A-1*B. Vom remarca ca formula care da solutia folosind
A-1 nu este recomandata; la fel nu sunt recomandate in calculele numerice solutiile care pot fi obtinute cu
regula lui Cramer.
5.1.1.METODA DE ELIMINARE GAUSS
Fie un sistem de ecuatii liniare A*X=B, unde A∈Rn x n si B∈Rn, unde toate submatricile lider principale ale
matricii A, adica A[k]=[ai j]1 ≤ i, j ≤ k sunt nesingulare . Se demonstreaza ca in acest caz matricea A poate fi
adusa prin transformari elementare la o forma superior triunghiulara (elementele de sub diagonala sunt
egale cu zero). Algoritmul care aduce matricea A la forma superior diagonala se bazeaza pe aplicarea
succesiva a 3 operatii elementare: normalizarea = inmultirea unei ecuatii cu o constanta; reducerea =
scaderea unei ecuatii din alta si inlocuirea celei de-a doua ecuatii cu rezultatul scaderii; rearanjarea =
schimbarea ordinii ecuatiilor. Se exemplifica acest algoritm pentru un sistem de 3 ecuatii cu 3 necunoscute
x1, x2, x3: (sistemul 8.1)
⎧ a11 x1 + a12 x2 + a13 x3 = b1

⎨a 21 x1 + a 22 x2 + a 23 x3 = b2 (8.1)
⎪a x + a x + a x = b
⎩ 31 1 32 2 33 3 3
Algoritmul implica urmatorii pasi succesivi:
Pasul 1 (normalizare): In ipoteza ca a11≠0, se inmulteste prima ecuatie din (8.1) cu 1 a11 (unde a11 se

numeste pivot) si coeficientii noii ecuatii se noteaza a1′ i (i = 2, 3), respectiv b1′ :
⎧ x1 + a12 ′ x 2 + a13′ x3 = b1′

⎨a 21 x1 + a 22 x 2 + a 23 x3 = b2 (8.2)
⎪a x + a x + a x = b
⎩ 31 1 32 2 33 3 3
Pasul 2 (reducere): Se inmulteste prima ecuatie din (8.2) cu − a 21 si se aduna la a doua ecuatie, apoi
rezultatul obtinut inlocuieste cea de-a doua ecuatie a sistemului. Similar, se inmulteste prima ecuatie din
(8.2) cu − a31 si se aduna la a treia ecuatie, apoi rezultatul obtinut inlocuieste cea de-a 3-a ecuatie a
sistemului:
′ x 2 + a13
⎧ x1 + a12 ′ x3 = b1′

⎨ ′ x 2 + a 23
a 22 ′ x3 = b2′ (8.3)
⎪ ′ x 2 + a33
′ x3 = b3′
⎩ a32
Pasul 3 (normalizare): Se inmulteste a 2-a ecuatie din (8.3) cu ′
1 a 22 si coeficientii noii ecuatii se noteaza

′′ , respectiv b2′′ :
a 23
′ x 2 + a13
⎧ x1 + a12 ′ x3 = b1′

⎨ ′′ x3 = b2′′
x 2 + a 23 (8.4)
⎪ ′ x 2 + a33
′ x3 = b3′
⎩ a32
Pasul 4 (reducere): Se inmulteste a doua ecuatie din (8.4) cu ′
− a32 si se aduna la a 3-a ecuatie, apoi
rezultatul obtinut inlocuieste cea de-a 3-a ecuatie a sistemului - vezi sistemul (8.5):
′ x 2 + a13
⎧ x1 + a12 ′ x3 = b1′

⎨ x 2 + a 23′′ x3 = b2′′ (8.5) ⇒
⎪ ′′ x3 = b3′′
⎩ a33
⎧ x3 = b3′′ a33 ′′

⎨ x 2 = b2′′ − a 23′′ x3 (8.6)
⎪ x = b′ − a ′ x − a ′ x
⎩ 1 1 12 2 13 3
Pornind de la ultima ecuatie catre prima in (8.5), se obtine solutia sistemului sub forma (8.6).
Nota: Daca la o operatie de normalizare, pivotul corespunzator este nul (sau apropiat de zero), se
vor rearanja ecuatiile urmatoare din sistem, aducandu-se pe pozitia respectiva una din ecuatiile cu pivot
nenul.
REMARCI
1) Algoritmul Gauss poate fi aplicat pentru determinarea rangului unei matrici oarecare A∈Rn x m
2) Pentru rezolvarea sistemelor compatibile si determinate A*X = B dar si pentru determinarea
inversei unei matrici nesingulare A∈Rn x n pot fi aplicate si alte variante ale metodei lui Gauss si
anume metodele de tip Gauss-Jordan dupa schema
A B In
Transformari ... ...
elementare
In X A-1
In schema prezentata mai sus: A este matricea coeficientilor necunoscutellor, B este coloana
termenilor liberi, In este matricea unitate, X este solutia sistemului A*X=B si A-1 este inversa matricii A
(in ipoteza ca matricea A este inversabila)
3) Atat pentru metoda lui Gauss cat si pentru variantele Gauss-Jordan calculele por fi optimizate prin
REGULA PIVOTULUI

Exemplul 1: Sa se rezolve sistemul liniar si inversa matricii coeficientilor sistemului prin metoda Gauss-
Jordan si regula pivotului
4*x1-x2+x3=7
4*x1-8*x2+x3=-21
-2*x1+x2+5*x3=15
4 -1 1 7 1 0 0 Regula pivotului
4 -8 1 -21 0 1 0
-2 1 5 15 0 0 1
1 -1/4 1/4 7/4 1/4 0 0 -8*1-(1/4*4)=-7
4 -8 1 -21 0 1 0 1*1-(4*1/4)=0
-2 1 5 15 0 0 1 1*1-(-2)*(1/4)=1/2
1 -1/4 1/4 7/4 1/4 0 0 (-21*1)-(4*7/4)=-28
0 -7 0 -28 -1 1 0 15*1-(-2)*(7/4)=37/2
0 1/2 11/2 37/2 1/2 0 1 0*1-4*(1/4)=-1
1 -1/4 1/4 7/4 1/4 0 0 1*1-4*0=1
0 1 0 4 1/7 -1/7 0 0*1-(4*0)=0
0 1/2 11/2 37/2 1/2 0 1 0*1-(1/4)*(-2)=1/2
1 0 1/4 11/4 2/7 -1/28 0 0*1-(-2)*0=0
0 1 0 4 1/7 -1/7 0 1*1-(-2)*0=1
0 0 11/2 3 3/7 1/14 1
1 0 1/4 11/4 2/7 -1/28 0
0 1 0 4 1/7 -1/7 0
0 0 11/2 33/2 6/77 1/77 2/11
1 0 0 2 -47/308 –3/77 -1/22
0 1 0 4 1/7 -1/7 0
0 0 1 3 6/77 1/77 2/11

Regula pivotului: Se alege linia 1 (normalizata) drept linie pivot cu primul element desemnat drept pivot.
Se inlocuiesc elementele de pe coloana 1 (sub pivot) cu 0. Celelalte elemente ale liniilor 2 si 3 se
calculeaza cu regula pivotului; astfel pentru inlocuirea elementului –8 se formeaza dreptunghiul cu
varfurile opuse in –8 si pivot si se calculeaza dupa regula determinantului -8*1-(-1/4*4)=-7;pentru
toate celelalte elemente de pe linii 2 si 3 se calculeaza in acelasi mod.

5.1.2. METODA GAUSS CU FACTORIZARE TRIUNGHIULARĂ


Metoda cu factorizare triunghiulară, bazată pe procedeul de eliminare Gauss, reprezintă o altă
metodă directă de rezolvare a sistemelor de ecuaţii algebrice liniare de forma:
⎛ a11 a12 K a1n ⎞ ⎛ x1 ⎞ ⎛ b1 ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜ a 21 a 22 K a 2 n ⎟ ⎜ x 2 ⎟ ⎜ b2 ⎟
⎜K ⋅ = , adică A⋅ X = B , (8.7)
K K K ⎟ ⎜ K ⎟ ⎜K⎟
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜a K a nn ⎟⎠ ⎜⎝ x n ⎟⎠ ⎜⎝ bn ⎟⎠
⎝ n1 an2
unde A este matricea pătrată (n × n) a coeficienţilor sistemului, X este vectorul coloană al necunoscutelor
şi B este vectorul coloană al membrilor drepţi (ambii vectori fiind n-dimensionali).
Se ştie că orice matrice pătrată A, de dimensiuni (n × n) , se poate exprima ca produsul a doi
factori matriceali L şi U, unde L=(lij) este o matrice inferior triunghiulară, iar U=(uij) este o matrice superior
triunghiulară, cu elementele diagonalei principale egale cu unitatea, adică:
⎛ l11 0 K 0 K 0 ⎞ ⎛ 1 u12 u13 K u1i u1,i +1 K u1n ⎞
⎜ ⎟ ⎜ ⎟
⎜ l 21 l 22 K 0 K 0 ⎟ ⎜0 1 u 23 K u 2i u 2,i +1 K u 2n ⎟
⎜K K K K K K K K ⎟ ⎜ K K K K K K⎟
A = L ⋅U = ⎜ ⎟⋅⎜ ⎟
⎜ li1 li 2 K lii K 0 ⎟ ⎜0 0 0 K 1 u i ,i +1 K uin ⎟
⎜K K ⎟ ⎜
⎜ K K K K ⎟ ⎜K K K K K K K K ⎟⎟
⎜l
⎝ n1 l n 2 K l ni K l nn ⎟⎠ ⎜⎝ 0 0 0 K 0 0 K 1 ⎟⎠
(8.8)
Descompunerea matricei pătrate A, definită în (8.8), se mai numeşte descompunerea LU1.
Înlocuind matricea A din sistemul iniţial (8.7) cu produsul L·U, rezultă:

A ⋅ X = L ⋅U ⋅ X = B (8.9)
şi, dacă se notează prin Y un vector intermediar, definit de ecuaţia matriceală:

Y =U ⋅X , (8.10)
atunci ecuaţia matriceală (8.9) devine:

L ⋅Y = B . (8.11)
Algoritm: Sistemul (8.11) se rezolvă în raport cu Y, prin substituţie progresivă, rezultând:

b 1⎡ i −1 ⎤
y1 = 1 şi apoi, yi = ⎢bi − ∑ lij y j ⎥, pentru i = 2, n . (8.12)
l11 lii ⎢ ⎥⎦
⎣ j =1
În continuare, vectorul Y fiind cunoscut, se rezolvă sistemul (8.10) prin substituţie regresivă, rezultând
astfel componentele soluţiei X:
n
xn = y n şi apoi, xi = y i − ∑ uij x j , pentru i = (n − 1),1 . (8.13)
j = i +1
Pentru determinarea elementelor lij şi uij ale factorilor matriceali, ordinea calculelor este
următoarea:
Š Prima coloană din L: din produsele liniilor lui L cu prima coloană din U şi echivalarea cu elementele lui A
rezultă:
l i1 = ai1 , i = 1, n
Š Prima linie a lui U: din produsele primei linii a lui L cu coloanele de la 2 la n ale lui U şi echivalarea cu
elementele lui A rezultă:
u1 j = a1 j l11 , j = 2, n
Š A doua coloană a lui L: din produsele liniilor de la 2 la n ale lui L cu a doua coloană din U şi echivalarea cu
elementele lui A rezultă:

1
Aceste simboluri derivă din cuvintele scrise în engleză: L = lower (inferior; de jos), U = upper (superior;
de sus).
li 2 = ai 2 − li1 u12 , i = 2, n
Š A doua linie a lui U: ş.a.m.d.
Relaţiile generale de calcul sunt următoarele:
k −1
lik = aik − ∑ lij u jk , pentru i ≥ k, k = 1, n
j =1

k −1
1 ⎡ ⎤
u kj = ⎢ kj ∑ l ki u ij ⎥,
a − pentru j > k, k = 1, n (8.14)
l kk ⎢⎣ i =1 ⎥⎦
iar operaţiile se execută în ordinea menţionată mai sus.

octave#1> function X = lufactori(A,B)


[N,N]=size(A);
X=zeros(N,1);
Y=zeros(N,1);
C=zeros(1,N);
R=1:N;
for p=1:N-1
[max1,j]=max(abs(A(p:N,p)));
C=A(p,:);
A(p,:)=A(j+p-1,:);
A(j+p-1,:)=C;
d=R(p);
R(p)=R(j+p-1);
R(j+p-1)=d;
if A(p,p)==0
'A este singulara. Nu exista solutie unica'
break
endif
for k=p+1:N
mult=A(k,p)/A(p,p);
A(k,p) = mult;
A(k,p+1:N)=A(k,p+1:N)-mult*A(p,p+1:N);
endfor
endfor
Y(1) = B(R(1));
for k=2:N
Y(k)= B(R(k))-A(k,1:k-1)*Y(1:k-1);
endfor
X(N)=Y(N)/A(N,N);
for k=N-1:-1:1
X(k)=(Y(k)-A(k,k+1:N)*X(k+1:N))/A(k,k);
endfor
endfunction

Exemplul 2: Sa se rezolve sistemul liniar prin metoda factorizarii LU


x1+x2+5*x3=-7
2*x1+x2+x3=2
x1+3*x2+x3=5
Program Octave: octave#1>a=[1 1 5;2 1 1;1 3 1], b=[-7 2 5]’, X=lufactori(a,b)
Se obtine solutia: X=[ 1 2 -2]

5.2. METODE ITERATIVE DE REZOLVARE A SISTEMELOR DE ECUATII LINIARE

5.2.1. METODA ITERATIVA JACOBI (METODA ITERATIILOR


SIMULTANE)
Atentie! Condiţia de convergenţă implică dominanţă diagonală în cadrul matricei A adica
(max∑|ai j/ai i|<1 (suma de la j=1 la n cu j≠i) iar max cu 1 ≤ i ≤n )
Algoritm: Sistemul de ecuatii liniare (8.7) se rezolva iterativ cu formula:
⎡ ⎤
1 ⎢ n
(k ) ⎥
xi( k +1) = ⎢bi − ∑ aij x j ⎥ , i = 1, n ; k = 0, 1, 2, K , (8.15)
aii ⎢ j =1 ⎥
⎣ j ≠i ⎦
corespunzătoare metodei iterative Jacobi. Aceasta formula permite calcularea componentelor vectorului
soluţie X(k+1), folosind componentele soluţiei la iteraţia precedentă X(k). Vectorul iniţial X(0) este ales de
către utilizator.
Calculul iterativ poate înceta la îndeplinirea următorului criteriu de convergenţă:

max xi( k +1) − xi( k ) ≤ ε x , i = 1, n, k = 0, 1, 2, K , (8.16)


i
unde eroarea εx este impusă de către utilizator.

octave#1> function X=jacobi(A,B,P,delta, max)


N = length(B);
for k=1:max
for j=1:N
X(j)=(B(j)-A(j,[1:j-1,j+1:N])*P([1:j-1,j+1:N]))/A(j,j);
endfor
err=abs(norm(X'-P));
relerr=err/(norm(X)+eps);
P=X';
if (err<delta)|(relerr<delta)
break
endif
endfor
X=X';
endfunction

Exemplul 3: Sa se rezolve sistemul liniar prin metoda Jacobi cu 4 pasi de iteratie


4*x1-x2+x3=7
4*x1-8*x2+x3=-21
-2*x1+x2+5*x3=15
pornind de solutia initiala x01=1, x02=2, x03=2
Pas1: Se expliciteaza x1 din prima ecuatie, x2 din a doua ecuatie si x3 din ecuatia a treia a sistemului
x1=x2/4-x3/4+7/4
x2= x1/2-+x3/8+21/8
x3=2*x1/5-x2/5+3
Pas2: Se construieste schema iterativa Jacobi
x(k+1)1=x(k)2/4-x(k)3/4+7/4
x(k+1)2= x(k)1/2-+x(k)3/8+21/8
x(k+1)3=2*x(k)1/5-x(k)2/5+3
Pas3: Se porneste procesul iterativ pentru k=0,1,2, . . . pornind de solutia initiala x01=1, x02=2, x03=2
Comentariu: Dupa 4 pasi de iteratie se obtine solutia X=[ -0.021875 -2.948437 3.525000]
Dupa 10 pasi de iteratie se obtine solutia X=[ 0.062775 -3.111129 3.645996]
Solutia exacta este: X=[ 0.060606 -3.111111 3.646465]
Program Octave: octave#1>delta = 1e-12;
octave#2>max = 50;
octave#3> [X,dX,Pm] = jacobi(A,B,P,delta,max);

5.2.2.METODA ITERATIVA GAUSS-SEIDEL (METODA ITERATIILOR


SUCCESIVE)
Atentie! Condiţia de convergenţă implică dominanţă diagonală în cadrul matricei A
(max∑|ai j/ai i|<1 (suma de la j=1 la n cu j≠i) iar max cu 1 ≤ i ≤n )
Metoda Gauss-Seidel reprezintă o modificarea a metodei Jacobi, în sensul că la calculul

componentei xi( k +1) , se folosesc toate componentele x (jk +1) , cu j < i , deja calculate la iteraţia curentă
(k+1), împreună cu componentele xl( k ) , cu l > i , obţinute la iteraţia precedentă (k). Deci, pe măsură ce
se obţin componentele vectorului soluţie la iteraţia (k+1), acestea sunt folosite la calculul celorlalte
componente.
Algoritm: Sistemul de ecuatii liniare (8.7) se rezolva iterativ cu formula:

1 ⎡ i −1 n ⎤
xi( k +1) = ⎢bi − ∑ aij x (jk +1) − ∑ ij j ⎥⎥ ,
a x (k )
i = 1, n ; k = 0, 1, 2, K
aii ⎢
⎣ j =1 j = i +1 ⎦
(8.17)

Pornind cu aproximaţia iniţială2: xi(0 ) , i = 1, n , formula iterativă (8.17), corespunzătoare metodei


Gauss-Seidel, permite calcularea componentelor vectorului soluţie X(k+1), folosind o parte din componentele
soluţiei de la iteraţia curentă (k+1), respectiv cealaltă parte a componentelor soluţiei de la iteraţia
precedentă (k). Calculul iterativ se efectuează până la îndeplinirea criteriului de convergenţă (8.16).

octave#1> function X=gaussseidel(A,B,P,delta, max)


N = length(B);
for k=1:max
for j=1:N
if j==1
X(1)=(B(1)-A(1,2:N)*P(2:N))/A(1,1);
elseif j==N
X(N)=(B(N)-A(N,1:N-1)*(X(1:N-1))')/A(N,N);
else
X(j)=(B(j)-A(j,1:j-1)*X(1:j-1)'-A(j,j+1:N)*P(j+1:N))/A(j,j);
endif
endfor
err=abs(norm(X'-P));
relerr=err/(norm(X)+eps);
P=X';
if (err<delta)|(relerr<delta)
break
endif
endfor
X=X';
endfunction

Exemplul 4: Sa se rezolve sistemul liniar prin metoda Gauss-Seidel cu 4 pasi de iteratie


4*x1-x2+x3=7
4*x1-8*x2+x3=-21
-2*x1+x2+5*x3=15
pornind de solutia initiala x01=1, x02=2, x03=2
Pas1: Se expliciteaza x1 din prima ecuatie, x2 din a doua ecuatie si x3 din ecuatia a treia a sistemului
x1=x2/4-x3/4+7/4
x2= x1/2-+x3/8+21/8
x3=2*x1/5-x2/5+3
Pas2: Se construieste schema iterativa Gauss-Seidel
x(k+1)1=x(k)2/4-x(k)3/4+7/4
x(k+1)2= x(k+1)1/2-+x(k)3/8+21/8
x(k+1)3=2*x(k+1)1/5-x(k+1)2/5+3
Pas3: Se porneste procesul iterativ pentru k=0,1,2, . . . pornind de solutia initiala x01=1, x02=2, x03=2
Comentariu: Dupa 4 pasi de iteratie se obtine solutia X=[ 0.051609 -3.109863 3.642616]
Dupa 10 pasi de iteratie se obtine solutia X=[ 0.060432 -3.111092 3.646391]
Solutia exacta este: X=[ 0.060606 -3.111111 3.646465]
Program Octave: octave#1>delta = 1e-12;
octave#2>max = 50;
octave#3> [X,dX,Pm] = gaussseidel(A,B,P,delta,max1);
5.2.3.METODA DE REZOLVARE A SISTEMELOR SUB/SUPRA
DETERMINATE PTIN METODA CELOR MAI MICI PATRATE
⇒ SISTEME SUPRADETERMINATE
Consideram un sistem de ecuatii liniare A*X=B, unde A∈Rm x n si B∈Rm si m > n. In general un astfel de
sistem este incompatibil (in sensul teoremei de compatibilitate a lui Kroneker-Capelli). Pentru a determina

2
elementele vectorului de start X(0) sunt alese de către utilizator
o pseudosolutie X* in sensul celor mai mici patrate (CMMP) consideram reziduul r=B-A*X. Se cauta solutia
X* astfel incat ||B-A*X*||2=min||B-A*X||2 pentru x∈Rn
Pseudosolutia X* poate fi scrisa sub forma X*=A+*B , unde matricea A+∈Rn x m , definita prin A+=(AT*A)-1*AT
si se numeste pseudoinversa lui A
(Vezi Exemplul 3 din Fisa_4)
⇒ SISTEME SUBDETERMINATE
Consideram un sistem de n ecuatii liniare cu m necunoscute, A*X=B, unde A∈Rn x m si B∈Rn .Presupunem ca
n < m si ca toate liniile sunt independente. Un astfel de sistem este compatibil nedeterminat (in sensul
teoremei de compatibilitate a lui Kroneker-Capelli). Problema este abordata in sensul unei solutii normale
(de norma minima). Se cauta o solutie X* in sensul celor mai mici patrate (CMMP) cu proprietatea
||X*||2=min||X||2 pentru x∈Rm
Solutia X* poate fi scrisa sub forma X*=A+*B , unde matricea A+∈Rn x m , definita prin A+= AT *(A* AT)-1 si se
numeste pseudoinversa normala a lui A
Exemplul 5. Sa se rezolve sistemul liniar subdeterminat
4*x1+x2-x3=2
x1+5*x2+4*x3=1
Solutie teoretica: X1=(9/19)*(1+X3), X2=(2-17*X3)/19, X3
Solutie numerica in sensul CMMP:
octave#1>A=[4 1 –1;1 5 4];B=[2 1]’;x=A’*inv(A*A’)*B
octave#2>X1=A\B
Returneaza X=X1 =0.21751 0.25581 0.12585

5.4. CONDITIONAREA SISTEMELOR LINIARE


Algoritmii de calcul folositi pentru rezolvarea sistemelor liniare de tip A*X = B, trebuie sa fie numeric
stabili ,in sensul ca produc o solutie calculata X* care coincide cu solutia exacta a unui sistem de aceiasi
forma dar cu datele foarte putin perturbate (A+E)*X* = B unde E este perturbatia.
O masura a preciziei solutiei obtinute este data de conditionarea numerica a sistemului evaluata prin
numarul de conditionare la inversare, cond(A)=||A||*||A-1||≥1, al matricii A. Se apreciaza ca la numere
de conditionare mici (apropriate de 1) sistemul este bine conditionat; pentru numere de conditionare mari
sistemul este prost conditionat (Vezi Exemplul 2 din Fisa_1)
Exemplul 5. Fie sistemul liniar
x1+1.001*x2=2.001
x1+x2=2
Solutia exacta a acestui sistem este: x1=1, x2=1. Se observa ca solutia x1=2, x2=0 verifica sistemul cu o
aproximatie de ordinul 10-3 . Cauza aparitiei acestei anomalii este numarul de conditionare al matricii
atasata sistemului si anume cond(A)= 4002.0

⇒ Functii Octave/Matlab pentru rezolvarea sistemelor liniare


Operatorul \ (backslesh)
→ inv(A), inverse(A), ginv(A), det(A) – pentru matrici patratice nesingulare
→ rank(A), cond(A), pinv(A) – calculul pseudoinversei
→ lu(A),qr(A), chol(A), hess(A), schur(A), svd(A), qzhess(A), qz(A)- factorizari
→ syl(A,B,C) - rezolva ecuatia matriciala a lui Sylvester : A X + X B + C = 0
→ are, dare – rezolva ecuatii algebrice de tip Ricatti

APLICAŢII
Problema 1. Rezolvati sistemul de ecuatii liniare de mai jos, prin metoda de eliminare Gauss.
⎧− x1 + 5 x 2 + x3 = 2

⎨− x1 − 2 x 2 + 4 x3 = 5
⎪8 x − x = −8
⎩ 1 2

Problema 2. Gasiti solutiile sistemului de la Problema 1, cu metoda Jacobi, dupa 3 iteratii, cu aproximatia

initiala x1(0 ) = x 2(0 ) = x 3(0 ) = 0 . Comparati cu rezultatele obtinute cu metoda de eliminare Gauss. Sa se
afle de asemenea solutia sistemului folosind functia Octave jacobi cu delta = 1e-6 si maximum 50 de
iteratii

Problema 3. Gasiti solutiile sistemului de la Problema 1, cu metoda Gauss-Seidel, dupa 3 iteratii, cu

aproximatia initiala x1(0 ) = x 2(0 ) = x 3(0 ) = 0 . Comparati cu rezultatele obtinute cu metoda Jacobi si cu
metoda de eliminare Gauss. Sa se afle de asemenea solutia sistemului folosind functia Octave gaussseidel
cu delta = 1e-6 si maximum 50 de iteratii

⎡1 1 5⎤
Problema 4. Gasiti descompunerea LU a matricei A, unde A = 2 1 1
⎢ ⎥ si apoi solutia sistemului
⎢ ⎥
⎢⎣1 3 1⎥⎦
⎡− 7 ⎤
A ⋅ X = B , folosind factorizarea triunghiulara, daca B = ⎢⎢ 2 ⎥⎥
⎢⎣ 5 ⎥⎦
Rezolvare: Pentru A se cauta o descompunere in doua matrici L si U astfel incat:
L=[l11 0 0; l21 l22 0; l31 l32 l33] , U=[1 u12 u13; 0 1 u23; 0 0 1]. Din identitatea L*U=A se obtine un
sisteme de 9 ecuatii cu 9 necunoscute.
Odata determinate matricile L si U se rezolva sistemul astfel: A*X=B devine L*U*X=B. Rezolvam pe rand
sistemele liniare U*X=Y si U*Y=B
Problema 5. Pentru sistemul de la Problema 1 sa se calculeze numarul de conditionare al matricii
coeficientilor necunoscutelor folosind functia Octave cond. Comentarii.
Aceiasi problema pentru matricea A1=[ 1 2 3;4 5 6;7 8 9]. Indicatie: Pentru matricea sistemului de la
problema 1 se obtine cond(A)= 2.1389 iar pentru matricea A1, cond(A1)= 3.8131e+16
Problema 6. Folosind procedura Gauss si regula pivotului sa se determine rangul matricii
A=[1 6 11;2 7 12;3 8 13;4 9 14;5 10 15]

1 6 11 1 6 11 1 6 11
2 7 12 0 -5 -10 0 -5 -10
3 8 13 0 -10 -20 0 0 0
4 9 14 0 -13 -30 0 0 0
5 10 15 0 -20 -40 0 0 0

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