geomstats/geomstats
Computations and statistics on manifolds with geometric structures.
What it solves
Geomstats provides a framework for performing computations, statistics, and machine learning on manifolds. It allows researchers and developers to apply learning algorithms to data that does not live in a flat Euclidean space, such as rotations, shapes, or information manifolds, without needing to implement the complex underlying differential geometry from scratch.
How it works
The library is split into two primary modules:
- Geometry: Implements the mathematical foundations of differential geometry, including Riemannian metrics, Lie groups, fiber bundles, and shape spaces.
- Learning: Implements statistics and machine learning algorithms specifically designed for manifold-valued data.
It supports multiple backends for numerical computation, allowing users to switch between NumPy, Autograd, or PyTorch depending on their needs for automatic differentiation or GPU acceleration.
Who it’s for
It is designed for data scientists, mathematicians, and ML researchers working with non-Euclidean data, such as 3D rotations, curves, surfaces, and other geometric structures.
Highlights
- Flexible Backends: Compatible with NumPy, Autograd, and PyTorch.
- Broad Geometric Support: Includes implementations for Lie groups, information manifolds, and shape spaces.
- High-Level API: Users can run complex geometric algorithms (like Tangent PCA) by simply instantiating a manifold and an algorithm.
- Specialized Modules: Dedicated tools for information geometry and learning from landmarks, curves, and surfaces.