def test_kernel_small_system(self): e1, c1 = selected_ci.kernel(h1[:2, :2], eri[:6], 2, (1, 1), nroots=2) e2, c2 = direct_spin1.kernel(h1[:2, :2], eri[:6], 2, (1, 1), nroots=2) self.assertAlmostEqual(abs(numpy.array(e1) - e2).max(), 0, 9) self.assertRaises(RuntimeError, selected_ci.kernel, h1[:2, :2], eri[:6], 2, (1, 1), nroots=6)
def test_kernel(self): myci = selected_ci.SCI() e1, c1 = selected_ci.kernel(h1, eri, norb, nelec) e2, c2 = direct_spin1.kernel(h1, eri, norb, nelec) self.assertAlmostEqual(e1, e2, 9) self.assertAlmostEqual(abs(numpy.dot(c1.ravel(), c2.ravel())), 1, 9) dm1_1 = myci.make_rdm1(c1, norb, nelec) dm1_2 = direct_spin1.make_rdm1(c2, norb, nelec) self.assertAlmostEqual(abs(dm1_1 - dm1_2).sum(), 0, 4) dm2_1 = myci.make_rdm2(c1, norb, nelec) dm2_2 = direct_spin1.make_rdm12(c2, norb, nelec)[1] self.assertAlmostEqual(abs(dm2_1 - dm2_2).sum(), 0, 2)
def test_kernel(self): myci = selected_ci.SCI() e1, c1 = selected_ci.kernel(h1, eri, norb, nelec, nroots=2) e1 = e1[0] c1 = c1[0] e2, c2 = direct_spin1.kernel(h1, eri, norb, nelec) self.assertAlmostEqual(e1, e2, 9) self.assertAlmostEqual(abs(numpy.dot(c1.ravel(), c2.ravel())), 1, 9) dm1_1 = myci.make_rdm1(c1, norb, nelec) dm1_2 = direct_spin1.make_rdm1(c2, norb, nelec) self.assertAlmostEqual(abs(dm1_1 - dm1_2).sum(), 0, 4) dm2_1 = myci.make_rdm2(c1, norb, nelec) dm2_2 = direct_spin1.make_rdm12(c2, norb, nelec)[1] self.assertAlmostEqual(abs(dm2_1 - dm2_2).sum(), 0, 2) e1, c1 = selected_ci_spin0.kernel(h1, eri, norb, nelec) self.assertAlmostEqual(e1, e2, 9) self.assertAlmostEqual(abs(numpy.dot(c1.ravel(), c2.ravel())), 1, 9) e1, c1 = selected_ci_slow.kernel(h1, eri, norb, nelec) self.assertAlmostEqual(e1, e2, 9)
def test_kernel_small_system(self): e1, c1 = selected_ci.kernel(h1[:2,:2], eri[:6], 2, (1,1), nroots=2) e2, c2 = direct_spin1.kernel(h1[:2,:2], eri[:6], 2, (1,1), nroots=2) self.assertAlmostEqual(abs(numpy.array(e1) - e2).max(), 0, 9) self.assertRaises(RuntimeError, selected_ci.kernel, h1[:2,:2], eri[:6], 2, (1,1), nroots=6)