cseed / knotkit

knot theory and computational algebra software
35 stars 7 forks source link

knotkit is a C++ software package written by Cotton Seed (cseed@math.princeton.edu) for computing some knot and manifold invariants appearing in low-dimensional topology. Other contributors include Josh Batson.

TABLE OF CONTENTS

  1. INTRO

  2. BUILDING

  3. USAGE

  4. UPCOMING CHANGES

  5. FOR DEVELOPERS

  6. INTRO

In addition to accepting knot presentations in a variety of formats (see usage below), knotkit contains the following tables of knot data:

This version of knotkit has support to compute the following invariants:

  1. BUILDING

To build knotkit on OS X, you will need the latest version of XCode (available for free in the App Store) and the GNU multiple precision arithmetic library (GMP). You can get GMP here:

http://gmplib.org/

knotkit also builds under Linux. In addition to GMP, you will need a C++ compiler which supports C++11. I use LLVM clang, but knotkit should build with a recent version of GCC.

knotkit doesn't have a sophisticated build system. To build knotkit, just run:

make

from the knotkit source directory. This should build the executable "kk". For instructions on invoking kk, see usage below. If you run into a problem, please contact me: Cotton Seed (cotton@math.princeton.edu).

  1. USAGE

The usage message for kk is given below. This can also be obtained by running "kk -h".

A note about output. The output for commands kh, gss, ls and lee is a .tex file which renders the bigraded homology group or spectral sequence. The output for the command sq2 matches the output for the program written by Lipshitz-Sarkar and is suitable for loading into Sage. The command s outputs a single line of text.

usage: kk [options...] compute for knot or link

can be one of: kh: Khovanov homology gss: Szabo's geometric spectral sequence lsss: Batson-Seed link splitting spectral sequence component weights are 0, 1, ..., m sq2: Lipshitz-Sarkar Steenrod square on Z/2 Kh output suitable for Sage leess: spectral sequence coming from Bar-Natan analogue of Lee's deformation of Khovanov's complex (whew!) s: Rasmussen's s-invariant coming from lee output: kh, gss, lsss, leess: .tex file sq2: text in Sage format s: text options: -r : compute reduced theory -h : print this message -o : write output to (stdout is the default) -f : ground field (if applicable) (Z2 is the default) -v : verbose: report progress as the computation proceeds can be one of: Z2, Z3, Q can be one of: - the unknot, e.g. U or unknot - a torus knot, e.g. T(2,3) - a Rolfsen table knot, e.g. 10_124 - a Hoste-Thistlethwaite-Weeks knot, e.g. 11a12 or 12n214 - a Morwen Thistlethwaite link, e.g. L8n9 or L13n8862 - a planar diagram, e.g. PD[X[1, 4, 2, 5], X[3, 6, 4, 1], X[5, 2, 6, 3]] or PD[[1, 4, 2, 5], [3, 6, 4, 1], [5, 2, 6, 3]] - a Dowker-Thistlethwaite code, e.g. DTCode[6,8,2,4], DT[dadbcda] or DT[{6, -8}, {-10, 12, -14, 2, -4}] - a braid, e.g. BR[2, {-1, -1, -1}] - disjoint union (juxtaposition), e.g. T(2,3) U 4. UPCOMING CHANGES The following changes are currently planned: * support for Z/p, p arbitrary prime and F(x) field of rational functions * Roberts' totally twisted Khovanov homology * the E^3 page of the twisted spectral sequence Kh(L) => \widehat{HF}(\Sigma_L) * spectral sequences of PIDs: lsss over F[x], gss over Z * maps induced by cobordisms 5. FOR DEVELOPERS If you are interested in contributing to knotkit or using it for a new application, please contact me: Cotton Seed (cotton@math.princeton.edu). I am interested in developing knotkit to be an open platform for performing computations arising in low-dimensional topology.