TensorDec

Package for the decomposition of tensors and polynomial-exponential series.

Introduction

The package TensorDec.jl provides tools for the following decomposition problems:

Symmetric tensor decomposition

For symmetric tensors or multivariate homogeneous polynomials $\sigma(\mathbf{x}) = \sum_{|\alpha|=d} \sigma_{\alpha} {d \choose \alpha} \mathbf{x}^{\alpha}$, we consider their Waring decomposition:

\[ \sigma(\mathbf{x}) = \sum_{i=1}^r \omega_i\, (\xi_{i,1} x_1+ \cdots + \xi_{i,n} x_n)^d\]

with r minimal.

Multilinear tensor decomposition

For multilinear tensors, $\sigma=(\sigma_{i,j,k})\in E_1 \otimes E_2 \otimes E_3$ we consider the decomposition:

\[ \sigma = \sum_{i=1}^r \omega_i\, U_i^1 \otimes U_i^2 \otimes U_i^3\]

with $U_i^j \in E_j$ vectors and r minimal.

Tutorials

Manual

Installation

The package is available at https://github.com/AlgebraicGeometricModeling/TensorDec.jl.

To install it from Julia:

] add https://github.com/AlgebraicGeometricModeling/TensorDec.jl

It can then be used as follows:

using TensorDec

For more details, see the tutorials.

Dependencies

The package TensorDec depends on the following packages:

  • LinearAlgebra standard package for linear algebra.
  • DynamicPolynomials package on multivariate polynomials represented as lists of monomials.
  • MultivariatePolynomials generic interface package for multivariate polynomials.
  • MultivariateSeries for duality on multivariate polynomials.

These packages are installed with TensorDec (see installation).