Skip to main content

Crate cartan

Crate cartan 

Source
Expand description

§cartan

Riemannian geometry, manifold optimization, and geodesic computation in Rust.

This is the top-level facade crate. It re-exports the most commonly used items from the sub-crates so that downstream users only need one dependency: cartan = "0.1".

§Crate structure

  • cartan-core – abstract trait system (Manifold, Retraction, etc.)
  • cartan-manifolds – concrete manifolds (Sphere, SO(N), SE(N), …)
  • cartan-optim – optimization algorithms (RGD, RCG, trust region)
  • cartan-geo – geodesic and curvature tools
  • cartan-dec – discrete exterior calculus: simplicial complexes, Hodge operators, and covariant differential operators for PDE solvers (requires std)

§no_std / embedded usage

The default full feature includes cartan-dec, which requires std. For embedded and no_std targets, disable default features and select a tier:

# no_std with allocator (recommended for most embedded targets)
cartan = { version = "0.1", default-features = false, features = ["alloc"] }

# std without cartan-dec (no mesh/PDE layer)
cartan = { version = "0.1", default-features = false, features = ["std"] }

See the README for the full feature tier table.

§Prelude

Import use cartan::prelude::*; to bring all traits into scope. This lets you call .exp(), .log(), .inner() etc. on any manifold without individually importing each trait.

Re-exports§

pub use cartan_core as traits;
pub use cartan_dec as dec;
pub use cartan_geo as geo;
pub use cartan_manifolds as manifolds;
pub use cartan_optim as optim;

Modules§

prelude
Prelude module: import with use cartan::prelude::* to bring all traits into scope.