Mathematica does not like hyperbolic functions

In summary, the conversation discusses using Mathematica to find the critical value of n, approximately 1.51, for the equation cosh(x)=n*x. The individual is trying to use the line Length[Solve[Cosh[x] == n*x, x]] to determine the number of solutions for different values of n, but keeps getting an error. They then discuss using the derivatives of cosh(x) and nx to find the solution numerically. Eventually, they find success and thank the other person for their help.
  • #1
blalien
32
0
[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.

Thanks for your help!
 
Physics news on Phys.org
  • #2
Since [itex]\cosh x[/itex] and [itex]nx[/itex] have one intersection point, their derivatives are equal. Along with the original equation, this gives two equations for the two unknowns [itex]n[/itex] and [itex]x[/itex] (at intersection).

[tex]\sinh x = n[/tex]

[tex]\cosh x = nx.[/tex]

Divide these equations and get

[tex]tanh x = \frac{1}{x}.[/tex]

Solve this numerically for [itex]x[/itex] (use only the positive solution), and, to find [itex]n[/itex], plug this solution into the top equation.
 
Last edited:
  • #3
Sweet, it worked. Thanks!
 

1. Why does Mathematica not like hyperbolic functions?

Mathematica is a software program that primarily focuses on symbolic mathematical computation. As such, it is designed to handle a wide range of mathematical functions and expressions. However, the hyperbolic functions (such as sinh, cosh, tanh) are not included in Mathematica's built-in functions. This means that these functions are not recognized by the program and cannot be evaluated.

2. Can I still use hyperbolic functions in Mathematica?

Yes, you can still use hyperbolic functions in Mathematica by defining them as custom functions. You can do this by using the function "DefineFunction" or by using the "Set" or ":=" operators. Once you define the hyperbolic functions, Mathematica will be able to recognize and evaluate them.

3. Are there any packages or libraries that include hyperbolic functions for Mathematica?

Yes, there are several packages and libraries available that include hyperbolic functions for Mathematica. Some examples include the "FunctionExpand" package, the "AlgebraicManipulations`HyperbolicFunctions`" package, and the "MathematicalFunctions`HyperbolicFunctions`" package. These packages can be easily downloaded and integrated into your Mathematica environment.

4. Can I plot hyperbolic functions in Mathematica?

Yes, you can plot hyperbolic functions in Mathematica by using the "Plot" function. However, since hyperbolic functions are not built-in functions, you will need to define them first before plotting them. You can also use the "ParametricPlot" function to plot hyperbolic functions in parametric form.

5. Is there a specific syntax for using hyperbolic functions in Mathematica?

No, there is no specific syntax for using hyperbolic functions in Mathematica. As with other custom functions, you can define the hyperbolic functions using any valid variable name and then use them in your expressions. However, it is recommended to use the traditional notation (e.g. sinh[x], cosh[x], etc.) for consistency and readability.

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
Replies
5
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
4
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
261
  • MATLAB, Maple, Mathematica, LaTeX
Replies
5
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
6
Views
2K
Replies
1
Views
777
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
3
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
Back
Top