一个高性能、双模式、拓扑感知的量子计算模拟核心库。

简介: NEXUS QUANTUM DEFENSE 是一款高性能Python量子模拟核心库(v1.5.0),首创“惰性求值+双模式引擎”:纯态用高效态矢量,遇噪声自动切换至密度矩阵模式;支持CPU并行、CuPy GPU加速及拓扑感知API,零依赖轻量部署。

pip install nexus-quantum-core

Project description
NEXUS QUANTUM DEFENSE - 量子计算核心库

版本: 1.5.0 (拓扑感知API版) 作者: 跳舞的火公子

一份为高性能量子模拟而生的核心库,致力于在纯态模拟的效率与混合态模拟的功能之间取得极致平衡。

alt text

alt text

alt text

📖 简介

quantum_core 是一个功能强大、设计精良的Python量子计算模拟库。它封装了从基础的量子态、量子线路数据结构到高性能并行计算引擎的全套工具,旨在为量子算法研究、量子机器学习和带噪量子系统模拟提供一个稳定、高效且易于扩展的底层框架。

本库的核心设计哲学是 “惰性求值” 与 “双模式模拟引擎” 的结合。在理想情况下(无噪声),它通过惰性求值最大化性能,仅在需要时才执行昂贵的态矢量计算。当引入非相干噪声时,它能无缝、不可逆地切换到功能更全面的密度矩阵模拟模式,从而准确地描述混合态的演化。

✨ 核心特性

🧠 惰性求值与双模式引擎:

态矢量模式 (Statevector): 默认模式,用于纯态模拟。门操作仅被记录在电路中,实际计算被推迟到查询结果时,极大提升了构建复杂线路的效率。

密度矩阵模式 (Density Matrix): 当应用非相干噪声(如量子通道)时,系统会自动、不可逆地切换至此模式,能够精确模拟混合态和退相干过程。

⚡️ 高性能计算后端:

纯Python后端: 无任何第三方依赖,保证了极致的稳定性和跨平台兼容性,是逻辑验证和调试的基石。

CuPy GPU加速: 可选的 CuPy 后端,能够利用NVIDIA GPU进行大规模并行计算,显著加速大型量子系统的模拟。

内置CPU并行计算: 对于大规模纯Python模拟,内置了基于 multiprocessing 的并行计算基础设施,可充分利用多核CPU资源加速特定门操作和酉演化。

🏛️ 稳健的架构设计:

中央算子库 (QuantumOperatorLibrary): 所有量子门的定义(矩阵、分解规则、优化内核)都集中管理,是全系统的“单一事实来源”,确保了行为的一致性和可验证性。

可扩展的噪声模型: 通过抽象基类 NoiseModel 定义了清晰的噪声插件接口,用户可以轻松实现自定义的相干或非相干噪声模型,如硬件噪声、关联噪声等。

拓扑感知API (v1.5.0新增): 核心API run_circuit_on_state 接收 topology 参数,能够与外部编译器(如 nexus_optimizer)无缝集成,实现对真实硬件拓扑的感知优化。

🔋 丰富的功能集与API:

全面的门操作集: 支持所有标准单比特、多比特门,以及高级多控制门(Toffoli, MCX, MCZ等)。

算法构建器 (AlgorithmBuilders): 内置了用于快速构建常用量子算法(如QFT, QPE, Grover)和VQA拟设(Hardware-Efficient Ansatz)的便捷工具。

强大的分析能力: 提供了计算哈密顿量期望值、冯·诺依曼纠缠熵、布洛赫矢量、边际概率等高级分析工具。

⚙️ 安装

本核心库被设计为一个独立的Python文件,不依赖任何难以安装的第三方库(CuPy 除外)。

基础安装 (仅CPU)

只需将 quantum_core.py 文件放置在您的项目目录中,即可直接导入使用。

code Python download content_copy expand_less import quantum_core as nq

本库需要 Python 3.8 或更高版本。

可选:启用GPU加速

