-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Closed
Labels
bugSomething isn't workingSomething isn't workingmod: qpyRelated to QPY serializationRelated to QPY serialization
Description
Environment
- Qiskit version: 1.4.2, 2.0.0rc2
- Python version: 3.12.9
- Operating system: macOS 15.3.2
What is happening?
A circuit of ZZFeatureMap dumped to QPY 13 raises an error when loading as follows.
This issue seems to cause Qiskit/qiskit-ibm-runtime#2183
How can we reproduce the issue?
from io import BytesIO
from qiskit import __version__ as qiskit_version
from qiskit import qpy
from qiskit.circuit.library import ZZFeatureMap, zz_feature_map
def qpy_dump_load(qc, version):
with BytesIO() as obj:
qpy.dump(qc, obj, version=version)
obj.seek(0)
qc = qpy.load(obj)[0]
return qc
print(f"{qiskit_version=}")
num_qubits = 2
for qpy_version in [11, 13]:
print(f"{qpy_version=}")
print("zz_feature_map")
qc = zz_feature_map(num_qubits, reps=1)
qc = qpy_dump_load(qc, qpy_version)
params = [0] * qc.num_parameters
qc.assign_parameters(params, inplace=True)
print("OK")
print("ZZFeatureMap")
qc = ZZFeatureMap(num_qubits, reps=1)
qc = qpy_dump_load(qc, qpy_version)
params = [0] * qc.num_parameters
qc.assign_parameters(params, inplace=True)
print("OK")
qiskit_version='1.4.2'
qpy_version=11
zz_feature_map
OK
ZZFeatureMap
OK
qpy_version=13
zz_feature_map
OK
ZZFeatureMap
Traceback (most recent call last):
File "/Users/ima/tasks/5_2025/scripts/2025/terra/zzfeat2.py", line 30, in <module>
qc = qpy_dump_load(qc, qpy_version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ima/tasks/5_2025/scripts/2025/terra/zzfeat2.py", line 12, in qpy_dump_load
qc = qpy.load(obj)[0]
^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/interface.py", line 383, in load
loader(
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/binary_io/circuits.py", line 1449, in read_circuit
custom_operations = _read_custom_operations(file_obj, version, vectors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/binary_io/circuits.py", line 617, in _read_custom_operations
definition_circuit = common.data_from_binary(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/common.py", line 267, in data_from_binary
obj = deserializer(container, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/binary_io/circuits.py", line 1451, in read_circuit
_read_instruction(
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/binary_io/circuits.py", line 297, in _read_instruction
param = _loads_instruction_parameter(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/binary_io/circuits.py", line 201, in _loads_instruction_parameter
param = value.loads_value(
^^^^^^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/binary_io/value.py", line 988, in loads_value
return common.data_from_binary(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/common.py", line 267, in data_from_binary
obj = deserializer(container, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/binary_io/value.py", line 531, in _read_parameter_expression_v13
symbol = _read_parameter_vec(file_obj, vectors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/qpy/binary_io/value.py", line 416, in _read_parameter_vec
if vector[data.index].uuid != param_uuid:
~~~~~~^^^^^^^^^^^^
File "/Users/ima/envs/qiskit/lib/python3.12/site-packages/qiskit/circuit/parametervector.py", line 98, in __getitem__
return self.params[key]
~~~~~~~~~~~^^^^^
IndexError: list index out of range
What should happen?
No error with QPY 13
Any suggestions?
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingmod: qpyRelated to QPY serializationRelated to QPY serialization