Example #1
0
mol.build()

t = time.time()
#cderi = r_incore.cholesky_eri(mol, int3c='int3c2e_spinor', verbose=4)
#def fjk2c(mol, dm, *args, **kwargs):
#    n2c = dm.shape[0]
#    cderi_ll = cderi.reshape(-1,n2c,n2c)
#    vj = numpy.zeros((n2c,n2c), dtype=dm.dtype)
#    vk = numpy.zeros((n2c,n2c), dtype=dm.dtype)
#    rho = (numpy.dot(cderi, dm.T.reshape(-1)))
#    vj = numpy.dot(rho, cderi).reshape(n2c,n2c)
#    v1 = lib.einsum('pij,jk->pik', cderi_ll, dm)
#    vk = lib.einsum('pik,pkj->ij', v1, cderi_ll)
#    return vj, vk

mf = x2c.RHF(mol).density_fit()
dm = mf.get_init_guess() + 0.0j
mf.with_df.auxbasis = 'def2-svp-jkfit'
#mf.get_jk = fjk2c
#mf.direct_scf = False
ehf = mf.scf(dm)
print('Time %.3f (sec)' % (time.time() - t))

ncore = 2
nao, nmo = mf.mo_coeff.shape
nocc = mol.nelectron - ncore
nvir = nmo - nocc - ncore
mo_core = mf.mo_coeff[:, :ncore]
mo_occ = mf.mo_coeff[:, ncore:ncore + nocc]
mo_vir = mf.mo_coeff[:, ncore + nocc:]
co = mo_occ
Example #2
0
    from pyscf import gto

    mol = gto.Mole()
    mol.basis = 'unc-dzp-dk'
    mol.atom = '''
    O      0.000000      0.000000      0.118351
    H      0.000000      0.761187     -0.469725
    H      0.000000     -0.761187     -0.469725
    '''
    mol.charge = 0
    mol.spin = 0
    mol.symmetry = 0
    mol.verbose = 4
    mol.build()

    mf = x2c.RHF(mol)
    dm = mf.get_init_guess() + 0.1j
    mf.kernel(dm)

    ncore = 2
    eri_ao = mol.intor('int2e_spinor')

    pt = MP2(mf)
    pt.frozen = ncore
    pt.kernel()
    rdm1 = pt.make_rdm1()
    rdm2 = pt.make_rdm2()
    c = mf.mo_coeff
    nmo = mf.mo_coeff.shape[1]
    eri_mo = ao2mo.general(eri_ao, (c, c, c, c)).reshape(nmo, nmo, nmo, nmo)
    hcore = mf.get_hcore()