Skip to content

Commit e722c97

Browse files
authored
Update EstimatorV2 result decoder (#1461)
* Update EstimatorV2 result decoder * Remove unused code * Remove trailing spaces * Linting
1 parent 11f7793 commit e722c97

File tree

2 files changed

+12
-29
lines changed

2 files changed

+12
-29
lines changed

qiskit_ibm_runtime/runtime_job.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -234,14 +234,7 @@ def result( # pylint: disable=arguments-differ
234234
self._api_client.job_results(job_id=self.job_id())
235235
)
236236

237-
version_param = {}
238-
# TODO: Remove getting/setting version once it's in result metadata
239-
if _decoder.__name__ == EstimatorResultDecoder.__name__:
240-
if not self._version:
241-
self._version = self.inputs.get("version", 1)
242-
version_param["version"] = self._version
243-
244-
return _decoder.decode(result_raw, **version_param) if result_raw else None # type: ignore
237+
return _decoder.decode(result_raw) if result_raw else None # type: ignore
245238

246239
def cancel(self) -> None:
247240
"""Cancel the job.

qiskit_ibm_runtime/utils/estimator_result_decoder.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212

1313
"""Estimator result decoder."""
1414

15-
from typing import Dict
15+
from typing import Dict, Union
1616
import numpy as np
1717

1818
from qiskit.primitives import EstimatorResult
19-
from qiskit.primitives.containers import PrimitiveResult, make_data_bin, PubResult
19+
from qiskit.primitives.containers import PrimitiveResult
2020

2121
from .result_decoder import ResultDecoder
2222

@@ -26,24 +26,14 @@ class EstimatorResultDecoder(ResultDecoder):
2626

2727
@classmethod
2828
def decode( # type: ignore # pylint: disable=arguments-differ
29-
cls, raw_result: str, version: int
30-
) -> EstimatorResult:
29+
cls, raw_result: str
30+
) -> Union[EstimatorResult, PrimitiveResult]:
3131
"""Convert the result to EstimatorResult."""
3232
decoded: Dict = super().decode(raw_result)
33-
if version == 2:
34-
out_results = []
35-
for val, meta in zip(decoded["values"], decoded["metadata"]):
36-
if not isinstance(val, np.ndarray):
37-
val = np.asarray(val)
38-
data_bin_cls = make_data_bin(
39-
[("evs", np.ndarray), ("stds", np.ndarray)], shape=val.shape
40-
)
41-
out_results.append(
42-
PubResult(data=data_bin_cls(val, meta.pop("standard_error")), metadata=meta)
43-
)
44-
# TODO what metadata should be passed in to PrimitiveResult?
45-
return PrimitiveResult(out_results, metadata=decoded["metadata"])
46-
return EstimatorResult(
47-
values=np.asarray(decoded["values"]),
48-
metadata=decoded["metadata"],
49-
)
33+
if isinstance(decoded, PrimitiveResult):
34+
return decoded
35+
else:
36+
return EstimatorResult(
37+
values=np.asarray(decoded["values"]),
38+
metadata=decoded["metadata"],
39+
)

0 commit comments

Comments
 (0)