scipp.allclose

scipp.allclose

scipp.allclose(x, y, rtol=None, atol=None, equal_nan=False)

Verifies that ALL element-wise comparisons meet the condition:

abs(x - y) <= atol + rtol * abs(y)

If both x and y have variances, the variances are also compared between elements. In this case, both values and variances must be within the computed tolerance limits. That is:

abs(x.value - y.value) <= atol + rtol * abs(y.value) and abs(
    sqrt(x.variance) - sqrt(y.variance))                 <= atol + rtol * abs(sqrt(y.variance))
Parameters
  • x (Variable) – Left input.

  • y (Variable) – Right input.

  • rtol (Variable. May be a scalar or an array variable. Cannot have variances.) – Tolerance value relative (to y). Can be a scalar or non-scalar. Defaults to scalar 1e-5 if unset.

  • atol (Variable. May be a scalar or an array variable. Cannot have variances.) – Tolerance value absolute. Can be a scalar or non-scalar. Defaults to scalar 1e-8 if unset and takes units from y arg.

  • equal_nan (bool) – if true, non-finite values at the same index in (x, y) are treated as equal. Signbit must match for infs.

Returns

True if for all elements value <= atol + rtol * abs(y), otherwise False.

Seealso

scipp.isclose() : comparing element-wise with specified tolerances