I am new to Mathematica. I want to produce the Lagrange inversion coefficients by using Bell polynomials.

In the following image you can see expressions for the first seven coefficients $A_1$ to $A_7$ using Bell Polynomials. There is also a general expression in term of Bell polynomials $B_{n-1,\,k}$

enter image description here

I want to produce coefficients higher than $A_7$. I don't know how many times I should go further; it will depend on how quickly I get convergence to my result.

I believe it shouldn't be hard to produce coefficients higher than $A_7$, but I don't have enough knowledge of Mathematica yet to do myself.


2 Answers 2


You could use InverseSeries. Here is an example polynomial to invert:

poly = Series[Sum[Subscript[a,i]x^i,{i,0,10}],{x,0,10}];
poly //TeXForm

$a_0+a_1 x+a_2 x^2+a_3 x^3+a_4 x^4+a_5 x^5+a_6 x^6+a_7 x^7+a_8 x^8+a_9 x^9+a_{10} x^{10}+O\left(x^{11}\right)$

Using InverseSeries:

InverseSeries[poly][[3]] //Simplify //Column //TeXForm

$\begin{array}{l} \frac{1}{a_1} \\ -\frac{a_2}{a_1^3} \\ \frac{2 a_2^2-a_1 a_3}{a_1^5} \\ -\frac{5 a_2^3-5 a_1 a_3 a_2+a_1^2 a_4}{a_1^7} \\ \frac{14 a_2^4-21 a_1 a_3 a_2^2+6 a_1^2 a_4 a_2+3 a_1^2 a_3^2-a_1^3 a_5}{a_1^9} \\ \frac{-42 a_2^5+84 a_1 a_3 a_2^3-28 a_1^2 a_4 a_2^2+7 a_1^2 \left(a_1 a_5-4 a_3^2\right) a_2+a_1^3 \left(7 a_3 a_4-a_1 a_6\right)}{a_1^{11}} \\ \frac{132 a_2^6-330 a_1 a_3 a_2^4+120 a_1^2 a_4 a_2^3-36 a_1^2 \left(a_1 a_5-5 a_3^2\right) a_2^2+8 a_1^3 \left(a_1 a_6-9 a_3 a_4\right) a_2+a_1^3 \left(-12 a_3^3+8 a_1 a_5 a_3+a_1 \left(4 a_4^2-a_1 a_7\right)\right)}{a_1^{13}} \\ \frac{-429 a_2^7+1287 a_1 a_3 a_2^5-495 a_1^2 a_4 a_2^4+165 a_1^2 \left(a_1 a_5-6 a_3^2\right) a_2^3-45 a_1^3 \left(a_1 a_6-11 a_3 a_4\right) a_2^2+3 a_1^3 \left(55 a_3^3-30 a_1 a_5 a_3+3 a_1 \left(a_1 a_7-5 a_4^2\right)\right) a_2+a_1^4 \left(-45 a_4 a_3^2+9 a_1 a_6 a_3+a_1 \left(9 a_4 a_5-a_1 a_8\right)\right)}{a_1^{15}} \\ \frac{1430 a_2^8-5005 a_1 a_3 a_2^6+2002 a_1^2 a_4 a_2^5-715 a_1^2 \left(a_1 a_5-7 a_3^2\right) a_2^4+220 a_1^3 \left(a_1 a_6-13 a_3 a_4\right) a_2^3-55 a_1^3 \left(26 a_3^3-12 a_1 a_5 a_3+a_1 \left(a_1 a_7-6 a_4^2\right)\right) a_2^2+10 a_1^4 \left(66 a_4 a_3^2-11 a_1 a_6 a_3+a_1 \left(a_1 a_8-11 a_4 a_5\right)\right) a_2+a_1^4 \left(55 a_3^4-55 a_1 a_5 a_3^2+5 a_1 \left(2 a_1 a_7-11 a_4^2\right) a_3+a_1^2 \left(5 a_5^2+10 a_4 a_6-a_1 a_9\right)\right)}{a_1^{17}} \\ \frac{-4862 a_2^9+19448 a_1 a_3 a_2^7-8008 a_1^2 a_4 a_2^6+3003 a_1^2 \left(a_1 a_5-8 a_3^2\right) a_2^5-1001 a_1^3 \left(a_1 a_6-15 a_3 a_4\right) a_2^4+286 a_1^3 \left(35 a_3^3-14 a_1 a_5 a_3+a_1 \left(a_1 a_7-7 a_4^2\right)\right) a_2^3-66 a_1^4 \left(91 a_4 a_3^2-13 a_1 a_6 a_3+a_1 \left(a_1 a_8-13 a_4 a_5\right)\right) a_2^2+11 a_1^4 \left(-91 a_3^4+78 a_1 a_5 a_3^2+6 a_1 \left(13 a_4^2-2 a_1 a_7\right) a_3+a_1^2 \left(-6 a_5^2-12 a_4 a_6+a_1 a_9\right)\right) a_2+a_1^5 \left(286 a_4 a_3^3-66 a_1 a_6 a_3^2+11 a_1 \left(a_1 a_8-12 a_4 a_5\right) a_3+a_1 \left(-22 a_4^3+11 a_1 a_7 a_4+11 a_1 a_5 a_6-a_1^2 a_{10}\right)\right)}{a_1^{19}} \\ \end{array}$

  • $\begingroup$ thans ! is it sufficient I put (i,0,20} and {x,0,20} to get the higher order of A20 ???? How can I generate A's to A20 for example $\endgroup$
    – saj esl
    Commented Feb 22, 2018 at 2:49

It is unfortunate that the OP neglected to provide the source for his expressions. Nevertheless, as noted, one can use the (matrix) Bell polynomials to perform Lagrangian inversion.

As an example:

With[{n = 5},
     (x - a[0])/a[1] +
     Sum[(x - a[0])^m/(m! (m - 1)! a[1]^m)
         BellY[Table[{(m + k - 2)!, -(k - 1)! a[k]/a[1]}, {k, 2, m}]],
         {m, 2, n}] + O[x, a[0]]^(n + 1)]

which yields

   (x - a[0])/a[1] -
   (a[2] (x - a[0])^2)/a[1]^3 +
   ((2 a[2]^2 - a[1] a[3]) (x - a[0])^3)/a[1]^5 +
   ((-5 a[2]^3 + 5 a[1] a[2] a[3] - a[1]^2 a[4]) (x - a[0])^4)/a[1]^7 +
   ((14 a[2]^4 - 21 a[1] a[2]^2 a[3] + 3 a[1]^2 a[3]^2 +
    6 a[1]^2 a[2] a[4] - a[1]^3 a[5]) (x - a[0])^5)/a[1]^9 +
   O[x - a[0]]^6

One could compare this with the result of InverseSeries[a[0] + Sum[a[k] x^k, {k, n}] + O[x]^(n + 1)], but a slicker way to check is to use ComposeSeries[]:

With[{n = 5}, 
     ComposeSeries[%, a[0] + Sum[a[k] x^k, {k, n}] + O[x]^(n + 1)] // Simplify]
   x + O[x]^6

(See as well the discussion in Charalambides, and this related question.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.