Microsoft Quantum Development Kit (QDK) には、いくつかの量子シミュレーターと、中性原子量子コンピューター用のビジュアライザーが用意されています。 ニュートラルアトムデバイスビジュアライザーは、基本的なニュートラルアトムデバイスでプログラムが実行されたときに量子ビットがどのように移動して処理されるかを追跡できる対話型の図を生成します。 この記事では、Jupyter Notebook でビジュアライザーにアクセスして使用する方法について説明します。
シミュレーターとビジュアライザーをインストールする方法については、「QDK量子シミュレーターをインストールして実行する方法」を参照してください。
中性原子量子ビット図を作成する方法
ニュートラル原子ビジュアライザーを使用して量子ビット図を作成するには、次の手順に従います。
VS Codeで、[表示] メニューを開き、[コマンド パレット] を選択します。
「
新規作成 」を入力して選択します。 新しいタブが開き、空の Jupyter Notebook ファイルが表示されます。 必要なパッケージとオブジェクトをインポートします。 最初のセルで、次のコードを入力して実行します。
from qdk.openqasm import compile from qdk.simulation import NeutralAtomDeviceOpenQASM 回線を記述し、その回線を QIR にコンパイルします。 たとえば、次の回路では 2 つの量子ビットが絡み合います。
qasm_src = """ include "stdgates.inc"; qubit[2] qs; bit[2] r; h qs[0]; cx qs[0], qs[1]; r = measure qs; """ qir = compile(qasm_src)NeutralAtomDeviceを使用してシミュレーター オブジェクトを作成します。simulator = NeutralAtomDevice()ビジュアライザーにアクセスするには、
show_traceメソッドを呼び出し、プログラムの QIR を渡します。simulator.show_trace(qir)ビジュアライザーは出力セルに表示されます。
Note
ビジュアライザーには、量子ビット損失やその他のノイズは含まれません。
ビジュアライザーを操作する方法
ビジュアライザーには対話型の要素があり、基本的な中性原子量子コンピューター上でプログラムが実行される際の量子ビットの動作のシミュレーションを調べることができます。 デバイス図は、行と列にラベルが付いた 2D グリッドです。 グリッド位置の各ドットは、デバイス上の 1 つの中性原子量子ビットを表します。
この図には、次の 3 つのゾーンが含まれています。
| ゾーン | [説明] |
|---|---|
| ストレージ ゾーン | このゾーンには、レジスタ 1 というラベルが 付けられます。 量子ビットはストレージ ゾーンで開始され、処理または測定の準備ができるまでそこにとどまります。 量子ビットは、操作と測定の後、常にストレージ ゾーンに戻ります。 |
| 相互作用ゾーン | このゾーンでは、量子ゲートが処理のために量子ビットに適用されます。 |
| 測定ゾーン | このゾーンでは、量子ビットが測定されます。 |
ビジュアライザーの対話型要素
ビジュアライザーを操作するには、図の上部にある要素を使用します。 この図には、次の要素が含まれています。
- 再生ボタン: プログラム実行のアニメーションを再生するには、このボタンを選択します。 アニメーションは、プログラムが終了するまでプログラムの各ステップを通過します。 アニメーション中に、このボタンをもう一度選択して、現在のステップでアニメーションを一時停止します。 アニメーションが終了したら、このボタンをもう一度選択して、最初からアニメーションを開始します。
- 進むボタンと戻るボタン: 完全なアニメーションを再生せずに一度に 1 ステップずつプログラムを実行するには、これらのボタンを選択します。
- 進行状況スライダー: この要素は、プログラムの現在のステップを示します。 スライダーを動かしてプログラムを通過し、特定のステップを選択します。 各ステップで、量子ビットをポイントして、前の手順で量子ビットが移動した場所を確認します。
- サイズ変更ボタン: 上矢印ボタンを選択して図のサイズを大きくし、下矢印ボタンを選択してダイアグラムのサイズを小さくします。
- 情報アイコン: このアイコンにカーソルを合わせると、図を操作できるキーボード ショートカットの一覧が表示されます。 キーボード ショートカット F はアニメーションを高速化し、[再生] ボタンを選択すると S がアニメーションを遅くします。