There are functions to perform basic arithmetic operations (addition, subtraction etc.) on power series.
Given a polynomial c in r variables and a sequence ss of r power series (in a common domain with compatible coefficient field) return the series obtained by substituting the elements of ss for the variables of c. This allows the construction of completely arbitrary algebraic combinations.
Add, subtract or multiply two power series.
> // construct the series s0^2+s1^2 > h0 := AlgComb(x^2 + y^2, [s0,s1]); > Expand(h0, 3); true 10*x^2 + 2*x*y + y^2 - 6*x + 1
This includes of course the ring operations.
> h1 := Add(s1, PolyToSeries(One(Qxy))); > Expand(h1, 4); true x^3 + 3*x^2*y + 3*x*y^2 + y^3 + x^2 + 2*x*y + y^2 + x + y + 1 > h2 := Mult(h1, PolyToSeries(1 - x - y)); > Expand(h2, 4); true 1 > h3 := Add(h2, PolyToSeries(-One(Qxy))); > Expand(h3, 4); true 0