source: vendor/python/2.5/Doc/lib/libcmath.tex

Last change on this file was 3225, checked in by bird, 18 years ago

Python 2.5

File size: 4.8 KB
Line 
1\section{\module{cmath} ---
2 Mathematical functions for complex numbers}
3
4\declaremodule{builtin}{cmath}
5\modulesynopsis{Mathematical functions for complex numbers.}
6
7This module is always available. It provides access to mathematical
8functions for complex numbers. The functions are:
9
10\begin{funcdesc}{acos}{x}
11Return the arc cosine of \var{x}.
12There are two branch cuts:
13One extends right from 1 along the real axis to \infinity, continuous
14from below.
15The other extends left from -1 along the real axis to -\infinity,
16continuous from above.
17\end{funcdesc}
18
19\begin{funcdesc}{acosh}{x}
20Return the hyperbolic arc cosine of \var{x}.
21There is one branch cut, extending left from 1 along the real axis
22to -\infinity, continuous from above.
23\end{funcdesc}
24
25\begin{funcdesc}{asin}{x}
26Return the arc sine of \var{x}.
27This has the same branch cuts as \function{acos()}.
28\end{funcdesc}
29
30\begin{funcdesc}{asinh}{x}
31Return the hyperbolic arc sine of \var{x}.
32There are two branch cuts, extending left from \plusminus\code{1j} to
33\plusminus-\infinity\code{j}, both continuous from above.
34These branch cuts should be considered a bug to be corrected in a
35future release.
36The correct branch cuts should extend along the imaginary axis,
37one from \code{1j} up to \infinity\code{j} and continuous from the
38right, and one from -\code{1j} down to -\infinity\code{j} and
39continuous from the left.
40\end{funcdesc}
41
42\begin{funcdesc}{atan}{x}
43Return the arc tangent of \var{x}.
44There are two branch cuts:
45One extends from \code{1j} along the imaginary axis to
46\infinity\code{j}, continuous from the left.
47The other extends from -\code{1j} along the imaginary axis to
48-\infinity\code{j}, continuous from the left.
49(This should probably be changed so the upper cut becomes continuous
50from the other side.)
51\end{funcdesc}
52
53\begin{funcdesc}{atanh}{x}
54Return the hyperbolic arc tangent of \var{x}.
55There are two branch cuts:
56One extends from 1 along the real axis to \infinity, continuous
57from above.
58The other extends from -1 along the real axis to -\infinity,
59continuous from above.
60(This should probably be changed so the right cut becomes continuous from
61the other side.)
62\end{funcdesc}
63
64\begin{funcdesc}{cos}{x}
65Return the cosine of \var{x}.
66\end{funcdesc}
67
68\begin{funcdesc}{cosh}{x}
69Return the hyperbolic cosine of \var{x}.
70\end{funcdesc}
71
72\begin{funcdesc}{exp}{x}
73Return the exponential value \code{e**\var{x}}.
74\end{funcdesc}
75
76\begin{funcdesc}{log}{x\optional{, base}}
77Returns the logarithm of \var{x} to the given \var{base}.
78If the \var{base} is not specified, returns the natural logarithm of \var{x}.
79There is one branch cut, from 0 along the negative real axis to
80-\infinity, continuous from above.
81\versionchanged[\var{base} argument added]{2.4}
82\end{funcdesc}
83
84\begin{funcdesc}{log10}{x}
85Return the base-10 logarithm of \var{x}.
86This has the same branch cut as \function{log()}.
87\end{funcdesc}
88
89\begin{funcdesc}{sin}{x}
90Return the sine of \var{x}.
91\end{funcdesc}
92
93\begin{funcdesc}{sinh}{x}
94Return the hyperbolic sine of \var{x}.
95\end{funcdesc}
96
97\begin{funcdesc}{sqrt}{x}
98Return the square root of \var{x}.
99This has the same branch cut as \function{log()}.
100\end{funcdesc}
101
102\begin{funcdesc}{tan}{x}
103Return the tangent of \var{x}.
104\end{funcdesc}
105
106\begin{funcdesc}{tanh}{x}
107Return the hyperbolic tangent of \var{x}.
108\end{funcdesc}
109
110The module also defines two mathematical constants:
111
112\begin{datadesc}{pi}
113The mathematical constant \emph{pi}, as a real.
114\end{datadesc}
115
116\begin{datadesc}{e}
117The mathematical constant \emph{e}, as a real.
118\end{datadesc}
119
120Note that the selection of functions is similar, but not identical, to
121that in module \refmodule{math}\refbimodindex{math}. The reason for having
122two modules is that some users aren't interested in complex numbers,
123and perhaps don't even know what they are. They would rather have
124\code{math.sqrt(-1)} raise an exception than return a complex number.
125Also note that the functions defined in \module{cmath} always return a
126complex number, even if the answer can be expressed as a real number
127(in which case the complex number has an imaginary part of zero).
128
129A note on branch cuts: They are curves along which the given function
130fails to be continuous. They are a necessary feature of many complex
131functions. It is assumed that if you need to compute with complex
132functions, you will understand about branch cuts. Consult almost any
133(not too elementary) book on complex variables for enlightenment. For
134information of the proper choice of branch cuts for numerical
135purposes, a good reference should be the following:
136
137\begin{seealso}
138 \seetext{Kahan, W: Branch cuts for complex elementary functions;
139 or, Much ado about nothing's sign bit. In Iserles, A.,
140 and Powell, M. (eds.), \citetitle{The state of the art in
141 numerical analysis}. Clarendon Press (1987) pp165-211.}
142\end{seealso}
Note: See TracBrowser for help on using the repository browser.