多项式与生成函数简介
多项式与生成函数
操纵 有限项/无限项 的多项式是 OI 数学中,尤其是生成函数中的重要内容。
以 快速傅里叶变换 为基石的多项式算法赋予了算法竞赛选手直接操纵生成函数的能力。
基本概念
对于求和式
可列项相加的求和式称为级数。在和式
研究多项式算术时先考虑较简单的多项式,幂级数概念仅用于方便理解。到了数学分析中会进一步研究幂级数的敛散性。
环、域及其衍生结构的一般定义详见 抽象代数基本概念。
对于一般环
每个元素
换言之,我们将多项式直接定义为系数序列。也可以表示为
此处我们认为
如果我们还允许无穷项的存在,即
则可得到 形式幂级数环(formal power series ring)
多项式的次数
对于一个多项式
多项式的乘法
最核心的操作是两个多项式的乘法,即给定多项式
要计算多项式
多项式或幂级数的乘法,满足结合律,关于加法满足分配律。若
若
复合
定义
在此基础上,定义
我们规定
FFT 可行时,有限项多项式的复合有
导数
尽管一般环甚至未必存在极限,
我们依然可以定义形式幂级数的 形式导数(formal derivative)为
其中
基本求导法则——加法法则、乘法法则、链式法则(复合允许的情况下)依然是正确的。
如果
乘法逆元
根据例子
可以知道,多项式的倒数是能展开为无穷级数的。存在倒数,当且仅当常数项不为
因此定义:对于形式幂级数
用形式幂级数乘法定义展开该式,可得
直接用递推式计算前
注
容易发现,
常见的幂级数展开式
在数学分析中,在某点处或某区间上若干阶可导的一元函数可以在相应范围进行多项式展开,一般统称为泰勒展开,如果在
如果无穷阶可导,则可以进行幂级数展开。最常见的还是在
在复变函数中,一些函数在奇点上虽然不能进行泰勒展开,但是可以进行洛朗展开。
下列等式只在幂级数收敛时成立,在不收敛时不成立。这里只写出展开式,不讨论收敛域。
基本的展开式有以下两个,指数函数和幂函数:
更多的展开式经常由上述两个变形得到。比如正余弦函数由指数函数代入复数得到:
对数和反正切、反正弦函数由积分得到:
复合逆
复合逆(compound inversion)即反函数概念在形式幂级数环上的推广。
对于满足
式中记号
多项式整除
对于多项式
则多项式
显而易见,多项式
多项式的余数和商
对于多项式
当
模多项式
模多项式是多项式环的子环,由多项式环除以同余的等价关系得到。
在上文提到的带余除法中,多项式
这个同余式也意味着,对于多项式
并且,如果根
这里的记号表示
模多项式同余可以应用于幂级数。一个无限项的幂级数,可以在模具体的多项式情形下,和一个有限项的多项式同余。例如:
显然剩余的所有项都被
在一些特定的情况下,也可以模其他的多项式,下文将解释相应情况。
多项式的多点求值和插值
多项式的多点求值(multi-point evaluation) 即给出一个多项式
多项式的插值(interpolation) 即给出
求一个
这两种操作的实质就是将多项式在 系数表示 和 点值表示 间转化。多点求值将多项式的系数表示转为点值表示,插值将多项式的点值表示转为系数表示。
注
按照幂级数的观点看,多点求值相当于将无穷项的信息「压缩」到有限个点值表示,因此丢失了一些信息,而插值相当于还原到相应次数的系数表示。
编程常见的求值与插值,例如离散傅里叶变换(及其逆变换)等等,选择的
这种「压缩」只保证了在
就有:
由于
在
由于幂级数的任意阶导数,在
因式分解和欧几里得
初等数论中的许多结论可以推广到多项式上。
复数域上,由代数基本定理可得,对于
有且仅有
于是
此时类比正整数的最大公因数,可得多项式的 最大公因式
(greatest common divisor, gcd)。其可用欧几里得算法求解
该性质可以推广到较为一般的情况:
对于任意域
上的多项式环 ,
多项式均可唯一因式分解,且可用欧几里得算法计算最大公因式。 需要注意的是,对于一般环上的多项式,该结论未必成立。
欧几里得算法成立时,可用扩展欧几里得给出不定方程
的一组特解
的可解性。
HALF-GCD 允许我们在
模多项式的乘法逆元
在模多项式
这个定义也等价于,对于多项式
则称
模多项式
考虑「截断」的概念,一般把模
注
一个问题是,可不可以用各种插值变换,直接求解「逆元」,比如计算:
答案是否定的,不可以这样做。根据上文的解释,这里利用离散傅里叶变换(及其逆变换)直接求出的逆元是模多项式
生成函数
生成函数(generating function),又称母函数,是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。
生成函数有许多不同的种类,但大多可以表示为单一的形式:
其中
- 普通生成函数:
。 - 指数生成函数:
。 - 狄利克雷生成函数:
。
参考资料与拓展阅读
- Picks's Blog
- Miskcoo's Space
- Polynomial ring - Wikipedia
- Formal power series - Wikipedia
- 《信息学竞赛中的生成函数计算理论框架》
本页面最近更新:2024/10/30 21:50:12,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:c-forrest, CCXXXI, Enter-tainer, EntropyIncreaser, fps5283, Great-designer, Ir1d, Menci, Saisyc, shq666, shuzhouliu, StudyingFather, Tiphereth-A, TrisolarisHD, Yanjun-Zhao
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用