fcdmft.solver.rpa_solver module#

fcdmft.solver.rpa_solver.diagonalize_pprpa_singlet(nocc, mo_energy, Lpq)[source]#

Diagonalize triplet ppRPA matrix. Equation.21 in https://doi.org/10.1063/1.4828728.

Args:

nocc (int): number of occupied orbitals. mo_energy (double array): orbital energy. Lpq (double ndarray): three-center density fitting matrix in MO space.

Returns:

exci (double array): two-electron removal and addition energy. vec (double ndarray): two-electron removal and addition eigenvector. trace_A (double): trace of A matrix. sum_exci (double): sum of two-electron addition energy.

fcdmft.solver.rpa_solver.diagonalize_pprpa_triplet(nocc, mo_energy, Lpq)[source]#

Diagonalize triplet ppRPA matrix. Equation.19 in https://doi.org/10.1063/1.4828728.

Args:

nocc (int): number of occupied orbitals. mo_energy (double array): orbital energy. Lpq (double ndarray): three-center density fitting matrix in MO space.

Returns:

exci (double array): two-electron removal and addition energy. vec (double ndarray): two-electron removal and addition eigenvector. trace_A (double): trace of A matrix. sum_exci (double): sum of two-electron addition energy.

fcdmft.solver.rpa_solver.get_Lpq_emb_gamma(mf, lo_coeff, mf_cas)[source]#

Get Lpq 3-index integral for embedding problem from Gamma-point AO integral

Parameters:
mfpyscf.scf.hf.RHF object

full mean-field object

lo_coeffdouble ndarray

LO/EO coefficient, (nao_full, nao_cas)

mf_caspyscf.scf.hf.RHF object

embedding mean-field object

Returns:
Lpqdouble ndarray

three-center density fitting matrix in mf_cas MO space, (naux_full, nmo_cas, nmo_cas)

fcdmft.solver.rpa_solver.get_Lpq_emb_gamma_metal(mf, lo_coeff, mf_cas)[source]#

Get Lpq 3-index integral for metallic embedding problem from Gamma-point AO integral

Parameters:
mfpyscf.scf.hf.RHF object

full mean-field object

lo_coeffdouble ndarray

LO/EO coefficient, (nao_full, nao_cas)

mf_caspyscf.scf.hf.RHF object

embedding mean-field object

Returns:
Lpqdouble ndarray

three-center density fitting matrix in mf_cas MO space, (naux_full, nocc_cas+nfrac_cas, nfrac_cas+nvir_cas)

fcdmft.solver.rpa_solver.pprpa_correlation_energy(mf, eri=None, Lpq=None)[source]#

Get ppRPA correlation energy. Equation.4 in https://journals.aps.org/pra/abstract/10.1103/PhysRevA.88.030501. Equation.24 in https://doi.org/10.1063/1.4828728.

TODO: unrestricted.

Args:

mf (pyscf.scf.hf.RHF): mean-field object. eri (double ndarray): s1-symmetry two-electron integral in MO space. Lpq (double ndarray): three-center density fitting matrix in MO space.

Returns:

ec (double): correlation energy.

fcdmft.solver.rpa_solver.rpa_correlation_energy(mf, eri=None, Lpq=None, nw=40, exact=False)[source]#

RPA correlation energy

TODO: unrestricted.

Parameters:
mfpyscf.scf.hf.RHF object
eridouble ndarray, optional

s1-symmetry two-electron integral in MO space, by default None

Lpqdouble ndarray, optional

density fitting 3-center integral in MO basis, by default None

nwint, optional

number of frequency point on imaginary axis, by default None

exactbool, optional

use exact diagonalization, by default False

Returns:
ecdouble

RPA correlation energy

fcdmft.solver.rpa_solver.rpa_correlation_energy_metal(mf, eri=None, Lpq=None, nw=40, mo_occ=None)[source]#

RPA correlation energy for metallic systems

TODO: unrestricted.

Parameters:
mfpyscf.scf.hf.RHF object
eridouble ndarray, optional

s1-symmetry two-electron integral in MO space, by default None

Lpqdouble ndarray, optional

density fitting 3-center integral in MO basis, by default None

nwint, optional

number of frequency point on imaginary axis, by default None

exactbool, optional

use exact diagonalization, by default False

Returns:
ecdouble

RPA correlation energy