gfology学习1

Chapter 1

0.生成函数的简单介绍

生成函数是是序列和幂级数(函数)之间的纽带

生成函数能解决的问题:

  • 找到序列第\(n\)项的精确公式
  • 找到递推公式
  • 找到序列的平均值和其他有用的属性
  • 找到序列的渐进公式
  • 证明单峰性、凸性等。许多组合数的序列都是单峰的
  • 证明公式

1.简单的二项递推

考虑递推式\(a_{n+1}=2a_n+1\),(\(a_0=1\)\(n\ge 0\))

高中的做法:

\[a_{n+1}+1=2(a_n+1)\\ b_0=a_0+1=1,b_n=a_n+1=2^n\\ a_n=2^n-1 \]

现在考虑生成函数:

  • \(A(x)=\sum_{n\ge 0}a_nx^n\),其中\(a_n\)是序列\(<a>\)的第\(n\)

    \[A(x)=a_0+a_1x+a_2x^2+\cdots+a_nx^n+\cdots\\ 2xA(x)=\quad \quad 2a_0x+2a_1x^2+\cdots+2a_{n-1}x^n+\cdots\\ A(x)(1-2x)=a_0+(x+x^2+\cdots+x^n+\cdots)=0+\frac{x}{1-x}\\ A(x)=\frac{x}{(1-x)(1-2x)} \]

    因此\(A(x)\)就是这个函数的生成函数,但是我们需要展开成幂级数的形式

    \[\frac{x}{(1-x)(1-2x)}\\ =x\left\{\frac{2}{1-2x}-\frac{1}{1-x} \right\}\\ =\left\{2x+2^2x^2+2^3x^3+\cdots \right\}-\left\{x+x^2+x^3+\cdots \right\}\\ =(2-1)x+(2^2-1)x^2+(2^3-1)x^3+\cdots+(2^n-1)x^n\cdots \]

    这样幂级数的系数就和原序列的每一项一一对应了

2.稍微难一点的二项递推

考虑递推式\(a_{n+1}=2a_n+n\)

和上面的一样配式子,容易得到(事实上写出来前几项观察也容易得到)\(a_n=2^{n+1}-(n+1)\)

考虑生成函数

  • \(A(x)\)\(<a>\)的生成函数,\(A(x)=\sum_{n\ge 0}a_nx^n\)

    \[a_1+a_2x+a_3x^2+a_4x^3+\cdots=\frac{A(x)-a_0}{x}=\frac{A(x)-1}{x}\\ =(2a_0+0)+(2a_1+1)x+(2a_2+2)x^2+(2a_3+3)x^3+\cdots\\ =2(a_0+a_1x+a_2x^2+a_3x^3+\cdots)+(0+x+2x+3x+\cdots)\\ =2A(x)+\sum_{n\ge 0}nx^n\\ \frac{A(x)-1}{x}=2A(x)+\sum_{n\ge 0}nx^n \]

    现在考虑\(\sum_{n\ge 0}nx^n\)怎么求

    \[\sum_{n\ge 0}nx^n=\sum_{n\ge 0}x(\frac{d}{dx})x^n=x(\frac{d}{dx})\sum_{n\ge 0}x^n=x(\frac{d}{dx})\frac{1}{1-x}=\frac{x}{(1-x)^2} \]

    \[\frac{A(x)-1}{x}=2A(x)+\frac{x}{(1-x)^2}\\ A(x)=\frac{2x^2-2x+1}{(1-x^2)(1-2x)} \]

    再利用有理分式分解

    \[A(x)=\frac{Ax}{(1-x)^2}+\frac{B}{(1-x)}+\frac{C}{1-2x}=\frac{-1}{(1-x)^2}+\frac{2}{1-2x} \]

    现在通过\(A(x)\)找到序列\(<a>\)的通项公式

\(\frac{2}{1-2x}\)的第\(n\)项是\(2\cdot 2^n=2^{n+1}\)\(\frac{1}{(1-x)^2}\)的第\(n\)项就是\(\sum_{n\ge 0}a_nx^n\)的第\(n+1\)项即\(n+1\),因为少了一个分子\(x\)

