Equivalence transformations using specialized Mathematica functions
General remarks
Almost everybody prefers using instead of . Mathematica automatically transforms the second expression into the first one. The automatic application of transformation rules to mathematical expressions can give overly complicated results. Compact expressions like should not be automatically expanded into the more complicated expression . Mathematica has special functions that produce such expansions. 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 products of the 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 opposite 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 opposite to TrigToExp. Here are some examples.
ComplexExpand
The function ComplexExpand expands expressions assuming that all the variables are real. The option TargetFunctions can be given as a list of functions from the set {Re, Im, Abs, Arg, Conjugate, Sign}. ComplexExpand will try to give results in terms of the functions specified. Here are some examples.
Simplify
The function Simplify performs a sequence of algebraic transformations on the expression, and returns the simplest form it finds. Here are some examples.
Here is a collection of hyperbolic identities. Each is written as a logical conjunction.
The command Simplify has the Assumption option. For example, Mathematica recognizes the periodicity of the hyperbolic function for the symbolic integer coefficient of .
Mathematica also knows that the composition of inverse and direct hyperbolic functions produces the value of the internal argument under the corresponding restriction.
FunctionExpand (and Together)
While the hyperbolic secant function auto‐evaluates for simple fractions of , for more complicated cases it stays as a hyperbolic secant function to avoid the build up of large expressions. Using the function FunctionExpand, the hyperbolic secant 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 the expression (meaning that the imaginary number appears unavoidably).
The function RootReduce allows for writing the previous algebraic numbers as the roots of polynomial equations.
The function FunctionExpand also reduces hyperbolic expressions with compound arguments or compositions, including hyperbolic functions, to simpler ones. Here are some examples.
Applying Simplify to the previous 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 compare the results of applying these functions to the same expressions.
