嘟嘟嘟
以下定义发生在数域上,多项式环也是定义在数域上的。称形如 \((a_0,a_1,\dots)\) 的无穷序列为元素,\(a+b\to(a_0+b_0,\dots)\),\(a\times b\to(a_0b_0,a_0b_1+a_1b_0,\dots)\),容易验证加法和乘法均交换且结合,乘法对加法具有分配律,乘法单位元为 \((1,0,0,\dots)\),得出所有这种无穷序列构成一个环。
为了方便,通常将只有第 \(0\) 项为非零的元素写作一个常数。定义 \(z=(0,1,0,\dots)\),\(z^0=1\)。则上述元素亦可描述为 \(\sum\limits_{i=0}^{\infty}a_iz^i\),易见 \(z^xz^y=z^{x+y}\)。因此使用这种形式相较于直接使用序列描述,可以更加自然地进行乘法,以及我们大可将其类比多项式函数进行操作。下文也将序列 \(a\) 对应的形式幂级数记作 \(a(z)\)。所有形式幂级数构成一个环。
对于系数序列定义复合,借助贝尔多项式:
从形式幂级数的角度解释复合非常容易,\(a(b(z))\) 即为将 \(b(z)\) 作为 \(z\) 代入到 \(a\) 中,此处必须满足 \(b_0\) 非零。
考察形式幂级数 \((1-z)\) 的乘法逆,即要找到 \(a(z)(1-z)=1\)。对比左右系数得到 \((1-z)^{-1}=(1,1,1,\dots)\),写成形式幂级数就是 \(\sum\limits_{i=0}^{\infty}z^i\)。
实际上,\(a_0\) 为非零常数的形式幂级数总有乘法逆,否则不存在乘法逆。
考虑何为将形式幂级数作为多项式函数进行操作,以求斐波那契数列的通项公式为例(\(f_0=0,f_1=1,f_i=f_{i-1}+f_{i-2}\))。用 \(f(z)\) 代表斐波那契数列的形式幂级数,由其递推式易知 \(f(z)-zf(z)-z^2f(z)=z\),提取公因式 \((1-z-z^2)\),该形式幂级数显然是有逆的,于是求逆得到 \(f(z)=\frac{z}{1-z-z^2}\),这个式子本质上仍然是无穷的序列,但是其形式上是有限的!我们在形式上可以利用多项式函数对其操作,因此变成了一个有限的问题!此处需要使用二次方程求根公式,由于形式幂级数满足任何此前使用多项式时需要的性质,因此可以直接使用二次方程求根公式的结论,无非是将此前的“常数项”视作一个序列罢了。
在进一步之前,我们需要介绍形式幂级数的商,因为对于没有逆的形式幂级数,将其作为分母会很麻烦。将形式幂级数的商写作两个形式幂级数 \(\frac{a(z)}{b(z)}\),称两个商 \(\frac{a(z)}{b(z)}\) 和 \(\frac{c(z)}{d(z)}\) 相等当且仅当 \(a(z)d(z)=b(z)c(z)\),这是等价关系,类似有理分式那样定义形式幂级数商的加法和乘法。如果 \(b(z)\) 有乘法逆,则 \(\frac{b(z)^{-1}a(z)}{1}=\frac{a(z)}{b(z)}\)。
研究形式幂级数无非等价于研究多项式,因此先暂时回到多项式层面。若有 \(n\) 次多项式 \(P(x)\),则根据代数基本定理其有 \(n\) 个根,同时根据因式定理,它可以被分解成 \((x-r_0)(x-r_1)\dots\),所以在已知根的情况下可以在复数域上将多项式分解成若干个一次多项式的乘积。若想将有理多项式分解成若干个有理数域上的不可约多项式,这是十分困难的,因此不去考虑。
对于任意多项式 \(P(x)\) 和 \(Q(x)\),存在唯一的 \(R(x)\) 使得 \(P(x)=D(x)Q(x)+R(x)\),其中 \(\deg R(x)<\deg Q(x)\),唯一性通过反证即可。将 \(R(x)\) 称作 \(P(x)\) 对 \(Q(x)\) 取模后的结果,求 \(R(x)\) 可以使用长除法,首先可以确定 \(R(x)\) 最高次项的系数及次数,然后变成子问题即可。
点击查看部分分式提取系数
酷炫有理分式求系数,目标是求 \([x^n]\frac{P(x)}{Q(x)}\)。
多项式取模:对于多项式 \(P(x)\) 和 \(Q(x)\),存在唯一的 \(R(x)\) 使得 \(P(x)=D(x)Q(x)+R(x)\),其中 \(\deg R(x)<\deg Q(x)\)。唯一性的证明可以反证,求 \(R(x)\) 可以通过长除法。不难发现多项式取模和整数取模具有相仿的性质。
当形式幂级数 \(Q(x)\) 有逆的时候,由于 \(Q^{-1}(x)\) 不一定是多项式,因此不会引起矛盾。
部分分式分解
首先令 \(R_0\) 为 \(P(x)\) 对 \(Q(x)\) 取模的结果,我们对满足 \(\deg P<\deg Q\) 的有理分式 \(\frac{P(x)}{Q(x)}\) 进行分式分解。根据因式定理,如果已知 \(Q\) 的每个根,则可以将 \(Q\) 分解成 \(\prod(1-a_ix)^{k_i}\) 的形式,方法为:
设 \(r\) 是 \(Q\) 的某个根,则 \((x-r)\) 是 \(Q\) 的因式,将其写作 \(-r_i\times(1-\frac{1}{r_i}x)\) 的形式。换元,令 \(a_i=\frac1{r_i}\),则 \(x-r=-r_i\times(1-a_ix)\)。将所有因式组合后即可。
给出分解形式:\(\frac{P(x)}{Q(x)}=\sum\limits_i\frac{R_i}{(1-a_ix)^{k_i}}\)。其中 \(\deg R_i<k_i\)。这个结论由多项式 CRT 给出,应该不会有人关心究竟如何给出,毕竟没有任何用。
如果能求出 \(R_i\),那么显然有很多方法提取系数。考虑将两边同时乘上 \(Q\),得到 \(P(x)=\sum\limits_iR_i\prod_{j\neq i}(1-a_jx)^{k_j}\),注意 \(\deg R_i<k_i\),因此对 \((1-a_ix)^{k_i}\) 取模得到 \(P(x)\equiv R_i\prod_{j\neq i}(1-a_jx)^{k_j}\),此时唯一问题在于求逆。做代换 \(t=1-a_jx\),则 \(x=\frac{1-t}{a_j}\),要求 \(F(x)^{-1}\),只需做代换得到 \(F(t)\) 后对 \(t^k\) 取模,代换回去即可,这样做是可行的。
求出 \(R_i\) 后,只需提取出 \([x^n]\frac1{(1-a_ix)^{k_i}}\)。我们有广义二项式定理 \((1+x)^m=\sum\limits_{j=0}^{\infty}\binom{m}{j}x^j\),其中广义二项式系数 \(\binom mj=\frac{m(m-1)(m-2)\dots(m-j+1)}{j!}\)。直接得到 \(n\) 次项系数为 \(a_i^n\binom{n+k-1}n\)。
形式洛朗级数相较于形式幂级数,允许了负次项的存在,因此拥有有限负次项的形式洛朗级数必然可以求逆。所以有时遇到分母不可逆的形式幂级数,我们可以声称在使用形式洛朗级数。例如在求卡特兰数的通项公式时,我们会有 \(\frac{1\pm\sqrt{1-4z}}{2z}\) 这个式子,其中 \(2z\) 作为形式幂级数是不可逆的,但是作为形式洛朗级数是可逆的。注意分子上的 \(\pm\),这是由于二次方程的两个根只有一个是有用的,考察第 \(0\) 项的取值进行判断,这个过程中需要对式子求极限,可以泰勒展开(实际上就是广义二项式定理),也可以在取减号时对其洛必达。注意并不是所有级数开根的结果都是形式洛朗级数,需要满足最低次项系数是 \(k\) 的倍数且系数的 \(k\) 次根存在。
在使用普通生成函数解决计数问题的时候,通常是将问题写成形式幂级数的形式,然后一般会得到一个封闭形式,我们需要对这个封闭形式求系数,非常常用的方法是结合等比数列求和的公式直接展开形式幂级数。另外还可以像上文所说的一样对有理分式提取系数,或者使用 bostan-mori。
由于我差不多把积分知识忘光了,这里复习一下。
不定积分给出 \(f(x)\) 的一个原函数 \(C+F(x)\),满足 \(F'(x)=f(x)\)。一些比较重要的积分方法是:
-
分部积分。考虑 \((uv)'=uv'+u'v\),于是两边同时求不定积分得到 \(\int uv=\int udv+\int vdu\),进而 \(\int udv=\int uv-\int vdu\),若被积函数可以分成两部分,一部分容易微分,一部分容易积分,则可以使用分部积分。
-
换元法。顾名思义,\(\int f(g(x))g'(x)dx=\int f(g(x))dg(x)\),于是对 \(f\) 积分后再换回去即可。
定积分是求函数曲线下的面积。根据微积分基本定理,\(\int_a^bf(x)dx=F(b)-F(a)\),利用不定积分求出任意一个原函数即可。