Quantinuum 提供者

提示

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

Quantinuum 可讓您存取具有高精確度、完全連接的量子位,以及執行中間電路測量的能力。

  • 發行者:Quantinuum
  • 提供者識別碼:quantinuum

Targets

此提供者提供下列 targets 專案:

目標名稱 目標標識碼 量子位數目 Description
H1-1 語法檢查程式 quantinuum.sim.h1-1sc 20 個量子位 在提交至 Quantinuum 平臺上的硬體或模擬器之前,使用此方法驗證 H1-1 編譯程式的量子程式。 免費。
H2-1 語法檢查程式 quantinuum.sim.h2-1sc 32 個量子位 在提交至 Quantinuum 平臺上的硬體或模擬器之前,使用此方法驗證 H2-1 編譯程式的量子程式。 免費。
H1-1 模擬器 quantinuum.sim.h1-1e 20 個量子位 使用 H1-1 的實際實體模型和雜訊模型。
H2-1 模擬器 quantinuum.sim.h2-1e 32 個量子位 使用 H2-1 的實際實體模型和雜訊模型。
H1-1 quantinuum.qpu.h1-1 20 個量子位 Quantinuum 的 H1-1 已截獲電電裝置。
H2-1 quantinuum.qpu.h2-1 32 個量子位 Quantinuum 的 H2-1 被截獲的電池裝置。

Quantinuum 的 targets 對應至 Basic Measurement Feedback 配置檔。 如需此 target 配置檔及其限制的詳細資訊,請參閱 瞭解 target Azure Quantum 中的配置檔類型

所有 Quantinuum targets 現在都支援整合式混合式線路。 如需提交整合式混合式作業的詳細資訊,請參閱 整合式混合式運算

若要開始在 Azure Quantum 上使用 Quantinuum 提供者,請參閱 開始使用 Q# 和 Azure Quantum Notebook

提示

在會話下提交的量子作業,只要您在彼此之間一分鐘內將作業排入佇列,就可以 獨佔存取 Quantinuum 硬體。 之後,會接受任何作業,並使用標準佇列和優先順序邏輯來處理。 如需詳細資訊,請參閱 Azure Quantum 中的會話

語法檢查工具

建議使用者先使用語法檢查程序來驗證其程序代碼。 這個工具可驗證適當的語法、編譯完成度和電腦相容性。 語法檢查程式會使用與量子計算機相同的編譯程式。target 例如,H1-1 語法檢查程式會使用與 H1-1 相同的編譯程式。 完整編譯堆疊會執行,但實際的量子作業除外。 如果程式代碼編譯,語法檢查程式會傳回 success 所有 0 的狀態和結果。 如果程式代碼未編譯,語法檢查程式會傳回失敗狀態,並提供傳回的錯誤,以協助用戶偵錯其線路語法。 語法檢查程式可讓開發人員隨時驗證其程式代碼,即使計算機離線也一樣。

  • 作業類型:Simulation
  • 數據格式: honeywell.openqasm.v1honeywell.qir.v1
  • 目標識別碼:
    • H1-1 語法檢查程式: quantinuum.sim.h1-1sc
    • H2-1 語法檢查程式: quantinuum.sim.h2-1sc
  • 目標執行設定檔:基本測量回饋

語法檢查程式使用量免費提供。

系統模型 H1 模擬器

使用語法檢查程式驗證其程式代碼的語法之後,使用者可以利用Quantinuum的系統模型 H1 模擬器、模擬工具,其中包含實際系統模型H1硬體的詳細實體模型和實際雜訊模型。 雜訊模型衍生自硬體的詳細問題。 系統模型 H1 模擬器會使用與系統模型 H1 硬體相同的 API 提交作業,以便從模擬順暢地轉換到硬體。 為了協助將生產力最大化並縮短開發時間,即使硬體離線,系統模型 H1 模擬器仍可供使用。

您可以在系統模型 H1 頁面上找到的系統模型 H1 模擬器產品數據工作表中找到詳細資訊

  • 作業類型:Simulation
  • 資料格式:quantinuum.openqasm.v1
  • 目標識別碼:
    • H1-1 模擬器: quantinuum.sim.h1-1e
  • 目標執行設定檔: Basic Measurement Feedback

系統模型 H1 模擬器使用量會隨硬體訂用帳戶免費提供。 如需詳細資訊,請參閱 Azure Quantum 定價

H 系列模擬器 (雲端式)

