cartan-optim
Riemannian optimization algorithms for cartan.
Part of the cartan workspace.
Overview
cartan-optim implements first- and second-order optimization algorithms
that operate on any manifold implementing traits from cartan-core. Each
algorithm requires progressively richer geometry:
| Algorithm | Function | Trait requirements |
|---|---|---|
| Riemannian Gradient Descent | minimize_rgd |
Manifold + Retraction |
| Riemannian Conjugate Gradient | minimize_rcg |
+ ParallelTransport |
| Riemannian Trust Region | minimize_rtr |
+ Connection |
| Frechet Mean (Karcher flow) | frechet_mean |
Manifold |
All solvers return an OptResult containing the final point, objective
value, gradient norm, and iteration count.
Example
use SVector;
use Manifold;
use Sphere;
use ;
let s2 = ;
let config = default;
let p0 = from;
// Minimize f(p) = -p[0] on S^2, driving p toward [1, 0, 0].
let result = minimize_rgd;