Ticket #11719: trac_11719.patch

File trac_11719.patch, 3.6 KB (added by boothby, 11 years ago)
  • sage/rings/laurent_series_ring_element.pyx

    # HG changeset patch
    # Parent c3ed00686ffbbfdde9b6a1ef50991017a1b0bd75
    
    diff -r c3ed00686ffb sage/rings/laurent_series_ring_element.pyx
    a b  
    202202            1
    203203        """
    204204        return self.__u.is_zero()
    205        
     205
     206
     207    def is_monomial(self):
     208        """
     209        Returns True if this element is a monomial.  That is, if self is
     210        `a*x^n` for some non-negative integer `n` and some coefficient `a`
     211        in the base ring.
     212
     213        EXAMPLES::
     214
     215            sage: k.<z> = LaurentSeriesRing(QQ, 'z')
     216            sage: (30*z).is_monomial()
     217            True
     218            sage: k(1).is_monomial()
     219            True
     220            sage: (z+1).is_monomial()
     221            False
     222            sage: (3*z^-2909).is_monomial()
     223            True
     224        """
     225
     226        return self.__u.is_monomial()
     227
    206228    def __nonzero__(self):
    207229        return not not self.__u
    208230       
  • sage/rings/polynomial/laurent_polynomial.pyx

    diff -r c3ed00686ffb sage/rings/polynomial/laurent_polynomial.pyx
    a b  
    583583    cpdef ModuleElement _ilmul_(self, RingElement c):
    584584        self.__u *= c
    585585        return self
     586
     587    def is_monomial(self):
     588        """
     589        Returns True if this element is a monomial.  That is, if self is
     590        `a*x^n` for some integer `n` and some coefficient `a` in the base
     591        ring.
     592
     593        EXAMPLES::
     594
     595            sage: k.<z> = LaurentPolynomialRing(QQ)
     596            sage: z.is_monomial()
     597            True
     598            sage: k(1).is_monomial()
     599            True
     600            sage: (z+1).is_monomial()
     601            False
     602            sage: (38*z^-2909).is_monomial()
     603            True
     604        """
     605
     606        return self.__u.is_monomial()
    586607                             
    587608    def __pow__(_self, r, dummy):
    588609        """
     
    13281349            ans._poly -= right._poly
    13291350        return ans
    13301351
     1352    def is_monomial(self):
     1353        """
     1354        Returns True if this element is a monomial.
     1355
     1356        EXAMPLES::
     1357
     1358            sage: k.<y,z> = LaurentPolynomialRing(QQ)
     1359            sage: z.is_monomial()
     1360            True
     1361            sage: k(1).is_monomial()
     1362            True
     1363            sage: (z+1).is_monomial()
     1364            False
     1365            sage: (38*z^-2909).is_monomial()
     1366            True
     1367        """
     1368
     1369        return len(self._poly.dict()) <= 1
     1370
    13311371    cpdef ModuleElement _neg_(self):
    13321372        """
    13331373        Returns -self.
  • sage/rings/power_series_ring_element.pyx

    diff -r c3ed00686ffb sage/rings/power_series_ring_element.pyx
    a b  
    10521052    def __rshift__(self, n):
    10531053        return self.parent()(self.polynomial() >> n, self.prec())
    10541054
     1055    def is_monomial(self):
     1056        """
     1057        Returns True if this element is a monomial.  That is, if self is
     1058        `a*x^n` for some non-negative integer `n` and some coefficient `a`
     1059        in the base ring.
     1060
     1061        EXAMPLES::
     1062
     1063            sage: k.<z> = PowerSeriesRing(QQ, 'z')
     1064            sage: z.is_monomial()
     1065            True
     1066            sage: k(1).is_monomial()
     1067            True
     1068            sage: (z+1).is_monomial()
     1069            False
     1070            sage: (z^2909).is_monomial()
     1071            True
     1072        """
     1073
     1074        return self.polynomial().is_monomial()
     1075
    10551076    def is_square(self):
    10561077        """
    10571078        Returns True if this function has a square root in this ring, e.g.