DT (Dowker-Thistlethwaite) Codes
Knots
The "DT Code" ("DT" after Clifford Hugh Dowker and Morwen Thistlethwaite) of a knot is obtained as follows:
- Start "walking" along and count every crossing you pass through. If has crossings and given that every crossing is visited twice, the count ends at . Label each crossing with the values of the counter when it is visited, though when labeling by an even number, take it with a minus sign if you are walking "over" the crossing.
- Every crossing is now labeled with two integers whose absolute values run from to . It is easy to see that each crossing is labeled with one odd integer and one even integer. The DT code of is the list of even integers paired with the odd integers 1, 3, 5, ..., taken in this order. Thus for example the pairing for the knot in the figure below is , and hence its DT code is (and as DT codes are insensitive to overall mirrors, this is equivalent to ).
KnotTheory`
has some rudimentary support for DT codes:
(For In[1] see Setup)
|
Thus for example, the DT codes for the last 9 crossing alternating knot 9_41 and the first 9 crossing non alternating knot 9_42 are:
In[3]:=
|
dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}
|
Out[3]=
|
{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8],
DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}
|
(The DT code of an alternating knot is always a sequence of positive numbers but the DT code of a non alternating knot contains both signs.)
9_41 |
9_42 |
DT codes and Gauss codes carry the same information and are easily convertible:
In[4]:=
|
gcs = GaussCode /@ dts
|
Out[4]=
|
{GaussCode[1, -6, 2, -8, 3, -1, 4, -9, 5, -2, 6, -4, 7, -3, 8, -5, 9,
-7], GaussCode[1, -5, 2, -1, 3, 8, -4, -2, 5, -3, -6, 9, -7, 4, -8,
6, -9, 7]}
|
In[5]:=
|
DTCode /@ gcs
|
Out[5]=
|
{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8],
DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}
|
Conversion between DT codes and/or Gauss codes and PD codes is more complicated; the harder side, going from DT/Gauss to PD, was written by Siddarth Sankaran at the University of Toronto:
In[6]:=
|
PD[DTCode[4, 6, 2]]
|
Out[6]=
|
PD[X[4, 2, 5, 1], X[6, 4, 1, 3], X[2, 6, 3, 5]]
|
Links
DT Codes for links are defined in a similar way (see [DollHoste]). Follow the same numbering process as for knots, except when you finish traversing one component, jump straight to the next. It is not difficult to see that there is always a choice of starting points along the components for which the resulting pairing is a pairing between odd and even numbers. (On the figure above one possible choice is indicated). Again, it is enough to only list the even numbers corresponding to ; call the resulting list . (Above, ). Notice that the odd indices are naturally subdivided into sublists according to the component of the link on which they lie, and this induces a subdivision of into sublists. Thus with the choices made in the figure above, the DT code for the link L7n2 is .
KnotTheory` knows about DT codes for links:
In[7]:=
|
DTCode[Link[7, NonAlternating, 2]]
|
Out[7]=
|
DTCode[{6, -8}, {-10, 12, -14, 2, -4}]
|
In[8]:=
|
MultivariableAlexander[DTCode[{6, -8}, {-10, 12, -14, 2, -4}]][t]
|
Out[8]=
|
(-1 + t[1]) (-1 + t[2])
-----------------------
Sqrt[t[1]] Sqrt[t[2]]
|
[DollHoste] ^ H. Doll and J. Hoste, A tabulation of oriented links, Mathematics of Computation 57-196 (1991) 747-761.