[Math] Computations in Knot Homology Theories

floer-homologygn.general-topologyknot-theory

1) Relative to one another, how computable are the various knot homology theories? For example, how many crossings can we allow a knot and still hope to compute its Khovanov homology, versus its knot Floer or Khovanov-Rozansky homologies? (The latter two seem to be generally unlisted at the Atlas; KF at least has a page about how it can be computed, but KR seems totally absent. If I'm just not seeing the right link, feel free to let me know)

2) Do the algorithms by which these invariants are computed share common features, or are they really very specific to the particular homology being computed?

For example, people computing KF homology draw square pictures that look very different from the pictures drawn by people doing Khovanov homology. On a less superficial level, KF algorithms (as far as I can tell) appear to be 'global' in an essential way, while Khovanov calculations can be done locally, breaking a knot into smaller pieces and then working with the pieces. So I'm led to believe the computations involved are different in a really fundamental way, but would be interested to see some combinatorial connection (as opposed to a topological relationship). I have no idea how KR homology is computed, so have no idea how closely related the computations involved are to, say, ordinary Khovanov homology.

Best Answer

Khovanov homology can be computed quite well, by Dror Bar-Natan's algorithm, as Ben says. It's nowhere near as good as algorithms for computing the Jones polynomial however.

The basic idea is that the speed of the computation depends largely on the "girth" of the link diagram. This is greatest number of intersections you see with a horizontal line. Within each girth, the algorithm applies to be a small degree polynomial in the number of crossings. However changing the girth dramatically affects the algorithm. Girth 14 is critical -- we can do up to about 80 crossings. See my paper with Freedman, Gompf and Walker on the smooth 4-d Poincare conjecture for details. Girth 12 and below is 'easy', and yes, 100 crossings is plausible, but more likely in weeks than seconds! Girth 16 and above seems to be out of range of current computers.

It's important to point out that memory constraints are the real issue for large Khovanov homology calculations. There's only a limited degree to which you can parallelize the computation, and so you end up wanting a single big computer with tonnes of RAM. The latest implementation of Dror's algorithm (my partial rewrite of Jeremy Green's program) tries to cache a lot of stuff of disk, but nevertheless we've done runs on 32gb machines and wished we had more memory!

As Ben says, Khovanov-Rozansky is much harder, and the purely combinatorial calculations you do for Khovanov homology get replaced by lots of commutative algebra. Ben at one point had a program that was doing this -- I'm not sure what the status of that is.

Knot Floer homology is a different matter. Even though there is now a nice 'cube of resolutions' picture for Knot Floer homology, it's only directly for knots, rather than tangles, so Dror's divide and conquer strategy doesn't apply. Dylan Thurston and others have a local description for tangles, but I don't know that anyone has tried implementing it. Computers aren't yet good at A_\infty tensor products!

If anyone is ever interested in writing better programs for Khovanov homology (or indeed trying to generalize to cover some of the other cases), please contact me, as I have some ideas! I'm no longer interested in writing code myself, but I'm happy to talk about it and assist. Particularly next semester at MSRI, if anyone is interested in doing some link homology programming they should talk to me.

Related Question