執行 Q# 程式的不同方式

Microsoft Quantum Development Kit(QDK)提供兩種開發選項來撰寫與執行 Q# 程式。 這兩個選項都能與 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: 開發 Q# 程式碼並使用 qdk.qsharp Python 模組向Jupyter Notebook Azure Quantum提交工作。 需要安裝。
  • Azure 入口網站: 管理您的Azure訂閱與Azure Quantum工作空間,並存取您的量子提供者及職缺提交資訊。 需要 Azure 帳號。

你選擇的選項取決於你的程式設計經驗、量子知識和目標。 每個選項都有不同的功能和特色,所以你可以一起使用。 例如,用 VS Code 的 QDK 擴充功能寫 Q# 程式,並在 Azure 入口網站管理你的 quantum workspace。

Visual Studio Code

VS Code 是來自 Microsoft 的免費開源程式碼編輯器。 使用 VS Code 的 QDK 擴充功能,你可以建立 Q# 程式並載入內建的 Q# 範例。 VS Code 中的 QDK 為 Q# 程式.qs 提供以下本地開發功能及更多功能(檔案):

  • 錯誤訊息
  • 語法醒目提示
  • 偵錯
  • CodeLens
  • IntelliSense
  • 量子電腦資源估計

注意

QDK 擴充功能也提供 OpenQASM 程式(.qasm 檔案)的語言支援。

你不需要 Azure 帳號才能在 VS Code 中使用 QDK,但你需要 Azure 帳號才能用 QDK 向 Azure Quantum 提交工作。 你可以用 QDK 從 VS Code 連接 Azure Quantum 工作空間,並在不同 Azure Quantum 供應商的 quantum 電腦和模擬器上執行 Q# 程式。 如需詳細資訊,請參閱 如何使用Visual Studio Code提交 Q# 程式。

要開始使用 VS Code 中的 QDK 擴充功能,請參見「設定 QDK」。

注意

QDK 擴充功能也提供 VS Code for the Web,提供與桌面版相同的Azure連接與 Q# 語言功能。 然而,網路不支援 Python、Qiskit 或 Cirq 程式。

VS Code 裡的 QDK 擴充功能適合我嗎?

VS Code 是一個功能豐富的環境,包含 CodeLens 與 IntelliSense,協助撰寫、執行及除錯 Q# 與 OpenQASM 量子程式。 如果你有程式設計經驗,想深入探索 Q#,那麼 VS Code 很適合你。

下表顯示 VS Code 中可以與無法執行的動作:

您可以: 您不可以: 您需要:
  • 執行 Q# 和 OpenQASM 程式。
  • 載入程式碼範例。
  • 對程序進行偵錯。
  • 儲存您的程序和結果。
  • 查看編譯器錯誤訊息。
  • 聯機到您的 Azure Quantum 工作區。
  • 想像量子電路。
  • 使用資源估算器。
  • 管理您的訂用帳戶和工作區。
  • 管理量子作業。
  • 選擇量子運算服務提供者與方案。

Jupyter Notebook

QDK 有一個豐富的 qdk Python 套件,讓你可以在 Python 檔案或 Jupyter Notebook 中開發 Q# 程式.py。 QDK Python 套件也支援其他量子語言,如 Qiskit、Cirq 和 PennyLane。

qdk Python 套件包含多個模組,幫助你開發 Quantum 程式並管理 Azure Quantum 工作。 例如,qsharp模組讓你可以用 Jupyter Notebook 寫 Q# 程式碼,azure 模組則讓你連接到量子工作空間並提交工作給 Azure Quantum。

關於 Python 套件與模組功能的概述qdk,請參閱 PyPi 網站上的 QDK 專案說明。

Python 和 Jupyter Notebook 適合我嗎?

Jupyter Notebook 方便地在同一個開發環境中撰寫 Python 程式碼並視覺化輸出。 如果你偏好用 Python 開發,並希望支援多種量子程式語言,那麼 QDK Python 套件和 Jupyter Notebook 非常適合你。

下表說明了你在 Python 和 Jupyter Notebook 中能做什麼、不能做什麼:

您可以: 您不可以: 您需要:
  • 用多種量子程式語言開發。
  • 儲存您的程序和結果。
  • 聯機到您的 Azure Quantum 工作區。
  • 想像量子電路。
  • 使用資源估算器。
  • 管理您的訂用帳戶和工作區。
  • 管理量子作業。
  • 選擇量子運算服務提供者與方案。

Azure 入口網站

Azure 入口網站是 Microsoft Azure 雲端運算平台的主要介面。 從入口網站,你可以建立一個 Azure Quantum workspace來執行量子程式、將工作傳送給 quantum 硬體供應商,並將工作結果儲存在 Azure Quantum 儲存帳戶中。 您也可以管理訂用帳戶、活動、點數使用量、配額和訪問控制。

Azure 入口網站 適合我嗎?

從 Azure 入口網站,您可以授與一組使用者,例如小組成員或學生,存取您的量子工作區。 如果你想管理作業和訂閱、檢視發票,或嘗試不同的量子提供者,那麼 Azure 入口網站正是為你而設。

下表顯示您可以在 Azure 入口網站 中執行和無法執行的動作:

您可以: 您不可以: 您需要:
  • 建立量子工作區。
  • 管理您的訂用帳戶和工作區。
  • 複製工作區存取金鑰。
  • 管理量子作業。
  • 儲存您的程序和結果。
  • 選擇量子運算服務提供者與方案。
  • 開發量子程式
  • 想像量子電路與結果。
  • 計算你的計畫資源估算。
  • Azure 訂用帳戶。
  • Azure Quantum 工作區。

Q# 學習資源

若要瞭解並探索 Q# 程式設計語言,請使用下列資源:

  • Azure Quantum 學習路徑: 如果您對量子運算感興趣,但不知道要從何處開始,請採用此學習路徑。 透過一系列互動模組,你將學習量子運算,以及如何利用 Q# 和 QDK 在 Azure Quantum 中開發量子解決方案。
  • 量子 Kata: 透過這些可自行安排進度的教學課程,一邊學習量子運算,一邊學習程式設計;每個課程都附有相關理論與 Q# 練習,幫助你驗證所學。
  • Q# 程式代碼範例: 使用這些現成可用的 Q# 範例來建置您的第一個量子解決方案。 它們涵蓋四個領域:量子演算法、資源估計、語言結構以及 Jupyter 筆記本。
  • QDK 遊樂場: 探索以 Q# 撰寫的常見量子演算法。 測試環境裝載在網路版的 VS Code 上,並已經預先配置了 QDK,因此您不需要安裝任何額外的東西。