SVD – Singular Value Decomposition of a Three-Dimensional Array Explained

svd

The Singular Value Decomposition (SVD) of a matrix is
$$A_{m\times n} = U_{m\times m}\Lambda_{m\times n} V_{n\times n}'$$
where $U$ and $V$ are orthogonal matrices and $\Lambda$ has (i, i) entry $\lambda_i \geq 0$ for $i = 1, 2, \cdots , min(m, n)$ and the other entries are zero. Then the left singular vectors $U$ for rows of matrix and right singular vectors $V$ for columns of matrix can be plotted on the same graph called bi-plot.

I'm wondering how to do the SVD of a three dimensional array and plot the singular vectors on the same graph like bi-plot.

Thanks

Best Answer

There are several notions of decomposition of such a tensor. Last year I asked essentially the same question on the MaplePrimes site, answered it myself by referring to wikipedia, and provided an implementation for one of those notions (the CANDECOMP/PARAFAC decomposition) in a follow-up post (applied to decomposing the $3\times m \times n$ tensor given by the R,G,B entries of an image).