# Revision history [back]

### Pb with knot.alexander_polynomial()

Hi

Sagemath9.7 Ubuntu22.04 in WSL2 W11

It's seems there is a problem with the function .alexander_polynomial()

The function never stops in this case:

#b0=[4, 5, 2, -4]
b1=[5, 6, 3, -5, 1]
oGc=[[[-1, 1], [-2, 2], [-3, -4, 4, -5], [3, 5]], [1, 1, 1, 1, -1]] #
oGcKnotPlt=plot(oGcKnot,axes=False)
show(oGcKnotPlt)
oGcKnot.alexander_polynomial()
#oGcKnot.jones_polynomial()


### Pb with knot.alexander_polynomial()

Hi

Sagemath9.7 Ubuntu22.04 in WSL2 W11

It's seems there is a problem with the function .alexander_polynomial()

The function never stops in this case:

#b0=[4, 5, 2, -4]
b1=[5, 6, 3, -5, 1]
oGc=[[[-1, 1], [-2, 2], [-3, -4, 4, -5], [3, 5]], [1, 1, 1, 1, -1]] #
oGcKnotPlt=plot(oGcKnot,axes=False)
show(oGcKnotPlt)
oGcKnot.alexander_polynomial()
#oGcKnot.jones_polynomial()


[edited 30/09/2022]

the problem seems that the function does not support an unknot with several crossings.

def addMirOrGauss(k0,k1,miror) :
""" link K0 with k1 """
if miror==True :
k1=k1.mirror_image()
#show("k0 ogc :\t ", k0.oriented_gauss_code())
#show("k1 ogc :\t ", k1.oriented_gauss_code())
nbCrossk0=len(k0.oriented_gauss_code()[-1])
oGck0k1=[[k0.oriented_gauss_code()[0][0]+[ (abs(el)+nbCrossk0)*sign(el) for el in k1.oriented_gauss_code()[0][0]]],
k0.oriented_gauss_code()[-1] + k1.oriented_gauss_code()[-1]]
#show("k0k1 OGC :\t",oGck0k1)
return  oGck0k1

B0=BraidGroup(2)
b0=B0([1])
oGcb0K=b0K.oriented_gauss_code()
alexPolyb0K= b0K.alexander_polynomial()

B1=BraidGroup(4)
b1=B1([ 3])
oGcb1K=b1K.oriented_gauss_code()
alexPolyb1K= b1K.alexander_polynomial()

show(plot(b0))
show(plot(b1))

print('oGcb0K : ',oGcb0K)
print('b0 alexander_polynomial : ', alexPolyb0K)

print('oGcb1K : ',oGcb1K)
print('b1 alexander_polynomial : ', alexPolyb1K)

print('sum of k0 and k1 oGck0k1 Gauss Oriented code : ',oGck0k1 )
show(plot(b0b1K,axes=False))
#b0b1K.alexander_polynomial()


### Pb with knot.alexander_polynomial()

Hi

Sagemath9.7 Ubuntu22.04 in WSL2 W11

It's seems there is a problem with the function .alexander_polynomial()

The function never stops in this case:

#b0=[4, 5, 2, -4]
b1=[5, 6, 3, -5, 1]
oGc=[[[-1, 1], [-2, 2], [-3, -4, 4, -5], [3, 5]], [1, 1, 1, 1, -1]] #
oGcKnotPlt=plot(oGcKnot,axes=False)
show(oGcKnotPlt)
oGcKnot.alexander_polynomial()
#oGcKnot.jones_polynomial()


[edited 30/09/2022]

the problem seems that the function does not support an unknot with several crossings.crossings. if you uncomment last line of the code below , it 's never stop

def addMirOrGauss(k0,k1,miror) :
""" link K0 with k1 """
if miror==True :
k1=k1.mirror_image()
#show("k0 ogc :\t ", k0.oriented_gauss_code())
#show("k1 ogc :\t ", k1.oriented_gauss_code())
nbCrossk0=len(k0.oriented_gauss_code()[-1])
oGck0k1=[[k0.oriented_gauss_code()[0][0]+[ (abs(el)+nbCrossk0)*sign(el) for el in k1.oriented_gauss_code()[0][0]]],
k0.oriented_gauss_code()[-1] + k1.oriented_gauss_code()[-1]]
#show("k0k1 OGC :\t",oGck0k1)
return  oGck0k1

B0=BraidGroup(2)
b0=B0([1])
oGcb0K=b0K.oriented_gauss_code()
alexPolyb0K= b0K.alexander_polynomial()

B1=BraidGroup(4)
b1=B1([ 3])
oGcb1K=b1K.oriented_gauss_code()
alexPolyb1K= b1K.alexander_polynomial()

show(plot(b0))
show(plot(b1))

print('oGcb0K : ',oGcb0K)
print('b0 alexander_polynomial : ', alexPolyb0K)

print('oGcb1K : ',oGcb1K)
print('b1 alexander_polynomial : ', alexPolyb1K)