Skip to content

About

A (hopefully) readable implementation of Jeffrey Leon's Partition Backtrack framework

Resources

Stars

7 stars

Watchers

5 watching

Forks

Latest commit

 

History

211 Commits

Folders and files

Repository files navigation

Build Status Code Coverage

The GAP package BacktrackKit

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):

  • datastructures
  • digraphs
  • images
  • primgrp

Additionally, the QuickCheck package is required in order to run all of the tests.

Contact

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

History

1.0.0

  • Internal changes to make this package compatible with 'vole', in particular, refiners made for BacktrackKit can be used inside 'vole'.

0.6.2

  • Remove Object for a stabiliser constraint (as a synonym for source object). This clashed with the HAP package.

0.6.1

  • Rename BTKit_Con to BTKit_Refiner.
  • Add constraints documentation from Vole
  • Add ProcessConstraints and BTKit_RefinerFromConstraint

0.6.0

Refiners 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.

0.5.1

Add IsEven and IsOdd refiners, to more efficiently handle alternating groups

0.5.0

  • Significant change to the API -- remove the requirement to give the size of the partition to most refiners

CI and releases

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.

About

A (hopefully) readable implementation of Jeffrey Leon's Partition Backtrack framework

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Used by

Contributors

Languages