Qiskit Fermions:面向费米子系统的模块化工具箱

发布时间:2026-08-25 21:48  浏览量:1

核心要点:

Qiskit Fermions是一款用于表达费米子算符、构建费米子电路以及定义费米子与量子比特系统间映射关系的模块化工具箱。

它通过将费米子到量子比特的合成延迟至转译阶段,在编译过程中保留费米子结构。

研究人员既可以构建自定义映射,也可以直接使用高效的内置工作流。

该软件包与Qiskit转译器及ffsim、SQD插件等生态工具实现了无缝集成。

Qiskit Fermions支持高级量子模拟工作流,包括一维和二维费米-哈伯德模型的恒定深度时间动力学模拟。

计算分子和材料的性质,需要求解相互作用费米子粒子的量子行为。对这些系统进行量子模拟,是量子计算最具前景的应用方向之一。然而,研究人员想要表达的费米子问题——从算符、哈密顿量到时间动力学——与量子计算机实际运行的基于量子比特的电路之间,存在明显的鸿沟。如何在弥合这一鸿沟的同时,不丢失问题本身的结构特征,是一项极具挑战性的任务。

今天,我们正式推出Qiskit Fermions。这是一项新的研究能力,提供了直接处理费米子系统的灵活框架,支持将费米子系统映射为量子比特表示的更高级方法。Qiskit Fermions是一款开源工具,用于表达费米子算符和电路、定义费米子到量子比特的映射,并将费米子工作流编译为量子电路。

我们开发Qiskit Fermions,旨在填补量子软件生态系统中的一处明显空白:缺乏一个专门的、现代化的费米子系统定义与处理框架。但我们的目标不止于此——我们还致力于打造一款功能强大、用途广泛的工具箱,满足研究人员在各类需求和使用场景下的要求。

Qiskit Fermions能够支持前沿研究——在该软件包之上开发新的映射、编码和算法,从而形成稳健、可复用的实现方案。与此同时,它还内置了高效的预构建组件,覆盖最常见的任务场景,帮助用户快速上手。

无论您是在构建全新的费米子工作流,还是希望将现成工具应用于量子化学、凝聚态物理或材料科学等领域,Qiskit Fermions都能为您的工作提供支持,而不会造成任何阻碍。

Qiskit Fermions是IBM为将特定领域问题映射到量子比特算符和量子电路表示而构建的一系列模块化工具的组成部分。去年发布的优化问题映射软件包,是这一系列工具中的另一个典型示例。

这类映射工具有助于加速新算法的探索与设计,为端到端量子工作流提供模块化构建模块,同时保持良好的可组合性,并能与整个软件栈中的互补工具无缝集成。

Qiskit Fermions是一款用于表达费米子算符、构建费米子电路以及定义费米子与量子比特系统间映射关系的工具箱。其核心能力涵盖费米子算符和电路的表示、费米子到量子比特的合成、Qiskit转译器集成,以及对可插拔编码工作流的支持。

它内置了一套基于Rust实现的高效映射库,可直接调用;同时也提供了一套工作流框架,支持用户实现自定义映射。其目标是驱动用户所关注的费米子算法的开发,而不对工作方式施加任何限制。

这种灵活性体现在软件包的模块化设计中。Qiskit Fermions为最常见的任务提供高效方法,同时也支持研究人员探索新的映射方式、实验不同的编码方案、研究费米子系统,并开发应用算法,完全按照用户自己的方式来表达上述内容。

具体而言,该软件包涵盖以下能力:

算符表示,以及在不同表示之间进行转换的框架和库

作用于费米子模式(而非量子比特)的费米子电路

从费米子到量子比特的映射框架,内置高效的库映射器,并提供编写自定义映射器的便捷路径

转译器集成,使费米子电路能够直接接入Qiskit转译器流水线

费米子电路:核心设计理念

Qiskit Fermions的核心理念是"费米子电路"——一种用于在费米子空间中表达计算的特定领域表示。费米子电路在形式上类似于量子电路,但它作用于费米子模式而非量子比特。这一区别的意义在于费米子到量子比特映射发生的时机。

以时间演化模拟为例,传统方法是先将费米子哈密顿量映射到量子比特,再对所得算符实现时间演化。

然而,近期研究表明,颠倒这一顺序可能更具优势:先对费米子算符进行时间演化,再映射到量子比特。将映射延迟到转译过程,能够大大简化局域编码的实现,并便于利用辅助量子比特,从而实现可大幅降低双量子比特门深度的电路优化。

Qiskit Fermions将这一方式作为一等工作流加以支持。它构建于Qiskit v2.5引入的多表示编译器框架之上,允许单一编译流水线在不同中间表示之间切换。计算从费米子算符和费米子电路开始;费米子到量子比特的合成在转译过程中途完成;此后,流水线继续在量子比特层面以标准量子电路的形式推进。

