# Naming and Enumeration

`KnotTheory`` comes loaded with some knot tables; currently, the Rolfsen table of prime knots with up to 10 crossings [Rolfsen], the Hoste-Thistlethwaite tables of prime knots with up to 16 crossings and the Thistlethwaite table of prime links with up to 11 crossings (see Knotscape):

(For In[1] see Setup)

 In[2]:= ?Knot Knot[n, k] denotes the kth knot with n crossings in the Rolfsen table. Knot[n, Alternating, k] (for n between 11 and 16) denotes the kth alternating n-crossing knot in the Hoste-Thistlethwaite table. Knot[n, NonAlternating, k] denotes the kth non alternating n-crossing knot in the Hoste-Thistlethwaite table.
 In[3]:= ?Link Link[n, Alternating, k] denotes the kth alternating n-crossing link in the Thistlethwaite table. Link[n, NonAlternating, k] denotes the kth non alternating n-crossing link in the Thistlethwaite table.
 6_1 9_46

Thus, for example, let us verify that the knots 6_1 and 9_46 have the same Alexander polynomial:

 `In[4]:=` `Alexander[Knot[6, 1]][t]` `Out[4]=` ``` 2 5 - - - 2 t t```
 `In[5]:=` `Alexander[Knot[9, 46]][t]` `Out[5]=` ``` 2 5 - - - 2 t t```

We can also check that the Borromean rings, L6a4 in the Thistlethwaite table, is a 3-component link:

 `In[6]:=` `Length[Skeleton[Link[6, Alternating, 4]]]` `Out[6]=` `3`
 In[7]:= ?AllKnots AllKnots[] return a list of all knots with up to 11 crossings. AllKnots[n_] returns a list of all knots with n crossings, up to 16. AllKnots[{n_, m_}] returns a list of all knots with between n and m crossings, and AllKnots[n_, Alternating|NonAlternating] returns all knots with n crossings of the specified type.
 In[8]:= ?AllLinks AllLinks[] return a list of all links with up to 11 crossings. AllLinks[n_] returns a list of all links with n crossings, up to 12.

Thus at the moment there are 1701936 knots and 5700 links known to `KnotTheory``:

 `In[9]:=` `Length /@ {AllKnots[{0,16}], AllLinks[{2,12}]}` `Out[9]=` `{1701936, 5700}`
 `In[10]:=` `Show[DrawPD[Knot[13, NonAlternating, 5016], {Gap -> 0.025}]]` `Out[10]=` `-Graphics-`

(Shumakovitch had noticed that this nice knot has interesting Khovanov homology; see ).

In addition to the tables, KnotTheory` also knows about torus knots:

 In[11]:= ?TorusKnot TorusKnot[m, n] represents the (m,n) torus knot.
 In[12]:= ?TorusKnots TorusKnots[n_] returns a list of all torus knots with up to n crossings.

For example, the torus knots T(5,3) and T(3,5) have different presentations with different numbers of crossings, but they are in fact isotopic, and hence they have the same invariants (and in particular the same type 3 Vassiliev invariant $V_3$):

 `In[13]:=` `Crossings /@ {TorusKnot[5, 3], TorusKnot[3, 5]}` `Out[13]=` `{10, 12}`
 `In[14]:=` `Vassiliev[3] /@ {TorusKnot[5, 3], TorusKnot[3, 5]}` `Out[14]=` `{20, 20}`

KnotTheory` knows how to plot torus knots; see Drawing with TubePlot.

You can also use the function Knot to parse certain string representations of named knots:

 `In[15]:=` `Knot /@ {"K11a14", "11a_14", "L8a1", "T(3,5)"}` `Out[15]=` ```{Knot[11, Alternating, 14], If[11 a <= 10 && 14 <= NumberOfKnots[11 a, Alternating] + NumberOfKnots[11 a, NonAlternating], Knot @@ KnotTheory`Naming`s\$3008], Link[8, Alternating, 1], TorusKnot[3, 5]}```

In the opposite direction, the function NameString produces the standard name for a knot, used throughout the Knot Atlas.

 `In[16]:=` `NameString /@ {Knot[11, Alternating, 14], TorusKnot[3,5]}` `Out[16]=` `{K11a14, T(3,5)}`

## References

[Rolfsen] ^  D. Rolfsen, Knots and Links, Publish or Perish, Mathematics Lecture Series 7, Wilmington 1976.

[Shumakovitch] ^  A. Shumakovitch, Torsion of the Khovanov Homology, arXiv:math.GT/0405474.