首页> 外文期刊>urnal of Symbolic Computation >Relax, but Don't be Too Lazy
【24h】

Relax, but Don't be Too Lazy

机译:放松,但不要太懒

获取原文
       

摘要

Assume that we wish to expand the product h = fg of two formal power series f and g. Classically, there are two types of algorithms to do this: zealous algorithms first expand f and g up to order n, multiply the results and truncate at order n. Lazy algorithms on the contrary compute the coefficients of f, g and h gradually and they perform no more computations than strictly necessary at each stage. In particular, at the moment we compute the coefficient h_I of z~I in h, only f_0,..., f_I and g_0,...,g_I are known. Lazy algorithms have the advantage that the coefficients of f and g may actually depend on "previous" coefficients of h, as long as they are computed before they are needed in the multiplication, I.e. The coefficients f_I and g_I may depend on h_0,..., h_(I-1). For this reason, lazy algorithms are extremely useful when solving functional equations in rings of formal power series. However, lazy algorithms have the disadvantage that the classical asymptotically fast multiplication algorithms on polynomials-such as the divide and conquer algorithm and fast Fourier multiplication- cannot be used. In a previous paper, we therefore introduced relaxed algorithms, which share the property concerning the resolution of functional equations with lazy algorithms, but perform slightly more computations than lazy algorithms during the computation of a given coefficient of h. These extra computations anticipate the computations of the next coefficients of h and dramatically improve the asymptotic time complexities of such algorithms. In this paper, we survey several classical and new zealous algorithms for manipulating formal power series, including algorithms for multiplication, division, resolution of differential equations, composition and reversion. Next, we give various relaxed algorithms for these operations. All algorithms are specified in great detail and we prove theoretical time and space complexity bounds. Most algorithms have been experimentally implemented in C++ and we provide benchmarks. We conclude by some suggestions for future developments and a discussion of the fitness of the lazy and relaxed approaches for specific applications. This paper is intended both for those who are interested in the most recent algorithms for the manipulation of formal power series and for those who want to actually implement a power series library into a computer algebra system.
机译:假设我们希望扩展两个正式幂级数f和g的乘积h = fg。经典地,有两种算法可以做到这一点:热心的算法首先将f和g扩展到n阶,将结果相乘并以n阶截断。相反,惰性算法会逐渐计算f,g和h的系数,并且它们执行的计算不会超过每个阶段严格需要的计算。特别地,目前我们计算z〜I在h中的系数h_I,只有f_0,...,f_I和g_0,...,g_I是已知的。懒惰算法的优点是f和g的系数实际上可能取决于h的“先前”系数,只要它们在乘法中需要它们之前就已计算出来即可。系数f_I和g_I可以取决于h_0,...,h_(I-1)。因此,当求解形式幂级数环中的函数方程时,惰性算法非常有用。但是,惰性算法的缺点是不能使用经典的多项式渐近快速乘法算法(例如分治法和快速傅立叶乘法)。因此,在先前的论文中,我们引入了松弛算法,该算法与惰性算法共享有关函数方程的分辨率的特性,但是在计算给定的h系数时,执行的计算量要比惰性算法略多。这些额外的计算预期了h的下一个系数的计算,并大大改善了此类算法的渐近时间复杂度。在本文中,我们调查了几种用于处理形式幂级数的经典和新的热心算法,包括乘法,除法,微分方程的分解,合成和回归的算法。接下来,我们为这些操作提供各种宽松的算法。所有算法都有详细说明,我们证明了理论上的时间和空间复杂性界限。大多数算法已通过C ++实验实现,我们提供了基准测试。最后,我们为将来的发展提供了一些建议,并讨论了针对特定应用的懒惰和宽松方法的适用性。本文既适合那些对操纵形式幂级数的最新算法感兴趣的人,也适合希望将幂级数库实际实现到计算机代数系统中的人员。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号