由于费米子对称性的信息能够被保留到流水线更靠后的阶段,因此可以实现一旦计算被归约为量子比特层算符后便无法达到的优化效果。这为对称性感知的转译打开了大门。Rustiq是一款利用对称性降低电路深度的转译插件。Qiskit Fermions目前尚未提供完全等效的功能,但由于它在降低到量子比特之前在费米子层面进行操作,应当能够实现更为有效的此类优化。

一维费米-哈伯德模型时间动力学:完整示例演示

为清晰展示上述概念,我们以一维费米-哈伯德模型的时间动力学为例进行说明。这是一个易于理解的示例,完整演示了整个工作流:构建算符、定义自定义编码,并将该编码接入转译器,从而实现电路深度的显著降低。

完整指南详见文档。本文仅介绍其中的重点内容。本示例使用Python API。此处展示的费米子电路和合成功能目前仅限Python,等效的C语言支持计划在未来版本中提供。

首先,安装软件包:

pip install qiskit-fermions

接下来,在费米子层面将哈密顿量表示为TransferVertexOperator。该算符将顶点算符(用于测量每个模式的占据状态)与转移算符(用于沿相互作用图的有向边移动费米子)组合在一起:

from qiskit_fermions.operators import TransferVertexOperator # 4格点一维费米-哈伯德模型,直接构建为TransferVertexOperator。 hamiltonian = fermi_hubbard_1d(num_sites=4, tunneling=1.0, interaction=2.0)

然后,将该算符作为单个演化门添加到费米子电路中——这是一个作用于费米子模式而非量子比特的操作:

from qiskit_fermions.circuit import FermionicCircuit from qiskit_fermions.circuit.library import Evolution circuit = FermionicCircuit(num_modes=4) circuit.append(Evolution(num_modes=4, hamiltonian, time=0.5), circuit.modes)

其优势在于该门转换为量子比特的方式。Qiskit Fermions将费米子到量子比特的合成暴露为两个可互换的组件:定义费米子如何映射到量子比特的编码,以及用于近似时间演化的方法。研究人员可以为两者提供自定义实现。

对于该模型,增加一个辅助量子比特,可以让编码将模型中整组跃迁项——描述粒子在格点间移动的项——转换为简单的单量子比特操作。因此,无论模拟多少个格点,单步时间演化的双量子比特深度都保持不变。这得益于一种名为"流集"的技术。什么是流集?流集在映射到量子比特之前,对哈密顿量的项进行分组,而非在映射之后。额外消耗一个量子比特,可以将整组跃迁项转化为无需纠缠门的单量子比特旋转——这正是用额外量子比特换取电路结构简洁性的典型示例。

从4个格点到100个格点(远超经典计算机蛮力模拟的范围)对双量子比特深度进行测量,差异一目了然:

在整个范围内,深度始终保持在12的恒定值。相比之下,基于传统Jordan-Wigner方法的朴素做法是在映射到量子比特后,对哈密顿量的每一项单独进行Trotter分解,导致电路深度随系统规模线性增长,在100个格点时达到407。

流集方法则在合成之前有意对各项进行分组,确保每组都能以恒定深度实现。如果没有一个在编译过程中保留并暴露费米子结构的框架,要实现这种恒定深度的结果,就必须手工构建电路——这在如此规模下已不切实际,更难以扩展到更大的问题。

重要的是,这是一个通用的、可插拔的框架,而非专为一维费米-哈伯德模型定制的解决方案。相同的组件可以扩展到二维费米-哈伯德模型乃至更复杂的情形,并支持基于任意编码方案构建的研究工作。Qiskit Fermions旨在为研究人员提供一个可以持续构建的基础平台。

当然,用户无需编写自定义编码即可上手。对于合理的默认选项,预设的Jordan-Wigner通路管理器可以通过单次调用,将费米子电路转换为量子比特电路。完整的灵活性保留给有需要的研究人员,而最常见的工作流则始终保持简单易用。

模块化设计同样有利于AI辅助开发。由于核心数据结构稳定,编码和合成组件具有清晰的可插拔性,编码智能体可以快速原型化并测试新方法。例如,本文提到的一维费米-哈伯德指南,便主要由一个编码智能体在单次会话中依据底层研究论文生成。

生态系统集成

Qiskit Fermions被设计为更大工作流的组成部分。它可以直接接入Qiskit转译器流水线,同时也与研究人员已在使用的诸多模拟器和量子子空间对角化工具相连接。

例如,Qiskit Fermions与ffsim实现了原生集成。ffsim是一款高性能模拟器,是研究人员开发和测试费米子工作流的重要验证工具。

