如何安裝QDK以進行錯誤更正

從 Microsoft Quantum Development Kit(Python)安裝 QDKqdk.ec 模組,以開發並測試量子錯誤更正(QEC)碼與協定。 模組使用該 qodec 套件用於協定模型與持久化。

Prerequisites

在開始前先安裝這些工具:

  • Python 3.11 或更新版本
  • pip 或是其他 Python 套件管理器

基礎 qdk 套件支援 Python 3.10 或更新版本。 模組qodec由於其Python依賴性,需要qdk.ec 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 extra 會安裝 qodecStim、支援平台上的剖析器,以及 qdk.ec 使用的代數和求解器套件。 它也包含 HiGHS 距離搜尋功能。

Note

模組qdk.ec透過qodec使用獨立的StimPython套件。 它沒有使用 qdk.stim 模組。

安裝於 LinuxArm64 或 WindowsArm64

Stim不發布適用於 LinuxWindows 或 Arm64Arm64 的 wheel 套件。 在這些平台上,qdk[ec] 安裝不含其 Stim 剖析器的 qodec。

你可以載入並儲存 YAML qodecs,並使用自訂的電路解析器。 可解析 format="stim" 電路的功能在這些平台上無法運作。 此限制事項包括 qdk.ec.build_qodec。

要啟用解析器,請另外安裝 Stim 。 你的系統需要一個 C++C20 編譯器來安裝 Stim。

python -m pip install --upgrade stim

安裝可選的 distance 與解碼器套件

預設距離求解器使用 HiGHS,而 qdk.ec 模組包含 HiGHS。 要選擇可選 MWPF 的求解器,請另行安裝 mwpf 。

python -m pip install mwpf

若要搭配 qdk.simulation.run_qir 使用 deq 電路層級解碼器,請安裝 deq 和 deq-runtime。

python -m pip install deq deq-runtime

QDK使用deq-runtime和deq的 0.5.7 版測試deq轉接器。

Note

deq-runtime這個套件不會發佈WindowsArm64wheel 套件。 deq轉接器也需要 Stim,其未發佈 LinuxArm64 或 WindowsArm64 wheel 套件。

確認安裝情況

建立 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 協定」。