Quotient of matrix group fails in GAP

555 Views Asked by At

This is a question about quotients of matrix groups in GAP… The matrix group generated by

a := [[1,1],[1,-1]]/Sqrt(2);
b := [[1,0],[0,E(4)]];
G := Group(a,b);

contains multiples of the identity matrix, for example

c := [[E(8),0],[0,E(8)]];

Clearly, the subgroup

H := Subgroup(G,[c]);

is normal, so

Q := FactorGroup(G,H);

should give me the quotient group. Can anyone tell me why I get the following error message instead?

Error, I don't know how to find a natural homomorphism for <N> in <G> called from
oper( Parent( D ), D ) called from
attr( sub ) called from
NaturalHomomorphismByNormalSubgroupNCOrig( G, N ) called from
NaturalHomomorphismByNormalSubgroupNC( G, N ) called from
FactorGroupNC( G, N ) called from
…
1

There are 1 best solutions below

3
On BEST ANSWER

For matrix groups in characteristic $0$, GAP does not know automatically whether they are finite. It therefore does not know that (fallback) methods, translating to permutation representations, become available.

Once you force it to determine finiteness:

IsFinite(G);

this applies and

gap> FactorGroup(G,H);
Group([ f1, f1*f2^2*f4 ])

should work fine.

(Philosophical question: Why doesn't GAP do so automatically? Finiteness tests can run very long, make the program seemingly be stuck, or use up processor/memory resources beyond any plausible limit. It was felt that such a command should not be run sneakily in the background as part of another calculation, but should have been explicitly requested by the user.)