ffsim支持直接在费米子层面模拟费米子电路,比在量子比特层面模拟更为高效。这是因为它以更为紧凑的方式表示量子态:不模拟完整的量子比特希尔伯特空间,而是在更小的费米子Fock空间中工作,该空间仅包含物理上相关的配置。

这适用于保持粒子数守恒的电路;不满足该要求的电路可以被转译为量子比特,并使用传统的量子比特层模拟器进行模拟。

ffsim是一个可选依赖项,能够加速某些操作。例如,模拟轨道旋转门时,ffsim比内置的SciPy路径更快。若未安装ffsim,模拟将自动回退到原生路径,工作流仍可正常运行。

ffsim集成指向一个更广泛的模式:Qiskit Fermions被设计为可与其他工具组合,构建完整的端到端工作流。

例如,假设您面临一个本征值问题,如寻找某分子的基态能量。您可以使用Qiskit Fermions构建费米子电路,通过量子计算机对其进行采样,再将结果传递给量子子空间对角化工具(如SQD插件)来估算系统能量。什么是SQD?基于采样的量子对角化(SQD)是一种抗噪声技术,通过对量子硬件上电路的采样进行经典处理,来估算量子系统的本征值(如基态能量)。SQD插件是实现这一技术的开源软件包,而Qiskit Fermions可以生成SQD在下游处理采样的电路。

Qiskit Fermions还能解锁生态系统中的其他工作流。SqDRIFT就是一个很好的例子,它在费米子层面直接表达电路可带来双重好处:

费米子层面的qDRIFT随机化可以作为简单的转译器通路来实现。

在将电路映射到量子比特之前,可以使用ffsim对这些电路进行验证和流水线测试。

甚至可以实现在费米子到量子比特合成生效之前直接影响费米子到量子比特路由的转译器通路,有望大幅减少双量子比特门数量。

未来展望

Qiskit Fermions是我们开发"实用映射工具"这一工作的直接贡献——这些可复用的软件组件能够将特定领域的问题描述转化为适合量子计算的表示形式。展望未来,随着基于采样的对角化工具不断成熟,该软件包将与其实现更紧密的集成,包括更直接地支持将Qiskit费米子算符转换为这些工具所需的形式。

我们也已将Qiskit Fermions定位为与现有科学软件实现更深度集成的工具。与Qiskit SDK本身一样,它构建于高性能Rust核心之上,同时提供Python和C两套API,支持在所有Qiskit支持的平台上无缝安装,并为可互操作的高性能工具提供基础支撑。

随着Qiskit在C语言层面增加对自定义门和电路类型的支持,以及C语言原生转译工作流的推出,我们将能够把Qiskit Fermions电路库移植到Rust中,进而也移植到C语言中。这将使现有的化学和材料科学代码能够直接与费米子工作流对接,并将其编译到Qiskit中。

资源与入门指引

Qiskit Fermions现已开源发布,欢迎立即使用。

文档与指南:安装说明、完整的一维和二维费米-哈伯德模型演示,以及API参考文档

qiskit-fermions GitHub仓库:开源软件包

流集编码研究论文:本文一维费米-哈伯德示例的理论基础

ffsim:用于直接在费米子层面验证和测试费米子工作流的高性能模拟器

SqDRIFT研究论文:展示了在费米子到量子比特合成之前,在费米子电路表示上进行操作的工作流优势

我们期待看到您使用Qiskit Fermions构建出的成果。欢迎试用并告诉我们您的发现。

Q&A

Q1:Qiskit Fermions是什么,主要能做什么?

A:Qiskit Fermions是IBM推出的一款开源模块化工具箱,专门用于表达费米子算符和电路、定义费米子到量子比特的映射,并将费米子工作流编译为量子电路。它的核心优势在于将费米子到量子比特的映射延迟到转译阶段,从而保留更多费米子结构信息,实现更深层次的电路优化。它既提供内置的高效映射库,也支持研究人员自定义编码方案。

Q2:Qiskit Fermions如何实现恒定深度的时间演化电路?

A:Qiskit Fermions通过"流集"技术实现这一点。流集在映射到量子比特之前,对哈密顿量的各项进行分组。通过额外使用一个辅助量子比特,可以将整组跃迁项转化为无需纠缠门的单量子比特旋转。以一维费米-哈伯德模型为例,从4个格点扩展到100个格点,双量子比特电路深度始终保持在12,而传统Jordan-Wigner方法在100个格点时深度高达407。

Q3:Qiskit Fermions能与哪些工具集成使用?

A:Qiskit Fermions可与多种工具集成。它原生支持ffsim高性能模拟器,能够直接在费米子层面进行高效电路模拟。同时,它也可以与SQD(基于采样的量子对角化)插件配合使用,用于估算分子基态能量等本征值问题。此外,它还支持SqDRIFT等工作流,并直接接入Qiskit转译器流水线,构成完整的端到端量子计算工作流。