Qiskit / qiskit-aer

Aer is a high performance simulator for quantum circuits that includes noise models

Home Page:https://qiskit.github.io/qiskit-aer/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Minor issue in EstimatorV2 __init__ - can't specify method in options

zlatko-minev opened this issue · comments

Informations

  • Qiskit Aer version: 0.14.1
  • Python version: 3.11
  • Operating system: mac

What is the current behavior?

Minor issue in EstimatorV2 init - can't specify method in options,

from qiskit_aer.primitives import EstimatorV2

options = {
    "backend_options": {
        "method" : "matrix_product_state"
    }
}
estimator = EstimatorV2(options=options)

Fails with

--->  self._backend = AerSimulator(method=method, **self.options.backend_options)

TypeError: qiskit_aer.backends.aer_simulator.AerSimulator() got multiple values for keyword argument 'method'

Steps to reproduce the problem

See code above

What is the expected behavior?

Should be able to specify the method at the options level

Suggested solutions

Combine the dicts like this

    def __init__(
        self,
        *,
        options: dict | None = None,
    ):
        """
        Args:
            options: The options to control the default precision (``default_precision``),
                the backend options (``backend_options``), and
                the runtime options (``run_options``).
        """
        self._options = Options(**options) if options else Options()
        method = "density_matrix" if "noise_model" in self.options.backend_options else "automatic"
        ops = dict(method=method) 
        ops.update(self.options.backend_options)
        self._backend = AerSimulator(**ops)