[GAP Forum] Partition backtrack

Mathieu Dutour mathieu.dutour at gmail.com
Wed Aug 26 09:19:22 BST 2015


I would like to have a C/C++ library code which implements partition
backtrack for computing Stabilizer/RepresentativeAction for the actions
OnSets.

This work seems to have its origin in the work of Jeffrey S. Leon as
described in his paper "Permutation group algorithms based on partitions".
and all source code originates from it. There is another code in permlib
but it has performance problems.

What are the variants of the code right now? I can think of several right
now:
---The code of guava3.12 which contains the original code of leon.
---The C-code of GAP.
---The code in sage. But it is written in Cython and so available only
    via Python.
As a side remark, the guava code provides partition backtrack for
the action OnSetsSets, which is not in GAP as far as I know.

The code of guava is the nearer to my needs but it has a number of problems:
---It is a standalone binary and not a library, Adapting it to a library is
a non-trivial work since there are many global variables.
---It uses static variables which prevents it being included in a parallel
program
---It has performance problems in some small cases (48 points) for testing
equivalence (GAP has no problem at all).
---There are some segmentation faults in the program.

What would be your recommendation for having a good C++ library
for partition backtrack, that is: fast, clean and usable in parallel
programs?

  Mathieu


More information about the Forum mailing list