\(a_n=2^{n+1}-n-1\)

一些符号定义

\(f(x)\)表示\(x\)的幂级数。则\([x^n]f(x)\)表示\(f(x)\)幂级数\(x^n\)项的系数

  • \([x^n]e^x=\frac{1}{n!}\) \(\text{;}\) \([t^r]\left\{\frac{1}{1-3t}\right\}=3^r\) \(\text{;}\) \([u^m](1+u)^s=\binom{s}{m}\)
  • \([x^n]\left\{ x^af(x)\right\}=[x^{n-\alpha}]f(x)\)
  • \([\beta x^n]f(x)=(\frac{1}{\beta})[x^n]f(x)\)

生成函数求递推式方法

  • 把幂级数用未知项表示(即不是初始条件)
  • 利用递推式写出幂级数
  • 这时得到两个等式,求出生成函数即可

3.三项递推

考虑斐波那契数列\(F_{n+1}=F_n+F_{n-1}\).(\(n\ge 1\text{;}F_0=0\text{;}F_1=1\))

  • \(F(x)\)表示斐波那契数列的生成函数,即\(F(x)=\sum_{n\ge 0}F_nx^n\)

    \[F_2x+F_3x^2+F_4x^3+\cdots=\frac{F(x)-x}{x}\\ (F_1+F_0)x+(F_2+F_1)x^2+(F_3+F_2)x^3+\cdots\\ =(F_1x+F_2x^2+F_3x^3+\cdots)+(F_0x+F_1x^2+F_2x^3+\cdots)\\ =F(x)+xF(x)\\ \frac{F(x)-x}{x}=F(x)+xF(x)\\ F(x)=\frac{x}{1-x-x^2} \]

    因式分解,令\(r_{+}=\frac{1+\sqrt{5}}{2}\text{,}r_{-}=\frac{1-\sqrt{5}}{2}\)

    \[\frac{x}{1-x-x^2}=\frac{x}{(1-xr_{+})(1-xr_{-})}\\ =\frac{1}{r_{+}-r_{-}}\left(\frac{1}{1-xr_{+}}-\frac{1}{x-x_r{-}}\right)\\ =\frac{1}{\sqrt{5}}\left\{\sum_{j\ge 0}r_{+}^jx^j-\sum_{j\ge 0}r_{-}^jx^j\right\} \]

    故得到\(F_n=\frac{1}{\sqrt{5}}(r_{+}^n-r_{-}^n)\)

4.三项边值问题

给定一个递推式\(au_{n+1}+bu_{n}+cu_{n-1}=d_n\),(\(n=1,2,\cdots,N-1\text{;}u_0=u_N=0\))

其中\(N\),常数\(a,b,c\)和序列\(\{d_n\}_{n=1}^{N-1}\)已知。可以证明上述的等式唯一确定了序列\(\{u_n\}_{n=0}^{N}\)

  • \(U(x)\)表示\(<u>\)的生成函数,\(D(x)\)表示\(<d>\)的生成函数。即\(U(x)=\sum_{i=0}^Nu_ix^i\)\(D(x)=\sum_{i=1}^{N-1}d_ix^i\)

根据递推式有

\[a\sum_{n=1}^{N-1}u_{n+1}x^n+b\sum_{i=1}^{N-1}u_nx^n+c\sum_{n=1}^{N-1}u_{n-1}x^n=\sum_{n=1}^{N-1}d_nx^n\\ a\frac{U(x)-u_1x}{x}+bU(x)+cx\left\{U(x)-u_{N-1}x^{N-1}\right\}=D(x) \]

现在的问题就是不知道\(u_1\)\(u_{N-1}\),但我们还是先求出\(U(x)\)是什么先

\[\left\{a+bx+cx^2\right\}U(x)=x\left\{D(x)+au_1+cu_{N-1}x^N\right\} \]

上式给了一种求\(u_1\)\(u_{N-1}\)的方法,令\(r_{+}\)\(r_{-}\)是二次多项式\(a+bx+cx^2\)的两个根,假设\(r_{+}\ne r_{-}\),得到

