numpy.real_if_close — NumPy v1.11 Manual (original) (raw)

numpy.real_if_close(a, tol=100)[source]

If complex input returns a real array if complex parts are close to zero.

“Close to zero” is defined as tol * (machine epsilon of the type for_a_).

Parameters: a : array_like Input array. tol : float Tolerance in machine epsilons for the complex part of the elements in the array.
Returns: out : ndarray If a is real, the type of a is used for the output. If _a_has complex elements, the returned type is float.

Notes

Machine epsilon varies from machine to machine and between data types but Python floats on most platforms have a machine epsilon equal to 2.2204460492503131e-16. You can use ‘np.finfo(np.float).eps’ to print out the machine epsilon for floats.

Examples

np.finfo(np.float).eps 2.2204460492503131e-16

np.real_if_close([2.1 + 4e-14j], tol=1000) array([ 2.1]) np.real_if_close([2.1 + 4e-13j], tol=1000) array([ 2.1 +4.00000000e-13j])