什麼是 Q# 和 Azure Quantum Development Kit?

Azure Quantum Development Kit (新式 QDK) 是與 Azure Quantum 服務進行介面所需的 SDK。 Quantum Development Kit透過,您可以建置在 Azure Quantum 中的量子硬體上執行的量子程式。

注意

2024 年 6 月 30 日之後,將不再支援 Microsoft Quantum Development Kit (傳統 QDK) 。 如果您是現有的 QDK 開發人員,建議您轉換至新的 Azure Quantum Development Kit (Modern QDK) ,以繼續開發量子解決方案。 如需詳細資訊,請參閱 將您的程式 Q# 代碼移轉至新式 QDK

新式 QDK 是唯一可供 Fault-Tolerant Quantum Computing (FTQC) 的開發工具包。 使用新式 QDK,您可以:

  • 對程式代碼進行偵錯: 它提供可逐步執行傳統和量子程式代碼的量子運算調試程式。 與其疏鬆記憶體內部模擬器配對,可提供最多數千個邏輯量子位的快速模擬。

  • 選擇您的平臺: 新式 QDK 會在網頁瀏覽器中執行,不需要安裝,而且在您的 PC、Mac 或 Linux 計算機上具有其 VS Code 擴充功能。

  • 更快速地撰寫程式代碼: 使用 IntelliSense 的語法醒目提示和智慧型手機程式代碼完成,並撰寫協助 Copilot 的整個程式碼區塊。

  • 在您選擇的硬體上執行: QDK 與 Azure Quantum 緊密整合,以在各種不同的量子計算機和模擬器上執行您的演算法。

  • FTQC 的設計: 與最先進的 Azure Quantum 資源估算器配對,它提供專為量子運算所設計的語言, Q#讓您不需要思考量子位架構、抽象化硬體,並讓您混合傳統和量子運算,全都是由您 target正在執行的量子機器所執行。

提示

如果您想要加速量子運算旅程,請參閱 使用 Azure Quantum 撰寫程式代碼這是 Azure Quantum 網站的獨特功能。 在這裡,您可以執行內 Q# 建範例或自己的 Q# 程式、從提示產生新的 Q# 程式代碼、在 VS Code for the Web 中開啟並執行程式碼,按下即可詢問 Copilot 關於量子運算的任何問題。

量子程式設計語言 Q#

新式 QDK 包含量子程式設計語言 Q#,這是一種高階開放 原始 碼程式設計語言,可讓您將工作焦點放在演算法層級,以建立量子程式。

Q# 是 開放原始碼的高階程序設計語言,可用於開發和執行量子演算法。 它是 QDK) (的一部分 Quantum Development Kit ,其設計目的是要與硬體無關、調整為完整的量子應用程式範圍,以及優化執行。

作為程式設計語言, Q# 從 Python、C# 和 F# 繪製熟悉的元素,並支援使用迴圈、if/then 語句和通用數據類型撰寫程式的基本程式模型。 它也會引進新的量子特定數據結構和作業,例如 重複到成功,以允許整合量子和傳統計算。 例如,傳統程式的流程控制可以根據量子測量的結果。

撰寫演算法時,量子程式設計語言應該符合下列語言、編譯程式和運行時間需求:

  • 抽象量子位。 量子演算法會使用未系結至特定硬體或配置的量子位。 編譯程式和運行時間會處理從程式量子位到實體量子位的對應。
  • 量子和傳統計算。 在通用量子計算機中,執行傳統和量子運算的能力非常重要。
  • 遵守物理法。 量子演算法會遵循量子物理的規則。 例如,它們無法直接複製或存取量子位狀態。

如需詳細資訊,請參閱Q#量子程式設計語言使用者指南

開始使用 Azure Quantum Development Kit

有一個以上的方法可以開始使用量子程序設計。 您可以選擇最符合您需求的選項。

提示

第一次用戶會自動取得 免費 $500 (USD) Azure Quantum 點數 ,以便與每個參與的量子硬體提供者搭配使用。 如果您已使用所有點數,但還需要更多,可以申請 Azure Quantum 點數方案

Azure Quantum 網站

Azure Quantum 網站是開始使用量子程序設計的最簡單方式。 在 Azure Quantum 網站中使用 線上程式代碼編輯器 ,您可以在瀏覽器中執行 Q# 程式代碼,不需要任何設定,並要求 Copilot 尋求協助。 在在線程式代碼編輯器中按兩下即可在 Web 上的 VS Code 中 開啟程式代碼,並免費繼續在預先設定的量子環境中工作。

