numpy.allclose
-
numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)
[source] -
Returns True if 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
.NaNs are treated as equal if they are in the same place and if
equal_nan=True
. Infs are treated as equal if they are in the same place and of the same sign in both arrays.- Parameters
-
-
a, barray_like
-
Input arrays to compare.
-
rtolfloat
-
The relative tolerance parameter (see Notes).
-
atolfloat
-
The absolute tolerance parameter (see Notes).
-
equal_nanbool
-
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.New in version 1.10.0.
-
- Returns
-
-
allclosebool
-
Returns True if the two arrays are equal within the given tolerance; False otherwise.
-
Notes
If the following equation is element-wise True, then allclose returns True.
absolute(
a
-b
) <= (atol
+rtol
* absolute(b
))The above equation is not symmetric in
a
andb
, so thatallclose(a, b)
might be different fromallclose(b, a)
in some rare cases.The comparison of
a
andb
uses standard broadcasting, which means thata
andb
need not have the same shape in order forallclose(a, b)
to evaluate to True. The same is true forequal
but notarray_equal
.Examples
>>> np.allclose([1e10,1e-7], [1.00001e10,1e-8]) False >>> np.allclose([1e10,1e-8], [1.00001e10,1e-9]) True >>> np.allclose([1e10,1e-8], [1.0001e10,1e-9]) False >>> np.allclose([1.0, np.nan], [1.0, np.nan]) False >>> np.allclose([1.0, np.nan], [1.0, np.nan], equal_nan=True) True
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.allclose.html