def METHOD_NAME(self):
    mf = dft.UKS(mol)
    mf.conv_tol = 1e-14
    mf.xc = 'b3lyp5'
    e0 = mf.kernel()
    hess = mf.Hessian().kernel()
    self.assertAlmostEqual(lib.fp(hess), -0.8208641727673912, 6)
    g_scanner = mf.nuc_grad_method().as_scanner()
    pmol = mol.copy()
    e1 = g_scanner(pmol.set_geom_('O  0. 0. 0.0001; 1  0. -0.757 0.587; 1  0. 0.757 0.587'))[1]
    e2 = g_scanner(pmol.set_geom_('O  0. 0. -.0001; 1  0. -0.757 0.587; 1  0. 0.757 0.587'))[1]
    #FIXME: errors seems too big
    self.assertAlmostEqual(abs(hess[0,:,2] - (e1-e2)/2e-4*lib.param.BOHR).max(), 0, 3)