-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Environment
- Qiskit version: 1.0.2
- Python version: 3.11.8
- Operating system: Ubuntu 22.04.3 LTS
What is happening?
Running the below code results in the exception copied in the "What should happen" section. I would expect the code to run without error.
This crash happens for num_ctrl_qubits>=9. For num_ctrl_qubits<9, the program hangs for a long time and I need to kill the process.
How can we reproduce the issue?
from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister
from qiskit.circuit.library.standard_gates import RZXGate
qr = QuantumRegister(11, name='qr')
cr = ClassicalRegister(11, name='cr')
qc = QuantumCircuit(qr, cr, name='qc')
qc.append(RZXGate(0.7773868957129396).control(num_ctrl_qubits=9, ctrl_state=0).power(1), qargs=qr, cargs=[])
What should happen?
Traceback (most recent call last):
File "/mnt/tests/reproduction/reproduce_too_many_subscripts_in_einsum.py", line 7, in <module>
qc.append(RZXGate(0.7773868957129396).control(num_ctrl_qubits=9, ctrl_state=0).power(1), qargs=qr, cargs=[])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/envs/qiskit1.0.2/lib/python3.11/site-packages/qiskit/circuit/gate.py", line 81, in power
return UnitaryGate(Operator(self).power(exponent), label=f"{self.name}^{exponent}")
^^^^^^^^^^^^^^
File "/root/anaconda3/envs/qiskit1.0.2/lib/python3.11/site-packages/qiskit/quantum_info/operators/operator.py", line 97, in __init__
self._data = self._init_instruction(data).data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/envs/qiskit1.0.2/lib/python3.11/site-packages/qiskit/quantum_info/operators/operator.py", line 707, in _init_instruction
op._append_instruction(instruction)
File "/root/anaconda3/envs/qiskit1.0.2/lib/python3.11/site-packages/qiskit/quantum_info/operators/operator.py", line 785, in _append_instruction
self._append_instruction(instruction.operation, qargs=new_qargs)
File "/root/anaconda3/envs/qiskit1.0.2/lib/python3.11/site-packages/qiskit/quantum_info/operators/operator.py", line 762, in _append_instruction
op = self.compose(
^^^^^^^^^^^^^
File "/root/anaconda3/envs/qiskit1.0.2/lib/python3.11/site-packages/qiskit/quantum_info/operators/operator.py", line 505, in compose
Operator._einsum_matmul(tensor, mat, indices, shift, right_mul), final_shape
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/envs/qiskit1.0.2/lib/python3.11/site-packages/qiskit/quantum_info/operators/operator.py", line 693, in _einsum_matmul
return np.einsum(tensor, indices_tensor, mat, indices_mat)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/anaconda3/envs/qiskit1.0.2/lib/python3.11/site-packages/numpy/core/einsumfunc.py", line 1371, in einsum
return c_einsum(*operands, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: too many subscripts in einsum
Any suggestions?
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working