qiskit-aer icon indicating copy to clipboard operation
qiskit-aer copied to clipboard

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

Open zlatko-minev opened this issue 3 months ago • 0 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)

zlatko-minev avatar May 01 '24 12:05 zlatko-minev