Qibo vs DeepQuantum:量子计算框架深度技术选型报告¶
报告日期: 2026年1月14日 报告人: 量子计算高级产品经理 面向对象: 量子算法工程师、研究员、技术决策者
执行摘要¶
本报告从**产品定位**、API 用户体验、**技术生态**和**商业化潜力**四个维度,对 Qibo 和 DeepQuantum 两个量子计算框架进行了深度对比分析。
核心结论:
- Qibo:适合需要**硬件无关性**、**多后端支持**的研究场景,特别是欧洲学术机构和国际合作项目
- DeepQuantum:适合**PyTorch 生态**、**光量子计算**和**量子机器学习**场景,特别是中国本土化和产业化需求
目录¶
1. 产品定位雷达图¶
1.1 Qibo 产品定位¶
┌─────────────────────────────────────────────────────────────┐
│ QIBO 产品定位雷达图 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 硬件无关性 ████████████████████████████████ 95% │
│ 模块化程度 ████████████████████████████████ 95% │
│ 多后端支持 ████████████████████████████████ 95% │
│ 文档完整性 ████████████████████████░░░░░░░░ 80% │
│ 社区活跃度 ██████████████████████░░░░░░░░░░ 75% │
│ PyTorch集成 █████████████████░░░░░░░░░░░░░░ 50% │
│ 光量子支持 █████████████░░░░░░░░░░░░░░░░░░ 40% │
│ QML生态 ████████████████████░░░░░░░░░░░ 70% │
│ 本土化 ██████░░░░░░░░░░░░░░░░░░░░░░░░░ 30% │
│ 产业化成熟度 ██████████████████░░░░░░░░░░░ 65% │
│ │
│ 核心定位:开放、中立、模块化的量子中间件 │
│ 目标用户:学术研究机构、国际量子硬件厂商 │
│ │
└─────────────────────────────────────────────────────────────┘
关键特征: - ✅ 硬件无关性:设备无关的量子电路定义 - ✅ 模块化设计:Qibojit、Qibolab、Qibocal、Qibochem、Qiboml 独立模块 - ✅ 后端多样性:CPU/GPU/多GPU/多线程支持 - ⚠️ PyTorch 集成:中等程度,不如 DeepQuantum 深度集成 - ❌ 光量子支持:有限
1.2 DeepQuantum 产品定位¶
┌─────────────────────────────────────────────────────────────┐
│ DEEPQUANTUM 产品定位雷达图 │
├─────────────────────────────────────────────────────────────┤
│ │
│ PyTorch集成 ████████████████████████████████ 98% │
│ 光量子支持 ████████████████████████████████ 95% │
│ QML生态 ████████████████████████████░░░ 90% │
│ 自动微分 ████████████████████████████████ 95% │
│ 文档完整性 ████████████████████░░░░░░░░░░░ 70% │
│ 本土化 ████████████████████████████████ 95% │
│ 产业化成熟度 ████████████████████████████░░░ 90% │
│ 硬件无关性 ████████████████░░░░░░░░░░░░░░ 60% │
│ 模块化程度 ████████████████████░░░░░░░░░░░ 75% │
│ 多后端支持 ████████████████░░░░░░░░░░░░░░ 60% │
│ │
│ 核心定位:PyTorch 原生的量子计算框架 │
│ 目标用户:量子机器学习研究者、光量子实验组 │
│ │
└─────────────────────────────────────────────────────────────┘
关键特征: - ✅ PyTorch 深度集成:原生支持,自动微分无缝 - ✅ 光量子计算:Fock 态、高斯态、玻色采样完整支持 - ✅ QML 生态:量子神经网络、混合模型开箱即用 - ✅ 中国本土化:中文文档、本土技术支持 - ⚠️ 硬件无关性:相对较弱,更侧重图灵量子硬件
1.3 对比总结表¶
| 维度 | Qibo | DeepQuantum | 胜出 |
|---|---|---|---|
| 硬件无关性 | 设备无关,后端抽象 | 侧重图灵量子硬件 | Qibo ⭐⭐⭐⭐⭐ |
| PyTorch 集成 | 中等支持 | 原生深度集成 | DeepQuantum ⭐⭐⭐⭐⭐ |
| 光量子计算 | 有限支持 | 完整支持(Fock/Gaussian) | DeepQuantum ⭐⭐⭐⭐⭐ |
| 自动微分 | 支持 | 原生 PyTorch autograd | DeepQuantum ⭐⭐⭐⭐⭐ |
| 模块化设计 | 高度模块化 | 相对集成 | Qibo ⭐⭐⭐⭐⭐ |
| 多后端切换 | 灵活 | 相对固定 | Qibo ⭐⭐⭐⭐ |
| QML 生态 | Qiboml 独立模块 | 原生集成 | DeepQuantum ⭐⭐⭐⭐ |
| 社区驱动 | 国际化开源 | 商业公司驱动 | Qibo ⭐⭐⭐⭐ |
| 文档质量 | 英文为主 | 中英双语 | 平手 |
| 本土化 | 欧洲中心 | 中国本土化 | DeepQuantum ⭐⭐⭐⭐⭐ |
2. API 使用范例对比¶
2.1 含参量子线路并计算梯度¶
Qibo 实现¶
import qibo
from qibo import gates, models
# 创建含参量子线路
circuit = models.Circuit(3)
# 添加参数化门
theta = qibo.symbols(theta) # 符号变量
circuit.add(gates.RX(0, theta=0))
circuit.add(gates.RY(1, theta=1))
circuit.add(gates.RZ(2, theta=2))
circuit.add(gates.CNOT(0, 1))
circuit.add(gates.CNOT(1, 2))
# 设置哈密顿量观测量
hamiltonian = hamiltonians.X(3)
# 计算梯度
from qibo.derivative import parameter_shift
def energy(params):
result = circuit(params)
return hamiltonian.expectation(result.state)
# 参数移位法计算梯度
grad = parameter_shift(energy, params)
复杂度: ⭐⭐⭐ - 需要显式定义符号变量 - 梯度计算需要额外的 derivative 模块 - 语法相对传统量子计算框架
DeepQuantum 实现¶
import deepquantum as dq
import torch
# 创建含参量子线路
cir = dq.QubitCircuit(3)
# 添加参数化门(自动初始化参数)
cir.rx(0) # 自动创建可训练参数
cir.ry(1)
cir.rz(2)
cir.cnot(0, 1)
cir.cnot(1, 2)
# 设置观测量
cir.observable(basis='x')
# 前向传播 + 自动微分
params = torch.randn(3, requires_grad=True)
state = cir(data=params) # 角度编码
exp = cir.expectation() # 期望值
# 自动计算梯度(PyTorch 原生)
exp.backward()
grad = params.grad
复杂度: ⭐⭐⭐⭐⭐ - 参数自动初始化,无需符号变量 - 梯度计算完全自动化(PyTorch autograd) - 语法更接近深度学习框架
对比结论: DeepQuantum 在变分量子算法(VQA)场景下**显著简化**了梯度计算流程。
2.2 4 比特 GHZ 态制备¶
Qibo 实现¶
from qibo import gates, models
# 创建 4 比特线路
circuit = models.Circuit(4)
# GHZ 态制备电路
circuit.add(gates.H(0)) # Hadamard on qubit 0
circuit.add(gates.CNOT(0, 1)) # CNOT 0 -> 1
circuit.add(gates.CNOT(0, 2)) # CNOT 0 -> 2
circuit.add(gates.CNOT(0, 3)) # CNOT 0 -> 3
# 执行
result = circuit()
print(result.state()) # 打印状态矢量
复杂度: ⭐⭐⭐⭐
DeepQuantum 实现¶
import deepquantum as dq
# 创建 4 比特线路
cir = dq.QubitCircuit(4)
# GHZ 态制备电路
cir.h(0) # Hadamard on qubit 0
cir.cnot(0, 1) # CNOT 0 -> 1
cir.cnot(0, 2) # CNOT 0 -> 2
cir.cnot(0, 3) # CNOT 0 -> 3
# 执行
state = cir()
print(state) # 打印状态矢量
# 或使用便捷方法
state = dq.QubitState(4, state='ghz').state
复杂度: ⭐⭐⭐⭐⭐
对比结论:
- 两者语法相似度很高
- DeepQuantum 提供了更简洁的快捷方式(state='ghz')
- DeepQuantum 的方法名更短(h vs H, cnot vs CNOT)
2.3 量子傅里叶变换(QFT)¶
Qibo 实现¶
from qibo import gates, models
from qibo.models import QFT
# 方法 1:使用内置 QFT 模型
n_qubits = 4
circuit = models.Circuit(n_qubits)
qft = QFT(n_qubits)
circuit.add(qft)
# 方法 2:手动构建 QFT
circuit = models.Circuit(n_qubits)
for i in range(n_qubits):
circuit.add(gates.H(i))
for j in range(i + 1, n_qubits):
theta = np.pi / (2 ** (j - i))
circuit.add(gates.CU1(j, i, theta))
# 添加 SWAP 门
for i in range(n_qubits // 2):
circuit.add(gates.SWAP(i, n_qubits - 1 - i))
复杂度: ⭐⭐⭐
DeepQuantum 实现¶
import deepquantum as dq
# 方法 1:使用内置 QFT Ansatz
n_qubits = 4
qft = dq.QuantumFourierTransform(nqubit=n_qubits)
state = qft()
# 方法 2:在电路中添加 QFT
cir = dq.QubitCircuit(n_qubits)
cir.add(dq.QuantumFourierTransform(nqubit=n_qubits))
# 方法 3:手动构建 QFT
cir = dq.QubitCircuit(n_qubits)
for i in range(n_qubits):
cir.h(i)
for j in range(i + 1, n_qubits):
theta = np.pi / (2 ** (j - i))
cir.cp(i, j, theta) # 受控相位门
# 添加 SWAP 门
for i in range(n_qubits // 2):
cir.swap(i, n_qubits - 1 - i)
复杂度: ⭐⭐⭐⭐
对比结论:
- Qibo 提供了独立的 QFT 模型类
- DeepQuantum 将 QFT 作为 Ansatz(模板电路)的一部分
- DeepQuantum 的 cp(controlled phase)比 Qibo 的 CU1 更直观
2.4 Grover 搜索算法¶
Qibo 实现¶
from qibo import gates, models, hamiltonians
def grover_circuit(n_qubits, oracle, iterations):
circuit = models.Circuit(n_qubits)
# 初始化 Hadamard 层
for i in range(n_qubits):
circuit.add(gates.H(i))
# Grover 迭代
for _ in range(iterations):
# Oracle
circuit.add(oracle)
# Diffusion operator
for i in range(n_qubits):
circuit.add(gates.H(i))
circuit.add(gates.X(i))
# 多控制 Z 门
circuit.add(gates.Z(*list(range(n_qubits))).controlled_by(*range(n_qubits-1)))
for i in range(n_qubits):
circuit.add(gates.X(i))
circuit.add(gates.H(i))
return circuit
# 使用示例
n_qubits = 3
oracle = models.Circuit(n_qubits)
# 定义 oracle...
circuit = grover_circuit(n_qubits, oracle, iterations=2)
result = circuit()
复杂度: ⭐⭐
DeepQuantum 实现¶
import deepquantum as dq
# DeepQuantum 目前没有内置 Grover 类
# 需要手动构建(类似 Qibo)
cir = dq.QubitCircuit(3)
# 初始化 Hadamard 层
cir.hlayer()
# Grover 迭代
for _ in range(2):
# Oracle(需要自定义)
# cir.x(0)
# cir.ccz(0, 1, 2) # 多控制 Z
# cir.x(0)
# Diffusion operator
cir.hlayer()
cir.xlayer()
cir.mcp(list(range(3))) # 多控制相位
cir.xlayer()
cir.hlayer()
state = cir()
复杂度: ⭐⭐
对比结论:
- 两者都需要手动构建 Grover 算法
- Qibo 的 controlled_by 语法更直观
- DeepQuantum 的 hlayer()、xlayer() 更简洁
2.5 VQE(变分量子本征求解器)¶
Qibo 实现¶
from qibo import gates, models, hamiltonians, optimizers
import numpy as np
# 定义哈密顿量
hamiltonian = hamiltonians.XXZ(nqubits=4)
# 创建变分线路
def create_vqe_circuit(nqubits):
circuit = models.Circuit(nqubits)
for i in range(nqubits):
circuit.add(gates.RY(i, theta=0))
for i in range(nqubits - 1):
circuit.add(gates.CNOT(i, i + 1))
for i in range(nqubits):
circuit.add(gates.RY(i, theta=0))
return circuit
circuit = create_vqe_circuit(4)
# 定义损失函数
def loss(params):
circuit.set_parameters(params)
result = circuit()
return hamiltonian.expectation(result.state())
# 优化
optimizer = optimizers.Adam(lr=0.01)
initial_params = np.random.uniform(0, 2*np.pi, size=8)
best_params, best_energy = optimizer.optimize(loss, initial_params)
复杂度: ⭐⭐⭐
DeepQuantum 实现¶
import deepquantum as dq
import torch
import torch.nn as nn
# 创建变分线路
cir = dq.QubitCircuit(4)
cir.rylayer() # 第一层 RY
cir.cnot_ring() # CNOT 环
cir.rylayer() # 第二层 RY
cir.observable(basis='x') # XXZ 哈密顿量的部分
# 定义损失函数(完全 PyTorch 风格)
optimizer = torch.optim.Adam(cir.parameters(), lr=0.01)
for epoch in range(100):
optimizer.zero_grad()
state = cir()
energy = cir.expectation()
energy.backward()
optimizer.step()
if epoch % 10 == 0:
print(f'Epoch {epoch}, Energy: {energy.item():.4f}')
复杂度: ⭐⭐⭐⭐⭐
对比结论: - DeepQuantum 完全 PyTorch 化,对于熟悉深度学习的开发者更友好 - Qibo 的优化器是量子专用的,需要学习新 API - DeepQuantum 支持更复杂的优化策略(学习率调度、梯度裁剪等)
2.6 QAOA(量子近似优化算法)¶
Qibo 实现¶
from qibo import gates, models, hamiltonians
# 定义问题哈密顿量
hamiltonian = hamiltonians.MaxCut(nqubits=4)
# 创建 QAOA 线路
circuit = models.QAOA(hamiltonian, n_layers=2)
# 执行
initial_params = np.random.uniform(0, 2*np.pi, size=4)
result = circuit(initial_params)
复杂度: ⭐⭐⭐⭐
DeepQuantum 实现¶
import deepquantum as dq
import torch
# 创建 QAOA 线路(需要手动构建)
n_qubits = 4
n_layers = 2
cir = dq.QubitCircuit(n_qubits)
for layer in range(n_layers):
# 问题哈密顿量(MaxCut)
for i in range(n_qubits):
cir.rx(i, encode=True) # 参数化 RX
# 混合哈密顿量
for i in range(n_qubits):
cir.ry(i, encode=True)
# 耦合项
cir.cnot_ring()
cir.observable(basis='z')
# 优化循环
optimizer = torch.optim.Adam(cir.parameters(), lr=0.01)
复杂度: ⭐⭐⭐
对比结论: - Qibo 提供了内置的 QAOA 模型,更高级 - DeepQuantum 需要手动构建,但更灵活 - Qibo 适合快速原型,DeepQuantum 适合定制化需求
2.7 多后端切换对比¶
Qibo 实现¶
from qibo import set_backend, models
# 切换到不同后端
set_backend("numpy") # NumPy 后端
set_backend("cupy") # GPU (CuPy)
set_backend("tensorflow") # TensorFlow
set_backend("pytorch") # PyTorch
# 创建线路(自动使用当前后端)
circuit = models.Circuit(3)
circuit.add(gates.H(0))
result = circuit()
复杂度: ⭐⭐⭐⭐⭐
优势: - 一行代码切换后端 - 支持多种深度学习框架 - 设备无关性
DeepQuantum 实现¶
import deepquantum as dq
import torch
# 切换设备(PyTorch 原生方式)
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
# 创建线路并指定设备
cir = dq.QubitCircuit(3)
cir.h(0)
# 执行时自动使用 PyTorch 的设备
state = cir()
state = state.to(device) # 手动移动到 GPU
# 或者使用 .to() 方法
cir.to(device)
复杂度: ⭐⭐⭐
优势: - 与 PyTorch 完全一致 - 支持 PyTorch 的所有设备管理功能 - 更灵活的分布式训练
对比结论:
- Qibo 的后端切换更简单(set_backend 一行搞定)
- DeepQuantum 需要手动管理设备,但更符合 PyTorch 习惯
- Qibo 支持更多后端(TensorFlow、JAX 等),DeepQuantum 仅支持 PyTorch
2.8 噪声模型支持对比¶
Qibo 实现¶
from qibo import gates, models, noise
# 创建带噪声的线路
circuit = models.Circuit(3)
# 添加门
circuit.add(gates.H(0))
circuit.add(gates.CNOT(0, 1))
# 添加噪声
circuit.add(noise.ThermalRelaxationGate(0, t1=1.0, t2=0.5))
circuit.add(noise.DepolarizingChannel(1, 0.01))
circuit.add(noise.AmplitudeDampingChannel(2, 0.02))
# 或者使用噪声模型
noise_model = noise.NoiseModel()
noise_model.add(gates.H, noise.DepolarizingChannel(0.01))
noise_model.add(gates.CNOT, noise.ThermalRelaxationGate(t1=1.0, t2=0.5))
circuit = noise_model.apply(circuit)
复杂度: ⭐⭐⭐⭐
DeepQuantum 实现¶
import deepquantum as dq
from deepquantum.channel import (
BitFlip,
PhaseFlip,
Depolarizing,
AmplitudeDamping,
PhaseDamping,
ThermalRelaxation
)
# 创建线路
cir = dq.QubitCircuit(3)
# 添加门
cir.h(0)
cir.cnot(0, 1)
# 添加噪声信道
cir.add_channel(BitFlip(p=0.01, wires=0))
cir.add_channel(PhaseFlip(p=0.02, wires=1))
cir.add_channel(Depolarizing(p=0.01, wires=2))
cir.add_channel(AmplitudeDamping(gamma=0.02, wires=0))
复杂度: ⭐⭐⭐
对比结论: - Qibo 的噪声模型更系统,支持批量应用 - DeepQuantum 的噪声信道更直观,直接添加到线路 - Qibo 支持更多噪声类型(Qibocal 提供校准功能)
2.9 哈密顿量构建 API 对比¶
Qibo 实现¶
from qibo import hamiltonians
# 内置哈密顿量
h_xxz = hamiltonians.XXZ(nqubits=4) # XXZ 模型
h_ising = hamiltonians.TFIM(nqubits=4) # 横场伊辛模型
h_heis = hamiltonians.Heisenberg(nqubits=4) # 海森堡模型
# 自定义哈密顿量
from qibo.hamiltonians import SymbolicHamiltonian
import sympy as sp
# 使用符号表达式
matrix_form = sp.Matrix([[1, 0], [0, -1]])
h_custom = SymbolicHamiltonian(matrix_form, nqubits=4)
# 或者使用矩阵
import numpy as np
h_matrix = np.random.random((2**4, 2**4))
h_custom = hamiltonians.Hamiltonian(h_matrix)
复杂度: ⭐⭐⭐⭐
DeepQuantum 实现¶
import deepquantum as dq
import torch
# 使用观测量系统
cir = dq.QubitCircuit(4)
# 单体观测量
cir.observable(wires=0, basis='x') # X on qubit 0
cir.observable(wires=1, basis='y') # Y on qubit 1
cir.observable(wires=2, basis='z') # Z on qubit 2
# 多体观测量
cir.observable(wires=[0, 1], basis='xx') # XX 相互作用
cir.observable(wires=[1, 2], basis='yy') # YY 相互作用
cir.observable(wires=[2, 3], basis='zz') # ZZ 相互作用
# 批量观测量
cir.observable(basis='xyz') # 在所有量子比特上测量 X, Y, Z
# 或者手动构建哈密顿量
from torch import nn
class CustomHamiltonian(nn.Module):
def __init__(self):
super().__init__()
self.coeffs = nn.Parameter(torch.randn(3))
def forward(self, state):
# 计算期望值
exp_x = dq.expectation(state, dq.pauli_x)
exp_y = dq.expectation(state, dq.pauli_y)
exp_z = dq.expectation(state, dq.pauli_z)
return self.coeffs[0] * exp_x + \
self.coeffs[1] * exp_y + \
self.coeffs[2] * exp_z
复杂度: ⭐⭐⭐
对比结论: - Qibo 提供了丰富的内置哈密顿量模型 - DeepQuantum 更灵活,可以自定义任意观测量 - DeepQuantum 的观测量系统更符合 PyTorch 习惯
2.10 光量子计算 API 对比(DeepQuantum 独有)¶
Qibo 实现¶
# Qibo 对光量子的支持有限
# 主要通过第三方库或自定义实现
# 玻色采样需要手动实现
from qibo import gates, models
import numpy as np
# 需要用户自己定义光量子门
# ...
复杂度: ⭐
DeepQuantum 实现¶
import deepquantum as dq
import torch
# Fock 态模拟
fock = dq.FockState(nmode=3, cutoff=3)
state = fock.state # |0,0,0⟩
# 高斯态模拟
gaussian = dq.GaussianState(nmode=3)
state = gaussian.state
# 玻色采样
gbs = dq.GaussianBosonSampling(nmode=5, nphoton=3)
samples = gbs(shots=1000)
# Clements 线路(光量子干涉仪)
clements = dq.Clements(nmode=4)
clements.bs(0, 1, theta=0.5) # 光束分束器
clements.ps(2, phi=0.3) # 相移器
state = clements()
# 永久式计算
permanent = dq.permanant(matrix)
# Hafnian 计算
hafnian = dq.hafnian(matrix)
# Torontonian 计算
torontonian = dq.torontonian(matrix)
# Williamson 分解
U, D = dq.williamson(cov_matrix)
复杂度: ⭐⭐⭐⭐⭐
对比结论: - DeepQuantum 在光量子计算领域有压倒性优势 - 完整支持 Fock 态、高斯态、玻色采样 - 提供了光量子特有的算法(永久式、Hafnian、Torontonian) - Qibo 目前不支持或需要第三方库
3. 用户体验诊断¶
3.1 安装体验对比¶
Qibo 安装¶
# 基础安装
pip install qibo
# 完整安装(包含所有模块)
pip install qibo[qibojit,qibolab,qibocal,qibochem,qiboml]
# 安装特定后端
pip install qibo[torch] # PyTorch 后端
pip install qibo[tensorflow] # TensorFlow 后端
摩擦点: - ✅ 安装命令简单 - ⚠️ 需要根据需求选择不同 extras - ⚠️ 某些模块需要额外依赖(如 Qibolab 需要硬件驱动)
评分: ⭐⭐⭐⭐
DeepQuantum 安装¶
# 基础安装
pip install deepquantum
# 或者从源码安装
git clone https://github.com/Turing-Company/deepquantum.git
cd deepquantum
pip install -e .
摩擦点: - ✅ 一行命令完成安装 - ✅ 依赖 PyTorch,大部分用户已安装 - ⚠️ 文档中缺少详细的环境配置说明 - ⚠️ 某些功能需要 CUDA,可能遇到版本兼容问题
评分: ⭐⭐⭐⭐
3.2 新用户学习曲线对比¶
Qibo 学习曲线¶
第一天: - ✅ 官方教程结构清晰 - ✅ 从 Basic Examples → Advanced Examples → Applications - ⚠️ 英文文档,对中文用户不够友好 - ⚠️ 需要理解"后端"概念
第一周: - ✅ 可以实现基本的量子算法 - ✅ Qibolab 提供了硬件控制的完整示例 - ⚠️ Qibocal 的校准流程较复杂 - ⚠️ 多模块之间的协调需要时间
第一个月: - ✅ 可以熟练使用 Qibo 进行研究 - ✅ 社区活跃,问题可以通过 GitHub Issues 解决 - ⚠️ 需要理解欧洲量子硬件生态
总体评分: ⭐⭐⭐⭐
DeepQuantum 学习曲线¶
第一天:
- ✅ 如果熟悉 PyTorch,上手非常快
- ✅ basics.ipynb 提供了完整的入门教程
- ✅ 中英文混合,对中文用户友好
- ⚠️ 文档不如 Qibo 系统化
第一周: - ✅ 可以实现变分量子算法(VQE、QAOA) - ✅ 光量子计算功能开箱即用 - ⚠️ 某些高级功能缺少文档,需要看源码 - ⚠️ 示例代码分散在多个文件夹
第一个月: - ✅ 可以熟练使用 DeepQuantum 进行量子机器学习 - ✅ 图灵量子提供技术支持(商业化优势) - ⚠️ 遇到问题可能需要等待官方回复 - ⚠️ 社区相对较小
总体评分: ⭐⭐⭐⭐
3.3 调试体验对比¶
Qibo 调试¶
from qibo import set_backend, gates, models
# 设置详细日志
import logging
logging.basicConfig(level=logging.DEBUG)
# 使用调试模式
set_backend("numpy", dtype='double')
# 创建线路
circuit = models.Circuit(3)
circuit.add(gates.H(0))
circuit.add(gates.CNOT(0, 1))
# 检查线路信息
print(circuit.summary())
print(circuit.draw())
# 执行并检查中间状态
result = circuit()
print(result.state())
print(result.executed_operations())
优势:
- ✅ 提供了详细的日志系统
- ✅ .summary() 和 .draw() 方法很方便
- ✅ 支持逐层检查中间状态
评分: ⭐⭐⭐⭐
DeepQuantum 调试¶
import deepquantum as dq
import torch
# 创建线路
cir = dq.QubitCircuit(3)
cir.h(0)
cir.cnot(0, 1)
# 检查线路
print(cir) # 打印线路信息
cir.draw() # 绘制线路
# PyTorch 原生调试
# 可以使用 pdb、断点、print 等 Python 标准调试工具
# 检查梯度
params = torch.randn(3, requires_grad=True)
state = cir(data=params)
exp = cir.expectation()
exp.backward()
print(params.grad) # 查看梯度
# 检查中间状态
state = cir()
print(state.norm()) # 检查归一化
print(state.shape) # 检查形状
优势:
- ✅ 完全兼容 PyTorch 的调试工具
- ✅ 可以使用 PyTorch Profiler 进行性能分析
- ✅ .draw() 方法提供可视化
评分: ⭐⭐⭐⭐⭐
3.4 性能优化体验对比¶
Qibo 性能优化¶
from qibo import set_backend, models
# 使用 GPU 后端
set_backend("cupy") # CuPy
# 或
set_backend("tensorflow")
# 或
set_backend("pytorch")
# 使用 JIT 编译(Qibojit)
from qibojit import QibojitBackend
set_backend("qibojit", platform="cupy")
# 多 GPU 并行
set_backend("cupy", ngpus=2)
# 检查性能
import time
start = time.time()
result = circuit()
end = time.time()
print(f"Time: {end - start:.4f}s")
优势: - ✅ 多种后端选择,可根据硬件优化 - ✅ Qibojit 提供 JIT 加速 - ✅ 多 GPU 支持简单
评分: ⭐⭐⭐⭐⭐
DeepQuantum 性能优化¶
import deepquantum as dq
import torch
# 使用 GPU
device = torch.device('cuda:0')
cir = dq.QubitCircuit(3).to(device)
# 批量处理
batch_size = 100
data = torch.randn(batch_size, 3)
state = cir(data) # 自动批量处理
# 使用 torch.compile(PyTorch 2.0+)
cir = torch.compile(cir)
# 使用 MPS(Apple Silicon)
if torch.backends.mps.is_available():
cir = cir.to('mps')
# 检查性能
import time
start = time.time()
for _ in range(100):
state = cir()
end = time.time()
print(f"Average time: {(end - start)/100:.4f}s")
优势:
- ✅ 完全利用 PyTorch 的性能优化
- ✅ 支持 torch.compile(PyTorch 2.0+)
- ✅ 批量处理简单
评分: ⭐⭐⭐⭐
3.5 部署体验对比¶
Qibo 部署¶
# 使用 Qibo Cloud
from qibo_client import QiboCloud
# 连接到云端量子设备
cloud = QiboCloud(api_key="your-api-key")
cloud.set_backend("simulator") # 或 "hardware"
# 提交任务
job = cloud.execute(circuit)
result = job.result()
# 使用 Qibolab 连接本地硬件
from qibolab import pulses
platform = pulses.Platform("platform_name")
platform.connect()
platform.setup()
result = platform.execute(circuit)
优势: - ✅ 支持云端和本地硬件 - ✅ Qibolab 提供统一的硬件接口 - ✅ Qibo Cloud 提供托管服务
评分: ⭐⭐⭐⭐⭐
DeepQuantum 部署¶
# 导出模型
import torch
# 保存线路
cir = dq.QubitCircuit(3)
torch.save(cir.state_dict(), 'circuit.pth')
# 加载线路
cir_loaded = dq.QubitCircuit(3)
cir_loaded.load_state_dict(torch.load('circuit.pth'))
# 使用 TorchScript 加速
cir_scripted = torch.jit.script(cir)
cir_scripted.save('circuit.pt')
# 使用 ONNX 导出(与其他框架集成)
torch.onnx.export(cir, 'circuit.onnx')
# 连接到图灵量子硬件(需要商业授权)
# 联系图灵量子获取硬件访问权限
优势: - ✅ 完全兼容 PyTorch 的部署流程 - ✅ 支持 TorchScript 和 ONNX - ⚠️ 硬件访问需要商业授权
评分: ⭐⭐⭐⭐
4. 商业化潜力评估¶
4.1 Qibo 商业化分析¶
资金来源与支持机构¶
| 机构 | 类型 | 支持方式 |
|---|---|---|
| TII(阿联酋) | 政府基金 | 核心资助 |
| INFN(意大利) | 研究机构 | 主要开发团队 |
| CERN | 国际组织 | 合作支持 |
| UNIMI / UNIMIB | 大学 | 学术研究 |
| EuroHPC | 欧盟项目 | 资金支持 |
| BSC(西班牙) | 超算中心 | HPC 集成 |
特点: - ✅ 多元化资金来源:不依赖单一机构 - ✅ 长期稳定性:欧洲政府长期支持 - ✅ 中立性:不绑定特定硬件厂商 - ⚠️ 商业化速度较慢:学术驱动,不是商业公司
商业模式¶
- 开源中间件模式
- 核心 Qibo:完全开源(Apache-2.0)
- Qibolab:硬件控制层(服务收费)
- Qibocal:校准服务(商业许可)
-
Qibo Cloud:云平台(订阅制)
-
价值主张
- 硬件无关性:保护用户投资
- 标准化接口:降低量子软件碎片化
-
生态系统:一站式解决方案
-
市场机会
- 欧洲量子硬件厂商(IQM、Oxford Quantum、Atos)
- 超算中心(HPC 集成)
- 研究机构(学术合作)
商业化成熟度: ⭐⭐⭐☆☆
2025-2026 展望: - EuroHPC 持续投入,预计 2026 年达到 5000 万欧元预算 - Qibocal 自动校准功能商业化加速 - Qibo Cloud 扩展到更多硬件提供商
4.2 DeepQuantum 商业化分析¶
资金来源与支持机构¶
| 机构 | 类型 | 支持方式 |
|---|---|---|
| 图灵量子(TuringQ) | 商业公司 | 核心开发 |
| 上海交通大学 | 大学 | 技术研发 |
| 盛世投资 | 投资机构 | 2025 年 7 月领投 |
| 鼎晖百孚 | 投资机构 | 2026 年 1 月投资 |
| 国科资本 | 投资机构 | 2026 年 1 月投资 |
| 海通开元 | 投资机构 | 2026 年 1 月投资 |
融资历程: - 2021 年:成立,天使轮融资 - 2022 年:营收 50 万元 - 2023 年:营收破千万,A 轮融资 - 2025 年 7 月:亿元级战略融资(盛世投资领投) - 2025 年下半年至 2026 年 1 月:半年内连续完成两轮数亿元融资 - 成立四年完成五轮融资
特点: - ✅ 商业化程度高:盈利模式清晰 - ✅ 融资能力强:获得国资和头部投资机构加持 - ✅ 硬件协同:自研光量子芯片流片 - ⚠️ 依赖单一公司:绑定图灵量子生态
商业模式¶
- "芯片+算法"双轮驱动
- 光量子芯片:硬件销售
- DeepQuantum 框架:软件授权
- 量子云服务:订阅制
-
解决方案:行业定制
-
价值主张
- 垂直整合:从芯片到软件全栈
- PyTorch 生态:降低学习成本
- 光量子领先:差异化优势
-
本土化支持:中国市场
-
市场机会
- 中国量子计算市场(政府、科研、金融)
- 光量子芯片产业化
- 量子机器学习应用
- 量子-经典混合计算
商业化成熟度: ⭐⭐⭐⭐⭐
2025-2026 展望: - 2025 年上半年订单破亿,预计全年营收 3-5 亿元 - 光量子芯片中试产线建成,2026 年开始量产 - 与摩尔线程合作,打造 "QPU+GPU" 异构平台 - 国家超算互联网已接入
4.3 商业化对比总结¶
| 维度 | Qibo | DeepQuantum |
|---|---|---|
| 资金来源 | 政府基金、学术机构 | 商业投资、公司营收 |
| 商业化程度 | ⭐⭐⭐☆☆ | ⭐⭐⭐⭐⭐ |
| 盈利模式 | 服务收费、订阅 | 软件+硬件销售 |
| 市场定位 | 国际化、中立 | 中国本土、垂直整合 |
| 增长速度 | 稳健(学术驱动) | 快速(商业驱动) |
| 长期稳定性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐☆ |
| 创新速度 | ⭐⭐⭐☆☆ | ⭐⭐⭐⭐⭐ |
5. SWOT 分析¶
5.1 Qibo SWOT 分析¶
┌─────────────────────────────────────────────────────────────┐
│ QIBO SWOT 矩阵 │
├─────────────────────────────────────────────────────────────┤
│ │
│ STRENGTHS (优势) WEAKNESSES (劣势) │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ ✓ 硬件无关性 │ │ ✗ PyTorch 集成 │ │
│ │ ✓ 模块化设计 │ │ 不够深度 │ │
│ │ ✓ 多后端支持 │ │ ✗ 光量子支持有限 │ │
│ │ ✓ 社区活跃 │ │ ✗ 中文文档缺乏 │ │
│ │ ✓ Qibocal 自动校准 │ │ ✗ 商业化速度慢 │ │
│ │ ✓ 国际化程度高 │ │ │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
│ OPPORTUNITIES (机会) THREATS (威胁) │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ ✓ EuroHPC 持续投入 │ │ ✗ PennyLane 竞争 │ │
│ │ ✓ 量子硬件普及 │ │ ✗ 硬件厂商自研框架 │ │
│ │ ✓ HPC 集成需求 │ │ ✗ 资金依赖政府 │ │
│ │ ✓ 标准化需求 │ │ ✗ 开源项目维护压力 │ │
│ │ ✓ 国际合作 │ │ │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
5.2 DeepQuantum SWOT 分析¶
┌─────────────────────────────────────────────────────────────┐
│ DEEPQUANTUM SWOT 矩阵 │
├─────────────────────────────────────────────────────────────┤
│ │
│ STRENGTHS (优势) WEAKNESSES (劣势) │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ ✓ PyTorch 深度集成 │ │ ✗ 硬件无关性弱 │ │
│ │ ✓ 光量子支持完整 │ │ ✗ 社区相对较小 │ │
│ │ ✓ 商业化程度高 │ │ ✗ 文档不够系统 │ │
│ │ ✓ 本土化支持 │ │ ✗ 国际化程度低 │ │
│ │ ✓ 融资能力强 │ │ ✗ 依赖单一公司 │ │
│ │ ✓ 芯片-软件协同 │ │ │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
│ OPPORTUNITIES (机会) THREATS (威胁) │
│ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ ✓ 中国量子市场 │ │ ✗ 国际框架竞争 │ │
│ │ ✓ 光量子芯片产业化 │ │ ✗ 政策变化风险 │ │
│ │ ✓ QML 应用爆发 │ │ ✗ 技术人员流失 │ │
│ │ ✓ GPU 异构计算 │ │ ✗ 硬件研发风险 │ │
│ │ ✓ 国家超算互联网 │ │ │ │
│ └─────────────────────┘ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
6. PM 最终建议¶
6.1 选择决策树¶
开始使用
│
┌───────────┴───────────┐
│ │
需要硬件无关? 专注 PyTorch?
│ │
是/ │ \否 是/ │ \否
/ \ \ \
│ │ │ │
研究欧洲硬件 研究光量子 熟悉 不熟悉
或国际合作 或 QML? PyTorch? PyTorch?
│ │ │ │ │
选择 Qibo 是 否 │ 选择 Qibo
│ │ │ (学习成本)
选择 DeepQuantum 选择 DeepQuantum
(光量子优势) (PyTorch 原生)
6.2 分场景推荐¶
场景 1:学术研究(欧洲/国际合作)¶
推荐:Qibo
理由: - 硬件无关性保证研究可复现性 - 模块化设计便于探索不同方向 - 国际社区活跃,合作机会多 - Qibocal 自动校准加速实验
注意事项: - 需要投入时间学习多后端系统 - 光量子研究需要额外工具
场景 2:量子机器学习研究¶
推荐:DeepQuantum
理由: - PyTorch 原生集成,学习成本低 - 自动微分无缝,适合复杂优化 - 混合量子-经典模型实现简单 - 批量处理和 GPU 加速开箱即用
注意事项: - 光量子特有功能需要图灵量子硬件才能充分发挥 - 社区相对较小,问题解决可能需要等待
场景 3:光量子计算研究¶
推荐:DeepQuantum
理由: - 完整支持 Fock 态、高斯态、玻色采样 - 提供光量子特有算法(Hafnian、Torontonian 等) - Clements 线路等光量子干涉仪支持 - 与图灵量子光量子芯片协同
注意事项: - 研究成果迁移到其他框架可能困难 - 依赖图灵量子生态
场景 4:变分量子算法(VQE、QAOA)¶
推荐:DeepQuantum(PyTorch 用户)/ Qibo(非 PyTorch 用户)
DeepQuantum 优势: - 梯度计算全自动 - 优化器丰富(Adam、RMSprop 等) - 学习率调度、梯度裁剪等高级功能
Qibo 优势: - 提供内置的 VQE/QAOA 模型 - 快速原型开发 - 多后端支持便于性能对比
场景 5:工业应用/产业化项目¶
推荐:DeepQuantum(中国市场)/ Qibo(国际市场)
DeepQuantum 优势: - 本土化技术支持 - 芯片-软件垂直整合 - 光量子芯片产业化 - 国家超算互联网接入
Qibo 优势: - 硬件无关性保护投资 - 国际标准兼容 - 多硬件厂商支持
场景 6:教育/培训¶
推荐:DeepQuantum(初学者)/ Qibo(进阶)
DeepQuantum 优势: - PyTorch 用户上手快 - 中文文档友好 - 语法简洁直观 - Jupyter Notebook 示例完整
Qibo 优势: - 教学资源丰富 - 系统化的教程 - 国际标准兼容 - 适合研究型教学
6.3 API 调用难易度总结¶
量子线路构建¶
| 任务 | Qibo | DeepQuantum | 胜出 |
|---|---|---|---|
| 基本门操作 | gates.H(0) |
cir.h(0) |
平手 |
| 参数化门 | gates.RY(i, theta=0) |
cir.ry(i) |
DeepQuantum ⭐ |
| CNOT | gates.CNOT(0, 1) |
cir.cnot(0, 1) |
平手 |
| 层操作 | 需循环 | cir.hlayer() |
DeepQuantum ⭐ |
| 线路拼接 | circuit.add(gate) |
cir1 + cir2 |
平手 |
梯度计算¶
| 任务 | Qibo | DeepQuantum | 胜出 |
|---|---|---|---|
| 参数初始化 | 需手动 | 自动 | DeepQuantum ⭐⭐ |
| 梯度计算 | parameter_shift |
exp.backward() |
DeepQuantum ⭐⭐ |
| 优化器 | 专用优化器 | PyTorch 优化器 | DeepQuantum ⭐ |
| 批量处理 | 需手动 | 自动 | DeepQuantum ⭐ |
高级功能¶
| 任务 | Qibo | DeepQuantum | 胜出 |
|---|---|---|---|
| 多后端切换 | set_backend() |
.to(device) |
Qibo ⭐⭐ |
| 噪声模型 | NoiseModel |
.add_channel() |
Qibo ⭐ |
| 哈密顿量 | 内置模型 | 灵活观测量 | 平手 |
| 光量子 | 不支持 | 完整支持 | DeepQuantum ⭐⭐⭐⭐⭐ |
| 硬件控制 | Qibolab | 商业授权 | Qibo ⭐ |
6.4 最终结论¶
Qibo 适合:¶
✅ 硬件无关性需求强的场景 ✅ 欧洲/国际合作项目 ✅ 需要多后端对比的研究 ✅ 量子硬件控制与校准 ✅ 标准化与互操作性
DeepQuantum 适合:¶
✅ PyTorch 生态深度用户 ✅ 量子机器学习研究 ✅ 光量子计算研究 ✅ 中国本土化应用 ✅ 产业化项目(芯片+软件)
6.5 混合策略建议¶
对于大型研究机构或企业:
- 主要框架:根据团队背景选择(PyTorch → DeepQuantum,其他 → Qibo)
- 次要框架:保持对另一个框架的了解,必要时切换
- 互操作性:使用 OpenQASM 等标准格式进行电路转换
- 定期评估:每年重新评估框架发展,调整策略
对于初创公司:
- 选择与团队技能匹配的框架
- 考虑长期商业化路径(国际化 vs 本土化)
- 关注硬件路线图(超导 vs 光量子)
- 评估技术支持能力
7. 信息来源¶
Qibo 信息来源¶
DeepQuantum 信息来源¶
报告结束
版权声明: 本报告基于公开信息编写,仅供参考,不构成投资建议。