注意

Azure Quantum 網站是免費的,不需要 Azure 帳戶。

Azure Quantum 入口網站中的範例

如果您想要開始練習和撰寫Q#程式,而不需要安裝其他軟體,您可以在 Azure 入口網站 的 Azure Quantum 工作區中使用裝載的 Jupyter Notebook。 範例資源庫包含已標註筆記本範例的集合 - 選取您想要在雲端式模擬器或實際量子計算機上探索和執行的範例。

注意

若要使用託管的 Jupyter Notebook,您需要 Azure 帳戶。 如果您沒有 Azure 帳戶,您可以 免費建立帳戶

本機開發環境

如果您偏好本機開發環境,您可以安裝適用於 Visual Studio Code 的新式 QDK 擴充功能。 新式 QDK 延伸模組提供 的完整功能開發環境 Q#,包括語法醒目提示、即時程式代碼撰寫意見反應和偵錯。

若要開始使用新式 QDK 擴充功能,請參閱下列 教學課程

提示

新式 QDK 包含一組內 Q# 建範例,可用來深入瞭解 Q# 和量子運算。 若要檢視範例,請開啟新的 Q# 檔案並輸入 sample,然後從選項清單中選取您想要檢視的範例。

量子開發工作流程

下圖顯示量子程式從概念到在 Azure Quantum 上完成實作的階段,以及每個階段所提供的工具。

此圖顯示量子程式設計開發的工作流程。

選擇您的開發環境

在慣用的開發環境中執行量子程式。 您可以使用 Azure Quantum 網站中的在線程式代碼編輯器、azure Quantum 工作區中裝載 Azure 入口網站 的 Jupyter Notebook,或您自己的本機開發環境。

撰寫量子程式

QDK 提供 的支援,但也支援 Q#Qiskit,以及適用於量子運算的 Cirq 語言。

若要開始使用,您可以遵循教學 Q# 課程並探索量子概念,例如 迭加糾纏Grover 的量子演算法和其他量子現象。

與 Python 整合

QDK 可讓您整合 Q# 程式與 Python。 您可以使用 Python 程式 來呼叫 Q# 作業。

估計資源

在量子硬體上執行之前,您必須瞭解您的程式是否可以在現有的硬體上執行,以及其耗用的資源數目。

Azure Quantum 資源估算器可讓您評估架構決策、比較量子位技術,以及判斷執行指定量子演算法所需的資源。 您可以選擇預先定義的容錯通訊協定,並指定基礎實體量子位模型的假設。

如需詳細資訊,請參閱 執行您的第一個資源估計值。

注意

Azure Quantum Resources 估算器是免費的,不需要 Azure 帳戶。

在模擬器中執行程式

當您編譯和執行量子程式時,QDK 會建立量子模擬器的實例,並將程式 Q# 代碼傳遞給它。 模擬器會使用 Q# 程式碼來建立量子位元(模擬量子粒子),並套用轉換來修改其狀態。 然後,模擬器中的量子運算結果會傳回給程式。 在模擬器中隔離 Q# 程式碼可確保演算法會遵循量子物理定律,並可在量子電腦上正確執行。

將作業提交至 Azure Quantum 服務

您可以透過本機和在線慣用的開發環境,將程式 Q# 提交 (也稱為作業) 至 Azure Quantum。 如需詳細資訊,請參閱 如何提交 Q# 作業。 您也可以執行和提交以 Qiskit 和 Cirq 語言撰寫的量子線路。

Azure Quantum 提供業界領導者目前提供一些最吸引人的多元量子硬體。 如需目前支持的硬體提供者清單,請參閱 量子運算提供者

注意

雲端式 Quantinuum H 系列模擬器target 可在沒有 Azure 帳戶的情況下使用。 若要將作業提交至 Azure Quantum 提供者的其餘部分,您需要 Azure 帳戶和量子工作區。 如果您沒有量子工作區,請參閱 建立 Azure Quantum 工作區

下圖顯示您提交工作之後的基本工作流程:

此圖顯示作業提交至 Azure Quantum 之後的工作流程。

如果您想要深入了解,量子 Katas 會提供量子運算概念的絕佳簡介,例如常見的量子作業,以及操作量子位元的方式。