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
- 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)
- Lpqdouble
- 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
- nw
int, 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
- nw
int, optional number of frequency point on imaginary axis, by default None
- exactbool, optional
use exact diagonalization, by default False
- Returns:
- ecdouble
RPA correlation energy