1
$\begingroup$

So I tried to take the inverse of EllipticE when modulus is large, in Mathematica, but the solution gives wrong answer.

InverseSeries[Series[EllipticE[x, -k], {x, 0, 12}, {k, Infinity, 1}],y] = InverseFunction[y,k]

For example, I tried EllipticE[0.5,-9.9] = 0.656 where x:0.5 , k:-9.9, y:0.656

But InverseFunction[y,k] is not equal to 0.5. Am I not correctly taking the inverse of the function? I need a general form of an equation for the inverse of EllipticE. Polynomial approximation is also fine. The approximation should definitely work around when x-->0 and k-->-infinity. So for the above example, the approximation function result should yield to 0.5 when y=0.656 and k=-9.9. I need to code this function in MCU, so I need an analytical approximation.

Caner

$\endgroup$
2
  • $\begingroup$ There may not exist a good approximation for the two cases $x\to 0$ and $x\to \infty$ simultaneously. $\endgroup$
    – user64494
    May 21, 2020 at 8:08
  • $\begingroup$ I am more interested when x goes to zero and -k goes to infinity. so like EllipticE[0.1,-600], EllipticE[0.05,-600] $\endgroup$ May 21, 2020 at 10:33

1 Answer 1

1
$\begingroup$

You can always do this if you are not tied to a series:

f = InverseFunction[EllipticE[#1, -9.9] &]

f[.656025]
(*0.5*)

or

g = InverseFunction[Function[{x, y}, EllipticE[x, y]], 1, 2]

g[.656025, -9.9]
(*0.5*)

This series works for smaller x

Clear[k]

f[x_, k_] = InverseSeries[Series[EllipticE[x, k], {x, 0, 20}]] // Simplify // Normal

k = -9.9;

f[.1, k]
(*0.0984504*)

EllipticE[%, k] // Chop
(*0.1*)

k = -50;

f[.1, k]
(*0.0935462*)

EllipticE[%, k] // Chop
(*0.0999678*)

The series still blows up for an x value as high as 0.656, so I guess it is a numerical issue and will probably require many more terms in the series with much higher precision than is practical. For smaller values of x this seems to give a decent approximation.

$\endgroup$
5
  • $\begingroup$ How do you make it parametric? I need a function or a series to code it directly. $\endgroup$ May 21, 2020 at 6:58
  • $\begingroup$ I believe I have coded f to be a function. Maybe you will like the function g I have added to my answer better. But I guess I don't know how you plan to use it. $\endgroup$
    – Bill Watts
    May 21, 2020 at 7:18
  • $\begingroup$ What i mean is, i need to have a parametric function or expression so that i can use it outside of mathematica. İt can be a powerseries, taylor series or any other parametric function. $\endgroup$ May 21, 2020 at 7:42
  • $\begingroup$ The code f = InverseFunction[EllipticE[#1, -x] &];Series[f[x], {x, 0, 2}] produces $x+O\left(x^3\right)$. $\endgroup$
    – user64494
    May 21, 2020 at 8:12
  • $\begingroup$ I dont understand what this answer is. So what is the inverse of EllipticE[x,-k] according to this notation? $\endgroup$ May 21, 2020 at 10:30

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.