MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to compute the Drazin inverse $A^D$ of a singular M-matrix $A$, i.e., a matrix in the form $A=\lambda I -P$, where $P$ has nonnegative entries and $\lambda$ is the spectral radius (Perron value) of $P$. I already know the right and left eigenvectors $v$ and $u^T$ of $P$ with eigenvalue $\lambda$ (that is, the vectors in the left and right kernel of $A$).

1) Is there a Matlab subroutine around for computing Drazin inverses? I can't seem to find any, so I had to create my own (which is probably very inefficient)

2) Is there a way to exploit the knowledge of the two nullspaces (and the fact that they are 1-dimensional) to speed up this computation?

share|cite|improve this question
Have you seen already? – J. M. Oct 2 '10 at 1:32
@J. M. I don't have access to the full-text from my institution, but from the abstract it does not seem related to what I'm doing. I already know the Perron right and left eigenvectors, I need to compute the group/Drazin inverse – Federico Poloni Oct 2 '10 at 12:34
By the way, an answer to question (ii) for the Moore-Penrose pseudo-inverse instead of the Drazin inverse would be most welcome as well. – Federico Poloni Oct 2 '10 at 12:35
Hey, I don't know if you've already found an answer to this, but it looks to me that the results of and might be applicable to your problem. – J. M. Dec 14 '11 at 13:28
The first link is a "DOI not found". I'll check the second, though, thanks! – Federico Poloni Dec 14 '11 at 20:11

If you have access to Matlab, and the matrix is not gigantic you can use the following to calculate the Drazin inverse:

1) Determine the index of A - when does rank(A^k) = rank(A^(k+1))

2) Solve the linear system A^(k+1) * X = A^k

3) Use the fact that Ad, the Drazin inverse, is given by

     Ad =  A^(k) * X^(k+1)

Jim Shoaf, N. C. Central University

share|cite|improve this answer
Thanks! Could you please expand on how to solve that singular linear system? If I am not missing some crucial detail, it could even be $0X=0$, for instance in the case when A=[0 1; 0 0]. – Federico Poloni Aug 26 '15 at 22:06

This one might have some pertinent leads:

share|cite|improve this answer
Interesting paper, thanks! – Federico Poloni May 16 '12 at 11:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.