213213from sage .rings .polynomial .multi_polynomial_ring import MPolynomialRing_base
214214from sage .rings .polynomial .term_order import TermOrder
215215from sage .rings .power_series_ring import PowerSeriesRing , PowerSeriesRing_generic
216- from sage .rings .ring import CommutativeRing
217216from sage .structure .nonexact import Nonexact
217+ from sage .structure .parent import Parent
218218
219219from 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
0 commit comments