diff --git a/qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py b/qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py index 38c0d581e8a9..95e7cadd023a 100644 --- a/qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py +++ b/qiskit/circuit/library/standard_gates/multi_control_rotation_gates.py @@ -115,8 +115,9 @@ def mcsu2_real_diagonal( if unitary.shape != (2, 2): raise QiskitError("parameter unitary in mcsu2_real_diagonal must be a 2x2 matrix") - is_main_diag_real = np.isreal(np.real_if_close(unitary).diagonal()).all() - is_secondary_diag_real = np.isreal(np.real_if_close(np.fliplr(unitary)).diagonal()).all() + unitary = np.real_if_close(unitary) + is_main_diag_real = np.isreal(unitary.diagonal()).all() + is_secondary_diag_real = np.isreal(np.fliplr(unitary).diagonal()).all() if not is_main_diag_real and not is_secondary_diag_real: raise QiskitError("parameter unitary in mcsu2_real_diagonal must have one real diagonal")