基于自动机启发的符号局域规则到张量网络算符自动构造工具autotn

《SoftwareX》:autotn: Automata-inspired construction of tensor-network operators from symbolic local rules

【字体: 大 中 小 】 时间:2026年09月24日 来源:SoftwareX 1.9

编辑推荐:

  矩阵乘积算符(Matrix Product Operator,MPO)是张量网络模拟与量子计算应用中结构化算符的标准表示形式。然而,将哈密顿量与代价函数的符号描述转换为MPO表示往往需要大量人工实现,导致该过程易出错且难以复现。本文介绍autotn,一个开源P

  
矩阵乘积算符(Matrix Product Operator,MPO)是张量网络模拟与量子计算应用中结构化算符的标准表示形式。然而,将哈密顿量与代价函数的符号描述转换为MPO表示往往需要大量人工实现,导致该过程易出错且难以复现。本文介绍autotn,一个开源Python软件工具,可将符号算符规则自动转换为MPO表示。用户以高层格式定义局域算符与相互作用规则,软件自动生成对应的MPO及验证工具。该软件采用自动机启发式方法,识别算符符号描述中的重复模式并加以复用,从而构建紧凑的张量网络表示,避免了逐张量手工构造。当前autotn实现支持组合优化问题中常见的对角算符,以及量子多体物理中使用的通用局域矩阵算符。该软件已在Max-Cut代价算符、长程XX+YY+Z自旋哈密顿量及量子钟模型上进行了演示验证。通过提供从符号模型定义到经验证的MPO构造的可复现工作流,autotn显著降低了开发、验证和比较MPO构造所需的工程工作量。

论文解读:autotn——基于自动机启发的符号局域规则到张量网络算符自动构造工具

一、研究背景与动机

在组合优化、量子计算与量子多体物理等众多领域中,算符通常以局域相互作用项之和的形式定义。以加权Max-Cut问题为例,每条边对应一个涉及两个顶点变量的项;量子多体哈密顿量同样由作用在一个、两个或多个格点上的局域场与相互作用项组合而成。这类符号表达式简洁直观,与底层模型的数学表述高度一致。然而,符号表达式本身无法直接用于数值计算,大多数计算框架需要算符的显式数值表示。直接构造稠密矩阵的做法因矩阵规模随格点数指数增长而迅速变得不可行,即便仅包含少量符号项的算符,其完整矩阵形式也可能因存储与操作代价过高而无法使用。这一困境促使研究者寻求能够保留模型局域结构而不构造完整算符的数值表示方法。
张量网络(Tensor Network,TN)表示利用算符中普遍存在的局域性与重复结构提供压缩的数值描述。其中,矩阵乘积算符(Matrix Product Operator,MPO)已成为哈密顿量、优化代价函数、时间演化算符及其他结构化算符的标准表示形式。通过将大型算符分解为一系列由辅助键连接的局域张量,MPO能够以远少于稠密矩阵的参数表示许多物理相关的算符。
尽管MPO应用广泛,算符却很少被直接表示为MPO形式。研究人员通常从符号描述出发,再将其转换为数值MPO表示。这一转换过程催生了多种系统性MPO构造方法:有限状态机与自动机描述可编码算符串族为紧凑MPO结构;其他工作通过MPO算术加压缩构造通用MPO;还有算法方案利用基于图或对称性感知的构造从结构化符号输入自动生成MPO。这些进展表明,MPO构造不仅是实现细节,更是连接数学模型与数值计算所需表示的关键步骤。
在现有软件生态中,ITensor提供成熟的MPO功能,TeNPy支持强关联量子系统的Python模拟,Quimb结合张量网络算法与量子信息工具,OpenFermion则专注于费米子与量子比特算符的符号工作流。尽管这些库提供强大的模拟能力,将符号模型定义转换为经验证的MPO表示这一步骤往往依赖用户自行实现,形成了数学规范与可靠数值实现之间的工程鸿沟。ITensor的AutoMPO/OpSum接口是MPO构造的成熟路径,但autotn并非旨在替代该功能,而是提供独立于特定张量网络求解器的轻量级Python工作流,强调构造诊断、自动分割点选择、显式张量形状元数据及可计算基准实例上的稠密参考验证。其设计灵感源于Crosswhite和Bacon的有限自动机方法,其中类似自动机的状态缓存可用于组织矩阵乘积算法。

