Documentation

Mathlib.LinearAlgebra.SymplecticGroup

The Symplectic Group #

This file defines the symplectic group and proves elementary properties.

Main Definitions #

TODO #

def Matrix.J (l : Type u_1) (R : Type u_2) [DecidableEq l] [CommRing R] :
Matrix (l โŠ• l) (l โŠ• l) R

The matrix defining the canonical skew-symmetric bilinear form.

Equations
    Instances For
      @[simp]
      theorem Matrix.J_transpose (l : Type u_1) (R : Type u_2) [DecidableEq l] [CommRing R] :
      (J l R).transpose = -J l R
      theorem Matrix.J_squared (l : Type u_1) (R : Type u_2) [DecidableEq l] [CommRing R] [Fintype l] :
      J l R * J l R = -1
      theorem Matrix.J_inv (l : Type u_1) (R : Type u_2) [DecidableEq l] [CommRing R] [Fintype l] :
      (J l R)โปยน = -J l R
      theorem Matrix.J_det_mul_J_det (l : Type u_1) (R : Type u_2) [DecidableEq l] [CommRing R] [Fintype l] :
      (J l R).det * (J l R).det = 1
      def Matrix.symplecticGroup (l : Type u_1) (R : Type u_2) [DecidableEq l] [CommRing R] [Fintype l] :

      The group of symplectic matrices over a ring R.

      Equations
        Instances For
          instance SymplecticGroup.coeMatrix {l : Type u_1} {R : Type u_2} [DecidableEq l] [Fintype l] [CommRing R] :
          Coe (โ†ฅ(Matrix.symplecticGroup l R)) (Matrix (l โŠ• l) (l โŠ• l) R)
          Equations
            def SymplecticGroup.symJ (l : Type u_1) (R : Type u_2) [DecidableEq l] [Fintype l] [CommRing R] :

            The canonical skew-symmetric matrix as an element in the symplectic group.

            Equations
              Instances For
                @[simp]
                theorem SymplecticGroup.coe_J {l : Type u_1} {R : Type u_2} [DecidableEq l] [Fintype l] [CommRing R] :
                โ†‘(symJ l R) = Matrix.J l R
                instance SymplecticGroup.hasInv {l : Type u_1} {R : Type u_2} [DecidableEq l] [Fintype l] [CommRing R] :
                Equations
                  theorem SymplecticGroup.coe_inv {l : Type u_1} {R : Type u_2} [DecidableEq l] [Fintype l] [CommRing R] (A : โ†ฅ(Matrix.symplecticGroup l R)) :
                  โ†‘Aโปยน = -Matrix.J l R * (โ†‘A).transpose * Matrix.J l R
                  theorem SymplecticGroup.coe_inv' {l : Type u_1} {R : Type u_2} [DecidableEq l] [Fintype l] [CommRing R] (A : โ†ฅ(Matrix.symplecticGroup l R)) :
                  โ†‘Aโปยน = (โ†‘A)โปยน