H 系列模擬器可在 Azure Quantum 網站上的 [使用 Azure Quantum 的程式代碼 ] 頁面上免費取得,您可以在其中撰寫 Q# 程式代碼,並將作業提交至沒有 Azure 帳戶的 Quantinuum H 系列模擬器。 H 系列模擬器是以狀態變數為基礎的量子模擬器,會根據 系統模型 H1 量子計算機的一般效能,使用實際的實體雜訊模型和一般化錯誤參數。 執行的量子模擬與 系統模型 H1 模擬器 相同,但傳統線路優化例程會減少以增加輸送量。 已規劃未來日期支援 整合式混合式運算

系統模型 H1

由 Honeywell 提供之量子計算機的系統模型 H1 世代是由量子充電結合裝置所組成, (QCCD) 具有一個線性區段,目前包含一部計算機 targets:H1-1。 建議使用者在將作業提交至語法檢查程式和系統模型 H1 模擬器之前target,先測試其程式代碼與 H1-1 的相容性。

系統模型 H1 機器會在其產品生命週期中持續升級。 使用者可以取得最新、最進階、最強大的可用硬體。

如需詳細資訊,請參閱系統模型 H1 頁面上找到的系統模型 H1 產品數據工作表

  • 作業類型:Quantum Program
  • 數據格式: honeywell.openqasm.v1honeywell.qir.v1
  • 目標識別碼:
    • H1-1:quantinuum.qpu.h1-1
  • 目標執行設定檔: Basic Measurement Feedback

系統模型 H2 模擬器

使用 H2-1 語法檢查程式驗證其程式代碼語法之後,使用者可以利用 Quantinuum 的系統模型 H2 模擬器,這是模擬工具,其中包含實際系統模型 H2 硬體的詳細實體模型和實際雜訊模型。 您可以在系統模型 H2 頁面上找到的系統模型 H2 模擬器產品數據工作表中找到雜訊模型的詳細資訊。 系統模型 H2 模擬器會使用與系統模型 H2 硬體相同的 API 提交作業,以順暢地從模擬轉換到硬體。 為了協助將生產力最大化並縮短開發時間,即使硬體離線,仍可使用 H2 模擬器。

  • 作業類型:Simulation
  • 資料格式:quantinuum.openqasm.v1
  • 目標識別碼:
    • H2-1 模擬器: quantinuum.sim.h2-1e
  • 目標執行設定檔:基本測量回饋

系統模型 H2 模擬器使用量可透過硬體訂用帳戶免費提供。 如需詳細資訊,請參閱 Azure Quantum 定價

系統模型 H2

Quantinuum 系統模型 H2 代量子計算機由 Honeywell 提供,由 Quantum 費用結合裝置所組成, (QCCD) 有兩個連線的線性區段,目前有 1 部電腦 H2-1。 如需詳細資訊,請參閱在 [系統模型 H2] 頁面上找到的系統模型 H2 產品數據工作表。 建議使用者在將作業提交至語法檢查程式和系統模型 H2 模擬器之前,先target測試其程式代碼的相容性。

如果使用者將作業提交至 H2-1 計算機,且 H2-1 計算機無法使用,該作業會保留在該電腦的佇列中,直到計算機可供使用為止。

系統模型 H2 硬體會在產品生命週期中持續升級。 使用者可以取得最新、最進階、最強大的可用硬體。

  • 作業類型:Quantum Program
  • 資料格式:quantinuum.openqasm.v1
  • 目標識別碼:
    • H2-1: quantinuum.qpu.h2-1
  • 目標執行設定檔:基本測量回饋

系統模型 H1 和 H2 技術規格

如需系統模型 H1 和系統模型 H2 的技術詳細數據,請參閱 系統模型 H1系統模型 H2 頁面上的 Quantinuum 產品數據工作表,以及 Quantinuum 規格和量子磁碟區數據存放庫的連結,以及如何參考 Quantinuum 系統的使用方式。

其他功能

這裡列出透過Quantinuum API提供的其他功能。

功能 描述
中線路測量和重設 (MCMR) 測量線路中間的量子位,並重複使用它們
任意角度 ZZ 閘道 直接執行 2 量子位任意角度閘道旋轉
模擬器雜訊參數 實驗 Quantinuum H 系列模擬器中使用的雜訊參數
H 系列堆疊中的 TKET 優化 在 H 系列堆疊中開啟不同層級的 TKET 優化進行實驗

用戶可以透過線路函式或 Azure Quantum Q# 和 Qiskit 提供者中的傳遞參數,利用這些額外的功能。

中線路測量和重設

