[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Images, Orbits and Stabilizers

Images, Orbits and Stabilizers

Let G be a matrix group and let M be its natural module. Now G has an action on the elements and submodules of M. A derived G-set for G consists of the closure under the natural action of G of one of the following:

Subsections
u * g : ModTupElt, GrpMatElt -> ModTupElt
Given an element g belonging to the matrix group G with natural module M and an element u of this module, return the vector u * g.
y ^ g : Elt, GrpMatElt -> Elt
Given an element g belonging to the matrix group G with natural module M and an object y which is an element of some derived G-set of M, find the image of y under g.
y ^ G : Elt, GrpMat -> SetEnum
Orbit(G, y) : GrpMat, Elt -> SetEnum
Given a matrix group G with natural module M and an object y which is either a vector of M, a submodule of M, or a tuple whose components are either vectors or submodules, find the orbit of y under G.
OrbitBounded(G, y, b) : GrpMat, Elt, RngIntElt -> BoolElt, SetEnum
Given a matrix group G with natural module M and an object y which is either a vector of M, a submodule of M, or a tuple whose components are either vectors or submodules, return true if the orbit of y under G has length less than or equal to b. Otherwise the function returns false. If it returns true, then the orbit of y is returned as the second value.
Orbits(G) : GrpMat -> [ GSet ]
Given a matrix group G with natural R-module M, construct the orbits of G on the vectors of M. The orbits are returned as a sequence of sets.
LineOrbits(G) : GrpMat -> [ GSet ]
Given a matrix group G with natural R-module M, construct the orbits of G on the rank-1 submodules of M. The orbits are returned as a sequence of sets.
OrbitClosure(G, S) : GrpMat, { Elt } -> GSet
Given a matrix group G with natural module M and a set S of vectors or subspaces of M, return the union of orbits of the elements of S under the natural action of G on M.
Stabilizer(G, y) : GrpMat, Elt -> GrpMat
Given a matrix group G with natural module M and an object y which is either a vector of M, a submodule of M, or a tuple whose components are either vectors or submodules, determine the stabilizer of y in G.

Example GrpMat_Orbits (H21E14)

We continue with the group J2A2 introduced above.

> V := RSpace(G);
> u := V![1,0,0,0,0,0];
> U := sub< V | u >;
> x := < u, U >;
> W := sub< V | u, u*G.1 >;
> u^G.1;
(w^6 w^3 w^2   0   0   0)
> U^G.1;
Vector space of degree 6, dimension 1 over GF(3, 2)
Echelonized basis:
(  1 w^5   2   0   0   0)
> W^G.1;
Vector space of degree 6, dimension 2 over GF(3, 2)
Echelonized basis:
(  1 w^5   0   0   0   0)
(  0   0   1   0   0   0)
> x^G.1;
<(w^6 w^3 w^2   0   0   0), Vector space of degree 6, 
dimension 1 over GF(3, 2)
Echelonized basis:
(  1 w^5   2   0   0   0)>
> H := sub< G | G.1, G.2 >;
> #Orbit(H, u);
252
> #Orbit(H, U);
63
> #Orbit(G, U);
3150
> Stabilizer(G, U);
MatrixGroup(6, GF(3^2)) of order 384 = 2^7 * 3
Generators:
[  2   0   0   0   0   0]
[w^3   w   w   0   2 w^2]
[w^5 w^7 w^7   0   1 w^2]
[  0   0   1   2   1   0]
[w^7 w^5   0   0   0 w^6]
[  w w^3   0   0   0 w^6]

[w^2 0 0 0 0 0] [w^5 w^5 w^5 0 w 0] [w^7 w^3 w^3 0 0 w^7] [w^2 w^3 w w^6 w w^3] [w^3 1 w^6 0 w w^7] [ w w^6 2 0 w w^7]

[w^6 0 0 0 0 0] [ 0 2 0 0 0 0] [ 0 0 w^6 0 0 0] [w^2 w^7 w^6 w^2 0 0] [ w 0 w 0 2 0] [w^6 w^7 w^2 0 0 w^2]

[ 2 0 0 0 0 0] [ 0 2 0 0 0 0] [ 0 0 2 0 0 0] [ 0 0 0 2 0 0] [ 0 0 0 0 2 0] [ 0 0 0 0 0 2] > #Orbit(H, x); 252 > #Orbit(H, W); 28


The Homomorphism Induced by G-action on Orbits

OrbitAction(G, T) : GrpMat, Elt -> Hom(Grp), GrpPerm, GrpMat
Given a matrix group G with natural module M, and a set T consisting of either (a) elements of M, (b) submodules of M or (c) tuples, form the G-closure Y of T and construct the homomorphism phi: G -> L, where the permutation group L gives the action of G on the set Y. The function returns:
OrbitActionBounded(G, T, b) : GrpMat, Elt, RngIntElt -> BoolElt, Hom(Grp), GrpPerm, GrpMat
Given a matrix group G with natural module M, and a set T consisting of either (a) elements of M, (b) submodules of M or (c) tuples, form the G-closure Y of T. If the cardinality of Y does not exceed b, then construct the homomorphism phi: G -> L, where the permutation group L gives the action of G on the set Y. In this case the function returns:
OrbitImage(G, T) : GrpMat, Set -> GrpPerm
Given a matrix group G with natural module M, and a set T consisting of either (a) elements of M, (b) submodules of M or (c) tuples, form the G-closure Y of T and return the permutation group L giving the action of G on Y.
OrbitImageBounded(G, T, b) : GrpMat, Set, RngIntElt -> BoolElt, GrpPerm
Given a matrix group G with natural module M, and set T consisting of either (a) elements of M, (b) submodules of M or (c) tuples, form the G-closure Y of T. If the cardinality of Y does not exceed b, return true togther with the permutation group L giving the action of G on Y. If the cardinality of Y does exceed b, the action is not constructed and the single value false is returned.
OrbitKernel(G, T) : GrpMat, Set -> GrpMat
Given a matrix group G with natural module M, and a set T consisting of either (a) elements of M, (b) submodules of M or (c) tuples, form the G-closure Y of T and return the the permutation group L giving the action of G on Y.
OrbitKernelBounded(G, T, b) : GrpMat, Set, RngIntElt -> BoolElt, GrpMat
Given a matrix group G with natural module M, and set T consisting of either (a) elements of M, (b) submodules of M or (c) tuples, form the G-closure Y of T. If the cardinality of Y does not exceed b, return the boolean value true together with the kernel of the action of G on Y. If the cardinality of Y does exceed b, the kernel is not constructed and the single value false is returned.

Example GrpMat_Actions (H21E15)

We look for a small G-set for the group J2A2 (defined above) by examining eigenspaces of its generators. Having found a reasonably sized set, we then construct a permutation representation for G on this set.

> [ Factorization(CharacteristicPolynomial(G.i)) : i in [1..3] ];
[
    [
          <x^3 + w^5*x^2 + w^3*x + 2, 1>,
          <x^3 + w^7*x^2 + w*x + 2, 1>
    ],
    [
          <x + 2, 6>
    ],
    [
         <x + w^2, 3>,
         <x + w^6, 3>
    ]
]
> y := Eigenspace(G.2, -2);
> y;
Vector space of degree 6, dimension 3 over GF(3, 2)
Echelonized basis:
(1 0 0 1 2 1)
(0 1 0 2 1 2)
(0 0 1 1 2 1)
> #Orbit(G, y);
280
> P := OrbitImage(G, y);
> P;
Permutation group P of degree 280
> Order(P);
604800
> CompositionFactors(P);
    G
    |  J2
    1
> // Thus, our group has the simple group J_2 of Janko as a composition factor.
> Order(G);
1209600
> //Hence the kernel of this action has order 2.


Action on a Coset Space

[Future release] H * g : GrpMat, GrpMatElt -> Elt
Right coset of the subgroup H of the group G, where g is an element of G.
[Future release] x in C : GrpMatElt, Elt -> BoolElt
True if element g of group G lies in the coset C.
[Future release] x notin C : GrpMatElt, Elt -> BoolElt
True if element g of group G does not lie in the coset C.
[Future release] C_1 eq C_2 : Elt, Elt -> BoolElt
True if the coset C_1 is equal to the coset C_2.
[Future release] C_1 ne C_2 : Elt, Elt -> BoolElt
True if the coset C_1 is not equal to the coset C_2.
[Future release] # C : Elt -> RngIntElt
The cardinality of the coset C.
CosetTable(G, H) : Grp, Grp -> Hom(Grp)
The (right) coset table for G over subgroup H relative to its defining generators.
[Future release] CosetTable(G, f) : Grp, Hom(Grp) -> Hom(Grp)
The coset table for G corresponding to the permutation representation f of G, where f is a homomorphism of G onto a transitive permutation group.
Transversal(G, H) : GrpMat, GrpMat -> {@ GrpMatElt @}, Map
RightTransversal(G, H) : GrpMat, GrpMat -> {@ GrpMatElt @}, Map
Given a matrix group G and a subgroup H of G, this function returns
CosetAction(G, H) : GrpMat, GrpMat -> Hom(Grp), GrpPerm, GrpMat
Given a subgroup H of the group G, construct the permutation representation of G given by the action of G on the (right) coset space cos(G, H). The function returns:
CosetImage(G, H) : GrpMat, GrpMat -> GrpPerm
Given a subgroup H of the group G, construct the image L of G given by the action of G on the (right) coset space cos(G, H). L is returned as a permutation group.
CosetKernel(G, H) : GrpMat, GrpMat -> GrpMat
Given a subgroup H of the group G, construct the kernel of the action of G on the (right) coset space cos(G, H).

Example GrpMat_CosetAction (H21E16)

We construct G = SL(3, 3), a subgroup H of G, and the permutation representation of G given by its action on the cosets of H.

> G := MatrixGroup< 3, GF(3) | [0,2,0, 1,1,0, 0,0,1], [0,1,0, 0,0,1, 1,0,0] >;
> Order(G);
5616
> H := sub< G | G.1^2, G.2 >;
> Order(H);
216
> P := CosetImage(G, H);
> P;
Permutation group P of degree 26
    (1, 2)(3, 4, 6, 5, 7, 9)(8, 11)(10, 13, 15, 20, 18, 17)
      (12, 16, 21, 14, 19, 24)(23, 26)
    (2, 3, 5)(4, 6, 8)(7, 10, 14)(9, 12, 17)(11, 15, 20)(13, 18, 23)
      (16, 22, 21)(19, 25, 24)


[Next] [Prev] [Right] [Left] [Up] [Index] [Root]