paddle_quantum.hamiltonian
哈密顿量的功能实现。
- class Hamiltonian(pauli_str, compress=True)
 基类:
objectPaddle Quantum 中的 Hamiltonian
class。用户可以通过一个 Pauli string 来实例化该
class。- 参数:
 pauli_str (list) – 用列表定义的 Hamiltonian,如
[(1, 'Z0, Z1'), (2, 'I')]。compress (bool, optional) – 是否对输入的 list 进行自动合并(例如
(1, 'Z0, Z1')和(2, 'Z1, Z0')这两项将被自动合并),默认为True。
备注
若
compress为False, 则不会检查输入的合法性。- property n_terms
 该哈密顿量的项数。
- property pauli_str
 该哈密顿量对应的 Pauli string。
- property terms
 该哈密顿量中的每一项,i.e.
[['Z0, Z1'], ['I']]。
- property coefficients
 该哈密顿量中每一项的系数,i.e.
[1.0, 2.0]。
- property pauli_words
 该哈密顿量中每一项对应的 Pauli word 构成的列表,i.e.
['ZIZ', 'IIX']。
- property pauli_words_r
 该哈密顿量中每一项对应的简化(不包含 I) Pauli word 组成的列表,i.e.
['ZXZZ', 'Z', 'X']。
- property pauli_words_matrix
 该哈密顿量中每一项对应的简化(不包含 I) Pauli word 对应的 matrix 组成的列表。
- property sites
 该哈密顿量中的每一项对应的量子比特编号组成的列表。
- property n_qubits
 该哈密顿量对应的量子比特数。
- decompose_with_sites()
 将 pauli_str 分解为系数、泡利字符串的简化形式以及它们分别作用的量子比特下标。
- 返回:
 包含如下元素的 tuple:
coefficients: 元素为每一项的系数。
pauli_words_r: 元素为每一项的泡利字符串的简化形式,例如 ‘Z0, Z1, X3’ 这一项的泡利字符串为 ‘ZZX’。
sites: 元素为每一项作用的量子比特下标,例如 ‘Z0, Z1, X3’ 这一项的 site 为 [0, 1, 3]。
- 返回类型:
 Tuple[list]
- decompose_pauli_words()
 将 pauli_str 分解为系数和泡利字符串。
- 返回:
 包含如下元素的 tuple:
coefficients: 元素为每一项的系数。
pauli_words: 元素为每一项的泡利字符串,例如 ‘Z0, Z1, X3’ 这一项的泡利字符串为 ‘ZZIX’。
- 返回类型:
 Tuple[list]
- construct_h_matrix(qubit_num=None)
 构建 Hamiltonian 在 Z 基底下的矩阵。
- 参数:
 qubit_num (int, optional) – 量子比特数量,默认值为
1。- 返回:
 Z 基底下的哈密顿量矩阵形式。
- 返回类型:
 np.ndarray