  A new implementation of the canonical polyadic decomposition (CPD) is
presented. It features lower computational complexity and memory usage than the
available state of art implementations available. The CPD of tensors is a
challenging problem which has been approached in several manners. Alternating
least squares algorithms were used for a long time, but they convergence
properties are limited. Nonlinear least squares (NLS) algorithms - more
precisely, damped Gauss-Newton (dGN) algorithms - are much better in this
sense, but they require inverting large Hessians, and for this reason there is
just a few implementations using this approach. In this paper, we propose a
fast dGN implementation to compute the CPD. In this paper, we make the case to
always compress the tensor, and propose a fast damped Gauss-Newton
implementation to compute the canonical polyadic decomposition.
