Skip to content

qiskit.qasm3.dumps raise TypeError: only length-1 arrays can be converted to Python scalars #13362

@harui2019

Description

@harui2019

Environment

  • Qiskit version:
qiskit                    1.2.4
qiskit-aer                0.15.0
qiskit-aer-gpu            0.14.2
qiskit-algorithms         0.3.0
qiskit-ibm-provider       0.11.0
qiskit-ibm-runtime        0.30.0
qiskit-qasm3-import       0.5.0
  • Python version:
Python 3.12.2 | packaged by conda-forge | (main, Feb 16 2024, 20:50:58) [GCC 12.3.0] on linux
  • Operating system:
Ubuntu 24.04.1 LTS x86_64

What is happening?

A numpy type error raised during the execution of qiskit.qasm3.dumps .

Image
Image

How can we reproduce the issue?

from qiskit import QuantumCircuit
from qiskit.quantum_info import random_unitary
from qiskit.qasm3 import dumps

qc = QuantumCircuit(4)
for i in range(4):
    qc.h(i)
    qc.append(random_unitary(2),[i])
    
print(qc.draw())

dumps(qc)

or

from qiskit import QuantumCircuit
from qiskit.quantum_info import random_unitary
from qiskit.qasm3 import dumps

qc = QuantumCircuit(4)
for i in range(4):
    qc.h(i)
    qc.append(random_unitary(2).to_instruction(),[i])
    
print(qc.draw())

dumps(qc)

What should happen?

I should be able to dump this circuit to QASM3 because qiskit.qasm2.dumps can successfully dump this circuit.

Any suggestions?

This issue appears to be mentioned in #12013 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions