DT (Dowker-Thistlethwaite) Codes: Difference between revisions

From Knot Atlas
Jump to navigationJump to search
No edit summary
No edit summary
Line 8: Line 8:


<!--$Startup Note$-->
<!--$Startup Note$-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
(For <tt><font color=blue>In[1]</font></tt> see [[Setup]])
<!--END-->
<!--END-->


<!--$$?DTCode$$-->
<!--$$?DTCode$$-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{| width=70% border=1 align=center
|
<font color=blue><tt>In[2]:=</tt></font><font color=red><code> ?DTCode</code></font>

<tt>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.</tt>
|}
<!--END-->
<!--END-->


Line 16: Line 25:


<!--$$dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}$$-->
<!--$$dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}$$-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{|
|<tt><font color=blue>In[3]:=</font></tt>
|<code><font color=red> dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}</font></code>
|- valign=top
|<tt><font color=blue>Out[3]=</font></tt>
|<pre style="border: 0px; padding: 0em">{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8], DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}</pre>
|}
<!--END-->
<!--END-->


Line 23: Line 40:


<!--$$gcs = GaussCode /@ dts$$-->
<!--$$gcs = GaussCode /@ dts$$-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{|
|<tt><font color=blue>In[4]:=</font></tt>
|<code><font color=red> gcs = GaussCode /@ dts</font></code>
|- valign=top
|<tt><font color=blue>Out[4]=</font></tt>
|<pre style="border: 0px; padding: 0em">{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]}</pre>
|}
<!--END-->
<!--END-->


<!--$$DTCode /@ gcs$$-->
<!--$$DTCode /@ gcs$$-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{|
|<tt><font color=blue>In[5]:=</font></tt>
|<code><font color=red> DTCode /@ gcs</font></code>
|- valign=top
|<tt><font color=blue>Out[5]=</font></tt>
|<pre style="border: 0px; padding: 0em">{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8], DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}</pre>
|}
<!--END-->
<!--END-->


Line 31: Line 66:


<!--$$PD[DTCode[4, 6, 2]]$$-->
<!--$$PD[DTCode[4, 6, 2]]$$-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{|
|<tt><font color=blue>In[6]:=</font></tt>
|<code><font color=red> PD[DTCode[4, 6, 2]]</font></code>
|- valign=top
|<tt><font color=blue>Out[6]=</font></tt>
|<pre style="border: 0px; padding: 0em">PD[X[4, 2, 5, 1], X[6, 4, 1, 3], X[2, 6, 3, 5]]</pre>
|}
<!--END-->
<!--END-->

Revision as of 23:03, 23 August 2005

The DT notation

The "DT Code" ("DT" after Clifford Hugh Dowker and Morwen Thistlethwaite) of a knot [math]\displaystyle{ K }[/math] is obtained as follows:

  • Start "walking" along </nowiki>[math]\displaystyle{ K }[/math] and count every crossing you pass through. If [math]\displaystyle{ K }[/math] has [math]\displaystyle{ n }[/math] crossings and given that every crossing is visited twice, the count ends at [math]\displaystyle{ 2n }[/math]. 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 [math]\displaystyle{ 1 }[/math] to [math]\displaystyle{ 2n }[/math]. It is easy to see that each crossing is labeled with one odd integer and one even integer. The DT code of [math]\displaystyle{ K }[/math] 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

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]]