fcdmft.rpa.mp2.mol.mp2qp module#

Spin-restricted MP2 quasiparticle energies

class fcdmft.rpa.mp2.mol.mp2qp.MP2QP(mf, frozen=None, regularized=False, kappa=1.5, norm=2)[source]#

Bases: MP2

Attributes:
e_tot
e_tot_scs
emp2
emp2_scs
nmo
nocc

Methods

__call__(*args, **kwargs)

Update the attributes of the current object.

apply(fn, *args, **kwargs)

Apply the fn to rest arguments: return fn(*args, **kwargs). The return value of method set is the object itself. This allows a series of functions/methods to be executed in pipe.

as_scanner()

Generating a scanner/solver for MP2 PES.

check_sanity()

Check input of class/object attributes, check whether a class method is overwritten.

copy()

Returns a shallow copy

energy(t2, eris)

MP2 energy

get_frozen_mask()

Get boolean mask for the restricted reference orbitals.

get_graphical_solution(omega[, orbs])

Get graphical solution of MP2.

kernel([mo_energy, mo_coeff, orbs])

Args:

make_fno([thresh, pct_occ, nvir_act, t2])

Frozen natural orbitals

make_rdm1([t2, eris, ao_repr, with_frozen])

Spin-traced one-particle density matrix.

make_rdm2([t2, eris, ao_repr])

Spin-traced two-particle density matrix in MO basis

post_kernel(envs)

A hook to be run after the main body of the kernel function.

pre_kernel(envs)

A hook to be run before the main body of kernel function is executed.

run(*args, **kwargs)

Call the kernel function of current object.

set(*args, **kwargs)

Update the attributes of the current object.

to_gpu()

update_amps(t2, eris)

Update non-canonical MP2 amplitudes

view(cls)

New view of object with the same attributes.

ao2mo

density_fit

dump_flags

get_e_hf

get_nmo

get_nocc

init_amps

nuc_grad_method

reset

set_frozen

ao2mo(mo_coeff=None)[source]#
dump_flags()[source]#
get_frozen_mask()#

Get boolean mask for the restricted reference orbitals.

In the returned boolean (mask) array of frozen orbital indices, the element is False if it corresponds to the frozen orbital.

get_graphical_solution(omega, orbs=None)[source]#

Get graphical solution of MP2. Plot (omega, mo_energy_omega) and (omega, sigma), the intersection is the graphical solution.

Args:

omega (double array): frequency. orbs (list, optional): index of desired orbitals. Defaults to None.

Returns:

mo_energy_omega (double ndarray): frequency - orbital energy. sigma (double ndarray): dynamical diagonal self-energy.

get_nmo()#
get_nocc()#
kernel(mo_energy=None, mo_coeff=None, orbs=None)[source]#
Args:

mo_energy : 1D array (nmo), mean-field mo energy mo_coeff : 2D array (nmo, nmo), mean-field mo coefficient orbs: list, orbital indices

Returns:

self.mo_energy : MP2 quasiparticle energy

property nmo#
property nocc#
fcdmft.rpa.mp2.mol.mp2qp.get_mp2_sigma_derivative(nocc, mo_energy, eris, p, q, freq, eia, regularized=False, kappa=1.0, norm=2)[source]#

Compute the element of the MP2 self-energy derivative in MO basis.

Parameters:
noccint

number of occupied orbitals.

mo_energydouble array

molecular orbital energies

erisdouble ndarray

ERI in MO basis, nmo**4

pint

row index of the self-energy matrix

qint

column index of the self-energy matrix

freqcomplex

frequency point

eiadouble ndarray

occupied and virtual orbital energy difference

regularizedbool, optional

apply regularization, by default False

kappafloat, optional

kappa factor, by default 1.0

normint, optional

regularization norm, by default 2

Returns:
sigmadouble

self-energy derivative matrix element

fcdmft.rpa.mp2.mol.mp2qp.get_sigma_mp2(nocc, mo_energy, eris, p, q, freq, eia, regularized=False, kappa=1.0, norm=2)[source]#

Compute the element of the MP2 self-energy in MO basis.

Parameters:
noccint

number of occupied orbitals.

mo_energydouble array

molecular orbital energies

erisdouble ndarray

ERI in MO basis, nmo**4

pint

row index of the self-energy matrix

qint

column index of the self-energy matrix

freqcomplex

frequency point

eiadouble ndarray

occupied and virtual orbital energy difference

regularizedbool, optional

apply regularization, by default False

kappafloat, optional

kappa factor, by default 1.0

normint, optional

regularization norm, by default 2

Returns:
sigmadouble

self-energy matrix element

fcdmft.rpa.mp2.mol.mp2qp.kernel(mp2, mo_energy, mo_coeff, orbs)[source]#

MP2-corrected quasiparticle orbital energies

Parameters:
mp2MP2QP object
mo_energydouble array

molecular orbital energies

mo_coeffdouble ndarray

molecular orbital coefficients

orbslist

a list of orbital indices

Returns:
convbool

whether the quasiparticle equation is converged

mo_energydouble array

MP2-corrected quasiparticle orbital energies