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 プロジェクトから分離します。
たとえば
.venvのように、仮想環境を作成します。python -m venv .venv環境をアクティブにします。
Windows の場合:
.venv\Scripts\Activate.ps1LinuxまたはmacOSの場合:
source .venv/bin/activateアクティブな環境で 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も含まれています。
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 プロトコルの開発と検証」を参照してください。