- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复杂傅里叶级数的机器计算算法
复数傅里叶级数的计算机算法 Yates提出的计算2m 交叉阶乘的有效方法已闻名,而Box将其推导至3m 的情况。Good总结了这些方法并且给出了一个可以用于计算傅里叶级数的漂亮算法。在他们完整的总结中,Good的方法可以应用于解决用可被分解成m(m正比于㏒N)个稀疏矩阵的N×N阶矩阵乘以N维向量的这一类问题。结果是这个过程所需的计算数量正比于N㏒2N而不是N2。这种方法下面用于计算复杂傅里叶级数。这方法的有用性体现在数据量是或可被选择为高阶复数时。这种算法在这篇文章里将被以相当不同的形式推出和呈现。特别是N的选取,使用N 2m 时二进制计算机的特殊优势将被体现,且整个计算能在给定傅里叶系数的N维存储空间内进行。 考虑计算下式的傅里叶级数 给定傅里叶系数A(k)是复数,W是N次主方根, 直接使用(1)计算需要N2次计算(此时计算意味复数乘法与复数加法)。 这里描述的算法在给定傅里叶复振幅组成的数组上重复并且结果是少于2N㏒2N次计算和除所给数组A之外不再需要更多数据存储空间。为推演这个算法,考虑合数N,例如N r1·r2,那么(1)中的指数可以表达为 然后可以写出 因为 与k1的内积只与j0 和k0有关,可以被定义为一个新数组, 结果可写成 数组A1中有N个元素,每个需要做r1次计算,获得A总共需要Nr1次计算。类似的,根据A1计算X需要Nr2次计算。所以,(6)(7)这两步算法共需要 次计算。 从它在(6)的应用可以容易看出这个过程的成功,给出一个m级的算法要求 次计算,其中 如果rj sjtj,且sjtj 1,那么sj+tj rj除非sj tj 2,其中sj+tj rj。总之使用尽可能多的因子使(9)最小,但是因子2成对结合没有损失。如果N可以选择为高阶复数,我们可以得到很好的增益。如果所有的r等于r,那么,从(10)我们得到 和所有计算数是 如果N rmsntp那么我们发现 因此 是以下数的加权平均值 这些数的值如下 rj 3的使用理论上是最有效的,但是增益只有2和4的6%,而使用2和4有其他的优势。如果有必要,范围至10的rj 的使用只会增加少于50%的计算量。因此,我们可以发现N的“高阶复数”值,满足只是任何大数的百分之几。如果可能,N rm在r 2或4中的使用会为使用二进制计算的电脑在存储和计算效率上提供很多优势。 r 2的算法从由将指数写成以下形式推出 其中jv和kv等于0或1,且是j和k在二进制表示时对应位上的内容。所有矩阵可以被写成他们指数的位运算。这样(1)可以写成 kv等于0或1,因为 (15)中最内部的和基于km-1,只与j0,km-2,…,k0有关,可被写成 继续到下一个基于km-2的最内部的和并使用 得到接下来的一系列数组 其中l 1,2,…,m 和为 根据指数守恒,它将被存储在指数如下的位置 20 式表明,只有两个指数位是0或者1的在2m-l比特位的存储单元被用于计算需要。因为 20 式所示的运算操作,只要借助j0,…jl-2和k0,…km-l-1的值,就能够被同时完成,所以可以进行并行运算。在一些应用中,我们可以很方便地使用 20 式,用Al-2的表达式来表示Al,也就是得到r 4时的等效表达式。 通过将X中所示的下标在二进制意义上的反转之后,我们就可以得到数组Am中的下标了。 在一些应用中,傅里叶和需要计算2次,以上的过程就能被程序化,所以位反转就没有必要了。例如,考虑以下差分方程的解: 已有的方法可以用来计算方程解的傅里叶幅值 解的傅里叶幅值是 B k 和A k 数组的顺序经过位反转,但是通过对 20 式的修改,我们可以由A k 得到正确的下标。 一个基于以上方法的用于计算三维傅里叶和的程序已经编写好并被用于IBM 7094。计算一个2a×2b×2c数组的计算时间显示如下: IBM华盛顿研究中心 纽约州约克城高地 缪勒海尔 普林斯顿大学 普林斯顿,新泽西州 座机电话号码62 理工平台 沈奕琛
文档评论(0)