エラー修正用の QDK をインストールする方法

QDK qdk.ec モジュールを Microsoft Quantum Development Kit (Python) からインストールして、量子エラー修正 (QEC) コードとプロトコルを開発およびテストしてください。 このモジュールでは、プロトコル モデルと永続化に qodec パッケージを使用します。

[前提条件]

開始する前に、次のツールをインストールしてください。

  • Python 3.11 以降
  • pip または別の Python パッケージ マネージャー

基本 qdk パッケージは、 Python 3.10 以降をサポートしています。 qdk.ec モジュールには、Python 依存関係があるため、qodec 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モジュールを使用しません。

Linux Arm64またはWindowsArm64にインストール

Stim は、LinuxArm64 または WindowsArm64 のホイールを公開していません。 これらのプラットフォームでは、qdk[ec] はその Stim パーサーなしで qodec をインストールします。

YAML コーデックを読み込んで保存し、カスタム回路パーサーを使用することができます。 format="stim"回線を解析する機能は、これらのプラットフォームでは機能しません。 この制限には、 qdk.ec.build_qodecが含まれます。

パーサーを有効にするには、Stim を個別にインストールしてください。 Stim をインストールするには、システムに C++20 コンパイラが必要です。

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-runtimeのバージョン 0.5.7 とdeqでdeqアダプターをテストします。

Note

deq-runtime パッケージは、WindowsArm64ホイールを公開していません。 deq アダプターには、Stim も必要ですが、これは LinuxArm64 または WindowsArm64 ホイールを公開していません。

インストールを確認する

次のコードを使用して、 Python ファイルまたは Jupyter Notebook セルを作成します。 この例では、4量子ビットの 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

stim が build_qodec 形式用のパーサーが存在しないと報告する場合は、アクティブな環境にqdk[ec]がインストールされていることを確認します。 Linux Arm64またはWindowsArm64で、ソースからStimをインストールし、Pythonまたは Jupyter カーネルを再起動します。

プロトコル開発を続行する

コードを定義し、 qodecを構築し、そのガジェットを検証するには、「 QEC プロトコルの開発と検証」を参照してください。