Product manifold
Product manifold $\mathcal M = \mathcal{M}_1 Γ \mathcal{M}_2 Γ β¦ Γ \mathcal{M}_n$ of manifolds $\mathcal{M}_1, \mathcal{M}_2, β¦, \mathcal{M}_n$. Points on the product manifold can be constructed using ArrayPartition (from RecursiveArrayTools.jl) with canonical projections $Ξ _i : \mathcal{M} β \mathcal{M}_i$ for $i β 1, 2, β¦, n$ provided by submanifold_component.
Manifolds.ProductAtlas β Type
ProductAtlas(atlases::NTuple{N, AbstractAtlas{π½}}) where {N, π½}Atlas on a ProductManifold obtained by taking the product of the factor atlases in atlases. Chart indices are tuples of the corresponding factor chart indices and coordinates are concatenated factor coordinates.
ManifoldDiff.riemannian_Hessian β Method
Y = riemannian_Hessian(M::ProductManifold, p, G, H, X)
riemannian_Hessian!(M::ProductManifold, Y, p, G, H, X)Compute the Riemannian Hessian $\operatorname{Hess} f(p)[X]$ given the Euclidean gradient $β f(\tilde p)$ in G and the Euclidean Hessian $β^2 f(\tilde p)[\tilde X]$ in H, where $\tilde p, \tilde X$ are the representations of $p,X$ in the embedding,.
On a product manifold, this decouples and can be computed elementwise.
Manifolds.flat β Method
flat(M::ProductManifold, p, X::FVector{TangentSpaceType})use the musical isomorphism to transform the tangent vector X from the tangent space at p on the ProductManifold M to a cotangent vector. This can be done elementwise for every entry of X (with respect to the corresponding entry in p) separately.
Manifolds.get_default_atlas β Method
get_default_atlas(M::ProductManifold)Return the product of the default atlases of the factor manifolds of M.
Manifolds.manifold_volume β Method
manifold_volume(M::ProductManifold)Return the volume of ProductManifold M, i.e. product of volumes of the manifolds M is constructed from.
Manifolds.sharp β Method
sharp(M::ProductManifold, p, ΞΎ::FVector{CotangentSpaceType})Use the musical isomorphism to transform the cotangent vector ΞΎ from the tangent space at p on the ProductManifold M to a tangent vector. This can be done elementwise for every entry of ΞΎ (and p) separately
Manifolds.volume_density β Method
volume_density(M::ProductManifold, p, X)Return volume density on the ProductManifold M, i.e. product of constituent volume densities.