Differentials
Manopt.differential_bezier_control — Methoddifferential_bezier_control(
M::AbstractManifold,
B::AbstractVector{<:BezierSegment},
T::AbstractVector
Ξ::AbstractVector{<:BezierSegment}
)
differential_bezier_control!(
M::AbstractManifold,
Θ::AbstractVector{<:BezierSegment}
B::AbstractVector{<:BezierSegment},
T::AbstractVector
Ξ::AbstractVector{<:BezierSegment}
)evaluate the differential of the composite Bézier curve with respect to its control points B and tangent vectors Ξ in the tangent spaces of the control points. The result is the “change” of the curve at the points in T, which are elementwise in $[0,N]$, and each depending the corresponding segment(s). Here, $N$ is the length of B. For the mutating variant the result is computed in Θ.
See de_casteljau for more details on the curve and [BergmannGousenbourger2018].
Manopt.differential_bezier_control — Methoddifferential_bezier_control(
M::AbstractManifold,
B::AbstractVector{<:BezierSegment},
t,
X::AbstractVector{<:BezierSegment}
)
differential_bezier_control!(
M::AbstractManifold,
Y::AbstractVector{<:BezierSegment}
B::AbstractVector{<:BezierSegment},
t,
X::AbstractVector{<:BezierSegment}
)evaluate the differential of the composite Bézier curve with respect to its control points B and tangent vectors Ξ in the tangent spaces of the control points. The result is the “change” of the curve at t$∈[0,N]$, which depends only on the corresponding segment. Here, $N$ is the length of B. The computation can be done in place of Y.
See de_casteljau for more details on the curve.
Manopt.differential_bezier_control — Methoddifferential_bezier_control(
M::AbstractManifold,
b::BezierSegment,
T::AbstractVector,
X::BezierSegment,
)
differential_bezier_control!(
M::AbstractManifold,
Y,
b::BezierSegment,
T::AbstractVector,
X::BezierSegment,
)evaluate the differential of the Bézier curve with respect to its control points b and tangent vectors X in the tangent spaces of the control points. The result is the “change” of the curve at the points T, elementwise in $t∈[0,1]$. The computation can be done in place of Y.
See de_casteljau for more details on the curve.
Manopt.differential_bezier_control — Methoddifferential_bezier_control(M::AbstractManifold, b::BezierSegment, t::Float, X::BezierSegment)
differential_bezier_control!(
M::AbstractManifold,
Y,
b::BezierSegment,
t,
X::BezierSegment
)evaluate the differential of the Bézier curve with respect to its control points b and tangent vectors X given in the tangent spaces of the control points. The result is the “change” of the curve at t$∈[0,1]$. The computation can be done in place of Y.
See de_casteljau for more details on the curve.
Manopt.differential_exp_argument — Methoddifferential_exp_argument(M, p, X, Y)
differential_exp_argument!(M, Z, p, X, Y)computes $D_X\exp_pX[Y]$ (in place of Z). Note that $X ∈ T_X(T_p\mathcal M) = T_p\mathcal M$ is still a tangent vector.
See also
Manopt.differential_exp_basepoint — Methoddifferential_exp_basepoint(M, p, X, Y)
differential_exp_basepoint!(M, Z, p, X, Y)Compute $D_p\exp_p X[Y]$ (in place of Z).
See also
Manopt.differential_forward_logs — MethodY = differential_forward_logs(M, p, X)
differential_forward_logs!(M, Y, p, X)compute the differential of forward_logs $F$ on the PowerManifold manifold M at p and direction X , in the power manifold array, the differential of the function
\[F_i(x) = \sum_{j ∈ \mathcal I_i} \log_{p_i} p_j, \quad i ∈ \mathcal G,\]
where $\mathcal G$ is the set of indices of the PowerManifold manifold M and $\mathcal I_i$ denotes the forward neighbors of $i$.
Input
M– aPowerManifoldmanifoldp– a point.X– a tangent vector.
Ouput
Y– resulting tangent vector in $T_x\mathcal N$ representing the differentials of the logs, where $\mathcal N$ is the power manifold with the number of dimensions added tosize(x). The computation can also be done in place.
Manopt.differential_geodesic_endpoint — Methoddifferential_geodesic_endpoint(M, p, q, t, X)
differential_geodesic_endpoint!(M, Y, p, q, t, X)computes $D_qg(t;p,q)[X]$ (in place of Y).
See also
Manopt.differential_geodesic_startpoint — Methoddifferential_geodesic_startpoint(M, p, q, t, X)
differential_geodesic_startpoint!(M, Y, p, q, t, X)computes $D_p g(t;p,q)[η]$ (in place of Y).
See also
Manopt.differential_log_argument — Methoddifferential_log_argument(M, p, q, X)
differential_log_argument(M, Y, p, q, X)computes $D_q\log_pq[X]$ (in place of Y).
See also
Manopt.differential_log_basepoint — Methoddifferential_log_basepoint(M, p, q, X)
differential_log_basepoint!(M, Y, p, q, X)computes $D_p\log_pq[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