different results for Alexander polynomials

Hi! I just noticed that if one computes the Alexander polynomial of a knot, one gets different results according to whether the knot is presented as the closure of a braid or as a knot: t = var('t') B = BraidGroup(2) b = B([1,1,1]) knot = Knot(b) print b.alexander_polynomial() print knot.alexander_polynomial()

Output: t^-2 - t^-1 + 1 t^-1 - 1 + t Of course the polynomials differ only by a t^n multiplication, but I guess it would be better if the two coincided right away. My question is: is this issue going to be solved in the future? (I can live happily either way, just wanted to avoid modifying some stuff I'm working on!) Thanks!

edit retag close merge delete

Code:

t = var('t')
B = BraidGroup(2)
b = B( [1,1,1] )
k = Knot( b )

print b.alexander_polynomial( normalized=0 )    # 0 or 1...
print k.alexander_polynomial()


and b.alexander_polynomial? gives the answer

• "normalized" – boolean (default: "True"); whether to return the normalized Alexander polynomial

OUTPUT:

The Alexander polynomial of the braid closure of the braid.

This is computed using the reduced Burau representation. The unnormalized Alexander polynomial is a Laurent polynomial, which is only well-defined up to multiplication by plus or minus times a power of t.

We normalize the polynomial by dividing by the largest power of t and then if the resulting constant coefficient is negative

a.s.o .

( 2017-11-07 16:15:51 -0500 )edit