Introduction to the Hyperbolic Functions in Mathematica
Overview
The following shows how the six hyperbolic functions are realized in Mathematica. Examples of evaluating Mathematica functions applied to various numeric and exact expressions that involve the hyperbolic functions or return them are shown. These involve numeric and symbolic calculations and plots.
Notations
Mathematica forms of notations
All six hyperbolic functions are represented as built‐in functions in Mathematica. Following Mathematica's general naming convention, the StandardForm function names are simply capitalized versions of the traditional mathematics names. Here is a list hypFunctions of the six hyperbolic functions in StandardForm.
Here is a list hypFunctions of the six trigonometric functions in TraditionalForm.
Additional forms of notations
Mathematica also knows the most popular forms of notations for the hyperbolic functions that are used in other programming languages. Here are three examples: CForm, TeXForm, and FortranForm.
Automatic evaluations and transformations
Evaluation for exact, machinenumber, and highprecision arguments
For a simple exact argument, Mathematica returns an exact result. For instance, for the argument , the Sinh function evaluates to .
For a generic machine‐number argument (a numerical argument with a decimal point and not too many digits), a machine number is returned.
The next inputs calculate 100‐digit approximations of the six hyperbolic functions at .
Within a second, it is possible to calculate thousands of digits for the hyperbolic functions. The next input calculates 10000 digits for , , , , , and and analyzes the frequency of the occurrence of the digit in the resulting decimal number.
Here are 50‐digit approximations to the six hyperbolic functions at the complex argument .
Mathematica always evaluates mathematical functions with machine precision, if the arguments are machine numbers. In this case, only six digits after the decimal point are shown in the results. The remaining digits are suppressed, but can be displayed using the function InputForm.
Simplification of the argument
Mathematica uses symmetries and periodicities of all the hyperbolic functions to simplify expressions. Here are some examples.
Mathematica automatically simplifies the composition of the direct and the inverse hyperbolic functions into the argument.
Mathematica also automatically simplifies the composition of the direct and any of the inverse hyperbolic functions into algebraic functions of the argument.
In cases where the argument has the structure or , e or with integer , trigonometric functions can be automatically transformed into other trigonometric or hyperbolic functions. Here are some examples.
Simplification of simple expressions containing hyperbolic functions
Sometimes simple arithmetic operations containing hyperbolic functions can automatically produce other hyperbolic functions.
Hyperbolic functions as special cases of more general functions
All hyperbolic functions can be treated as particular cases of some more advanced special functions. For example, and are sometimes the results of autosimplifications from Bessel, Mathieu, Jacobi, hypergeometric, and Meijer functions (for appropriate values of their parameters).
Equivalence transformations carried out by specialized Mathematica functions
General remarks
Automatic evaluation and transformations can sometimes be inconvenient: They act in only one chosen direction and the result can be overly complicated. For example, the expression is generally preferable to the more complicated . Mathematica provides automatic transformation of the second expression into the first one. But compact expressions like should not be automatically expanded into the more complicated expression . Mathematica has special functions that produce these types of expansions. Some of them are demonstrated in the next section.
TrigExpand
The function TrigExpand expands out trigonometric and hyperbolic functions. In more detail, it splits up sums and integer multiples that appear in the arguments of trigonometric and hyperbolic functions, and then expands out the products of the trigonometric and hyperbolic functions into sums of powers, using the trigonometric and hyperbolic identities where possible. Here are some examples.
TrigFactor
The command TrigFactor factors trigonometric and hyperbolic functions. In more detail, it splits up sums and integer multiples that appear in the arguments of trigonometric and hyperbolic functions, and then factors the resulting polynomials in the trigonometric and hyperbolic functions, using the corresponding identities where possible. Here are some examples.
TrigReduce
The command TrigReduce rewrites products and powers of trigonometric and hyperbolic functions in terms of those functions with combined arguments. In more detail, it typically yields a linear expression involving trigonometric and hyperbolic functions with more complicated arguments. TrigReduce is approximately opposite to TrigExpand and TrigFactor. Here are some examples.
TrigToExp
The command TrigToExp converts direct and inverse trigonometric and hyperbolic functions to exponentials or logarithmic functions. It tries, where possible, to give results that do not involve explicit complex numbers. Here are some examples.
ExpToTrig
The command ExpToTrig converts exponentials to trigonometric or hyperbolic functions. It tries, where possible, to give results that do not involve explicit complex numbers. It is approximately opposite to TrigToExp. Here are some examples.
ComplexExpand
The function ComplexExpand expands expressions assuming that all the occurring variables are real. The value option TargetFunctions is a list of functions from the set {Re, Im, Abs, Arg, Conjugate, Sign}. ComplexExpand tries to give results in terms of the specified functions. Here are some examples.
Simplify
The command Simplify performs a sequence of algebraic transformations on an expression, and returns the simplest form it finds. Here are two examples.
Here is a large collection of hyperbolic identities. All are written as one large logical conjunction.
The command Simplify has the Assumption option. For example, Mathematica knows that for all real positive , and uses the periodicity of hyperbolic functions for the symbolic integer coefficient of .
Mathematica also knows that the composition of inverse and direct hyperbolic functions produces the value of the inner argument under the appropriate restriction. Here are some examples.
FunctionExpand (and Together)
While the hyperbolic functions auto‐evaluate for simple fractions of , for more complicated cases they stay as hyperbolic functions to avoid the build up of large expressions. Using the function FunctionExpand, such expressions can be transformed into explicit radicals.
If the denominator contains squares of integers other than 2, the results always contain complex numbers (meaning that the imaginary number appears unavoidably).
Here the function RootReduce is used to express the previous algebraic numbers as numbered roots of polynomial equations.
The function FunctionExpand also reduces hyperbolic expressions with compound arguments or compositions, including hyperbolic functions, to simpler forms. Here are some examples.
Applying Simplify to the last expression gives a more compact result.
Here are some similar examples.
FullSimplify
The function FullSimplify tries a wider range of transformations than the function Simplify and returns the simplest form it finds. Here are some examples that contrast the results of applying these functions to the same expressions.
Operations performed by specialized Mathematica functions Series expansions Calculating the series expansion of hyperbolic functions to hundreds of terms can be done in seconds. Here are some examples. Mathematica comes with the add‐on package DiscreteMath`RSolve` that allows finding the general terms of series for many functions. After loading this package, and using the package function SeriesTerm, the following term for odd hyperbolic functions can be evaluated. Here is a quick check of the last result. This series should be evaluated to , which can be concluded from the following relation. Differentiation Mathematica can evaluate derivatives of hyperbolic functions of an arbitrary positive integer order. Finite summation Mathematica can calculate finite sums that contain hyperbolic functions. Here are two examples. Infinite summation Mathematica can calculate infinite sums that contain hyperbolic functions. Here are some examples. Finite products Mathematica can calculate some finite symbolic products that contain the hyperbolic functions. Here are two examples. Infinite products Mathematica can calculate infinite products that contain hyperbolic functions. Here are some examples. Indefinite integration Mathematica can calculate a huge set of doable indefinite integrals that contain hyperbolic functions. Here are some examples. Definite integration Mathematica can calculate wide classes of definite integrals that contain hyperbolic functions. Here are some examples. Limit operation Mathematica can calculate limits that contain hyperbolic functions. Here are some examples. Solving equations The next input solves equations that contain hyperbolic functions. The message indicates that the multivalued functions are used to express the result and that some solutions might be absent. Complete solutions can be obtained by using the function Reduce. Solving differential equations Here are differential equations whose linear‐independent solutions are hyperbolic functions. The solutions of the simplest secondorder linear ordinary differential equation with constant coefficients can be represented through and . All hyperbolic functions satisfy firstorder nonlinear differential equations. In carrying out the algorithm to solve the nonlinear differential equation, Mathematica has to solve a transcendental equation. In doing so, the generically multivariate inverse of a function is encountered, and a message is issued that a solution branch is potentially missed. Integral transforms Mathematica supports the main integral transforms like direct and inverse Fourier, Laplace, and Z transforms that can give results containing classical or generalized functions. Here are some transforms of hyperbolic functions. Plotting Mathematica has built‐in functions for 2D and 3D graphics. Here are some examples.
