VibrationalStructureProblem#

class VibrationalStructureProblem(hamiltonian)[source]#

Bases: BaseProblem

Vibrational Structure Problem

The following attributes can be read and updated once the VibrationalStructureProblem object has been constructed.

properties#

a container for additional observable operator factories.

Type:

VibrationalPropertiesContainer

basis#

the second-quantization basis in which the problem’s operators are expressed.

Type:

VibrationalBasis

Parameters:

hamiltonian (VibrationalEnergy) – the Hamiltonian of this problem.

Attributes

hamiltonian#
num_modals#

The number of modals into which each mode got expanded in second-quantization.

Methods

get_default_filter_criterion()[source]#

Returns a default filter criterion method to filter the eigenvalues computed by the eigen solver. For more information see also filter_criterion().

This particular default ensures that the occupation of every mode is (close to) 1.

Return type:

Callable[[List | ndarray, float, List[float] | None], bool] | None

get_tapered_mapper(mapper)#

Builds a TaperedQubitMapper from one of the mappers. This simplifies the identification of the Pauli operator symmetries and of the symmetry sector in which lies the solution of the problem.

Parameters:

mapper (QubitMapper) – QubitMapper object implementing the mapping of second quantized operators to Pauli operators.

Raises:

ValueError – If the mapper is a TaperedQubitMapper.

Returns:

A TaperedQubitMapper with pre-built symmetry specifications.

Return type:

TaperedQubitMapper

interpret(raw_result)[source]#

Interprets an EigenstateResult in the context of this problem.

Parameters:

raw_result (EigenstateResult | EigensolverResult | MinimumEigensolverResult) – an eigenstate result object.

Returns:

A vibrational structure result.

Return type:

VibrationalStructureResult

second_q_ops()#

Returns the second quantized operators associated with this problem.

Returns:

A tuple, with the first object being the main operator and the second being a dictionary of auxiliary operators.

Return type:

tuple[SparseLabelOp, dict[str, SparseLabelOp]]