Adjoint Differentials

Manopt.adjoint_differential_bezier_controlMethod
adjoint_differential_bezier_control(
    M::MAnifold,
    T::AbstractVector,
    X::AbstractVector,
)
adjoint_differential_bezier_control!(
    M::MAnifold,
    Y::AbstractVector{<:BezierSegment},
    T::AbstractVector,
    X::AbstractVector,
)

Evaluate the adjoint of the differential with respect to the controlpoints at several times T. This can be computed in place of Y.

See de_casteljau for more details on the curve.

source
Manopt.adjoint_differential_bezier_controlMethod
adjoint_differential_bezier_control(
    M::MAnifold,
    B::AbstractVector{<:BezierSegment},
    t,
    X
)
adjoint_differential_bezier_control!(
    M::MAnifold,
    Y::AbstractVector{<:BezierSegment},
    B::AbstractVector{<:BezierSegment},
    t,
    X
)

evaluate the adjoint of the differential of a composite Bézier curve on the manifold M with respect to its control points b based on a points T$=(t_i)_{i=1}^n$ that are pointwise in $t_i∈[0,1]$ on the curve and given corresponding tangential vectors $X = (η_i)_{i=1}^n$, $η_i∈T_{β(t_i)}\mathcal M$ This can be computed in place of Y.

See de_casteljau for more details on the curve.

source
Manopt.adjoint_differential_bezier_controlMethod
adjoint_differential_bezier_control(
    M::Manifold,
    b::BezierSegment,
    t::AbstractVector,
    X::AbstractVector,
)
adjoint_differential_bezier_control!(
    M::Manifold,
    Y::BezierSegment,
    b::BezierSegment,
    t::AbstractVector,
    X::AbstractVector,
)

evaluate the adjoint of the differential of a Bézier curve on the manifold M with respect to its control points b based on a points T$=(t_i)_{i=1}^n$ that are pointwise in $t_i∈[0,1]$ on the curve and given corresponding tangential vectors $X = (η_i)_{i=1}^n$, $η_i∈T_{β(t_i)}\mathcal M$ This can be computed in place of Y.

See de_casteljau for more details on the curve and[BergmannGousenbourger2018].

source
Manopt.adjoint_differential_bezier_controlMethod
adjoint_differential_bezier_control(M::Manifold, b::BezierSegment, t, η)
adjoint_differential_bezier_control!(
    M::Manifold,
    Y::BezierSegment,
    b::BezierSegment,
    t,
    η,
)

evaluate the adjoint of the differential of a Bézier curve on the manifold M with respect to its control points b based on a point t$∈[0,1]$ on the curve and a tangent vector $η∈T_{β(t)}\mathcal M$. This can be computed in place of Y.

See de_casteljau for more details on the curve.

source
Manopt.adjoint_differential_forward_logsMethod
Y = adjoint_differential_forward_logs(M, p, X)
adjoint_differential_forward_logs!(M, Y, p, X)

Compute the adjoint differential of forward_logs $F$ orrucirng, in the power manifold array p, the differential of the function

$F_i(p) = \sum_{j ∈ \mathcal I_i} \log_{p_i} p_j$

where $i$ runs over all indices of the PowerManifold manifold M and $\mathcal I_i$ denotes the forward neighbors of $i$ Let $n$ be the number dimensions of the PowerManifold manifold (i.e. length(size(x))). Then the input tangent vector lies on the manifold $\mathcal M' = \mathcal M^n$. The adjoint differential can be computed in place of Y.

Input

  • M – a PowerManifold manifold
  • p – an array of points on a manifold
  • X – a tangent vector to from the n-fold power of p, where n is the ndims of p

Ouput

Y – resulting tangent vector in $T_p\mathcal M$ representing the adjoint differentials of the logs.

source