Module: sage.groups.matrix_gps.linear
GL, SL, Sp, SO, SU
TODO: Implement "twisted" groups.
Author Log:
Class: LinearGroup_finite_field
Functions: center,
conjugacy_class_representatives,
order,
random,
random_gap
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]]] )
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]]]
self) |
sage: G = Sp(4,GF(3)) sage: G.order() 51840 sage: G = SL(4,GF(3)) sage: G.order() 12130560
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]
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__
self, x) |
Return True if
is an element of this group.
sage: G = GL(3,GF(4)) sage: g = G.random() sage: g in G True
Class: 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
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
self) |
sage: G = GL(2,GF(3)) sage: G.is_finite() True
See About this document... for information on suggesting changes.