Faster search for tensor decomposition over finite fields
Jason Yang
TL;DR
The paper tackles exact determination of rank-$R$ CPDs for tensors over finite fields, focusing on concise tensors and providing two polynomial-space algorithms with improved exponential running times: a general algorithm with time $O^*(|\mathbb{F}|^{\min\{R,\sum_{d\ge2} n_d\} + (R-n_0)(\sum_{d\ne0} n_d)})$ and, for 3D tensors, a specialized algorithm with time $O^*(|\mathbb{F}|^{n_0+n_2 + (R-n_0+1-r_*)(n_1+n_2)+r_*^2})$, where $r_* = \left\lfloor R/n_0\right\rfloor+1$. A key preprocessing step converts any tensor to a concise form without changing the rank, enabling tighter complexity bounds. The main improvement avoids fixing a submatrix in the factorization, while a 3D-specific enhancement leverages matrix factorization counting to further reduce the search space. Experiments on small tensors demonstrate practical speedups over previous constraint-programming approaches, and the authors discuss potential pruning and ordering strategies to further accelerate exact search in practice.
Abstract
We present an $O^*(|\mathbb{F}|^{\min\left\{R,\ \sum_{d\ge 2} n_d\right\} + (R-n_0)(\sum_{d\ne 0} n_d)})$-time algorithm for determining whether the rank of a concise tensor $T\in\mathbb{F}^{n_0\times\dots\times n_{D-1}}$ is $\le R$, assuming $n_0\ge\dots\ge n_{D-1}$ and $R\ge n_0$. For 3-dimensional tensors, we have a second algorithm running in $O^*(|\mathbb{F}|^{n_0+n_2 + (R-n_0+1-r_*)(n_1+n_2)+r_*^2})$ time, where $r_*:=\left\lfloor\frac{R}{n_0}\right\rfloor+1$. Both algorithms use polynomial space and improve on our previous work, which achieved running time $O^*(|\mathbb{F}|^{n_0+(R-n_0)(\sum_d n_d)})$.
