Some Khovanov-Rozansky Computations

See http://www.math.toronto.edu/~drorbn/Misc/KhovanovRozansky/

My programs are admittedly pathetic; they were written mostly to verify that I understand the definitions correctly. They are inelegant and inefficient and they hardly compute anything. Even the trefoil knot seems too large for these programs. (Though what's computed is enough to convince me that I do understand the definitions, and may already be of some very minor interest to others). Nothing was checked too carefully and all may be wrong.

Startup:

We first have to load some programs: the package KnotTheory`, and the files SubQuotient.m and KRH.m. If you are wise and they are all in the same directory, just load all three. On my "development" machine, where each one is saved in a different place, the following sequence is necessary:

SetDirectory["c:/drorbn/projects/KhovanovRozansky/"];
AppendTo[$Path,  "c:/drorbn/projects/KAtlas/"];
Get["KnotTheory`"];
Get["../SubQuotient/SubQuotient.m"];
Get["KRH.m"];
n = 2;

Here are some n=2 computations for the Hopf link, Link[2, Alternating, 1]:

K = PD[Link[2, Alternating, 1]];

Degree -8, height 0 through 2:

Dim[KRH[K,  #,  -8]]  &  /@  {0, 1, 2}

Degree -6, height 0 through 2:

Dim[KRH[K,  #,  -6]]  &  /@  {0, 1, 2}

Degree -4, height 0 through 2:

Dim[KRH[K,  #,  -4]]  &  /@  {0, 1, 2}

Degree -2, height 0 through 2:

Dim[KRH[K,  #,  -2]]  &  /@  {0, 1, 2}

Degree 0, height 0 through 2:

Dim[KRH[K,  #,  0]]  &  /@  {0, 1, 2}

Degree 2, height 0 through 2:

Dim[KRH[K,  #,  2]]  &  /@  {0, 1, 2}

(These numbers agree with the ordinary Khovanov homology for the Hopf link, as expected for n=2)

Here are some n=2 computations for the trefoil knot, Knot[3,1]:

n = 2;  K = PD[Knot[3, 1]];

Dim[KRH[K,  #,  -11]]  &  /@  {0, 1, 2, 3}

Dim[KRH[K,  #,  -9]]  &  /@  {0, 1, 2, 3}

Dim[KRH[K,  #,  -7]]  &  /@  {0, 1, 2, 3}

Dim[KRH[K,  #,  -5]]  &  /@  {0, 1, 2, 3}

(These numbers agree with the ordinary Khovanov homology for the trefoil knot, as expected for n=2)

Here are some n=3 computations for the Hopf link, Link[2, Alternating, 1]:

The easiest way to change n is to restart mathematica:

Exit[]

SetDirectory["c:/drorbn/projects/KhovanovRozansky/"];
AppendTo[$Path,  "c:/drorbn/projects/KAtlas/"];
Get["KnotTheory`"];
Get["../SubQuotient/SubQuotient.m"];
Get["KRH.m"];
n = 3;

K = PD[Link[2, Alternating, 1]];

Dim[KRH[K,  #,  -12]]  &  /@  {0, 1, 2}

Dim[KRH[K,  #,  -10]]  &  /@  {0, 1, 2}

Dim[KRH[K,  #,  -8]]  &  /@  {0, 1, 2}

Dim[KRH[K,  #,  -6]]  &  /@  {0, 1, 2}

Dim[KRH[K,  #,  -4]]  &  /@  {0, 1, 2}

Dim[KRH[K,  #,  -2]]  &  /@  {0, 1, 2}

Dim[KRH[K,  #,  0]]  &  /@  {0, 1, 2}

Here are some n=3 computations for the trefoil knot, Knot[3,1]:

K = PD[Knot[3, 1]];

Degree -14, height 0 through 3:

Dim[KRH[K,  #,  -14,  Parity  ->  0]]  &  /@  {0, 
        1, 2, 3}

Dim[KRH[K,  #,  -14,  Parity  ->  1]]  &  /@  {0, 
        1, 2, 3}

Degree -12, height 0 through 3:

Dim[KRH[K,  #,  -12,  Parity  ->  0]] &  /@  {0, 1, 
        2, 3}

Dim[KRH[K,  #,  -12,  Parity  ->  1]] &  /@  {0, 1, 
        2, 3}

Degree -10, height 0 through 3 is already quite sad:

Dim[KRH[K,  #,  -10,  Parity  ->  0]] &  /@  {0, 1, 
        2, 3}

Dim[KRH[K,  #,  -10,  Parity  ->  1]] &  /@  {0, 1, 
        2, 3}

Here are some n=4 computations for the trefoil knot, Knot[3,1]:

Exit[]

SetDirectory["c:/drorbn/projects/KhovanovRozansky/"];
AppendTo[$Path,  "c:/drorbn/projects/KAtlas/"];
Get["KnotTheory`"];
Get["../SubQuotient/SubQuotient.m"];
Get["KRH.m"];
n = 4;

K = PD[Knot[3, 1]];

Dim[KRH[K,  #,  -21,  Parity  ->  0]]  &  /@  {0, 
        1, 2, 3}

Dim[KRH[K,  #,  -21,  Parity  ->  1]]  &  /@  {0, 
        1, 2, 3}

{Dim[KRH[K,  #,  -19,  Parity  ->  0]]  &  /@  {0, 
          1, 2, 3},  Dim[
            KRH[K,  #,  -19,  Parity  ->  1]]  &  /@  {0, 
          1, 2, 3}}

{Dim[KRH[K,  #,  -17,  Parity  ->  0]]  &  /@  {0, 
          1, 2, 3},  Dim[
            KRH[K,  #,  -17,  Parity  ->  1]]  &  /@  {0, 
          1, 2, 3}}

{Dim[KRH[K,  #,  -15,  Parity  ->  0]]  &  /@  {0, 
          1, 2, 3},  Dim[
            KRH[K,  #,  -15,  Parity  ->  1]]  &  /@  {0, 
          1, 2, 3}}