FFT实现大整数乘法.docVIP

  • 26
  • 0
  • 约7.38万字
  • 约 12页
  • 2016-12-23 发布于贵州
  • 举报
目录 FFT实现高精度乘法 3 绪论 3 DFT(离散傅里叶变换) 5 Cooley-Tukey算法实现FFT(快速傅里叶变换) 5 位元反转(Bit reversal) 8 C++算法实现 9 参考资料: 12 FFT实现高精度乘法 (x)可以表示为: 一个多项式可以有不同的表示方式,一种是我们常见的系数表示,另一种是点值表示。例如上面的多项式就是以系数表示形式定义的。它展开之后可以写成下面这样: 这种方式的优点是很直观,也是我们最常用的表示多项式的方法,但是采用这种方式表示的多项式在进行大数值的乘法运算的时候,如果采用直接乘法方式,假设两个多项式的度数都为n, 那么乘法计算的时间复杂度为O(n2). 如果采用另一种不那么直观的点值表示法,对于多项式的度数比较大的情况,采用点值表示法进行乘法运算可以获得较大的性能提升。对于上面提到的多项式A(x), 它的点值表示法大概像下面这样子: 其中x0~xn-1是A(x)上面取的不同的点,而且 可以看出,多项式从系数表示形式直接转化为点值表示形式需要选取n(多项式的度数)个不同的值,进行n次的带入求值运算。那么转化为点值表示形式有什么好处呢?好处在于两个满足一定要求的点值表达式进行乘法运算的时间复杂度为O(n). 相对于系数表示法直接进行乘法运算,点值表达式在计算乘法的性能是很理想的。 现在我们来看看点值表达式是如何

文档评论(0)

1亿VIP精品文档

相关文档