def runTest(self): n = 4 nvals = n * (n + 1) // 2 hess = Hessian(n) self.assertEqual(hess.shape(), (nvals, ), 'Wrong shape for initialisation') self.assertEqual(hess.dim(), n, 'Wrong dimension') self.assertEqual(len(hess), nvals, 'Wrong length') self.assertTrue(np.all(hess.upper_triangular() == np.zeros((nvals, ))), 'Wrong initialised values')
def runTest(self): n = 5 nvals = n * (n + 1) // 2 x = np.arange(nvals, dtype=float) hess = Hessian(n, vals=x) self.assertEqual(hess.shape(), (nvals, ), 'Wrong shape for initialisation') self.assertEqual(hess.dim(), n, 'Wrong dimension') self.assertEqual(len(hess), nvals, 'Wrong length') self.assertTrue(np.all(hess.upper_triangular() == x), 'Wrong initialised values')
def runTest(self): n = 3 nvals = n * (n + 1) // 2 A = np.arange(n**2, dtype=float).reshape((n, n)) hess = Hessian(n, vals=A + A.T) # force symmetric self.assertEqual(hess.shape(), (nvals, ), 'Wrong shape for initialisation') self.assertEqual(hess.dim(), n, 'Wrong dimension') self.assertEqual(len(hess), nvals, 'Wrong length') self.assertTrue( np.all(hess.upper_triangular() == np.array( [0.0, 4.0, 8.0, 8.0, 12.0, 16.0])), 'Wrong initialised values')