def test_FMin(): keys = "fval edm tolerance nfcn ncalls up is_valid has_valid_parameters has_accurate_covar has_posdef_covar has_made_posdef_covar hesse_failed has_covariance is_above_max_edm has_reached_call_limit".split( ) values = ( 0.2, 1e-3, 0.1, 10, 10, 1.2, False, False, False, False, False, False, False, False, False, ) f = FMin(*values) assert f.keys() == tuple(keys) assert f.values() == values assert f.fval == 0.2 assert f["fval"] == 0.2
def fmin_bad(): fm = Namespace( fval=nan, edm=1.23456e-10, up=0.5, is_valid=False, has_valid_parameters=False, has_accurate_covar=False, has_posdef_covar=False, has_made_posdef_covar=True, hesse_failed=True, has_covariance=False, is_above_max_edm=True, has_reached_call_limit=True, has_parameters_at_limit=True, errordef=1, state=[ Namespace( has_limits=True, is_fixed=False, value=0, error=0.5, lower_limit=0, upper_limit=1, has_lower_limit=True, has_upper_limit=True, ) ], ) return FMin(fm, 100000, 200000, 1, 1e-5)
def test_MigradResult(): fmin = FMin(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) params = Params([], None) mr = MigradResult(fmin, params) assert mr.fmin is fmin assert mr[0] is fmin assert mr.params is params assert mr[1] is params a, b = mr assert a is fmin assert b is params
def fmin_good(): fm = Namespace( fval=1.23456e-10, edm=1.23456e-10, up=0.5, is_valid=True, has_valid_parameters=True, has_accurate_covar=True, has_posdef_covar=True, has_made_posdef_covar=False, hesse_failed=False, has_covariance=True, is_above_max_edm=False, has_reached_call_limit=False, has_parameters_at_limit=False, state=[], ) return FMin(fm, 10, 3, 1e-4)
def fmin_good(): return FMin( fval=1.23456e-10, edm=1.23456e-10, tolerance=0.1, nfcn=10, ncalls=20, up=0.5, is_valid=True, has_valid_parameters=True, has_accurate_covar=True, has_posdef_covar=True, has_made_posdef_covar=False, hesse_failed=False, has_covariance=True, is_above_max_edm=False, has_reached_call_limit=False, has_parameters_at_limit=False, )