numpy 1.22.4 Pypi GitHub Homepage
Other Docs
NotesParametersReturnsBackRef
isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)

The tolerance values are positive, typically very small numbers. The relative difference (:None:None:`rtol` * abs(b)) and the absolute difference :None:None:`atol` are added together to compare against the absolute difference between a and b.

warning

that are much smaller than one (see Notes).

Notes

versionadded

For finite values, isclose uses the following equation to test whether two floating point values are equivalent.

absolute(a - b) <= (:None:None:`atol` + :None:None:`rtol` * absolute(b))

Unlike the built-in math.isclose , the above equation is not symmetric in a and b -- it assumes b is the reference value -- so that :None:None:`isclose(a, b)` might be different from :None:None:`isclose(b, a)`. Furthermore, the default value of atol is not zero, and is used to determine what small values should be considered close to zero. The default value is appropriate for expected values of order unity: if the expected values are significantly smaller than one, it can result in false positives. :None:None:`atol` should be carefully selected for the use case at hand. A zero value for :None:None:`atol` will result in :None:None:`False` if either a or b is zero.

isclose is not defined for non-numeric data types. :None:None:`bool` is considered a numeric data-type for this purpose.

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 in b in the output array.

Returns

y : array_like

Returns a boolean array of where a and b are equal within the given tolerance. If both a and b are scalars, returns a single boolean value.

Returns a boolean array where two arrays are element-wise equal within a tolerance.

See Also

allclose
math.isclose

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])
>>> np.isclose([1e-8, 1e-7], [0.0, 0.0])
array([ True, False])
>>> np.isclose([1e-100, 1e-7], [0.0, 0.0], atol=0.0)
array([False, False])
>>> np.isclose([1e-10, 1e-10], [1e-20, 0.0])
array([ True,  True])
>>> np.isclose([1e-10, 1e-10], [1e-20, 0.999999e-10], atol=0.0)
array([False,  True])
See :

Back References

The following pages refer to to this document either explicitly or contain code examples using this.

numpy.allclose dask.array.routines.isclose numpy.ma.core.masked_values dask.array.routines.histogramdd scipy.optimize._minpack_py.fsolve numpy.isclose

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


GitHub : /numpy/core/numeric.py#2259
type: <class 'function'>
Commit: