I want to compute a matrix of the form

$$(D+AA^{\prime})^{-1} AA^{\prime} \tag{1}$$

where $D$ is a diagonal matrix and $A$ is a $p \times k$ matrix with $p \gg k$. I got this expression after applying Woodbury matrix identity to another matrix, and it will not help to use it again.

I was wondering if there exists some approximation to the matrix of the above form so that I do not have to calculate the inverse directly. Thanks!

  • $\begingroup$ Since $p\gg k$ wouldn't it be better to work with Woodbury in the form $(I+A'D^{-1}A)^{-1}$ instead? BTW is $D$ positive? $\endgroup$
    – A.Γ.
    May 24, 2017 at 20:56
  • $\begingroup$ Thanks! Yes, it is. I have some other problem with Woodbury. As p is large, the matrix $(I+A^{\prime}D^{-1}A)^{-1}$ is over-informative, i.e., all the entries are very large, and I can not numerically invert that. That is why, I used Woodbury, and now I need some approximation of given matrix, post-multiplied by a vector. $\endgroup$ May 24, 2017 at 21:05
  • $\begingroup$ Yes, entries of $D$ are all positive. $\endgroup$ May 24, 2017 at 21:11
  • $\begingroup$ One possibility is to write your matrix as $I-(D+AA')^{-1}D=I-(I+D^{-1}A\cdot A')^{-1}$ and try to run rank-one update $k$ times. Another option is to try conjugate directions method. $\endgroup$
    – A.Γ.
    May 24, 2017 at 21:22
  • $\begingroup$ Related question $\endgroup$
    – A.Γ.
    May 24, 2017 at 21:29


You must log in to answer this question.

Browse other questions tagged .