# Mathematica does not like hyperbolic functions

• Mathematica

## Main Question or Discussion Point

[SOLVED] Mathematica does not like hyperbolic functions

So, consider the equation cosh(x)=n*x

For a given n, the equation has 0, 1, or 2 possible values of x. If n is below the critical value, the equation has no solutions. If n is above the critical value, the equation has two solutions. And if n is exactly the critical value, the equation has one solution. My goal is to use Mathematica to show that the critical value is approximately 1.51.

Theoretically, the line Length[Solve[Cosh[x] == n*x, x]] should give the number of solutions for a given n. Then I can make a table of n's and find the point where the number of solutions goes from 0 to 2.

Unfortunately, I keep getting the error:
Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way.

NSolve has the exact same problem. FindRoot always gives exactly one solution, whether there are zero or two solutions to the equation. Is there a way to make Mathematica more cooperative, or another way to go about this problem? Since the TI-89 can handle this problem (but is too slow to be useful), it seems like Mathematica should be able to as well.

Related MATLAB, Maple, Mathematica, LaTeX News on Phys.org
George Jones
Staff Emeritus
Gold Member
Since $\cosh x$ and $nx$ have one intersection point, their derivatives are equal. Along with the original equation, this gives two equations for the two unknowns $n$ and $x$ (at intersection).

$$\sinh x = n$$

$$\cosh x = nx.$$

Divide these equations and get

$$tanh x = \frac{1}{x}.$$

Solve this numerically for $x$ (use only the positive solution), and, to find $n$, plug this solution into the top equation.

Last edited:
Sweet, it worked. Thanks!