[Python-checkins] CVS: python/dist/src/Doc/lib libcmath.tex,1.12,1.13
Fred L. Drake
fdrake@users.sourceforge.net
Fri, 22 Jun 2001 20:16:31 -0700
Update of /cvsroot/python/python/dist/src/Doc/lib
In directory usw-pr-cvs1:/tmp/cvs-serv21334/lib
Modified Files:
libcmath.tex
Log Message:
Contributed updates from Harald Hanche-Olsen, giving details of the branch
cuts for the complex math functions. Includes a brief description of
what branch cuts are.
Index: libcmath.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libcmath.tex,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** libcmath.tex 1999/06/29 15:53:52 1.12
--- libcmath.tex 2001/06/23 03:16:29 1.13
***************
*** 10,33 ****
--- 10,63 ----
\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}
***************
*** 46,53 ****
--- 76,86 ----
\begin{funcdesc}{log}{x}
Return the natural logarithm of \var{x}.
+ There is one branch cut, from 0 along the negative real axis to
+ -\infinity, continuous from above.
\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}
***************
*** 62,65 ****
--- 95,99 ----
\begin{funcdesc}{sqrt}{x}
Return the square root of \var{x}.
+ This has the same branch cut as \function{log()}.
\end{funcdesc}
***************
*** 90,91 ****
--- 124,140 ----
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 nothings'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}