8.2 Tensor Decomposition Algorithms
CP, Tucker, and how the factors are computed.
These notes walk through the lecture slides. The original deck is unchanged; use (slides) on the course hub if you want that PDF.
Figures and notes follow Introduction to Tensor Decompositions and their Applications in Machine Learning.
1. Tucker decomposition
Tucker writes a tensor as a core tensor plus a factor matrix per mode. It is a higher-order PCA.
Core tensor. A compressed version of the original: the essential interactions, in a smaller array.
Factor matrices. Principal components in that mode. Multiply them with the core to stretch back to the original sizes.
2. Why higher-order PCA?
PCA decomposes a matrix into orthogonal components that capture variance. Tucker does the same for a tensor: a core, and matrices that capture variance along each mode.
PCA reduces matrix dimension by keeping the important components. Tucker reduces tensor dimension by keeping the important interactions. That is the analysis and visualization move for multiway data.
3. Practical benefits
Compression. Choose a core smaller than . Less storage, cheaper arithmetic.
Interpretability. Each column of a factor matrix is a principal component along that mode.
Flexibility. You choose the core size, so you choose how much you compress versus how much detail you keep. Other decompositions are less free here.
Picture the core as a small dense block of interactions, and each factor matrix as axes that stretch or compress that block back toward the data.
4. Problem formulation
For , find , , , solving

- is the core: how, and how much, elements interact.
- , , are the principal components in each mode.
- If , , , you compress: is the compressed .
Matricized form ( is Kronecker):
-way:
5. -rank
Before computing Tucker, you need -rank.
The -rank of is the column rank of the th unfolding , written .
This is not the tensor rank of the previous note.
6. Higher-order SVD (HOSVD)
For a given there is an exact Tucker decomposition of rank with . That factorization is HOSVD.
The idea: in each mode , find the components that best capture variation in that mode alone, ignoring the others for that step. PCA, one unfolding at a time.
HOSVD :
- For : set to the leading left singular vectors of .
- Core:
- Return .
7. Limitations of Tucker
- Cost. Factor matrices plus core are expensive for large tensors and high ranks.
- Memory. The core and the factors can be large.
- Initialization. Quality can depend on the starting factors; optimality is not guaranteed.
8. Canonical polyadic decomposition (CPD)
An alternative: write the tensor as a sum of a finite number of rank-1 tensors. CPD comes from CANDECOMP (canonical decomposition) and PARAFAC (parallel factors).

| Tucker | CPD | |
|---|---|---|
| Flexibility | Different ranks per mode; complex interactions | Rank-1 sum; simpler structure |
| Interpretability | Core shows how modes interact | Factor matrices as patterns in each mode |
| Compression / scale | Can compress well when interactions are complex | Cheaper; often scales better on large or high-order data |
Practice
-
In Tucker, what does the core tensor store that a CPD sum of rank-1 terms does not?
-
How does HOSVD choose each factor matrix ?
-
When might you prefer CPD to Tucker?