Example #1
0
 def functesthelper(self, f):
     m = Minuit(f, printlevel=-1)
     m.migrad()
     val = m.values
     self.assertAlmostEqual(val['x'], 2.)
     self.assertAlmostEqual(val['y'], 5.)
     self.assertAlmostEqual(m.fmin(), 10.)
Example #2
0
class TestErrorMatrix(unittest.TestCase):
    def setUp(self):
        self.m = Minuit(func3, printlevel=-1)
        self.m.migrad()

    def test_error_matrix(self):
        m = self.m.error_matrix()
        expected = np.array([[5., 0.], [0., 1.]])
        assert_array_almost_equal(m, expected)

    def test_error_matrix_correlation(self):
        m = self.m.error_matrix(correlation=True)
        expected = np.array([[1., 0.], [0., 1.]])
        assert_array_almost_equal(m, expected)
Example #3
0
    def test_fitarg(self):
        m = Minuit(func4, printlevel=-1, y=10., fix_y=True, limit_x=(0, 20.))
        fitarg = m.fitarg
        self.assertAlmostEqual(fitarg['y'], 10.)
        self.assertTrue(fitarg['fix_y'])
        self.assertEqual(fitarg['limit_x'], (0, 20))
        m.migrad()

        fitarg = m.fitarg

        self.assertAlmostEqual(fitarg['y'], 10.)
        self.assertAlmostEqual(fitarg['x'], 2., delta=1)
        self.assertAlmostEqual(fitarg['z'], 7., delta=1)

        self.assertIn('error_y', fitarg)
        self.assertIn('error_x', fitarg)
        self.assertIn('error_z', fitarg)

        self.assertTrue(fitarg['fix_y'])
        self.assertEqual(fitarg['limit_x'], (0, 20))
Example #4
0
    def test_fix_param(self):
        m = Minuit(func4, printlevel=-1)
        m.migrad()
        m.minos()
        val = m.values
        self.assertAlmostEqual(val['x'], 2.)
        self.assertAlmostEqual(val['y'], 5.)
        self.assertAlmostEqual(val['z'], 7.)
        err = m.errors  #second derivative
        # self.assertAlmostEqual(err['x'],5.)
        # self.assertAlmostEqual(err['y'],10.)
        # self.assertAlmostEqual(err['z'],4.)

        #now fix z = 10
        m = Minuit(func4, printlevel=-1, y=10., fix_y=True)
        m.migrad()
        val = m.values
        self.assertAlmostEqual(val['x'], 2.)
        self.assertAlmostEqual(val['y'], 10.)
        self.assertAlmostEqual(val['z'], 7.)
        self.assertAlmostEqual(m.fmin(), 10. + 2.5)

        self.assertIn('x', m.free_param)
        self.assertNotIn('x', m.fix_param)
        self.assertIn('y', m.fix_param)
        self.assertNotIn('y', m.free_param)
        self.assertNotIn('z', m.fix_param)
Example #5
0
 def setUp(self):
     self.m = Minuit(func3, printlevel=-1)
     self.m.migrad()