Tensorial.jl
Tensorial.jl provides statically sized tensor types for Julia. They behave like AbstractArrays, but carry tensor-specific structure such as symmetry.
This manual is organized by what you want to do. If you are new to Tensorial, start with Getting Started; it gives a short executable tour of the main pieces: tensor construction, operations, @einsum, symmetry, automatic differentiation, and direct sums.
Installation
Install Tensorial with Julia's package manager:
pkg> add TensorialChoose by task
- Understand tensor spaces, aliases, and symmetry in tensor types: Tensor Types and Spaces.
- Create vectors, matrices, higher-order tensors, and symmetric tensors: Constructing Tensors.
- Write contractions, tensor products, and indexed formulas: Operations.
- Differentiate tensor formulas and get tensor results back: Automatic Differentiation.
- Pack several related unknowns into one block-structured state: Direct Sum.
- Convert tensors at array boundaries with Voigt or Mandel notation: Voigt Form.
- Work with 3D rotations and quaternions: Quaternion.
- Check practical notes for writing Tensorial code: Practical Tips.
Reference pages
- Look up public signatures and docstrings: API Reference.
- Check small-tensor performance against
ArrayandSArray: Benchmarks.