phystricks
Functions | Variables
phystricks.src.Numerical Namespace Reference

Functions

def are_almost_equal (a, b, epsilon=0.0001)
 
def numerical_min (x, y, epsilon=None)
 return the minimum of x and y More...
 
def numerical_max (x, y, epsilon=None)
 
def is_almost_zero (x, epsilon=0.0001)
 
def numerical_is_negative (x)
 

Variables

 nx = numerical_approx(x)
 Same as numerical_min with ad-hoc changes. More...
 
 ny = numerical_approx(y)
 

Function Documentation

def phystricks.src.Numerical.are_almost_equal (   a,
  b,
  epsilon = 0.0001 
)
def phystricks.src.Numerical.is_almost_zero (   x,
  epsilon = 0.0001 
)
Try to say if Abs(x)<epsilon.

It is not always possible because
- x could be an expression on which Sage cannot compute abs
- the precision on x could be lower than epsilon, so that Sage will complain. In this case we check is x is the smaller possible in its precision and `epsilon` is not used.

    sage: from phystricks.SmallComputations import numerical_isZero
    sage: numerical_isZero(-pi)
    False
def phystricks.src.Numerical.numerical_is_negative (   x)
try to say if `x` is a numerical approximation strictly negative.

I got difficulties on the following :
sage:radian =arctan(1/sin(1.2000000000000002*pi))
sage: if radian< 0:
    print("ok")
    ....:   
results in an OverflowError: Python int too large to convert to C long.
def phystricks.src.Numerical.numerical_max (   x,
  y,
  epsilon = None 
)
def phystricks.src.Numerical.numerical_min (   x,
  y,
  epsilon = None 
)

return the minimum of x and y

Compute numerical approximations of x and y and return the min

If epsilon is given, raise an exception if the difference is smaller than epsilon.

The reason is that Sage cannot always determine the min or the max of expressions like 1000 of type int and cos(0.0823552493237255*pi) of type sage.symbolic.expression.Expression

Variable Documentation

phystricks.src.Numerical.nx = numerical_approx(x)

Same as numerical_min with ad-hoc changes.

phystricks.src.Numerical.ny = numerical_approx(y)