二、软件设计与关键技术方法

autotn的架构分为多个阶段,将用户输入转换为MPO。工作流始于用户提供的问题特定模型参数,封装于autotn.models中的模型对象。模型对象提供store_matrix()方法包含矩阵或向量形式的算符,以及symbolic_terms()方法包含所有符号算符项。用户调用TNGenerator类,该类获取局域算符存储,将模型的symbolic_terms()方法作为符号项生成器传递,选择模型提供的默认中心策略,并将剩余编译工作委托给autotn.symbolic。符号前端规范化符号描述,在未显式提供时推断格点数量,并确定局域存储包含对角向量还是稠密局域算符矩阵。
自动机启发式部分体现在前缀/后缀分组与中心选择阶段。符号算符串按共享前缀和后缀分组,这些共享部分串定义用于构建张量网络表示的虚拟态。同一前缀/后缀结构也用于在构造最终张量前比较候选分割点。构造随后分派至两个后端模块之一:对角局域向量描述由autotn.diagonal编译,稠密局域算符描述由autotn.operator编译。两种情况下,所选后端生成最终MPO/TN数组及描述所选构造的编译元数据。软件要求Python ≥ 3.10与NumPy,测试依赖pytest,可选基准绘图依赖Matplotlib,采用MIT许可证,代码托管于GitHub。

三、主要研究结果

3.1 软件功能构成。 autotn围绕一组紧凑的构造、检查与验证任务组织,当前仓库聚焦于将符号局域算符规则转换为具体NumPy张量数组,同时提供足够诊断功能以在可计算实例上比较模型、分割选择与稠密参考检查。仓库提供:从符号局域向量规则构造对角张量网络;从符号局域矩阵规则构造稠密局域算符张量网络;使用精确形状估计的自动分割点选择;对可计算实例通过显式收缩进行验证;汇总张量大小、虚拟键维度、构建时间与稠密验证误差的基准脚本;Max-Cut代价算符示例;长程XX+YY+Z哈密顿量示例;量子钟哈密顿量示例;用户自定义海森堡哈密顿量示例;以及针对标记解析、分组、中心选择、张量构造、哈密顿量辅助函数和公共前端的单元测试。
3.2 自动机启发式张量网络构造。 基于Crosswhite和Bacon的工作,该软件实现的MPO构造基于不同符号算符串常共享部分结构的观察。软件不独立处理每个项,而是识别符号串中的重复前缀与后缀,并在构造MPO虚拟键时复用它们。在此意义上,虚拟键充当符号算符串的缓存部分历史。形式上,设T={t1,…,tm}为符号算符串集合,其中每个串tk=(sk,1,…,sk,N)表示一个算符项,sk,i为第i个格点上的局域算符或恒等算符。通过前缀/后缀分组识别共享结构,定义虚拟态并构建紧凑张量网络表示。
3.3 应用演示。 软件在多个代表性算符上进行了演示:加权Max-Cut代价算符使用对角ZiZj项;长程XX+YY+Z自旋哈密顿量使用稠密泡利算符;量子钟模型使用广义泡利算符。这些示例覆盖了对角算符与通用局域矩阵算符两类主要场景,验证了软件在组合优化与量子多体物理领域的适用性。

四、讨论与结论

autotn通过提供从符号模型规范到经验证MPO构造的可复现工作流,弥合了数学算符规范与可靠数值实现之间的工程鸿沟。该软件并非取代现有张量网络与符号算符框架,而是通过聚焦MPO表示的自动化生成与验证对其进行补充。其预期用途为面向可复现性的原型设计:用户定义局域算符与符号相互作用规则,软件构造对应张量网络、选择内部分割点并记录结构元数据。所得MPO可被检查、在可计算实例上对照稠密参考验证,或集成到更大规模模拟工作流中。通过将构造、结构诊断与稠密参考验证整合于统一框架,autotn支持MPO编码的开发与评估,使MPO表示能够在纳入更大规模模拟或优化工作流之前被更系统化地开发、检查、验证与比较,从而减少开发、验证和比较MPO构造所需的工程工作量。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号