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.
|
If approximation is True, this parameter is ignored and assumed to be False.
|
||||||
"""
|
"""
|
||||||
super().__init__(options=run_options)
|
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
|
backend_options = {} if backend_options is None else backend_options
|
||||||
method = (
|
method = (
|
||||||
|
@ -204,7 +209,8 @@ class Estimator(BaseEstimator):
|
||||||
parameter_values,
|
parameter_values,
|
||||||
**run_options,
|
**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
|
return job
|
||||||
|
|
||||||
def _compute(self, circuits, observables, parameter_values, run_options):
|
def _compute(self, circuits, observables, parameter_values, run_options):
|
||||||
|
|
|
@ -67,6 +67,11 @@ class Sampler(BaseSampler):
|
||||||
skip_transpilation: if True, transpilation is skipped.
|
skip_transpilation: if True, transpilation is skipped.
|
||||||
"""
|
"""
|
||||||
super().__init__(options=run_options)
|
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()
|
self._backend = AerSimulator()
|
||||||
backend_options = {} if backend_options is None else backend_options
|
backend_options = {} if backend_options is None else backend_options
|
||||||
self._backend.set_options(**backend_options)
|
self._backend.set_options(**backend_options)
|
||||||
|
@ -157,7 +162,8 @@ class Sampler(BaseSampler):
|
||||||
self._circuits.append(circuit)
|
self._circuits.append(circuit)
|
||||||
self._parameters.append(circuit.parameters)
|
self._parameters.append(circuit.parameters)
|
||||||
job = PrimitiveJob(self._call, circuit_indices, parameter_values, **run_options)
|
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
|
return job
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
|
@ -20,6 +20,7 @@ from test.terra.common import QiskitAerTestCase
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from ddt import data, ddt
|
from ddt import data, ddt
|
||||||
|
import qiskit
|
||||||
from qiskit.circuit import Parameter, QuantumCircuit
|
from qiskit.circuit import Parameter, QuantumCircuit
|
||||||
from qiskit.circuit.library import RealAmplitudes
|
from qiskit.circuit.library import RealAmplitudes
|
||||||
from qiskit.exceptions import QiskitError
|
from qiskit.exceptions import QiskitError
|
||||||
|
@ -84,6 +85,10 @@ class TestEstimator(QiskitAerTestCase):
|
||||||
np.testing.assert_allclose(result.values, [-0.4], rtol=0.02)
|
np.testing.assert_allclose(result.values, [-0.4], rtol=0.02)
|
||||||
|
|
||||||
@data(True, False)
|
@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):
|
def test_init_observable_from_operator(self, abelian_grouping):
|
||||||
"""test for evaluate without parameters"""
|
"""test for evaluate without parameters"""
|
||||||
circuit = self.ansatz.assign_parameters([0, 1, 1, 2, 3, 5])
|
circuit = self.ansatz.assign_parameters([0, 1, 1, 2, 3, 5])
|
||||||
|
|
Loading…
Reference in New Issue