infogeom
Information geometry on the probability simplex.
Quickstart
[]
# Not on crates.io yet; depend via git (pin `rev` for reproducibility).
= { = "https://github.com/arclabs561/infogeom" }
use ;
let p = ;
let q = ;
// Fisher-Rao geodesic midpoint.
let mid = fisher_rao_geodesic.unwrap;
// The midpoint is equidistant from both endpoints.
let d_full = rao_distance_categorical.unwrap;
let d_half = rao_distance_categorical.unwrap;
assert!;
API
Distances
| Function | Description |
|---|---|
rao_distance_categorical(p, q, tol) |
Fisher-Rao distance on the simplex (radians, range [0, pi]) |
hellinger(p, q, tol) |
Hellinger distance (re-exported from logp, range [0, 1]) |
Geodesics
All take (p, q, t, tol) where t in [0, 1] interpolates from p to q.
| Function | Alpha | Description |
|---|---|---|
fisher_rao_geodesic |
0 | Riemannian geodesic via sphere embedding (slerp) |
m_geodesic |
-1 | Mixture geodesic: linear interpolation in probability space |
e_geodesic |
+1 | Exponential geodesic: linear interpolation in log space (requires strictly positive entries) |
Fisher information and natural gradient
| Function | Description |
|---|---|
fisher_information_diagonal(p, tol) |
Diagonal of the Fisher information matrix: [1/p_1, ..., 1/p_n] |
natural_gradient(p, euclidean_grad) |
Natural gradient: p_i * g_i (inverse Fisher metric applied to Euclidean gradient) |
Tolerances
- Inputs are validated as simplex distributions (nonnegative, sum approximately 1) using
tol. - The
tolparameter also controls degenerate-case snapping (e.g., BC near 1.0).
References
- Amari & Nagaoka (2000), Methods of Information Geometry. Ch. 2-3 (Fisher metric, alpha-connections).
- Amari (1998), "Natural Gradient Works Efficiently in Learning", Neural Computation 10(2).
- Frank Nielsen's information geometry portal: franknielsen.github.io/IG
Examples
cargo run --example simplex_distances-- geodesics, distances, and natural gradientcargo run --example divergence_geometry-- cross-crate comparison withlogpdivergencescargo run --example ot_interpolation_geometry-- geodesics vs. optimal transport interpolation
Status
Not published on crates.io (publish = false).
License
MIT OR Apache-2.0