Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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]] # 
oGcKnot=Link(oGc)
oGcKnotPlt=plot(oGcKnot,axes=False)
show(oGcKnotPlt)
oGcKnot.alexander_polynomial()
#oGcKnot.jones_polynomial()

image description

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]] # 
oGcKnot=Link(oGc)
oGcKnotPlt=plot(oGcKnot,axes=False)
show(oGcKnotPlt)
oGcKnot.alexander_polynomial()
#oGcKnot.jones_polynomial()

image description

[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])
b0K=Link(b0)
oGcb0K=b0K.oriented_gauss_code()
alexPolyb0K= b0K.alexander_polynomial()

B1=BraidGroup(4)
b1=B1([ 3])
b1K=Link(b1)
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)

oGck0k1=addMirOrGauss(b0K,b1K,False)
b0b1K=Link(oGck0k1)
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]] # 
oGcKnot=Link(oGc)
oGcKnotPlt=plot(oGcKnot,axes=False)
show(oGcKnotPlt)
oGcKnot.alexander_polynomial()
#oGcKnot.jones_polynomial()

image description

[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])
b0K=Link(b0)
oGcb0K=b0K.oriented_gauss_code()
alexPolyb0K= b0K.alexander_polynomial()

B1=BraidGroup(4)
b1=B1([ 3])
b1K=Link(b1)
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)

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