paddle_quantum.qpp.angles
量子相位处理相关工具函数包
- qpp_angle_finder(P, Q)
对一个劳伦对
P
,Q
,找到相应的角度集合
- qpp_angle_approximator(P, Q)
对一个劳伦对
P
,Q
,估计相应的角度集合- 参数:
- 返回:
包含如下元素:
-list_theta: \(R_Y\) 门对应的角度 -list_phi: \(R_Z\) 门对应的角度
- 返回类型:
Tuple[List[float], List[float]]
备注
与 yzzyz_angle_finder 不同的是, yzzyz_angle_approximator 假定唯一的误差来源是精度误差(而这一般来讲是不正确的)。
- update_angle(coef)
通过 coef 从
P
和Q
中计算角度- 参数:
coef (List[complex]) –
P
和Q
中的第一项和最后一项- 返回:
角度 theta 和 phi
- 返回类型:
Tuple[float, float]
- 抛出:
ValueError – 参数错误:检查这四个参数{[p_d, p_nd, q_d, q_nd]}
- update_polynomial(P, Q, theta, phi, verify)
通过 theta , phi 更新
P
,Q
- condition_test(P, Q)
- 检查
P
,Q
是否满足: deg(P) = deg(Q)
P
,Q
是否具有相同宇称\(PP^* + QQ^* = 1\)
- 检查
- yz_decomposition(U)
返回U的yz分解
- 参数:
U (np.ndarray) – 单比特幺正变换
- 返回:
alpha, theta, phi 使得 \(U[0, 0] = \alpha R_Y(\theta) R_Z(\phi) [0, 0]\)
- 返回类型:
Tuple[complex, float, float]