Adjoint Differentials
Manopt.adjoint_differential_bezier_control
— Methodadjoint_differential_bezier_control(
M::AbstractManifold,
T::AbstractVector,
X::AbstractVector,
)
adjoint_differential_bezier_control!(
M::AbstractManifold,
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.
Manopt.adjoint_differential_bezier_control
— Methodadjoint_differential_bezier_control(
M::AbstractManifold,
B::AbstractVector{<:BezierSegment},
t,
X
)
adjoint_differential_bezier_control!(
M::AbstractManifold,
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.
Manopt.adjoint_differential_bezier_control
— Methodadjoint_differential_bezier_control(
M::AbstractManifold,
b::BezierSegment,
t::AbstractVector,
X::AbstractVector,
)
adjoint_differential_bezier_control!(
M::AbstractManifold,
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].
Manopt.adjoint_differential_bezier_control
— Methodadjoint_differential_bezier_control(M::AbstractManifold, b::BezierSegment, t, η)
adjoint_differential_bezier_control!(
M::AbstractManifold,
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.
Manopt.adjoint_differential_exp_argument
— Methodadjoint_differential_exp_argument(M, p, X, Y)
adjoint_differential_exp_argument!(M, Z, p, X, Y)
Compute the adjoint of $D_X\exp_p X[Y]$ (in place of Z
). Note that $X ∈ T_p(T_p\mathcal M) = T_p\mathcal M$ is still a tangent vector.
See also
Manopt.adjoint_differential_exp_basepoint
— Methodadjoint_differential_exp_basepoint(M, p, X, Y)
adjoint_differential_exp_basepoint!(M, Z, p, X, Y)
Computes the adjoint of $D_p \exp_p X[Y]$ (in place of Z
).
See also
Manopt.adjoint_differential_forward_logs
— MethodY = 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
– aPowerManifold
manifoldp
– an array of points on a manifoldX
– a tangent vector to from the n-fold power ofp
, where n is thendims
ofp
Ouput
Y
– resulting tangent vector in $T_p\mathcal M$ representing the adjoint differentials of the logs.
Manopt.adjoint_differential_geodesic_endpoint
— Methodadjoint_differential_geodesic_endpoint(M, p, q, t, X)
adjoint_differential_geodesic_endpoint!(M, Y, p, q, t, X)
Compute the adjoint of $D_q γ(t; p, q)[X]$ (in place of Y
).
See also
Manopt.adjoint_differential_geodesic_startpoint
— Methodadjoint_differential_geodesic_startpoint(M,p, q, t, X)
adjoint_differential_geodesic_startpoint!(M, Y, p, q, t, X)
Compute the adjoint of $D_p γ(t; p, q)[X]$ (in place of Y
).
See also
Manopt.adjoint_differential_log_argument
— Methodadjoint_differential_log_argument(M, p, q, X)
adjoint_differential_log_argument!(M, Y, p, q, X)
Compute the adjoint of $D_q log_p q[X]$ (in place of Y
).
See also
Manopt.adjoint_differential_log_basepoint
— Methodadjoint_differential_log_basepoint(M, p, q, X)
adjoint_differential_log_basepoint!(M, Y, p, q, X)
computes the adjoint of $D_p log_p q[X]$ (in place of Y
).
See also
- BergmannGousenbourger2018
Bergmann, R. and Gousenbourger, P.-Y.: A variational model for data fitting on manifolds by minimizing the acceleration of a Bézier curve. Frontiers in Applied Mathematics and Statistics, 2018. doi: 10.3389/fams.2018.00059, arXiv: 1807.10090