paddle_quantum.qpp.laurent
劳伦类的定义和它的函数
- class Laurent
基类:
object
为劳伦多项式定义的类,定义为 \(P:\mathbb{C}[X, X^{-1}] \to \mathbb{C} :x \mapsto \sum_{j = -L}^{L} p_j X^j\)
- 参数:
coef (np.ndarray) – 劳伦多项式系数的列表,排列为 \(\{p_{-L}, ..., p_{-1}, p_0, p_1, ..., p_L\}\)
- 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) – 排列成 \(\{ p_0, ..., p_L, p_{-L}, ..., p_{-1} \}\) 的系数列表
- 返回:
排列成 \(\{ p_{-L}, ..., p_{-1}, p_0, p_1, ..., p_L \}\) 的系数列表
- 返回类型:
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)
生成劳伦多项式 \(P\) 的互补多项式
- pair_generation(f)
生成劳伦多项式 \(f\) 的劳伦对
- laurent_generator(fn, dx, deg, L)
生成劳伦多项式 \(f\) 的劳伦对
- 参数:
fn (Callable[[np.ndarray], np.ndarray]) – 要近似的函数
dx (float) – 数据点的采样频率
deg (int) – 劳伦多项式的度数
L (float) – 近似宽度的一半
- 返回:
一个度数为
deg
的,在区间 \([-L, L]\) 内近似`fn` 的劳伦多项式- 返回类型:
- deg_finder(fn, delta, l)
找到一个度数,使得由
laurent_generator
生成的劳伦多项式具有小于1的max_norm- 参数:
fn (Callable[[np.ndarray], np.ndarray]) – 要近似的函数
delta (Optional[float] = 0.00001 * np.pi) – 数据点的采样频率,默认值为 \(0.00001 \pi\)
l (Optional[float] = np.pi) – 近似宽度的一半,默认值为 \(\pi\)
- 返回:
该近似的度数
- 返回类型:
int
- step_laurent(deg)
生成一个近似阶梯函数的劳伦多项式
- 参数:
deg (int) – 输出劳伦多项式的度数(为偶数)
- 返回:
一个估计 \(f(x) = 0.5\) if \(x <= 0\) else \(0\) 的劳伦多项式
- 返回类型:
备注
在哈密顿量能量计算器中使用
- hamiltonian_laurent(t, deg)
生成一个近似哈密顿量演化函数的劳伦多项式
- 参数:
t (float) – 演化常数(时间)
deg (int) – 输出劳伦多项式的度数(为偶数)
- 返回:
一个估计 \(e^{it \cos(x)}\) 的劳伦多项式
- 返回类型:
备注
-起源于Jacobi-Anger展开: \(y(x) = \sum_n i^n Bessel(n, x) e^{inx}\) -在哈密顿量模拟中使用
- ln_laurent(deg, t)
生成一个近似ln函数的劳伦多项式
- 参数:
deg (int) – 劳伦多项式的度数(是4的因子)
t (float) – 归一化常数
- 返回:
一个估计 \(ln(cos(x)^2) / t\) 的劳伦多项式
- 返回类型:
备注
在冯诺依曼熵的估计中使用。
- comb(n, k)
计算nCr(n, k)
- 参数:
n (float) – 输入参数
k (int) – 输入参数
- 返回:
nCr(n, k)
- 返回类型:
float