Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

qiskit.aqua.algorithms.NumPyMinimumEigensolver

class NumPyMinimumEigensolver(operator=None, aux_operators=None, filter_criterion=None)

GitHub

The Numpy Minimum Eigensolver algorithm.

Parameters

  • operator (Union[OperatorBase, LegacyBaseOperator, None]) – Operator instance
  • aux_operators (Optional[List[Union[OperatorBase, LegacyBaseOperator, None]]]) – Auxiliary operators to be evaluated at minimum eigenvalue
  • filter_criterion (Optional[Callable[[Union[List, ndarray], float, Optional[List[float]]], bool]]) – callable that allows to filter eigenvalues/eigenstates. The minimum eigensolver is only searching over feasible states and returns an eigenstate that has the smallest eigenvalue among feasible states. The callable has the signature filter(eigenstate, eigenvalue, aux_values) and must return a boolean to indicate whether to consider this value or not. If there is no feasible element, the result can even be empty.

__init__

__init__(operator=None, aux_operators=None, filter_criterion=None)

Parameters

  • operator (Union[OperatorBase, LegacyBaseOperator, None]) – Operator instance
  • aux_operators (Optional[List[Union[OperatorBase, LegacyBaseOperator, None]]]) – Auxiliary operators to be evaluated at minimum eigenvalue
  • filter_criterion (Optional[Callable[[Union[List, ndarray], float, Optional[List[float]]], bool]]) – callable that allows to filter eigenvalues/eigenstates. The minimum eigensolver is only searching over feasible states and returns an eigenstate that has the smallest eigenvalue among feasible states. The callable has the signature filter(eigenstate, eigenvalue, aux_values) and must return a boolean to indicate whether to consider this value or not. If there is no feasible element, the result can even be empty.

Methods

__init__([operator, aux_operators, …])type operatorUnion[OperatorBase, LegacyBaseOperator, None]
compute_minimum_eigenvalue([operator, …])Computes minimum eigenvalue.
run()Execute the classical algorithm.
supports_aux_operators()Whether computing the expectation value of auxiliary operators is supported.

Attributes

aux_operatorsReturns the auxiliary operators.
filter_criterionreturns the filter criterion if set
operatorReturn the operator.
randomReturn a numpy random.

aux_operators

Returns the auxiliary operators.

Return type

Optional[List[Optional[OperatorBase]]]

compute_minimum_eigenvalue

compute_minimum_eigenvalue(operator=None, aux_operators=None)

Computes minimum eigenvalue. Operator and aux_operators can be supplied here and if not None will override any already set into algorithm so it can be reused with different operators. While an operator is required by algorithms, aux_operators are optional. To ‘remove’ a previous aux_operators array use an empty list here.

Parameters

  • operator (Union[OperatorBase, LegacyBaseOperator, None]) – If not None replaces operator in algorithm
  • aux_operators (Optional[List[Union[OperatorBase, LegacyBaseOperator, None]]]) – If not None replaces aux_operators in algorithm

Return type

MinimumEigensolverResult

Returns

MinimumEigensolverResult

filter_criterion

returns the filter criterion if set

Return type

Optional[Callable[[Union[List, ndarray], float, Optional[List[float]]], bool]]

operator

Return the operator.

Return type

Optional[OperatorBase]

random

Return a numpy random.

run

run()

Execute the classical algorithm.

Returns

results of an algorithm.

Return type

dict

supports_aux_operators

classmethod supports_aux_operators()

Whether computing the expectation value of auxiliary operators is supported.

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

Return type

bool

Returns

True if aux_operator expectations can be evaluated, False otherwise

Was this page helpful?
Report a bug or request content on GitHub.