About
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
NonmonotoneLinesearch
- Willem Diepeveen implemented the primal-dual Riemannian semismooth Newton solver.
- Hajg Jasa implemented the convex bundle method and the proximal bundle method.
- Even Stephansen Kjemsås contributed to the implementation of the Frank Wolfe Method solver
- Mathias Ravn Munkvold contributed most of the implementation of the Adaptive Regularization with Cubics solver
- Tom-Christian 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
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