LatticeModelProblem#

class LatticeModelProblem(hamiltonian)[source]#

Bases: BaseProblem

A lattice model problem.

This class specifically deals with handling of LatticeModel type hamiltonians.

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

properties#

a container for additional observable operator factories.

Type:

LatticePropertiesContainer

Parameters:

hamiltonian (LatticeModel) – A lattice model class to create second quantized operators.

Raises:

TypeError – if the provided hamiltonian is not of type LatticeModel.

Attributes

hamiltonian#

Returns the hamiltonian wrapped by this problem.

Methods

get_default_filter_criterion()#

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

In the fermionic case the default filter ensures that the number of particles is being preserved.

Return type:

Callable[[list | np.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 a raw result in the context of this transformation.

Parameters:

raw_result (EigenstateResult | EigensolverResult | MinimumEigensolverResult) – a raw result to be interpreted

Returns:

A lattice model result.

Return type:

LatticeModelResult

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]]