为了获得极致的模拟性能,您可以安装 CuPy 库来启用GPU加速。请根据您的CUDA版本选择合适的 CuPy 版本进行安装。

例如,如果您的系统安装了CUDA 11.8,可以使用以下命令:

code Bash download content_copy expand_less pip install cupy-cuda11x

如果您的CUDA版本不同,请参考 CuPy官方安装指南 进行安装。

安装完成后,quantum_core 将在启动时自动检测到 CuPy 并优先使用GPU后端。

🚀 快速上手

下面是一个创建贝尔纠缠态 |Φ+⟩ = (|00⟩ + |11⟩)/√2 并验证其概率分布的简单示例。

code Python download content_copy expand_less import quantum_core as nq import math

  1. 创建一个包含2个量子比特的初始量子态 |00⟩
    这是一个惰性对象,此时没有进行任何大规模内存分配。
    print("--- 创建初始量子态 ---") initial_state = nq.create_quantum_state(num_qubits=2) print(f"初始态: {initial_state.num_qubits} qubits, 模式: {initial_state._simulation_mode}")

  2. 构建一个用于制备贝尔态的量子线路
    print("\n--- 构建量子线路 ---") bell_circuit = nq.QuantumCircuit(num_qubits=2, description="Bell State Preparation") bell_circuit.h(0) # 在 q0 上应用 Hadamard 门 bell_circuit.cnot(0, 1) # 在 (q0, q1) 上应用 CNOT 门 print(bell_circuit)

  3. 在初始态上执行线路,得到一个新的演化后状态
    此操作遵循函数式编程的不可变性原则,原始的 initial_state 不会被修改。
    此时,计算仍然是惰性的。
    print("\n--- 执行线路 (惰性) ---") final_state = nq.run_circuit_on_state(initial_state, bell_circuit) print(f"最终态: {final_state.num_qubits} qubits, 模式: {final_state._simulation_mode}") print(f"最终态内部线路指令数: {len(final_state.circuit.instructions)}")

  4. 获取测量概率分布
    这是第一个需要实际计算结果的操作,它将触发内部的“展开计算”。
    print("\n--- 获取结果 (触发计算) ---") probabilities = nq.get_measurement_probabilities(final_state)

  5. 验证结果
    print(f"\n测量概率: {probabilities}") expected_probs = [0.5, 0.0, 0.0, 0.5] assert all(math.isclose(p_actual, p_expected, abs_tol=1e-9) for p_actual, p_expected in zip(probabilities, expected_probs)) print("✅ 验证成功!最终态为贝尔态 |Φ+⟩。") 核心概念与架构 🧠 惰性求值与双模式引擎

这是本库的核心设计。

惰性求值: 在 statevector 模式下,对 QuantumState 对象应用门操作(如 state.h(0)) 不会立即计算新的态矢量。相反,它仅将指令记录到内部的 QuantumCircuit 中。这使得构建包含数千个门的复杂线路几乎是零成本的。只有当您请求一个需要完整状态的结果时(例如 get_measurement_probabilities()),系统才会一次性地、高效地执行所有累积的指令来计算最终的态矢量。

双模式引擎:

statevector 模式: 默认模式,使用一个 (2^N,) 的复数向量来表示纯态。计算效率高,内存占用相对较小。

density_matrix 模式: 当您应用一个非相干噪声通道(例如 apply_quantum_channel)时,系统会自动将态矢量 |ψ⟩ 转换为密度矩阵 ρ = |ψ⟩⟨ψ|,并将模式不可逆地切换为 density_matrix。此后,所有操作都将在一个 (2^N, 2^N) 的密度矩阵上进行,这虽然计算成本更高,但能够精确地模拟混合态和退相干过程。

code Python download content_copy expand_less

演示模式切换
state = nq.create_quantum_state(1) print(f"初始模式: {state._simulation_mode}") # -> statevector

应用一个非相干噪声通道
state.apply_quantum_channel( channel_type='depolarizing', target_qubits=[0], params={'probability': 0.1} )

