cartan

Changelog

Release history for the cartan crate and this documentation site.

v0.1.0: 2026-03-13

Initial release. Core trait system and first two manifolds.

Library (cartan)

Traits

  • Manifold: root trait with exp, log, dist, inner, project_tangent, project_point, random_point, random_tangent, check_point, check_tangent
  • Retraction: first-order retraction with blanket impl via Manifold::exp
  • Connection: Levi-Civita connection, covariant_derivative, christoffel
  • ParallelTransport: exact isometric transport along geodesics; blanket impl provides VectorTransport
  • VectorTransport: approximate transport for optimizers
  • Curvature: sectional, ricci_tensor, scalar_curvature
  • GeodesicInterpolation: geodesic(p, q, t) and midpoint

Manifolds

  • Sphere<N>: $(N-1)$-sphere in . Implements all 7 traits. Closed-form exp/log, exact parallel transport, constant curvature $K = 1$, numerical Taylor expansions for small angles and near-antipodal points.
  • Euclidean<N>: flat . Implements all 7 traits. Trivial formulas, zero curvature, infinite injectivity radius.

Error handling

  • CartanError enum: PointNotOnManifold, NotATangentVector, AntipodalPoints, DimensionMismatch, NumericalFailure

Sub-crates

  • cartan-core: trait definitions and CartanError
  • cartan-manifolds: Sphere, Euclidean implementations
  • cartan-interop: nalgebra and ndarray adaptors

Documentation site (cartan.sotofranco.dev)

  • Landing page with trait hierarchy diagram and manifold card grid
  • Getting Started guide with installation and first example
  • Concept pages: Manifold, Retraction, Transport, Connection, Curvature, Geodesic Interpolation, Error Handling
  • Manifold pages: Sphere (full), Euclidean (full), SO(N) / SPD(N) / Grassmann (geometry previews, coming soon)
  • KaTeX math rendering, Shiki syntax highlighting, light/dark theme
  • Docs layout with collapsible sidebar, table of contents, prev/next navigation

Upcoming: Phase 2

Lie Groups

  • SO<N>: special orthogonal group with bi-invariant metric, matrix exp/log, QR retraction
  • SE<N>: special Euclidean group (rigid motions)

Optimization (cartan-optim)

  • Riemannian gradient descent with Armijo line search
  • Riemannian conjugate gradient (Fletcher–Reeves)
  • Riemannian Adam

Geometry (cartan-geo)

  • Fréchet mean (gradient descent + Karcher flow)
  • Geodesic sampling along curves
  • Riemannian interpolation splines

Discrete Exterior Calculus (cartan-dec)

  • Well-centered Delaunay meshes
  • Diagonal Hodge stars
  • Exterior derivative operator
  • Covariant Laplacian (for PDE solvers)