Sunteți pe pagina 1din 6

Calculul determinantului si inversei unei matrici

1 Metoda condensarii pivotale pentru calculul determinanţilor


Exemplul 1.1 Să se calculeze valoarea determinantului:

0 1 0 −1 2 3
1 2 1 −1 2 1
2 0 3 1 2 2
d=
1 −1 2 0 2 1
2 −2 1 −1 1 0
3 2 2 1 0 −2

Soluţie. Permutăm liniile 1, 2. Obţinem:

1 2 1 −1 2 1
0 1 0 −1 2 3
2 0 3 1 2 2
d=−
1 −1 2 0 2 1
2 −2 1 −1 1 0
3 2 2 1 0 −2

Obţinem succesiv:

1 0 −1 2 3
1 −1 6 12
−4 1 3 −2 0
1 −2 6 9
d = − −3 1 1 0 0 =− =
−1 −5 9 16
−6 −1 1 −3 −2
−1 0 2 7
−4 −1 4 −6 −5
−1 0 −3
−15 −46
= − −6 15 28 = = −38
−8 −22
−1 8 19

1
Algoritmul 1 Calculul determinanţilor cu metoda condensării pivotale.
Date de intrare:

- Matricea A = (aij )1≤i,j≤n


Date de ieşire:

- Determinantul matricei A: det (A)


t=1
Cât timp n ≥ 3 execută:
|apq | = max |aij |
1≤i,j≤n
Dacă apq = 0 atunci:
det (A) = 0
STOP
altfel:
Dacă p ̸= 1 atunci:
Permută ı̂n A liniile 1 şi p
t = −t
Sfârşit Dacă
Dacă q ̸= 1 atunci:
Permută ı̂n A coloanele 1 şi q
t = −t
Sfârşit Dacă
Pentru i = 3, 4, ..., n execută:
Pentru j = 1, 2, ..., n execută:
aij
aij =
a11
Sfârşit Pentru
Sfârşit Pentru
Pentru i = 1, 2, ..., n − 1 execută:
Pentru j = 1, 2, ..., n − 1 execută:
bij = a11 ai+1j+1 − ai+11 a1j+1
Sfârşit Pentru
Sfârşit Pentru
n=n−1
Pentru i = 1, 2, ..., n execută:
Pentru j = 1, 2, ..., n execută:
aij = bij
Sfârşit Pentru
Sfârşit Pentru
Sfârşit Dacă
Sfârşit Cât timp
det (A) = t (a11 a22 − a12 a21 )

2
2 Metode pentru inversarea matricelor

Exemplul 2.1 Pentru matricea:  


0 −1 1
A= 1 3 1 
1 1 2
avem:  
0 −1 1 1 0 0
B (1) = (A, I) =  1 3 1 0 1 0 .
1 1 2 0 0 1
Obţinem:  
1 1 1
 1 3 3
0
3
0 
 
 1 4 1 
B (2) =
 0 1 0 

 3 3 3 
 2 5 1 
0 0 − 1
3 3 3
 
1 2 1
 1 0 0 − 
 5 5 5 
 2 1 3 
B (3) =
 0 1 0 − 

 5 5 5 
 1 3 4 
0 0 − 1 −
5 5 5
 
1 0 0 1 1 −1
B (4) =  0 1 0 2 1 −1  = (I, C)
0 0 1 −5 −3 4
Inversa matricei A este A−1 = S1 S2 C.
Rezultă:  
−5 −3 4
A−1 = 1 1 −1  .
2 1 −1

3
Algoritmul 2 Metoda lui Gauss pentru inversarea matricelor.
Date de intrare:

- Matricea A = (aij )1≤i, j≤n .


Date de ieşire:

- Matricea A−1 = (αij )1≤i, j≤n , inversa matricei A


Pentru i = 1, 2, ..., n execută:
Pentru j = 1, 2, ..., n execută:
Dacă i ̸= j atunci:
ain+j = 0
sij = 0
altfel:
ain+j = 1
sij = 1
Sfârşit Dacă
Sfârşit Pentru
Sfârşit Pentru
Pentru k = 1, 2, ..., n − 1 execută:
|apq | = max |aij |
k≤i,j≤n
Dacă apq ̸= 0 atunci:
Dacă p ̸= k atunci:
Permută ı̂n (A, I) liniile p şi k
Sfârşit Dacă
Dacă q ̸= k atunci:
Permută ı̂n (A, I) şi S coloanele q şi k
Sfârşit Dacă
Pentru i = 1, 2, ..., k − 1, k + 1, ..., n execută:
Pentru j = k + 1, k + 2, ..., 2n execută:
aik akj
aij = aij −
akk
Sfârşit Pentru
aik = 0
Sfârşit Pentru
Pentru j = 2n, 2n − 1, ..., k execută:
akj
akj =
akk
Sfârşit Pentru
altfel:
Matricea A nu este inversabilă
STOP
Sfârşit Dacă
Sfârşit Pentru

4
Dacă ann ̸= 0 atunci:
Pentru i = 1, 2, ..., n − 1 execută:
Pentru j = n + 1, n + 2, ..., 2n execută:
ain anj
aij = aij −
ann
Sfârşit Pentru
ain = 0
Sfârşit Pentru
Pentru j = 2n, 2n − 1, ..., n execută:
anj
anj =
ann
Sfârşit Pentru
altfel:
Matricea A nu este inversabilă
STOP
Sfârşit Dacă
Pentru i = 1, 2, ..., n execută:
Pentru j = 1, 2, ..., n execută:
∑n
αij = sik akn+j
k=1
Sfârşit Pentru
Sfârşit Pentru

5
Algoritmul 3 Metoda iterativă pentru calculul inversei unei matrice A.
Date de intrare:

- Matricea A = (aij )1≤i,j≤n

Date de ieşire:
- A−1 , inversa matricei A
1
a11 =
a11
Pentru k = 1, 2, ..., n − 1 execută:
Pentru i = 1, 2, ..., k execută:
ui = aik+1
vi = ak+1i
Sfârşit Pentru
1
ak+1k+1 =
∑ ∑
k k
ak+1k+1 − vi aij uj
i=1 j=1
Pentru i = 1, 2, ..., k execută:
∑k
aik+1 = −ak+1k+1 aij uj
j=1
Sfârşit Pentru
Pentru j = 1, 2, ..., k execută:
∑k
ak+1j = −ak+1k+1 vi aij
i=1
Sfârşit Pentru
Pentru i = 1, 2, ..., k execută:
Pentru j = 1, 2, ..., k execută:
aik+1 ak+1j
aij = aij +
ak+1k+1
Sfârşit Pentru
Sfârşit Pentru
Sfârşit Pentru

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