TwoCohomologyGeneric relies on operations that have no methods for matrix groups
gap> G:=AtlasGroup("G2(3)",Position,7);
<matrix group of size 4245696 with 2 generators>
gap> M:=NaturalGModule(G);
rec( IsOverFiniteField := true, dimension := 7, field := GF(3),
generators := [ < immutable compressed matrix 7x7 over GF(3) >, < immutable compressed matrix 7x7 over GF(3) > ],
isMTXModule := true )
gap> TwoCohomologyGeneric(G,M);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 2nd choice method found for `FittingFreeLiftSetup' on 1 arguments at /opt/gap-4.14.0/lib/methsel2.g:250 called from
FittingFreeLiftSetup( G ); at /opt/gap-4.14.0/lib/grplatt.gi:3223 called from
LowLayerSubgroups( G, lev ) at /opt/gap-4.14.0/lib/gpfpiso.gi:2980 called from
IsomorphismFpGroupForRewriting( sf ) at /opt/gap-4.14.0/lib/gpfpiso.gi:425 called from
IsomorphismFpGroupByChiefSeriesFactor( g, str, TrivialSubgroup( g ) ) at /opt/gap-4.14.0/lib/gpfpiso.gi:615 called from
IsomorphismFpGroupByChiefSeries( G, "F" ) at /opt/gap-4.14.0/lib/gpfpiso.gi:54 called from
... at *stdin*:3
type 'quit;' to quit to outer loop
Thank you for reporting this issue.
As a quick workaround (so you can continue your work while we investigate a fix), this should work:
res:=TwoCohomologyGeneric(NiceObject(G),M);
@hulpke any insights on this? should we just implement this via Nice monomorphism dispatch (me or @ThomasBreuer could look into a patch), or do you have a better suggestion?
Since TwoCohomologyGeneric is documented to work for arbitrary finite groups, matrix groups over finite fields must be supported.
Delegating to a nicer group in TwoCohomologyGeneric seems to be an easy solution for groups that can be handled via nice objects.
On the other hand, if the code shall be really generic (as the name suggests) then also the functions called by TwoCohomologyGeneric should work for arbitrary finite groups. Achieving this would be more work.
For example, FittingFreeLiftSetup has methods only for pc groups and permutation groups. We could install a method that uses a nice monomorphism, likewise for other functions that cause problems.
(By the way: FittingFreeLiftSetup is undocumented, as well as the other functions declared in lib/fitfree.gd, although this file looks as if the functions were intended to be documented; lib/fitfree.gd is even listed in doc/ref/makedocreldata.g.)
There are lots of things that could work for all groups but at the moment are only implemented for particular representations. I think we are doing ourselves a disfavor by trying to make this all work for naive users. But that is my $0.02.
There is nothing that would stop a Nice method for TwoCohomologyGeneric, but it would have to change the record output to move maps (and decomposition functions) back to the original group, So this will be significantly more effort than just a 5 line wrapper function.
As for the actual error, a method for FittingFreeLiftSetup for matrix groups is provided by my matgrp package. The reason we cannot use this generically is that it relies on composition trees which lack verification. (And the whole calculation will be much slower here, than in the nice permrep of degree 351.)
I will write a second message on FittingFreeLiftSetup.