Manifolds
Manifolds.Manifolds
— ModuleManifolds.jl
provides a library of manifolds aiming for an easy-to-use and fast implementation.
The implemented manifolds are accompanied by their mathematical formulae.
The manifolds are implemented using the interface for manifolds given in ManifoldsBase.jl
. You can use that interface to implement your own software on manifolds, such that all manifolds based on that interface can be used within your code.
For more information, see the About section.
Getting started
To install the package just type
using Pkg; Pkg.add("Manifolds")
Then you can directly start, for example to stop half way from the north pole on the Sphere
to a point on the the equator, you can generate the shortest_geodesic
. It internally employs log
and exp
.
using Manifolds
M = Sphere(2)
γ = shortest_geodesic(M, [0., 0., 1.], [0., 1., 0.])
γ(0.5)
3-element Vector{Float64}:
0.0
0.7071067811865475
0.7071067811865476
Citation
If you use Manifolds.jl
in your work, please cite the following
@online{2106.08777,
Author = {Seth D. Axen and Mateusz Baran and Ronny Bergmann and Krzysztof Rzecki},
Title = {Manifolds.jl: An Extensible Julia Framework for Data Analysis on Manifolds},
Year = {2021},
Eprint = {2106.08777},
Eprinttype = {arXiv},
}
To refer to a specific version, it is recommended to cite, for example,
@software{manifoldsjl-zenodo-mostrecent,
Author = {Seth D. Axen and Mateusz Baran and Ronny Bergmann},
Title = {Manifolds.jl},
Doi = {10.5281/ZENODO.4292129},
Url = {https://zenodo.org/record/4292129},
Publisher = {Zenodo},
Year = {2021},
Copyright = {MIT License}
}
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.