Package ComboCode :: Package cc :: Package ivs :: Package units :: Package uncertainties :: Module umath
[hide private]
[frames] | no frames]

Module umath

source code


Mathematical operations that generalize many operations from the
standard math module so that they also work on numbers with
uncertainties.

Examples:

  from umath import sin
  
  # Manipulation of numbers with uncertainties:
  x = uncertainties.ufloat((3, 0.1))
  print sin(x)  # prints 0.141120008...+/-0.098999...

  # The umath functions also work on regular Python floats:
  print sin(3)  # prints 0.141120008...  This is a Python float.

Importing all the functions from this module into the global namespace
is possible.  This is encouraged when using a Python shell as a
calculator.  Example:

  import uncertainties
  from uncertainties.umath import *  # Imports tan(), etc.
  
  x = uncertainties.ufloat((3, 0.1))
  print tan(x)  # tan() is the uncertainties.umath.tan function

The numbers with uncertainties handled by this module are objects from
the uncertainties module, from either the Variable or the
AffineScalarFunc class.

(c) 2009-2010 by Eric O. LEBIGOT (EOL) <eric.lebigot@normalesup.org>.
Please send feature requests, bug reports, or feedback to this address.

This software is released under a dual license.  (1) The BSD license.
(2) Any other license, as long as it is obtained from the original
author.


Author: Eric O. LEBIGOT (EOL)

Functions [hide private]
 
log_der0(*args)
Derivative of math.log() with respect to its first argument.
source code
Integral
factorial(x)
Find x!.
 
wrapped_fsum()
Returns an uncertainty-aware version of math.fsum, which must be contained in _original_func.
source code
 
fsum(iterable)
Return an accurate floating point sum of values in the iterable.
source code
 
modf(x)
Return the fractional and integer parts of x.
source code
 
ldexp(x, i)
Return x * (2**i).
source code
 
frexp(x)
Return the mantissa and exponent of x, as pair (m, e).
source code
 
acos(x)
Return the arc cosine (measured in radians) of x.
 
acosh(x)
Return the hyperbolic arc cosine (measured in radians) of x.
 
asin(x)
Return the arc sine (measured in radians) of x.
 
asinh(x)
Return the hyperbolic arc sine (measured in radians) of x.
 
atan(x)
Return the arc tangent (measured in radians) of x.
 
atan2(y, x)
Return the arc tangent (measured in radians) of y/x.
 
atanh(x)
Return the hyperbolic arc tangent (measured in radians) of x.
 
ceil(x)
Return the ceiling of x as a float.
 
copysign(x, y)
Return x with the sign of y.
 
cos(x)
Return the cosine of x (measured in radians).
 
cosh(x)
Return the hyperbolic cosine of x.
 
degrees(x)
Convert angle x from radians to degrees.
 
erf(x)
Error function at x.
 
erfc(x)
Complementary error function at x.
 
exp(x)
Return e raised to the power of x.
 
expm1(x)
Return exp(x)-1.
 
fabs(x)
Return the absolute value of the float x.
 
floor(x)
Return the floor of x as a float.
 
fmod(x, y)
Return fmod(x, y), according to platform C.
 
gamma(x)
Gamma function at x.
 
hypot(x, y)
Return the Euclidean distance, sqrt(x*x + y*y).
bool
isinf(x)
Check if float x is infinite (positive or negative).
bool
isnan(x)
Check if float x is not a number (NaN).
 
lgamma(x)
Natural logarithm of absolute value of Gamma function at x.
 
log(x, base=...)
Return the logarithm of x to the given base.
 
log10(x)
Return the base 10 logarithm of x.
 
log1p(x)
Return the natural logarithm of 1+x (base e).
 
pow(x, y)
Return x**y (x to the power of y).
 
radians(x)
Convert angle x from degrees to radians.
 
sin(x)
Return the sine of x (measured in radians).
 
sinh(x)
Return the hyperbolic sine of x.
 
sqrt(x)
Return the square root of x.
 
tan(x)
Return the tangent of x (measured in radians).
 
