你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Quantinuum 提供程序

提示

首次使用的用户自动获得 500 美元 (美元的免费) Azure Quantum 额度 ,用于每个参与的量子硬件提供商。 如果你已用完所有额度,且需要更多额度,可以申请 Azure Quantum 额度计划

Quantinuum 提供对离子阱系统的访问权限,该系统具有高保真特性、完全连接的量子比特,并能够执行中间线路测量。

  • 提供程序:Quantinuum
  • 提供程序 ID:quantinuum

目标

可从此提供程序获取以下内容 targets :

目标名称 目标 ID 量子比特数 说明
H1-1 语法检查器 quantinuum.sim.h1-1sc 20 个量子比特 在提交到 Quantinuum 平台上的硬件或仿真器之前,使用此方法针对 H1-1 编译器验证量子程序。 免费。
H1-2 语法检查器 quantinuum.sim.h1-2sc 20 个量子比特 在提交到 Quantinuum 平台上的硬件或仿真器之前,使用此方法针对 H1-2 编译器验证量子程序。 免费。
H2-1 语法检查器 quantinuum.sim.h2-1sc 32 个量子比特 在提交到 Quantinuum 平台上的硬件或仿真器之前,使用它针对 H2-1 编译器验证量子程序。 免费。
H1-1 模拟器 quantinuum.sim.h1-1e 20 个量子比特 使用 H1-1 的现实物理模型和噪音模型。
H1-2 仿真器 quantinuum.sim.h1-2e 20 个量子比特 使用 H1-2 的现实物理模型和噪音模型。
H2-1 仿真器 quantinuum.sim.h2-1e 32 个量子比特 使用 H2-1 的逼真物理模型和噪声模型。
H1-1 quantinuum.qpu.h1-1 20 个量子比特 Quantinuum 的 H1-1 离子阱装置。
H1-2 quantinuum.qpu.h1-2 20 个量子比特 Quantinuum 的 H1-2 离子阱装置。
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 笔记本入门

提示

在会话下提交的量子作业对 Quantinuum 硬件具有 独占访问权限 ,前提是在一分钟内将作业排入队列。 之后,任何作业都将被接受,并使用标准队列和优先顺序逻辑进行处理。 有关详细信息,请参阅 Azure Quantum 中的会话

语法检查程序

建议用户首先使用语法检查程序验证其代码。 这是一个用于验证正确语法、编译完成和计算机兼容性的工具。 语法检查器使用与量子计算机相同的编译器。target 例如,H1-2 语法检查程序使用与 H1-2 相同的编译器。 执行完整编译堆栈,但不执行实际的量子运算。 如果代码编译,语法检查器将 success 返回状态以及所有 0 的结果。 如果代码未编译,语法检查器将返回失败状态,并提供返回的错误以帮助用户调试其线路语法。 开发人员可以使用语法检查程序随时验证其代码,即使计算机处于脱机状态。

  • 作业类型:Simulation
  • 数据格式:honeywell.openqasm.v1honeywell.qir.v1
  • 目标 ID:
    • H1-1 语法检查器:quantinuum.sim.h1-1sc
    • H1-2 语法检查器:quantinuum.sim.h1-2sc
    • H2-1 语法检查器: quantinuum.sim.h2-1sc
  • 目标执行配置文件:基本测量反馈

语法检查器使用情况为免费提供。

System Model H1 仿真器

使用语法检查器验证其代码的语法后,用户可以利用 Quantinuum 的系统模型 H1 仿真器、包含详细物理模型和实际系统模型 H1 硬件的真实噪声模型的仿真工具。 噪声模型派生自硬件的详细特征。 系统模型 H1 仿真器使用与系统模型 H1 硬件相同的 API 提交作业,从而实现从仿真到硬件的无缝转换。 为了帮助最大限度地提高工作效率并缩短开发时间,即使硬件处于脱机状态,系统型号 H1 仿真器也可用。

