(Real) Symplectic Grassmann

Manifolds.SymplecticGrassmannType
SymplecticGrassmann{T,𝔽} <: AbstractEmbeddedManifold{𝔽, DefaultIsometricEmbeddingType}

The symplectic Grassmann manifold consists of all symplectic subspaces of $ℝ^{2n}$ of dimension $2k$, $n ≥ k$.

Points on this manifold can be represented as corresponding representers on the SymplecticStiefel

\[\operatorname{SpGr}(2n,2k) = \bigl\{ \operatorname{span}(p)\ \big| \ p ∈ \operatorname{SpSt}(2n, 2k, ℝ)\},\]

or as projectors

\[\operatorname{SpGr}(2n, 2k, ℝ) = \bigl\{ p ∈ ℝ^{2n×2n} \ \big| \ p^2 = p, \operatorname{rank}(p) = 2k, p^+=p \bigr\},\]

where $⋅^+$ is the symplectic_inverse. See also ProjectorPoint and StiefelPoint for these two representations, where arrays are interpreted as those on the Stiefel manifold.

With respect to the quotient structure, the canonical projection $π = π_{\mathrm{SpSt},\mathrm{SpGr}}$ is given by

\[π: \mathrm{SpSt}(2n2k) → \mathrm{SpGr}(2n,2k), p ↦ π(p) = pp^+.\]

The tangent space is either the tangent space from the symplectic Stiefel manifold, where tangent vectors are representers of their corresponding congruence classes, or for the representation as projectors, using a ProjectorTVector as

\[ T_p\operatorname{SpGr}(2n, 2k, ℝ) = \bigl\{ [X,p] \ \mid\ X ∈ \mathfrak{sp}(2n,ℝ), Xp+pX = X \bigr\},\]

where $[X,p] = Xp-pX$ denotes the matrix commutator and $\mathfrak{sp}(2n,ℝ)$ is the Lie algebra of the symplectic group consisting of HamiltonianMatrices.

The first repesentation is in StiefelPoints and StiefelTVectors, which both represent their symplectic Grassmann equivalence class. Arrays are interpreted in this representation as well

For the representation in ProjectorPoint and ProjectorTVectors, we use the representation from the surjective submersion

\[ρ: \mathrm{SpSt}(2n,2k) → \mathrm{SpGr}(2n,2k), \qquad ρ(p) = pp^+\]

and its differential

\[\mathrm{d}ρ(p,X) = Xp^+ + pX^+,\]

respectively. The manifold was first introduced in [BZ21]

Constructor

SymplecticGrassmann(2n::Int, 2k::Int, field::AbstractNumbers=ℝ; parameter::Symbol=:type)

Generate the (real-valued) symplectic Grassmann manifold. of $2k$ dimensional symplectic subspace of $ℝ^{2n}$. Note that both dimensions passed to this constructor have to be even.

source

The (default) symplectic Stiefel representation

Base.expMethod
exp(::SymplecticGrassmann, p, X)
exp!(M::SymplecticGrassmann, q, p, X)

Compute the exponential mapping

\[ \exp\colon T\mathrm{SpGr}(2n, 2k) → \mathrm{SpGr}(2n, 2k)\]

when representing points and tangent vectors as symplectic bases and their tangents, i.e. on the SymplecticStiefel manifold. Then we can just pass this on to exp(::SymplecticStiefel, p, X).

source
ManifoldDiff.riemannian_gradientMethod
riemannian_gradient(M::SymplecticGrassmann, p, Y)

Given a gradient $Y = \operatorname{grad} \tilde f(p)$ in the embedding $ℝ^{2n×2k}$ or at least around the SymplecticGrassmann M where p (the embedding of) a point on M, and the restriction $\tilde f$ to the SymplecticStiefel be invariant for the equivalence classes. In other words $f(p) = f(qp)$ for $q \in \mathrm{Sp}(2k, ℝ)$, where $\mathrm{Sp}(2k, ℝ)$ denotes the SymplecticMatrices manifold. Then the Riemannian gradient $X = \operatorname{grad} f(p)$ is given by

