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<T> and SpatialMatrix<T> support small spatial calculations without heap allocation. Vector<T>, Matrix<T>, and their fixed-size counterparts provide Eigen-compatible algebra; LinearSystem<Operator, Vector> groups system data and constraint elimination. These types support geometric mappings, constitutive calculations, assembly, and linear solves.

Benchmarks

LinearSystem

Linear-system operations.

1 benchmark

Scalar

Scalar contractions.

1 benchmark

SparseAlgebra

Sparse products and reductions on manufactured finite-element systems.

1 benchmark

SpatialAlgebra

Fixed-capacity spatial arithmetic and contraction timings.

1 benchmark

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.

4 benchmarks

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.

3 benchmarks