# Manifolds

The package **Manifolds** aims to provide a library of manifolds to be used within your project. 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

`] 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 certain version we recommend to also cite for example

```
@softawre{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.