0
$\begingroup$

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

  • 0
    I believe what you are after is the Higher order singular value decomposition, which for a 3D array is known as the Tucker3 model. In R you can calculate it using function tucker in the multiway package. No idea if the concept of biplots could be extended to the multiway case though...2017-02-27

1 Answers 1

3

A three-dimensional (or higher-dimensional) array is called a tensor in mathematics. Thus, you're looking for a tensor SVD (or higher-order SVD). I don't know anything more, but possible starting points to learn about this is the article "A multilinear singular value decomposition" and the Wikipedia article.