有关详细信息,请参阅系统型号 H1 页上的系统型号 H1 仿真器产品数据表

  • 作业类型:Simulation
  • 数据格式:quantinuum.openqasm.v1
  • 目标 ID:
    • H1-1 仿真器:quantinuum.sim.h1-1e
    • H1-2 仿真器:quantinuum.sim.h1-2e
  • 目标执行配置文件: Basic Measurement Feedback

硬件订阅免费提供系统型号 H1 仿真器的使用情况。 有关详细信息,请参阅 Azure Quantum 定价

System Model H1

由 Honeywell 提供支持的 H1 代量子计算机系统模型由量子充电耦合设备 (QCCD) 一个线性部分组成,目前包括两台计算机 targets:H1-1 和 H1-2。 这两台量子计算机的设计基本相同,并且都满足一组名义上的技术要求。 但是,它们在确切的性能和功能方面可能具有系统到系统的可变性,例如可用量子比特的最大数量。 建议用户在将作业提交到计算机之前,先将作业提交到语法检查器和系统模型 H1 模拟器,以测试代码target的兼容性。

系统型号 H1 计算机 H1-1 和 H1-2 在其整个产品生命周期内持续升级。 用户可以访问最新、先进且功能强大的可用硬件。

有关详细信息,请参阅 系统型号 H1 页面上 的系统 型号 H1 产品数据表。

  • 作业类型:Quantum Program
  • 数据格式:honeywell.openqasm.v1honeywell.qir.v1
  • 目标 ID:
    • H1-1:quantinuum.qpu.h1-1
    • H1-2:quantinuum.qpu.h1-2
  • 目标执行配置文件: Basic Measurement Feedback

系统模型 H2 仿真器

使用 H2-1 语法检查器验证其代码的语法后,用户可以利用 Quantinuum 的系统模型 H2 模拟器,这是一个仿真工具,其中包含实际系统模型 H2 硬件的详细物理模型和逼真的噪声模型。 有关噪声模型的详细信息,请参阅 系统型号 H2 仿真器产品数据表 中的 系统型号 H2 页面。 系统模型 H2 模拟器使用与系统模型 H2 硬件相同的 API 提交作业,从而实现从仿真到硬件的无缝转换。 为了帮助最大限度地提高工作效率并缩短开发时间,即使硬件处于脱机状态,H2 仿真器也可用。

  • 作业类型:Simulation
  • 数据格式:quantinuum.openqasm.v1
  • 目标 ID:
    • H2-1 仿真器: quantinuum.sim.h2-1e
  • 目标执行配置文件:基本测量反馈

硬件订阅免费提供系统型号 H2 仿真器的使用情况。 有关详细信息,请参阅 Azure Quantum 定价

系统型号 H2

由 Honeywell 提供支持的 Quantinuum 系统模型 H2 代量子计算机由量子充电耦合设备 (QCCD) 组成,具有两个连接的线性部分,目前有 1 台计算机 H2-1。 有关详细信息,请参阅 系统型号 H2 页面上的系统 型号 H2 产品数据表。 建议用户在将作业提交到计算机之前,先将作业提交到语法检查器和系统模型 H2 模拟器,以测试其target代码的兼容性。

如果用户将作业提交到 H2-1 计算机,而 H2-1 计算机不可用,该作业将保留在该计算机的队列中,直到计算机可用。

系统型号 H2 硬件在整个产品生命周期内持续升级。 用户可以访问最新、先进且功能强大的可用硬件。

  • 作业类型:Quantum Program
  • 数据格式:quantinuum.openqasm.v1
  • 目标 ID:
    • H2-1: quantinuum.qpu.h2-1
  • 目标执行配置文件:基本测量反馈

系统型号 H1 和 H2 技术规范

系统模型 H1 和系统模型 H2 上的 Quantinuum 产品数据表中提供了有关 系统模型 H1系统模型 H2 的技术详细信息,以及指向 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 系列仿真器产品数据表。

首先,声明要在 Q# 中定义为可调用的函数,以便 Python 识别符号。

GenerateRandomBit: any = None

