QEomVQE

class QEomVQE(operator, var_form, optimizer, num_orbitals, num_particles, initial_point=None, max_evals_grouped=1, callback=None, qubit_mapping='parity', two_qubit_reduction=True, is_eom_matrix_symmetric=True, active_occupied=None, active_unoccupied=None, se_list=None, de_list=None, z2_symmetries=None, untapered_op=None, aux_operators=None, quantum_instance=None)[source]

QEomVQE algorithm

Parameters
  • operator (LegacyBaseOperator) – qubit operator

  • var_form (Union[QuantumCircuit, VariationalForm]) – parameterized variational form.

  • optimizer (Optimizer) – the classical optimization algorithm.

  • num_orbitals (int) – total number of spin orbitals, has a min. value of 1.

  • num_particles (Union[List[int], int]) – number of particles, if it is a list, the first number is alpha and the second number if beta.

  • initial_point (Optional[ndarray]) – optimizer initial point, 1-D vector

  • max_evals_grouped (int) – max number of evaluations performed simultaneously

  • callback (Optional[Callable[[int, ndarray, float, float], None]]) – a callback that can access the intermediate data during the optimization. Internally, four arguments are provided as follows the index of evaluation, parameters of variational form, evaluated mean, evaluated standard deviation.

  • qubit_mapping (str) – qubit mapping type

  • two_qubit_reduction (bool) – two qubit reduction is applied or not

  • is_eom_matrix_symmetric (bool) – is EoM matrix symmetric

  • active_occupied (Optional[List[int]]) – list of occupied orbitals to include, indices are 0 to n where n is num particles // 2

  • active_unoccupied (Optional[List[int]]) – list of unoccupied orbitals to include, indices are 0 to m where m is (num_orbitals - num particles) // 2

  • se_list (Optional[List[List[int]]]) – single excitation list, overwrite the setting in active space

  • de_list (Optional[List[List[int]]]) – double excitation list, overwrite the setting in active space

  • z2_symmetries (Optional[Z2Symmetries]) – represent the Z2 symmetries

  • untapered_op (Optional[LegacyBaseOperator]) – if the operator is tapered, we need untapered operator during building element of EoM matrix

  • aux_operators (Optional[List[LegacyBaseOperator]]) – Auxiliary operators to be evaluated at each eigenvalue

  • quantum_instance (Union[QuantumInstance, BaseBackend, None]) – Quantum Instance or Backend

Raises

ValueError – invalid parameter

Attributes

QEomVQE.aux_operators

Returns aux operators

QEomVQE.backend

Returns backend.

QEomVQE.expectation

The expectation value algorithm used to construct the expectation measurement from the observable.

QEomVQE.initial_point

Returns initial point

QEomVQE.operator

Returns operator

QEomVQE.optimal_params

The optimal parameters for the variational form.

QEomVQE.optimizer

Returns optimizer

QEomVQE.quantum_instance

Returns quantum instance.

QEomVQE.random

Return a numpy random.

QEomVQE.setting

Prepare the setting of VQE as a string.

QEomVQE.var_form

Returns variational form

Methods

QEomVQE.cleanup_parameterized_circuits()

set parameterized circuits to None

QEomVQE.compute_minimum_eigenvalue([…])

Computes minimum eigenvalue.

QEomVQE.construct_circuit(parameter)

Generate the ansatz circuit and expectation value measurement, and return their runnable composition.

QEomVQE.find_minimum([initial_point, …])

Optimize to find the minimum cost value.

QEomVQE.get_optimal_circuit()

Get the circuit with the optimal parameters.

QEomVQE.get_optimal_cost()

Get the minimal cost or energy found by the VQE.

QEomVQE.get_optimal_vector()

Get the simulation outcome of the optimal circuit.

QEomVQE.get_prob_vector_for_params(…[, …])

Helper function to get probability vectors for a set of params

QEomVQE.get_probabilities_for_counts(counts)

get probabilities for counts

QEomVQE.print_settings()

Preparing the setting of VQE into a string.

QEomVQE.run([quantum_instance])

Execute the algorithm with selected backend.

QEomVQE.set_backend(backend, **kwargs)

Sets backend with configuration.

QEomVQE.supports_aux_operators()

Whether computing the expectation value of auxiliary operators is supported.