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

使用Python3实现Qiskit量子傅里叶变换时遇cu1属性错误求助

解决Qiskit中'QuantumCircuit'无'cu1'属性的问题

问题原因

Qiskit版本迭代后,cu1()方法已被移除,该方法原本用于实现受控U1相位旋转操作,现在官方推荐使用cp()方法(受控相位门)替代,二者功能完全一致。

解决方案

直接将代码中的cu1调用替换为cp即可:

  • 原错误调用:
your_circuit.cu1(theta, control_qubit, target_qubit)
  • 替换后:
your_circuit.cp(theta, control_qubit, target_qubit)

如果需要通过门对象的方式添加,也可以这样写(需额外导入对应门类):

from qiskit.circuit.library import CU1Gate
your_circuit.append(CU1Gate(theta), [control_qubit, target_qubit])

示例代码

# 导入依赖
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
from math import pi
from qiskit import *

# 创建量子线路并使用cp替代cu1
qc = QuantumCircuit(2)
qc.cp(pi/2, 0, 1)  # 替代原qc.cu1(pi/2, 0, 1)
qc.draw()

内容的提问来源于stack exchange,提问作者Nujud Alyami

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 22:47:01