# ManifoldDiff

The package **ManifoldDiff** aims to provide automatic calculation of Riemannian gradients of functions defined on manifolds. It builds upon `Manifolds.jl`

.

## Naming scheme

Providing a derivative, differential or gradient for a given function, this package adds that information to the function name. For example

`grad_f`

for a gradient $\operatorname{grad} f$`subgrad_f`

for a subgradient from the subdifferential$\partial f$`differential_f`

for $Df$ (also called pushforward)`differential_f_variable`

if`f`

has multiple variables / parameters, since a usual writing in math is $f_x$ in this case`adjoint_differential_f`

for pullbacks`adjoint_differential_f_variable`

if`f`

has multiple variables / parameters`f_derivative`

for $f'$

the scheme is not completely fixed but tries to follow the mathematical notation.