Comparison of tensor packages?

The representation of a tensor could be a multi dimensional array, but there are other representations. This thread is a bit outdated now, I’ve since created my own tensor algebra package Grassmann.jl where the representation is based on multivectors and DirectSum.jl. If you are only familiar with arrays and not multivectors having graded multi-linear space, it might seem strange. Yet, they actually offer a more insightful representation than multi-dimensional arrays, which are actually quite cumbersome and can have a lot of unnecessary redundancy compared to graded multivectors.

2 Likes

Looks like a really nice library, thanks for mentioning!

update:

  • ITensors (Julia port of the C++ library ITensor) is available now. It uses a new type ITensor, and provides a high-level interface for tensor operations without having to specify index orders or reshape tensors.
1 Like

Lots of great discussion… so, if I were interested in exploring General Relativity within Julia, which package would I be looking for??

I found Tensorial.jl which has almost the same functionality and performance as the Tensors.jl but supports arbitrary size of tensors.

1 Like

I think this is where I should have asked my question. Is there any package that can solve multilinear equations where tensors are represented in a compressed format? I am thinking of ALS or some other optimisation type method or SVD type, whatever works.

Have you tried Zarr.jl? You could also try using the zfp_jll wrapper if you want to roll your own.