Manopt.jl inherited its name from Manopt, a Matlab toolbox for optimization on manifolds. This Julia package was started and is currently maintained by Ronny Bergmann.
The following people contributed
- Constantin Ahlmann-Eltze implemented the gradient and differential check functions
- Renée Dornig implemented the particle swarm, the Riemannian Augmented Lagrangian Method, the Exact Penalty Method, as well as the
- Willem Diepeveen implemented the primal-dual Riemannian semismooth Newton solver.
- Even Stephansen Kjemsås contributed to the implementation of the Frank Wolfe Method
- Tom-Christian Riemer Riemer implemented the trust regions and quasi Newton solvers.
- Manuel Weiss implemented most of the conjugate gradient update rules
...as well as various contributors providing small extensions, finding small bugs and mistakes and fixing them by opening PRs.
If you want to contribute a manifold or algorithm or have any questions, visit the GitHub repository to clone/fork the repository or open an issue.
Further Packages & Links
Manopt.jl belongs to the Manopt family:
- manopt.org – The Matlab version of Manopt, see also their :octocat: GitHub repository
- pymanopt.org – The Python version of Manopt – providing also several AD backends, see also their :octocat: GitHub repository
but there are also more packages providing tools on manifolds:
- Jax Geometry (Python/Jax) for differential geometry and stochastic dynamics with deep learning
- Geomstats (Python with several backends) focusing on statistics and machine learning :octocat: GitHub repository
- Geoopt (Python & PyTorch) – Riemannian ADAM & SGD. :octocat: GitHub repository
- McTorch (Python & PyToch) – Riemannian SGD, Adagrad, ASA & CG.
- ROPTLIB (C++) a Riemannian OPTimization LIBrary :octocat: GitHub repository
- TF Riemopt (Python & TensorFlow) Riemannian optimization using TensorFlow