print(f"应用噪声后的模式: {state._simulation_mode}") # -> density_matrix 🏛️ 量子算子库 (QuantumOperatorLibrary)

QuantumOperatorLibrary 是本库的基石。它是一个中央注册中心,存储了所有内置量子门的完整定义 (OperatorDefinition)。每个定义都包含:

数学表示: 固定的酉矩阵(如 X 门)或用于生成酉矩阵的函数(如 RX(θ))。

分解规则: 对于复合门(如 SWAP),定义了如何将其分解为更基础的门。

优化内核: 指向 _StateVectorEntity 或 _DensityMatrixEntity 内部专门优化的、无需构建全局矩阵即可执行操作的高性能函数。

这种设计确保了全系统对门操作的解释和执行是统一、可验证且高效的。

⚡️ 并行计算

本库内置了基于 multiprocessing 的CPU并行计算框架,可用于加速大规模(通常 > 12量子比特)的纯Python模拟。

启用并行计算: 您必须在脚本的主执行块 (if name == 'main':) 中显式启用并行模式。

code Python download content_copy expand_less import quantum_core as nq import sys

if name == 'main': # 启用并行计算,自动检测CPU核心数 nq.enable_parallelism()

try:

# 在这里运行您的大规模模拟
state = nq.create_quantum_state(14)
state.h(0) # 这个操作在展开时可能会被并行化

# ... 更多操作 ...

# 触发计算
probs = nq.get_measurement_probabilities(state)
print("大规模模拟完成。")

finally:

# 在程序结束前优雅地关闭并行池
nq.disable_parallelism()

📚 公共 API 参考

以下是 quantum_core 提供的核心公共API函数。

create_quantum_state(num_qubits)

创建一个处于 |0...0⟩ 态的初始惰性量子态。

参数 类型 描述 num_qubits int 要创建的量子态的比特数。

返回: 一个新的 QuantumState 实例。

run_circuit_on_state(state, circuit, noise_model, topology)

在一个量子态上执行一个量子线路,返回一个表示演化后状态的新量子态实例。

参数 类型 描述 默认值 state QuantumState 初始量子态。 circuit QuantumCircuit 要执行的量子线路。 noise_model Optional[NoiseModel] 可选的噪声模型。 None topology Optional[Dict] 可选的硬件拓扑图。 None

返回: 演化后的新 QuantumState 实例。

get_state_data(state, format)

安全地从一个 QuantumState 对象中提取底层的状态数据(态矢量或密度矩阵)。此函数会根据需要触发展开计算。

参数 类型 描述 默认值 state QuantumState 要提取数据的量子态。 format str 返回数据的格式。目前仅支持 'python_list'。 'python_list'

返回: List[complex] (态矢量) 或 List[List[complex]] (密度矩阵)。

get_measurement_probabilities(state)

获取一个量子态所有计算基的测量概率。

参数 类型 描述 state QuantumState 要分析的量子态。

返回: List[float],一个包含所有测量概率的列表。

calculate_hamiltonian_expectation_value(state, hamiltonian)

计算给定哈密顿量在当前量子态下的期望值。

参数 类型 描述 state QuantumState 要分析的量子态。 hamiltonian List[PauliString] 表示哈密顿量的 PauliString 列表。

返回: float,哈密顿量的期望值。

get_effective_unitary(circuit, backend_choice)

计算给定 QuantumCircuit 对应的全局有效酉矩阵。

参数 类型 描述 默认值 circuit QuantumCircuit 要计算酉矩阵的线路。 backend_choice str 用于计算的后端 ('auto', 'pure_python', 'cupy')。 'auto'

返回: 酉矩阵 (Python list 或 cupy.ndarray)。

🔬 高级用法 使用噪声模型

本库支持通过 NoiseModel 子类来模拟带噪量子计算。

