# Tucker decomposition

In mathematics, Tucker decomposition decomposes a tensor into a set of matrices and one small core tensor. It is named after Ledyard R. Tucker although it goes back to Hitchcock in 1927. Initially described as a three-mode extension of factor analysis and principal component analysis it may actually be generalized to higher mode analysis, which is also called higher-order singular value decomposition (HOSVD).

It may be regarded as a more flexible PARAFAC (parallel factor analysis) model. In PARAFAC the core tensor is restricted to be "diagonal".

In practice, Tucker decomposition is used as a modelling tool. For instance, it is used to model three-way (or higher way) data by means of relatively small numbers of components for each of the three or more modes, and the components are linked to each other by a three- (or higher-) way core array. The model parameters are estimated in such a way that, given fixed numbers of components, the modelled data optimally resemble the actual data in the least squares sense. The model gives a summary of the information in the data, in the same way as principal components analysis does for two-way data.

For a 3rd-order tensor $T\in F^{n_{1}\times n_{2}\times n_{3}}$ , where $F$ is either $\mathbb {R}$ or $\mathbb {C}$ , Tucker Decomposition can be denoted as follows,

$T={\mathcal {T}}\times _{1}U^{(1)}\times _{2}U^{(2)}\times _{3}U^{(3)}$ where ${\mathcal {T}}\in F^{d_{1}\times d_{2}\times d_{3}}$ is the core tensor, a 3rd-order tensor that contains the 1-mode, 2-mode and 3-mode singular values of $T$ , which are defined as the Frobenius norm of the 1-mode, 2-mode and 3-mode slices of tensor ${\mathcal {T}}$ respectively. $U^{(1)},U^{(2)},U^{(3)}$ are unitary matrices in $F^{d_{1}\times n_{1}},F^{d_{2}\times n_{2}},F^{d_{3}\times n_{3}}$ respectively. The j-mode product (j = 1, 2, 3) of ${\mathcal {T}}$ by $U^{(j)}$ is denoted as ${\mathcal {T}}\times U^{(j)}$ with entries as

{\begin{aligned}({\mathcal {T}}\times _{1}U^{(1)})(n_{1},d_{2},d_{3})&=\sum _{i_{1}=1}^{d_{1}}{\mathcal {T}}(i_{1},d_{2},d_{3})U^{(1)}(i_{1},n_{1})\\({\mathcal {T}}\times _{2}U^{(2)})(d_{1},n_{2},d_{3})&=\sum _{i_{2}=1}^{d_{2}}{\mathcal {T}}(d_{1},i_{2},d_{3})U^{(2)}(i_{2},n_{2})\\({\mathcal {T}}\times _{3}U^{(3)})(d_{1},d_{2},n_{3})&=\sum _{i_{3}=1}^{d_{3}}{\mathcal {T}}(d_{1},d_{2},i_{3})U^{(3)}(i_{3},n_{3})\end{aligned}} Taking $d_{i}=n_{i}$ for all $i$ is always sufficient to represent $T$ exactly, but often $T$ can be compressed or efficiently approximately by choosing $d_{i} . A common choice is $d_{1}=d_{2}=d_{3}=\min(n_{1},n_{2},n_{3})$ , which can be effective when the difference in dimension sizes is large.

There are two special cases of Tucker decomposition:

Tucker1: if $U^{(2)}$ and $U^{(3)}$ are identity, then $T={\mathcal {T}}\times _{1}U^{(1)}$ Tucker2: if $U^{(3)}$ is identity, then $T={\mathcal {T}}\times _{1}U^{(1)}\times _{2}U^{(2)}$ .

RESCAL decomposition  can be seen as a special case of Tucker where $U^{(3)}$ is identity and $U^{(1)}$ is equal to $U^{(2)}$ .