problems with gauss code for knots

asked 2018-03-26 14:33:03 +0100

brb gravatar image

updated 2018-03-26 16:44:51 +0100

slelievre gravatar image

I am generating Gauss-codes for knots, and I would like to compute some of their invariants (e.g. knot polynomials). However, I am running in some problems. For example:

A = Link([[[1, 2, -2, -1, -3, -4, 4, 3]], [1, 1, 1, 1]])

Is recognized as a knot (I can compute the fundamental group, the writhe and the Seifert circles, and tell if it is alternating), but If I try to compute the Alexander polynomial:

A.alexander_polynomial()

I get the following error:

ValueError ... Traceback (most recent call last)
in ()
      1 A = Link([[[Integer(1),Integer(2),-Integer(2),-Integer(1),-Integer(3),-Integer(4),Integer(4),Integer(3)]],[Integer(1),Integer(1),Integer(1),Integer(1)]])
----> 2 A.alexander_polynomial()

/path/to/sagedir/local/lib/python2.7/site-packages/sage/knots/link.pyc in alexander_polynomial(self, var)
   1792         R = LaurentPolynomialRing(ZZ, var)
   1793         # The Alexander polynomial of disjoint links are defined to be 0
-> 1794         if len(self._braid_word_components()) > 1:
   1795             return R.zero()
   1796         t = R.gen()

/path/to/sagedir/local/lib/python2.7/site-packages/sage/knots/link.pyc in _braid_word_components(self)
   1445             ([-2, 1, 1], [4, 4], [6])
   1446         """
-> 1447         ml = list(self.braid().Tietze())
   1448         if not ml:
   1449             return tuple()

/path/to/sagedir/local/lib/python2.7/site-packages/sage/knots/link.pyc in braid(self)
    666                             C1 = newPD[newPD.index(heads[-a])]
    667                             C1[C1.index(-a)] = newedge + 1
--> 668                             C2 = newPD[newPD.index(tails[-b])]
    669                             C2[C2.index(-b)] = newedge + 2
    670                             newPD.append([newedge + 2, newedge, newedge + 3, newedge + 1])

ValueError: [5, 8, 6, 1] is not in list

I think the problem is in the translation from Gauss code to an element in the braid group. Moreover, I get similar errors with other examples, also with really simple ones. Any idea on how to solve this? Thanks in Advance!

edit retag flag offensive close merge delete

Comments

Welcome to Ask Sage! Thank you for your question!

slelievre gravatar imageslelievre ( 2018-03-26 15:06:22 +0100 )edit
1

I can observe the same error in Sage 8.2.beta8.

slelievre gravatar imageslelievre ( 2018-03-26 16:46:18 +0100 )edit

It seems that the braid function is not working properly

danieleC gravatar imagedanieleC ( 2018-03-26 19:40:20 +0100 )edit
1

Yes, the issue can be reduced to:

sage: A = Link([[[1, 2, -2, -1, -3, -4, 4, 3]], [1, 1, 1, 1]])
sage: A.braid()
Traceback (most recent call last)
...
ValueError: [5, 8, 6, 1] is not in list
slelievre gravatar imageslelievre ( 2018-03-26 23:47:06 +0100 )edit