# How can I compose 2 power series in one variable with their compositional inverse get a power series in two variables?

I would like to compose a power series $\ell$ defined in $x$ to get a power series $\ell^{-1}(\ell(x) + \ell(y))$ as a power series $f(x, y)$ in two variables, $x$ and $y$. In the code below I call l := $\ell$, and e := $\ell^{-1}$.

PREC = 20
R.<x, y> = PowerSeriesRing( QQ, default_prec=PREC )
f = exp( 1/3 * log( 1-x^3 ) )
print f
w = 1/f
l = w.integral(x)
e = l.reverse()
g = e(l(x) + l(y)) ??


I find immediately the following issue, let alone the issue of composing:

e = l.reverse()
AttributeError: 'MPowerSeriesRing_generic_with_category.element_class' object has no attribute 'reverse'


Once I have this two variable power series $f(x, y)$, I would like to output $f(x, (f(x, ..., f(x,x)))$, composed with itself $n$-times for a natural number $n$.

edit retag close merge delete

Sort by » oldest newest most voted

Multivariate power series rings do not know how to reverse a series. It could be added, but currently you can perform your computation using a univariate ring first, and simply at the end use a bivariate one. For example:

1. First define the bivariate ring, as well as a univariate one:

sage: R.<x,y> = PowerSeriesRing(QQ, default_prec=PREC)
sage: Ru = PowerSeriesRing(QQ, 'x', default_prec=PREC)

2. Define f as a univariate series (note the Ru(x)):

sage: f = exp(1/3 * log(1 - Ru(x)^3))
sage: f.parent()
Power Series Ring in x over Rational Field

3. Perform the computations to define l and e:

sage: l = f.inverse().integral()
sage: e = l.reverse()

4. Compose to get the desired result:

sage: g = e(l(x) + l(y))
sage: g.parent()
Multivariate Power Series Ring in x, y over Rational Field
sage: g
x + y - 1/3*x^3*y - 1/2*x^2*y^2 - 1/3*x*y^3 - 1/9*x^6*y - 1/6*x^5*y^2 - 1/6*x^4*y^3 - 1/6*x^3*y^4 - 1/6*x^2*y^5 - 1/9*x*y^6 - 5/81*x^9*y - 1/9*x^8*y^2 - 1/6*x^7*y^3 - 17/72*x^6*y^4 - 49/180*x^5*y^5 - 17/72*x^4*y^6 - 1/6*x^3*y^7 - 1/9*x^2*y^8 - 5/81*x*y^9 - 10/243*x^12*y - 7/81*x^11*y^2 - 1/6*x^10*y^3 - 65/216*x^9*y^4 - 487/1080*x^8*y^5 - 197/360*x^7*y^6 - 197/360*x^6*y^7 - 487/1080*x^5*y^8 - 65/216*x^4*y^9 - 1/6*x^3*y^10 - 7/81*x^2*y^11 - 10/243*x*y^12 - 22/729*x^15*y - 35/486*x^14*y^2 - 1/6*x^13*y^3 - 175/486*x^12*y^4 - 6391/9720*x^11*y^5 - 241/240*x^10*y^6 - 233/180*x^9*y^7 - 7307/5184*x^8*y^8 - 233/180*x^7*y^9 - 241/240*x^6*y^10 - 6391/9720*x^5*y^11 - 175/486*x^4*y^12 - 1/6*x^3*y^13 - 35/486*x^2*y^14 - 22/729*x*y^15 - 154/6561*x^18*y - 91/1458*x^17*y^2 - 1/6*x^16*y^3 - 605/1458*x^15*y^4 - 5159/5832*x^14*y^5 - 1157/720*x^13*y^6 - 48709/19440*x^12*y^7 - 784501/233280*x^11*y^8 - 20179/5184*x^10*y^9 - 20179/5184*x^9*y^10 - 784501/233280*x^8*y^11 - 48709/19440*x^7*y^12 - 1157/720*x^6*y^13 - 5159/5832*x^5*y^14 - 605/1458*x^4*y^15 - 1/6*x^3*y^16 - 91/1458*x^2*y^17 - 154/6561*x*y^18 + O(x, y)^21

more