mirror of https://github.com/Qiskit/qiskit-aer.git
Add private primitive attributes removed by qiskit (#2048)
* Add private primitive attributes removed by qiskit * wrong url * call private submit method * Make submission compatible with qiskit <=0.45 * Skip Operator test is qiskit >=1.0 * grr lint
This commit is contained in:
parent
9a69eb4411
commit
9f45068975
|
@ -97,6 +97,11 @@ class Estimator(BaseEstimator):
|
|||
If approximation is True, this parameter is ignored and assumed to be False.
|
||||
"""
|
||||
super().__init__(options=run_options)
|
||||
# These three private attributes used to be created by super, but were deprecated in Qiskit
|
||||
# 0.46. See https://github.com/Qiskit/qiskit/pull/11051
|
||||
self._circuits = []
|
||||
self._parameters = []
|
||||
self._observables = []
|
||||
|
||||
backend_options = {} if backend_options is None else backend_options
|
||||
method = (
|
||||
|
@ -204,7 +209,8 @@ class Estimator(BaseEstimator):
|
|||
parameter_values,
|
||||
**run_options,
|
||||
)
|
||||
job.submit()
|
||||
# The public submit method was removed in Qiskit 0.46
|
||||
(job.submit if hasattr(job, "submit") else job._submit)() # pylint: disable=no-member
|
||||
return job
|
||||
|
||||
def _compute(self, circuits, observables, parameter_values, run_options):
|
||||
|
|
|
@ -67,6 +67,11 @@ class Sampler(BaseSampler):
|
|||
skip_transpilation: if True, transpilation is skipped.
|
||||
"""
|
||||
super().__init__(options=run_options)
|
||||
# These two private attributes used to be created by super, but were deprecated in Qiskit
|
||||
# 0.46. See https://github.com/Qiskit/qiskit/pull/11051
|
||||
self._circuits = []
|
||||
self._parameters = []
|
||||
|
||||
self._backend = AerSimulator()
|
||||
backend_options = {} if backend_options is None else backend_options
|
||||
self._backend.set_options(**backend_options)
|
||||
|
@ -157,7 +162,8 @@ class Sampler(BaseSampler):
|
|||
self._circuits.append(circuit)
|
||||
self._parameters.append(circuit.parameters)
|
||||
job = PrimitiveJob(self._call, circuit_indices, parameter_values, **run_options)
|
||||
job.submit()
|
||||
# The public submit method was removed in Qiskit 0.46
|
||||
(job.submit if hasattr(job, "submit") else job._submit)() # pylint: disable=no-member
|
||||
return job
|
||||
|
||||
@staticmethod
|
||||
|
|
|
@ -20,6 +20,7 @@ from test.terra.common import QiskitAerTestCase
|
|||
|
||||
import numpy as np
|
||||
from ddt import data, ddt
|
||||
import qiskit
|
||||
from qiskit.circuit import Parameter, QuantumCircuit
|
||||
from qiskit.circuit.library import RealAmplitudes
|
||||
from qiskit.exceptions import QiskitError
|
||||
|
@ -84,6 +85,10 @@ class TestEstimator(QiskitAerTestCase):
|
|||
np.testing.assert_allclose(result.values, [-0.4], rtol=0.02)
|
||||
|
||||
@data(True, False)
|
||||
@unittest.skipUnless(
|
||||
qiskit.__version__.startswith("0."),
|
||||
reason="Operator support in primitives was removed following Qiskit 0.46",
|
||||
)
|
||||
def test_init_observable_from_operator(self, abelian_grouping):
|
||||
"""test for evaluate without parameters"""
|
||||
circuit = self.ansatz.assign_parameters([0, 1, 1, 2, 3, 5])
|
||||
|
|
Loading…
Reference in New Issue