中性原子デバイス ハードウェアで量子プログラムをシミュレートする

Microsoft Quantum Development Kit (QDK) には、実際の量子ハードウェアで実行する前に、量子プログラムの評価と反復処理に使用できる一連のシミュレーション ツールが用意されています。 ニュートラルアトムデバイスシミュレーションAPIは、量子ビット損失や量子ビット移動などのニュートラル原子量子コンピュータ上でプログラムが実行されるときに発生するノイズおよび量子ビット演算の種類をモデル化します。 ニュートラルアトム ハードウェアで量子プログラムを実行する場合は、ニュートラルアトム デバイス シミュレーション API を使用してコードをテストおよび調整してください。

中性原子量子コンピューターのしくみ

中立原子デバイスは、現在の量子コンピューター ハードウェア テクノロジの 1 つです。 その他の技術としては、超電導量子ビット、トラップイオン量子ビット、トポロジカル量子ビットなどがあります。 各テクノロジには、独自の長所と欠点があります。 中性原子量子コンピューターは、優れたスケーラビリティ、柔軟な量子ビット接続、長いコヒーレンス時間を提供しますが、ゲート忠実性とレーザー制御の複雑さの課題に直面しています。

ニュートラルアトムデバイスの正確な量子ビット技術は、特定のアーキテクチャに依存します。 しかし、一般に、各量子ビットは単一の電気的に中立な原子です。 量子ビット 0 と 1 の状態は、原子のさまざまなエネルギー状態に対応します。 これらの原子は、デバイス上の 2D 配列または 3D 配列に配置されます。 レーザーは原子を所定の位置にトラップし、デバイス上の異なるゾーン間で原子を移動して、保存、測定、量子ゲートを実行する相互作用を行います。

QDK の中性原子デバイスシミュレーションツール

QDKにおける中性原子デバイス シミュレーションは、中性原子量子ハードウェアの次の特性をモデル化します。

  • デバイスには、$S_X$、$R_Z$、および $CZ$ ゲートのみが含まれます。
  • 量子ビットは、デバイス上のストレージ、相互作用、および測定ゾーンの間を物理的に移動します。

プログラムの形式によって、どの中性原子デバイス シミュレーション API を使用するかが決まります。

API QDK モジュール 入力形式 サポートされているシミュレーター
NeutralAtomDevice qdk.simulation QIR Stabilizer、 GPU、および CPU
NeutralAtomBackend qdk.qiskit Qiskit Stabilizer、 GPU、および CPU

どちらの API も、量子ビット移動命令を持ち、ニュートラルアトム デバイスがサポートするゲートのみを含む QIR にプログラムをコンパイルします。

"stabilizer"と"clifford"の両方で、スタビライザー バックエンドを選択します。 ニュートラル アトム デバイス シミュレーションでこのバックエンドを選択する場合、コンパイルされた $R_Z$ 回転には Clifford と互換性のある角度が必要です。 他の $R_Z$ 角度を含む中性原子回路には、 CPU または GPU シミュレーターを使用します。

QDKの量子シミュレーションの詳細については、QDKの量子シミュレーターの概要を参照してください。

ニュートラルアトムデバイスビジュアライザー

NeutralAtomDevice API には、Jupyter Notebook メソッドを介した show_trace 用のニュートラル アトム デバイス ビジュアライザーが含まれています。 ビジュアライザーは、プログラムの実行時に量子ビットが基本的なニュートラルアトム デバイスを通過する方法を示す対話型の図を作成します。 ビジュアライザーには、量子ビット損失やその他のノイズの影響は含まれません。

Jupyter Notebook 内の中性原子デバイス ビジュアライザーのスクリーンショット。

ニュートラルアトムデバイスビジュアライザーの詳細については、「 ニュートラルアトムデバイスビジュアライザーの使用方法」を参照してください。

中性原子デバイスシミュレーションのためのノイズモデル

QDK Python パッケージ内の量子シミュレーターは、qdk.simulation モジュールのNoiseConfig クラスを使用して、シミュレーションにノイズ モデルを追加します。 NeutralAtomDeviceまたはNeutralAtomBackend API を使用してシミュレーションを実行する場合、ノイズ モデルには、ニュートラルアトム デバイス ゲートからのノイズ、量子ビットの移動、測定のみが含まれます。

QDKのニュートラルアトムデバイスノイズモデルの詳細については、「QDKでニュートラルアトムデバイスシミュレーション用のノイズモデルを構築する方法」を参照してください。

ニュートラル アトム デバイス シミュレーションの始め方

QDK Python パッケージで量子シミュレーションを開始するには、「QDKPython パッケージを使用して量子シミュレーションを実行する」を参照してください。

ニュートラルアトム デバイス ビジュアライザーの使用方法については、「ニュートラルア トム デバイス ビジュアライザーの使用方法」を参照してください。