2

I'm just starting out with using the MAGMA computer algebra system, and can't figure out how to tell MAGMA to consider $GL(3,2)$ as a permutation group, using the natural action on $(\mathbb F_2)^3$.

Some background: I would like to compute double cosets inside the group $GL_3(2)$ of 3x3 matrices over the finite field with 2 elements.

I can try this as follows:

G := GL(3,2);
S := SylowSubgroup(G,2);
DoubleCosetRepresentatives(G,S,S);

which gets me the error

Runtime error in 'DoubleCosetRepresentatives': Bad argument types
Argument types given: GrpMat[FldFin], GrpMat[FldFin], GrpMat[FldFin]

This is fair enough; it seems that matrix groups are not automatically permutation groups. However, the group $PGL(3,2)$ is naturally isomorphic to $GL(3,2)$, and that one is constructed as a permutation group (which again makes sense, given in general $PGL(n,p)$ won't be a matrix group). So a silly workaround would just be to compute using $PGL(3,2)$, but I feel there should be a more general way of coercing matrix groups over finite fields to permutation groups...

Josh Hunt
  • 1,463

1 Answers1

2

I would use $\mathrm{PGL}(3,2)$ in this case. Otherwise, I don't think that MAGMA has a built in way to do this.

You can, however, do this manually. I would do this by taking the the set $V$ of vectors in $\mathbb{F}_{q}^{n}$ and defining a subgroup of $\mathrm{Sym}(V)$ using the generators of your matrix group $G$.

Something like

 V := {v : v in VectorSpace(FiniteField(2),3)};
 PmGp := sub<Sym(V) | {[v*g : v in V] : g in Generators(G)}>;

You may want to set up an isomorphism between your groups, using for example

_, phi := IsIsomorphic(PmGp,G);

so that you can map your double coset representatives back to $G$ once you have found them.

xxxxxxxxx
  • 13,302
  • Thanks for the answer, I guess I'll just use $PGL(3,2)$ then. With regards to "not sure why you would want to in general", I agree that taking up lots of memory for the default representation is a bad thing, but providing methods to manipulate cosets of a group seems a fairly basic thing to ask for! (Maybe this depends on mathematical taste.) Perhaps the algorithm is just more difficult to implement with their internal representation of matrix groups. – Josh Hunt Oct 15 '17 at 10:43