\section{Built-in Module \sectcode{cmath}}
\label{module-cmath}

\bimodindex{cmath}
\renewcommand{\indexsubitem}{(in module cmath)}
This module is always available.
It provides access to mathematical functions for complex numbers.
The functions are:

\begin{funcdesc}{acos}{x}
Return the arc cosine of \var{x}.
\end{funcdesc}

\begin{funcdesc}{acosh}{x}
Return the hyperbolic arc cosine of \var{x}.
\end{funcdesc}

\begin{funcdesc}{asin}{x}
Return the arc sine of \var{x}.
\end{funcdesc}

\begin{funcdesc}{asinh}{x}
Return the hyperbolic arc sine of \var{x}.
\end{funcdesc}

\begin{funcdesc}{atan}{x}
Return the arc tangent of \var{x}.
\end{funcdesc}

\begin{funcdesc}{atanh}{x}
Return the hyperbolic arc tangent of \var{x}.
\end{funcdesc}

\begin{funcdesc}{cos}{x}
Return the cosine of \var{x}.
\end{funcdesc}

\begin{funcdesc}{cosh}{x}
Return the hyperbolic cosine of \var{x}.
\end{funcdesc}

\begin{funcdesc}{exp}{x}
Return the exponential value $\mbox{e}^x$.
\end{funcdesc}

\begin{funcdesc}{log}{x}
Return the natural logarithm of \var{x}.
\end{funcdesc}

\begin{funcdesc}{log10}{x}
Return the base-10 logarithm of \var{x}.
\end{funcdesc}

\begin{funcdesc}{sin}{x}
Return the sine of \var{x}.
\end{funcdesc}

\begin{funcdesc}{sinh}{x}
Return the hyperbolic sine of \var{x}.
\end{funcdesc}

\begin{funcdesc}{sqrt}{x}
Return the square root of \var{x}.
\end{funcdesc}

\begin{funcdesc}{tan}{x}
Return the tangent of \var{x}.
\end{funcdesc}

\begin{funcdesc}{tanh}{x}
Return the hyperbolic tangent of \var{x}.
\end{funcdesc}

The module also defines two mathematical constants:

\begin{datadesc}{pi}
The mathematical constant \emph{pi}, as a real.
\end{datadesc}

\begin{datadesc}{e}
The mathematical constant \emph{e}, as a real.
\end{datadesc}

Note that the selection of functions is similar, but not identical, to
that in module \code{math}.  The reason for having two modules is,
that some users aren't interested in complex numbers, and perhaps
don't even know what they are.  They would rather have \code{math.sqrt(-1)}
raise an exception than return a complex number.  Also note that the
functions defined in \code{cmath} always return a complex number, even
if the answer can be expressed as a real number (in which case the
complex number has an imaginary part of zero).
