The following functions and types provide support for manifold-valued and tangent space-valued distributions:
An abstract distribution for vector bundle fiber-valued distributions (values from a fiber of a vector bundle at point
x from the given manifold). For example used for tangent vector-valued distributions.
Value support for vector bundle fiber-valued distributions (values from a fiber of a vector bundle at a
point from the given manifold). For example used for tangent vector-valued distributions.
Structure that subtypes
VariateForm, indicating that a single sample is a vector from a fiber of a vector bundle.
An abstract distribution for points on manifold of type
Value support for manifold-valued distributions (values from given
Structure that subtypes
VariateForm, indicating that a single sample is a point on a manifold.
Random.rand(M::AbstractManifold, [d::Integer]; vector_at=nothing) Random.rand(rng::AbstractRNG, M::AbstractManifold, [d::Integer]; vector_at=nothing)
Generate a random point on manifold
nothing) or a tangent vector at point
vector_at (when it is not
Optionally a random number generator
rng to be used can be specified. An optional integer
d indicates that a vector of
d points or tangent vectors is to be generated.
Usually a uniform distribution should be expected for compact manifolds and a Gaussian-like distribution for non-compact manifolds and tangent vectors, although it is not guaranteed. The distribution may change between releases.
rand methods for specific manifolds may take additional keyword arguments.
Get the object of type
FVectorSupport for the distribution
ProjectedFVectorDistribution(type::VectorBundleFibers, p, d, project!)
Generates a random vector from ambient space of manifold
type.manifold at point
p and projects it to vector space of type
type using function
project for documentation. Generated arrays are of type
ProjectedPointDistribution(M::AbstractManifold, d, proj!, p)
Generates a random point in ambient space of
M and projects it to
M using function
proj!. Generated arrays are of type
TResult, which can be specified by providing the
normal_tvector_distribution(M::Euclidean, p, σ)
Normal distribution in ambient space with standard deviation
σ projected to tangent space at
projected_distribution(M::AbstractManifold, d, [p=rand(d)])
Wrap the standard distribution
d into a manifold-valued distribution. Generated points will be of similar type to
p. By default, the type is not changed.