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.
Contributors
Thanks to the following contributors to Manopt.jl
:
- 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
. These solvers are also the first one with modular/exchangable sub solvers. - Willem Diepeveen implemented the primal-dual Riemannian semismooth Newton solver.
- Hajg Jasa implemented the convex bundle method and the proximal bundle method and a default subsolver each of them.
- 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 as well as its Lanczos subsolver
- Tom-Christian Riemer implemented the trust regions and quasi Newton solvers as well as the truncated conjugate gradient descent subsolver.
- Markus A. Stokkenes contributed most of the implementation of the Interior Point Newton Method as well as its default Conjugate Residual subsolver
- 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. Thanks to all of you.
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.
Work using Manopt.jl
- ExponentialFamilyProjection.jl package uses
Manopt.jl
to project arbitrary functions onto the closest exponential family distributions. The package also integrates withRxInfer.jl
to enable Bayesian inference in a larger set of probabilistic models. - Caesar.jl within non-Gaussian factor graph inference algorithms
Is a package missing? Open an issue! It would be great to collect anything and anyone using Manopt.jl
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 in other languages
- 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