---- > [!definition] Definition. ([[compact svd]]) >For $A \in \mathbb{F}^{M \times N}$ with [[rank]] $0\textcolor{Skyblue}{<}r\textcolor{Skyblue}{<}\min(M,N)$, we can partition the [[Singular Value Decomposition of a Matrix|SVD]] components as follows: $A=\sum_{k=1}^{r}\sigma_{k}u_{k}v_{k}'=\overbrace{\begin{bmatrix} \begin{array}{r|r} U_{r} & U_{0}\\ \end{array} \end{bmatrix}}^{U}\overbrace{\begin{bmatrix} \begin{array}{c|c} \Sigma_{r} & 0 \\ \hline 0 & 0 \\ \end{array} \end{bmatrix}}^{\Sigma}\overbrace{\begin{bmatrix} \begin{array}{r|r} V_{r} & V_{0}\\ \end{array} \end{bmatrix}'}^{V'}=U_{r}\Sigma_{r}V_{r}'.$ >where $\Sigma _r$ is $r \times r$ and contains the *nonzero* [[singular values]] of $A$ along its [[diagonal]]. >\ >Here, $\begin{align} U_{r}= & \begin{bmatrix}u_{1} & \dots & u_{r} \end{bmatrix}, \\ U_{0} = & \begin{bmatrix} u_{r+1} & \dots & u_{M} \end{bmatrix},\\ V_{r}= & \begin{bmatrix} v_{1} & \dots & v_{r} \end{bmatrix},\\ V_{0}= & \begin{bmatrix} v_{r+1} & \dots & v_{N} \end{bmatrix}. \end{align}$ In the tall case and with $r=N (\leq M)$, $V=V_{r}$ and there is no $V_{0}$. In the wide case and with $r=M (\leq N),$ $U=U_{r}$ and there is no $U_{0}$. > [!basicexample] Example. ([[Outer product]] [[Singular Value Decomposition of a Matrix|SVD]]) Consider the $M \times N$ [[rank 1 iff outer product|outer product]] [[matrix]] $A=bc'$ with $b \neq 0_{M}$ and $c \neq 0_{N}$. $\begin{align} bc'=\underbrace{\frac{b}{\|b\|} \overbrace{\|b\| \|c\|}^{\sigma_{1}}\frac{c'}{\|c\|}}_{\text{Compact SVD}}=\underbrace{\begin{bmatrix} \begin{array}{r|r} \frac{b}{\|b\|} & U_{0}\\ \end{array} \end{bmatrix}\begin{bmatrix} \begin{array}{c|c} \|b\| \cdot \|c\|& 0 \\ \hline 0 & 0 \\ \end{array} \end{bmatrix} \begin{bmatrix} \begin{array}{r|r} \frac{c}{\|c\|} & V_{0}'\\ \end{array} \end{bmatrix}}_{\text{Full SVD}}. \end{align}$ ---- #### ---- #### References > [!backlink] > ```dataview TABLE rows.file.link as "Further Reading" FROM [[]] FLATTEN file.tags GROUP BY file.tags as Tag > [!frontlink] > ```dataview TABLE rows.file.link as "Further Reading" FROM outgoing([[]]) FLATTEN file.tags GROUP BY file.tags as Tag