\[ X = J_{2n}^THJ_{2k}p^{\mathrm{T}}p - J_{2n}^TpJ_{2k}H^{\mathrm{T}}p,\]

where $J_{2n}$ denotes the SymplecticElement, and $H = (I_{2n} - pp^+)J_{2n}^{\mathrm{T}}YJ$.

source
ManifoldsBase.check_vectorMethod
check_vector(M::SymplecticGrassmann, p, X; kwargs...)

Check whether X is a valid tangent vector at p on the SymplecticGrassmann, $\operatorname{SpGr}(2n, 2k)$ manifold by verifying that it is a valid representer of an equivalence class of the corersponding SymplecticStiefel manifolds tangent space at p.

source
ManifoldsBase.innerMethod
inner(::SymplecticGrassmann, p, X, Y)

Compute the Riemannian inner product $g^{\mathrm{SpGr}}_p(X,Y)$ on the SymplecticGrassmann manifold \mathrm{SpGr}`.

For the case where $p$ is represented by a point on the SymplecticStiefel manifold acting as a representant of its equivalence class $[p] \in \mathrm{SpGr}$ and the tangent vectors $X,Y \in \mathrm{Hor}_p^π\operatorname{SpSt}(2n,2k)$ are horizontal tangent vectors.

Then the inner product reads according to Proposition Lemma 4.8 [BZ21].

\[g^{\mathrm{SpGr}}_p(X,Y) = \operatorname{tr}\bigl( (p^{\mathrm{T}}p)^{-1}X^{\mathrm{T}}(I_{2n} - pp^+)Y \bigr),\]

where $I_{2n}$ denotes the identity matrix and $(⋅)^+$ the symplectic_inverse.

source
ManifoldsBase.inverse_retractMethod
inverse_retract(::SymplecticGrassmann, p, q, ::CayleyInverseRetraction)
inverse_retract!(::SymplecticGrassmann, q, p, X, ::CayleyInverseRetraction)

Compute the Cayley Inverse Retraction on the Symplectic Grassmann manifold, when the points are represented as symplectic bases, i.e. on the SymplecticStiefel.

Here we can directly employ the CaleyInverseRetraction on the symplectic Stiefel manifold.

source
ManifoldsBase.retractMethod
retract(::SymplecticGrassmann, p, X, ::CayleyRetraction)
retract!(::SymplecticGrassmann, q, p, X, ::CayleyRetraction)

Compute the Cayley retraction on the Symplectic Grassmann manifold, when the points are represented as symplectic bases, i.e. on the SymplecticStiefel.

Here we can directly employ the CaleyRetraction on the symplectic Stiefel manifold.

source

The symplectic projector representation

ManifoldsBase.check_pointMethod
check_point(M::SymplecticGrassmann, p::ProjectorPoint; kwargs...)

Check whether p is a valid point on the SymplecticGrassmann, $\operatorname{SpGr}(2n, 2k)$, that is a propoer symplectic projection:

  • $p^2 = p$, that is $p$ is a projection
  • $\operatorname{rank}(p) = 2k$, that is, the supspace projected onto is of right dimension
  • $p^+ = p$ the projection is symplectic.
source
ManifoldsBase.check_vectorMethod
check_vector(M::SymplecticGrassmann, p::ProjectorPoint, X::ProjectorTVector; kwargs...)

Check whether X is a valid tangent vector at p on the SymplecticGrassmann, $\operatorname{SpGr}(2n, 2k)$ manifold by verifying that it

  • $X^+ = X$
  • $X = Xp + pX$

For details see Proposition 4.2 in [BZ21] and the definition of $\mathfrak{sp}_P(2n)$ before, especially the $\bar{Ω}$, which is the representation for $X$ used here.

source

Literature

[BZ21]
T. Bendokat and R. Zimmermann. The real symplectic Stiefel and Grassmann manifolds: metrics, geodesics and applications, arXiv Preprint, 2108.12447 (2021), arXiv:2108.12447.