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

使用IBM Quantum Platform遇“Failed - Instruction bfunc is not supported”错误求助

解决IBM Quantum平台中"Instruction bfunc is not supported"错误

问题根源

你的代码中存在变量名不匹配的问题:你定义的量子电路变量是circuit,但在transpile时错误使用了未定义的qc变量,这会导致转译过程生成后端不支持的bfunc指令,触发报错。同时代码中measure语句里qr和索引间的空格属于语法隐患,也需要修正。

修正后的完整代码

provider = IBMQ.get_provider(hub='ibm-q', group='open', project='main')
backend = provider.get_backend('ibm_perth')

qr = QuantumRegister(4)
cr = ClassicalRegister(2)
circuit = QuantumCircuit(qr, cr)
circuit.x(qr[0])
circuit.x(qr[1])
circuit.ccx(qr[0], qr[1], qr[2])
circuit.x(qr[1])
circuit.ccx(qr[0], qr[1], qr[3])
circuit.x(qr[0])
circuit.measure(qr[0], cr[0])
circuit.measure(qr[1], cr[1])
mapped_circuit = transpile(circuit, backend=backend)
qobj = assemble(mapped_circuit, backend=backend, shots=1)

额外优化建议

  • 保持变量名一致:确保所有引用量子电路的地方都使用正确的变量名,避免未定义变量引发的转译异常
  • 指定转译优化级别:可以在transpile时添加optimization_level=3参数,让电路更适配目标后端的硬件架构
  • 提前验证电路结构:转译后使用mapped_circuit.draw()查看电路,确认没有生成不支持的特殊指令

内容的提问来源于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.11 03:17:03