Skip to content


Repository files navigation

The GAP 4 package `ferret'

Ferret is a reimplementation of parts Jeffery Leon's Partition Backtrack
framework in C++, with extensions including:

* Ability to intersect many group simultaneously.
* Improved refiners based on orbital graphs.

This package currently supports:

* Group intersection.
* Stabilizing many structures including sets, sets of sets, graphs,
  sets of tuples and tuples of sets.

This package can be used by users in two ways:

* When the package is loaded many built-in GAP functions such as
  'Intersection' and 'Stabilizer' are replaced with more optimised
  implementations. This requires no changes to existing code.

* The function 'Solve' provides a unified interface to accessing
  all the functionality of the package directly.

This package needs to be built. This can be done by entering GAP's
pkg directory and running

../bin/ ferret*

(Running ../bin/ will build all packages,
 including Ferret)