Пример #1
0
 def testGradientArray(self):
     for i in range(self.expressions.__len__()):
         self.grad_alg = GradientAlgorithm(*self.expressions[i])
         for (test, answer) in zip(self.tests_gradient[i],
                                   self.answers_gradient[i]):
             grad = self.grad_alg.get_gradient_as_array_at(*test)
             self.assertAlmostEqual(answer[0], grad[0][0], delta=0.1)
             self.assertAlmostEqual(answer[1], grad[1][0], delta=0.2)
Пример #2
0
 def testHessianArray(self):
     for i in range(self.expressions.__len__()):
         self.grad_alg = GradientAlgorithm(*self.expressions[i])
         for (test, answer) in zip(self.tests_hessian[i],
                                   self.answers_hessian[i]):
             hessian = self.grad_alg.get_hessian_as_array_at(*test)
             self.assertAlmostEquals(answer[0], hessian[0][0], delta=0.1)
             self.assertAlmostEquals(answer[1], hessian[0][1], delta=0.1)
             self.assertAlmostEquals(answer[2], hessian[1][0], delta=0.1)
             self.assertAlmostEquals(answer[3], hessian[1][1], delta=0.1)
Пример #3
0
 def testHessian(self):
     for i in range(self.expressions.__len__()):
         self.grad_alg = GradientAlgorithm(*self.expressions[i])
         for (test, answer) in zip(self.tests_hessian[i],
                                   self.answers_hessian[i]):
             gxx, gxy, gyx, gyy = self.grad_alg.get_hessian_at(*test)
             self.assertAlmostEquals(answer[0], gxx, delta=0.1)
             self.assertAlmostEquals(answer[1], gxy, delta=0.1)
             self.assertAlmostEquals(answer[2], gyx, delta=0.1)
             self.assertAlmostEquals(answer[3], gyy, delta=0.1)