Differentiation backends

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.ExplicitEmbeddedBackendType
ExplicitEmbeddedBackend{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 function gradient(M, p) defined in the embedding
  • gradient! for a mutating gradient function gradient!(M, X, p).

Note that the gradient functions are defined on the embedding manifold M passed to the Backend as well

source