Skip to main content

Crate cartan_core

Crate cartan_core 

Source
Expand description

§cartan-core

Core trait definitions for Riemannian geometry.

This crate defines the foundational traits that all cartan manifolds, optimizers, and tools depend on. It has minimal dependencies (only rand for the Rng trait bound) and can be used standalone by downstream crates that want to implement custom manifolds against the cartan trait system.

§Trait hierarchy

Manifold (base: 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)

§The Real type alias

All floating-point computation uses Real, currently aliased to f64. This exists so that a future version can generify over T: Scalar with a mechanical find-and-replace refactor.

Re-exports§

pub use connection::Connection;
pub use curvature::Curvature;
pub use error::CartanError;
pub use geodesic::GeodesicInterpolation;
pub use manifold::Manifold;
pub use retraction::Retraction;
pub use transport::ParallelTransport;
pub use transport::VectorTransport;

Modules§

connection
The Connection trait: Riemannian Hessian-vector products.
curvature
The Curvature trait: Riemann curvature tensor and derived quantities.
error
Error types for cartan operations.
geodesic
The GeodesicInterpolation trait: sampling points along geodesics.
manifold
The fundamental Manifold trait.
retraction
The Retraction trait: cheap approximations to the exponential map.
transport
Parallel transport and vector transport traits.

Type Aliases§

Real
The floating-point type used throughout cartan.