paddle_quantum.data_analysis.vqls
VQLS模型
- hadamard_test(phi, U, num_qubits)
给定酉算子 U 和量子态 \(|\phi\rangle\),计算 U 关于 \(|\phi\rangle\) 的期望,即 \(\langle\phi|U|\phi\rangle\)。
- 参数:
phi (State) – 期望值里的量子态。
U (paddle.Tensor) – 期望值里的酉算子。
num_qubits (int) – 量子态的比特数。
- 返回:
返回计算的期望值的实数和虚数部分。
- 返回类型:
Tuple[paddle.Tensor, paddle.Tensor]
- hadamard_overlap_test(phi, b, An, Am, num_qubits)
给定酉算子 Am, An 和量子态 \(|\phi\rangle\), b, 计算 \(\langle{b}| An |\phi\rangle\langle\phi| Am^\dagger |b\rangle\) 的值。
- class VQLS(num_qubits, A, coefficients_real, coefficients_img, b, depth)
基类:
paddle.nn.Layer
变分量子线性求解器(variational quantum linear solver, VQLS)模型的实现。
- 参数:
num_qubits (int) – 量子电路所包含的量子比特的数量。
A (List[paddle.Tensor]) – 分解输入矩阵所需要的酉矩阵列表。
coefficients_real (List[float]) – 对应酉矩阵系数的实数部分。
coefficients_img (List[float]) – 对应酉矩阵系数的虚数部分。
b (State) – 输入答案被编码成的量子态。
depth (int) – 模拟电路的深度。
- forward()
- 返回:
返回模型的输出。
- 返回类型:
paddle.Tensor
- compute(A, b, depth, iterations, LR, gamma)
求解线性方程组 Ax=b。
- 参数:
A (numpy.ndarray) – 输入矩阵。
b (numpy.ndarray) – 输入向量。
depth (int) – 模拟电路的深度。
iterations (int) – 优化的迭代次数。
LR (float) – 优化器的学习率。
gamma (Optional[float]) – 如果损失函数低于此值,则可以提前结束优化。 默认值为
0
。