diff options
Diffstat (limited to 'Doc/lib/libmath.tex')
-rw-r--r-- | Doc/lib/libmath.tex | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/Doc/lib/libmath.tex b/Doc/lib/libmath.tex deleted file mode 100644 index e52f8f9..0000000 --- a/Doc/lib/libmath.tex +++ /dev/null @@ -1,209 +0,0 @@ -\section{\module{math} --- - Mathematical functions} - -\declaremodule{builtin}{math} -\modulesynopsis{Mathematical functions (\function{sin()} etc.).} - -This module is always available. It provides access to the -mathematical functions defined by the C standard. - -These functions cannot be used with complex numbers; use the functions -of the same name from the \refmodule{cmath} module if you require -support for complex numbers. The distinction between functions which -support complex numbers and those which don't is made since most users -do not want to learn quite as much mathematics as required to -understand complex numbers. Receiving an exception instead of a -complex result allows earlier detection of the unexpected complex -number used as a parameter, so that the programmer can determine how -and why it was generated in the first place. - -The following functions are provided by this module. Except -when explicitly noted otherwise, all return values are floats. - -Number-theoretic and representation functions: - -\begin{funcdesc}{ceil}{x} -Return the ceiling of \var{x} as a float, the smallest integer value -greater than or equal to \var{x}. -\end{funcdesc} - -\begin{funcdesc}{fabs}{x} -Return the absolute value of \var{x}. -\end{funcdesc} - -\begin{funcdesc}{floor}{x} -Return the floor of \var{x} as a float, the largest integer value -less than or equal to \var{x}. -\end{funcdesc} - -\begin{funcdesc}{fmod}{x, y} -Return \code{fmod(\var{x}, \var{y})}, as defined by the platform C library. -Note that the Python expression \code{\var{x} \%\ \var{y}} may not return -the same result. The intent of the C standard is that -\code{fmod(\var{x}, \var{y})} be exactly (mathematically; to infinite -precision) equal to \code{\var{x} - \var{n}*\var{y}} for some integer -\var{n} such that the result has the same sign as \var{x} and -magnitude less than \code{abs(\var{y})}. Python's -\code{\var{x} \%\ \var{y}} returns a result with the sign of -\var{y} instead, and may not be exactly computable for float arguments. -For example, \code{fmod(-1e-100, 1e100)} is \code{-1e-100}, but the -result of Python's \code{-1e-100 \%\ 1e100} is \code{1e100-1e-100}, which -cannot be represented exactly as a float, and rounds to the surprising -\code{1e100}. For this reason, function \function{fmod()} is generally -preferred when working with floats, while Python's -\code{\var{x} \%\ \var{y}} is preferred when working with integers. -\end{funcdesc} - -\begin{funcdesc}{frexp}{x} -Return the mantissa and exponent of \var{x} as the pair -\code{(\var{m}, \var{e})}. \var{m} is a float and \var{e} is an -integer such that \code{\var{x} == \var{m} * 2**\var{e}} exactly. -If \var{x} is zero, returns \code{(0.0, 0)}, otherwise -\code{0.5 <= abs(\var{m}) < 1}. This is used to "pick apart" the -internal representation of a float in a portable way. -\end{funcdesc} - -\begin{funcdesc}{ldexp}{x, i} -Return \code{\var{x} * (2**\var{i})}. This is essentially the inverse of -function \function{frexp()}. -\end{funcdesc} - -\begin{funcdesc}{modf}{x} -Return the fractional and integer parts of \var{x}. Both results -carry the sign of \var{x}, and both are floats. -\end{funcdesc} - -Note that \function{frexp()} and \function{modf()} have a different -call/return pattern than their C equivalents: they take a single -argument and return a pair of values, rather than returning their -second return value through an `output parameter' (there is no such -thing in Python). - -For the \function{ceil()}, \function{floor()}, and \function{modf()} -functions, note that \emph{all} floating-point numbers of sufficiently -large magnitude are exact integers. Python floats typically carry no more -than 53 bits of precision (the same as the platform C double type), in -which case any float \var{x} with \code{abs(\var{x}) >= 2**52} -necessarily has no fractional bits. - - -Power and logarithmic functions: - -\begin{funcdesc}{exp}{x} -Return \code{e**\var{x}}. -\end{funcdesc} - -\begin{funcdesc}{log}{x\optional{, base}} -Return the logarithm of \var{x} to the given \var{base}. -If the \var{base} is not specified, return the natural logarithm of \var{x} -(that is, the logarithm to base \emph{e}). -\versionchanged[\var{base} argument added]{2.3} -\end{funcdesc} - -\begin{funcdesc}{log10}{x} -Return the base-10 logarithm of \var{x}. -\end{funcdesc} - -\begin{funcdesc}{pow}{x, y} -Return \code{\var{x}**\var{y}}. -\end{funcdesc} - -\begin{funcdesc}{sqrt}{x} -Return the square root of \var{x}. -\end{funcdesc} - -Trigonometric functions: - -\begin{funcdesc}{acos}{x} -Return the arc cosine of \var{x}, in radians. -\end{funcdesc} - -\begin{funcdesc}{asin}{x} -Return the arc sine of \var{x}, in radians. -\end{funcdesc} - -\begin{funcdesc}{atan}{x} -Return the arc tangent of \var{x}, in radians. -\end{funcdesc} - -\begin{funcdesc}{atan2}{y, x} -Return \code{atan(\var{y} / \var{x})}, in radians. -The result is between \code{-pi} and \code{pi}. -The vector in the plane from the origin to point \code{(\var{x}, \var{y})} -makes this angle with the positive X axis. -The point of \function{atan2()} is that the signs of both inputs are -known to it, so it can compute the correct quadrant for the angle. -For example, \code{atan(1}) and \code{atan2(1, 1)} are both \code{pi/4}, -but \code{atan2(-1, -1)} is \code{-3*pi/4}. -\end{funcdesc} - -\begin{funcdesc}{cos}{x} -Return the cosine of \var{x} radians. -\end{funcdesc} - -\begin{funcdesc}{hypot}{x, y} -Return the Euclidean norm, \code{sqrt(\var{x}*\var{x} + \var{y}*\var{y})}. -This is the length of the vector from the origin to point -\code{(\var{x}, \var{y})}. -\end{funcdesc} - -\begin{funcdesc}{sin}{x} -Return the sine of \var{x} radians. -\end{funcdesc} - -\begin{funcdesc}{tan}{x} -Return the tangent of \var{x} radians. -\end{funcdesc} - -Angular conversion: - -\begin{funcdesc}{degrees}{x} -Converts angle \var{x} from radians to degrees. -\end{funcdesc} - -\begin{funcdesc}{radians}{x} -Converts angle \var{x} from degrees to radians. -\end{funcdesc} - -Hyperbolic functions: - -\begin{funcdesc}{cosh}{x} -Return the hyperbolic cosine of \var{x}. -\end{funcdesc} - -\begin{funcdesc}{sinh}{x} -Return the hyperbolic sine 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}. -\end{datadesc} - -\begin{datadesc}{e} -The mathematical constant \emph{e}. -\end{datadesc} - -\begin{notice} - The \module{math} module consists mostly of thin wrappers around - the platform C math library functions. Behavior in exceptional cases is - loosely specified by the C standards, and Python inherits much of its - math-function error-reporting behavior from the platform C - implementation. As a result, - the specific exceptions raised in error cases (and even whether some - arguments are considered to be exceptional at all) are not defined in any - useful cross-platform or cross-release way. For example, whether - \code{math.log(0)} returns \code{-Inf} or raises \exception{ValueError} or - \exception{OverflowError} isn't defined, and in - cases where \code{math.log(0)} raises \exception{OverflowError}, - \code{math.log(0L)} may raise \exception{ValueError} instead. -\end{notice} - -\begin{seealso} - \seemodule{cmath}{Complex number versions of many of these functions.} -\end{seealso} |