VibrationalEnergy#

class VibrationalEnergy(vibrational_integrals, *, truncation_order=None)[fuente]#

Bases: 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

Referencias

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

Parámetros:
  • 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)[fuente]#

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.

Parámetros:

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

Devuelve:

The resulting VibrationalEnergy instance.

Tipo del valor devuelto:

VibrationalEnergy

interpret(result)[fuente]#

Interprets an EigenstateResult.

Parámetros:

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

second_q_op()[fuente]#

Returns the second quantized vibrational energy operator.

Devuelve:

A dict of VibrationalOp objects.

Tipo del valor devuelto:

VibrationalOp