tanh(x)
Return the hyperbolic tangent of x.
 
trunc(*args)
trunc(x:Real) -> Integral
Variables [hide private]
  many_scalar_to_scalar_funcs = ['acos', 'acosh', 'asin', 'asinh...
  no_std_wrapping = ['modf', 'frexp', 'ldexp', 'fsum', 'factorial']
  non_std_wrapped_funcs = ['factorial', 'fsum', 'frexp']
  wraps = functools.partial(functools.update_wrapper, assigned= ...
  fixed_derivatives = {'acos': [lambda x:-1/ math.sqrt(1-x** 2)]...
  __package__ = 'ComboCode.cc.ivs.units.uncertainties'
  derivatives = None
hash(x)
  name = 'trunc'
Function Details [hide private]

log_der0(*args)

source code 

Derivative of math.log() with respect to its first argument.

Works whether 1 or 2 arguments are given.

factorial(x)

 

Find x!. Raise a ValueError if x is negative or non-integral.

Returns: Integral

fsum(iterable)

source code 

Return an accurate floating point sum of values in the iterable. Assumes IEEE-754 floating point arithmetic.

modf(x)

source code 

Return the fractional and integer parts of x. Both results carry the sign of x and are floats.

Decorators:
  • @uncertainties.set_doc(math.modf.__doc__)

ldexp(x, i)

source code 

Return x * (2**i).

Decorators:
  • @uncertainties.set_doc(math.ldexp.__doc__)

frexp(x)

source code 

Return the mantissa and exponent of x, as pair (m, e). m is a float and e is an int, such that x = m * 2.**e. If x is 0, m and e are both 0. Else 0.5 <= abs(m) < 1.0.

Decorators:
  • @uncertainties.set_doc(math.frexp.__doc__)

atan2(y, x)

 

Return the arc tangent (measured in radians) of y/x. Unlike atan(y/x), the signs of both x and y are considered.

ceil(x)

 

Return the ceiling of x as a float. This is the smallest integral value >= x.

expm1(x)

 

Return exp(x)-1. This function avoids the loss of precision involved in the direct evaluation of exp(x)-1 for small x.

floor(x)

 

Return the floor of x as a float. This is the largest integral value <= x.

fmod(x, y)

 

Return fmod(x, y), according to platform C. x % y may differ.

log(x, base=...)

 

Return the logarithm of x to the given base. If the base not specified, returns the natural logarithm (base e) of x.

log1p(x)

 

Return the natural logarithm of 1+x (base e). The result is computed in a way which is accurate for x near zero.

trunc(*args)

 

trunc(x:Real) -> Integral

Truncates x to the nearest Integral toward 0. Uses the __trunc__ magic method.


Variables Details [hide private]

many_scalar_to_scalar_funcs

Value:
['acos',
 'acosh',
 'asin',
 'asinh',
 'atan',
 'atan2',
 'atanh',
 'ceil',
...

wraps

Value:
functools.partial(functools.update_wrapper, assigned= ('__doc__', '__n\
ame__'))

fixed_derivatives

Value:
{'acos': [lambda x:-1/ math.sqrt(1-x** 2)], 'acosh': [lambda x: 1/ mat\
h.sqrt(x** 2-1)], 'asin': [lambda x: 1/ math.sqrt(1-x** 2)], 'asinh': \
[lambda x: 1/ math.sqrt(1+ x** 2)], 'atan': [lambda x: 1/(1+ x** 2)], \
'atan2': [lambda y, x: x/(x** 2+ y** 2), lambda y, x:-y/(x** 2+ y** 2)\
], 'atanh': [lambda x: 1/(1-x** 2)], 'ceil': [lambda x: 0], 'copysign'\
: [lambda x, y:(1 if x >= 0 else-1)* math.copysign(1, y), lambda x, y:\
 0], 'cos': [lambda x:-math.sin(x)], 'cosh': [math.sinh], 'degrees': [\
lambda x: math.degrees(1)], 'exp': [math.exp], 'fabs': [lambda x: 1 if\
...