An extensible, easy to understand backtracking framework
Version 1.2.0
Released 2026-10-01
This project is maintained by Christopher Jefferson, Wilf A. Wilson
This package provides a simple implementation of Leon’s partition backtrack framework.
This package is intended to be a package for learning the algorithms of partition backtrack, and the performance is extremely poor – orders of magnitude slower than the algorithms in GAP. If you want to see a modern, high-performance extension to partition backtrack, look at the vole package.
BacktrackKit currently requires (currently) GAP version >= 4.13.0, and
sufficiently recent versions of the following packages (see the PackageInfo.g
file for specific versions):
This package is a work in progress, both in terms of code and documentation.
If you have any issues or questions about this package, please post an issue at https://github.com/peal/BacktrackKit/issues
Object for a stabiliser constraint (as a synonym for source object).
This clashed with the HAP package.BTKit_Con to BTKit_Refiner.ProcessConstraints and BTKit_RefinerFromConstraintRefiners now have a “constraint” member, which is a new type of GAP object, and
which stores information about the constraint that the refiner refiners with
respect to. Constraints are available via the Constraint record.
Add IsEven and IsOdd refiners, to more efficiently handle alternating groups
CI tests the development, latest, and oldest supported GAP versions on Linux,
plus development GAP on Windows, with both normal and OnlyNeeded loading.
The Docs workflow builds the manual and uploads its PDF.
To release, update the version and date in PackageInfo.g, push to master,
then run Actions → Release on master with dry-run selected first.
Inspect the generated archives and manuals, then rerun without dry-run to
publish the GitHub release and update the package website. Existing website
customisations are preserved. Use force only when intentionally replacing
an existing release or bypassing the release-date check.