paddle_quantum.qchem.fermionic_state

费米子波函数。

class WaveFunction(data, convention, backend, dtype, override)

基类:paddle_quantum.state.State

费米子波函数。

参数:
  • data (Union[paddle.Tensor, np.ndarray]) – 费米子波函数在计算基下的展开系数。

  • convention (Optional[str]) – 计算基中自旋轨道排列方式,自旋轨道分开排列(separated) 或混合排列(mixed)。

  • backend (Optional[paddle_quantum.backend.Backend]) – 后端使用的计算方式。

  • dtype (str) – 存储费米子波函数所用的数据类型,32位或64位。

  • override (bool) – 是否在copy时覆盖原有数据。

clone()
返回:

原费米子量子态的复制。

返回类型:

WaveFunction

swap(p, q)

交换两个费米子。

参数:
  • p (int) – 被交换的费米子序号。

  • q (int) – 被交换的费米子序号。

返回:

交换之后的费米子波函数。

返回类型:

WaveFunction

to_spin_mixed()

将自旋轨道的排列顺序变为“上下上下……”混合的形式。

返回:

原费米子波函数在新排列下的表示。

返回类型:

WaveFunction

to_spin_separated()

将自旋轨道的排列顺序变为“上上…下下下…”的分离形式。

返回:

原费米子波函数在新排列下的表示。

返回类型:

WaveFunction

slater_determinant_state(num_qubits, num_elec, mz, backend, dtype)

根据给定的量子比特数、电子数和磁量子数生成Slater行列式态。

参数:
  • num_qubits (int) – 量子比特数量。

  • num_elec (int) – 电子数。

  • mz (int) – 磁量子数。

  • backend (Optional[paddle_quantum.backend.Backend]) – 后端使用的计算方式。

  • dtype (str) – 数据类型,32位或64位。

返回:

存储Slater行列式的费米子波函数。

返回类型:

WaveFunction

zero_state(num_qubits, backend, dtype)

根据给定的量子比特数生成零态。

参数:
  • num_qubits (int) – 量子比特数。

  • backend (Optional[paddle_quantum.backend.Backend]) – 后端使用的计算方式。

  • dtype (Optional[str]) – 存储数据类型,32位或64位。

返回:

存储零态的费米子波函数。

返回类型:

WaveFunction

num_elec(shots)

多电子费米子波函数中包含的电子数。

参数:

shots (Optional[int]) – 测量次数。

返回:

电子数。

返回类型:

int

total_SpinZ(shots)

总自旋的z分量。

参数:

shots (Optional[int]) – 测量次数。

返回:

总自旋的z分量。

返回类型:

float

total_Spin2(shots)

总自旋的平方。

参数:

shots (Optional[int]) – 测量次数。

返回:

总自旋的平方

返回类型:

float