\[au_1+(cr_{+}^N)u_{N-1}=-D(r_{+})\\ au_1+(cr_{-}^N)u_{N-1}=-D(r_{-})\\ \]

现在就是求解这个二元一次方程的问题(初中生问题)

5.两个独立变量

\(f(n,k)\)表示从大小为\(n\)的集合中选出\(k\)个对象的方案数(就是组合数)。

容易知道有递推式\(f(n,k)=f(n-1,k)+f(n-1,k-1)\)\((f(n,0)=1)\)

  • 定义\(B_n(x)=\sum_{k\ge 0}f(n,k)x^k\)

根据递推式,两边同时乘以\(x^k\)并对\(k\ge 1\)求和,得到

\(B_n(x)-1=(B_{n-1}(x)-1)+xB_{n-1}(x)\),(\(n\ge 1 \text{;}B_(x)=1\))

进一步得到

\[B_n(x)=(1+x)B_{n-1}(x)\quad \quad n\ge 1 \text{;}B_(x)=1\\ B_n(x)=(1+x)^n=\sum_{k\ge 0}\binom{n}{k}x^k \]

这就是二项式定理

现在同时考虑\(n\)\(k\)的求和

\[\sum_{n\ge 0}B_n(x)y^n=\sum_{n\ge 0}\sum_k\binom{n}{k}x^ky^n=\sum_{n\ge 0}(1+x)^ny^n=\frac{1}{1-y(1+x)}\\ \binom{n}{k}=\left[x^ky^n\right]\frac{1}{1-y(1+x)} \]

进一步,上面计算\(B_n(x)\)是固定了\(n\)\(k\)\(k\)是自由变量,现在考虑\(n\)为自由变量的情况,即考虑幂级数\(\sum_{n}\binom{n}{k}y^n\)

\[\left[x^k\right]\sum_{n\ge 0}\sum_{k}\binom{n}{k}x^ky^n=\left[x?^k\right]\frac{1}{1-y(1+x)}=\frac{1}{1-y}\left[x^k\right]\frac{1}{1-\frac{y}{1-y}x}\\ =\frac{1}{1-y}\left(\frac{y}{1-y}\right)^k=\frac{y^k}{(1-y)^{k+1}} \]

综上,我们有

\[\sum_{k}\binom{n}{k}x^k=(1+x)^n\text{;}\quad \sum_{n}\binom{n}{k}y^n=\frac{y^k}{(1-y)^{k+1}} \]

另一类两独立变量问题

考虑把大小为\(n\)的集合划分为\(k\)的非空集合的方案数(斯特林数)。记作\(n \brace k\)

递推式为

\[{n\brace k}={n-1\brace k-1}+k{n-1\brace k}\quad ((n,k)\ne(0,0)\text{;}{0\brace 0}=1) \]

取定任意一个元素,这个元素显然可以把方案数分为不相交的两部分,一部分是这个元素自己放在一个集合中,于是变成了求大小\(n-1\)为集合划分为\(k-1\)个的方案数,一部分是这个元素不是单独一个集合,于是就先把大小为\(n-1\)的集合划分成\(k\)个,然后在考虑把这个元素放在哪一个集合中。

现在可以很自然地定义出我们需要的 3 个生成函数

\[A_n(y)=\sum_k{n\brace k}y^k\\ B_k(x)=\sum_n{n\brace k}x^n\\ C(x,y)=\sum_{n,k}{n\brace k}x^ny^k \]

这里我们先求解\(B_k(x)\),即先固定\(k\),因为这样比较好入手。将递推式两边同时乘以\(x^n\)并对\(n\)求和,得到

\[B_k(x)=xB_{k-1}(x)+kxB_k(x)\quad (k\ge 1\text{;}B_0(x)=1)\\ B_k(x)=\frac{x}{1-kx}B_{k-1}(x)=\frac{x}{1-kx}\frac{x}{1-(k-1)x}B_{k-2}(x)=\cdots=\frac{x^k}{(1-x)(1-2x)\cdots(1-kx)} \]

