pymor.tools.floatcmp
¶
Module Contents¶
- pymor.tools.floatcmp.almost_less(x, y, rtol=1e-14, atol=1e-14)[source]¶
Component-wise check if x <= y up to a given tolerance.
For scalars the check is given by
almost_less(x, y) <=> (x - y <= atol + |y| * rtol)
- Parameters:
x –
NumPy arrays
to be compared. Have to be broadcastable to the same shape.y –
NumPy arrays
to be compared. Have to be broadcastable to the same shape.rtol – The relative tolerance.
atol – The absolute tolerance.
- pymor.tools.floatcmp.bounded(lower, upper, x, rtol=None, atol=None)[source]¶
Check if x is strictly in bounds (lower, upper) or float_compares equal to lower or upper.
- Parameters:
lower – Lower bound
upper – Upper bound
x – value to check
rtol – relative tolerance for float_cmp
atol – absolute tolerance for float_cmp
- pymor.tools.floatcmp.float_cmp(x, y, rtol=1e-14, atol=1e-14)[source]¶
Compare x and y component-wise for almost equality.
For scalars we define almost equality as
float_cmp(x,y) <=> |x - y| <= atol + |y|*rtol
Note
Numpy’s
allclose
method uses the same definition but treats arrays containing infinities as close if the infinities are at the same places and all other entries are close. In our definition, arrays containing infinities can never be close which seems more appropriate in most cases.- Parameters:
x –
NumPy arrays
to be compared. Have to be broadcastable to the same shape.y –
NumPy arrays
to be compared. Have to be broadcastable to the same shape.rtol – The relative tolerance.
atol – The absolute tolerance.