numpy.isclose
-
numpy.isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)
[source] -
Returns a boolean array where two arrays are element-wise equal within a tolerance.
The tolerance values are positive, typically very small numbers. The relative difference (
rtol
* abs(b
)) and the absolute differenceatol
are added together to compare against the absolute difference betweena
andb
.Parameters: a, b : array_like
Input arrays to compare.
rtol : float
The relative tolerance parameter (see Notes).
atol : float
The absolute tolerance parameter (see Notes).
equal_nan : bool
Whether to compare NaN’s as equal. If True, NaN’s in
a
will be considered equal to NaN’s inb
in the output array.Returns: y : array_like
Returns a boolean array of where
a
andb
are equal within the given tolerance. If botha
andb
are scalars, returns a single boolean value.See also
Notes
New in version 1.7.0.
For finite values, isclose uses the following equation to test whether two floating point values are equivalent.
absolute(a
-b
) <= (atol
+rtol
* absolute(b
))The above equation is not symmetric in
a
andb
, so thatisclose(a, b)
might be different fromisclose(b, a)
in some rare cases.Examples
>>> np.isclose([1e10,1e-7], [1.00001e10,1e-8]) array([True, False]) >>> np.isclose([1e10,1e-8], [1.00001e10,1e-9]) array([True, True]) >>> np.isclose([1e10,1e-8], [1.0001e10,1e-9]) array([False, True]) >>> np.isclose([1.0, np.nan], [1.0, np.nan]) array([True, False]) >>> np.isclose([1.0, np.nan], [1.0, np.nan], equal_nan=True) array([True, True])
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.isclose.html