接下来,定义 函数。

%%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);
}

现在,配置模拟器的噪音参数并提交作业。

# Set the emulator target to submit to
qsharp.azure.target("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,
        "p_init": 4e-5,
        "p_crosstalk_meas": 1e-5,
        "p_crosstalk_init": 3e-5,
        "p1_emission_ratio": 6e-6,
        "p2_emission_ratio": 2e-4
    }
}

# Pass in the options when submitting the job
result = qsharp.azure.execute(GenerateRandomBit, 
                              shots = 100, 
                              jobName = "Experiment with Emulator Noise Parameters", 
                              timeout = 240,
                              jobParams = option_params)

H 系列堆栈中的 TKET 编译

提交到 Quantinuum H 系列系统的线路 (集成混合提交除外)会自动通过 H 系列硬件的 TKET 编译阶段运行。 这使线路能够自动针对 H 系列系统进行优化,并更高效地运行。

有关应用的特定编译阶段的详细信息,请参阅 pytket-quantinuum 文档,特别是 pytket-quantinuum 编译阶段 部分。

在 H 系列软件堆栈中,应用的优化级别是使用 参数设置的 tket-opt-level提交到 H 系列系统的所有线路的默认编译设置为优化级别 2。

希望在提交任何作业之前尝试 TKET 编译并查看哪些优化将应用于其线路的用户可以在 Examples 文件夹中看到 Quantinuum_compile_without_api.ipynb 笔记本pytket-quantinuum

有关 的详细信息 pytket,请参阅以下链接:

首先,声明要在 Q# 中定义为可调用的函数,以便 Python 识别符号。

GenerateRandomBit: any = None

接下来,定义 函数。

%%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);
}

现在,配置 TKET 优化级别参数并提交作业。

# Set the target to submit to
qsharp.azure.target("quantinuum.sim.h1-1e")

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

# Pass in the options when submitting the job
result = qsharp.azure.execute(GenerateRandomBit, 
                              shots = 100, 
                              jobName = "Experiment with TKET Compilation", 
                              timeout = 240,
                              jobParams = option_params)

技术规范

有关系统模型 H1 和 H2 以及系统模型 H1 和 H2 仿真器的技术详细信息,请参阅 Quantinuum 的产品数据表中的 系统型号 H1系统模型 H2 页面,以及指向 Quantinuum 规范和量子卷数据存储库的链接,以及如何引用 Quantinuum 系统的使用情况。

目标可用性

Quantinuum H 系列量子计算机旨在持续升级,随着 Quantinuum 不断提高门保真度、减少内存错误并提升系统速度,使客户能够访问最新的硬件功能。

Quantinuum 硬件在商业和开发阶段循环。 在商业阶段,硬件可通过队列系统处理作业。 在开发阶段,硬件在应用升级时处于脱机状态。

每月都会向 Quantinuum 用户发送日历,其中包含有关商业和开发阶段的信息。 如果你尚未收到此日历,请发送电子邮件至 QCsupport@quantinuum.com

target的状态指示其当前处理作业的能力。 的可能状态 target 包括:

  • 可用:处于 target 联机状态,正在处理提交的作业并接受新作业。
  • 已降级:正在 target 接受作业,但当前未处理作业。
  • 不可用: target 处于脱机状态,不接受新的作业提交。

对于 Quantinuum 量子计算机 targets, “可用 ”和“ 降级 ”对应于商业时段,而 “不可用” 对应于计算机脱机进行升级的开发时段。

可以通过 Azure 门户中的工作区的“提供程序”选项卡来检索当前状态信息。

定价

若要查看 Quantinuum 的计费计划,请访问 Azure Quantum 定价

限制和配额

Quantinuum 的配额根据提交到 Quantinuum 量子计算机的作业的 QPU 使用额度单位、 H-System Quantum Credit (HQC) 和提交到模拟器的作业的仿真器 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 额度计划而不是计费计划,则配额信息将映射到分配的额度。 在这种情况下,配额会列出你已收到的额度总数。