def _element_constructor_(self, x) :
        """
        INPUT:
            - `x` -- An integer, an element of the underlying polynomial ring or
                     an element in a submodule of graded expansions.
        
        OUTPUT:
            An instance of the element class.
        
        TESTS::
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_basicmonoids import *
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_module import *
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_element import *
            sage: from psage.modform.fourier_expansion_framework.gradedexpansions.gradedexpansion_grading import DegreeGrading
            sage: from psage.modform.fourier_expansion_framework.gradedexpansions.gradedexpansion_ring import *
            sage: mps = MonoidPowerSeriesRing(QQ, NNMonoid(False))
            sage: ger = GradedExpansionRing_class(Sequence([MonoidPowerSeries(mps, {1: 1}, mps.monoid().filter(4))]), Sequence([MonoidPowerSeries(mps, {1: 1, 2: 3}, mps.monoid().filter(4))]), PolynomialRing(QQ, ['a', 'b']).ideal(0), DegreeGrading((1,2)))
            sage: h = ger(1)
        """
        if isinstance(x, (int, Integer)) :
            return self._element_class(self, self.relations().ring()(x))
        
        P = x.parent()
        if P is self.relations().ring() :
            return self._element_class(self, x)
        elif self.relations().ring().has_coerce_map_from(P) :
            return self._element_class(self, self.relations().ring()(x))
        elif P is self.base_ring() and isinstance( self.base_ring(), GradedExpansionAmbient_abstract ) :
            return self._element_class(self, self.relations().ring()(x.polynomial()))

        return GradedExpansionAmbient_abstract._element_constructor_(self, x)
示例#2
0
    def _element_constructor_(self, x):
        r"""
        INPUT:
            - `x` -- A zero integer, an element of the underlying polynomial ring or
                     an element in a submodule of graded expansions.
        
        OUTPUT:
            An instance of the element class.
        
        TESTS::
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_basicmonoids import *
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_module import *
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_element import *
            sage: from psage.modform.fourier_expansion_framework.gradedexpansions.gradedexpansion_grading import DegreeGrading
            sage: from psage.modform.fourier_expansion_framework.gradedexpansions.gradedexpansion_module import *
            sage: m = FreeModule(QQ, 3)
            sage: mpsm = MonoidPowerSeriesModule(m, NNMonoid(False))
            sage: mps = mpsm.base_ring()
            sage: ger = GradedExpansionModule_class(Sequence([MonoidPowerSeries(mps, {1: 1}, mps.monoid().filter(4))]), Sequence([MonoidPowerSeries(mpsm, {1: m([1,1,1]), 2: m([1,3,-3])}, mpsm.monoid().filter(4))]), PolynomialRing(QQ, ['a', 'b']).ideal(0), DegreeGrading((1,2)))
            sage: h = ger(0)
        """
        if isinstance(x, (int, Integer)) and x == 0:
            return self._element_class(self, self.relations().ring().zero())

        P = x.parent()
        if P is self.base_ring():
            if x == 0:
                return self._element_class(self,
                                           self.relations().ring().zero())

        return GradedExpansionAmbient_abstract._element_constructor_(self, x)
 def _element_constructor_(self, x) :
     r"""
     INPUT:
         - `x` -- A zero integer, an element of the underlying polynomial ring or
                  an element in a submodule of graded expansions.
     
     OUTPUT:
         An instance of the element class.
     
     TESTS::
         sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_basicmonoids import *
         sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_module import *
         sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_element import *
         sage: from psage.modform.fourier_expansion_framework.gradedexpansions.gradedexpansion_grading import DegreeGrading
         sage: from psage.modform.fourier_expansion_framework.gradedexpansions.gradedexpansion_module import *
         sage: m = FreeModule(QQ, 3)
         sage: mpsm = MonoidPowerSeriesModule(m, NNMonoid(False))
         sage: mps = mpsm.base_ring()
         sage: ger = GradedExpansionModule_class(Sequence([MonoidPowerSeries(mps, {1: 1}, mps.monoid().filter(4))]), Sequence([MonoidPowerSeries(mpsm, {1: m([1,1,1]), 2: m([1,3,-3])}, mpsm.monoid().filter(4))]), PolynomialRing(QQ, ['a', 'b']).ideal(0), DegreeGrading((1,2)))
         sage: h = ger(0)
     """
     if isinstance(x, (int, Integer)) and x == 0 :
         return self._element_class(self, self.relations().ring().zero())
     
     P = x.parent()
     if P is self.base_ring() :
         if x == 0 :
             return self._element_class(self, self.relations().ring().zero())
     
     return GradedExpansionAmbient_abstract._element_constructor_(self, x)
示例#4
0
    def _element_constructor_(self, x) :
        r"""
        INPUT:
            - `x` -- An integer, an element of the underlying polynomial ring or
                     an element in a submodule of graded expansions.
        
        OUTPUT:
            An instance of the element class.
        
        TESTS::
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_basicmonoids import *
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_module import *
            sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_element import *
            sage: from psage.modform.fourier_expansion_framework.gradedexpansions.gradedexpansion_grading import DegreeGrading
            sage: from psage.modform.fourier_expansion_framework.gradedexpansions.gradedexpansion_ring import *
            sage: mps = MonoidPowerSeriesRing(QQ, NNMonoid(False))
            sage: ger = GradedExpansionRing_class(Sequence([MonoidPowerSeries(mps, {1: 1}, mps.monoid().filter(4))]), Sequence([MonoidPowerSeries(mps, {1: 1, 2: 3}, mps.monoid().filter(4))]), PolynomialRing(QQ, ['a', 'b']).ideal(0), DegreeGrading((1,2)))
            sage: h = ger(1)
        """
        if isinstance(x, (int, Integer)) :
            return self._element_class(self, self.relations().ring()(x))
        
        P = x.parent()
        if P is self.relations().ring() :
            return self._element_class(self, x)
        elif self.relations().ring().has_coerce_map_from(P) :
            return self._element_class(self, self.relations().ring()(x))
        elif P is self.base_ring() and isinstance( self.base_ring(), GradedExpansionAmbient_abstract ) :
            return self._element_class(self, self.relations().ring()(x.polynomial()))

        return GradedExpansionAmbient_abstract._element_constructor_(self, x)