def test_fitter_against_MPFit(self, fitter_class): """Tests results from non-linear fitters against `LevMarLSQFitter`.""" mpfit = MPFitter() fitter = fitter_class() with ignore_non_integer_warning(): new_model = fitter(self.gauss, self.xdata, self.ydata) model = mpfit(self.gauss, self.xdata, self.ydata) assert_allclose(model.parameters, new_model.parameters, rtol=10 ** (-4))
def test_LSQ_SLSQP_with_constraints(self): """ Runs `LevMarLSQFitter` and `SLSQPLSQFitter` on a model with constraints. """ g1 = models.Gaussian1D(100, 5, stddev=1) g1.mean.fixed = True mpfit = MPFitter() fitter = LevMarLSQFitter() fslsqp = SLSQPLSQFitter() with ignore_non_integer_warning(): slsqp_model = fslsqp(g1, self.xdata, self.ydata) model = fitter(g1, self.xdata, self.ydata) mpmodel = mpfit(g1, self.xdata, self.ydata) assert_allclose(mpmodel.parameters, slsqp_model.parameters, rtol=10 ** (-4)) assert_allclose(mpmodel.parameters, model.parameters, rtol=10 ** (-4))