| \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). |