PennyLane v0.41.0:量子计算框架的重大更新解析
2025-06-18 01:22:51作者:龚格成
项目简介
PennyLane是一个开源的量子机器学习框架,它允许研究人员和开发者将量子计算与经典机器学习无缝结合。作为量子计算领域的重要工具,PennyLane提供了丰富的量子操作、优化算法以及与主流机器学习框架的集成能力。
核心更新内容
1. 资源高效的分解系统
本次更新引入了一个实验性的基于图的分解系统,显著提高了资源利用效率。该系统通过遍历内部图结构,根据所需门数进行加权,提供了比当前系统更高效的分解方案。
开发者可以通过qml.decomposition.enable_graph()启用这一新系统,并利用以下新功能:
- 支持为PennyLane中的算子添加多个分解方案,通过
qml.list_decomps函数查询 - 使用
qml.add_decomps全局添加新的分解规则 - 动态资源需求的算子需通过
qml.resource_rep声明
2. 程序捕获与混合程序表示
程序捕获功能(通过qml.capture.enable()启用)现在支持更丰富的量子-经典混合计算场景:
- 支持中间电路测量(MCM)和MCM值的经典处理
- 支持
default.qubit和lightning.qubit设备的多种微分方法 - 新增QNode参数静态化功能,提高重复电路执行效率
- 所有返回单次设备执行的PennyLane变换现在兼容程序捕获
- 支持Python控制流(if/else, for, while)的直接使用
3. 端到端稀疏执行支持
新版本全面支持压缩稀疏行(csr)格式的稀疏数据结构:
- 多种模板支持稀疏数据结构输入和执行
- 具有
sparse_matrix方法的算子现在可以选择稀疏矩阵格式和线序 qml.math模块新增稀疏矩阵处理功能
4. QROM状态准备技术
新增了基于QROM的先进状态准备技术qml.QROMStatePreparation模板,使用方式与其他状态准备技术类似,但效率更高。
5. 动态李代数功能
新增qml.liealg模块,提供丰富的李代数功能:
- 通过
qml.lie_closure计算生成元的动态李代数 - 使用
qml.structure_constants计算李代数的结构常数 - 通过
qml.center查找李代数的中心 - 支持Cartan分解和相关验证功能
技术亮点
性能优化
- 稀疏执行支持大幅提升了大规模稀疏对象的处理效率
- 新的分解系统显著减少了门数开销
- 程序捕获功能优化了混合程序的执行流程
开发者体验改进
- QNode新增
update方法,支持运行时重新配置 - 绘图功能增强,支持深度电路的多图分割
- 更清晰的错误提示和文档说明
实验性功能
- FTQC模块新增多种模板和实用工具
- 新增Harmonic Oscillator状态表示类
- Trotter误差估计相关基础类和函数
兼容性说明
本次更新包含一些破坏性变更,主要涉及:
- 移除了
num_diagonalizing_gates的高开销计算 - 重命名了多个函数和方法以更准确反映其功能
- 移除了多个已弃用的API
建议用户在升级前仔细阅读变更说明,并对现有代码进行必要的调整。
总结
PennyLane v0.41.0带来了多项重要改进,特别是在资源效率、混合程序表示和稀疏计算方面的增强。这些更新不仅提升了框架的性能和灵活性,也为量子机器学习研究提供了更强大的工具集。实验性功能的引入展示了框架未来的发展方向,值得开发者关注和尝试。
对于量子计算和量子机器学习领域的研究人员和开发者来说,这次更新提供了更多可能性,特别是在处理复杂量子-经典混合算法和大规模量子系统模拟方面。建议用户根据自身需求逐步探索这些新功能,并关注后续版本的进一步优化和完善。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0186
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0112
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java03
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
759
4.94 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
854
1.91 K
deepin linux kernel
C
32
16
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
674
1.32 K
Ascend Extension for PyTorch
Python
716
866
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
1.78 K
186
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
454
436
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.07 K
1.09 K
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Python
991
598
暂无简介
Dart
1 K
259