FFT多项式乘法学习笔记

本文介绍了如何使用快速傅里叶变换(FFT)来优化多项式乘法,从单位复根、离散傅里叶变换(DFT)到快速傅里叶变换的原理和算法实现,详细阐述了FFT在计算DFT时的时间复杂度优势。


  其实我不知道我是否真的理解了FFT,但是我会用FFT优化多项式乘法了QAQ。。
(以下大多摘自算导
前置知识
1. 多项式
  在一个代数域F上,关于变量x的多项式定义为形式和形式表示的函数

A(x)=j=0n1ajxja0an1

2. 多项式的次数界
  若多项式有非零系数的最高次项为xk,则称k为该多项式的次数,任何严格大于k的整数都是这个多项式的次数界。
3. 多项式的表示
(1)系数表示法
  对于一个次数界为n的多项式A(x)来说,其系数表示法可以看做是一个列向量a=a0a1an1。系数表示法对于某些多项式的计算很方便,如对多项式A(x)在给定点x0的求值运算就是计算A(x0)的值。如果使用霍纳法则,则求值运算的运行时间为On
Ax0=a0+x0(a1+x0(a2+...+x0(an2+x0(an1))...))

  另外,加法运算的时间复杂度是On,暴力进行乘法运算的时间复杂度是On2
(2)点值表示法
   有n个点x0Ax0x1Ax1..xn1An1,当所有xk各不相同时,这n个点可以唯一表示一个次数界为n的多项式,但是一个次数界为n的多项式可以有多个点值表示。通俗一点说,已知一个多项式函数的n个函数值可以唯一确定这个函数,而知道这个函数可以知道不止n个函数值。
  已知点值表示求系数表示称为插值,用拉格朗日插值法可以做到On2
  若次数界为n的多项式A(x),B(x)的n个点的xk是对应相同的,点值表示法的加法操作时间复杂度是O(n),只要把对应A/B(xk)相加即可,若A(x),B(x)都已知2n个点,那把A/B(xk)相乘同样可以在On时间内完成乘法运算。。

进入正题。。
1. 单位复根
  n次单位复根是满足
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值