Math

Published configurations

Spatial arithmetic, matrix operations, and sparse linear algebra.

SpatialVector<Real> a{1, 2, 3};
SpatialVector<Real> b{4, 5, 6};
const Real product = dot(a, b);       // 32
const auto normal = a.cross(b);      // {-3, 6, -3}
const Real length = a.norm();        // sqrt(14)

SpatialVector and SpatialMatrix support small spatial calculations without heap allocation. Vector, Matrix, and their fixed-size counterparts provide Eigen-compatible algebra; LinearSystem groups system data and constraint elimination. These types support geometric mappings, constitutive calculations, assembly, and linear solves.

Benchmarks

LinearSystem

Linear-system operations.

Scalar

Scalar contractions.

SparseAlgebra

Sparse products and reductions on manufactured finite-element systems.

SpatialAlgebra

Fixed-capacity spatial arithmetic and contraction timings.

SpatialMatrix

SpatialMatrix benchmarks separate arithmetic, contractions, products and matrix decompositions. Ordinary multiplication obeys \(C_{ij}=\sum_k A_{ik}B_{kj}\), without conjugation of complex operands. Right-conjugated scalar contractions are identified separately.

SpatialVector

SpatialVector represents a small vector with runtime active dimension and bounded storage. The suite separates arithmetic, storage lifetime, scalar products, norms and cross products.