problems with gauss code for knots

asked 7 years ago

brb gravatar image

updated 7 years ago

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!

Preview: (hide)

Comments

Welcome to Ask Sage! Thank you for your question!

slelievre gravatar imageslelievre ( 7 years ago )
1

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

slelievre gravatar imageslelievre ( 7 years ago )

It seems that the braid function is not working properly

danieleC gravatar imagedanieleC ( 7 years ago )
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 ( 7 years ago )