The most well-known generalization of the inverse of a matrix is the Moore-Penrose pseudoinverse. But there is another notion of generalized inverse, the Drazin pseudoinverse, for square matrices.
If a matrix A has an inverse A−1 then it also has a Moore-Penrose pseudoinverse A+ and a Drazin pseudoinverse AD and
A−1 = A+ = AD.
When the matrix A is not invertible the two notions of pseudoinverse might not agree.
One way to think about the two generalized inverses is that both are based on a canonical form. The Moore-Penrose pseudoinverse is based on the singular value decomposition. The Drazin inverse is based on the Jordan canonical form.
Jordan canonical form
Every square matrix A can be put into Jordan canonical form
P−1 A P = J
where J is the Jordan canonical form and P is an invertible matrix whose columns are the generalized eigenvectors of A.
If the matrix A is diagonalizable, the matrix J is diagonal. Otherwise the matrix J is block diagonal. Each block has an eigenvalue on the diagonal; the size of the block equals the multiplicity of the eigenvalue. There are 1s on the diagonal above the main diagonal and zeros everywhere else.
If all the eigenvalues of A are non-zero, the matrix is invertible and it is easy to compute the inverse from the Jordan form. To invert J, simply invert each block of J. This is clear from the way you multiply partitioned matrices.
To find the inverse of A, multiply on the left by P and on the right by P−1. That is,
A−1 = P J−1 P−1.
Proof:
A (P J−1 P−1) = (P J P−1)(P J−1 P−1) = I
Drazin pseudoinverse
One way to compute the Drazin inverse, at least in theory, is from the Jordan canonical form. In practice, you might want to compute the Drazin inverse a different way.
If all the eigenvalues of A are non-zero, A is invertible and its Drazin pseudoinverse is its inverse.
If zero is an eigenvalue, the block(s) in J corresponding to 0 cannot be inverted. If a block is 1 by 1 then it just has a zero in it. If a block is larger, it will have 1’s above the main diagonal. Replace the 1s by 0s. This gives us the Drazin pseudoinverse of J. To obtain the pseudoinverse of J, multiply on the left by P and on the right by P−1 just as above.
Categorization
The Drazin pseudoinverse can be categorized by a few properties just as the Moore-Penrose pseudoinverse. Let’s compare the properties.
The defining properties of the Moore-Penrose pseudoinverse A+ of a matrix A are
- A A+ A = A
- A+ A A+ = A+
- (A A+)* = A A+
- (A+ A)* = A+ A
The defining properties of the Drazin pseudoinverse are
- A AD = AD A
- AD A AD = AD
- Ak+1 AD = A Ak
where k is the smallest non-negative integer such that rank(Ak + 1) = rank(Ak).
The second properties of each pseudoinverse are analogous. The first property of Drazin inverse is sorta like the 3rd and 4th properties of the Moore-Penrose pseudoinverse.
The analog of A A+ A = A does not hold; in general A AD A does not equal A.
The Drazin property Ak+1 AD = A Ak is nothing like any property for Moore-Penrose. It suggests that Drazin inverses behave nicely when you raise them to exponents, which is true.
You can see this exponent condition in the Jordan normal form. The blocks in J corresponding to a 0 eigenvector are nilpotent, i.e. they become zero when you raise them to a high enough power. When you raise J to some power k, the same k as above, the nilpotent blocks go away.
Note that although the Moore-Penrose pseudoinverse is symmetric, the Drazin inverse is not. That is (A+)+ = A but (AD)D ≠ A in general.
Related posts
The post Drazin pseudoinverse first appeared on John D. Cook.