Beispiel #1
0
    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))
Beispiel #2
0
    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))