pyscf.mrpt package

Submodules

pyscf.mrpt.nevpt2 module

class pyscf.mrpt.nevpt2.NEVPT(mc, root=0)

Bases: pyscf.lib.misc.StreamObject

Strongly contracted NEVPT2

Attributes:
rootint

To control which state to compute if multiple roots or state-average wfn were calculated in CASCI/CASSCF

compressed_mpsbool

compressed MPS perturber method for DMRG-SC-NEVPT2

Examples:

>>> mf = gto.M('N 0 0 0; N 0 0 1.4', basis='6-31g').apply(scf.RHF).run()
>>> mc = mcscf.CASSCF(mf, 4, 4).run()
>>> NEVPT(mc).kernel()
-0.14058324991532101
canonicalize(mo_coeff=None, ci=None, eris=None, sort=False, cas_natorb=False, casdm1=None, verbose=3)
compress_approx(maxM=500, nevptsolver=None, tol=1e-07, stored_integral=False)

SC-NEVPT2 with compressed perturber

Kwargs :
maxMint

DMRG bond dimension

Examples:

>>> mf = gto.M('N 0 0 0; N 0 0 1.4', basis='6-31g').apply(scf.RHF).run()
>>> mc = dmrgscf.DMRGSCF(mf, 4, 4).run()
>>> NEVPT(mc, root=0).compress_approx(maxM=100).kernel()
-0.14058324991532101

References:

  1. Chem. Theory Comput. 12, 1583 (2016), doi:10.1021/acs.jctc.5b01225

  1. Chem. Phys. 146, 244102 (2017), doi:10.1063/1.4986975

for_dmrg()

Some preprocess for dmrg-nevpt

get_hcore()
get_veff(mol=None, dm=None, hermi=1)
h1e_for_cas(mo_coeff=None, ncas=None, ncore=None)
kernel()

Kernel function is the main driver of a method. Every method should define the kernel function as the entry of the calculation. Note the return value of kernel function is not strictly defined. It can be anything related to the method (such as the energy, the wave-function, the DFT mesh grids etc.).

load_ci(root=None)

Hack me to load CI wfn from disk

reset(mol=None)
pyscf.mrpt.nevpt2.Si(mc, ci, dms, eris=None, verbose=None)
pyscf.mrpt.nevpt2.Sij(mc, dms, eris, verbose=None)
pyscf.mrpt.nevpt2.Sijr(mc, dms, eris, verbose=None)
pyscf.mrpt.nevpt2.Sijrs(mc, eris, verbose=None)
pyscf.mrpt.nevpt2.Sir(mc, dms, eris, verbose=None)
pyscf.mrpt.nevpt2.Sr(mc, ci, dms, eris=None, verbose=None)
pyscf.mrpt.nevpt2.Srs(mc, dms, eris=None, verbose=None)
pyscf.mrpt.nevpt2.Srsi(mc, dms, eris, verbose=None)
pyscf.mrpt.nevpt2.kernel(mc, *args, **kwargs)
pyscf.mrpt.nevpt2.make_a12(h1e, h2e, dm1, dm2, dm3)
pyscf.mrpt.nevpt2.make_a13(h1e, h2e, dm1, dm2, dm3)
pyscf.mrpt.nevpt2.make_a16(h1e, h2e, dms, civec, norb, nelec, link_index=None)
pyscf.mrpt.nevpt2.make_a17(h1e, h2e, dm2, dm3)
pyscf.mrpt.nevpt2.make_a19(h1e, h2e, dm1, dm2)
pyscf.mrpt.nevpt2.make_a22(h1e, h2e, dms, civec, norb, nelec, link_index=None)
pyscf.mrpt.nevpt2.make_a23(h1e, h2e, dm1, dm2, dm3)
pyscf.mrpt.nevpt2.make_a25(h1e, h2e, dm1, dm2)
pyscf.mrpt.nevpt2.make_a3(h1e, h2e, dm1, dm2, hdm1)
pyscf.mrpt.nevpt2.make_a7(h1e, h2e, dm1, dm2, dm3)
pyscf.mrpt.nevpt2.make_a9(h1e, h2e, hdm1, hdm2, hdm3)
pyscf.mrpt.nevpt2.make_hdm1(dm1)
pyscf.mrpt.nevpt2.make_hdm2(dm1, dm2)
pyscf.mrpt.nevpt2.make_hdm3(dm1, dm2, dm3, hdm1, hdm2)
pyscf.mrpt.nevpt2.make_k27(h1e, h2e, dm1, dm2)
pyscf.mrpt.nevpt2.sc_nevpt(mc, ci=None, verbose=None)
pyscf.mrpt.nevpt2.trans_e1_incore(mc, mo)
pyscf.mrpt.nevpt2.trans_e1_outcore(mc, mo, max_memory=None, ioblk_size=256, tmpdir=None, verbose=0)

Module contents