Differentiation backends
ManifoldDiff.set_default_differential_backend!
— Functionset_default_differential_backend!(backend)
Set current backend for differentiation to backend
.
ManifoldDiff.default_differential_backend
— Functiondefault_differential_backend()
Get the default differentiation backend.
Euclidian backends
Euclidian backend objects can be taken from ADTypes.jl. See the documentation of DifferentiationInterface.jl for the list of supported packages.
EmbeddedDiff
ManifoldDiff.ExplicitEmbeddedBackend
— TypeExplicitEmbeddedBackend{TF<:NamedTuple}
A backend to use with the RiemannianProjectionBackend
or the TangentDiffBackend
, when you have explicit formulae for the gradient in the embedding available.
Constructor
ExplicitEmbeddedBackend(M::AbstractManifold; kwargs)
Construct an ExplicitEmbeddedBackend
in the embedding M
, where currently the following keywords may be used
gradient
for a(n allocating) gradient functiongradient(M, p)
defined in the embeddinggradient!
for a mutating gradient functiongradient!(M, X, p)
.
Note that the gradient functions are defined on the embedding manifold M
passed to the Backend as well