4 ms·
Julia has some really cool libraries for index notation. I've made extensive use of TensorOperations.jl [1] and TensorCast.jl [2]. I find that the capabilities
by eigenspace 7y ago
Julia has some really cool libraries for index notation. I've made extensive use of TensorOperations.jl [1] and TensorCast.jl [2]. I find that the capabilities of these two complement each-other really well since TensorOperations.jl is a bit more restricted in the sort of operations it can do, but it does all sorts of really powerful analysis to find the optimal way of doing a given contraction whereas TensorCast.jl is super flexible, permissive and expressive but doesn't always generate an optimal contraction for big high dimensional contractions.
I'm excited to see what comes out of Andreas' summer work on his implementation of Einsum! There's definitely room for more cool ideas in this space. In particular, I think baking in AD functionality is a cool approach.
[1] https://github.com/Jutho/TensorOperations.jl https://github.com/Jutho/TensorOperations.jl
[2] https://github.com/mcabbott/TensorCast.jl https://github.com/mcabbott/TensorCast.jl