Expand description
Backend-agnostic hyperbolic primitives.
This module deliberately avoids committing to a tensor/array backend.
Everything operates on slices and returns Vec<T>.
The ndarray-based API remains available behind the ndarray feature.
§References (for rationale and cross-checking formulas)
- Nickel & Kiela (2017): Poincaré Embeddings for Learning Hierarchical Representations.
- Ganea, Bécigneul, Hofmann (2018): Hyperbolic Neural Networks (Poincaré + Lorentz tooling).
- Gromov (1987): Hyperbolic groups (δ-hyperbolicity; four-point conditions).
Notes:
- The
diagnosticssubmodule is intentionally “small n only” ((O(n^4)) exact δ) and exists to validate whether a dataset is plausibly tree-like before committing to heavier machinery.
Modules§
- conversions
- Core conversions between Poincaré and Lorentz models.
- diagnostics
- Diagnostics for “tree-likeness”.
Structs§
- Lorentz
Model Core - Lorentz (hyperboloid) model operations on slice inputs.
- Poincare
Ball Core - Poincaré ball operations on slice inputs.