Introduction to the Hyperbolic Sine Function in Mathematica
Overview
The following shows how the hyperbolic sine function is implemented in Mathematica. Examples of evaluating Mathematica functions applied to various numeric and exact expressions that involve the hyperbolic sine function or return it are shown. These involve numeric and symbolic calculations and plots.
Notations
Mathematica forms of notations
Following Mathematica's general naming convention, function names in StandardForm are just the capitalized versions of their traditional mathematics names. This shows the hyperbolic sine function in StandardForm.
This shows the hyperbolic sine function in TraditionalForm.
Additional forms of notations
Mathematica also recognizes the most popular forms of notations for the sine function 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 the exact argument , Mathematica returns an exact result.
For a machine‐number argument (a numerical argument with a decimal point and not too many digits), a machine number is also returned.
The next inputs calculate 100‐digit approximations at and .
It is possible to calculate thousands of digits for the hyperbolic sine function within a second. The next input calculates 10000 digits for and analyzes the frequency of the digit in the resulting decimal number.
Here is a 50‐digit approximation for the hyperbolic sine function at the complex argument .
Mathematica automatically evaluates mathematical functions with machine precision, if the arguments of the function are machine‐number elements. 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 knows the symmetry and periodicity of the hyperbolic sine function. Here are some examples.
Mathematica automatically simplifies the composition of the direct and inverse hyperbolic sine functions into its argument.
Mathematica also automatically simplifies the composition of the direct and any of the inverse hyperbolic functions into algebraic functions of the argument.
If the argument has the structure or , and or with integer , the hyperbolic sine function can be automatically transformed into hyperbolic or trigonometric sine or cosine functions.
Simplification of simple expressions containing the hyperbolic sine function
Sometimes simple arithmetic operations containing the hyperbolic sine function can automatically produce other hyperbolic functions.
The hyperbolic sine function arising as special cases from more general functions
The hyperbolic sine function can be treated as a particular case of other more general special functions. For example, can appear automatically 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 direction and the result can be overly complicated. For example, almost everybody prefers using instead of 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 more complicated . For these purposes Mathematica has special commands. Some 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 trigonometric and hyperbolic functions into sums of powers, using trigonometric and hyperbolic identities where possible. Here are some examples.
TrigFactor
The function 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 into trigonometric and hyperbolic functions, using trigonometric and hyperbolic identities where possible. Here are some examples.
TrigReduce
The function TrigReduce rewrites the products and powers of trigonometric and hyperbolic functions in terms of trigonometric and hyperbolic 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 inverse to TrigExpand and TrigFactor. Here are some examples.
TrigToExp
The function TrigToExp converts trigonometric and hyperbolic functions to exponentials. It tries, where possible, to give results that do not involve explicit complex numbers. Here are some examples.
ExpToTrig
The function ExpToTrig converts exponentials to trigonometric and hyperbolic functions. It is approximately inverse to TrigToExp. Here are some examples.
ComplexExpand
The function ComplexExpand expands expressions assuming that all the 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 functions specified. Here are some examples.
Simplify
The function Simplify performs a sequence of algebraic transformations on its argument, and returns the simplest form it finds. Here are some examples.
Here is a large collection of identities involving hyperbolic functions. All are written as one large logical conjunction.
The function Simplify has the Assumption option. For example, Mathematica knows that for all real , and knows about the periodicity of hyperbolic functions for the symbolic integer coefficient of .
Mathematica also knows that the composition of the inverse and direct hyperbolic sine produces the value of the inner argument under the corresponding restriction.
FunctionExpand (and Together)
While the hyperbolic sine function auto‐evaluates for simple fractions of , for more complicated cases it stays as a hyperbolic sine function to avoid the build up of large expressions. Using the function FunctionExpand, the hyperbolic sine function can sometimes be transformed into explicit radicals. Here are some examples.
If the denominator contains squares of integers other than 2, the results always contain complex numbers deeply inside of expression (meaning that the imaginary number appears unavoidably).
Here the function RootReduce is used to express the previous algebraic numbers as the roots of polynomial equations.
The function FunctionExpand also reduces hyperbolic expressions with compound arguments or compositions, including inverse hyperbolic functions, to simpler ones. Here are some examples.
Applying Simplify to the last expression gives a more compact result.
FullSimplify
The function FullSimplify tries a wider range of transformations than Simplify and returns the simplest form it finds. Here are some examples that contrast the results of applying the functions Simplify and FullSimplify to the same expressions.
Operations carried out by specialized Mathematica functions Series expansions Calculating the series expansion of a hyperbolic sine function to hundreds of terms can be done in seconds. 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 of can be evaluated. This result can be verified by the following process. The previous expression is not zero for and the corresponding sum has the following value. Differentiation Mathematica can evaluate derivatives of the hyperbolic sine function of an arbitrary positive integer order. Finite summation Mathematica can calculate finite symbolic sums that contain the hyperbolic sine function. Here are some examples. Infinite summation Mathematica can calculate infinite sums that contain the hyperbolic sine function. Here are some examples. Finite products Mathematica can calculate some doable finite symbolic products that contain the hyperbolic sine function. Here are two examples. Indefinite integration Mathematica can calculate a huge set of doable indefinite integrals that contain the hyperbolic sine function. Here are some examples. Definite integration Mathematica can calculate wide classes of definite integrals that contain the hyperbolic sine function. Here are some examples. Limit operation Mathematica can calculate limits that contain the hyperbolic sine function. Here are some examples. Solving equations The next inputs solve two equations that contain the hyperbolic sine function. Because of the multivalued nature of the inverse hyperbolic sine function, the message indicates that only some of the possible solutions are returned. A complete solution of the previous equation can be obtained using the function Reduce. Solving differential equations Here are differential equations whose linear independent solutions include the hyperbolic sine function. The solutions of the simplest secondorder linear ordinary differential equation with constant coefficients can be represented using and . In the last input, the differential equation was solved for . If the argument is suppressed, the result is returned as a pure function (in the sense of the ‐calculus). The advantage of such a pure function is that it can be used for different arguments, derivatives, and more. In carrying out the algorithm to solve the following 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 warning that a solution branch is potentially missed. Integral transforms Mathematica supports the main integral transforms, such as the direct and inverse Laplace and Fourier transforms that can give results that contain classical or generalized functions. Plotting Mathematica has built‐in functions for 2D and 3D graphics. Here are some examples.
