You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qiskit中QuantumCircuit无cnot属性报错,求新版本替代方法

解决Qiskit中'QuantumCircuit'对象无'cnot'属性的错误

问题原因

Qiskit新版本已废弃并移除了QuantumCircuit.cnot()方法,直接调用会触发AttributeError: 'QuantumCircuit' object has no attribute 'cnot'。

替代方案

Qiskit中控制非门(CNOT)的标准调用方式是使用QuantumCircuit.cx()方法,参数顺序与原cnot()完全一致,即qc.cx(控制量子位索引, 目标量子位索引)。

修改后的代码

将原代码中的qc.cnot()替换为qc.cx()即可,修改后的完整代码如下:

from qiskit import QuantumCircuit
from qiskit.circuit import Parameter

def ans(n, depth):
    qc = QuantumCircuit(n)
    for j in range(depth):
        for i in range(n):
            param_name = f'theta_{j}_{i}'
            theta_param = Parameter(param_name)
            qc.rx(theta_param, i)
            qc.ry(theta_param, i)
            qc.rz(theta_param, i)
    for i in range(n):
        if i == n-1:
            qc.cx(i, 0)
        else:
            qc.cx(i, i+1)
    return qc

补充说明

复现旧教程代码时若遇到API差异,建议优先参考当前使用的Qiskit版本的官方文档确认接口变化。

内容的提问来源于stack exchange,提问作者Viswanath Hemanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 06:44:53