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

Qiskit 2025中如何从PrimitiveResult获取量子硬件运行计数?

Qiskit 2025更新后从PrimitiveResult提取硬件计数的正确方法
  • 新版Qiskit的Sampler返回的PrimitiveResult(实际为SamplerResult)中,每个电路的结果以**准分布(QuasiDistribution)**形式存储,无需手动计算,直接用内置方法即可转换为计数。

  • 修正后的完整代码:

with Session(backend=backend) as session:
    sampler = Sampler()
    # 若需指定采样次数,初始化时可设置:Sampler(options={"shots": 1024})
    job = sampler.run(circ_list_t)
    result = job.result()

# 提取每个电路的计数
for circuit_idx, quasi_dist in enumerate(result.quasi_dists):
    # 调用准分布内置方法直接转换为计数
    counts = quasi_dist.to_counts()
    print(f"第{circuit_idx+1}个电路的计数: {counts}")
  • 关键说明:

    1. result.quasi_dists是列表,顺序与传入的circ_list_t电路列表完全对应
    2. QuasiDistribution.to_counts()会自动根据采样次数(shots)将概率转为整数计数,处理了浮点精度和四舍五入问题,比手动实现更可靠
    3. 若需强制指定采样次数,可传入参数:quasi_dist.to_counts(shots=2048)
  • 旧方法失效原因:
    新版Qiskit重构了PrimitiveResult的结构,不再通过data.meas路径获取准分布,需直接通过result.quasi_dists访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:37:35