Ease of notation
The following terms introduce a nicer notation for some operations, for example using the โ operator, $p โ \mathcal M$, to determine whether $p$ is a point on the AbstractManifold
$\mathcal M$.
Base.in
โ FunctionBase.in(p, M::AbstractManifold; kwargs...)
p โ M
Check, whether a point p
is a valid point (i.e. in) a AbstractManifold
M
. This method employs is_point
deactivating the error throwing option.
Base.in(p, TpM::TangentSpaceAtPoint; kwargs...)
X โ TangentSpaceAtPoint(M,p)
Check whether X
is a tangent vector from (in) the tangent space $T_p\mathcal M$, i.e. the TangentSpaceAtPoint
at p
on the AbstractManifold
M
. This method uses is_vector
deactivating the error throw option.
ManifoldsBase.TangentSpace
โ ConstantTangentSpace(M::AbstractManifold, p)
Return a TangentSpaceAtPoint
representing tangent space at p
on the AbstractManifold
M
.
Fallback for the exponential map: Solving the corresponding ODE
When additionally loading NLSolve.jl
the following fallback for the exponential map is available.
Public documentation
The following functions are of interest for extending and using the ProductManifold
.
Manifolds.submanifold_component
โ Functionsubmanifold_component(M::AbstractManifold, p, i::Integer)
submanifold_component(M::AbstractManifold, p, ::Val(i)) where {i}
submanifold_component(p, i::Integer)
submanifold_component(p, ::Val(i)) where {i}
Project the product array p
on M
to its i
th component. A new array is returned.
Manifolds.submanifold_components
โ Functionsubmanifold_components(M::AbstractManifold, p)
submanifold_components(p)
Get the projected components of p
on the submanifolds of M
. The components are returned in a Tuple.
Manifolds.ProductRepr
โ TypeProductRepr(parts)
A more general but slower representation of points and tangent vectors on a product manifold.
Example:
A product point on a product manifold Sphere(2) ร Euclidean(2)
might be created as
ProductRepr([1.0, 0.0, 0.0], [2.0, 3.0])
where [1.0, 0.0, 0.0]
is the part corresponding to the sphere factor and [2.0, 3.0]
is the part corresponding to the euclidean manifold.
ProductRepr
is deprecated and will be removed in a future release. Please use ArrayPartition
instead.
Specific exception types
For some manifolds it is useful to keep an extra index, at which point on the manifold, the error occurred as well as to collect all errors that occurred on a manifold. This page contains the manifold-specific error messages this package introduces.