summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Doc/lib/libcmath.tex
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/lib/libcmath.tex
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libcmath.tex')
-rw-r--r--sys/src/cmd/python/Doc/lib/libcmath.tex142
1 files changed, 142 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libcmath.tex b/sys/src/cmd/python/Doc/lib/libcmath.tex
new file mode 100644
index 000000000..54e0cdb1f
--- /dev/null
+++ b/sys/src/cmd/python/Doc/lib/libcmath.tex
@@ -0,0 +1,142 @@
+\section{\module{cmath} ---
+ Mathematical functions for complex numbers}
+
+\declaremodule{builtin}{cmath}
+\modulesynopsis{Mathematical functions for complex numbers.}
+
+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}.
+There are two branch cuts:
+One extends right from 1 along the real axis to \infinity, continuous
+from below.
+The other extends left from -1 along the real axis to -\infinity,
+continuous from above.
+\end{funcdesc}
+
+\begin{funcdesc}{acosh}{x}
+Return the hyperbolic arc cosine of \var{x}.
+There is one branch cut, extending left from 1 along the real axis
+to -\infinity, continuous from above.
+\end{funcdesc}
+
+\begin{funcdesc}{asin}{x}
+Return the arc sine of \var{x}.
+This has the same branch cuts as \function{acos()}.
+\end{funcdesc}
+
+\begin{funcdesc}{asinh}{x}
+Return the hyperbolic arc sine of \var{x}.
+There are two branch cuts, extending left from \plusminus\code{1j} to
+\plusminus-\infinity\code{j}, both continuous from above.
+These branch cuts should be considered a bug to be corrected in a
+future release.
+The correct branch cuts should extend along the imaginary axis,
+one from \code{1j} up to \infinity\code{j} and continuous from the
+right, and one from -\code{1j} down to -\infinity\code{j} and
+continuous from the left.
+\end{funcdesc}
+
+\begin{funcdesc}{atan}{x}
+Return the arc tangent of \var{x}.
+There are two branch cuts:
+One extends from \code{1j} along the imaginary axis to
+\infinity\code{j}, continuous from the left.
+The other extends from -\code{1j} along the imaginary axis to
+-\infinity\code{j}, continuous from the left.
+(This should probably be changed so the upper cut becomes continuous
+from the other side.)
+\end{funcdesc}
+
+\begin{funcdesc}{atanh}{x}
+Return the hyperbolic arc tangent of \var{x}.
+There are two branch cuts:
+One extends from 1 along the real axis to \infinity, continuous
+from above.
+The other extends from -1 along the real axis to -\infinity,
+continuous from above.
+(This should probably be changed so the right cut becomes continuous from
+the other side.)
+\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 \code{e**\var{x}}.
+\end{funcdesc}
+
+\begin{funcdesc}{log}{x\optional{, base}}
+Returns the logarithm of \var{x} to the given \var{base}.
+If the \var{base} is not specified, returns the natural logarithm of \var{x}.
+There is one branch cut, from 0 along the negative real axis to
+-\infinity, continuous from above.
+\versionchanged[\var{base} argument added]{2.4}
+\end{funcdesc}
+
+\begin{funcdesc}{log10}{x}
+Return the base-10 logarithm of \var{x}.
+This has the same branch cut as \function{log()}.
+\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}.
+This has the same branch cut as \function{log()}.
+\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 \refmodule{math}\refbimodindex{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 \module{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).
+
+A note on branch cuts: They are curves along which the given function
+fails to be continuous. They are a necessary feature of many complex
+functions. It is assumed that if you need to compute with complex
+functions, you will understand about branch cuts. Consult almost any
+(not too elementary) book on complex variables for enlightenment. For
+information of the proper choice of branch cuts for numerical
+purposes, a good reference should be the following:
+
+\begin{seealso}
+ \seetext{Kahan, W: Branch cuts for complex elementary functions;
+ or, Much ado about nothing's sign bit. In Iserles, A.,
+ and Powell, M. (eds.), \citetitle{The state of the art in
+ numerical analysis}. Clarendon Press (1987) pp165-211.}
+\end{seealso}