Computing the Moore-Penrose pseudoinverse of a submatrix

601 Views Asked by At

Given a rank-$n$ $m\times n$ real matrix $\boldsymbol{A}$ with singular value decomposition $$ \boldsymbol{A} = \boldsymbol{U}\boldsymbol{\Sigma} \boldsymbol{V}^T $$ and an $m \times k$ matrix $\boldsymbol{C}$ whose columns are a subset of the columns of $\boldsymbol{A}$, is there a way to obtain the Moore-Penrose generalized inverse of $\boldsymbol{C}$ efficiently, taking advantage of the fact that I have already computed the SVD of $\boldsymbol{A}$?

Note that if the SVD of $\boldsymbol{C}$ is $$ \boldsymbol{C} = \boldsymbol{U}'\boldsymbol{\Sigma}' (\boldsymbol{V}')^T $$ then the Moore-Penrose generalized inverse of $\boldsymbol{C}$ is $$ \boldsymbol{C}^+ = \boldsymbol{V}'(\boldsymbol{\Sigma}')^{-1}(\boldsymbol{U}')^T $$