DT (Dowker-Thistlethwaite) Codes
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 "under" 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. See the figure on the right.
KnotTheory`
has some rudimentary support for DT codes:
(For In[1] see Setup)
In[2]:= DTCode[i1, i2, ...] represents a knot via its DT (Dowker-Thistlethwaite) code. DTCode also acts as a "type caster", so for example, DTCode[K] where K is is a named knot returns the DT code of that knot. |
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.)
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]] |