VQEAdapt
class VQEAdapt(operator, var_form_base, optimizer, initial_point=None, excitation_pool=None, threshold=1e-05, delta=1, max_evals_grouped=1, aux_operators=None, quantum_instance=None)
The Adaptive VQE algorithm.
See https://arxiv.org/abs/1812.11173
Parameters
- operator (
LegacyBaseOperator
) – Qubit operator - var_form_base (
VariationalForm
) – base parameterized variational form - optimizer (
Optimizer
) – the classical optimizer algorithm - initial_point (
Optional
[ndarray
]) – optimizer initial point - excitation_pool (
Optional
[List
[WeightedPauliOperator
]]) – list of excitation operators - threshold (
float
) – absolute threshold value for gradients, has a min. value of 1e-15. - delta (
float
) – finite difference step size for gradient computation, has a min. value of 1e-5. - max_evals_grouped (
int
) – max number of evaluations performed simultaneously - 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 – if var_form_base is not an instance of UCCSD.
- See also – qiskit/chemistry/components/variational_forms/uccsd_adapt.py
Attributes
backend
initial_point
Type: Optional[numpy.ndarray]
Returns initial point
Return type
Optional
[ndarray
]
optimal_params
returns optimal parameters
optimizer
Type: Optional[qiskit.aqua.components.optimizers.optimizer.Optimizer]
Returns optimizer
Return type
Optional
[Optimizer
]
quantum_instance
Type: Union[None, qiskit.aqua.quantum_instance.QuantumInstance]
Returns quantum instance.
Return type
Optional
[QuantumInstance
]
random
Return a numpy random.
var_form
Type: Optional[Union[qiskit.circuit.quantumcircuit.QuantumCircuit, qiskit.aqua.components.variational_forms.variational_form.VariationalForm]]
Returns variational form
Return type
Union
[QuantumCircuit
, VariationalForm
, None
]
Methods
cleanup_parameterized_circuits
VQEAdapt.cleanup_parameterized_circuits()
set parameterized circuits to None
find_minimum
VQEAdapt.find_minimum(initial_point=None, var_form=None, cost_fn=None, optimizer=None, gradient_fn=None)
Optimize to find the minimum cost value.
Parameters
- initial_point (
Optional
[ndarray
]) – If not None will be used instead of any initial point supplied via constructor. If None and None was supplied to constructor then a random point will be used if the optimizer requires an initial point. - var_form (
Union
[QuantumCircuit
,VariationalForm
,None
]) – If not None will be used instead of any variational form supplied via constructor. - cost_fn (
Optional
[Callable
]) – If not None will be used instead of any cost_fn supplied via constructor. - optimizer (
Optional
[Optimizer
]) – If not None will be used instead of any optimizer supplied via constructor. - gradient_fn (
Optional
[Callable
]) – Optional gradient function for optimizer
Returns
Optimized variational parameters, and corresponding minimum cost value.
Return type
dict
Raises
ValueError – invalid input
get_optimal_circuit
VQEAdapt.get_optimal_circuit()
get optimal circuit
get_optimal_cost
VQEAdapt.get_optimal_cost()
get optimal cost
get_optimal_vector
VQEAdapt.get_optimal_vector()
get optimal vector
get_prob_vector_for_params
VQEAdapt.get_prob_vector_for_params(construct_circuit_fn, params_s, quantum_instance, construct_circuit_args=None)
Helper function to get probability vectors for a set of params
get_probabilities_for_counts
VQEAdapt.get_probabilities_for_counts(counts)
get probabilities for counts
run
VQEAdapt.run(quantum_instance=None, **kwargs)
Execute the algorithm with selected backend.
Parameters
- quantum_instance (
Union
[QuantumInstance
,BaseBackend
,None
]) – the experimental setting. - kwargs (dict) – kwargs
Returns
results of an algorithm.
Return type
dict
Raises
AquaError – If a quantum instance or backend has not been provided
set_backend
VQEAdapt.set_backend(backend, **kwargs)
Sets backend with configuration.
Return type
None