首页 > 试题广场 >

(运用模算术的FFT) 如定义所述,离散...

[问答题]
 (运用模算术的FFT)  如定义所述,离散傅里叶变换(DFT)计算时需要用复数,这会由于舍入误差而导致精确度丢失。 对某些问题而言,答案中仅包含整数,  并且通过使用-种基于模算术的FFT的不同形式,  我们可以保证计算的答案是准确的。一个此类问题的例子如下:求两个整系数多项式的乘积。练习30.2-6给出了一种解决方法,即运用-一个长度为Q(n)位的模来处理n个点上的DFT。下面给出了另一种方法,即用一个更为合理的长度为0( lgn)的模。设n为2的幂。
a.  假定我们寻找最小的k,使得p=kn+1是素数。请给出下列结论的简单而有启发性的理由:为什么我们希望k大约是lnn。(k 的值可能比lnn大很多或者小很多,但是我们合理的期望,平均起来只需检查O( lgn)个候选的k值。)请问p的期望长度与n的长度相比如何?
         设g是Zp* 的生成元,并设w=gkmodp.
b.说明DFT与逆DFT在模p的意义下是定义完备的逆运算,其中w是主n次单位根。 
c.证明:在模p意义下,FFT与其逆可在O(nlgn)时间内运行,其中长度为O(lgn)位的字上操作需要单位时间,并假定算法已知p和w。
d.请计算出向量(0,5,3,7, 7,2, 1,6)在模p=17下的DFT。注意,g=3是Z17*的生成元。

这道题你会答吗?花几分钟告诉大家答案吧!