DT (Dowker-Thistlethwaite) Codes: Difference between revisions

From Knot Atlas
Jump to navigationJump to search
No edit summary
No edit summary
Line 14: Line 14:
<!--$$?DTCode$$-->
<!--$$?DTCode$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{HelpLine|
{{Help1|n=1|s=DTCode}}
n = 1 |
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.
in = <nowiki>DTCode</nowiki> |
{{Help2}}
out= <nowiki>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.</nowiki>}}
<!--END-->
<!--END-->


Line 23: Line 24:
<!--$$dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}$$-->
<!--$$dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{InOut1|n=2}}
{{InOut|
n = 2 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}</nowiki></pre>
{{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>
in = <nowiki>dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}</nowiki> |
out= <nowiki>{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8],
{{InOut3}}
DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}</nowiki>}}
<!--END-->
<!--END-->


Line 35: Line 38:
<!--$$gcs = GaussCode /@ dts$$-->
<!--$$gcs = GaussCode /@ dts$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{InOut1|n=3}}
{{InOut|
n = 3 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>gcs = GaussCode /@ dts</nowiki></pre>
in = <nowiki>gcs = GaussCode /@ dts</nowiki> |
{{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],
out= <nowiki>{GaussCode[1, -6, 2, -8, 3, -1, 4, -9, 5, -2, 6, -4, 7, -3, 8, -5, 9,
GaussCode[1, -5, 2, -1, 3, 8, -4, -2, 5, -3, -6, 9, -7, 4, -8, 6, -9, 7]}</nowiki></pre>
-7], GaussCode[1, -5, 2, -1, 3, 8, -4, -2, 5, -3, -6, 9, -7, 4, -8,
{{InOut3}}
6, -9, 7]}</nowiki>}}
<!--END-->
<!--END-->


<!--$$DTCode /@ gcs$$-->
<!--$$DTCode /@ gcs$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{InOut1|n=4}}
{{InOut|
n = 4 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>DTCode /@ gcs</nowiki></pre>
in = <nowiki>DTCode /@ gcs</nowiki> |
{{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>
out= <nowiki>{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8],
{{InOut3}}
DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}</nowiki>}}
<!--END-->
<!--END-->


Line 55: Line 62:
<!--$$PD[DTCode[4, 6, 2]]$$-->
<!--$$PD[DTCode[4, 6, 2]]$$-->
<!--Robot Land, no human edits to "END"-->
<!--Robot Land, no human edits to "END"-->
{{InOut1|n=5}}
{{InOut|
n = 5 |
<pre style="color: red; border: 0px; padding: 0em"><nowiki>PD[DTCode[4, 6, 2]]</nowiki></pre>
{{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>
in = <nowiki>PD[DTCode[4, 6, 2]]</nowiki> |
out= <nowiki>PD[X[4, 2, 5, 1], X[6, 4, 1, 3], X[2, 6, 3, 5]]</nowiki>}}
{{InOut3}}
<!--END-->
<!--END-->

Revision as of 12:51, 30 August 2005


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