VibrationalEnergy#
- class VibrationalEnergy(vibrational_integrals, *, truncation_order=None)[source]#
Bases:
Hamiltonian
The vibrational energy Hamiltonian.
This class implements the following Hamiltonian:
\[\sum_{l=1}^L \sum_{k_l,h_l}^{N_l} \langle \phi_{k_l} | T(Q_l) + V^{[l]}(Q_l) | \phi_{h_l} \rangle a^\dagger_{k_l} a_{h_l} + \sum_{l<m}^L \sum_{k_l,h_l}^{N_l} \sum_{k_m,h_m}^{N_m} \langle \phi_{k_l} \phi_{k_m} | V^{[l,m]}(Q_l, Q_m) | \phi_{h_l} \phi_{h_m} \rangle a^\dagger_{k_l} a^\dagger_{k_m} a_{h_l} a_{h_m} + \ldots\]where \(Q\) denotes a vibrational mode, \(T\) denotes the kinetic term, and \(V\) denotes the potential terms acting on multiple modes. The subscripts \(k\) and \(h\) are indexing the modals which each mode \(l\) gets expanded into.
For a detailed explanation please refer to reference [1].
The following attributes can be set via the initializer but can also be read and updated once the
VibrationalEnergy
object has been constructed.- vibrational_integrals#
the integral coefficients.
- Type:
- truncation_order#
the maximum order of multi-body terms to include in the operator.
- Type:
int | None
References
[1]: P. Ollitrault et al. arXiv:2003.12578.
- Parameters:
vibrational_integrals (VibrationalIntegrals) – the container with the integral coefficients.
truncation_order (int | None) – the maximum order of multi-body terms to include in the operator.
Attributes
- register_length#
Methods
- classmethod from_raw_integrals(integrals)[source]#
Constructs a hamiltonian instance from raw integrals.
This function simply calls
qiskit_nature.second_q.operators.VibrationalIntegrals.from_raw_integrals()
. See its documentation for more details.
- interpret(result)[source]#
Interprets an
EigenstateResult
.- Parameters:
result (qiskit_nature.second_q.problems.EigenstateResult) – The result to add meaning to.