ruvector_math/product_manifold/mod.rs
1//! Product Manifolds: Mixed-Curvature Geometry
2//!
3//! Real-world data often combines multiple structural types:
4//! - **Hierarchical**: Trees, taxonomies → Hyperbolic space (H^n)
5//! - **Flat/Grid**: General embeddings → Euclidean space (E^n)
6//! - **Cyclical**: Periodic patterns → Spherical space (S^n)
7//!
8//! Product manifolds combine these: M = H^h × E^e × S^s
9//!
10//! ## Benefits
11//!
12//! - **20x memory reduction** on taxonomy data vs pure Euclidean
13//! - **Better hierarchy preservation** through hyperbolic components
14//! - **Natural cyclical modeling** through spherical components
15//!
16//! ## References
17//!
18//! - Gu et al. (2019): Learning Mixed-Curvature Representations in Product Spaces
19//! - Skopek et al. (2020): Mixed-Curvature VAEs
20
21mod config;
22mod manifold;
23mod operations;
24
25pub use config::{ProductManifoldConfig, CurvatureType};
26pub use manifold::ProductManifold;
27
28// Re-export batch operations (used internally by ProductManifold impl)
29#[doc(hidden)]
30pub mod ops {
31 pub use super::operations::*;
32}