# Iterative solver for the pseudo inverse

I have got the following equation:

$\begin{bmatrix} \hat{c}\\ \hat{\lambda} \end{bmatrix}=\begin{bmatrix} B^T \cdot B & H^T\\ H & 0 \end{bmatrix}^+\begin{bmatrix} B^T \cdot Y\\ 0 \end{bmatrix}$

Which can be rewritten as:

$\begin{bmatrix} \hat{c}\\ \hat{\lambda} \end{bmatrix}=\begin{bmatrix} C_1 & C_2\\ C_3 & C_4 \end{bmatrix}\begin{bmatrix} B^T \cdot Y\\ 0 \end{bmatrix}$

Where $\hat{c}$ and $\hat{\lambda}$ are vectors and $(B^T \cdot B)$, $H$ and $B^T\cdot Y$ are block matrices. The '+' sign indicates the Moore-Penrose pseudo inverse.

I am able to use an iterative solver to find $\hat{c}$. However, I would like to obtain the diagonal elements of matrix $C_1$ as well. Unfortunately I cannot use Matlab's pinv function because the matrix is too large. Any ideas?

• Is $B^TB$ invertible? Also, does $H$ have full row rank? – Daryl May 25 '13 at 21:10