Skip to Content

Fermi–Hubbard 工具

Fermi–Hubbard 工具支持一维开放链的 Jordan–Wigner Pauli 展开、模式映射、稠密精确对角化,以及由状态制备线路进行有限 shots 总磁矩测量。长度为 的链使用 个量子比特。

构造 Pauli 哈密顿量

from unitarylab.library.fermi_hubbard.fermi_hubbard_pauli import ( fermi_hubbard_pauli_terms, fermi_hubbard_pauli, qubit_site_spin_mapping, ) terms = fermi_hubbard_pauli_terms(L=2, t=1.0, U=2.0, B=0.1) expression = fermi_hubbard_pauli(L=2, t=1.0, U=2.0, B=0.1) print(qubit_site_spin_mapping(2)) print(terms) print(expression)
接口返回值
fermi_hubbard_pauli_terms(L, t, U, B)dict[str, float] 形式的合并 Pauli 项
fermi_hubbard_pauli(L, t, U, B)可供后续工具解析的 Pauli 表达式字符串
fermi_hubbard_hamiltonian(L, t, U, B)哈密顿量表达式字符串
qubit_site_spin_mapping(L)格点、自旋与量子比特的可读映射

模式采用交错的格点优先顺序:格点 的自旋向上模式映射到 qubit ,自旋向下模式映射到 qubit 。L 必须为正整数,t、U 和 B 必须为有限实数。

精确基态与总自旋

from unitarylab.library.fermi_hubbard.pauli_ground_state import ( pauli_ground_state, ) ground = pauli_ground_state(expression, max_qubits=8) print(ground.energy) print(ground.lowest_energies) print(ground.magnetic_moment)

pauli_ground_state(pauli_expression, *, max_qubits=12) 返回 GroundStateInfo:

字段说明
energy所选基态能量
lowest_energies最低的三个本征能量
state归一化基态向量
magnetic_moment 的精确期望值
number_of_qubitsPauli 串宽度

同一模块还提供 parse_pauli_expression()、pauli_string_to_matrix()、别名 pauli_expression_to_matrix() 和 total_spin_operators()。Pauli 表达式要求所有字符串等长、系数为有限实数、算符为厄米算符,并使用偶数量子比特。

精确对角化需要存储 稠密矩阵,空间复杂度约为 。max_qubits 是保护阈值,不代表更大系统适合稠密求解。

有限 shots 磁矩测量

from unitarylab import Circuit from unitarylab.library.fermi_hubbard.measure import ( measure_circuit_magnetic_moment, ) state_preparation = Circuit(4) measurement = measure_circuit_magnetic_moment( state_preparation, shots=1000, ) print(measurement.magnetic_moment) print(measurement.standard_errors) print(measurement.total_shots)

该接口使用 XX、YY、XY、YX 和 Z 五组测量。输入必须是尚未包含测量门的偶数量子比特状态制备线路,shots 至少为 2。MagneticMomentMeasurement 包含 mx、my、mz、standard_errors、shots_per_setting、number_of_sites、number_of_settings、statevector_reference、statevector_validation_passed 和测量耗时;.magnetic_moment 与 .total_shots 提供便捷汇总。

measure_ground_state_magnetic_moment(filename, shots=...) 可以加载 Python 线路文件后测量。加载过程会执行文件中的 Python 代码,因此只可用于来源可信、内容已经审阅的本地文件;不要加载下载文件或用户上传文件。

相关页面

最后更新于