一种有效的计算2的m次方被一个名叫YATES的人介.doc

一种有效的计算2的m次方被一个名叫YATES的人介.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种有效的计算2的m次方被一个名叫YATES的人介

一个关于复杂傅里叶序列的机器运算的算法 魏婉婷3090101745 一种有效的计算2^m个因子交叉影响的实验被一个名叫YATES 的人介绍并广泛的为人所知。3的m次方的推广被Box等人给出。Good总结了这些方法并给出了针对每一中类型一个精确的算法。在他们全面的总结中,Good的方法对于某些问题时使用的,那些问题必须可以分解成m个稀有矩阵的n*n矩阵乘以一个n向量的很有效,其中m与logN成正比。它所产生的过程,其所需要的操作次数不再于N的平方成比例而与NlogN成比例。这个方法在这里被应用于复数傅里叶序列的计算。当数据个数是,或者可以被设定为一个合成度很高合数时,这些方法非常有效。这里提出的计算方法是由上述演变而来,并且以一种不一样的形式表示。这种方法更多的关注于N的选择。这也显示了,在使用二进制的时候,我们能得到十分特殊的优势,并展示了只需要N列的数据存储空间来存储的整个计算过程。并且整个计算过程定的傅里叶系数。 考虑如下复数傅里叶序列 (1) 其中所给傅里叶系数A(k)为复数,W是 (2) 一个直接使用(1)的计算需要N^2次操作,其中操作在本文中指一次复数乘法与一次复数加法。 这里描述的算法在此申明所给复数傅里叶幅度数组并在少于2NlogN次操作数内得到结果且不需要比已经要求的数列A更多的数据储存。要延伸这个算法,假设N是一个合数,即N=r1*r2,将(1)中的系数表示如下: (3) 于是有 (4) 因为 (5) 内部和,关于 k,仅仅决定于j0和k0,并且可以定义为一个新的数组 (6) 结果可写作 (7) 在数组A1中有N个元素,每个都需要r1次操作,共需要Nr1次操作才能获得A1.类似的,需要N2次操作来用A1计算X。因此,(6)(7)所给出的两步算法总共需要 (8) 次操作。 很容易看出,连续应用以上从(6)的以上过程,是如何给出一个m步的算法,需要 (9) 次操作,其中 (10) 如果,其中,那么,除非,当时。 总体来说,用尽可能多的分解因数可以提供(9)的最小值,但是用二的因数可以以对的形式结合而不造成任何损失。如果我们能选择N使之有尽量多的约数,我们可能有很多获益。如果所有都等于r,那么有(10)我们可知 (11) 操作的总次数为 (12) 如果,那么我们发现 (13) 于是 是以下各量的加权平均数。 其值如下所示: 理论上,的用法是最有效率的,但是其收益仅仅比2或者4时高6%,二后者还有其他优势。如果有必要,rj增大到10会增加计算量,但是增加量不会超过50%。由此可得,我们可以在一定的百分比的范围内,得到任何给定的大数的N的“高度复合”数值。 在有可能的情况下其中r=2或4。提供了一个对于使用二进制的电脑很重要的,在寻址方面与相乘优势两方面上的经济性的优势。 r=2的算法有以下表示系数的形式延伸而来 (14) 此处jv和kv等于0或1,是二进制表示中各自字节位置的j或k。所有的数组会被写作他们系数的二进制数的函数。根据上述原则,(1)被写为 (15) 其中和为.因为 (16) (15)最内层的和关于 km-1,仅仅之决定于j0,km-2....k0可以写作 (17) 继续看到下一个最内层和,关于 km-2,等等,使用 (18) 得到连续数组 (19) 当l=1,2,....m时. 写出和式所得 (20) 根据编号的管理,其所储存的位置的地址索引为 (21) 从(20)中可以看出,。。。 平行计算是可行的,因为(20)所描述的操作可以被所有j0,....,kl-2和k0,...,km-l-1自发的执行。在某些应用中,用(20)来一句Al-2表示Al是很方便的。 计算的最后一列数组给出了所求的傅里叶和, (22) 以这样的次序,X的下标的反转二进制数一定与Am的下标相同。 在某些应用中,其中傅里叶和要被求值两次,以上过程可以被编程,这样就不需要位的反转。例如,考虑差分方程的求解 (23) 现有的方法可以首先应用于使用下面的式子用来计算F(j)的傅里叶幅度 (24) 则,其解的热傅里叶幅度为 (25) BkAk数组顺序为位反转,但是由于(20)的大幅度调制,Ak可以用于得出有正确标定指数的解。 一个在IBM7094上使用的电脑程序已经被开发出来了,它可以使用上述方法计算三位傅里叶和。计算三位 数组的计算时间如下所示: 得分:20

文档评论(0)

jyf123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档