# 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