gap-packages/NautyTracesInterface

GAP crashes if AutomorphismGroup is called

markusbaumeister opened this issue · 2 comments

In combination with the digraphs-package the method AutomorphismGroup crashes GAP:
/usr/local/bin/gap: Zeile 3: 9800 Speicherzugriffsfehler /opt/gap4r8/bin/gap.sh $@

Code that reproduces this crash in my system:

LoadPackage("NautyTracesInterface");
LoadPackage("Orb");
LoadPackage("Digraphs");

g := NautyColoredGraphWithNodeLabels(
 [ [ 1, 5 ], [ 2, 5 ], [ 1, 6 ], [ 3, 6 ], [ 1, 7 ], [ 4, 7 ], [ 2, 8 ], [ 3, 8 ], 
   [ 2, 9 ], [ 4, 9 ], [ 3, 10 ], [ 4, 10 ], [ 5, 11 ], [ 6, 11 ], [ 8, 11 ], 
   [ 5, 12 ], [ 7, 12 ], [ 9, 12 ], [ 8, 13 ], [ 9, 13 ], [ 10, 13 ], 
   [ 6, 14 ], [ 7, 14 ], [ 10, 14 ] ],
  [ 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2 ], 
  [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ] 
);

#AutomorphismGroup(g);
AutomorphismGroup( UnderlyingNautyGraph(g) );

While AutomorphismGroup is not implemented for NautyColoredGraphWithNodeLabels it should throw an error instead of crashing GAP (which it does if digraphs is not loaded). The second call should definitely work and return the trivial Group.

This probably is connected to the fact that digraphs also implements AutomorphismGroups (although that should not be an issue in GAP).

This also affects isomorphism testing.

Colors have to be positive integers. So,

LoadPackage("NautyTracesInterface");
LoadPackage("Orb");
LoadPackage("Digraphs");

g := NautyColoredGraphWithNodeLabels(
 [ [ 1, 5 ], [ 2, 5 ], [ 1, 6 ], [ 3, 6 ], [ 1, 7 ], [ 4, 7 ], [ 2, 8 ], [ 3, 8 ], 
   [ 2, 9 ], [ 4, 9 ], [ 3, 10 ], [ 4, 10 ], [ 5, 11 ], [ 6, 11 ], [ 8, 11 ], 
   [ 5, 12 ], [ 7, 12 ], [ 9, 12 ], [ 8, 13 ], [ 9, 13 ], [ 10, 13 ], 
   [ 6, 14 ], [ 7, 14 ], [ 10, 14 ] ],
  [ 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2 ] + 1, 
  [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ] 
);

AutomorphismGroup(g);
AutomorphismGroup( UnderlyingNautyGraph(g) );

works.