Comparison of tensor packages?

Okay, so it seems like the summary is:

  • The C++ iTensor library may get ported to Julia soon.

  • The JuliaTensors GitHub organization appears to be abandoned.

  • TensorFlow doesn’t have anything to do with tensors in the standard CS sense of the word, but instead is a ML framework.

  • TensorKit (if that name is still available) will hopefully replace Jutho’s abandoned package TensorToolbox sometime in the next few months. It will provide a new Tensor type that is completely independent of Julia’s AbstractArray hierarchy.

  • TensorOperations does tensor operations (mainly contractions) on large Base arrays of arbitrary dimensions.

  • Tensors can only handle tensors of rank 1, 2, or 4, in which every index ranges over the same dimension 1, 2, or 3. But it can efficiently handle symmetric and antisymmetric tensors and automatic differentiation.

  • Jutho’s TensorToolbox is currently abandoned.

  • lanaperisa’s TensorToolbox reproduces the functionality of Matlab’s Tensor toolbox, but does not have a built-in implementation of tensor contraction.

  • TensorWorkbench and TensorBase have not been updated in several years and appear to be abandoned.

  • Xtensor implments Julia bindings for the C++ xtensor library.

15 Likes