# 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]


#### Previous topic

Orthogonal Linear Groups

#### Next topic

Unitary Groups $$GU(n,q)$$ and $$SU(n,q)$$