def ideal(self, *gens, **kwds):
     """
     Create an ideal in this polynomial ring.
     """
     do_coerce = False
     if len(gens) == 1:
         from sage.rings.ideal import is_Ideal
         if is_Ideal(gens[0]):
             if gens[0].ring() is self:
                 return gens[0]
             gens = gens[0].gens()
         elif isinstance(gens[0], (list, tuple)):
             gens = gens[0]
     if not self._has_singular:
         # pass through
         MPolynomialRing_generic.ideal(self,gens,**kwds)
     if is_SingularElement(gens):
         gens = list(gens)
         do_coerce = True
     if is_Macaulay2Element(gens):
         gens = list(gens)
         do_coerce = True
     elif not isinstance(gens, (list, tuple)):
         gens = [gens]
     if ('coerce' in kwds and kwds['coerce']) or do_coerce:
         gens = [self(x) for x in gens]  # this will even coerce from singular ideals correctly!
     return multi_polynomial_ideal.MPolynomialIdeal(self, gens, **kwds)
Example #2
0
 def ideal(self, *gens, **kwds):
     """
     Create an ideal in this polynomial ring.
     """
     do_coerce = False
     if len(gens) == 1:
         from sage.rings.ideal import is_Ideal
         if is_Ideal(gens[0]):
             if gens[0].ring() is self:
                 return gens[0]
             gens = gens[0].gens()
         elif isinstance(gens[0], (list, tuple)):
             gens = gens[0]
     if not self._has_singular:
         # pass through
         MPolynomialRing_generic.ideal(self, gens, **kwds)
     if is_SingularElement(gens):
         gens = list(gens)
         do_coerce = True
     if is_Macaulay2Element(gens):
         gens = list(gens)
         do_coerce = True
     elif not isinstance(gens, (list, tuple)):
         gens = [gens]
     if ('coerce' in kwds and kwds['coerce']) or do_coerce:
         gens = [self(x) for x in gens
                 ]  # this will even coerce from singular ideals correctly!
     return multi_polynomial_ideal.MPolynomialIdeal(self, gens, **kwds)