예제 #1
0
 def testConstantRegion(self):
     """A constant region does not have any local extrema and NaN values should be returned."""
     y = numpy.array([2,2,2],'f')
     result =  EF.estimateExtremumPosition(y,self.x)
     self.assertEqual(result,(numpy.NaN,numpy.NaN,numpy.NaN))
     result =  EF.estimateExtremumPosition(y,self.x,sigmaY=self.zeros)
     self.assertEqual(result,(numpy.NaN,numpy.NaN,numpy.NaN))
예제 #2
0
 def testExactGeneric(self):
     result =  EF.estimateExtremumPosition(self.y,self.x)
     self.assertEqual(result,(2.5+1/1.5,numpy.NaN,1.0))
     result =  EF.estimateExtremumPosition(self.y,self.x,sigmaY=self.zeros)
     self.assertEqual(result,(2.5+1/1.5,0.0,1.0))
     result =  EF.estimateExtremumPosition(self.y,self.x,sigmaY=self.error)
     numpy.testing.assert_almost_equal(numpy.array(result),
                                       numpy.array((2.5+1/1.5,0.02/1.5**2,1.0)))
예제 #3
0
 def testSymmetricMaximum(self):
     y = numpy.array([2,2,1],'f')
     result =  EF.estimateExtremumPosition(y,self.x)
     self.assertEqual(result,(2.5,numpy.NaN,-1.0))
     result =  EF.estimateExtremumPosition(y,self.x,sigmaY=self.zeros)
     self.assertEqual(result,(2.5,0.0,-1.0))
     result =  EF.estimateExtremumPosition(y,self.x,sigmaY=self.error)
     numpy.testing.assert_almost_equal(numpy.array(result),
                                       numpy.array((2.5,0.02,-1.0)))
예제 #4
0
 def testExactMaximum(self):
     y = numpy.array([2,3,2],'f')
     result =  EF.estimateExtremumPosition(y,self.x)
     self.assertEqual(result,(3.0,numpy.NaN,-1.0))
     result =  EF.estimateExtremumPosition(y,self.x,sigmaY=self.zeros)
     self.assertEqual(result,(3.0,0.0,-1.0))
     result =  EF.estimateExtremumPosition(y,self.x,sigmaY=self.error)
     numpy.testing.assert_almost_equal(numpy.array(result),
                                       numpy.array((3.0,0.005,-1.0)))