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 Bergmann, Gousenbourger, Front. Appl. Math. Stat., 2018.
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_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
– aPowerManifold
manifoldp
– 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.