Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The wanted knot is the $5_2$-knot, alias $3$-twist knot.

The sage implementation goes through braid groups. The code for it is...

sage: kft = Knots().from_table
sage: ??kft

and the active code (after the doc string) is:

from sage.groups.braid import BraidGroup
        if (n, k) in small_knots_table:
            m, word = small_knots_table[(n, k)]
            G = BraidGroup(m)
            return Knot(G(word))
        else:
            raise ValueError('not found in the knot table')

We can reproduce the situation as follows, without being inside the directory of /usr/lib/python3.10/site-packages/sage/knots/knot.py

from sage.knots.knot_table import small_knots_table as skt
print(skt[ (5, 2) ])

We get the result (3, [-1, -1, -1, -2, 1, -2]). Here, sage considers $m=3$, works in the braid group $G=$BraidGroup(3), and builds the word [-1, -1, -1, -2, 1, -2], then takes the $G$-element given by this word:

sage: G.<s,t> = BraidGroup(3)
sage: m, word = skt[ (5, 2)]
sage: word
[-1, -1, -1, -2, 1, -2]
sage: G(word)
s^-3*t^-1*s*t^-1

Then it associates the knot for this braid group element. It is:

http://katlas.math.toronto.edu/w/images/b/b9/Braid_Representatives_Out_13.gif

The image is linked from Braid_Representatives, search on the page for...

Already for the knot 5_2 the minimum braid is shorter than the braid produced by Vogel's algorithm. Indeed, the minimum braid is...

(the one in the picture).

The images starts by applying $s^{-3}$ - the first two strands are twisted three times that way, than the last two are twisted via $t^{-1}$, then $s$ follows, then $t^{-1}$ again. The associated braid group word has minimal length $6$, so we see six crossings in the picture. The representation sage gives is slightly different, but equivalent.

Note: The doc string of the Knots().from_table function also gives an example with "different $n$" in the call as $n$-parameter, and in the offered knot as number of crossings:

EXAMPLES:

      sage: K1 = Knots().from_table(6,3); K1
      Knot represented by 6 crossings
      sage: K1.alexander_polynomial()
      t^-2 - 3*t^-1 + 5 - 3*t + t^2

      sage: K2 = Knots().from_table(8,4); K2
      Knot represented by 9 crossings
      sage: K2.determinant()
      19
      sage: K2.signature()
      2

The second knot is called for $(8,4)$, but comes with nine crossings in the chosen presentation.