算法合集之多项式乘法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
引言 多项式是最基本的数学工具之一,由于其形式简单,且易于用计算机对其进行各种计算,在当今的社会中应用越来越广。不仅在像Maple这样的数学软件中有着举足轻重的作用,在工程、信息等诸多领域中都有着广阔的应用。 多项式的基本运算 加法运算 普通的多项式乘法运算 多项式乘法是一个很常见的问题,在通常的算法中,两个 次多项式的乘法需要用 的时间才能完成。 多项式的点值表示法 首先让我们来看多项式的另一种表示方法:点值表示法,即用 (其中, 互不相同)来表示一个不超过 次多项式。 引理1(多项式插值的唯一性) 对于任意n个点值对组成的集合, 其中 互不相同,则存在唯一的次数不超过n-1的多项式 ,满足 点值多项式的乘法 利用点值表示法改善多项式系数表示法的乘法 下面让我们来看一看我们是否能够利用点值表示法在计 算多项式乘法时的线性时间来提高系数表示法的多项式乘 法的速度。 为了做到这一点,我们需要做: 将多项式由系数表示法转化为点值表示法(点值过程) 利用点值表示法完成多项式乘法 将点值表示法再转化为系数表示法(插值过程) 其中第二步只需要线性时间。问题的关键转化为第一 第三步。 1.由系数表示法转化为点值表示法。(点值过程) 引理2:对任何整数n=0,k=0,j0,成立: 递归算法的具体实现过程 2.将点值表示法再转化为系数表示法。(插值过程) 引理3 多项式乘法的算法流程 算法改进 迭代算法的具体实现过程 * * 张家琳 复旦大学附属中学 下面我们给出几个多项式逼近的例子: 求值运算 乘法运算 让我们先来看一看这样的算法是如何进行的: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 在上面的过程中,似乎我们觉得这个算法并没有做任何多余的事情,因为我们必须考虑每一组 ,它们的乘积对最终的结果都会产生影响。而且我们不能通过调整计算顺序从根本上降低算法时间复杂度,至多只能使其常数因子稍小一些。 如果我们不能跳出以上思维的局限,我们就不可能在根本上降低算法的时间复杂度。 让我们首先换一个角度来考察多项式。 给定一个多项式,要给出n组点值对最简单的方法是任选 n个互不相同的xi,依次求出多项式在这n个点的值。 用n个点值对也可以唯一确定一个不超过n-1次多项式,这个过程称之为插值。 continue 存在性: 已知 不妨记为XA=Y X是范德蒙矩阵,利用行列式的变换可得该矩阵的行列式的值为 因此X有逆矩阵 。 唯一性: 若两个函数次数不超过n-1次的多项式 均符合题意,则多项式 有n个根, 且 为不超过n-1次的多项式,所以 , 即 。 back 因此: 适当的利用点值表示可以使多项式的乘法可以在线性时间内完成! 因为f(x)g(x)的次数为n-1,r(x)的次数为2n-2,因此确定r(x)需要2n-1个点值对,而现在我们只有n个点值对。 我们可以通过对f(x)与g(x)的点值对个数的 扩充来解决这个问题,即将f(x),g(x)的点值对在一开始就取为2n-1。 continue2 continue1 continue3 注意!x0,x1,…,xn-1是由我们自己选择的,我们可以充分利用这一点通过适当的选择使转化过程降为O(n log n)。 这里我们选择1的n次单位根作为x0,x1,…,xn-1,即 其中 证明: 折半定理 注意到, 中包含了f中所有偶下标的系数,而 中包含了f中所有奇下标的系数。 并记 求 与 在点 的值。 问题:求 设n为偶数(否则可以通过添加高次零项使n化为偶数)。 另一方面,由折半定理: 并不是n个不同的数,而是仅由1的n/2次单位根组成,每个根恰好出现2次。 由此可以看到子问题与原问题形式相同,但规模缩小一半,这启示我们可以

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档