中間線路測量和重設 (MCMR) 可讓用戶測量線路中間的量子位,並加以重設。 這可啟用量子錯誤修正的功能,以及能夠重複使用線路內的量子位。

由於截獲電離量子位的內部層級結構,中間線路測量可能會讓量子位處於非計算狀態。 如果量子位要在該線路中再次使用,則所有中間線路測量都應該接著重設。 下列程式代碼範例會示範這一點。

當量子位子集在線路中間測量時,這些測量中的傳統資訊可用來設定線路的未來元素。 這些範例也會醒目提示此使用方式。

如需 Quantinuum 系統中 MCMR 的資訊,請參閱 系統模型 H1系統模型 H2 頁面上的 H 系列產品數據工作表。

在 Q# 中 MResetZ ,函式可用來測量量子位並加以重設。 如需此函式的詳細資訊,請參閱 MResetZ Q# 檔案中的 。

%%qsharp
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;

operation ContinueComputationAfterReset() : Result[] {
    // Set up circuit with 2 qubits
    use qubits = Qubit[2];

    // Perform Bell Test
    H(qubits[0]);
    CNOT(qubits[0], qubits[1]);

    // Measure Qubit 1 and reset it
    let res1 = MResetZ(qubits[1]);

    // Continue additional computation, conditioned on qubits[1] measurement outcome
    if res1 == One {
         X(qubits[0]);
    }
    CNOT(qubits[0], qubits[1]);

    // Measure qubits and return results
    let res2 = Measure([PauliZ, PauliZ], qubits);
    return [res1, res2];
}

任意角度 ZZ 閘道

Quantinuum 的原生閘道包含任意角度 ZZ 閘道。 這有助於減少許多量子演算法和網關序列的 2 個量子位網關計數。 如需 Quantinuum 系統中任意角度 ZZ 閘道的資訊,請參閱 系統模型 H1系統模型 H2 頁面上的 H 系列產品數據工作表。

在 Q# 中,任意角度 ZZ 閘道是使用 作業來實作 Rzz

%%qsharp
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;

operation ContinueComputationAfterReset(theta : Double) : Result[] {
    
    // Set up circuit with 2 qubits
    use qubits = Qubit[2];

    // Create array for measurement results
    mutable resultArray = [Zero, size = 2];

    H(qubits[0]);
    Rz(theta, qubits[0]);
    Rz(theta, qubits[1]);
    X(qubits[1]);

    // Add Arbitrary Angle ZZ gate
    Rzz(theta, qubits[0], qubits[1]);  

    // Measure qubits and return results
    for i in IndexRange(qubits) {
        set resultArray w/= i <- M(qubits[i]);  
    }
    
    return resultArray;
}

模擬器雜訊參數

用戶可以選擇實驗 Quantinuum 模擬器的雜訊參數。 此處只會強調幾個可用的雜訊參數,示範如何在 Azure Quantum 提供者中傳遞參數。

如需可用之一組完整雜訊參數的詳細資訊,請參閱 系統模型 H1系統模型 H2 頁面上的 H 系列模擬器產品數據工作表。

首先,匯入必要的套件並起始基底配置檔:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

接下來,定義函式。

%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Convert;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

並編譯作業:

MyProgram = qsharp.compile("GenerateRandomBit()")

線上到 Azure Quantum、選取 target 電腦,並設定模擬器的雜訊參數:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h1-1e")

# Update the parameter names desired
# Note: This is not the full set of options available. 
# For the full set, see the System Model H1 Emulator Product Data Sheet
option_params = {
    "error-params": {
        "p1": 4e-5,
        "p2": 3e-3,
        "p_meas": [3e-3, 3e-3],
        "p_init": 4e-5,
        "p_crosstalk_meas": 1e-5,
        "p_crosstalk_init": 3e-5,
        "p1_emission_ratio": 6e-6,
        "p2_emission_ratio": 2e-4
    }
}

提交作業時傳入模擬器雜訊選項:

job = MyTarget.submit(MyProgram, "Experiment with Emulator Noise Parameters", 
                      shots = 10, 
                      input_params = option_params)
job.get_results()

若要關閉模擬器雜訊模型,請將 error-model 選項設定為 False。 依預設,這會設定為 True

option_params = {
    "error-model": False 
}

若要使用穩定器模擬器,請將 simulator 選項設定為 stabilizer。 依預設,這會設定為 state-vector

option_params = {
    "simulator": "stabilizer" 
}

H 系列堆疊中的 TKET 編譯

