The Symplectic Group #
This file defines the symplectic group and proves elementary properties.
Main Definitions #
Matrix.J: the canonical2n ร 2nskew-symmetric matrixsymplecticGroup: the group of symplectic matrices
TODO #
- Every symplectic matrix has determinant 1.
- For
n = 1the symplectic group coincides with the special linear group.
@[simp]
The group of symplectic matrices over a ring R.
Instances For
theorem
SymplecticGroup.mem_iff
{l : Type u_1}
{R : Type u_2}
[DecidableEq l]
[Fintype l]
[CommRing R]
{A : Matrix (l โ l) (l โ l) R}
:
A โ Matrix.symplecticGroup l R โ A * Matrix.J l R * A.transpose = Matrix.J l R
@[implicit_reducible]
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)
theorem
SymplecticGroup.J_mem
(l : Type u_1)
(R : Type u_2)
[DecidableEq l]
[Fintype l]
[CommRing R]
:
Matrix.J l R โ Matrix.symplecticGroup l R
def
SymplecticGroup.symJ
(l : Type u_1)
(R : Type u_2)
[DecidableEq l]
[Fintype l]
[CommRing R]
:
โฅ(Matrix.symplecticGroup l R)
The canonical skew-symmetric matrix as an element in the symplectic group.
Instances For
@[simp]
theorem
SymplecticGroup.neg_mem
{l : Type u_1}
{R : Type u_2}
[DecidableEq l]
[Fintype l]
[CommRing R]
{A : Matrix (l โ l) (l โ l) R}
(h : A โ Matrix.symplecticGroup l R)
:
-A โ Matrix.symplecticGroup l R
theorem
SymplecticGroup.symplectic_det
{l : Type u_1}
{R : Type u_2}
[DecidableEq l]
[Fintype l]
[CommRing R]
{A : Matrix (l โ l) (l โ l) R}
(hA : A โ Matrix.symplecticGroup l R)
:
theorem
SymplecticGroup.transpose_mem
{l : Type u_1}
{R : Type u_2}
[DecidableEq l]
[Fintype l]
[CommRing R]
{A : Matrix (l โ l) (l โ l) R}
(hA : A โ Matrix.symplecticGroup l R)
:
A.transpose โ Matrix.symplecticGroup l R
@[simp]
theorem
SymplecticGroup.transpose_mem_iff
{l : Type u_1}
{R : Type u_2}
[DecidableEq l]
[Fintype l]
[CommRing R]
{A : Matrix (l โ l) (l โ l) R}
:
A.transpose โ Matrix.symplecticGroup l R โ A โ Matrix.symplecticGroup l R
theorem
SymplecticGroup.mem_iff'
{l : Type u_1}
{R : Type u_2}
[DecidableEq l]
[Fintype l]
[CommRing R]
{A : Matrix (l โ l) (l โ l) R}
:
A โ Matrix.symplecticGroup l R โ A.transpose * Matrix.J l R * A = Matrix.J l R
@[implicit_reducible]
instance
SymplecticGroup.hasInv
{l : Type u_1}
{R : Type u_2}
[DecidableEq l]
[Fintype l]
[CommRing R]
:
Inv โฅ(Matrix.symplecticGroup 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))
:
@[implicit_reducible]
instance
SymplecticGroup.instGroupSubtypeMatrixSumMemSubmonoidSymplecticGroup
{l : Type u_1}
{R : Type u_2}
[DecidableEq l]
[Fintype l]
[CommRing R]
:
Group โฅ(Matrix.symplecticGroup l R)