TensorKitchen.jl Documentation

TensorKitchen.jl is a Julia package for tensor decompositions.

Notes

The package is currently at a pre-alpha stage.

The implementation is based on combining algebraic algorithms like ALS (see, e.g., the textbook by Kolda and Ballard) and Riemannian optimization from Manopt.jl.

What currently works is

  • Canonical Polyadic Decomposition (CPD)
  • Tucker Decomposition
  • Nonnegative Canonical Polyadic Decomposition (NNCPD)
  • Block Term Decomposition (BTD)
  • Join Decompositions

The next updates will include

  • Handling of swamps/plateaus in the optimization step
  • Documentation
  • Improved User Interface
  • GPU Support
  • LL1 Decomposition (3-way specialized BTD)
  • Symmetric CP / Waring Decomposition
  • Partially Symmetric CP
  • Tensor Trains