DT (Dowker-Thistlethwaite) Codes: Difference between revisions

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


<!--$$?DTCode$$-->
<!--$$?DTCode$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{Help1|n=1|s=DTCode}}
{| width=70% border=1 align=center
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.
|
{{Help2}}
<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 25: Line 22:


<!--$$dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}$$-->
<!--$$dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{InOut1|n=2}}
{|
<pre style="color: red; border: 0px; padding: 0em"><nowiki>dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}</nowiki></pre>
|<tt><font color=blue>In[3]:=</font></tt>
{{InOut2|n=2}}<pre style="border: 0px; padding: 0em"><nowiki>{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8], DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}</nowiki></pre>
|<code><font color=red> dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}</font></code>
{{InOut3}}
|- 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 40: Line 34:


<!--$$gcs = GaussCode /@ dts$$-->
<!--$$gcs = GaussCode /@ dts$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{InOut1|n=3}}
{|
<pre style="color: red; border: 0px; padding: 0em"><nowiki>gcs = GaussCode /@ dts</nowiki></pre>
|<tt><font color=blue>In[4]:=</font></tt>
{{InOut2|n=3}}<pre style="border: 0px; padding: 0em"><nowiki>{GaussCode[1, -6, 2, -8, 3, -1, 4, -9, 5, -2, 6, -4, 7, -3, 8, -5, 9, -7],
|<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>
GaussCode[1, -5, 2, -1, 3, 8, -4, -2, 5, -3, -6, 9, -7, 4, -8, 6, -9, 7]}</nowiki></pre>
{{InOut3}}
|}
<!--END-->
<!--END-->


<!--$$DTCode /@ gcs$$-->
<!--$$DTCode /@ gcs$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{InOut1|n=4}}
{|
<pre style="color: red; border: 0px; padding: 0em"><nowiki>DTCode /@ gcs</nowiki></pre>
|<tt><font color=blue>In[5]:=</font></tt>
{{InOut2|n=4}}<pre style="border: 0px; padding: 0em"><nowiki>{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8], DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}</nowiki></pre>
|<code><font color=red> DTCode /@ gcs</font></code>
{{InOut3}}
|- 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 66: Line 54:


<!--$$PD[DTCode[4, 6, 2]]$$-->
<!--$$PD[DTCode[4, 6, 2]]$$-->
<!--Robot Land, no human edits to "END"-->
<!--The lines to END were generated by WikiSplice: do not edit; see manual.-->
{{InOut1|n=5}}
{|
<pre style="color: red; border: 0px; padding: 0em"><nowiki>PD[DTCode[4, 6, 2]]</nowiki></pre>
|<tt><font color=blue>In[6]:=</font></tt>
{{InOut2|n=5}}<pre style="border: 0px; padding: 0em"><nowiki>PD[X[4, 2, 5, 1], X[6, 4, 1, 3], X[2, 6, 3, 5]]</nowiki></pre>
|<code><font color=red> PD[DTCode[4, 6, 2]]</font></code>
{{InOut3}}
|- 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 20:41, 27 August 2005


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 below.
The DT notation

KnotTheory` has some rudimentary support for DT codes:

(For In[1] see Setup)

In[1]:= ?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[2]:=
dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}
Out[2]=
{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[3]:=
gcs = GaussCode /@ dts
Out[3]=
{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[4]:=
DTCode /@ gcs
Out[4]=
{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[5]:=
PD[DTCode[4, 6, 2]]
Out[5]=
PD[X[4, 2, 5, 1], X[6, 4, 1, 3], X[2, 6, 3, 5]]