Quotient manifold

Manifolds.QuotientManifold โ€” Type
QuotientManifold{M <: AbstractManifold{๐”ฝ}, N} <: AbstractManifold{๐”ฝ}

Equip a manifold $\mathcal M$ explicitly with the property of being a quotient manifold.

A manifold $\mathcal M$ is then a a quotient manifold of another manifold $\mathcal N$, i.e. for an equivalence relation $โˆผ$ on $\mathcal N$ we have

\[ \mathcal M = \mathcal N / โˆผ = \bigl\{ [p] : p โˆˆ \mathcal N \bigr\},\]

where $[p] โ‰” \{ q โˆˆ \mathcal N : q โˆผ p\}$ denotes the equivalence class containing $p$. For more details see Subsection 3.4.1 [AMS08].

This manifold type models an explicit quotient structure. This should be done if either the default implementation of $\mathcal M$ uses another representation different from the quotient structure or if it provides a (default) quotient structure that is different from the one introduced here.

Fields

  • manifold โ€“ the manifold $\mathcal M$ in the introduction above.
  • total_space โ€“ the manifold $\mathcal N$ in the introduction above.

Constructor

QuotientManifold(M,N)

Create a manifold where M is the quotient manifold and Nis its total space.

source

Provided functions

Manifolds.canonical_project โ€” Method
canonical_project(M, p)

Compute the canonical projection $ฯ€$ on a manifold $\mathcal M$ that IsQuotientManifold, e.g. a QuotientManifold. The canonical (or natural) projection $ฯ€$ from the total space $\mathcal N$ onto $\mathcal M$ given by

\[ ฯ€ = ฯ€_{\mathcal N, \mathcal M} : \mathcal N โ†’ \mathcal M, p โ†ฆ ฯ€_{\mathcal N, \mathcal M}(p) = [p].\]

in other words, this function implicitly assumes, that the total space $\mathcal N$ is given, for example explicitly when M is a QuotientManifold and p is a point on N.

source
Manifolds.differential_canonical_project โ€” Method
differential_canonical_project(M, p, X)

Compute the differential of the canonical projection $ฯ€$ on a manifold $\mathcal M$ that IsQuotientManifold, e.g. a QuotientManifold. The canonical (or natural) projection $ฯ€$ from the total space $\mathcal N$ onto $\mathcal M$, such that its differential

\[ Dฯ€(p) : T_p\mathcal N โ†’ T_{ฯ€(p)}\mathcal M\]

where again the total space might be implicitly assumed, or explicitly when using a QuotientManifold M. So here p is a point on N and X is from $T_p\mathcal N$.

source
Manifolds.get_orbit_action โ€” Method
get_orbit_action(M::AbstractDecoratorManifold)

Return the group action that generates the orbit of an equivalence class of the quotient manifold M for which equivalence classes are orbits of an action of a Lie group. For the case that

\[\mathcal M = \mathcal N / \mathcal O,\]

where $\mathcal O$ is a Lie group with its group action generating the orbit.

source
Manifolds.horizontal_component โ€” Method
horizontal_component(N::AbstractManifold, p, X)
horizontal_compontent(QuotientManifold{๐”ฝ,M,N}, p, X)

Compute the horizontal component of tangent vector X at point p in the total space of quotient manifold N.

This is often written as the space $\mathrm{Hor}_p^ฯ€\mathcal N$.

source
Manifolds.horizontal_lift! โ€” Method
horizontal_lift!(N, Y, q, X)
horizontal_lift!(QuotientManifold{๐”ฝ,M,N}, Y, p, X)

Compute the horizontal lift of X from $T_p\mathcal M$, $p=ฯ€(q)$. to `T_q\mathcal N in place of Y.

source
Manifolds.horizontal_lift โ€” Method
horizontal_lift(N::AbstractManifold, q, X)
horizontal_lift(::QuotientManifold{๐”ฝ,M,N}, p, X)

Given a point q in total space of quotient manifold N such that $p=ฯ€(q)$ is a point on a quotient manifold M (implicitly given for the first case) and a tangent vector X this method computes a tangent vector Y on the horizontal space of $T_q\mathcal N$, i.e. the subspace that is orthogonal to the kernel of $Dฯ€(q)$.

source
Manifolds.vertical_component โ€” Method
vertical_component(N::AbstractManifold, p, X)
vertical_component(QuotientManifold{๐”ฝ,M,N}, p, X)

Compute the vertical component of tangent vector X at point p in the total space of quotient manifold N.

This is often written as the space $\mathrm{ver}_p^ฯ€\mathcal N$.

source