Base for Classical Matrix Groups

This module implements the base class for matrix groups that have various famous names, like the general linear group.

EXAMPLES:

sage: SL(2, ZZ)
Special Linear Group of degree 2 over Integer Ring
sage: G = SL(2,GF(3)); G
Special Linear Group of degree 2 over Finite Field of size 3
sage: G.is_finite()
True
sage: G.conjugacy_classes_representatives()
(
[1 0]  [0 2]  [0 1]  [2 0]  [0 2]  [0 1]  [0 2]
[0 1], [1 1], [2 1], [0 2], [1 2], [2 2], [1 0]
)
sage: G = SL(6,GF(5))
sage: G.gens()
(
[2 0 0 0 0 0]  [4 0 0 0 0 1]
[0 3 0 0 0 0]  [4 0 0 0 0 0]
[0 0 1 0 0 0]  [0 4 0 0 0 0]
[0 0 0 1 0 0]  [0 0 4 0 0 0]
[0 0 0 0 1 0]  [0 0 0 4 0 0]
[0 0 0 0 0 1], [0 0 0 0 4 0]
)
class sage.groups.matrix_gps.named_group.NamedMatrixGroup_gap(degree, base_ring, special, sage_name, latex_string, gap_command_string, category=None)

Bases: sage.groups.matrix_gps.named_group.NamedMatrixGroup_generic, sage.groups.matrix_gps.matrix_group.MatrixGroup_gap

Base class for “named” matrix groups using LibGAP

INPUT:

  • degree – integer. The degree (number of rows/columns of matrices).
  • base_ring – ring. 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.
  • gap_command_string – string. The GAP command to construct the matrix group.

EXAMPLES:

sage: G = GL(2, GF(3))
sage: from sage.groups.matrix_gps.named_group import NamedMatrixGroup_gap
sage: isinstance(G, NamedMatrixGroup_gap)
True
class sage.groups.matrix_gps.named_group.NamedMatrixGroup_generic(degree, base_ring, special, sage_name, latex_string, category=None)

Bases: sage.structure.unique_representation.CachedRepresentation, sage.groups.matrix_gps.matrix_group.MatrixGroup_generic

Base class for “named” matrix groups

INPUT:

  • degree – integer. The degree (number of rows/columns of matrices).
  • base_ring – ring. 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
sage.groups.matrix_gps.named_group.normalize_args_vectorspace(*args, **kwds)

Normalize the arguments that relate to a vector space.

INPUT:

Something that defines an affine space. For example

  • An affine space itself:
    • A – affine space
  • A vector space:
    • V – a vector space
  • Degree and base ring:
    • degree – integer. The degree of the affine group, that is, the dimension of the affine space the group is acting on.
    • ring – a ring or an integer. The base ring of the affine space. If an integer is given, it must be a prime power and the corresponding finite field is constructed.
    • var='a' – optional keyword argument to specify the finite field generator name in the case where ring is a prime power.

OUTPUT:

A pair (degree, ring).