演習 - Quantum 開発キットを使用して量子プログラムを実行する

完了

Visual Studio Code 用の Azure Quantum 開発キット (QDK) 拡張機能を使用すると、ローカル開発環境でプログラムを作成して実行できます。 Azure Quantum ワークスペースに接続し、ワークスペース用に選択したプロバイダーの量子コンピューターとシミュレーターでプログラムを実行することもできます。

必要なツールをインストールする

  1. Visual Studio Code をインストールするか、Web 用の VS Code を開きます。

  2. Azure Quantum 開発キット (Modern QDK) VS Code 拡張機能をインストールします。

  3. 実際のハードウェアでプログラムを実行する場合は、次のものが必要です。

    • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
    • Azure Quantum ワークスペース。

    ヒント

    Azure Quantum ワークスペースをお持ちの場合は、Q# プログラムを Azure Quantum に送信するときに、Azure Quantum クレジットで 500 米国ドルの無料特典を利用できます。

Visual Studio Code で Q# プログラムを作成して実行する

QDK には、Q# と量子コンピューティングについて詳しく学ぶために使用できる一連の Q# サンプルが含まれています。 サンプルを表示するには、新しい Q# ファイルを開いて「sample」と入力し、オプションの一覧から表示するサンプルを選びます。

  1. Visual Studio Code を開き、[ファイル]>[新しいテキスト ファイル] を選んで新しいファイルを作成します。

  2. このファイルを RandomNum.qs として保存します。 このファイルには、プログラムの Q# コードが含まれます。

  3. 次のコードを 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# コードを調べる

  1. H 操作の上にマウスを合わせると、定義の短い概要が表示されます。
  2. カーソルを H 操作の前に置き、右クリックして [定義に移動] を選びます。 これにより、関数の標準ライブラリ コードの読み取り専用ビューが開きます。

プログラムをローカルで実行する

  1. 組み込みのシミュレーターでプログラムをローカルにテスト実行するには、右上隅の再生アイコン ドロップダウンから [Q# ファイルの実行] を選ぶか、Ctrl + F5 キーを押します。 出力がデバッグ コンソールに表示されます。
  2. Azure Quantum に送信する前にプログラムをデバッグするには、再生アイコンから [Q# ファイルのデバッグ] を選択するか、F5 キーを押します。 上部にあるデバッグ コントロールを使用して、コードのステップ オーバー、ステップ イン、ステップ アウトを行います。

Azure Quantum に接続してジョブを送信する

Azure Quantum ワークスペースがある場合は、VS Code からそのワークスペースに接続し、Q# プログラムを Azure Quantum に送信できます。 この例では、RandomNum.qs プログラムを Rigetti シミュレーターに送信します。

  1. VS Code サイドバーのエクスプローラー ビューで QUANTUM WORKSPACES セクションを開きます。
  2. [既存のワークスペースの追加] を選択し、プロンプトに従って、優先するディレクトリ、サブスクリプション、ワークスペースに接続します。
  3. 接続したら、ワークスペースを展開し、Rigetti プロバイダーを展開します。
  4. ターゲットとして rigetti.sim.qvm を選択します。
  5. ターゲットの右側にある ⏵ (再生) アイコンをクリックするか、"Q#:Submit current Q# program" コマンドをコマンド パレットから実行します。 ポップアップが表示された場合は、[QIR ターゲット プロファイルを変更して続行する] を選択します。
  6. 入力ボックスにジョブ送信の名前とショット数を入力します。
  7. Enter キーを押してジョブを送信します。 ジョブの状態が画面の下部に表示されます。
  8. [ジョブ] を展開し、ジョブの上にカーソルを合わせると、ジョブの時刻と状態が表示されます。
  9. 結果を表示するには、ジョブ名の横にあるクラウド アイコンを選択してワークスペース ストレージから結果をダウンロードし、VS Code に表示します。

追加 - Azure Quantum ノートブックを作成する

QDK を使用すると、VS Code で Azure Quantum ノートブックを作成できます。 Azure Quantum ノートブックは、Azure Quantum ワークスペース用に選択したプロバイダーの量子コンピューターとシミュレーターで量子プログラムを実行できる Jupyter ノートブックです。

Azure Quantum ノートブックを作成するには:

  1. Visual Studio Code の [表示] メニューで、[コマンド パレット] を選択します。
  2. Q#:Create an Azure Quantum notebook」と入力します。
  3. Jupyter Notebook が新しいタブで開きます。サンプルに必要なパッケージをインポートするコード セルがノートブックに組み込まれ、Azure Quantum サービスに接続してから、Q# プログラムが実行されます。