GPU 加速的量子态演化可视化

把 qiskit 电路一键渲染成布洛赫球与概率热图动画 —— matplotlib 方案 30 分钟的活,这里 20 秒干完。

核心特性

从研究到教学,gpuqviz 覆盖量子电路可视化的全链路

⚡

极速渲染

GPU 光栅化 + 关键帧插值,15s@60fps 视频秒级出片

📦

零中间文件

FBO 帧直通进程内编码器,不落盘,无 IO 瓶颈

🎥

NVENC 硬编码

cupy RGBA → NV12 kernel → NVENC,全程不下显存

🎨

多渲染器

布洛赫球、热图、直方图、纠缠图、密度矩阵 Hinton,多 qubit 分屏

🖱️

交互式播放器

导出单文件 HTML(~0.7MB,离线可开),3D 旋转缩放

🔬

qiskit 原生衔接

直接吃 QuantumCircuit,qiskit 仅为可选依赖

快速上手

三行代码,把量子电路变成 3D 动画

# 安装
pip install gpuqviz[qiskit]

# 一行出片
from gpuqviz import export_html
from qiskit import QuantumCircuit

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)

export_html(circuit=qc, out="bell.html", title="贝尔态演化")
# 双击 bell.html 即可打开交互式 3D 播放器

专业轨道 Pro

对拍锁定的分析内核 · 噪声开放系统 · 20+ qubit MPS 规模化

📊

测量统计

精确概率 / 可复现 shot 采样(GPU:n=24·10⁶ shots 亚秒)/ 全基矢振幅账本

🔗

纠缠分析

纠缠熵 · 互信息 · negativity · Schmidt 谱 —— 对拍 qiskit 至 1e-10

🌊

噪声开放系统

depolarizing / 弛豫 / 热弛豫 Kraus 通道,密度矩阵 Hinton 图

🧬

MPS 规模化

20+ qubit χ 截断演化,SWAP 路由,约化分析量直喂渲染层

from qiskit import QuantumCircuit
from gpuqviz import ProVisualizer

qc = QuantumCircuit(2)
qc.h(0); qc.cx(0, 1)

viz = (ProVisualizer(circuit)
       .with_shots(shots=4096, seed=42)
       .with_noise(("depolarizing", 0.05))
       .analyze(pauli=["ZZ"], entanglement=True))

report = viz.report()        # 测量 / 纠缠 / Pauli 期望 —— 可导出核对
viz.export_video("noisy.mp4")  # 含噪演化动画(Bloch 收缩自动呈现)

专业轨道的全部数值由契约测试对拍 qiskit / Aer 锁定 (精确量 1e-10、全电路含噪 1e-6)——详见 文档 · 专业轨道。

内置 12 个经典量子算法

从 Bell 态到 Grover 搜索,一键可视化演示

CLI 命令

无需写代码,一行命令演示内置算法

gpuqviz demo --list                    # 列出内置算法
gpuqviz demo --algo grover             # 一行命令演示(默认 HTML)
gpuqviz demo --algo qft --format mp4   # 指定输出格式
gpuqviz demo --algo bell --engine pyqpanda  # 切换模拟引擎

性能对比

消费级 NVIDIA GPU 实测

3.9s

gpuqviz (GL 后端)

Bell 态 3s@30fps 720p

112.8s

matplotlib 方案

同规格输出