# How can I take a fractional power and a power series inverse?

I am attempting to take the power series inverse of the Taylor series expansion of $(x^4-x)^{1/3}$ around the point 0.

When I attempt to define g=(x^4-x)^{1/3} :

sage: R.<x> = LaurentPolynomialRing(QQ);
sage: g = (x^4-x)^{1/3}
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-21-675538f6f472> in <module>()
----> 1 g = (x**Integer(4)-x)**{Integer(1)/Integer(3)}

sage/rings/polynomial/laurent_polynomial.pyx in sage.rings.polynomial.laurent_polynomial.LaurentPolynomial_univariate.__pow__ (/usr/lib/sagemath//src/build/cythonized/sage/rings/polynomial/laurent_polynomial.c:10802)()

TypeError: int() argument must be a string or a number, not 'set'


Now, when I define $g$ as follows, I am unable to take the power series inverse:

sage: var('x')
x
sage: g = (1-x)**(1/3)
sage: G = g.taylor(x, 0, 10)
sage: 1/G
-4782969/(55913*x^10 + 64515*x^9 + 75735*x^8 + 90882*x^7 + 112266*x^6 + 144342*x^5 + 196830*x^4 + 295245*x^3 + 531441*x^2 + 1594323*x - 4782969)
sage: 1/G + O(x^10)

---------------------------------------------------------------------------
ArithmeticError                           Traceback (most recent call last)
<ipython-input-12-9fe94787aacb> in <module>()
----> 1 Integer(1)/G + O(x**Integer(10))

/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/rings/big_oh.py in O(*x, **kwds)
154     elif hasattr(x, 'O'):
155         return x.O(**kwds)
--> 156     raise ArithmeticError("O(%s) not defined" % (x,))

ArithmeticError: O(x^10) not defined
sage: G.inverse()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-14-34018a4209b6> in <module>()


How can I have the best of both worlds? In the end, I would like to have an element in the Laurent Series Ring, for the next stage is to take the formal integral of the result, and the composition inverse of this formal integral.

edit retag close merge delete

Sort by » oldest newest most voted

Formally, $$(x^4-x)^{1/3} = -(x-x^4)^{1/3}= -x^{1/3}\; (1-x^3)^{1/3}\ ,$$ so the problem is the last factor.

(We may substtitute $y=x^{1/3}$ and calculate w.r.t. $y$ if the other factor is also a problem.)

Then the code

PREC = 20    # feel free to take 100 or more
R.<x> = PowerSeriesRing( QQ, default_prec=PREC )
# (1-x^3)^(1/3) does not work, but let us try a version of exp log (1-x^3)^(1/3)
f = exp( 1/3 * log( 1-x^3 ) )
print f


finds

1 - 1/3*x^3 - 1/9*x^6 - 5/81*x^9 - 10/243*x^12 - 22/729*x^15 - 154/6561*x^18 + O(x^20)


and we can check it rapidly:

sage: f^3
1 - x^3 + O(x^20)


The power series inverse with respect to the multiplication is:

sage: 1/f
1 + 1/3*x^3 + 2/9*x^6 + 14/81*x^9 + 35/243*x^12 + 91/729*x^15 + 728/6561*x^18 + O(x^20)


Or directly:

sage: exp( -1/3 * log( 1-x^3 ) )
1 + 1/3*x^3 + 2/9*x^6 + 14/81*x^9 + 35/243*x^12 + 91/729*x^15 + 728/6561*x^18 + O(x^20)

more