numpy.allclose¶

numpy.
allclose
(a, b, rtol=1e05, atol=1e08, equal_nan=False)[source]¶ Returns True if two arrays are elementwise equal within a tolerance.
The tolerance values are positive, typically very small numbers. The relative difference (rtol * abs(b)) and the absolute difference atol are added together to compare against the absolute difference between a and b.
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 in b 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 elementwise True, then allclose returns True.
absolute(a  b) <= (atol + rtol * absolute(b))
The above equation is not symmetric in a and b, so that
allclose(a, b)
might be different fromallclose(b, a)
in some rare cases.The comparison of a and b uses standard broadcasting, which means that a and b need not have the same shape in order for
allclose(a, b)
to evaluate to True. The same is true forequal
but notarray_equal
.allclose
is not defined for nonnumeric data types.Examples
>>> np.allclose([1e10,1e7], [1.00001e10,1e8]) False >>> np.allclose([1e10,1e8], [1.00001e10,1e9]) True >>> np.allclose([1e10,1e8], [1.0001e10,1e9]) 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