paddle_quantum.qpp.laurent
劳伦类的定义和它的函数
- class Laurent
基类:
object
为劳伦多项式定义的类,定义为
- 参数:
coef (np.ndarray) – 劳伦多项式系数的列表,排列为
- property coef
以上升顺序给出多项式的系数序列
- property conj
给出多项式的共轭
- property roots
给出多项式根的列表
- property norm
给出多项式系数的绝对值平方之和
- property max_norm
给出多项式的系数的绝对值的最大值
- property parity
给出多项式的宇称
- is_parity(p)
检验劳伦多项式是否有确定宇称
- 参数:
p (int) – 宇称
- 返回:
包含以下元素:
-宇称是否是
p mod 2
-如果不是,返回破坏该宇称的绝对值最大的系数 -如果不是,返回破坏该宇称的绝对值最小的系数- 返回类型:
Tuple[bool, complex]
- revise_tol(t)
回顾
TOL
的值- 参数:
t (float) – TOL的值
- ascending_coef(coef)
通过
coef
从P
和Q
中计算角度- 参数:
coef (np.ndarray) – 排列成
的系数列表- 返回:
排列成
的系数列表- 返回类型:
np.ndarray
- remove_abs_error(data, tol)
移除数据中的错误
- 参数:
data (np.ndarray) – 数据数组
tol (Optional[float] = None) – 容错率
- 返回:
除错后的数据
- 返回类型:
np.ndarray
- random_laurent_poly(deg, parity, is_real)
随机生成一个劳伦多项式
- 参数:
deg (int) – 该多项式的度数
parity (Optional[int] = None) – 该多项式的宇称,默认为
none
is_real (Optional[bool] = False) – 该多项式系数是否是实数,默认为
false
- 返回:
一个模小于等于1的劳伦多项式
- 返回类型:
- Q_generation(P)
生成劳伦多项式
的互补多项式
- pair_generation(f)
生成劳伦多项式
的劳伦对
- laurent_generator(fn, dx, deg, L)
生成劳伦多项式
的劳伦对- 参数:
fn (Callable[[np.ndarray], np.ndarray]) – 要近似的函数
dx (float) – 数据点的采样频率
deg (int) – 劳伦多项式的度数
L (float) – 近似宽度的一半
- 返回:
一个度数为
deg
的,在区间 内近似`fn` 的劳伦多项式- 返回类型:
- deg_finder(fn, delta, l)
找到一个度数,使得由
laurent_generator
生成的劳伦多项式具有小于1的max_norm- 参数:
fn (Callable[[np.ndarray], np.ndarray]) – 要近似的函数
delta (Optional[float] = 0.00001 * np.pi) – 数据点的采样频率,默认值为
l (Optional[float] = np.pi) – 近似宽度的一半,默认值为
- 返回:
该近似的度数
- 返回类型:
int
- step_laurent(deg)
生成一个近似阶梯函数的劳伦多项式
- 参数:
deg (int) – 输出劳伦多项式的度数(为偶数)
- 返回:
一个估计
if else 的劳伦多项式- 返回类型:
备注
在哈密顿量能量计算器中使用
- hamiltonian_laurent(t, deg)
生成一个近似哈密顿量演化函数的劳伦多项式
- 参数:
t (float) – 演化常数(时间)
deg (int) – 输出劳伦多项式的度数(为偶数)
- 返回:
一个估计
的劳伦多项式- 返回类型:
备注
-起源于Jacobi-Anger展开:
-在哈密顿量模拟中使用
- ln_laurent(deg, t)
生成一个近似ln函数的劳伦多项式
- 参数:
deg (int) – 劳伦多项式的度数(是4的因子)
t (float) – 归一化常数
- 返回:
一个估计
的劳伦多项式- 返回类型:
备注
在冯诺依曼熵的估计中使用。
- comb(n, k)
计算nCr(n, k)
- 参数:
n (float) – 输入参数
k (int) – 输入参数
- 返回:
nCr(n, k)
- 返回类型:
float