The SVD gives us a way to decompose a square matrix A into a sum of outer products with a minimal number of terms. In other words, given
[U,S,V]=svd(A); V=S*V;
I can reconstruct A as follows,
A=0; for i=1:length(A) A=A+U(:,i)*V(i,:); end
My quesion is, is there an analog of this decomposition in N-dimensions. For a 3D array, for example, can we find a minimal decomposition into triple outer products,
A=0; for i=1:? A=A+U(:,i)*V(i,:)*reshape( W(:,i) 1,1,[] ); end
Best Answer