10.12 Contains general base classes for the classical groups

Module: sage.groups.matrix_gps.linear

GL, SL, Sp, SO, SU

TODO: Implement "twisted" groups.

Author Log:

 $&bull#bullet;$
William Stein - initial version
 $&bull#bullet;$
David Joyner - degree, base_ring, random, order methods; examples
 $&bull#bullet;$
David Joyner (2006-05) - added center, more examples,
 $&bull#bullet;$
renamed random attributes, bug fixes.
 $&bull#bullet;$
REFERENCES:
KL
Peter Kleidman and Martin Liebeck. The subgroup structure of the finite
 $&bull#bullet;$
classical groups. Cambridge University Press, 1990.
C
R. W. Carter. Simple groups of Lie type, volume 28 of Pure and
 $&bull#bullet;$
Applied Mathematics. John Wiley and Sons, 1972.

Class: LinearGroup_finite_field

class LinearGroup_finite_field

Functions: center,$  $ conjugacy_class_representatives,$  $ order,$  $ random,$  $ random_gap

center( self)

Return the center the group (wraps GAP's Center function).

WARNING: Does not work for unitary groups.

sage: G = GL(2,GF(3))
sage: C = G.center()
[[1 0]
 [0 1], [2 0]
        [0 2]]
sage: C
Matrix group over Finite Field of size 3 with 2 generators:
 [[[1, 0], [0, 1]], [[2, 0], [0, 2]]]
sage: print C
MatrixGroup( [[[1, 0], [0, 1]], [[2, 0], [0, 2]]] )

conjugacy_class_representatives( self)

Return a complete set of representatives of the conjugacy classes of the group.

WARNING: Does not work for unitary groups.

sage: G = GL(2,GF(3))
sage: C = G.conjugacy_class_representatives()
sage: len(C)
8
sage: C[0]
[1 0]
[0 1]
sage: [g.list() for g in C]     # prints more nicely
[[[1, 0], [0, 1]],
 [[0, 2], [1, 1]],
 [[2, 0], [0, 2]],
 [[0, 2], [1, 2]],
 [[0, 2], [1, 0]],
 [[0, 1], [1, 2]],
 [[0, 1], [1, 1]],
 [[2, 0], [0, 1]]]
sage: G = GL(2,GF(4))
sage: C = G.conjugacy_class_representatives()
sage: [g.list() for g in C]      # prints more nicely
[[[1, 0], [0, 1]],
 [[0, 1], [1, 0]],
 [[a, 0], [0, a]],
 [[0, a + 1], [1, 0]],
 [[a + 1, 0], [0, a + 1]],
 [[0, a], [1, 0]],
 [[0, 1], [1, a]],
 [[0, 1], [1, a + 1]],
 [[0, a], [1, 1]],
 [[0, a], [1, a]],
 [[0, a + 1], [1, 1]],
 [[0, a + 1], [1, a + 1]],
 [[1, 0], [0, a]],
 [[1, 0], [0, a + 1]],
 [[a, 0], [0, a + 1]]]

order( self)

       sage: G = Sp(4,GF(3))
sage: G.order()
       51840
       sage: G = SL(4,GF(3))
       sage: G.order()
       12130560

random( self)

Wraps GAP's Random function.

sage: G = Sp(4,GF(3))
sage: G.random()        ## random output
[0 2 1 1]
[1 1 1 2]
[2 2 2 2]
[0 2 0 2]

random_gap( self)

Return a random element of this group, using GAP with the output in GAP notation.

sage: G = Sp(4,GF(3))
sage: G.random_gap()        ## random output
[ [ Z(3), 0*Z(3), Z(3), 0*Z(3) ], [ Z(3), Z(3), Z(3)^0, Z(3) ],
  [ Z(3), 0*Z(3), Z(3)^0, 0*Z(3) ], [ Z(3)^0, Z(3), Z(3)^0, Z(3)^0 ] ]

Special Functions: __contains__

__contains__( self, x)

Return True if $ x$ is an element of this group.

sage: G = GL(3,GF(4))
sage: g = G.random() 
sage: g in G          
True

Class: LinearGroup_generic

class LinearGroup_generic
LinearGroup_generic( self, n, R, [e=0])

n - the degree R - the base ring e - a parameter for orthogonal groups only depending on the invariant form

Functions: base_ring,$  $ degree,$  $ field_of_definition,$  $ invariant_form,$  $ is_finite

field_of_definition( self)

This is only used for unitary groups at the moment. It can eventually be used for inner forms.

       sage: G = SU(3,GF(5))
       sage: G.base_ring()
Finite Field of size 5
sage: G.field_of_definition()
       Finite Field in a of size 5^2
       sage: G = GO(4,GF(7),1)
       sage: G.field_of_definition()
       Finite Field of size 7
       sage: G.base_ring()
       Finite Field of size 7

is_finite( self)

sage: G = GL(2,GF(3))
sage: G.is_finite()
True

See About this document... for information on suggesting changes.