Documentation

TauCeti.Geometry.Symplectic.Darboux.EuclideanBasis

Symplectic coordinate equivalences to standard Euclidean space #

Given a real vector space V equipped with a basis indexed by ι ⊕ ι (in the Matrix.J block convention) or by Fin n × Fin 2 (in the interleaved Darboux convention of TauCeti.SymplecticForm.IsDarbouxBasis), this file constructs the coordinate isomorphism from V to the doubled Euclidean model EuclideanSpace ℝ ι × EuclideanSpace ℝ ι carrying b (inr a) (or b (i, 0)) to (EuclideanSpace.single a 1, 0) and b (inl a) (or b (i, 1)) to (0, EuclideanSpace.single a 1).

Because both Matrix.J (ω (b (inr a)) (b (inl a)) = 1) and TauCeti.stdSymplecticForm (ω₀ ((single a 1, 0), (0, single a 1)) = 1) give +1 to that ordered pair, this coordinate equivalence is a linear symplectomorphism from (V, ω) to (EuclideanSpace ℝ ι × EuclideanSpace ℝ ι, stdSymplecticForm) if and only if the matrix of ω in b is Matrix.J (respectively, b is a Darboux basis of ω).

On a normed space V, finite-dimensionality is automatic from the finite basis, upgrading both equivalences to continuous linear equivalences. Combined with LinearMap.BilinForm.IsAlt.exists_basis_apply_eq_J_inl_zero_eq, any nonzero vector in a finite-dimensional symplectic vector space can be sent to either (0, EuclideanSpace.single 0 1) or (EuclideanSpace.single 0 1, 0) by a continuous-linear symplectomorphism onto the standard Euclidean model.

Main declarations #

References #

noncomputable def TauCeti.stdSymplecticBasis (ι : Type u_2) [Fintype ι] :

The standard ι ⊕ ι-indexed basis of EuclideanSpace ℝ ι × EuclideanSpace ℝ ι adapted to Matrix.J: Sum.inr a maps to (single a 1, 0) in the first factor and Sum.inl a maps to (0, single a 1) in the second factor.

Instances For

    stdSymplecticBasis ι is the product of two copies of the standard basis of EuclideanSpace ℝ ι, with the two summands of the index swapped.

    @[simp]
    @[simp]

    The standard Fin n × Fin 2-indexed Darboux basis of EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n), sending (i, 0) to (single i 1, 0) and (i, 1) to (0, single i 1).

    Instances For
      @[simp]
      @[simp]

      stdDarbouxBasis n is a Darboux basis of stdSymplecticForm on EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n).

      EuclideanSpace ℝ ι × EuclideanSpace ℝ ι has dimension 2 * |ι|, so it is a model space for symplectic manifolds of dimension 2 * |ι|.

      noncomputable def Module.Basis.euclideanBasisEquiv {V : Type u_1} [AddCommGroup V] [Module ℝ V] {ι : Type u_2} [Fintype ι] (b : Basis (ι ⊕ ι) ℝ V) :

      The linear coordinate equivalence from an ι ⊕ ι-indexed basis b of V to EuclideanSpace ℝ ι × EuclideanSpace ℝ ι sending b (Sum.inr a) to (single a 1, 0) and b (Sum.inl a) to (0, single a 1).

      Instances For
        @[simp]
        theorem Module.Basis.euclideanBasisEquiv_apply_inr {V : Type u_1} [AddCommGroup V] [Module ℝ V] {ι : Type u_2} [Fintype ι] [DecidableEq ι] (b : Basis (ι ⊕ ι) ℝ V) (a : ι) :
        @[simp]
        theorem Module.Basis.euclideanBasisEquiv_apply_inl {V : Type u_1} [AddCommGroup V] [Module ℝ V] {ι : Type u_2} [Fintype ι] [DecidableEq ι] (b : Basis (ι ⊕ ι) ℝ V) (a : ι) :
        @[simp]
        theorem Module.Basis.euclideanBasisEquiv_fst_apply {V : Type u_1} [AddCommGroup V] [Module ℝ V] {ι : Type u_2} [Fintype ι] (b : Basis (ι ⊕ ι) ℝ V) (v : V) (a : ι) :
        (b.euclideanBasisEquiv v).1.ofLp a = (b.repr v) (Sum.inr a)
        @[simp]
        theorem Module.Basis.euclideanBasisEquiv_snd_apply {V : Type u_1} [AddCommGroup V] [Module ℝ V] {ι : Type u_2} [Fintype ι] (b : Basis (ι ⊕ ι) ℝ V) (v : V) (a : ι) :
        (b.euclideanBasisEquiv v).2.ofLp a = (b.repr v) (Sum.inl a)
        theorem Module.Basis.euclideanBasisEquiv_symm_apply {V : Type u_1} [AddCommGroup V] [Module ℝ V] {ι : Type u_2} [Fintype ι] (b : Basis (ι ⊕ ι) ℝ V) (u : EuclideanSpace ℝ ι × EuclideanSpace ℝ ι) :
        b.euclideanBasisEquiv.symm u = ∑ a : ι, u.1.ofLp a • b (Sum.inr a) + ∑ a : ι, u.2.ofLp a • b (Sum.inl a)

        The inverse of b.euclideanBasisEquiv expands (q, p) as ∑ a, q a • b (inr a) + ∑ a, p a • b (inl a).

        noncomputable def Module.Basis.darbouxBasisEquiv {V : Type u_1} [AddCommGroup V] [Module ℝ V] {n : ℕ} (b : Basis (Fin n × Fin 2) ℝ V) :

        The linear coordinate equivalence from a Fin n × Fin 2-indexed basis b of V to EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n) sending b (i, 0) to (single i 1, 0) and b (i, 1) to (0, single i 1).

        Instances For
          @[simp]
          @[simp]
          @[simp]
          theorem Module.Basis.darbouxBasisEquiv_fst_apply {V : Type u_1} [AddCommGroup V] [Module ℝ V] {n : ℕ} (b : Basis (Fin n × Fin 2) ℝ V) (v : V) (i : Fin n) :
          (b.darbouxBasisEquiv v).1.ofLp i = (b.repr v) (i, 0)
          @[simp]
          theorem Module.Basis.darbouxBasisEquiv_snd_apply {V : Type u_1} [AddCommGroup V] [Module ℝ V] {n : ℕ} (b : Basis (Fin n × Fin 2) ℝ V) (v : V) (i : Fin n) :
          (b.darbouxBasisEquiv v).2.ofLp i = (b.repr v) (i, 1)
          theorem Module.Basis.darbouxBasisEquiv_symm_apply {V : Type u_1} [AddCommGroup V] [Module ℝ V] {n : ℕ} (b : Basis (Fin n × Fin 2) ℝ V) (u : EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n)) :
          b.darbouxBasisEquiv.symm u = ∑ i : Fin n, u.1.ofLp i • b (i, 0) + ∑ i : Fin n, u.2.ofLp i • b (i, 1)

          The inverse of b.darbouxBasisEquiv expands (q, p) as ∑ i, q i • b (i, 0) + ∑ i, p i • b (i, 1).

          The continuous-linear coordinate equivalence from an ι ⊕ ι-indexed basis b of a real normed space V to EuclideanSpace ℝ ι × EuclideanSpace ℝ ι. Finite-dimensionality of V is inferred from the finite basis b.

          Instances For

            The continuous-linear coordinate equivalence from a Fin n × Fin 2-indexed basis b of a real normed space V to EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n).

            Instances For

              b.euclideanBasisEquiv is a symplectomorphism from ω to stdSymplecticForm if and only if the matrix of ω in b is Matrix.J ι ℝ.

              b.darbouxBasisEquiv is a symplectomorphism from ω to stdSymplecticForm if and only if b is a Darboux basis of ω.

              The coordinate equivalence of a Darboux basis is a linear symplectomorphism onto stdSymplecticForm.

              Transporting ω along the coordinate equivalence of a Darboux basis yields stdSymplecticForm.

              Every finite-dimensional symplectic space is linearly symplectomorphic to EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n) with stdSymplecticForm.

              A finite-dimensional symplectic space of dimension 2 * n is linearly symplectomorphic to EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n) with stdSymplecticForm.

              Every nonzero vector in a finite-dimensional symplectic space is mapped to (0, EuclideanSpace.single 0 1) by a linear symplectomorphism onto the standard Euclidean model.

              Every nonzero vector in a finite-dimensional symplectic space is mapped to (EuclideanSpace.single 0 1, 0) by a linear symplectomorphism onto the standard Euclidean model.

              Every finite-dimensional normed symplectic space is continuous-linearly symplectomorphic to EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n) with stdSymplecticForm.

              A finite-dimensional normed symplectic space of dimension 2 * n is continuous-linearly symplectomorphic to EuclideanSpace ℝ (Fin n) × EuclideanSpace ℝ (Fin n) with stdSymplecticForm.

              Every nonzero vector in a finite-dimensional normed symplectic space is carried to (0, EuclideanSpace.single 0 1) by a continuous-linear symplectomorphism onto the standard Euclidean model.

              Every nonzero vector in a finite-dimensional normed symplectic space is carried to (EuclideanSpace.single 0 1, 0) by a continuous-linear symplectomorphism onto the standard Euclidean model.