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_ffor a gradient $\operatorname{grad} f$
- subgrad_ffor a subgradient from the subdifferential$\partial f$
- differential_ffor $Df$ (also called pushforward)
- differential_f_variableif- fhas multiple variables / parameters, since a usual writing in math is $f_x$ in this case
- adjoint_differential_ffor pullbacks
- adjoint_differential_f_variableif- fhas multiple variables / parameters
- f_derivativefor $f'$
- jacobian_ffor Jacobian matrix of $f$.
- jacobian_f_variableif- fhas multiple parameters.
the scheme is not completely fixed but tries to follow the mathematical notation.