Eigensolver#

class Eigensolver[source]#

Bases: ABC

The eigensolver interface.

Algorithms that can compute eigenvalues for an operator may implement this interface to allow different algorithms to be used interchangeably.

Methods

abstract compute_eigenvalues(operator, aux_operators=None)[source]#

Computes the minimum eigenvalue. The operator and aux_operators are supplied here. While an operator is required by algorithms, aux_operators are optional.

Parameters:
  • operator (BaseOperator) – Qubit operator of the observable.

  • aux_operators (ListOrDict[BaseOperator] | None) – Optional list of auxiliary operators to be evaluated with the eigenstate of the minimum eigenvalue main result and their expectation values returned. For instance, in chemistry, these can be dipole operators and total particle count operators, so we can get values for these at the ground state.

Returns:

An eigensolver result.

Return type:

EigensolverResult

classmethod supports_aux_operators()[source]#

Whether computing the expectation value of auxiliary operators is supported.

If the eigensolver computes the eigenvalues of the main operator, then it can compute the expectation value of the aux_operators for that state. Otherwise they will be ignored.

Returns:

True if aux_operator expectations can be evaluated, False otherwise.

Return type:

bool