4 ms·
There's also a lot of work going on in that direction right now. I'd check out NamedDims.jl[1] and AxisArrays.jl[2]. This approach is more similar to an EinSum
by eigenspace 7y ago
There's also a lot of work going on in that direction right now. I'd check out NamedDims.jl[1] and AxisArrays.jl[2]. This approach is more similar to an EinSum type apprach than you seem to realize though.
The main difference between this sort of approach and the approach in an EinSum esque package is that these packages actually encode the name of the dimensions in the type signature of the array whereas an Einsum-esque approach, the names are just temporary labels for the purposes of the macro call.
[1] https://github.com/invenia/NamedDims.jl https://github.com/invenia/NamedDims.jl
[2] https://github.com/JuliaArrays/AxisArrays.jl https://github.com/JuliaArrays/AxisArrays.jl
- oxinabox 7y ago(Dev of NamedDims here) Currently having a (mostly in my head) debate about adding automatic permutation based on names to make operations legal if there is permutation of names that is legel. which would result in `*` act kinda like tensor contraction (but only for matrix matrix / matrix vectors) Also towards adding something like, making einsum work where you just specify the left-hand side of the einsum and then it uses the encoded names. (Rather than the temporay labels) PRs to add that feature are welcome