Skip to content

Commit 1480abb

Browse files
committed
fixing also multi power series and adding gens methods
1 parent ad1cc55 commit 1480abb

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

src/sage/rings/multi_power_series_ring.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,8 @@
213213
from sage.rings.polynomial.multi_polynomial_ring import MPolynomialRing_base
214214
from sage.rings.polynomial.term_order import TermOrder
215215
from sage.rings.power_series_ring import PowerSeriesRing, PowerSeriesRing_generic
216-
from sage.rings.ring import CommutativeRing
217216
from sage.structure.nonexact import Nonexact
217+
from sage.structure.parent import Parent
218218

219219
from sage.categories.commutative_rings import CommutativeRings
220220
_CommutativeRings = CommutativeRings()
@@ -389,8 +389,9 @@ def __init__(self, base_ring, num_gens, name_list,
389389
# Multivariate power series rings inherit from power series rings. But
390390
# apparently we can not call their initialisation. Instead, initialise
391391
# CommutativeRing and Nonexact:
392-
CommutativeRing.__init__(self, base_ring, name_list, category=_IntegralDomains if base_ring in
393-
_IntegralDomains else _CommutativeRings)
392+
Parent.__init__(self, base=base_ring, names=name_list,
393+
category=_IntegralDomains if base_ring in
394+
_IntegralDomains else _CommutativeRings)
394395
Nonexact.__init__(self, default_prec)
395396

396397
# underlying polynomial ring in which to represent elements
@@ -1005,7 +1006,7 @@ def gen(self, n=0):
10051006
if n < 0 or n >= self._ngens:
10061007
raise ValueError("Generator not defined.")
10071008
#return self(self._poly_ring().gens()[int(n)])
1008-
return self.element_class(parent=self,x=self._poly_ring().gens()[int(n)], is_gen=True)
1009+
return self.element_class(parent=self, x=self._poly_ring().gens()[int(n)], is_gen=True)
10091010

10101011
def ngens(self):
10111012
"""
@@ -1019,6 +1020,19 @@ def ngens(self):
10191020
"""
10201021
return self._ngens
10211022

1023+
def gens(self):
1024+
"""
1025+
Return the generators of this ring.
1026+
1027+
EXAMPLES::
1028+
1029+
sage: M = PowerSeriesRing(ZZ, 3, 'v')
1030+
sage: M.gens()
1031+
(v0, v1, v2)
1032+
"""
1033+
1034+
return tuple(self.gen(i) for i in range(self._ngens))
1035+
10221036
def prec_ideal(self):
10231037
"""
10241038
Return the ideal which determines precision; this is the ideal

src/sage/rings/power_series_ring.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ def is_PowerSeriesRing(R):
491491
return False
492492

493493

494-
class PowerSeriesRing_generic(UniqueRepresentation, ring.CommutativeRing, Nonexact):
494+
class PowerSeriesRing_generic(UniqueRepresentation, Parent, Nonexact):
495495
"""
496496
A power series ring.
497497
"""
@@ -1100,6 +1100,18 @@ def gen(self, n=0):
11001100
raise IndexError("generator n>0 not defined")
11011101
return self.__generator
11021102

1103+
def gens(self):
1104+
"""
1105+
Return the generators of this ring.
1106+
1107+
EXAMPLES::
1108+
1109+
sage: R.<t> = PowerSeriesRing(ZZ)
1110+
sage: R.gens()
1111+
(t,)
1112+
"""
1113+
return (self.__generator,)
1114+
11031115
def uniformizer(self):
11041116
"""
11051117
Return a uniformizer of this power series ring if it is

0 commit comments

Comments
 (0)