def test_eris(self): numpy.random.seed(1) kpts = cell.make_kpts([1,1,3]) kmf = scf.KUHF(cell, kpts=kpts, exxdiv=None) nmo = cell.nao_nr() kmf.mo_occ = numpy.zeros((2,3,nmo)) kmf.mo_occ[0,:,:3] = 1 kmf.mo_occ[1,:,:1] = 1 kmf.mo_energy = (numpy.arange(nmo) + numpy.random.random((2,3,nmo)) * .3) kmf.mo_energy[kmf.mo_occ == 0] += 2 kmf.mo_coeff = (numpy.random.random((2,3,nmo,nmo)) + numpy.random.random((2,3,nmo,nmo))*1j - .5-.5j) mycc = kccsd_uhf.UCCSD(kmf) eris = mycc.ao2mo() self.assertAlmostEqual(lib.finger(eris.fock[0]), 0.53719738596848132 +0.83031462049142502j, 11) self.assertAlmostEqual(lib.finger(eris.fock[1]), 0.043623927844025398+0.20815796288019522j, 11) self.assertAlmostEqual(lib.finger(eris.oooo), 0.10126616996580763 -0.89787173918481156j , 11) self.assertAlmostEqual(lib.finger(eris.ooov), -0.035814310241888067 +0.20393025075274804j , 11) self.assertAlmostEqual(lib.finger(eris.oovv), -0.032378345849800663 +0.015060519910448879j , 11) self.assertAlmostEqual(lib.finger(eris.ovov), 0.017919215232962762 -0.37180556037878837j , 11) self.assertAlmostEqual(lib.finger(eris.voov), -0.33038865500581482 +0.18384096784449852j , 11) self.assertAlmostEqual(lib.finger(eris.vovv), 0.078104278754223946 +0.0004014143354997223j, 11) self.assertAlmostEqual(lib.finger(eris.vvvv), -0.0199910973368542 -0.0019864189992825137j, 11) self.assertAlmostEqual(lib.finger(eris.OOOO), 0.022687859086726745 +0.0076542690105189095j, 11) self.assertAlmostEqual(lib.finger(eris.OOOV), -0.024119030579269278 -0.15249100640417029j , 11) self.assertAlmostEqual(lib.finger(eris.OOVV), 0.085942751462484687 -0.27088394382044989j , 11) self.assertAlmostEqual(lib.finger(eris.OVOV), 0.35291244981540776 +0.080119865729794376j , 11) self.assertAlmostEqual(lib.finger(eris.VOOV), 0.0045484393536995267 +0.0094123990059577414j, 11) self.assertAlmostEqual(lib.finger(eris.VOVV), -0.28341581692294759 +0.0022174023470048921j, 11) self.assertAlmostEqual(lib.finger(eris.VVVV), 0.96007536729340814 -0.019410945571596398j , 11) self.assertAlmostEqual(lib.finger(eris.ooOO), -0.32831508979976765 -0.32180378432620471j , 11) self.assertAlmostEqual(lib.finger(eris.ooOV), 0.33617152217704632 -0.34130555912360216j , 11) self.assertAlmostEqual(lib.finger(eris.ooVV), -0.00011230004797088339-1.2850251519380604j , 11) self.assertAlmostEqual(lib.finger(eris.ovOV), 0.1365118156144336 +0.16999367231786541j , 11) self.assertAlmostEqual(lib.finger(eris.voOV), 0.19736044623396901 -0.047060848969879901j , 11) self.assertAlmostEqual(lib.finger(eris.voVV), 0.44513499758124858 +0.06343379901453805j , 11) self.assertAlmostEqual(lib.finger(eris.vvVV), -0.070971875998391304 -0.31253893124900545j , 11) #self.assertAlmostEqual(lib.finger(eris.OOoo), 0.031140414688898856 -0.23913617484062258j , 11) self.assertAlmostEqual(lib.finger(eris.OOov), 0.20355552926191381 +0.18712171841650935j , 11) self.assertAlmostEqual(lib.finger(eris.OOvv), 0.070789122903945706 -0.013360818695166678j , 11) #self.assertAlmostEqual(lib.finger(eris.OVov), 0.38230103404493437 -0.019845885264560274j , 11) #self.assertAlmostEqual(lib.finger(eris.VOov), 0.081760186267865437 -0.052409714443657308j , 11) self.assertAlmostEqual(lib.finger(eris.VOvv), -0.036061642075282056 +0.019284185856121634j , 11)
def KUCCSD(mf, frozen=None, mo_coeff=None, mo_occ=None): from pyscf.pbc.cc import kccsd_uhf if not isinstance(mf, scf.kuhf.KUHF): mf = scf.addons.convert_to_uhf(mf) return kccsd_uhf.UCCSD(mf, frozen, mo_coeff, mo_occ)
def KUCCSD(mf, frozen=0, mo_coeff=None, mo_occ=None): from pyscf.pbc.cc import kccsd_uhf mf = scf.addons.convert_to_uhf(mf) return kccsd_uhf.UCCSD(mf, frozen, mo_coeff, mo_occ)