blob: 0a4a6670c08acb0d491db7890edc4d03c33e3b64 [file] [log] [blame]
\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:
\iftexi
\begin{funcdesc}{acos}{x}
\funcline{asin}{x}
\funcline{atan}{x}
\funcline{cos}{x}
\funcline{cosh}{x}
\funcline{exp}{x}
\funcline{log}{x}
\funcline{log10}{x}
\funcline{sin}{x}
\funcline{sinh}{x}
\funcline{sqrt}{x}
\funcline{tan}{x}
\funcline{tanh}{x}
\end{funcdesc}
\else
\code{acos(\varvars{x})},
\code{acosh(\varvars{x})},
\code{asin(\varvars{x})},
\code{asinh(\varvars{x})},
\code{atan(\varvars{x})},
\code{atanh(\varvars{x})},
\code{cos(\varvars{x})},
\code{cosh(\varvars{x})},
\code{exp(\varvars{x})},
\code{log(\varvars{x})},
\code{log10(\varvars{x})},
\code{sin(\varvars{x})},
\code{sinh(\varvars{x})},
\code{sqrt(\varvars{x})},
\code{tan(\varvars{x})},
\code{tanh(\varvars{x})}.
\fi
The module also defines two mathematical constants:
\iftexi
\begin{datadesc}{pi}
\dataline{e}
\end{datadesc}
\else
\code{pi} and \code{e}.
\fi
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).