paddle_quantum.state module

paddle_quantum.state.vec(n)

生成量子态 \(|00...0\rangle\) 的numpy形式。

参数:n (int) – 量子比特数量
返回:一个形状为 (1, 2**n) 的numpy数组 [[1, 0, 0, ..., 0]]
返回类型:numpy.ndarray

代码示例:

from paddle_quantum.state import vec
vector = vec(3)
print(vector)
[[1.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j]]
paddle_quantum.state.vec_random(n, real_or_complex=2)

随机生成一个量子态,使用numpy形式。

参数:
  • n (int) – 量子比特数量
  • real_or_complex (int, optional) – 默认为2,即生成复数组;若为1,则生成实数组
返回:

一个形状为 (1, 2**n) 的numpy数组

返回类型:

numpy.ndarray

paddle_quantum.state.w_state(n, coeff=None)

生成一个W-state的numpy形式。

参数:
  • n (int) – 量子比特数量
  • coeff (numpy.ndarray, optional) – 默认为 None ,即生成平均概率幅(系数)
返回:

一个形状为 (1, 2**n) 的numpy数组

返回类型:

numpy.ndarray

代码示例:

from paddle_quantum.state import w_state
vector = w_state(3)
print(vector)
[[0.        +0.j 0.57735027+0.j 0.57735027+0.j 0.        +0.j
0.57735027+0.j 0.        +0.j 0.        +0.j 0.        +0.j]]
paddle_quantum.state.density_op(n)

生成密度矩阵 \(|00..0\rangle \langle00..0|\) 的numpy形式。

参数:n (int) – 量子比特数量
返回:一个形状为 (2**n, 2**n) 的numpy数组
返回类型:numpy.ndarray

代码示例:

from paddle_quantum.state import density_op
state = density_op(2)
print(state)
[[1.+0.j 0.+0.j 0.+0.j 0.+0.j]
[0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[0.+0.j 0.+0.j 0.+0.j 0.+0.j]]
paddle_quantum.state.density_op_random(n, real_or_complex=2, rank=None)

随机生成一个密度矩阵的numpy形式。

参数:
  • n (int) – 量子比特数量
  • real_or_complex (int, optional) – 默认为2,即生成复数组,若为1,则生成实数组
  • rank (int, optional) – 矩阵的秩,默认为 \(2^n\) (当rank为 None 时)
返回:

一个形状为 (2**n, 2**n) 的numpy数组

返回类型:

numpy.ndarray

paddle_quantum.state.completely_mixed_computational(n)

生成完全混合态的密度矩阵的numpy形式。

参数:n (int) – 量子比特数量
返回:一个形状为 (2**n, 2**n) 的numpy数组
返回类型:numpy.ndarray

代码示例:

from paddle_quantum.state import completely_mixed_computational
state = completely_mixed_computational(2)
print(state)
[[0.25+0.j 0.  +0.j 0.  +0.j 0.  +0.j]
[0.  +0.j 0.25+0.j 0.  +0.j 0.  +0.j]
[0.  +0.j 0.  +0.j 0.25+0.j 0.  +0.j]
[0.  +0.j 0.  +0.j 0.  +0.j 0.25+0.j]]