提交至 Quantinuum H 系列系統的線路 ,除了整合式混合式提交之外,系統會自動透過 H 系列硬體的 TKET 編譯階段執行。 這可讓線路自動針對 H 系列系統進行優化,並更有效率地執行。

如需套用 pytket-quantinuum 之特定編譯階段的詳細資訊,請參閱檔,特別是 pytket-quantinuum 編譯階段 一節。

在 H 系列軟體堆疊中,套用的優化層級會設定為 參數 tket-opt-level提交至 H 系列系統之所有線路的預設編譯設定為優化層級 2。

想要試驗 TKET 編譯的用戶會通過,並查看哪些優化會套用到其線路,再提交任何作業,即可在 [範例] 資料夾中看到 Quantinuum_compile_without_api.ipynb 筆記本pytket-quantinuum

如需 的詳細資訊 pytket,請參閱下列連結:

首先,匯入必要的套件並起始基底配置檔:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

接下來,定義函式。

%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Convert;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

並編譯作業:

MyProgram = qsharp.compile("GenerateRandomBit()")

線上到 Azure Quantum、選取 target 電腦,並設定模擬器的雜訊參數:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h1-1e")

# Update TKET optimization level desired
option_params = {
    "tket-opt-level": 1
}

提交作業時傳入 otimization 選項:

job = MyTarget.submit(MyProgram, "Experiment with TKET Compilation", shots = 10, input_params = option_params)
job.get_results()

技術規格

如需系統模型 H1 和 H2 和系統模型 H1 和 H2 模擬器的技術詳細數據,請參閱 System Model H1System Model H2 頁面上的 Quantinuum 產品數據工作表,以及 Quantinuum 規格和量子磁碟區數據存放庫的連結,以及如何參考 Quantinuum 系統的使用方式。

目標可用性

Quantinuum H 系列量子計算機的設計目的是要持續升級,讓客戶能夠存取最新的硬體功能,因為 Quantinuum 會持續改善網關精確度、記憶體錯誤和系統速度。

Quantinuum 硬體會迴圈到商業期間和開發期間。 在商業期間,硬體可透過佇列系統處理作業。 在開發期間,硬體會在套用升級時脫機。

每個月都會傳送行事曆給 Quantinuum 使用者,其中包含商業和開發期間的資訊。 如果您尚未收到此行事曆,請傳送電子郵件 QCsupport@quantinuum.com給 。

target的狀態表示其目前處理作業的能力。 可能的狀態 target 包括:

  • 可用:已 target 上線、處理提交的作業,並接受新的作業。
  • 降級:正在 target 接受作業,但目前無法處理。
  • 無法使用: target 離線,不接受新的作業提交。

針對 Quantinuum 量子電腦 targets, [可用 ] 和 [ 降級 ] 對應至商業期間,而 [無法使用 ] 則對應至電腦離線以進行升級的開發期間。

您可以透過 Azure 入口網站上工作區的 [提供者] 索引標籤,擷取目前的狀態資訊。

定價

若要查看 Quantinuum 的計費方案,請造訪 Azure Quantum 定價

限制和配額

Quantinuum 的配額會根據 QPU 使用量點數單位、 H-System Quantum Credit (HQC) 、提交至 Quantinuum 量子計算機的作業,以及模擬器 HQC (eHQC) 針對提交至模擬器的工作追蹤。

HQC 和 eHQC 可用來計算執行作業的成本,並根據下列公式來計算:

$$ HQC = 5 + C(N_{1q} + 10 N_{2q} + 5 N_m)/5000 $$

其中:

  • $N_{1q}$ 是線路中單一量子位元作業的數目。
  • $N_{2q}$ 是線路中原生雙量子位元作業的數目。 原生閘道相當於 CNOT 多達數個單一量子位元的閘道。
  • $N_{m}$ 是線路中狀態準備和測量 (SPAM) 作業的數目,包括初始隱含狀態準備,以及任何中繼和最終的測量和狀態重設。
  • $C$ 是散粒計數。

注意

HQC 的總成本包括所有條件式分支或控制流程的所有閘道和度量。 這可能會對整合式混合式作業造成更高的影響。

配額是以方案選取為基礎,並可隨著支援票證而增加。 若要查看目前的限制和配額,請移至 [點數和配額] 刀鋒視窗,然後選取工作區 Azure 入口網站 上的 [配額] 索引卷標。 如需詳細資訊,請參閱 Azure Quantum 配額

注意

如果您使用 Azure Quantum 點數 方案,而不是計費方案,配額資訊會對應至您配置的點數。 在此情況下,配額會列出您收到的點數總數。