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]]