qiskit.chemistry.MP2Info
class MP2Info(qmolecule, threshold=1e-12)
A utility class for Moller-Plesset 2nd order (MP2) information
Each double excitation given by [i,a,j,b] has a coefficient computed using
coeff = -(2 * Tiajb - Tibja)/(oe[b] + oe[a] - oe[i] - oe[j])
where oe[] is the orbital energy
and an energy delta given by
e_delta = coeff * Tiajb
All the computations are done using the molecule orbitals but the indexes used in the excitation information passed in and out are in the block spin orbital numbering as normally used by the chemistry module.
A utility class for MP2 info
Parameters
- qmolecule (QMolecule) – QMolecule from chemistry driver
- threshold (float) – Computed coefficients and energy deltas will be set to zero if their value is below this threshold
__init__
__init__(qmolecule, threshold=1e-12)
A utility class for MP2 info
Parameters
- qmolecule (QMolecule) – QMolecule from chemistry driver
- threshold (float) – Computed coefficients and energy deltas will be set to zero if their value is below this threshold
Methods
__init__ (qmolecule[, threshold]) | A utility class for MP2 info |
mp2_get_term_info (excitation_list[, …]) | With a reduced active space the set of used excitations can be less than allowing all available excitations. |
mp2_terms ([freeze_core, orbital_reduction]) | Gets the set of MP2 terms for the molecule taking into account index adjustments due to frozen core and/or other orbital reduction |
Attributes
mp2_delta | Get the MP2 delta energy correction for the molecule |
mp2_energy | Get the MP2 energy for the molecule |
mp2_delta
Get the MP2 delta energy correction for the molecule
Returns
The MP2 delta energy
Return type
float
mp2_energy
Get the MP2 energy for the molecule
Returns
The MP2 energy
Return type
float
mp2_get_term_info
mp2_get_term_info(excitation_list, freeze_core=False, orbital_reduction=None)
With a reduced active space the set of used excitations can be less than allowing all available excitations. Given a (sub)set of excitations in the space this will return a list of correlation coefficients and a list of correlation energies ordered as per the excitation list provided.
Parameters
- excitation_list (list) – A list of excitations for which to get the coeff and e_delta
- freeze_core (bool) – Whether core orbitals are frozen or not
- orbital_reduction (list) – An optional list of ints indicating removed orbitals
Returns
List of coefficients and list of energy deltas
Return type
Tuple(list, list)
Raises
ValueError – Excitation not present in mp2 terms
mp2_terms
mp2_terms(freeze_core=False, orbital_reduction=None)
Gets the set of MP2 terms for the molecule taking into account index adjustments due to frozen core and/or other orbital reduction
Parameters
- freeze_core (bool) – Whether core orbitals are frozen or not
- orbital_reduction (list) – An optional list of ints indicating removed orbitals
Returns
A dictionary of excitations where the key is a string in the form
from_to_from_to e.g. 0_4_6_10 and the value is a tuple of (coeff, e_delta)
Return type
dict