paddle_quantum.qsvt.qsp_utils

量子信号处理相关工具函数包

random_odd_poly_generation(degree, odd)

生成一个随机的满足量子信号处理要求的多项式

参数:
  • degree (int) – 多项式的度

  • odd – 多项式的奇偶性,输入 True 则为奇函数, False 则为偶函数

返回:

一个随机生成的多项式

返回类型:

Polynomial

clean_small_error(array)

清除相对较小的项,以提升计算精度

参数:

array (ndarray) – 目标数组

返回:

经过清除后的数组

返回类型:

ndarray

poly_norm(poly, p=1)

计算一个多项式的 p 范数

参数:
  • poly (Polynomial) – 目标多项式

  • p (Optional[int]) – p 范数,默认为 1,输入 0 则是无穷范数

返回:

目标多项式的 p 范数

返回类型:

float

poly_real(poly)

取一个多项式的实部

参数:

poly (Polynomial) – 目标多项式

返回:

目标多项式的实部

返回类型:

Polynomial

poly_imag(poly)

取一个多项式的实部

参数:

poly (Polynomial) – 目标多项式

返回:

目标多项式的虚部

返回类型:

Polynomial

poly_matrix(poly, matrix_A)

计算一个矩阵的多项式 poly(matrix_A)

参数:
  • poly (Polynomial) – 输入多项式

  • matrix_A (paddle.Tensor) – 输入矩阵

返回:

矩阵的多项式结果 poly(matrix_A)

返回类型:

paddle.Tensor

exp_matrix(t, matrix_A)

计算矩阵指数 \(e^{itA}\)

参数:
  • t (float) – 演化时间

  • matrix_A (paddle.Tensor) – 目标矩阵 A

返回:

矩阵指数 \(e^{itA}\)

返回类型:

paddle.Tensor