Skip to content

Commit 9bd18e3

Browse files
jakelishmanmergify[bot]
authored andcommitted
Fix deprecated Numpy logic in NormalizeRXAngles (#11023)
* Fix deprecated Numpy logic in `NormalizeRXAngles` This new pass added in gh-10634 uses some deprecated Numpy properties and has some slightly fragile exception-based logic when the required properties can be directly tested. This code issues warnings with Numpy 1.25+, which is currently not used by CI due to gh-10305. * Fix return value (cherry picked from commit 6bf90fa)
1 parent 2f76ef0 commit 9bd18e3

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

qiskit/transpiler/passes/optimization/normalize_rx_angle.py

+10-19
Original file line numberDiff line numberDiff line change
@@ -76,25 +76,16 @@ def quantize_angles(self, qubit, original_angle):
7676
float: Quantized angle.
7777
"""
7878

79-
# check if there is already a calibration for a simliar angle
80-
try:
81-
angles = self.already_generated[qubit] # 1d ndarray of already generated angles
82-
similar_angle = angles[
83-
np.isclose(angles, original_angle, atol=self.resolution_in_radian / 2)
84-
]
85-
quantized_angle = (
86-
float(similar_angle[0]) if len(similar_angle) > 1 else float(similar_angle)
87-
)
88-
except KeyError:
89-
quantized_angle = original_angle
90-
self.already_generated[qubit] = np.array([quantized_angle])
91-
except TypeError:
92-
quantized_angle = original_angle
93-
self.already_generated[qubit] = np.append(
94-
self.already_generated[qubit], quantized_angle
95-
)
96-
97-
return quantized_angle
79+
if (angles := self.already_generated.get(qubit)) is None:
80+
self.already_generated[qubit] = np.array([original_angle])
81+
return original_angle
82+
similar_angles = angles[
83+
np.isclose(angles, original_angle, atol=self.resolution_in_radian / 2)
84+
]
85+
if similar_angles.size == 0:
86+
self.already_generated[qubit] = np.append(angles, original_angle)
87+
return original_angle
88+
return float(similar_angles[0])
9889

9990
def run(self, dag):
10091
"""Run the NormalizeRXAngle pass on ``dag``.

0 commit comments

Comments
 (0)