def _element_constructor_(self, x) : """ TESTS:: sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_basicmonoids import * sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_module import EquivariantMonoidPowerSeriesModule sage: emps = EquivariantMonoidPowerSeriesModule_generic(NNMonoid(True), TrivialCharacterMonoid("1", QQ), TrivialRepresentation("1", FreeModule(QQ, 2))) sage: h = emps(0) # indirect doctest sage: h = emps(int(0)) # indirect doctest """ if isinstance(x, int) and x == 0 : return self._element_class( self, dict( [(self.characters().one_element(), dict())] ), self.action().filter_all() ) elif isinstance(x, Element) and x.is_zero() : P = x.parent() if self.action().is_monoid_action() and \ self.base_ring().base_ring().has_coerce_map_from(P) or \ not self.action().is_monoid_action() and \ self.base_ring().has_coerce_map_from(P) : return self._element_class( self, dict( [(self.characters().one_element(), dict())] ), self.action().filter_all() ) return EquivariantMonoidPowerSeriesAmbient_abstract._element_constructor_(self, x)
def _element_constructor_(self, x) : r""" TESTS:: sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_basicmonoids import * sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_module import EquivariantMonoidPowerSeriesModule_generic sage: emps = EquivariantMonoidPowerSeriesModule_generic(NNMonoid(True), TrivialCharacterMonoid("1", QQ), TrivialRepresentation("1", FreeModule(QQ, 2))) sage: h = emps(0) # indirect doctest sage: h = emps(int(0)) # indirect doctest """ if isinstance(x, int) and x == 0 : return self._element_class( self, dict( [(self.characters().one_element(), dict())] ), self.action().filter_all() ) elif isinstance(x, Element) and x.is_zero() : P = x.parent() if self.action().is_monoid_action() and \ self.base_ring().base_ring().has_coerce_map_from(P) or \ not self.action().is_monoid_action() and \ self.base_ring().has_coerce_map_from(P) : return self._element_class( self, dict( [(self.characters().one_element(), dict())] ), self.action().filter_all() ) return EquivariantMonoidPowerSeriesAmbient_abstract._element_constructor_(self, x)
def _element_constructor_(self, x): r""" TESTS:: sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_basicmonoids import * sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_ring import EquivariantMonoidPowerSeriesRing_generic sage: emps = EquivariantMonoidPowerSeriesRing_generic(NNMonoid(True), TrivialCharacterMonoid("1", QQ), TrivialRepresentation("1", QQ)) sage: h = emps(1) sage: h = emps(emps.monoid().zero_element()) sage: h = emps.zero_element() sage: K.<rho> = CyclotomicField(6) sage: emps = EquivariantMonoidPowerSeriesRing_generic(NNMonoid(True), TrivialCharacterMonoid("1", QQ), TrivialRepresentation("1", K)) sage: h = emps(rho) sage: h = emps(1) """ if isinstance(x, int): x = Integer(x) if isinstance(x, Element): P = x.parent() if P is self.coefficient_domain(): return self._element_class( self, { self.characters().one_element(): { self.monoid().zero_element(): x } }, self.action().filter_all()) elif self.coefficient_domain().has_coerce_map_from(P): return self._element_class( self, { self.characters().one_element(): { self.monoid().zero_element(): self.coefficient_domain()(x) } }, self.action().filter_all()) elif P is self.monoid(): return self._element_class(self, { self.characters().one_element(): { x: self.base_ring().one_element() } }, self.action().filter_all(), symmetrise=True) return EquivariantMonoidPowerSeriesAmbient_abstract._element_constructor_( self, x)
def _element_constructor_(self, x) : """ TESTS:: sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_basicmonoids import * sage: from psage.modform.fourier_expansion_framework.monoidpowerseries.monoidpowerseries_ring import EquivariantMonoidPowerSeriesRing_generic sage: emps = EquivariantMonoidPowerSeriesRing_generic(NNMonoid(True), TrivialCharacterMonoid("1", QQ), TrivialRepresentation("1", QQ)) sage: h = emps(1) sage: h = emps(emps.monoid().zero_element()) sage: h = emps.zero_element() sage: K.<rho> = CyclotomicField(6) sage: emps = EquivariantMonoidPowerSeriesRing_generic(NNMonoid(True), TrivialCharacterMonoid("1", QQ), TrivialRepresentation("1", K)) sage: h = emps(rho) sage: h = emps(1) """ if isinstance(x, int) : x = Integer(x) if isinstance(x, Element) : P = x.parent() if P is self.coefficient_domain() : return self._element_class( self, {self.characters().one_element(): {self.monoid().zero_element(): x}}, self.action().filter_all() ) elif self.coefficient_domain().has_coerce_map_from(P) : return self._element_class( self, {self.characters().one_element(): {self.monoid().zero_element(): self.coefficient_domain()(x)}}, self.action().filter_all() ) elif P is self.monoid() : return self._element_class( self, {self.characters().one_element(): {x: self.base_ring().one_element()}}, self.action().filter_all(), symmetrise = True ) return EquivariantMonoidPowerSeriesAmbient_abstract._element_constructor_(self, x)