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 data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si1.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=f6de898797ba556d5fd0597b31bf6257" title="Click to view the MathML source">I×J×K tensor of rank data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si2.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=4d7c74b65baff1cdf1ad2719b01fc739" title="Click to view the MathML source">R≥K≥J≥I≥2 if R is bounded as data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si3.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=46382bf2f5161f01eaf99696e8e05785">data-inlimgeid="1-s2.0-S002437951630492X-si3.gif"> at least for the dimensions that we have tested. This improves upon the famous Kruskal bound for uniqueness data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si4.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=c007a50703b1af83fb3b936dd195b12e" title="Click to view the MathML source">R≤(I+J+K−2)/2 as soon as data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si5.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=1c26b74db1d2f003d9a97fa282740de1" title="Click to view the MathML source">I≥3.
In the particular case data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si6.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=ce7737c9ed7edde190c7645e4a21d2ec" title="Click to view the MathML source">R=K, the new bound above is equivalent to the bound data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si194.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=d43df3f83f3ee7be3a942149e8bcf315" 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 data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si8.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=fc633c849a1f3849b8e7eb69ba9e9b03" title="Click to view the MathML source">R(R−1)≤I(I−1)J(J−1)/2 (implying that data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si9.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=2caf5463fa1b9b944ab5dd1f0871ed50">data-inlimgeid="1-s2.0-S002437951630492X-si9.gif">). 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 data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si10.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=486125734e02de25e433221b8d83af6f" title="Click to view the MathML source">R≤24, our algorithm can recover the rank-1 tensors in the CPD up to data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S002437951630492X&_mathId=si194.gif&_user=111111111&_pii=S002437951630492X&_rdoc=1&_issn=00243795&md5=d43df3f83f3ee7be3a942149e8bcf315" title="Click to view the MathML source">R≤(I−1)(J−1).