DT (Dowker-Thistlethwaite) Codes: Difference between revisions

From Knot Atlas
Jump to navigationJump to search
(vvajcomsn.com)
m (Reverted edit of 200.198.43.8, changed back to last version by Drorbn)
Line 1: Line 1:
{{Manual TOC Sidebar}}
<a href='http://wwwintensevolumenl.zegar.dnip.net'>wwwintensevolumenl</a> <br />

<a href='http://www-intensevolume-nl.zegar.dnip.net'>www intensevolume nl</a> <br />
====Knots====
<a href='http://wwwintensevolume.zegar.dnip.net'>wwwintensevolume</a> <br />
The "DT Code" ("DT" after [http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Dowker.html Clifford Hugh Dowker] and [http://www.math.utk.edu/~morwen/ Morwen Thistlethwaite]) of a knot <math>K</math> is obtained as follows:
<a href='http://www-intensevolume.zegar.dnip.net'>www intensevolume</a> <br />

<a href='http://sizegainpro.zegar.dnip.net'>sizegainpro</a> <br />
* Start "walking" along <math>K</math> and count every crossing you pass through. If <math>K</math> has <math>n</math> crossings and given that every crossing is visited twice, the count ends at <math>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 "over" the crossing.
<a href='http://sizegainprocom.zegar.dnip.net'>sizegainprocom</a> <br />
* Every crossing is now labeled with two integers whose absolute values run from <math>1</math> to <math>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>K</math> 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 <math>((1,-8), (3,-10), (5,-2), (7,-12), (9,-4), (11,-6))</math>, and hence its DT code is <math>(-8,-10,-2,-12,-4,-6)</math> (and as DT codes are insensitive to overall mirrors, this is equivalent to <math>(8,10,2,12,4,6)</math>).
<a href='http://sizegainpro-com.zegar.dnip.net'>sizegainpro com</a> <br />

<a href='http://wwwsizegainprocom.zegar.dnip.net'>wwwsizegainprocom</a> <br />
[[Image:DTNotation.gif|frame|The <code>DT</code> notation|center]]
<a href='http://www-sizegainpro-com.zegar.dnip.net'>www sizegainpro com</a> <br />

<a href='http://wwwsizegainpro.zegar.dnip.net'>wwwsizegainpro</a> <br />
<code>KnotTheory`</code> has some rudimentary support for DT codes:
<a href='http://www-sizegainpro.zegar.dnip.net'>www sizegainpro</a> <br />

<a href='http://eengroterepenis.zegar.dnip.net'>eengroterepenis</a> <br />
{{Startup Note}}
<a href='http://eengroterepenisnl.zegar.dnip.net'>eengroterepenisnl</a> <br />

<a href='http://eengroterepenis-nl.zegar.dnip.net'>eengroterepenis nl</a> <br />
<!--$$?DTCode$$-->
<a href='http://wwweengroterepenisnl.zegar.dnip.net'>wwweengroterepenisnl</a> <br />
<!--Robot Land, no human edits to "END"-->
<a href='http://www-eengroterepenis-nl.zegar.dnip.net'>www eengroterepenis nl</a> <br />
{{HelpLine|
<a href='http://wwweengroterepenis.zegar.dnip.net'>wwweengroterepenis</a> <br />
n = 2 |
<a href='http://www-eengroterepenis.zegar.dnip.net'>www eengroterepenis</a> <br />
in = <nowiki>DTCode</nowiki> |
<a href='http://stopmetroken.zegar.dnip.net'>stopmetroken</a> <br />
out= <nowiki>DTCode[i1, i2, ...] represents a knot via its DT (Dowker-Thistlethwaite) code, while DTCode[{i11,...}, {i21...}, ...] likewise represents a link. DTCode also acts as a "type caster", so for example, DTCode[K] where K is is a named knot or link returns the DT code of K.</nowiki>}}
<a href='http://stopmetrokencom.zegar.dnip.net'>stopmetrokencom</a> <br />
<!--END-->
<a href='http://stopmetroken-com.zegar.dnip.net'>stopmetroken com</a> <br />

<a href='http://wwwstopmetrokencom.zegar.dnip.net'>wwwstopmetrokencom</a> <br />
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:
<a href='http://www-stopmetroken-com.zegar.dnip.net'>www stopmetroken com</a> <br />

<a href='http://wwwstopmetroken.zegar.dnip.net'>wwwstopmetroken</a> <br />
<!--$$dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}$$-->
<a href='http://www-stopmetroken.zegar.dnip.net'>www stopmetroken</a> <br />
<!--Robot Land, no human edits to "END"-->
<a href='http://anatril.zegar.dnip.net'>anatril</a> <br />
{{InOut|
<a href='http://anatrilcom.zegar.dnip.net'>anatrilcom</a> <br />
n = 3 |
<a href='http://anatril-com.zegar.dnip.net'>anatril com</a> <br />
in = <nowiki>dts = DTCode /@ {Knot[9, 41], Knot[9, 42]}</nowiki> |
<a href='http://wwwanatrilcom.zegar.dnip.net'>wwwanatrilcom</a> <br />
out= <nowiki>{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8],
<a href='http://www-anatril-com.zegar.dnip.net'>www anatril com</a> <br /><a href='http://wwwintensevolumenl.lampa.dtdns.net'>wwwintensevolumenl</a> <br />
<a href='http://www-intensevolume-nl.lampa.dtdns.net'>www intensevolume nl</a> <br />
DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}</nowiki>}}
<a href='http://wwwintensevolume.lampa.dtdns.net'>wwwintensevolume</a> <br />
<!--END-->
<a href='http://www-intensevolume.lampa.dtdns.net'>www intensevolume</a> <br />

<a href='http://sizegainpro.lampa.dtdns.net'>sizegainpro</a> <br />
(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.)
<a href='http://sizegainprocom.lampa.dtdns.net'>sizegainprocom</a> <br />

<a href='http://sizegainpro-com.lampa.dtdns.net'>sizegainpro com</a> <br />
{{Knot Image Pair|9_41|gif|9_42|gif}}
<a href='http://wwwsizegainprocom.lampa.dtdns.net'>wwwsizegainprocom</a> <br />

<a href='http://www-sizegainpro-com.lampa.dtdns.net'>www sizegainpro com</a> <br />
DT codes and Gauss codes carry the same information and are easily convertible:
<a href='http://wwwsizegainpro.lampa.dtdns.net'>wwwsizegainpro</a> <br />

<a href='http://www-sizegainpro.lampa.dtdns.net'>www sizegainpro</a> <br />
<!--$$gcs = GaussCode /@ dts$$-->
<a href='http://eengroterepenis.lampa.dtdns.net'>eengroterepenis</a> <br />
<!--Robot Land, no human edits to "END"-->
<a href='http://eengroterepenisnl.lampa.dtdns.net'>eengroterepenisnl</a> <br />
{{InOut|
<a href='http://eengroterepenis-nl.lampa.dtdns.net'>eengroterepenis nl</a> <br />
n = 4 |
<a href='http://wwweengroterepenisnl.lampa.dtdns.net'>wwweengroterepenisnl</a> <br />
in = <nowiki>gcs = GaussCode /@ dts</nowiki> |
<a href='http://www-eengroterepenis-nl.lampa.dtdns.net'>www eengroterepenis nl</a> <br />
out= <nowiki>{GaussCode[1, -6, 2, -8, 3, -1, 4, -9, 5, -2, 6, -4, 7, -3, 8, -5, 9,
<a href='http://wwweengroterepenis.lampa.dtdns.net'>wwweengroterepenis</a> <br />
<a href='http://www-eengroterepenis.lampa.dtdns.net'>www eengroterepenis</a> <br />
-7], GaussCode[1, -5, 2, -1, 3, 8, -4, -2, 5, -3, -6, 9, -7, 4, -8,
<a href='http://stopmetroken.lampa.dtdns.net'>stopmetroken</a> <br />
<a href='http://stopmetrokencom.lampa.dtdns.net'>stopmetrokencom</a> <br />
6, -9, 7]}</nowiki>}}
<a href='http://stopmetroken-com.lampa.dtdns.net'>stopmetroken com</a> <br />
<!--END-->
<a href='http://wwwstopmetrokencom.lampa.dtdns.net'>wwwstopmetrokencom</a> <br />

<a href='http://www-stopmetroken-com.lampa.dtdns.net'>www stopmetroken com</a> <br />
<!--$$DTCode /@ gcs$$-->
<a href='http://wwwstopmetroken.lampa.dtdns.net'>wwwstopmetroken</a> <br />
<!--Robot Land, no human edits to "END"-->
<a href='http://www-stopmetroken.lampa.dtdns.net'>www stopmetroken</a> <br />
{{InOut|
<a href='http://anatril.lampa.dtdns.net'>anatril</a> <br />
n = 5 |
<a href='http://anatrilcom.lampa.dtdns.net'>anatrilcom</a> <br />
in = <nowiki>DTCode /@ gcs</nowiki> |
<a href='http://anatril-com.lampa.dtdns.net'>anatril com</a> <br />
out= <nowiki>{DTCode[6, 10, 14, 12, 16, 2, 18, 4, 8],
<a href='http://wwwanatrilcom.lampa.dtdns.net'>wwwanatrilcom</a> <br />
<a href='http://www-anatril-com.lampa.dtdns.net'>www anatril com</a> <br />
DTCode[4, 8, 10, -14, 2, -16, -18, -6, -12]}</nowiki>}}
<!--END-->

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:

<!--$$PD[DTCode[4, 6, 2]]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 6 |
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>}}
<!--END-->

====Links====

[[Image:DTCode4L7n2.gif|frame|center|A DT notation example, for the link [[L7n2]]]]

DT Codes for links are defined in a similar way (see {{ref|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 <math>1, 3, 5, \ldots</math>; call the resulting list <math>\lambda</math>. (Above, <math>\lambda=(6,-8,-10,12,-14,2,-4)</math>). 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 <math>\lambda</math> into sublists. Thus with the choices made in the figure above, the DT code for the link [[L7n2]] is <math>(6,-8\mid -10,12,-14,2,-4)</math>.

<tt>KnotTheory`</tt> knows about DT codes for links:

<!--$$DTCode[Link[7, NonAlternating, 2]]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 7 |
in = <nowiki>DTCode[Link[7, NonAlternating, 2]]</nowiki> |
out= <nowiki>DTCode[{6, -8}, {-10, 12, -14, 2, -4}]</nowiki>}}
<!--END-->

<!--$$MultivariableAlexander[DTCode[{6, -8}, {-10, 12, -14, 2, -4}]][t]$$-->
<!--Robot Land, no human edits to "END"-->
{{InOut|
n = 8 |
in = <nowiki>MultivariableAlexander[DTCode[{6, -8}, {-10, 12, -14, 2, -4}]][t]</nowiki> |
out= <nowiki>-1 + t[1] + t[2] - t[1] t[2]</nowiki>}}
<!--END-->

{{note|DollHoste}} H. Doll and J. Hoste, ''A tabulation of oriented links'', Mathematics of Computation '''57-196''' (1991) 747-761.

Revision as of 02:54, 26 May 2007


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

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, while DTCode[{i11,...}, {i21...}, ...] likewise represents a link. DTCode also acts as a "type caster", so for example, DTCode[K] where K is is a named knot or link returns the DT code of K.

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.gif
9_41
9 42.gif
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

A DT notation example, for the link L7n2

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] + t[2] - t[1] t[2]

[DollHoste] ^  H. Doll and J. Hoste, A tabulation of oriented links, Mathematics of Computation 57-196 (1991) 747-761.