Project DelphiTensors Workshop

Rotational freedom versus rigidity

Tucker’s factors are only defined up to an invertible change of basis per mode. Replace U⁽ⁿ⁾ by U⁽ⁿ⁾Qₙ and the core by 𝒢 ×ₙ Qₙ⁻¹, and the tensor does not change. A rotated core can be dense and still describe exactly the same tensor, so “core entry g₁₀₁ is large” is a statement about a basis you chose, not about the data.

CP’s only freedoms are rescaling within a term and reordering the terms — which is why libraries return normalized factors plus a vector of weights. Rotating CP’s factors breaks the fit.

That rigidity makes CP components essentially unique under Kruskal’s condition. It is why a CP component can be read and a Tucker factor, on its own, cannot — and, as the kernel shows, it is also what can make CP unstable.