Symplectic Linear Groups¶
EXAMPLES:
sage: G = Sp(4,GF(7)); G
Symplectic Group of degree 4 over Finite Field of size 7
sage: g = prod(G.gens()); g
[3 0 3 0]
[1 0 0 0]
[0 1 0 1]
[0 2 0 0]
sage: m = g.matrix()
sage: m * G.invariant_form() * m.transpose() == G.invariant_form()
True
sage: G.order()
276595200
AUTHORS:
- David Joyner (2006-03): initial version, modified from special_linear (by W. Stein)
- Volker Braun (2013-1) port to new Parent, libGAP, extreme refactoring.
-
sage.groups.matrix_gps.symplectic.
Sp
(n, R, var='a')¶ Return the symplectic group.
The special linear group \(GL( d, R )\) consists of all \(d \times d\) matrices that are invertible over the ring \(R\) with determinant one.
Note
This group is also available via
groups.matrix.Sp()
.INPUT:
n
– a positive integer.R
– ring or an integer. If an integer is specified, the corresponding finite field is used.var
– variable used to represent generator of the finite field, if needed.
EXAMPLES:
sage: Sp(4, 5) Symplectic Group of degree 4 over Finite Field of size 5 sage: Sp(4, IntegerModRing(15)) Symplectic Group of degree 4 over Ring of integers modulo 15 sage: Sp(3, GF(7)) Traceback (most recent call last): ... ValueError: the degree must be even
TESTS:
sage: groups.matrix.Sp(2, 3) Symplectic Group of degree 2 over Finite Field of size 3 sage: G = Sp(4,5) sage: TestSuite(G).run()
-
class
sage.groups.matrix_gps.symplectic.
SymplecticMatrixGroup_gap
(degree, base_ring, special, sage_name, latex_string, gap_command_string)¶ Bases:
sage.groups.matrix_gps.symplectic.SymplecticMatrixGroup_generic
,sage.groups.matrix_gps.named_group.NamedMatrixGroup_gap
Symplectic group in GAP
EXAMPLES:
sage: Sp(2,4) Symplectic Group of degree 2 over Finite Field in a of size 2^2 sage: latex(Sp(4,5)) \text{Sp}_{4}(\Bold{F}_{5})
-
invariant_form
()¶ Return the quadratic form preserved by the orthogonal group.
OUTPUT:
A matrix.
EXAMPLES:
sage: Sp(4, GF(3)).invariant_form() [0 0 0 1] [0 0 1 0] [0 2 0 0] [2 0 0 0]
-
-
class
sage.groups.matrix_gps.symplectic.
SymplecticMatrixGroup_generic
(degree, base_ring, special, sage_name, latex_string)¶ Bases:
sage.groups.matrix_gps.named_group.NamedMatrixGroup_generic
Base class for “named” matrix groups
INPUT:
degree
– integer. The degree (number of rows/columns of matrices).base_ring
– rinrg. The base ring of the matrices.special
– boolean. Whether the matrix group is special, that is, elements have determinant one.latex_string
– string. The latex representation.
EXAMPLES:
sage: G = GL(2, QQ) sage: from sage.groups.matrix_gps.named_group import NamedMatrixGroup_generic sage: isinstance(G, NamedMatrixGroup_generic) True
-
invariant_form
()¶ Return the quadratic form preserved by the orthogonal group.
OUTPUT:
A matrix.
EXAMPLES:
sage: Sp(4, QQ).invariant_form() [0 0 0 1] [0 0 1 0] [0 1 0 0] [1 0 0 0]