The Planar Enumerator is a Mathematica/C program designed to enumerate any objects that have a planar presentation, such as knots, links, tangles, and 2D surfaces in R^4. It does this by first generating all the planar diagrams of a given complexity (the number of crossings for knots) and then finding out which of them are isomorphic to each other by finding relations between them (Reidemeister moves for knots). The final result is hopefully just one diagram from each isomorphism class.
The user must define certain relations (such as Reidemeister moves for knots) and types of vertices in Mathematica then call the Planar Enumerator. For details on this see the documentation below.
At this point, the Planar Enumerator is still in the prototype stage. It is rather slow and consumes a lot of memory. It still works, but just takes a long time. Hopefully in the future, I (or somebody else) will find the time to continue the work to improve it.
The program was written by me, Stephen Green, for an NSERC Undergraduate Student Research Award during Summer 2003 under the supervision of Dror Bar-Natan.
The Planar Enumerator requires Mathematica to run, and a C compiler to compile the C portion. It was designed with Mathematica 4.2 on Red Hat Linux 9, although those are not required.
Fast computers with a lot of memory are very useful as well. Memory is very rapidly used up.
For more details on the program, please view the documentation:
<<PlanarEnumerator`
Windows users might need to edit some files as outlined in the documentation.
If you are having trouble with this, a version including the binaries, compiled with Mathematica 4.2 on Red Hat Linux 9 is available here. This might work with other versions of Linux and Mathematica as well, but no guarantees.
If you have any questions or comments, email me at stephen.green@utoronto.ca.