def _mul_(self, other): """ Multiply ``self`` by ``other``. EXAMPLES:: sage: F = FreeAbelianMonoid(index_set=ZZ) sage: a,b,c,d,e = [F.gen(i) for i in range(5)] sage: a*b^2*e*d F[0]*F[1]^2*F[3]*F[4] """ return self.__class__(self.parent(), blas.add(self._monomial, other._monomial))
def _add_(self, other): """ Return ``self`` added to ``other``. EXAMPLES:: sage: W.<x,y,z> = DifferentialWeylAlgebra(QQ) sage: dx,dy,dz = W.differentials() sage: (dx*dy) + dz + x^3 - 2 dx*dy + dz + x^3 - 2 """ F = self.parent() return self.__class__(F, blas.add(self.__monomials, other.__monomials))
def _mul_(self, other): """ Multiply ``self`` by ``other``. EXAMPLES:: sage: G = Groups().Commutative().free(index_set=ZZ) sage: a,b,c,d,e = [G.gen(i) for i in range(5)] sage: a*b^2*e^-1*d F[0]*F[1]^2*F[3]*F[4]^-1 sage: (a*b^2*d^2) * (d^-4*b^-2*e) F[0]*F[3]^-2*F[4] sage: (a*b^-2*d^2) * (d^-2*b^2*a^-1) 1 """ return self.__class__(self.parent(), blas.add(self._monomial, other._monomial))
def _add_(self, other): """ Return ``self`` added to ``other``. EXAMPLES:: sage: W.<x,y,z> = DifferentialWeylAlgebra(QQ) sage: dx,dy,dz = W.differentials() sage: (dx*dy) + dz + x^3 - 2 dx*dy + dz + x^3 - 2 """ F = self.parent() return self.__class__(F, blas.add(self.__monomials, other.__monomials)) d = copy(self.__monomials) zero = self.parent().base_ring().zero() for m,c in six.iteritems(other.__monomials): d[m] = d.get(m, zero) + c if d[m] == zero: del d[m] return self.__class__(self.parent(), d)
def _add_(self, other): """ Return ``self`` added to ``other``. EXAMPLES:: sage: W.<x,y,z> = DifferentialWeylAlgebra(QQ) sage: dx,dy,dz = W.differentials() sage: (dx*dy) + dz + x^3 - 2 dx*dy + dz + x^3 - 2 """ F = self.parent() return self.__class__(F, blas.add(self.__monomials, other.__monomials)) d = copy(self.__monomials) zero = self.parent().base_ring().zero() for m, c in iteritems(other.__monomials): d[m] = d.get(m, zero) + c if d[m] == zero: del d[m] return self.__class__(self.parent(), d)