VibrationalEnergy#

class VibrationalEnergy(vibrational_integrals, *, truncation_order=None)[ソース]#

ベースクラス: Hamiltonian

The vibrational energy Hamiltonian.

This class implements the following Hamiltonian:

l=1Lkl,hlNlϕkl|T(Ql)+V[l](Ql)|ϕhlaklahl+l<mLkl,hlNlkm,hmNmϕklϕkm|V[l,m](Ql,Qm)|ϕhlϕhmaklakmahlahm+

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:

VibrationalIntegrals

truncation_order#

the maximum order of multi-body terms to include in the operator.

Type:

int | None

参照

[1]: P. Ollitrault et al. arXiv:2003.12578.

パラメータ:
  • 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)[ソース]#

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.

パラメータ:

integrals (dict[tuple[int, ...], complex]) – a mapping of matrix index tuples to coefficients.

戻り値:

The resulting VibrationalEnergy instance.

戻り値の型:

VibrationalEnergy

interpret(result)[ソース]#

Interprets an EigenstateResult.

パラメータ:

result (EigenstateResult) – The result to add meaning to.

second_q_op()[ソース]#

Returns the second quantized vibrational energy operator.

戻り値:

A dict of VibrationalOp objects.

戻り値の型:

VibrationalOp