Microsoft Quantum Development Kit (QDK) には、Q# プログラムを記述して実行するための 2 つの開発オプションが用意されています。 どちらのオプションもAzure Quantumとインターフェイスするため、Azure Quantum プロバイダーからシミュレーターと量子ハードウェアで Q# プログラムを実行できます。 QDK には、パーソナル コンピューターで Q# プログラムを実行するための複数のローカル シミュレーターも含まれています。
Q# プログラムの開発と実行のオプション
次の開発環境を使用して、Q# プログラムを開発し、Azure Quantumに送信する Q# ジョブを管理します。
- Visual Studio Code: ローカル環境で Q# コードを記述、実行、デバッグし、Visual Studio Code (VS Code) の QDK 拡張機能を使用してジョブをAzure Quantumに送信します。 インストールが必要です。
-
Jupyter Notebook:
qdk.qsharpPython モジュールを使用して、Jupyter Notebook で Q# コードを開発し、Azure Quantum にジョブを送信します。 インストールが必要です。 - Azure portal: Azure サブスクリプションとAzure Quantum ワークスペースを管理し、量子プロバイダーとジョブの申請に関する情報にアクセスします。 Azure アカウントが必要です。
選択するオプションは、コーディングエクスペリエンス、量子知識、目標によって異なります。 各オプションには異なる機能があるため、それらを組み合わせて使用できます。 たとえば、VS Code で QDK 拡張機能を使用して Q# プログラムを記述し、Azure ポータルで量子ワークスペースを管理します。
Visual Studio Code
VS Code は、Microsoftの無料のオープンソース コード エディターです。 VS Code 用 QDK 拡張機能を使用すると、Q# プログラムを作成し、組み込みの Q# サンプルを読み込むことができます。 VS Code の QDK には、Q# プログラム (.qs ファイル) 用に次のようなローカル開発機能が用意されています。
- エラー メッセージ
- 構文の強調表示
- デバッグ
- CodeLens
- IntelliSense
- 量子コンピューターリソースの推定
注
QDK拡張子は、OpenQASMプログラム(.qasm ファイル)の言語サポートも提供します。
VS Code で QDK を使用するためにAzure アカウントは必要ありませんが、QDK でAzure Quantumするジョブを送信するには、Azure アカウントが必要です。 QDK を使用して VS Code から Azure Quantum ワークスペースに接続し、さまざまなAzure Quantum プロバイダーの量子コンピューターとシミュレーターで Q# プログラムを実行できます。 詳細については、「Visual Studio Codeを使用して Q# プログラムを送信する方法」を参照してください。
VS Code で QDK 拡張機能の使用を開始するには、「 QDK の設定」を参照してください。
注
QDK 拡張機能は、VS Code for the Web でも使用できます。これは、デスクトップ バージョンと同じAzure接続機能と Q# 言語機能を提供します。 ただし、Web では、Python、Qiskit、または Cirq プログラムはサポートされていません。
VS Code の QDK 拡張機能は自分に適していますか?
VS Code は、Q# および OpenQASM 量子プログラムの記述、実行、デバッグに役立つ CodeLens と IntelliSense を含む機能豊富な環境です。 コーディング経験があり、Q# を詳しく調べる場合は、VS Code が適しています。
次の表は、VS Code でできることとできないことを示しています。
| 次のことを実行できます。 | 次のことはできません。 | 必要なもの: |
|---|---|---|
|
|
|
Jupyter Notebook
QDK には豊富な qdk Python ライブラリがあり、.py Python ファイルまたはJupyter Notebookで Q# プログラムを開発できます。 QDK Python ライブラリでは、Qiskit、Cirq、PenyLane などの他の量子言語もサポートされています。
qdk Python ライブラリには、量子プログラムの開発とAzure Quantumジョブの管理に役立ついくつかのモジュールが含まれています。 たとえば、qsharp モジュールを使用すると、Jupyter Notebookで Q# コードを記述できます。azure モジュールを使用すると、量子ワークスペースに接続し、ジョブをAzure Quantumに送信できます。
qdk Python ライブラリとモジュール機能の概要については、PyPi Web サイトの QDK プロジェクトの説明を参照してください。
PythonとJupyter Notebookは私にとって正しいですか?
Jupyter Notebookは、Pythonコードを記述し、出力をすべて 1 つの開発環境で視覚化するのに便利です。 Pythonで開発し、複数の量子プログラミング言語のサポートが必要な場合は、QDK Python ライブラリとJupyter Notebookが適しています。
次の表は、PythonとJupyter Notebookでできることとできないことを示しています。
| 次のことを実行できます。 | 次のことはできません。 | 必要なもの: |
|---|---|---|
|
|
|
Azure portal
Azure portal は、Microsoft Azure クラウド コンピューティング プラットフォームのメインのインターフェイスです。 ポータルから、Azure Quantum ワークスペースを作成して量子プログラムを実行し、quantum ハードウェア プロバイダーにジョブを送信し、ジョブの結果をAzure Quantumストレージ アカウントに格納できます。 サブスクリプション、アクティビティ、クレジット使用量、クォータ、アクセス制御を管理することもできます。
Azure portal は自分に適していますか?
Azure portal から、チーム メンバーや学生など、ユーザーのグループに量子ワークスペースへのアクセス権を付与できます。 ジョブとサブスクリプションを管理したり、請求書を確認したり、さまざまな量子プロバイダーを試したりする場合は、Azure ポータルが適しています。
次の表は、Azure portal でできることとできないことを示しています。
| 次のことを実行できます。 | 次のことはできません。 | 必要なもの: |
|---|---|---|
|
|
|
Q# 学習用のリソース
Q# プログラミング言語を学習して調べるには、次のリソースを使用します。
- Azure Quantum ラーニング パス: 量子コンピューティングに関心があるが、どこから始めればいかわからない場合は、このラーニング パスを使用します。 一連の対話型モジュールを通じて、量子コンピューティングと、Q# と QDK を使用してAzure Quantumで量子ソリューションを開発する方法について学習します。
- Quantum Katas: 量子コンピューティングとプログラミングについて、これらの自己ペースのチュートリアルと共に学習します。それぞれに関連する理論と Q# 演習を使用して、知識をテストします。
- Q# コード サンプル: これらのすぐに使用できる Q# サンプルを使用して、初めての量子ソリューションを構築します。 量子アルゴリズム、リソース推定、言語コンストラクト、Jupyter ノートブックの 4 つの領域をカバーします。
- QDK プレイグラウンド: Q# で記述された一般的な量子アルゴリズムについて説明します。 プレイグラウンドは VS Code for the Web でホストされており、QDK で事前に構成されているため、何もインストールする必要はありません。