cartan-core
Core trait definitions for Riemannian geometry.
Part of the cartan workspace.
Overview
cartan-core defines the foundational trait hierarchy that all cartan
manifolds, optimizers, and geometric tools depend on. It has minimal
dependencies (only rand for RNG trait bounds) and can be used standalone
by downstream crates that implement custom manifolds against the cartan
trait system.
The trait hierarchy is:
Manifold (exp, log, inner, project, validate)
|
+-- Retraction (cheaper exp approximation)
+-- ParallelTransport -> VectorTransport (blanket impl)
+-- Connection (Riemannian Hessian)
| |
| +-- Curvature (Riemann tensor, Ricci, scalar)
+-- GeodesicInterpolation (gamma(t) sampling)
All floating-point computation uses the Real type alias (currently f64),
so that a future generic refactor is mechanical. The crate also provides
CartanError for structured error handling across the workspace.
Example
use ;
/// Check that a point lies on the manifold and compute a tangent norm.
no_std
Disable default features and enable alloc for embedded targets:
= { = "0.1", = false, = ["alloc"] }