Question: Decompose a third order tensor into pure tensors?

If you construct the tensor product W of an m- and an n-dimensional vector space, U and V, then you can view the elements of W as m by n matrices (by picking a basis for U and V). The rank one matrices are the elements that can be written as the tensor product of (nonzero) vectors u in U and v in V; this corresponds to writing the matrix as u.v, if we view U as containing column vectors and V as containing row vectors; these elements are called pure tensors in the tensor language. SVD writes an arbitrary element of W as a linear combination of pure tensors of norm one.

In the post that this question is related to, John views a colour image as a big matrix, constructed by concatenating the matrices for the three channels (luminance and two chroma channels (YUV) in his post, but you can think of red, green, and blue instead). He then applies SVD to decompose it into pure second order tensors. I would argue that the more natural representation of a colour image is as an element of a third order tensor space, R3 tensored with a matrix space. (You can view the elements of these third order tensor spaces as three-dimensional arrangements of numbers, just as you can view second order tensors as two-dimensional arrangements of numbers.) So I think we should decompose an image into pure third order tensors. In particular, this means that in each pure tensor, the "matrix" for each of the channels is the same; they are only combined with different coefficients. However, off the top of my head I don't know of an algorithm that will do this for me. Does anyone have an idea?

Erik Postma
Maplesoft.

P.S. In math, many words are overloaded heavily; I would normally use the word rank for what I used order for here, but there clearly was a conflict.

Please Wait...