In[1062]:= InverseFunction[ArcTanh]
Out[1062]= Tanh
ah yes arctan is invertible now i remember
however that's a special result, true if |x|<1, it has not inverse in general, only a special one. this counts only for special cases
oddly, Mathematica gives a different answer if function slots are used...
InverseFunction[(ArcTanh[#/Sqrt[2]] &)]
Out[994]=
ConditionalExpression[
Sqrt[2] Tanh[#1], (Re[#1] < 0 && -([Pi]/2) < Im[#1] <= [Pi]/
2) || (Re[#1] == 0 && -([Pi]/2) < Im[#1] < [Pi]/
2) || (Re[#1] > 0 && -([Pi]/2) <= Im[#1] < [Pi]/2)] &
In
eqn = Sqrt[
2] c ArcTanh[(Sqrt[a] x)/(Sqrt[2] Sqrt[b])]/(Sqrt[a] Sqrt[b]);
eqn = eqn /. {a -> 1, b -> 1, c -> 1};
eqn = eqn /. {x -> #};
Print@eqn;
InverseFunction[(Evaluate[eqn] &)]
During evaluation of In[1067]:= Sqrt[2] ArcTanh[#1/Sqrt[2]]
Out[1071]=
ConditionalExpression[
Sqrt[2] Tanh[#1/Sqrt[
2]], (Sqrt[2] Re[#1] == 0 && -[Pi] <
Sqrt[2] Im[#1] < [Pi]) || (Sqrt[2] Re[#1] > 0 && -[Pi] <=
Sqrt[2] Im[#1] < [Pi]) || (Sqrt[2] Re[#1] < 0 && -[Pi] <
Sqrt[2] Im[#1] <= [Pi])] &
however
?ArcTanh
ArcTanh[z] gives the inverse hyperbolic tangent tanh^-1(z) of the complex number z. Â >>
many papers have been written to describe what a complex number "imaginary" should represent in various situations, so that is somewhat of a contrivance and you do need to know (graph it?) what they are doing (what is being done in this specific case) when an Im[z] is in the answer.
as far as special cases mentioned above, it might be up to you to insure when your asking Mathematica "to know these things" that the functions your using are aware of them somehow or do not need to be aware. you should also realize that in this kind of area Mathematica is continually making advances which, for the better, sometimes change the answer Mathematica gives. Many or all Mathematica functions are aware of special simplifications of trigonometric functions, many other don't need to be aware by careful design. however you can't rely on special cases, you should supply |x|<1 and check the answer is reasonable, unless knowing what to expect of course :)
this does make "Using Solve[] as part of a program" somewhat problematic and infact there are many past posts upon those seeking advice on how to do it for a given program