[论文解读] A variant of van Hoeij's algorithm to compute hypergeometric term solutions of holonomic recurrence equations
该论文提出了一种van Hoeij算法的变体,用于计算整体递推方程的超几何项解,采用阶乘和移位阶乘表示而非伽马函数。该方法在保持与van Hoeij原始算法相同效率的同时,生成更适合符号计算和幂级数表示的输出,并成功处理了Maple的LREtools[hypergeomsols]因代数数处理中的错误而失败的情况。
Linear homogeneous recurrence equations with polynomial coefficients are said to be holonomic. Such equations have been introduced in the last century for proving and discovering combinatorial and hypergeometric identities. Given a field K of characteristic zero, a term a(n) is called hypergeometric with respect to K, if the ratio a(n+1)/a(n) is a rational function over K. The solutions space of holonomic recurrence equations gained more interest in the 1990s from the well known Zeilberger's algorithm. In particular, algorithms computing the subspace of hypergeometric term solutions which covers polynomial, rational, and some algebraic solutions of these equations were investigated by Marko Petkov\v{s}ek (1993) and Mark van Hoeij (1999). The algorithm proposed by the latter is characterized by a much better efficiency than that of the other; it computes, in Gamma representations, a basis of the subspace of hypergeometric term solutions of any given holonomic recurrence equation, and is considered as the current state of the art in this area. Mark van Hoeij implemented his algorithm in the Computer Algebra System (CAS) Maple through the command $LREtools[hypergeomsols]$. We propose a variant of van Hoeij's algorithm that performs the same efficiency and gives outputs in terms of factorials and shifted factorials, without considering certain recommendations of the original version. We have implementations of our algorithm for the CASs Maxima and Maple. Such an implementation is new for Maxima which is therefore used for general-purpose examples. Our Maxima code is currently available as a third-party package for Maxima. A comparison between van Hoeij's implementation and ours is presented for Maple 2020. It appears that both have the same efficiency, and moreover, for some particular cases, our code finds results where $LREtools[hypergeomsols]$ fails.
研究动机与目标
- 开发van Hoeij算法的一种更实用的变体,以阶乘和移位阶乘形式而非伽马函数形式输出解。
- 通过避免依赖伽马函数表示,提高与Maxima等符号计算系统及未来CAS的兼容性。
- 解决Maple的LREtools[hypergeomsols]在处理代数数时的已知错误。
- 在现有实现失败的情况下,实现对整体递推方程的可靠超几何项解计算。
- 通过超几何项解支持整体函数的幂级数表示构建。
提出的方法
- 该算法采用受Petkovšek的Poly方法启发的渐近展开技术,计算无穷远处的局部类型,取代van Hoeij原始算法中使用的牛顿多边形方法。
- 将超几何部分h(n)构造为阶乘和Pochhammer符号(p)_n的乘积,并归一化使其位于区间(0,1]内以保证唯一性。
- 通过模整数分析P0(n)和Pd(n−d)的根来处理有限奇点,确保解结构中正确捕获估值增长。
- 通过模Z的首一多项式系数因式分解,自动在有限奇点处引入估值增长条件。
- 直接在基域K上工作,避免不必要的域扩张,从而保持效率并减少计算开销。
- 在Maxima(作为第三方包)和Maple中提供实现,对渐近展开进行仔细的简化和顺序控制。
实验结果
研究问题
- RQ1能否设计出一种van Hoeij算法的变体,在不牺牲计算效率的前提下,以阶乘和Pochhammer符号形式生成超几何项解?
- RQ2为何Maple的LREtools[hypergeomsols]在涉及代数数的某些递推方程上失败?能否通过重新设计算法解决此问题?
- RQ3新算法在处理边缘情况时,与van Hoeij原始实现及其他CAS工具相比,性能如何?
- RQ4新算法在多大程度上能恢复因内部错误或限制而被现有实现遗漏的解?
- RQ5使用基于阶乘的表示是否能提高超几何项解在符号幂级数计算中的可靠性和可用性?
主要发现
- 所提出的算法实现了与van Hoeij原始算法相当的效率,在某些基准测试中性能相当或略优。
- Maxima中的实现成功计算了Maple的LREtools[hypergeomsols]失败的解,特别是在涉及代数数的情况下。
- 该算法正确计算了含无理数或代数系数(如√7或ln(x))的递推方程的超几何项解,而Maple的内部命令在此类情况下失败。
- Maple的LREtools[hypergeomsols]在涉及代数数的示例中失败,原因在于递归深度错误和对RootOf表示的不当处理,而新算法避免了此类问题。
- 新算法生成的输出以更易用的符号形式呈现——阶乘和Pochhammer符号,使其可直接用于幂级数及m重超几何项构造。
- 实现表明该算法在处理复杂情况(包括交错的超几何序列和符号参数)时具有鲁棒性,证实其与van Hoeij方法在理论上等价。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。