def test_full_output_keyword(): """Tests the full_output keyword in extrapolate method.""" zlim = LinearFactory.extrapolate([1, 2], [1, 2]) assert np.isclose(zlim, 0.0) zlim, opt_params = LinearFactory.extrapolate( [1, 2], [1, 2], full_output=True ) assert len(opt_params) == 2 assert np.isclose(zlim, 0.0) assert np.isclose(0.0, opt_params[1]) assert np.isclose(1.0, opt_params[0])
def test_linear_extr(): """Tests extrapolation with a LinearFactory.""" seeded_f = apply_seed_to_func(f_lin, SEED) fac = LinearFactory(X_VALS) assert not fac._opt_params fac.run_classical(seeded_f) zne_value = fac.reduce() assert np.isclose(zne_value, seeded_f(0, err=0), atol=CLOSE_TOL) assert np.allclose(fac._opt_params, [B, A], atol=CLOSE_TOL) exp_vals = fac.get_expectation_values() assert np.isclose(fac.extrapolate(X_VALS, exp_vals), zne_value) assert np.isclose( fac.extrapolate(X_VALS, exp_vals, full_output=True)[0], zne_value, )
def test_full_output_keyword(): """Tests the full_output keyword in extrapolate method.""" zne_limit = LinearFactory.extrapolate([1, 2], [1, 2]) assert np.isclose(zne_limit, 0.0) ( zne_limit, zne_std, opt_params, params_cov, zne_curve, ) = LinearFactory.extrapolate([1, 2], [1, 2], full_output=True) assert len(opt_params) == 2 assert np.isclose(zne_limit, 0.0) assert np.isclose(0.0, opt_params[1]) assert np.isclose(1.0, opt_params[0]) assert zne_std is None assert params_cov is None assert np.isclose(zne_curve(0), 0.0) assert np.isclose(zne_curve(2), 2.0)