# Is there an algorithm to translate Dowker-Thistlethwaite notation into braid notation?

I am interested in translating DT-codes into braid words. As an example for the trefoil knot: $$\{4,6,2\}$$ into $$\{1,1,1\}$$, where the latter stands for the braid word in the braid group of two strands.

Is there an algorithm for this? The low-dimensional topology computation programs like SnapPy or SageMath can do this indirectly but I could not figure out how.

• You are probably just going to have to run Alexander's theorem and then read off the braid notation. I can't imagine that there is a fast way of getting around this, but I am often wrong. Aug 23, 2022 at 12:12

Sage allows to do this using the hidden method _braid_word_components_vector of knots and links.

Example:

sage: Kn = Knots()
sage: dt = [4, 6, 2]
sage: K = Kn.from_dowker_code(dt)
sage: braid_word = K._braid_word_components_vector()
sage: braid_word
[1, 1, 1]


The above few lines can be turned into a function:

def braid_word_from_dt(dt):
r"""
Return the braid word corresponding to this DT code.

A DT code is a Dowker-Thistlethwaite code.

INPUT:

- dt -- a dt code, as a list

OUTPUT: the braid word for the corresponding knot.

EXAMPLES::

sage: dt = [4, 6, 2]
sage: braid_word_from_dt(dt)
[1, 1, 1]
"""
return Knots().from_dowker_code(dt)._braid_word_components_vector()


Usage:

sage: braid_word_from_dt([4, 6, 2])
[1, 1, 1]

• Thanks, this is what I have been searching for! No wonder I could not find it if it is a hidden method.. Aug 23, 2022 at 13:07

I have somehow overlook the function braid_word() in snapPy which also does the job. Although the input is a bit more complicated.

Example as a python script:

import snappy

def dt_to_braid(dt):