Sometimes only some digits of a numerical product or some terms of a polynomial or series product are required. Frequently these constitute the most significant or least significant part of the value, for example when computing initial values or refinement steps in iterative approximation schemes. Other situations require the middle portion. In this paper we provide algorithms for the general problem of computing a given span of coefficients within a product, that is the terms within a range of degrees for univariate polynomials or range digits of an integer. This generalizes the "middle product" concept of Hanrot, Quercia and Zimmerman. We are primarily interested in problems of modest size where constant speed up factors can improve overall system performance, and therefore focus the discussion on classical and Karatsuba multiplication and how methods may be combined.
翻译:有时仅需数值乘积的部分数位、多项式或级数乘积的特定项。这些通常构成数值的最高有效部分或最低有效部分,例如在迭代逼近方案中计算初始值或修正步时。其他情况则需要中间部分。本文针对计算乘积内给定跨度系数(即一元多项式的特定次数区间项或整数的特定数位区间)这一般性问题提供算法。这推广了Hanrot、Quercia和Zimmerman提出的"中间乘积"概念。我们主要关注中等规模问题,其中恒定加速因子可提升整体系统性能,因此重点讨论经典乘法与Karatsuba乘法及其组合方法。