Q# プログラムを実行するさまざまな方法

Azure Quantum には、量子プログラムを記述して実行するためのさまざまな開発オプションが用意されています。 各環境では、Q# プログラミング言語を含む一連のオープンソース ツールである Quantum Development Kit (QDK) が使用されます。 詳細については、「 Q# への導入」を参照してください。

この記事では、各オプションの違いと、ニーズに適したオプションを選択する方法について説明します。

Q# プログラムを実行するためのオプション

Azure Quantum は、次の 3 つの開発環境で利用できます。

  • Azure Quantum Web サイト: Copilot を使用して、ブラウザーで Q# コードを記述、実行、説明します。 インストールも Azure アカウントも必要ありません。
  • Azure portal: Azure サブスクリプションと Azure Quantum ワークスペースを管理します。ここでは、Jupyter Notebooks で Q# プログラムと Python プログラムを作成して実行できます。 インストールは必要ありません。
  • Visual Studio Code: Q# をスタンドアロン プログラムとして使用するか、Python を使用して、ローカル環境で量子コードを記述、実行、デバッグします。 インストールが必要です。

Q# プログラムを実行するために選択するオプションは、コーディングエクスペリエンス、量子知識、目標によって異なります。 各オプションには異なる機能があるため、通常は、Azure portal で量子ワークスペースを管理しながら、VS Code で QDK 拡張機能を使用して Q# プログラムを記述するなど、それらを組み合わせて使用します。 詳細については、後の表を参照してください。

  Azure Quantum Web サイト Azure portal Visual Studio Code
組み込みの Q# サポート   ✔*
QPU アクセス     ✔ **
Jupyter Notebooks  
Resource Estimator  
Python のサポート  
Cirq と Qiskit のサポート  
統合ハイブリッド    
ローカル セットアップ    
Quantum ワークスペースの作成    

* VS Code では、CodeLens、IntelliSense、デバッグなどの豊富な Q# サポートが提供されます。

** VS Code での QPU アクセスには、Azure サブスクリプションが必要です。

Azure Quantum Web サイト

Azure Quantum Web サイトではオンライン コード エディターで Q# プログラムを実行できます。インストールも Azure アカウントも必要ありません。 独自の Q# コードを記述し、組み込みの Q# サンプルを調べるか、コードに対して Copilot にプロンプトを表示します。

Azure Quantum Web サイトには、量子の専門家や愛好家からのブログ、記事、ビデオも用意されています。 Quantum Katas量子コンピューティングと Q# の基礎に関する自己ペースのチュートリアルで知識を深めます。

詳細については、「 Explore Azure Quantum」を参照してください。

Azure Quantum Web サイトは自分に適していますか?

Azure Quantum Web サイトを使用すると、ブラウザーで Q# プログラムを実行し、さまざまな学習リソースにアクセスできます。 量子愛好家が学習を行う場合は、Azure Quantum Web サイトが適しています。

次の表は、Azure Quantum Web サイトでできることとできないことを示しています。

