| 
									
										
										
										
											1998-08-10 19:42:37 +00:00
										 |  |  | \section{\module{math} --- | 
					
						
							| 
									
										
										
										
											1999-04-21 16:29:57 +00:00
										 |  |  |          Mathematical functions} | 
					
						
							| 
									
										
										
										
											1998-07-23 17:59:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-04-21 16:29:57 +00:00
										 |  |  | \declaremodule{builtin}{math} | 
					
						
							| 
									
										
										
										
											1998-07-23 17:59:49 +00:00
										 |  |  | \modulesynopsis{Mathematical functions (\function{sin()} etc.).} | 
					
						
							| 
									
										
										
										
											1994-01-02 01:22:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1999-04-21 16:29:57 +00:00
										 |  |  | This module is always available.  It provides access to the | 
					
						
							| 
									
										
										
										
											2000-04-03 20:13:55 +00:00
										 |  |  | 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 provided by this module: | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1994-01-02 01:22:07 +00:00
										 |  |  | \begin{funcdesc}{acos}{x} | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | Return the arc cosine of \var{x}. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{asin}{x} | 
					
						
							|  |  |  | Return the arc sine of \var{x}. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{atan}{x} | 
					
						
							|  |  |  | Return the arc tangent of \var{x}. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-12-08 16:10:44 +00:00
										 |  |  | \begin{funcdesc}{atan2}{y, x} | 
					
						
							|  |  |  | Return \code{atan(\var{y} / \var{x})}. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{ceil}{x} | 
					
						
							| 
									
										
										
										
											1998-01-22 17:37:50 +00:00
										 |  |  | Return the ceiling of \var{x} as a real. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \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} | 
					
						
							| 
									
										
										
										
											1997-11-25 01:00:40 +00:00
										 |  |  | Return \code{e**\var{x}}. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{fabs}{x} | 
					
						
							|  |  |  | Return the absolute value of the real \var{x}. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{floor}{x} | 
					
						
							| 
									
										
										
										
											1998-01-22 17:37:50 +00:00
										 |  |  | Return the floor of \var{x} as a real. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{fmod}{x, y} | 
					
						
							| 
									
										
										
										
											1998-01-09 21:26:51 +00:00
										 |  |  | Return \code{\var{x} \%\ \var{y}}. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{frexp}{x} | 
					
						
							|  |  |  | Return the matissa and exponent for \var{x}.  The mantissa is | 
					
						
							|  |  |  | positive. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{hypot}{x, y} | 
					
						
							| 
									
										
										
										
											1998-01-09 21:26:51 +00:00
										 |  |  | Return the Euclidean distance, \code{sqrt(\var{x}*\var{x} + \var{y}*\var{y})}. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{ldexp}{x, i} | 
					
						
							| 
									
										
										
										
											1997-11-25 01:00:40 +00:00
										 |  |  | Return \code{\var{x} * (2**\var{i})}. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-01-22 17:37:50 +00:00
										 |  |  | \begin{funcdesc}{log}{x} | 
					
						
							|  |  |  | Return the natural logarithm of \var{x}. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{log10}{x} | 
					
						
							|  |  |  | Return the base-10 logarithm of \var{x}. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \begin{funcdesc}{modf}{x} | 
					
						
							|  |  |  | Return the fractional and integer parts of \var{x}.  Both results | 
					
						
							| 
									
										
										
										
											1998-01-22 17:37:50 +00:00
										 |  |  | carry the sign of \var{x}.  The integer part is returned as a real. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{pow}{x, y} | 
					
						
							| 
									
										
										
										
											1997-11-25 01:00:40 +00:00
										 |  |  | Return \code{\var{x}**\var{y}}. | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-05-11 18:19:42 +00:00
										 |  |  | \begin{funcdesc}{rint}{x, y} | 
					
						
							|  |  |  | Return the integer nearest to \var{x} as a real. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | \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}. | 
					
						
							|  |  |  | \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} | 
					
						
							| 
									
										
										
										
											1994-01-02 01:22:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-01-22 17:37:50 +00:00
										 |  |  | Note that \function{frexp()} and \function{modf()} have a different | 
					
						
							| 
									
										
										
										
											1999-04-21 16:29:57 +00:00
										 |  |  | call/return pattern than their C equivalents: they take a single | 
					
						
							| 
									
										
										
										
											1998-01-22 17:37:50 +00:00
										 |  |  | 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). | 
					
						
							| 
									
										
										
										
											1994-01-02 01:22:07 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | The module also defines two mathematical constants: | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1994-01-02 01:22:07 +00:00
										 |  |  | \begin{datadesc}{pi} | 
					
						
							| 
									
										
										
										
											1997-09-30 21:59:27 +00:00
										 |  |  | The mathematical constant \emph{pi}. | 
					
						
							|  |  |  | \end{datadesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{datadesc}{e} | 
					
						
							|  |  |  | The mathematical constant \emph{e}. | 
					
						
							| 
									
										
										
										
											1994-01-02 01:22:07 +00:00
										 |  |  | \end{datadesc} | 
					
						
							| 
									
										
										
										
											1997-07-17 16:34:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-10-13 22:06:17 +00:00
										 |  |  | \begin{seealso} | 
					
						
							|  |  |  |   \seemodule{cmath}{Complex number versions of many of these functions.} | 
					
						
							|  |  |  | \end{seealso} |