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.
|
|
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 [Shumakovitch]).
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 ):
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.