numpy.ma.allclose — NumPy v1.15 Manual (original) (raw)

numpy.ma. allclose(a, b, masked_equal=True, rtol=1e-05, atol=1e-08)[source]

Returns True if two arrays are element-wise equal within a tolerance.

This function is equivalent to allclose except that masked values are treated as equal (default) or unequal, depending on the masked_equalargument.

Parameters: a, b : array_like Input arrays to compare. masked_equal : bool, optional Whether masked values in a and b are considered equal (True) or not (False). They are considered equal by default. rtol : float, optional Relative tolerance. The relative difference is equal to rtol * b. Default is 1e-5. atol : float, optional Absolute tolerance. The absolute difference is equal to atol. Default is 1e-8.
Returns: y : bool Returns True if the two arrays are equal within the given tolerance, False otherwise. If either array contains NaN, then False is returned.

Notes

If the following equation is element-wise True, then allclose returns True:

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

Return True if all elements of a and b are equal subject to given tolerances.

Examples

a = ma.array([1e10, 1e-7, 42.0], mask=[0, 0, 1]) a masked_array(data = [10000000000.0 1e-07 --], mask = [False False True], fill_value = 1e+20) b = ma.array([1e10, 1e-8, -42.0], mask=[0, 0, 1]) ma.allclose(a, b) False

a = ma.array([1e10, 1e-8, 42.0], mask=[0, 0, 1]) b = ma.array([1.00001e10, 1e-9, -42.0], mask=[0, 0, 1]) ma.allclose(a, b) True ma.allclose(a, b, masked_equal=False) False

Masked values are not compared directly.

a = ma.array([1e10, 1e-8, 42.0], mask=[0, 0, 1]) b = ma.array([1.00001e10, 1e-9, 42.0], mask=[0, 0, 1]) ma.allclose(a, b) True ma.allclose(a, b, masked_equal=False) False