Distributions
The following functions and types provide support for manifold-valued and tangent space-valued distributions:
ManifoldsDistributionsExt.FVectorDistribution โ Type
FVectorDistribution{TSpace<:VectorSpaceFiber, T}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.
ManifoldsDistributionsExt.FVectorSupport โ Type
FVectorSupport(space::AbstractManifold, VectorSpaceFiber)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.
ManifoldsDistributionsExt.FVectorvariate โ Type
FVectorvariateStructure that subtypes VariateForm, indicating that a single sample is a vector from a fiber of a vector bundle.
ManifoldsDistributionsExt.MPointDistribution โ Type
MPointDistribution{TM<:AbstractManifold}An abstract distribution for points on manifold of type TM.
ManifoldsDistributionsExt.MPointSupport โ Type
MPointSupport(M::AbstractManifold)Value support for manifold-valued distributions (values from given AbstractManifold M).
ManifoldsDistributionsExt.MPointvariate โ Type
MPointvariateStructure that subtypes VariateForm, indicating that a single sample is a point on a manifold.
Distributions.support โ Method
support(d::FVectorDistribution)Get the object of type FVectorSupport for the distribution d.
Manifolds.uniform_distribution โ Method
uniform_distribution(M::Grassmann{โ}, p)Uniform distribution on given (real-valued) Grassmann M. Specifically, this is the normalized Haar measure on M. Generated points will be of similar type as p.
The implementation is based on Section 2.5.1 in [Chi03]; see also Theorem 2.2.2(iii) in [Chi03].
Manifolds.uniform_distribution โ Method
uniform_distribution(M::ProjectiveSpace{โ}, p)Uniform distribution on given ProjectiveSpace M. Generated points will be of similar type as p.
Manifolds.uniform_distribution โ Method
uniform_distribution(M::Sphere{โ}, p)Uniform distribution on given Sphere M. Generated points will be of similar type as p.
Manifolds.uniform_distribution โ Method
uniform_distribution(M::Stiefel{โ}, p)Uniform distribution on given (real-valued) Stiefel M. Specifically, this is the normalized Haar and Hausdorff measure on M. Generated points will be of similar type as p.
The implementation is based on Section 2.5.1 in [Chi03]; see also Theorem 2.2.1(iii) in [Chi03].
ManifoldsDistributionsExt.NormalRotationDistribution โ Type
NormalRotationDistribution(M::Rotations, d::Distribution, x::TResult)Distribution that returns a random point on the manifold Rotations M. Random point is generated using base distribution d and the type of the result is adjusted to TResult.
See normal_rotation_distribution for details.
ManifoldsDistributionsExt.PowerFVectorDistribution โ Type
PowerFVectorDistribution([type::VectorSpaceFiber], [x], distr)Generates a random vector at a point from vector space (a fiber of a tangent bundle) of type type using the power distribution of distr.
Vector space type and point can be automatically inferred from distribution distr.
ManifoldsDistributionsExt.PowerPointDistribution โ Type
PowerPointDistribution(M::AbstractPowerManifold, distribution)Power distribution on manifold M, based on distribution.
ManifoldsDistributionsExt.ProductFVectorDistribution โ Type
ProductFVectorDistribution([type::VectorSpaceFiber], [x], distrs...)Generates a random vector at point x from vector space (a fiber of a tangent bundle) of type type using the product distribution of given distributions.
Vector space type and x can be automatically inferred from distributions distrs.
ManifoldsDistributionsExt.ProductPointDistribution โ Type
ProductPointDistribution(M::ProductManifold, distributions)Product distribution on manifold M, combined from distributions.
ManifoldsDistributionsExt.ProjectedFVectorDistribution โ Type
ProjectedFVectorDistribution(type::VectorSpaceFiber, 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!, see project for documentation. Generated arrays are of type TResult.
ManifoldsDistributionsExt.ProjectedPointDistribution โ 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 p argument.
Manifolds.normal_tvector_distribution โ Method
normal_tvector_distribution(M::Euclidean, p, ฯ)Normal distribution in ambient space with standard deviation ฯ projected to tangent space at p.
Manifolds.projected_distribution โ Function
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.