code Python download content_copy expand_less

  1. 定义一个模拟真实硬件噪声的校准数据
    fake_calib = { 'qubits': { 0: {'T1': 50e-6, 'T2': 70e-6, 'readout_error': 0.01}, }, 'gates': { 'h': {'duration': 50e-9, 'error_rate': 0.001}, # 50ns H-gate, 0.1% 去极化错误 } }

  2. 实例化预置的硬件噪声模型
    noise_model = nq.PrebuiltNoiseModels.HardwareBackend(fake_calib)

  3. 创建初始态和线路
    state = nq.create_quantum_state(1) circuit = nq.QuantumCircuit(1) circuit.h(0)

  4. 在运行线路时传入噪声模型
    noisy_state = nq.run_circuit_on_state(state, circuit, noise_model=noise_model)

  5. 验证状态已变为混合态
    assert noisy_state._simulation_mode == 'density_matrix' purity = nq.calculate_state_purity(noisy_state) # 假设有这样一个API print(f"带噪状态的纯度: {purity:.4f}") # 纯度应小于1 算法构建器

使用 AlgorithmBuilders 可以快速生成复杂算法的线路。

code Python download content_copy expand_less

构建一个3比特的量子傅里叶变换(QFT)线路
qft_circuit = nq.AlgorithmBuilders.build_qft_circuit(num_qubits=3)

print("--- 3-qubit QFT Circuit ---") print(qft_circuit)

构建一个用于VQA的硬件高效拟设
params = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8] ansatz = nq.AlgorithmBuilders.build_hardware_efficient_ansatz( num_qubits=2, depth=2, parameters=params, entanglement_type='circular' ) print("\n--- Hardware-Efficient Ansatz ---") print(ansatz) 配置核心库

您可以在运行时通过 configure_quantum_core 函数调整库的行为。

code Python download content_copy expand_less

强制使用纯Python后端,并设置最大量子比特数上限
nq.configure_quantum_core({ "BACKEND_CHOICE": "pure_python", "MAX_QUBITS": 10, "MAX_SYSTEM_RAM_GB_LIMIT": 16 # 手动设置内存上限为16GB }) 🧪 测试

本文件包含一个全面的自测试套件。要运行测试,只需直接执行此脚本:

code Bash download content_copy expand_less python quantum_core.py

测试套件将自动在可用的后端(Pure Python 和/或 CuPy)上运行,并验证所有核心功能、算法构建器和噪声模型的正确性。测试采用“快速失败”策略,任何一个测试失败都会立即中止整个测试流程。

📜 版本历史 v1.5.0 - 拓扑感知API版

API 升级: 公共 API run_circuit_on_state 和相关内部方法现在接收 topology 参数,以实现对量子子程序的拓扑感知优化。

架构重构: 彻底移除了 get_effective_unitary 中的猴子补丁,采用内置的模式感知执行,提高了代码的健壮性和可维护性。

噪声模型扩展: 引入了 CorrelatedNoise 模型,用于模拟串扰等非局部效应。

逻辑修复: 修正了相干噪声的应用逻辑,确保其只作用于旋转门的旋转角度。

内核调度优化: _StateVectorEntity 内部改用调度字典来管理优化内核,提高了代码的可读性和可扩展性。

👤 作者

跳舞的火公子

📄 许可证

本项目采用 MIT 许可证。详情请见 LICENSE 文件。

相关文章
|
2月前
|
人工智能 自然语言处理 IDE
教你正确安装 VS2026,不卡顿不报错 附安装包
Visual Studio 2026(v18)是微软推出的AI原生全能IDE,深度集成GitHub Copilot,实现编码、调试、测试、性能分析全流程智能辅助;启动快50%、内存省20%,支持.NET 10/C#14、C++23及多语言跨平台开发,专为个人开发者与中小团队打造。
614 0
|
4月前
|
人工智能 Linux API
OpenClaw Skill 标准开发模板:10个实用Skill源码+阿里云/本地部署与大模型API配置教程
OpenClaw作为轻量化AI智能体平台,其核心扩展能力来自自定义Skill开发,对于新手而言,掌握标准化Skill结构、可直接运行的实用源码、系统的调试避坑方法,就能快速开发出满足文件操作、办公自动化、开发辅助等场景的专属技能。本文提供统一通用的OpenClaw Skill标准模板,包含10个可直接复制使用的新手Skill源码,覆盖文件处理、日常办公、开发辅助三大高频场景,同时完整补充2026年阿里云服务器部署、MacOS/Linux/Windows11本地部署流程,以及阿里云千问大模型API与免费Coding Plan API的配置方法,搭配全场景常见问题解决方案,让零基础用户也能稳定开发
1031 1
|
监控 网络协议 NoSQL
五分钟带你读懂 TCP全连接队列(图文并茂)
今天有个小伙伴跑过来告诉我有个奇怪的问题需要协助下,问题确实也很奇怪。客户端调用RT比较高并伴随着间歇性异常Connection reset出现,而服务端CPU 、线程栈等看起来貌似都很正常,而且服务端的RT很短
9670 0
五分钟带你读懂 TCP全连接队列(图文并茂)
|
1月前
|
人工智能 安全 API
Hermes Agent与OpenClaw全面对比:2026年AI Agent框架选型及部署终极指南
在AI智能体快速普及的2026年,Hermes Agent与OpenClaw已经成为开源社区最具代表性的两大框架。二者均支持自主任务执行、工具调用、文件操作、代码生成与自动化流程,但设计理念、技术路线、能力侧重与使用体验完全不同,导致大量用户在选型时陷入困惑。有人偏爱Hermes的自我进化能力,也有人依赖OpenClaw成熟的技能生态与多平台接入。
1210 1
|
1月前
|
人工智能 API 开发者
阿里云发布为Agent而生的全新AI产品官网“千问云”,模型服务全面Skill、CLI化
5月20日,阿里云发布“千问云”(www.qianwenai.com)——专为Agent时代打造的AI模型服务平台,集成150+主流模型API,首创Skills与CLI工具链,支持模型选型、调用、用量管理等全链路自动化,助力开发者与Agent高效构建AI应用。
1990 32
|
1月前
|
存储 安全 Java
首个 Java Harness Framework 来了丨AgentScope 把 OpenClaw 带到企业分布式场景
本文旨在正式宣告 AgentScope Java 1.1.0 里程碑版本的发布,重点阐述该版本如何从工程实践层面完整落地“Harness Framework”理念。
926 21
|
1月前
|
存储 网络协议 Java
【Spring全家桶】Spring Cloud 2023.0.x:服务注册与发现:Nacos、Eureka、Consul(附《思维导图》+《面试高频考点清单》)
本文系统梳理Spring Cloud 2023.0.x(Leyton)服务注册与发现核心体系,涵盖Nacos(AP/CP双模)、Consul(CP)、Eureka(维护模式)三大组件原理、对比与实战,深度解析CAP理论、健康检查、高可用集群及迁移方案,助力微服务架构落地。
|
1月前
|
人工智能 安全 测试技术
基于Harness + Langgraph + A2A 写一个 Agent Team,实现一支硅基团队自己 写代码
基于Harness + Langgraph + A2A 写一个 Agent Team,实现一支硅基团队自己 写代码
基于Harness + Langgraph + A2A 写一个 Agent Team,实现一支硅基团队自己 写代码
|
1月前
|
人工智能 自然语言处理 供应链
|
1月前
|
人工智能 自然语言处理 API
阿里云计算巢一键部署DeepSeek-TUI: DeepSeek 版的 Claude Code 终端AI编程实操教程
在AI编程工具飞速迭代的当下,终端类智能编码助手凭借轻量化、无依赖、高效流畅的特性,深受开发者青睐。DeepSeek-TUI作为对标Claude Code的终端原生编程智能体,基于DeepSeek V4系列模型深度打造,能够直接在命令行中完成代码生成、项目搭建、脚本编写、漏洞排查、网页检索、Git管理等全流程开发工作,凭借强大的上下文能力与完备工具链,迅速在开发者社区走红。
375 2