qulacs/qulacs

Variational Quantum Circuit Simulator for Quantum Computation Research

Qulacs – 高性能量子电路模拟库

是什么 – Qulacs 是一个开源库(Python 前端 + 高性能 C++ 核心),用于模拟量子电路。它面向噪声中等规模量子(NISQ)设备、变分算法,以及任何需要快速运行大量或大型量子电路的工作负载。

主要功能

  • 速度 – 并行化的 C/C++ 后端;支持可选的 SIMD、OpenMP 和 GPU 加速。基准测试显示,其在单线程和多线程运行中可与其它模拟器竞争。
  • 噪声建模 – 内置噪声门可模拟真实的 NISQ 硬件。
  • 参数化门 – 支持可调参数的门,适用于变分量子算法。
  • 电路优化与压缩 – 在模拟前减少门数量,进一步提升速度。
  • 跨语言支持 – 可通过 Python(pip install qulacs 或 qulacs-gpu 用于 GPU)使用,或直接链接静态/共享 C++ 库。

安装

  • 多数用户可简单使用 pip 安装:pip install qulacs(针对 Intel Haswell CPU 优化的预构建二进制包)。
  • 对于旧 CPU、新 CPU(更高性能)或需要 GPU 支持的场景,可从源码安装或使用 qulacs-gpu 包。
  • 从源码构建时,可通过 CMake 启用 AVX2、OpenMP 或 CUDA。

典型工作流(Python)

from qulacs import QuantumCircuit, QuantumState, Observable
from qulacs.gate import Y, CNOT, merge

state = QuantumState(3)
state.set_Haar_random_state()


circuit = QuantumCircuit(3)
circuit.add_X_gate(0)
circuit.add_gate(merge(CNOT(0,1), Y(1)))
circuit.add_RX_gate(1, 0.5)
circuit.update_quantum_state(state)

obs = Observable(3)
obs.add_operator(2.0, "X 2 Y 1 Z 0")
obs.add_operator(-3.0, "Z 2")
print(obs.get_expectation_value(state))

安装 qulacs-gpu 后,将 QuantumState 替换为 QuantumStateGpu 即可在支持 CUDA 的 GPU 上运行。

典型工作流(C++) – 从 include/ 包含头文件,并链接静态库(-lcppsim_static -lcsim_static …)。示例代码与 Python 版本类似。

谁在使用 – 学术机构(如 QunaSys、大阪大学、NTT、富士通)以及任何需要快速、可扩展模拟器进行算法开发、基准测试或噪声研究的人。

了解更多 – 完整教程、API 文档和示例可在项目网站(如 docs.qulacs.org)获取。配套的基准测试仓库和 arXiv 论文(arXiv:2011.13524)提供性能详情。

许可证 – MIT 许可证,可自由使用并集成到其他软件中。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目