Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with CanoFormWithAutGroupOfTable in GAP 4.9 #2

Closed
olexandr-konovalov opened this issue Feb 17, 2018 · 3 comments
Closed

Problem with CanoFormWithAutGroupOfTable in GAP 4.9 #2

olexandr-konovalov opened this issue Feb 17, 2018 · 3 comments

Comments

@olexandr-konovalov
Copy link
Member

The following happens in GAP 4.9.0:

gap> A := GroupRing(GF(2), SmallGroup(8,3));
<algebra-with-one over GF(2), with 3 generators>
gap> T := TableByWeightedBasisOfRad(A);
rec( dim := 7, fld := GF(2), rnk := 2, 
  tab := [ [ [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0 ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ] ], 
      [ [ 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0, Z(2)^0, Z(2)^0, Z(2)^0 ], [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, Z(2)^0 ], [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2) ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0 ], [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ] ],, 
      [ [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0, 0*Z(2) ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), Z(2)^0 ], [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ], 
          [ 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2), 0*Z(2) ] ] ], wds := [ ,, [ 1, 2 ],, [ 1, 4 ], [ 2, 4 ], [ 1, 6 ] ], 
  wgs := [ 1, 1, 2, 2, 3, 3, 4 ] )
gap> C := CanoFormWithAutGroupOfTable(T);
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `TriangulizedMat' on 1 arguments at /Users/alexk/gap-4.9.0/lib/methsel2.g:250 called from
TriangulizedMat( sub ) at /Users/alexk/gap-4.9.0/lib/meataxe.gi:700 called from
SMTX.InducedActionFactorModuleWithBasis( M, U 
 ) at /Users/alexk/Library/Preferences/GAP/pkg/modisom/gap/cfstab/general.gi:120 called from
BasisSocleSeries( G ) at /Users/alexk/Library/Preferences/GAP/pkg/modisom/gap/cfstab/orbstab.gi:178 called from
HybridMatrixCanoForm( G, U ) at /Users/alexk/Library/Preferences/GAP/pkg/modisom/gap/autiso/autiso.gi:48 called from
ExtendCanoForm( T, i ); at /Users/alexk/Library/Preferences/GAP/pkg/modisom/gap/autiso/autiso.gi:95 called from
...  at *stdin*:10
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk> 

In GAP 4.8.10 TableByWeightedBasisOfRad returns the same T, but then there is no error.

@fingolfin
Copy link
Member

This is caused by a change in GAP 4.9 made to SMTX.InducedActionFactorModuleWithBasis. Which BTW is an undocumented function not used by anything in the kernel, which makes it hard to test. But now I see that both autpgrp and modisom use it.

Anyway, in GAP 4.8, it starts like this:

SMTX.InducedActionFactorModuleWithBasis:=function (module,sub)
local ans, dim, subdim, F,qmodule;

   sub:=List(sub,ShallowCopy);
   TriangulizeMat(sub);
...

Which was optimized by me in GAP 4.9 to this:

SMTX.InducedActionFactorModuleWithBasis:=function(module,sub)
local ans, dim, subdim, F,qmodule;

   sub:=TriangulizedMat(sub);
...

Unfortunately, TriangulizedMat does not support empty lists. This can be fixed by adding this to the GAP library:

InstallOtherMethod( TriangulizedMat, "for an empty list", [ IsList and IsEmpty ],
mat -> []);

@fingolfin
Copy link
Member

This is fixed by gap-system/gap#2260, once that is merged (and also backported to stable-4.9), I see no reason to delay a fresh modisom release.

@olexandr-konovalov
Copy link
Member Author

Fixed - see modisom tests passing at https://travis-ci.org/gap-system/gap-docker-pkg-tests-stable-4.9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants