Sunteți pe pagina 1din 4

DETERMINAREA PSEUDOINVERSEI UNEI MATRICE GENERALE

O generalizare a inversei unei matrice o reprezint pseudoinversa Moore-Penrose.

Teorema lui Penrose:


Fie matricea AMmn(R). Atunci exist i este unic matricea BMnm(R) astfel nct
1. ABA = A
2. BAB = B
3. (AB)T = AB
4. (BA)T = BA
B se noteaz cu A+ i se numete pseudoinversa (Penrose) corespunztoare matricei A.
Aadar, A+ verific urmtoarele relaii
AA+A = A
A+AA+ = A+
(AA+)T = AA+
(A+A)T = A+A
Alte proprieti ale pseudoinversei:
1. Dac A este inversabil, atunci A+ = A-1.
2. Dac AAT = Im, atunci A+ = AT.
3. Dac ATA = In, atunci A+ = AT.
4. Dac AAT este inversabil, atunci A+ =AT(AAT)-1.
5. Dac ATA este inversabil, atunci A+ = (ATA)-1AT.
6. 0T = 0.
7. (A+)+ = A.
1
8. Pentru orice 0, R+ avem ( A+) = A+.

9. A+ = (ATA)+A+ = AT(AAT)+.
10. rang A = rang A+.
1 T
2 a , a 0
11. Pentru orice a R avem a = a
n +
.
0, a 0

Algoritmul lui Greville pentru determinarea matricei A+ (SIAM, Nr.2, 15, 1960)
Fie a1, , an coloanele matricei AMmn(R) date.
Notm cu Ak = (a1 a2 ak) matricea format din primele k coloane ale matricei A.
nti se calculeaz:
1 T
+ 2 (a1 ) , a1 0
( A1 ) = a1 Mm1(R)
0, a = 0
1
Apoi, pentru k = 2, 3, , n se calculeaz
(I A (A )+ ) a +
k 1 k 1 k , (I A
m 2 m k 1 ( Ak 1 ) ) a k 0
(I A ( A )+ ) a
m k 1 k 1 k
pk = + T +
Mm1(R)
(( Ak 1 ) ) ( Ak 1 ) a k , ( I A ( A ) + ) a = 0
2 m k 1 k 1 k
+
1 + ( Ak 1 ) a k

1
i
( A ) + ( I m a k ( pk ) T )
( Ak ) + = k 1 Mkm(R).
T
( pk )
La final, ( An ) + = A+ .

Exemplul 1: S se determine pseudoinversa matricei A = 1 2 0 .


1 0 2
Avem a1 = 1 , a2 = 2 , a3 = 0 , A1 = 1 , A2 = 1 2 , A3 = 1 2 0 .
1 0 2 1 1 0 1 0 2
Cum a1 = 12 + (1) 2 = 2 0 avem
1
( A1 ) + = (a1 )T = (1/2 -1/2).
2
a1
Pentru k = 2:
(I2 A1 (A1)+) a2 = 1 0 1 (1 / 2 1 / 2) 2 = 1
0 1 1 0 1
i cum
|| (I3 A1 (A1)+) a2 || = 2 0
rezult c
p2 =
( 1 1) = (-1/2 -1/2)
2
2
i folosind
(A1)+(I2 a2(p2)T) = (1/2 1/2) 1 0 2 ( 1 / 2 1 / 2 ) = (0 -1)
0 1 0
se obine
(A2)+ = 0 1 .
1 / 2 1 / 2
Pentru k = 3:
(I2 A2 (A2)+) a3 = 1 0 1 2 0 1 0 = 0
0 1 1 0 1 / 2 1 / 2 2 0
i cum
|| (I2 A2 (A2)+) a3 || = 0
rezult c
0 1 / 2 0 1 0 0 1 / 2 2

(( A2 ) + )T ( A2 ) + a3 1 1 / 2 1 / 2 1 / 2 2 1 1 / 2 1
p3= = =
+ 2 2 2
1 + ( A2 ) a3 0 1 0 2
1 + 1 +
1 / 2 1 / 2 2 1
1/ 2

5 / 2 1 / 12
= =
2
1+ 5 5 / 12
i folosind

2
0 1 1 0 0
(A2)+(I2 a3(p3)T) = (1 / 12 5 / 12) =
1 / 2 1 / 2 0 1 2
1 1
0 1 1 0 0 0 0 1 1 0
= = = 6 6
1 / 2 1 / 2 0 1 1 / 6 5 / 6 1 / 2 1 / 2 1 / 6 1 / 6 5 1
12 12
se obine
1/ 6 1/ 6

(A3) = 5 / 12 1 / 12 = A+.
+

1 / 12 5 / 12

(Suplimentar, se poate verifica c: A+A = A, A+AA+ = A+, (AA+)T = AA+, (A+A)T = A+A)

Observaie:
n Matlab se poate determina pseudoinversa unei matrice folosind funcia pinv:

>> format rat


>> a = [1 -2 0; -1 0 2];
>> pinv(a)
ans =
1/6 -1/6
-5/12 -1/12
1/12 5/12

1 1 0
Exemplul 2: S se determine pseudoinversa matricei A = 1 1 1 .
1 0 0

1
Cum a1 = 1 i a1 = 12 + 12 + 12 = 3 0 avem
1

1
( A1 ) + = (a1 )T = (1/3 1/3 1/3).
2
a1

Pentru k = 2:
1 0 0 1 1 1 1 1 1 / 3
(I3 A1 (A1)+) a2 = 0 1 0 1 1 = 1 / 3
0 0 1 1 3 3 3 0 2 / 3
i cum
2
|| (I3 A1 (A1)+) a2 || = 0
3
rezult c
p2 =
(1 / 3 1 / 3 2 / 3)
= (1/2 1/2 -1)
2
2/3
i folosind
1 0 0 1
(A1)+(I3 a2(p2)T) = (1/3 1/3 1/3) 0 1 0 1 (1 / 2 1 / 2 1) = (0 0 1)
0 0 1 0
se obine
3
(A2)+ = 0 0 1 .
1 / 2 1 / 2 1
Pentru k = 3:
1 0 0 1 1 0 1 1
(I3 A2 (A2)+) a3 = 0 1 0 1 1 1 0/ 2 1 0/ 2 11 1 = 1
0 0 1 1 0 0

2 0
i cum
1
|| (I3 A2 (A2)+) a3 || = 0
2
rezult c
p3 =
( 1 / 2 1 / 2 0) = (-1 1 0)
2
1/ 2
i folosind
(A2)+(I3 a3(p3)T) = 0 0 1
1 0 1
se obine
0 0 1
(A3)+ = 1 0 1 = A+.
1 1 0

Cum matricea dat A este nesingular avem c A+ = A-1.

1 2 3
Tem: Determinai pseudoinversa (inversa generalizat) matricei A = ,
0 1 1
1 0

respectiv A = 0 1 .
1 1

2 / 3 5 / 3
2 / 3 1 / 3 1 / 3
Soluie: A = 1 / 3 4 / 3 , respectiv A+ =
+
.
1/ 3 1/ 3 1 / 3 2 / 3 1 / 3