@@ -3030,7 +3030,7 @@ def _isolated_components(self):
30303030 return [[list (i ) for i in j ]
30313031 for j in G .connected_components (sort = False )]
30323032
3033- @cached_method
3033+ @cached_method ( key = lambda s , v1 , v2 , n , a : ( s , v1 , v2 , n ))
30343034 def homfly_polynomial (self , var1 = None , var2 = None , normalization = 'lm' , algorithm = None ):
30353035 r"""
30363036 Return the HOMFLY polynomial of ``self``.
@@ -3153,14 +3153,17 @@ def homfly_polynomial(self, var1=None, var2=None, normalization='lm', algorithm=
31533153 sage: K = Knots().from_table(8, 21)
31543154 sage: HRlm = K.homfly_polynomial(algorithm=regina.ALG_DEFAULT); HRlm
31553155 L^6*M^2 - L^4*M^4 - L^6 + 3*L^4*M^2 - 3*L^4 + 2*L^2*M^2 - 3*L^2
3156+ sage: K.homfly_polynomial.clear_cache() # since cache does not distinguish algorithms
31563157 sage: HRlm == K.homfly_polynomial()
31573158 True
31583159 sage: HRaz = K.homfly_polynomial(normalization='az', algorithm=regina.ALG_BACKTRACK); HRaz
31593160 a^6*z^2 - a^4*z^4 + a^6 - 3*a^4*z^2 - 3*a^4 + 2*a^2*z^2 + 3*a^2
3161+ sage: K.homfly_polynomial.clear_cache()
31603162 sage: HRaz == K.homfly_polynomial(normalization='az')
31613163 True
31623164 sage: HRvz = K.homfly_polynomial(normalization='vz', algorithm=regina.ALG_TREEWIDTH); HRvz
31633165 2*v^-2*z^2 - v^-4*z^4 + 3*v^-2 - 3*v^-4*z^2 - 3*v^-4 + v^-6*z^2 + v^-6
3166+ sage: K.homfly_polynomial.clear_cache()
31643167 sage: HRvz == K.homfly_polynomial(normalization='vz')
31653168 True
31663169
@@ -4182,17 +4185,22 @@ def _knotinfo_matching_list(self):
41824185 br = self .braid ()
41834186 br_ind = br .strands ()
41844187
4188+ def cmp_braid (b ):
4189+ if (b .strands () <= br_ind ):
4190+ return self ._markov_move_cmp (b )
4191+ return False
4192+
41854193 res = []
41864194 for L in l :
41874195 if L .pd_notation () == pd_code :
41884196 # pd_notation is unique in the KnotInfo database
41894197 res .append (L )
41904198 continue
41914199
4192- Lbraid = L .braid ()
4193- if Lbraid . strands () <= br_ind :
4194- if self . _markov_move_cmp ( Lbraid ):
4195- res .append (L )
4200+ if cmp_braid ( L .braid ()):
4201+ res . append ( L )
4202+ elif cmp_braid ( L . link (). braid () ):
4203+ res .append (L )
41964204
41974205 if res :
41984206 if len (res ) > 1 or res [0 ].is_unique ():
0 commit comments