A Normal Form Algorithm for Tensor Rank Decomposition
Simon Telen, Nick Vannieuwenhoven
TL;DR
This work addresses the tensor rank decomposition problem by recasting CPD as solving a low-degree polynomial system derived from the kernel of a tensor flattening. It then applies a multi-homogeneous eigenvalue approach via homogeneous normal forms to extract the CPD factors in a non-iterative, linear-algebraic fashion. The authors introduce the notion of multigraded regularity to bound the problem’s complexity and provide conjectures and proven cases that support polynomial-time behavior in many practical tensor formats. Extensive numerical experiments show that the proposed cpd_hnf algorithm achieves higher accuracy and lower memory usage than state-of-the-art methods, even for large, high-order tensors, and demonstrates robustness to noise. The method offers a scalable, algebraically grounded alternative to optimization-based tensor decompositions with potential extensions to higher-order and symmetric tensor settings.
Abstract
We propose a new numerical algorithm for computing the tensor rank decomposition or canonical polyadic decomposition of higher-order tensors subject to a rank and genericity constraint. Reformulating this computational problem as a system of polynomial equations allows us to leverage recent numerical linear algebra tools from computational algebraic geometry. We characterize the complexity of our algorithm in terms of an algebraic property of this polynomial system -- the multigraded regularity. We prove effective bounds for many tensor formats and ranks, which are of independent interest for overconstrained polynomial system solving. Moreover, we conjecture a general formula for the multigraded regularity, yielding a (parameterized) polynomial time complexity for the tensor rank decomposition problem in the considered setting. Our numerical experiments show that our algorithm can outperform state-of-the-art numerical algorithms by an order of magnitude in terms of accuracy, computation time, and memory consumption.
