Tensorial.jl
Introduction
Tensorial.jl provides statically sized Tensor type that is compatible with AbstractArray, similar to SArray from StaticArrays.jl. In addition to supporting basic AbstractArray operations, the package offers a tensorial interface and several advanced features:
- Contraction, tensor product (
⊗), and a flexible@einsummacro for Einstein summation convention - A
@Symmetrymacro to define the tensor symmetries, eliminating unnecessary calculations - Automatic differentiation via
gradientandhessianfunctions, leveraging ForwardDiff.jl - Performance comparable to
SArray(see benchmarks)
Installation
pkg> add TensorialOther tensor packages
Inspiration
Some functionalities are inspired from the following packages: