Einsum

In linear algebra and mathematical physics, there is a notational convention called Einstein Notation. The python package numpy implements a function called einsum, which is the first hit when googling the term. Several Julia packages exists that implement einsum functionality.

Packages

Tullio.jl

GitHub Repo stars deps Tullio Downloads
GitHub last commit (branch) version Coverage
This package implements a macro @tullio, which it describes as

a very flexible einsum macro. It understands many array operations written in index notation – not just matrix multiplication and permutations, but also convolutions, stencils, scatter/gather, and broadcasting.

Einsum.jl

GitHub Repo stars deps Einsum Downloads
GitHub last commit (branch) version
From README.md of this package:

This package exports a single macro @einsum, which implements similar notation to the Einstein summation convention to flexibly specify operations on Julia Arrays, similar to numpy's einsum function (but more flexible!).

OMEinsum.jl

GitHub Repo stars deps OMEinsum Downloads
Stable Dev GitHub last commit (branch) version Coverage
From README.md of this package:

This is a repository for the Google Summer of Code project on Differentiable Tensor Networks. It implements one function that both computer scientists and physicists love, the Einstein summation

TensorOperations.jl

GitHub Repo stars deps TensorOperations Downloads
Stable Dev GitHub last commit (branch) version Coverage

TensorCast.jl

GitHub Repo stars deps TensorCast Downloads
Stable Dev GitHub last commit (branch) version Coverage

ArrayMeta.jl

GitHub Repo stars
GitHub last commit (branch)

ArrayMeta.jl exists, but the package is not maintained and registered.

Tortilla.jl

Tortilla.jl was announced in JuliaCon2018, but the package is not public yet.

Star History

This website is a community effort covering a lot of ever-changing information. It will therefore never be complete or without error. If you see something wrong, or have something to contribute, please see the "Contributing" section in the github repository.

Last modified: May 03, 2024. Built with Franklin.jl