Next: 8 Extras
Up: 7 Invariants
Previous: 7.10 Finite Type (Vassiliev)
  Contents
  Index
The Khovanov Homology
of a knot or a link
, also known as
Khovanov's categorification of the Jones polynomial of
, was defined
by Khovanov in [Kh1] (also check my
paper [BN1], where the notation is much
closer to the notation used here). It is a graded homology theory; each
homology group
is in itself a direct sum
of homogeneous components. Over a field on can form the two-variable
``Poincaré polynomial''
(which deserves the name ``the Khovanov
polynomial of
''),
In[2]:= ?Kh
In[3]:= Options[Kh]
|
Thus for example, here's the Khovanov polynomial of the knot
:
In[4]:= | kh = Kh[Knot[5, 1]][q, t] |
Out[4]= | -5 -3 1 1 1 1 q + q + ------ + ------ + ------ + ----- 15 5 11 4 11 3 7 2 q t q t q t q t |
The Euler characteristic of the Khovanov Homology
is (up to normalization) the Jones polynomial
of
. Precisely,
In[5]:= | {kh /. t -> -1, Expand[(q+1/q)Jones[Knot[5, 1]][q^2]]} |
Out[5]= | -15 -7 -5 -3 -15 -7 -5 -3 {-q + q + q + q , -q + q + q + q } |
Khovanov's homology is a strictly stronger invariant than the Jones
polynomial. Indeed,
though
:
In[6]:= | { Jones[Knot[5, 1]] === Jones[Knot[10, 132]], Kh[Knot[5, 1]] === Kh[Knot[10, 132]] } |
Out[6]= | {True, False} |
The algorithm presently used by KnotTheory` is an efficient algorithm modeled on the Kauffman bracket algorithm of Section 7.5.1, as explained in [BN3] (which follows [BN2]). Currently, two implementations of this algorithm are available:
JavaKh takes an additional option, Modulus, which sets the
characteristic of the ground field for the homology computations to 0
or to a prime . Thus for example, the following four In lines
imply that the Khovanov homology of the torus knot
T(6,5) has both 3 torsion and 5
torsion, but no 7 torsion:
In[7]:= | T65 = TorusKnot[6, 5]; kh = Kh[T65][q, t]; |
In[8]:= | Kh[T65, Modulus -> 3][q, t] - kh |
Out[8]= | 43 13 43 14 q t + q t |
In[9]:= | Kh[T65, Modulus -> 5][q, t] - kh |
Out[9]= | 35 10 35 11 39 11 39 12 q t + q t + q t + q t |
In[10]:= | Kh[T65, Modulus -> 7][q, t] - kh |
Out[10]= | 0 |
The following further example is a bit tougher. It takes my computer nearly an hour and some 256Mb of memory to find that the Khovanov homology of the 48-crossing torus knot T(8,7) has 3, 5 and 7 torsion but no 11 torsion:
In[11]:= ?JavaOptions
|
In[12]:= | SetOptions[Kh, JavaOptions -> "-Xmx256m"]; |
In[13]:= | T87 = TorusKnot[8, 7]; kh = Kh[T87][q, t]; |
In[14]:= | Factor[Kh[T87, Modulus -> 3][q, t] - kh] |
Out[14]= | 79 25 q t (1 + t) |
In[15]:= | Factor[Kh[T87, Modulus -> 5][q, t] - kh] |
Out[15]= | 61 11 12 10 14 12 18 13 q t (1 + t) (1 + q t + q t + q t ) |
In[16]:= | Factor[Kh[T87, Modulus -> 7][q, t] - kh] |
Out[16]= | 61 14 8 6 12 7 10 8 14 9 q t (1 + t) (1 + q t + q t + q t + q t ) |
In[17]:= | Factor[Kh[T87, Modulus -> 11][q, t] - kh] |
Out[17]= | 0 |
JavaKh also works over the integers:
In[18]:= ?ZMod
|
For example, the 22nd homology group over
of the torus knot T(8,7) at
degree 73 is the 280 element torsion group
:
In[19]:= | Coefficient[Kh[T87, Modulus -> Null][q, t], t^22 * q^73] |
Out[19]= | ZMod[2, 4, 5, 7] |
Finally, JavaKh may also be run outside of Mathematica, as the following example demonstrates:
drorbn@coxeter:.../KnotTheory: cd JavaKh drorbn@coxeter:.../KnotTheory/JavaKh: java JavaKh PD[X[3, 1, 4, 6], X[1, 5, 2, 4], X[5, 3, 6, 2]] "+ q^1t^0 + q^3t^0 + q^5t^2 + q^9t^3 "
(Type java JavaKh -help for some further help).