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

如何运行Qiskit中的QuantumCircuit?无需拆分可视化与执行代码

运行QuantumCircuit并获取输出(无需拆分可视化与执行程序)

当然可以,你完全能在同一个脚本里完成量子电路的构建、可视化、模拟执行以及结果输出,不需要拆分程序。下面是整合后的代码示例:

# importing Qiskit
from qiskit import IBMQ, Aer
from qiskit.providers.ibmq import least_busy
from qiskit import QuantumCircuit, transpile, assemble

# import basic plot tools
from qiskit.visualization import plot_histogram
# from qiskit_textbook.tools import simon_oracle

deutsch_circuit = QuantumCircuit(2, 1)

deutsch_circuit.h(0)    
deutsch_circuit.x(1)
deutsch_circuit.h(1)
deutsch_circuit.cx(0, 1)

deutsch_circuit.h(0)

deutsch_circuit.measure(0, 0)

# 可视化量子电路
deutsch_circuit.draw()  # 普通脚本会弹出窗口显示;Jupyter环境直接渲染

# 选择Qiskit Aer模拟器
simulator = Aer.get_backend('qasm_simulator')
# 编译电路以适配后端
compiled_circuit = transpile(deutsch_circuit, simulator)
# 执行电路,设置shots为测量次数
job = simulator.run(compiled_circuit, shots=1024)
# 获取执行结果
result = job.result()
counts = result.get_counts(deutsch_circuit)

# 输出测量统计结果
print("测量结果统计:", counts)
# 绘制结果直方图
plot_histogram(counts).show()  # 普通脚本弹出窗口;Jupyter环境可改用display(plot_histogram(counts))

关键说明:

  • 可视化与执行整合:脚本中先通过deutsch_circuit.draw()完成电路可视化,接着直接调用模拟器执行电路并获取结果,全程无需拆分程序。
  • 模拟器执行逻辑:
    1. Aer.get_backend('qasm_simulator')选择经典模拟器来模拟量子电路运行。
    2. transpile用于将电路编译为后端可识别的格式,适配不同模拟器或真实量子硬件。
    3. simulator.run()执行电路,shots参数指定重复测量的次数。
    4. result.get_counts()提取各测量结果的出现次数。
  • 环境适配:如果在Jupyter Notebook中运行,用display(deutsch_circuit.draw())和display(plot_histogram(counts))会更适配交互式环境;普通Python脚本则用draw()和plot_histogram(counts).show()弹出图形窗口。

如果后续需要在真实量子硬件上运行,只需替换模拟器为IBMQ的硬件后端,流程完全一致,同样可以在同一个脚本内完成所有操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:05:32