4

I have an expression of this kind

t = 2 m (Sqrt[4 x^2 (1 - m^2) + m^4 + 4 m^2 x]/(1 - m^2) + 
  m^2/(4 (1 - m^2) Sqrt[m^2 - 1]) ArcSin[(2 (1 - m^2) x + 4 m^2)/(4 m^3)])

that I would like to invert so that to have x[t].

I have tried with

InverseFunction[2 m (Sqrt[4 x^2 (1 - m^2) + m^4 + 4 m^2 x]/(1 - m^2) + 
  m^2/(4 (1 - m^2) Sqrt[m^2 - 1]) ArcSin[(2 (1 - m^2) x + 4 m^2)/(4 m^3)]) - t][0] 

but it does not seem to work.

Am I doing something wrong or it is just that the function is not invertible?

Simon Woods
  • 84,945
  • 8
  • 175
  • 324
Vale
  • 83
  • 5

1 Answers1

6

define a function of two variables,

f[x_, m_] = 2 m (Sqrt[4 x^2 (1 - m^2) + m^4 + 4 m^2 x]/(1 - m^2) +
     m^2/(4 (1 - m^2) Sqrt[m^2 - 1]) ArcSin[(2 (1 - m^2) x + 
          4 m^2)/(4 m^3)]);

then tell InverseFunction to invert w.r.t. the first argument:

inv = InverseFunction[f, 1, 2];

Show[{Plot[f[x, 2], {x, -10, 10}, PlotRange -> All],
  ListPlot[Table[{inv[y, 2], y} // N, {y, -7, -1/2, 1/4}], 
   PlotStyle -> Red]}, PlotRange -> All]

enter image description here

of course this is actually inverted numerically and so is rather slow. Also the inverse is not single valued and you get no control over which solution you get.

george2079
  • 38,913
  • 1
  • 43
  • 110