Utilities

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.inFunction
Base.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.

source
Base.in(p, TpM::TangentSpace; kwargs...)
X ∈ TangentSpace(M, p)

Check whether X is a tangent vector from (in) the tangent space $T_p\mathcal M$, i.e. the TangentSpace at p on the AbstractManifold M. This method uses is_vector deactivating the error throw option.

source

Public documentation

Manifolds.sectional_curvature_matrixFunction
sectional_curvature_matrix(M::AbstractManifold, p, B::AbstractBasis)

Compute the matrix of sectional curvatures of manifold M at point p. Entry (i, j) corresponds to sectional curvature of the surface spanned by vectors i and j from basis B.

source

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.