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

如何在IBM Backend单个Job中运行多量子电路?报错求助

解决批量提交量子电路至IBM Cloud的报错问题

错误原因

你在调用backend.run()时传入了dynamic=True参数,但IBM量子后端的run()方法并不支持该关键字参数,这是导致报错的直接原因。

修正方案

移除无效的dynamic参数即可正常提交批量电路任务,同时可以优化代码结构让批量处理更简洁:

def circuit():
    qr = QuantumRegister(2)
    cr = ClassicalRegister(2)
    circuit = QuantumCircuit(qr, cr)
    circuit.x(qr[1])
    circuit.x(qr[0]).c_if(cr, 1) # c_if(cr, 2) 表示Cr=010(当a<b时)
    circuit.x(qr[0])
    circuit.measure(0, 0)
    circuit.measure(1, 1)             
    return circuit


hub = "ibm-q"
group = "open"
project = "main"
backend_name = "ibm_brisbane"
hgp = f"{hub}/{group}/{project}"
provider = IBMProvider()
backend = provider.get_backend(backend_name, instance=hgp)

# 批量生成并转译电路,替代逐个定义的冗余写法
circuits = [transpile(circuit(), backend) for _ in range(3)]

# 提交批量任务,移除不支持的dynamic参数
job = backend.run(circuits, shots=1024)

补充说明

如果你的目标是使用动态电路功能,需要注意:IBM量子后端的动态电路支持是基于电路本身的结构(比如包含c_if这类条件操作),而非通过run()方法的dynamic参数开启。只要电路符合动态电路要求,且你使用的后端(如ibm_brisbane)支持动态电路,提交时无需额外参数即可正常运行。

内容的提问来源于stack exchange,提问作者Engr. Khuram Shahzad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 14:25:21