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

完了

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

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

  1. Visual Studio Code をインストールします。

  2. Azure Quantum 開発キット拡張機能をインストールします。

    • Visual Studio Code on the Web を開くこともできます。これには、Quantum 開発キット拡張機能が既に含まれています。
  3. 実際のハードウェアでプログラムを実行する場合は、次のものが必要です。

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

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

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

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

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

  3. 次のコードを Main.qs ファイルに貼り付けて保存します。

    operation Main() : 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 演算の前に置き、右クリックして [定義に移動] を選択します。 これにより、関数の標準ライブラリ コードの読み取り専用ビューが開きます。

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

組み込みのシミュレーターでプログラムを実行するには、Main 演算の上の [実行] をクリックするか、Ctrl + F5 キーを押します。 出力がデバッグ コンソールに表示されます。

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

Azure Quantum ワークスペースがある場合は、VS Code からそのワークスペースに接続し、Q# プログラムを Azure Quantum に送信できます。 この例では、Main.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. VS Code で、[表示] メニューを開き [コマンド パレット] を選択します。
  2. Q#:Create an Azure Quantum notebook」と入力します。
  3. Jupyter Notebook が新しいタブで開きます。サンプルに必要なパッケージをインポートするコード セルがノートブックに組み込まれ、Azure Quantum サービスに接続してから、Q# プログラムが実行されます。