def test_gradient(X, alpha, beta): with warnings.catch_warnings(): warnings.simplefilter("ignore") np_grad_alpha = grad(jastrow_np, 1)(X, alpha, beta) / jastrow_np( X, alpha, beta) np_grad_beta = grad(jastrow_np, 2)(X, alpha, beta) / jastrow_np( X, alpha, beta) psi_alpha_const = JastrowPade(alpha, beta) psi = JastrowPade(alpha, beta, False) actual = psi.gradient(X) assert 2 == len(actual) assert psi_alpha_const.gradient(X)[0] == 0 if math.isfinite(np_grad_beta): assert np.isclose(np_grad_alpha, actual[0]) assert np.isclose(np_grad_beta, actual[1])
def test_gradient(X, beta): with warnings.catch_warnings(): warnings.simplefilter("ignore") np_grad_beta = grad(jastrow_np, 2)(X, 0.5, beta) / jastrow_np(X, 0.5, beta) psi = JastrowPade(0.5, beta) actual = psi.gradient(X) assert 1 == len(actual) if math.isfinite(np_grad_beta): assert np.isclose(np_grad_beta, actual[0])