演習 - Quantum 開発キットを使用して量子プログラムを実行する
Visual Studio Code 用の Azure Quantum 開発キット (QDK) 拡張機能を使用すると、ローカル開発環境でプログラムを作成して実行できます。 Azure Quantum ワークスペースに接続し、ワークスペース用に選択したプロバイダーの量子コンピューターとシミュレーターでプログラムを実行することもできます。
必要なツールをインストールする
Visual Studio Code をインストールするか、Web 用の VS Code を開きます。
Azure Quantum 開発キット (Modern QDK) VS Code 拡張機能をインストールします。
実際のハードウェアでプログラムを実行する場合は、次のものが必要です。
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- Azure Quantum ワークスペース。
ヒント
Azure Quantum ワークスペースをお持ちの場合は、Q# プログラムを Azure Quantum に送信するときに、Azure Quantum クレジットで 500 米国ドルの無料特典を利用できます。
Visual Studio Code で Q# プログラムを作成して実行する
QDK には、Q# と量子コンピューティングについて詳しく学ぶために使用できる一連の Q# サンプルが含まれています。 サンプルを表示するには、新しい Q# ファイルを開いて「sample
」と入力し、オプションの一覧から表示するサンプルを選びます。
Visual Studio Code を開き、[ファイル]>[新しいテキスト ファイル] を選んで新しいファイルを作成します。
このファイルを
RandomNum.qs
として保存します。 このファイルには、プログラムの Q# コードが含まれます。次のコードを
RandomNum.qs
ファイルに貼り付けて保存します。namespace Sample { @EntryPoint() operation RandomBit() : Result { // Qubits are only accessible for the duration of the scope where they // are allocated and are automatically released at the end of the scope. use qubit = Qubit(); // Set the qubit in superposition by applying a Hadamard transformation. H(qubit); // Measure the qubit. There is a 50% probability of measuring either // `Zero` or `One`. let result = M(qubit); // Reset the qubit so it can be safely released. Reset(qubit); return result; } }
Q# コードを調べる
H
操作の上にマウスを合わせると、定義の短い概要が表示されます。- カーソルを
H
操作の前に置き、右クリックして [定義に移動] を選びます。 これにより、関数の標準ライブラリ コードの読み取り専用ビューが開きます。
プログラムをローカルで実行する
- 組み込みのシミュレーターでプログラムをローカルにテスト実行するには、右上隅の再生アイコン ドロップダウンから [Q# ファイルの実行] を選ぶか、Ctrl + F5 キーを押します。 出力がデバッグ コンソールに表示されます。
- Azure Quantum に送信する前にプログラムをデバッグするには、再生アイコンから [Q# ファイルのデバッグ] を選択するか、F5 キーを押します。 上部にあるデバッグ コントロールを使用して、コードのステップ オーバー、ステップ イン、ステップ アウトを行います。
Azure Quantum に接続してジョブを送信する
Azure Quantum ワークスペースがある場合は、VS Code からそのワークスペースに接続し、Q# プログラムを Azure Quantum に送信できます。 この例では、RandomNum.qs
プログラムを Rigetti シミュレーターに送信します。
- VS Code サイドバーのエクスプローラー ビューで QUANTUM WORKSPACES セクションを開きます。
- [既存のワークスペースの追加] を選択し、プロンプトに従って、優先するディレクトリ、サブスクリプション、ワークスペースに接続します。
- 接続したら、ワークスペースを展開し、Rigetti プロバイダーを展開します。
- ターゲットとして rigetti.sim.qvm を選択します。
- ターゲットの右側にある ⏵ (再生) アイコンをクリックするか、"Q#:Submit current Q# program" コマンドをコマンド パレットから実行します。 ポップアップが表示された場合は、[QIR ターゲット プロファイルを変更して続行する] を選択します。
- 入力ボックスにジョブ送信の名前とショット数を入力します。
- Enter キーを押してジョブを送信します。 ジョブの状態が画面の下部に表示されます。
- [ジョブ] を展開し、ジョブの上にカーソルを合わせると、ジョブの時刻と状態が表示されます。
- 結果を表示するには、ジョブ名の横にあるクラウド アイコンを選択してワークスペース ストレージから結果をダウンロードし、VS Code に表示します。
追加 - Azure Quantum ノートブックを作成する
QDK を使用すると、VS Code で Azure Quantum ノートブックを作成できます。 Azure Quantum ノートブックは、Azure Quantum ワークスペース用に選択したプロバイダーの量子コンピューターとシミュレーターで量子プログラムを実行できる Jupyter ノートブックです。
Azure Quantum ノートブックを作成するには:
- Visual Studio Code の [表示] メニューで、[コマンド パレット] を選択します。
- 「Q#:Create an Azure Quantum notebook」と入力します。
- Jupyter Notebook が新しいタブで開きます。サンプルに必要なパッケージをインポートするコード セルがノートブックに組み込まれ、Azure Quantum サービスに接続してから、Q# プログラムが実行されます。