y = Math.Tanh(x)
is the hyperbolic tangent of x
. But I need f(y) = x
. For the regular tangent there\'s Arctan, but where\'s Arctanh?
Why don't you implement one by yourself? You can find the equation e.g. here and tt's not that difficult:
public static class MyMath
{
public static double Arctanh(double x)
{
if (Math.Abs(x) > 1)
throw new ArgumentException("x");
return 0.5 * Math.Log((1 + x) / (1 - x));
}
}
I don't think the C# libraries include the arc hyperbolic trig functions, but they're easy to compute:
atanh(x) = (log(1+x) - log(1-x))/2
In C#:
public static double ATanh(double x)
{
return (Math.Log(1 + x) - Math.Log(1 - x))/2;
}
the Inverse HTangent is can be calc by doing Log((1 + X) / (1 – X)) / 2
I installed MathNet from the package manager. It has MathNet.Numerics.Trig.InverseHyperbolicTangent(x) which works well enough.