# HG changeset patch
# Parent c3ed00686ffbbfdde9b6a1ef50991017a1b0bd75
diff -r c3ed00686ffb sage/rings/laurent_series_ring_element.pyx
a
|
b
|
|
202 | 202 | 1 |
203 | 203 | """ |
204 | 204 | 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 | |
206 | 228 | def __nonzero__(self): |
207 | 229 | return not not self.__u |
208 | 230 | |
diff -r c3ed00686ffb sage/rings/polynomial/laurent_polynomial.pyx
a
|
b
|
|
583 | 583 | cpdef ModuleElement _ilmul_(self, RingElement c): |
584 | 584 | self.__u *= c |
585 | 585 | 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() |
586 | 607 | |
587 | 608 | def __pow__(_self, r, dummy): |
588 | 609 | """ |
… |
… |
|
1328 | 1349 | ans._poly -= right._poly |
1329 | 1350 | return ans |
1330 | 1351 | |
| 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 | |
1331 | 1371 | cpdef ModuleElement _neg_(self): |
1332 | 1372 | """ |
1333 | 1373 | Returns -self. |
diff -r c3ed00686ffb sage/rings/power_series_ring_element.pyx
a
|
b
|
|
1052 | 1052 | def __rshift__(self, n): |
1053 | 1053 | return self.parent()(self.polynomial() >> n, self.prec()) |
1054 | 1054 | |
| 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 | |
1055 | 1076 | def is_square(self): |
1056 | 1077 | """ |
1057 | 1078 | Returns True if this function has a square root in this ring, e.g. |