Changeset 7380:ce3daeb811aa


Ignore:
Timestamp:
11/17/07 09:18:58 (6 years ago)
Author:
Martin Albrecht <malb@…>
Branch:
default
Message:

fixing #991 (problem in interaction with Singular subprocesses)

Location:
sage/rings/polynomial
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sage/rings/polynomial/multi_polynomial_libsingular.pyx

    r7373 r7380  
    795795            if self.base_ring().is_finite(): 
    796796                R.set_ring() #sorry for that, but needed for minpoly 
    797                 if  singular.eval('minpoly') != self.__minpoly: 
     797                if  singular.eval('minpoly') != "(" + self.__minpoly + ")": 
    798798                    singular.eval("minpoly=%s"%(self.__minpoly)) 
     799                    self.__minpoly = singular.eval('minpoly')[1:-1] # store in correct format 
    799800            return R 
    800801        except (AttributeError, ValueError): 
     
    862863            gen = str(self.base_ring().gen()) 
    863864            r = singular.ring( "(%s,%s)"%(self.characteristic(),gen), _vars, order=order) 
    864             self.__minpoly = "("+(str(self.base_ring().modulus()).replace("x",gen)).replace(" ","")+")" 
    865             singular.eval("minpoly=%s"%(self.__minpoly) ) 
    866  
     865            self.__minpoly = (str(self.base_ring().modulus()).replace("x",gen)).replace(" ","") 
     866            if  singular.eval('minpoly') != "(" + self.__minpoly + ")": 
     867                singular.eval("minpoly=%s"%(self.__minpoly) ) 
     868                self.__minpoly = singular.eval('minpoly')[1:-1] 
    867869            self.__singular = r 
    868870        else:     
  • sage/rings/polynomial/polynomial_singular_interface.py

    r7226 r7380  
    165165                    number_field.all.is_NumberField(self.base_ring()): 
    166166                R.set_ring() #sorry for that, but needed for minpoly 
    167                 if  singular.eval('minpoly') != self.__minpoly: 
     167                if  singular.eval('minpoly') != "(" + self.__minpoly + ")": 
    168168                    singular.eval("minpoly=%s"%(self.__minpoly)) 
     169                    self.__minpoly = singular.eval('minpoly')[1:-1] 
     170 
    169171            return R 
    170172        except (AttributeError, ValueError): 
     
    218220            gen = str(self.base_ring().gen()) 
    219221            r = singular.ring( "(%s,%s)"%(self.characteristic(),gen), _vars, order=order, check=False) 
    220             self.__minpoly = "("+(str(self.base_ring().modulus()).replace("x",gen)).replace(" ","")+")" 
    221             singular.eval("minpoly=%s"%(self.__minpoly) ) 
     222            self.__minpoly = (str(self.base_ring().modulus()).replace("x",gen)).replace(" ","") 
     223            if  singular.eval('minpoly') != "(" + self.__minpoly + ")": 
     224                singular.eval("minpoly=%s"%(self.__minpoly) ) 
     225                self.__minpoly = singular.eval('minpoly')[1:-1] 
    222226 
    223227            self.__singular = r 
     228 
    224229        elif number_field.all.is_NumberField(self.base_ring()): 
    225230            # not the rationals! 
     
    229234            poly_str=str(poly).replace(poly_gen,gen) 
    230235            r = singular.ring( "(%s,%s)"%(self.characteristic(),gen), _vars, order=order, check=False) 
    231             self.__minpoly = "("+(poly_str).replace(" ","")+")" 
    232             singular.eval("minpoly=%s"%(self.__minpoly) ) 
     236            self.__minpoly = (poly_str).replace(" ","") 
     237            if  singular.eval('minpoly') != "(" + self.__minpoly + ")": 
     238                singular.eval("minpoly=%s"%(self.__minpoly) ) 
     239                self.__minpoly = singular.eval('minpoly')[1:-1] 
    233240 
    234241            self.__singular = r 
    235                          
    236242         
    237243        else:     
Note: See TracChangeset for help on using the changeset viewer.