Manopt.jl

Optimization on 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 x on ℳ, i.e. the (or a) point where f attains its minimum.

Manopt.jl provides a framework for optimization on manifolds. Based on Manopt and MVIRT, both implemented in Matlab, this toolbox aims to provide an easy access to optimization methods on manifolds for Julia, including example data and visualization methods.

Getting started

In Julia you can get started by just typing

] add Manopt

then checkout the Get Started: Optimize! tutorial or the examples in this repository.

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.