  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\times J\times K$ tensor of rank $R\geq K\geq J\geq
I\geq 2$ if $R$ is bounded as $R\leq (I+J+K-2)/2 + (K-\sqrt{(I-J)^2+4K})/2$ at
least for the dimensions that we have tested. This improves upon the famous
Kruskal bound for uniqueness $R\leq (I+J+K-2)/2$ as soon as $I\geq 3$.
  In the particular case $R=K$, the new bound above is equivalent to the bound
$R\leq(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 $R(R-1)\leq I(I-1)J(J-1)/2$ (implying that
$R<(J-\frac{1}{2})(I-\frac{1}{2})/\sqrt{2}+1$). On the other hand,
optimization-based algorithms fail to compute the CPD in a reasonable amount of
time even in the low-dimensional case $I=3$, $J=7$, $K=R=12$. By comparison, in
our approach the computation takes less than $1$ sec. We demonstrate that, at
least for $R\leq 24$, our algorithm can recover the rank-$1$ tensors in the CPD
up to $R\leq(I-1)(J-1)$.
