Skip to Content

Pauli 工具

Pauli 工具用于在矩阵、Pauli 串和量子线路之间转换,并支持乘积、幂、对易子及带状矩阵候选集。Pauli 串最左侧字符对应 qubit 0。

推荐导入与最小示例

import numpy as np from unitarylab.library.pauli_operator.pauli_string_decomposition import ( pauli_string_decomposition, pauli_string_to_matrix, ) H = np.array([[1.0, 0.5], [0.5, -1.0]], dtype=complex) terms = pauli_string_decomposition(H) recovered = pauli_string_to_matrix(terms) print(terms) print(np.allclose(H, recovered))

pauli_string_decomposition() 返回 list[tuple[str, complex]],不是字典。默认丢弃绝对值小于 的系数。

接口分类

from unitarylab.library.pauli_operator.pauli_string_decomposition import ( pauli_string_decomposition, pauli_string_to_matrix, pauli_string_circuit, pauli_string_evolution, pauli_string_multiply, pauli_string_product, pauli_string_power, pauli_string_commutator, pauli_string_band_matrix, pauli_string_band_matrix_prepared, )
接口输入返回
pauli_string_decomposition(H, sets=None, partition_commuting=True, real_symmetric_hint=False)厄米矩阵Pauli 项列表
pauli_string_to_matrix(decomposition)字符串、单项、列表或字典NumPy 矩阵
pauli_string_circuit(pauli_string)如 "XYZ"对应 Pauli 操作线路
pauli_string_evolution(pauli_string, theta)Pauli 串和旋转角 线路
pauli_string_multiply(p1, p2)等长 Pauli 串(pauli_string, phase)
pauli_string_product(decomposition)多个 Pauli 项合并后的 Pauli 串和系数
pauli_string_power(decomposition, order)Pauli 展开与非负整数阶展开后的幂
pauli_string_commutator(p1, p2)等长 Pauli 串对易子的 Pauli 串和系数
pauli_string_band_matrix(n_qubits, width, as_tuple=False)量子比特数与带宽带状矩阵候选 Pauli 集
pauli_string_band_matrix_prepared(n_qubits, width)量子比特数与带宽预处理后的候选集

分解选项

  • sets:只在指定的 Pauli 候选集中分解。
  • partition_commuting=True:按对易关系重排结果,便于分组测量。
  • real_symmetric_hint=True:输入确认是实对称矩阵时,跳过含奇数个 Y 的候选项。

矩阵维度必须为 ,并满足厄米性。Pauli 字符串只能包含 I、X、Y、Z;乘积和对易子的两个字符串必须等长。候选集过窄会遗漏矩阵分量,使用 sets 后应通过矩阵回构验证。

资源限制

完整 Pauli 基含 个字符串,通用分解会随量子比特数快速增长。已知矩阵结构时优先使用 real_symmetric_hint、sets 或带状矩阵候选集,并在小规模上检查 np.allclose()。

相关页面

最后更新于