多项式与快速傅里叶变换-学习笔记

本文介绍了快速傅里叶变换(FFT)在计算多项式乘法中的应用,详细阐述了从问题引入、单位复数根、基本思想到递归化迭代的过程,并通过实例展示了FFT如何构造及用于解决笛卡尔和、特定问题求解等。同时提到了拉格朗日插值法作为多项式系数表达的快速计算方法。
摘要由CSDN通过智能技术生成

问题引入:快速求多项式乘法

定义1.1 一个形如:

A(x)=i=0n1aixi

的函数被称为一个多项式的 系数表达 。系数表达多项式的加,乘和除我们在小学和初中已经学习过,这里不再赘述。

系数表达的好处有:

  1. 直观。我们所用的进位制就是使用多项式的系数表达。
  2. 方便求值。利用霍纳法则(秦九韶算法)可以方便的在O(n)求得多项式的值。

但缺点也有:

  • 难以计算两个多项式的乘积。

朴素的算法需要 O(n2) 时间才能计算多项式的乘积,一个简单的分治算法则可以在 O(nlg7) 内算出。为了提高效率,我们引入多项式的 点值表达 的概念:

定义1.2 对于多项式A(x),形如:

B={ (x0,A(x0)),(x1,A(x1)),(x2,A(x2)),,(xn1,A(xn1))},ab,xaxb

的表达称为多项式A以 { x0,x1,...,xn1} 为基的点值表示。

由线性代数的知识可以知道,一个点值表示至多有一个多项式与之对应。但 xi 的选择是任意的,而且不会影响计算。

对于点值表示,计算多项式乘积就简单了许多:选取同一组 xi ,将对应的 yi 相乘即可。那么我们有了一个计算多项式值的初步思路:

  1. 将多项式A, B转化为点值表达
  2. 点值乘法
  3. 将点值表示转换回系数表示

单位复数根

定义2.1 复平面上 xn=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值