If the user supplies a list instead of a RingElement as the first argument, the return value is the product of all the each of the geometric series expanded to degree n obtained by calling expandGeomSeries on each element of the list.
i1 : A = ZZ[S,T_0,T_1] o1 = A o1 : PolynomialRing |
i2 : f = expandGeomSeries(S^2*T_0^8,10) 10 40 8 32 6 24 4 16 2 8 o2 = S T + S T + S T + S T + S T + 1 0 0 0 0 0 o2 : A |
i3 : g = expandGeomSeries(S^4*T_1^15,10) 8 30 4 15 o3 = S T + S T + 1 1 1 o3 : A |
i4 : h = expandGeomSeries({S^2*T_0^8,S^4*T_1^15},10) 10 40 10 24 15 10 8 30 8 32 8 16 15 8 30 6 24 6 8 15 4 16 4 15 2 8 o4 = S T + S T T + S T T + S T + S T T + S T + S T + S T T + S T + S T + S T + 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 o4 : A |
i5 : B = A/(first gens A)^11 o5 = B o5 : QuotientRing |
i6 : substitute(f*g,B) == h o6 = true |
The object expandGeomSeries is a method function.