Canonical Polyadic Decomposition (CPD) of a third-order tensor is a minimal decomposition into a sum of rank-1 tensors. We find new mild deterministic conditions for the uniqueness of individual rank-1 tensors in CPD and present an algorithm to recover them. We call the algorithm “algebraic” because it relies only on standard linear algebra. It does not involve more advanced procedures than the computation of the null space of a matrix and eigen/singular value decomposition. Simulations indicate that the new conditions for uniqueness and the working assumptions for the algorithm hold for a randomly generated I×J×K tensor of rank R≥K≥J≥I≥2 if R is bounded as e05785"> at least for the dimensions that we have tested. This improves upon the famous Kruskal bound for uniqueness 03b1af83fb3b936dd195b12e" title="Click to view the MathML source">R≤(I+J+K−2)/2 as soon as 03d9a97fa282740de1" title="Click to view the MathML source">I≥3.
In the particular case R=K, the new bound above is equivalent to the bound 3ee7be3a942149e8bcf315" title="Click to view the MathML source">R≤(I−1)(J−1) which is known to be necessary and sufficient for the generic uniqueness of the CPD. An existing algebraic algorithm (based on simultaneous diagonalization of a set of matrices) computes the CPD under the more restrictive constraint 03" title="Click to view the MathML source">R(R−1)≤I(I−1)J(J−1)/2 (implying that ). We give an example of a low-dimensional but high-rank CPD that cannot be found by optimization-based algorithms in a reasonable amount of time while our approach takes less than a second. We demonstrate that, at least for R≤24, our algorithm can recover the rank-1 tensors in the CPD up to 3ee7be3a942149e8bcf315" title="Click to view the MathML source">R≤(I−1)(J−1).