Skip to content

flgoyens/Manopt.jl

 
 

Repository files navigation

Manopt.jl

Optimization Algorithm on Riemannian Manifolds.

Code Style: Blue CI codecov DOI DOI

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

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

Citation

If you use Manopt.jl in your work, please cite the following

@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

@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:

but there are also more packages providing tools on manifolds:

Did you use Manopt.jl somewhere? Let us know! We'd love to collect those here as well.

About

Optimization on Manifolds in Julia

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 98.8%
  • Other 1.2%