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_class_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)¶ 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
– 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.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)¶ Bases:
sage.structure.unique_representation.UniqueRepresentation
,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
– 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
-
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 wherering
is a prime power.
OUTPUT:
A pair
(degree, ring)
.TESTS:
sage: from sage.groups.matrix_gps.named_group import normalize_args_vectorspace sage: A = AffineSpace(2, GF(4,'a')); A Affine Space of dimension 2 over Finite Field in a of size 2^2 sage: normalize_args_vectorspace(A) (2, Finite Field in a of size 2^2) sage: normalize_args_vectorspace(2,4) # shorthand (2, Finite Field in a of size 2^2) sage: V = ZZ^3; V Ambient free module of rank 3 over the principal ideal domain Integer Ring sage: normalize_args_vectorspace(V) (3, Integer Ring) sage: normalize_args_vectorspace(2, QQ) (2, Rational Field)
- An affine space itself: