natto builds reusable operators for irreducible Cartesian tensors (ICTs, also known
as natural tensors) Wen, 2026:
extraction operators, taking a Cartesian tensor to its ICTs, and embedding operators, taking each ICT back;
the same for physical tensors with intrinsic symmetry;
coupling operators, coupling two ICTs into a third;
harmonic operators, building Cartesian harmonics.
Every operator is exact, a sum of products of Kronecker deltas and Levi-Civita symbols with rational coefficients, and depends only on the rank and symmetry of the tensor, so it is built once and applied to any tensor of that class.
Installation¶
git clone https://github.com/wengroup/natto.git
cd natto
pip install -e .Contents¶
Extraction and embedding: extraction and embedding operators, in the dual and orthonormal bases and with intrinsic symmetry.
Cartesian harmonics: Cartesian harmonics of a direction.
Coupling: coupling two ICTs into a third.
Reduction: the extraction and embedding operators together.
Implementation notes: how
nattocomputes the operators of Wen, 2026.Dev guide: installing from source, code style, and building the docs.
API: the public functions.
Changelog: notable changes.
Other functions, not shown in those pages:
get_composed_operators: each embedding operator composed with its extraction operator, taking a tensor straight to its part of a weight and channel.get_gram_matrices: the exact Gram matrix of the mapping tensors of each weight.get_natural_projector: the natural projector of a weight.
- Wen, M. (2026). Reusable Operators for Irreducible Cartesian Tensor Decomposition and Coupling. arXiv Preprint arXiv:2609.05971. 10.48550/arXiv.2609.05971