Skip to content

Incompatibility with Qiskit >=1.0 #228

@mkrompiec

Description

@mkrompiec

Issue Description

Conversion from Qiskit 1.2.4 doesn't work, do to backward-incompatible changes in Qiskit>=1.0

How to Reproduce

import tensorcircuit as tc
c = tc.Circuit(2)
c.x(0)
c.cx(0, 1)
c_ = tc.Circuit.from_qiskit(c.to_qiskit())

Error Output

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[27], line 5
      3 c.x(0)
      4 c.cx(0, 1)
----> 5 c_ = tc.Circuit.from_qiskit(c.to_qiskit())

File ~/.pyenv/versions/3.12.7/envs/main_env/lib/python3.12/site-packages/tensorcircuit/abstractcircuit.py:889, in AbstractCircuit.from_qiskit(cls, qc, n, inputs, circuit_params, binding_params)
    886 if n is None:
    887     n = qc.num_qubits
--> 889 return qiskit2tc(  # type: ignore
    890     qc.data,
    891     n,
    892     inputs,
    893     circuit_constructor=cls,
    894     circuit_params=circuit_params,
    895     binding_params=binding_params,
    896 )

File ~/.pyenv/versions/3.12.7/envs/main_env/lib/python3.12/site-packages/tensorcircuit/translation.py:464, in qiskit2tc(qcdata, n, inputs, is_dm, circuit_constructor, circuit_params, binding_params)
    462 tc_circuit: Any = Circ(**circuit_params)
    463 for gate_info in qcdata:
--> 464     idx = [qb.index for qb in gate_info[1]]
    465     gate_name = gate_info[0].name
    466     parameters = _translate_qiskit_params(gate_info, binding_params)

AttributeError: 'Qubit' object has no attribute 'index'

Environment Context

OS info: Linux-5.15.167.4-microsoft-standard-WSL2-x86_64-with-glibc2.31
Python version: 3.12.7
Numpy version: 1.26.4
Scipy version: 1.14.1
Pandas version: 2.2.3
TensorNetwork version: 0.5.1
Cotengra is not installed
TensorFlow is not installed
Jax version: 0.4.35
Jax installation doesn't support GPU
JaxLib version: 0.4.35
PyTorch is not installed
Cupy is not installed
Qiskit version: 1.2.4
Cirq version: 1.4.1
TensorCircuit version 0.12.0

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