为了求得\({n\brace k}=[x^n]B_k(x)\),要把\(\frac{x^k}{(1-x)(1-2x)\cdots(1-kx)}\)因式分解,先考虑\(\frac{1}{(1-x)(1-2x)\cdots(1-kx)}\)

\[\frac{1}{(1-x)(1-2x)\cdots(1-kx)}=\sum_{j=1}^k\frac{\alpha_j}{1-jx}\\ \alpha_r=\frac{1}{(1-\frac{1}{r})(1-\frac{2}{r})\cdots(1-\frac{r-1}{r})(1-\frac{r+1}{r})(1-\frac{k}{r})}\\ =(-1)^{k-r}\frac{r^{k-1}}{(r-1)!(k-r)!} \]

\[{n\brace k}=\left[x^n\right]\left\{\frac{x^k}{(1-x)(1-2x)\cdots(1-kx)}\right\}\\ =\left[x^{n-k}\right]\left\{\frac{1}{(1-x)(1-2x)\cdots(1-kx)}\right\}\\ =\left[x^{n-k}\right]\sum_{r=1}^k\frac{\alpha_r}{1-rx}\quad \\ =\sum_{r=1}^k\alpha_r\left[x^{n-k}\right]\frac{1}{1-rx}\\ =\sum_{r=1}^k\alpha_rr^{n-k}\quad \quad \quad \quad \ \\ =\sum_{r=1}^k(-1)^{k-r}\frac{r^{k-1}}{(r-1)!(k-r)!}r^{n-k}\\ =\sum_{r=1}^k(-1)^{k-r}\frac{r^{n}}{r!(k-r)!} \]

接下来考虑计算\(A_n(y)\),根据递推公式有

\[A_n(y)=\sum_{k}{n-1 \brace k-1}y^k+\sum_kk{n-1 \brace k}y^k\\ =y\sum_k{n-1 \brace k-1}y^{k-1}+y\sum_k{n-1\brace k}(\frac{d}{dy})y^k\\ =yA_{n-1}(y)+(y\frac{d}{dy})A_{n-1}(y)\\ =\left\{y(1+D_y)\right\}A_{n-1}(y) \quad (n\gt 0\text{;}A_0(y)=1) \]

一直递推到\(A_0(y)\)得到

\[A_n(y)=\left\{y+yD_y\right\}^n1\\ A_1=y\\ A_2=(y+yD_y)A_1=y^2+yD_y=y^2+y\\ A_3=y^3+3y^2+y\\ \cdots \]

最后讨论\(Bella\)数,定义为

\[b(n)=\sum_{k=1}^M{n\brace k}\\ =\sum_{k=1}^M\sum_{r=1}^k(-1)^{k-r}\frac{r^n}{r!(k-r)!}\\ =\sum_{r=1}^M\frac{r^n}{r!}\sum_{k=r}^M\frac{(-1)^{k-r}}{(k-r)!}\\ =\sum_{r=1}^M\frac{r^n}{r!}\sum_{s=0}^{M-r}\frac{(-1)^{s}}{s!\\} \]

特别地,当\(M\)趋于\(\infty\)时,\(b(n)=\frac{1}{e}\sum_{r\ge 0}\frac{r^n}{r!}\)

  • \(Bella\)数的生成函数为\(B(x)\),即\(B(x)=\sum_{n\ge 0}\frac{b(n)}{n!}x^n\)

\[B(x)-1=\frac{1}{e}\sum_{r\ge 1}\frac{1}{r!}\sum_{n\ge 1}\frac{(rx)^n}{n!}\\ =\frac{1}{e}\sum_{r\ge 1}\frac{1}{r!}(e^{rx}-1)\\ =\frac{1}{e}\left(\sum_{r\ge 1}\frac{1}{r!}(e^x)^r-\sum_{r\ge 1}\frac{1}{r!}0^r\right)\\ =\frac{1}{e}\left\{e^{e^x}-e^0\right\}\\ =e^{e^x-1}-1 \]

posted @ 2022-09-06 16:09  Arashimu  阅读(79)  评论(0)    收藏  举报