Opcode 模拟器详解#
什么时候进入本页#
当你需要了解底层模拟器的实现细节、支持的后端类型、量子门列表或直接操作 opcode 列表时,进入本页。
本页是 本地模拟 的延伸阅读,适合已经完成基础模拟验证、需要深入理解后端行为或排查底层问题的读者。
如果你还未完成基础线路构建与本地模拟,建议先阅读 本地模拟。
OpcodeSimulator 是 UnifiedQuantum 的底层模拟器,直接操作 opcode 列表进行量子线路模拟。它通过 C++ 扩展(pybind11)实现高性能计算。
创建模拟器#
from uniqc.simulator import OpcodeSimulator
# 状态向量后端(默认)
sim = OpcodeSimulator(backend_type='statevector')
# 密度矩阵后端(支持噪声模拟)
sim = OpcodeSimulator(backend_type='density_matrix')
# 基于 QuTip 的密度矩阵后端(用于交叉验证)
sim = OpcodeSimulator(backend_type='density_matrix_qutip')
支持的后端类型#
后端 |
类型别名 |
说明 |
噪声支持 |
|---|---|---|---|
|
|
纯态状态向量模拟 |
❌ |
|
|
C++ 密度矩阵模拟 |
✅ |
|
|
QuTip 密度矩阵(验证用) |
✅ |
支持的量子门#
单量子比特门#
门名 |
操作 |
参数 |
|---|---|---|
|
Hadamard |
无 |
|
Pauli-X (NOT) |
无 |
|
Pauli-Y |
无 |
|
Pauli-Z |
无 |
|
S 门 (√Z) |
无 |
|
S† |
无 |
|
T 门 (∜Z) |
无 |
|
T† |
无 |
|
√X |
无 |
|
绕 X 轴旋转 |
|
|
绕 Y 轴旋转 |
|
|
绕 Z 轴旋转 |
|
|
相位门 |
|
|
U2 门 |
|
|
通用单比特门 |
|
双量子比特门#
门名 |
操作 |
参数 |
|---|---|---|
|
受控 NOT |
无 |
|
受控 Z |
无 |
|
SWAP |
无 |
|
iSWAP |
无 |
|
XY 交互 |
|
|
XX 交互 |
|
|
YY 交互 |
|
|
ZZ 交互 |
|
三量子比特门#
门名 |
操作 |
参数 |
|---|---|---|
|
Toffoli |
无 |
|
受控 SWAP |
无 |
特殊门#
门名 |
操作 |
参数 |
|---|---|---|
|
绕 Bloch 球面 φ 角旋转 |
|
|
90° RPhi |
|
|
180° RPhi |
|
|
双比特通用门(15 参数) |
15 个角度参数 |
|
双比特相位 |
|
受控门支持#
所有门都支持通过 control_qubits_set 参数添加控制量子比特:
# 对 qubit 0 施加 X 门,以 qubit 1 为控制位
sim.x(qubit=0, control_qubits_set=[1], is_dagger=False)
模拟结果获取#
# 初始化量子比特数
sim.init_n_qubit(n_qubit)
# ... 施加门操作 ...
# 获取概率分布(指定测量比特)
prob = sim.pmeasure(measure_qubits)
# 获取状态向量(仅 statevector 后端)
sv = sim.state
# 获取密度矩阵(仅 density_matrix 后端)
dm = sim.state
直接使用 Opcode 列表#
Opcode 列表是 (operation, qubit, cbit, parameter, is_dagger, control_qubits_set) 元组的列表:
opcodes = [
('H', [0], None, None, False, []),
('CNOT', [0, 1], None, None, False, []),
('RX', [0], None, [1.57], False, []),
]
sim = OpcodeSimulator()
sim.init_n_qubit(2)
for opcode in opcodes:
operation, qubit, cbit, parameter, is_dagger, control_qubits_set = opcode
sim.simulate_gate(operation, qubit, cbit, parameter, is_dagger, control_qubits_set)
已知限制#
statevector 后端:所有门均已通过测试