tmech

INSTALLATION

  • Install
  • Changelog

USAGE

  • Getting started
  • Expressions and lazy evaluation
  • Tensors as arrays

QUICK REFERENCE TMECH

  • Basic arithmetic
  • Basis rearrangement
  • Outer product
  • Inner product
  • Invers of a tensor
  • Volumetric and deviatoric parts
  • Symmetric and skew-symmetric parts
  • Isotropic tensor functions
  • Positive-negative decomposition
  • Eigen-decomposition
  • Sign decomposition
  • Polar decomposition
  • Exponential map
  • Isotropic tensor functions
  • Tensor decompositions
  • Numerical differentiation
  • Compare Operators
  • Adapting pointers of raw memory
  • Converting to Voigt’s notation

SYMBOLIC DIFFERENTIATION

  • Symbolic differentiation

API REFERENCE TMECH

  • Tensors
  • Wrapper

API REFERENCE SYMDIFF

  • Variable
  • Wrappers

DESIGN

  • Design and architecture
  • Comparison with related libraries
tmech
  • Comparison with related libraries
  • View page source

Comparison with related libraries¶

Feature

tmech

Eigen

FTensor

Fastor

Header-only

Yes

Yes

Yes

Yes

Arbitrary-rank tensors

Yes

Yes [1]

Yes

Yes

Expression templates

Yes

Yes

Yes

Yes

Symbolic differentiation

Yes [2]

No

No

No

Isotropic tensor functions

Yes

No

No

No

Decomposition derivatives

Yes

No

No

No

SIMD support

Optional

Yes

No

Yes

Index notation

Implicit

N/A

Yes

Yes

[1]

Eigen provides arbitrary-rank tensors only through its unsupported Eigen::Tensor module.

[2]

Experimental; see Symbolic differentiation.

The distinguishing feature of tmech is the integration of symbolic differentiation with tensor algebra. All four libraries provide expression templates for efficient evaluation; among them, only tmech also differentiates tensor expressions symbolically to produce tangent operators at compile time. General-purpose automatic-differentiation tools (such as Sacado, CoDiPack, autodiff, and Enzyme) achieve differentiation by other means (run-time tapes or external code generation).

Previous

© Copyright 2022-2026, Peter Lenz.

Built with Sphinx using a theme provided by Read the Docs.