次のことを実行できます。 以下のことを行えます。 必要なもの:
  • Q# プログラムをオンラインで実行します。
  • Quantinuum H シリーズ エミュレーターでプログラムをシミュレートします。
  • 量子コンピューティングの概念を説明するか、Q# プログラムを生成するように Copilot に依頼します。
  • Quantum Katas のチュートリアルを使用した量子プログラミングについて説明します。
  • プログラムをデバッグします。
  • プログラムと結果を保存します。
  • 任意の量子コンピューティング プロバイダーを選択します。
  • Python コードを実行します。
  • 量子ジョブを管理します。
  • インストールは必要ありません。
  • Azure アカウントは必要ありません。

    Azure portal

    Azure portal は、Microsoft Azure クラウド コンピューティング プラットフォームのメインのインターフェイスです。 ポータルから、 Azure Quantum ワークスペースを作成し 量子プログラムを実行し、それらを 量子ハードウェア プロバイダーに送信しその結果を Azure Quantum ストレージ アカウントに格納できます。 サブスクリプション、アクティビティ、クレジット使用量、クォータ、アクセス制御を管理することもできます。

    ヒント

    初めてのユーザーは自動的にUSD500無料 Azure Quantumクレジット参加している各量子ハードウェアプロバイダーで使用できます。

    Quantum ワークスペースには、Azure portal の Web ベースの Jupyter Notebook である Azure Quantum Notebooks が含まれます。 Azure ノートブックを使用して、量子シミュレーターまたはハードウェアで Q# プログラムと Python プログラムを作成、アップロード、格納、実行します。 量子ワークスペースから、サンプル ノートブックを使用して量子プログラミングを開始できます。

    Azure ノートブックの Azure Quantum Resource Estimator を使用して、Qiskit および QIR プログラムの実行に必要な物理リソースを見積もることもできます。 詳細については、「 Azure portal でリソース推定ツールを実行する」を参照してください。

    Azure portal は自分に適していますか?

    Azure portal から、チーム メンバーや学生など、ユーザーのグループに量子ワークスペースへのアクセス権を付与できます。 サブスクリプションの管理、請求書の確認、量子プロバイダーの追加を行う場合は、Azure portal が適しています。

    次の表は、Azure portal でできることとできないことを示しています。

    次のことを実行できます。 以下のことを行えます。 必要なもの:
    • 量子ワークスペースを作成します。
    • サブスクリプションとワークスペースを管理します。
    • ワークスペースのアクセス キーをコピーします。
    • 量子ジョブを管理します。
    • Azure ノートブックで Q# プログラムと Python プログラムを実行します。
    • プログラムと結果を保存します。
    • 任意の量子コンピューティング プロバイダーを選択します。
    • Quantum Copilot にアクセスします。
    • プログラムをデバッグします。
    • Azure サブスクリプション。
    • 量子ワークスペース。
    • インストールは必要ありません。

    Visual Studio Code

    Visual Studio Code は、Microsoft の無料のオープンソース コード エディターです。 VS Code 用 QDK 拡張機能を使用すると、Q# プログラムを作成し、組み込みの Q# サンプルを読み込み、エラー メッセージング、構文の強調表示、デバッグ、回路図の視覚化、CodeLens、IntelliSense などの機能をローカル開発環境で使用できます。

    Azure Quantum Resource Estimator を使用して、量子コンピューターで Q# プログラムを実行するために必要な物理リソースを見積もることもできます。 Resource Estimator は QDK の一部であるため、それを使用するために Azure サブスクリプションは必要ありません。 詳細については、「 Visual Studio Code でリソース推定ツールを実行するを参照してください。

    VS Code で QDK を使用するために Azure アカウントは必要ありません。 ただし、Azure アカウントがある場合は、VS Code から Azure Quantum ワークスペースに接続し、選択したプロバイダーの量子コンピューターとシミュレーターで Q# プログラムを実行できます。

    開始するには、「 Quantum Development Kit のセットアップを参照してください。

    Note

    QDK 拡張機能は、デスクトップ バージョンと同じ Azure 接続機能と Q# 言語機能を提供する VS Code for the Web でも使用できます。 ただし、Python、Qiskit、Cirq はサポートされていません。

    Q# と Python の統合

    VS Code では、Q# を単独で使用することも Python と共に使用することもできます。これには、 qsharpazure-quantum Python パッケージが必要です。 これらのパッケージをインストールするには、「 Python と Jupyter Notebook のサポートを追加するを参照してください。

    次の表は、VS Code で Python の有無にかかわらず Q# を使用する方法を示しています。

    形式 ファイル 説明
    Q# .qs Q# コードのみを含む Q# プログラム。
    Q# と Python .qs と.py Python プログラムは、ルーチンのある時点で Q# プログラムの結果を呼び出して使用するホスト プログラムです。 これは通常、複雑なプロジェクトに対して行います。
    Jupyter Notebook .ipynb Python カーネルでは、コード セルとテキスト セルの両方がサポートされています。 既定では、コード セルは Python を使用しますが、 %%qsharp コマンドを使用して Q# に変更できます。 つまり、Python コード、Q# コード、説明テキストを 1 つのファイルに含めることができます。 詳細については、「%%qsharp コマンドを参照してください。

    Visual Studio Code は自分に適していますか?

    VS Code は、量子プログラムを記述、実行、デバッグするための CodeLens と IntelliSense を含む機能豊富な環境です。 コーディング経験があり、Q# を詳しく調べる場合は、VS Code が適しています。

    次の表は、VS Code でできることとできないことを示しています。

    次のことを実行できます。 以下のことを行えます。 必要なもの:
    • Q# プログラムと Python プログラムを実行します。
    • Q# サンプルを読み込みます。
    • プログラムをデバッグします。
    • プログラムと結果を保存します。
    • 任意の量子コンピューティング プロバイダーを選択します。
    • 量子回路図を視覚化する。
    • Jupyter Notebook を作成して実行します。
    • コンパイラ エラー メッセージがある。
    • リソース推定機能を使用します。
    • Quantum Copilot にアクセスします。
    • サブスクリプションとワークスペースを管理します。
    • 量子ジョブを管理します。

    Q# 学習用のリソース

    Q# プログラミング言語を学習して調べるには、次のリソースを使用します。

    • Azure Quantum ラーニング パス: 量子コンピューティングに関心があるが、どこから始めればいかわからない場合は、このラーニング パスを使用します。 一連の対話型モジュールを通じて、量子コンピューティングと、Q# と QDK を使用して量子ソリューションを開発する方法について学習します。
    • Quantum Katas: これらの自己ペースのチュートリアルで量子コンピューティングとプログラミングを同時に学習します。それぞれに関連する理論と Q# 演習を使用して、知識をテストします。
    • Q# コード サンプル: これらのすぐに使用できる Q# サンプルを使用して、初めての量子ソリューションを構築します。 量子アルゴリズム、リソース推定、言語コンストラクト、Jupyter Notebook の 4 つの領域について説明します。
    • QDK プレイグラウンド: Q# で記述された一般的な量子アルゴリズムについて説明します。 プレイグラウンドは VS Code for the Web でホストされており、QDK で事前に構成されているため、何もインストールする必要はありません。