Notice. The Knot Atlas is now recovering from a major crash. Hopefully all functionality will return slowly over the next few days. --Drorbn (talk) 21:23, 4 July 2013 (EDT)

Heegaard Floer Knot Homology

From Knot Atlas
Jump to: navigation, search


In 2007, Jean-Marie Droz of the University of Zurich (working along with Anna Beliakova) wrote a Python program to compute the (hat-version) Heegaard-Floer Knot Homology \widehat{\operatorname{HFK}}(K) of a knot K (see arXiv:0803.2379). His program is integrated into KnotTheory`, though to run it, you must have Python as well as the Python library Psyco installed on your system.

(For In[1] see Setup)

In[1]:= ?HFKHat
HFKHat[K][t,m] returns the Poincare polynomial of the Heegaard-Floer Knot Homology (hat version) of the knot K, in the Alexander variable t and the Maslov variable m.
In[2]:= HFKHat::about
The Heegaard-Floer Knot Homology program was written by Jean-Marie Droz in 2007 at the University of Zurich, based on methods of Anna Beliakova's arXiv:07050669.

The Heegaard-Floer Knot Homology is a categorification of the Alexander polynomial. Let us test that for the knot 8_19:

In[3]:= hfk = HFKHat[K = Knot[8, 19]][t, m]
Out[3]= 2 -3 m 5 2 6 3 m + t + -- + m t + m t 2 t
In[4]:= {hfk /. m -> -1, Alexander[K][t]}
Out[4]= -3 -2 2 3 -3 -2 2 3 {1 + t - t - t + t , 1 + t - t - t + t }

The knot 8_19 is the first knot in the Rolfsen Knot Table whose Heegaard-Floer Knot Homology is not "diagonal". Let us test that. The homology \widehat{\operatorname{HFK}}(K) is "on diagonal", iff its Poincare polynomial, evaluated at m=1/t, is a monomial:

In[5]:= Select[AllKnots[{3, 8}], (Head[HFKHat[#][t, 1/t]] == Plus) &]
Out[5]= {Knot[8, 19]}
In[6]:= hfk /. m -> 1/t
Out[6]= 4 -2 -- + t 3 t
K11n34.gif
K11n34
K11n42.gif
K11n42

The (mirrored) Conway knot K11n34 and the (mirrored) Kinoshita-Terasaka knot K11n42 are a mutant pair, and are notoriously difficult to tell apart. Let us check that an array of standard knot polynomials fails to separate them, yet \widehat{\operatorname{HFK}} succeeds:

In[7]:= K1 = Knot["K11n34"]; K2 = Knot["K11n42"]; test[invt_] := (invt[K1] =!= invt[K2]); test /@ { Alexander, MultivariableAlexander, Jones, HOMFLYPT, Kauffman, Kh, HFKHat }
Out[7]= {False, False, False, False, False, False, True}

Indeed,

In[8]:= {HFKHat[K1][t, m], HFKHat[K2][t, m]}
Out[8]= 2 1 1 3 3 3 3 {3 + - + ----- + ----- + ----- + ----- + ---- + --- + 3 t + 3 m t + m 4 3 3 3 3 2 2 2 2 m t m t m t m t m t m t 2 2 2 2 3 3 3 3 m t + 3 m t + m t + m t , 6 1 1 4 4 2 2 2 7 + - + ----- + ----- + ---- + --- + 4 t + 4 m t + m t + m t } m 3 2 2 2 2 m t m t m t m t

On July 6, 2006, User:AnonMoos asked User:Drorbn if he could identify the knot in the left hand side picture below. At the time it was impossible using the tools available with KnotTheory` - using any of many invariants, the answer can be found to be either the mirror of K11n34 or the mirror of K11n42, but KnotTheory` couldn't tell which one it is (though of course, it is possible to do it "by hand"). The 2007 addition \widehat{\operatorname{HFK}} does the job, though. Indeed, we first extract the mystery knot's DT (Dowker-Thistlethwaite) Code using the picture on the right hand side below, then compute \widehat{\operatorname{HFK}}, and then search for it within the \widehat{\operatorname{HFK}}'s of all knots with up to 11 crossings:

Gateknot.jpg Gateknot DT Labeled.png
In[9]:= K3 = DTCode[6, 8, 14, 12, 4, -18, 2, -20, -22, -10, -16];
In[10]:= H = HFKHat[Mirror[K3]][t, m]
Out[10]= 2 1 1 3 3 3 3 3 + - + ----- + ----- + ----- + ----- + ---- + --- + 3 t + 3 m t + m 4 3 3 3 3 2 2 2 2 m t m t m t m t m t m t 2 2 2 2 3 3 3 3 m t + 3 m t + m t + m t
In[11]:= Select[AllKnots[], HFKHat[#][t, m] == H &]
Out[11]= {Knot[11, NonAlternating, 34]}

And so the mystery knot is the Conway knot, the mirror of K11n34.