4

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 $$

cangrejo
  • 1,279

1 Answers1

1

The inputs are a full column rank matrix $\mathbf{A}^{m\times n}_{n}$ and its singular value decomposition: $$ \begin{align} \mathbf{A} &= \mathbf{U} \, \Sigma \, \mathbf{V}^{*} \\ % &= % U \left[ \begin{array}{cc} \color{blue}{\mathbf{U}_{\mathcal{R}}} & \color{red}{\mathbf{U}_{\mathcal{N}}} \end{array} \right] % Sigma \left[ \begin{array}{c} \mathbf{S}_{n\times n} \\ \mathbf{0} \end{array} \right] % V \left[ \begin{array}{c} \color{blue}{\mathbf{V}_{\mathcal{R}}}^{*} \end{array} \right] \\ % \end{align} $$ Colors distinguish $\color{blue}{range}$ spaces from $\color{red}{null}$ spaces.

Think of the input matrix as being column-partitioned like so $$ \mathbf{A} = \left[ \begin{array}{c|c} \mathbf{A}_{1} & \mathbf{A}_{2} \end{array} \right] $$

The question is that if we are given $\mathbf{A}$ and its singular value decomposition, can we use that to construct the singular value decomposition of $\mathbf{A}_{1}$?

Special case

The obvious special case is when we miraculously grab all the linearly independent columns in the range space $\color{blue}{\mathcal{R}\left( \mathbf{A} \right)}$: $$ \mathbf{A} = \left[ \begin{array}{c|c} \mathbf{A}_{1} & \mathbf{A}_{2} \end{array} \right] % = % \left[ \begin{array}{c|c} \color{blue}{\mathbf{U}_{\mathcal{R}}} & \color{red}{\mathbf{U}_{\mathcal{N}}} \end{array} \right] $$ In this case, we can construct the SVD and pseudoinverse from existing components. $$ \begin{align} % \mathbf{A}_{1} &= \color{blue}{\mathbf{U}_{\mathcal{R}}} \, \mathbf{S} \, \color{blue}{\mathbf{V}^{*}_{\mathcal{R}}}, \\ % \mathbf{A}_{1}^{+} &= \color{blue}{\mathbf{V}_{\mathcal{R}}} \, \mathbf{S}^{-1} \, \color{blue}{\mathbf{U}^{*}_{\mathcal{R}}}. \\ % \end{align} $$

dantopa
  • 10,342