У меня есть код, который выполняет проверку градиента. Недавно я изменил
функция сравнения от math.isclose
до numpy.isclose
, чтобы более последовательно использовать numpy, и, к моему удивлению, некоторые из моих утверждений начали сбой.
Я привел пример к следующему коду
import math
import numpy
a = 0.27415101
b = 0.27415383
rel_tol = 1e-5
abs_tol = 1e-6
print(math.isclose(a, b, rel_tol=rel_tol, abs_tol=abs_tol))
print(numpy.isclose(a, b, rtol=rel_tol, atol=abs_tol))
Выход
False
True
По-видимому math.isclose
и numpy.isclose
действительно разные.
Какой я должен использовать и почему?
Python: 3.6.3, Numpy: 1.13.3.