你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

如何安装 QDK 以进行错误更正

安装 Microsoft Quantum 开发工具包(Python)中的 QDKqdk.ec 模块,以开发和测试量子误差更正(QEC)代码和协议。 该模块将 qodec 包用于协议模型和持久性。

Prerequisites

在开始之前安装这些工具:

  • Python 3.11 或更高版本
  • pip 或其他 Python 包管理器

基本 qdk 包支持 Python 3.10 或更高版本。 由于其 qodec 依赖项,模块 qdk.ec 需要 Python 3.11 或更高版本。

(可选)创建虚拟环境

使用虚拟环境使 qdk.ec 依赖项与其他 Python 项目分开。

  1. 例如 .venv,创建虚拟环境。

    python -m venv .venv
    
  2. 激活该环境。

    在 Windows 上:

    .venv\Scripts\Activate.ps1
    

    在 Linux 或 macOS 上:

    source .venv/bin/activate
    
  3. 在当前激活的环境中更新 pip。

    python -m pip install --upgrade pip
    

安装 QDK 以进行纠错

使用 ec 额外组件安装 qdkPython 包。

python -m pip install --upgrade "qdk[ec]"

若要使用 Jupyter Notebook 和 QDK 小组件,还需安装 jupyter 扩展。

python -m pip install --upgrade "qdk[ec,jupyter]" ipykernel

ec 额外组件在支持的平台上安装 qodec、Stim 解析器,以及 qdk.ec 使用的代数和求解器包。 它还包括用于距离搜索的 HiGHS。

Note

该qdk.ec模块通过使用单独的Python。 它不使用 qdk.stim 模块。

安装到 LinuxArm64 或 WindowsArm64

Stim不为 LinuxWindows 或 Arm64Arm64 发布 wheel 包。 在这些平台上,qdk[ec] 安装 qodec 时不带其 Stim 解析器。

可以加载并保存 YAML qodec,并使用自定义电路解析器。 解析 format="stim" 线路的功能在这些平台上不起作用。 此限制包括 qdk.ec.build_qodec。

若要启用分析程序,请单独安装 Stim 。 你的系统需要 C++20 编译器才能安装 Stim。

python -m pip install --upgrade stim

安装可选的距离和解码器包

默认距离求解器使用 qdk.ec 模块包含的 HiGHS。 若要选择可选 MWPF 求解器,请单独安装 mwpf 。

python -m pip install mwpf

要将 deq 线路级解码器与 qdk.simulation.run_qir 一起使用,请安装 deq 和 deq-runtime。

python -m pip install deq deq-runtime

QDK 使用 deq 和 deq-runtime 的 0.5.7 版本测试 deq 适配器。

Note

该 deq-runtime 包不发布 WindowsArm64 wheel 包。 deq 适配器还需要 Stim,后者不发布 LinuxArm64 或 WindowsArm64 轮文件。

验证安装

使用以下代码创建Python文件或Jupyter Notebook单元格。 该示例定义四量子比特 C4 代码并检查其距离。

import qodec
from qdk import ec

c4 = qodec.Code(
    "C4",
    stabilizers=["X_0 X_1 X_2 X_3", "Z_0 Z_1 Z_2 Z_3"],
    x=["X_0 X_1", "X_0 X_2"],
    z=["Z_0 Z_2", "Z_0 Z_1"],
)

distance = ec.CodeProfile(c4).distance()
print("Code distance:", distance)
assert distance.value == 2

程序输出此结果:

Code distance: 2

如果导入和距离搜索成功,则核心 qdk.ec 依赖项已准备就绪。

验证是否支持 Stim

在支持 Stim 分析程序的平台上运行此检查。

from qdk import ec

protocol = ec.build_qodec(c4, strategy="bare-css/v1", strict=False)
print(ec.audit(protocol))

正确生成的协议会打印审核摘要。 通过所有检查的协议会打印:

audit: ok

如果 build_qodec 报告没有用于 stim 格式的解析器,请确认你已在活动环境中安装 qdk[ec] 。 在 LinuxArm64 或 WindowsArm64 上,从源代码安装 Stim 并重启 Python 或 Jupyter 内核。

继续协议开发

要定义代码,请构建 qodec,并验证其小工具,请参阅开发和验证 QEC 协议。