https://github.com/blegat/manopt.jl
🏔️Manopt. jl – Optimization on Manifolds in Julia
Science Score: 41.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.6%) to scientific vocabulary
Repository
🏔️Manopt. jl – Optimization on Manifolds in Julia
Basic Info
- Host: GitHub
- Owner: blegat
- License: other
- Default Branch: master
- Homepage: http://manoptjl.org
- Size: 23.7 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
Readme.md
Manopt.jl
Optimization Algorithm on Riemannian Manifolds.
For a function $f: ℳ → ℝ$ that maps from a Riemannian manifold ℳ to the real line, we aim to solve
Find the minimizer p on ℳ, i.e. the (or a) point where f attains its minimum.
Manopt.jl provides
- A framework to implement arbitrary optimization algorithms on Riemannian Manifolds
- A library of optimization algorithms on Riemannian manifolds
- an easy-to-use interface for (debug) output and recording values during an algorithm run.
- several tools to investigate the algorithms, gradients, and optimality criteria
Getting started
In Julia you can get started by just typing
julia
using Pkg; Pkg.add("Manopt");
and then checkout the Get Started: Optimize! tutorial.
Related packages
Manopt.jl is based on ManifoldsBase.jl,
hence the algorithms can be used with any manifold following this interface for defining
a Riemannian manifold.
The following packages are related to Manopt.jl
Manifolds.jl– a library of manifolds implemented usingManifoldsBase.jl:octocat: GitHub repositoryManifoldsDiff.jl– a package to use (Euclidean) AD tools on manifolds, that also provides several differentials and gradients. :octocat: GitHub repository
Citation
If you use Manopt.jl in your work, please cite the following
biblatex
@article{Bergmann2022,
Author = {Ronny Bergmann},
Doi = {10.21105/joss.03866},
Journal = {Journal of Open Source Software},
Number = {70},
Pages = {3866},
Publisher = {The Open Journal},
Title = {Manopt.jl: Optimization on Manifolds in {J}ulia},
Volume = {7},
Year = {2022},
}
To refer to a certain version or the source code in general we recommend to cite for example
biblatex
@software{manoptjl-zenodo-mostrecent,
Author = {Ronny Bergmann},
Copyright = {MIT License},
Doi = {10.5281/zenodo.4290905},
Publisher = {Zenodo},
Title = {Manopt.jl},
Year = {2022},
}
for the most recent version or a corresponding version specific DOI, see the list of all versions. Note that both citations are in BibLaTeX format.
Further and Similar 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
Did you use Manopt.jl somewhere? Let us know! We'd love to collect those here as well.
Owner
- Name: Benoît Legat
- Login: blegat
- Kind: user
- Location: Boston, MA, USA
- Company: LIDS, MIT
- Website: blegat.github.io
- Repositories: 48
- Profile: https://github.com/blegat
Citation (CITATION.bib)
@article{Bergmann2022,
AUTHOR = {Ronny Bergmann},
DOI = {10.21105/joss.03866},
JOURNAL = {Journal of Open Source Software},
NUMBER = {70},
PAGES = {3866},
PUBLISHER = {The Open Journal},
TITLE = {Manopt.jl: Optimization on Manifolds in Julia},
VOLUME = {7},
YEAR = {2022}
}
@software{Bergmann2023-zenodo,
AUTHOR = {Ronny Bergmann},
COPYRIGHT = {MIT License},
DOI = {10.5281/zenodo.4290905},
PUBLISHER = {Zenodo},
TITLE = {Manopt.jl},
YEAR = {2016--2022},
}
GitHub Events
Total
- Push event: 20
- Create event: 7
Last Year
- Push event: 20
- Create event: 7