在前文我说了母函数的定义。但是母函数绝不是为了根据通项公式求母函数,而是为了根据递推公式求通项公式。但是根据母函数法求通项公式也不是万能的。还记得拉姆齐定理里的公式吗?拉姆齐定义的递推公式是:
a
n
=
n
a
n
−
1
−
n
+
2
,
a
1
=
3
a_n=na_{n-1}-n+2,a_1=3
an=nan−1−n+2,a1=3
母函数法只能求两种递推公式的通项公式,线性递推公式和多项式递推公式,而线性递推公式是多项式递推公式最高项次数为1的特殊情况。而拉姆齐公式既不是线性,也不是多项式的。
但是用一般的母函数也难以求线性递推的通项公式,因为麦克劳林级数里的阶乘非常难消去,所以就有了指数母函数。指数母函数的定义是,如果一个函数的麦克劳林级数展开式中,
x
n
n
!
\frac{x^n}{n!}
n!xn前面的系数如果和数列的第
n
n
n项相等,那么这个函数就是这个数列的指数母函数。比如:
e
2
x
=
1
+
2
x
+
2
2
x
2
2
!
+
2
3
x
3
3
!
+
⋯
+
2
n
x
n
n
!
e^{2x}=1+2x+\frac{2^2x^2}{2!}+\frac{2^3x^3}{3!}+\cdots+\frac{2^nx^n}{n!}
e2x=1+2x+2!22x2+3!23x3+⋯+n!2nxn
那么
e
x
e^x
ex就是数列
a
n
=
2
n
a_n=2^n
an=2n的指数母函数。如果是普通母函数,那么
e
x
e^x
ex是
a
n
=
2
n
n
!
a_n=\frac{2^n}{n!}
an=n!2n的母函数。指数式母函数为等比数列提供了一个桥梁。
线性递推
比如说以下递推公式:
a
n
=
2
a
n
−
1
+
3
a
n
−
2
+
4
,
a
1
=
1
,
a
2
=
2
a_n=2a_{n-1}+3a_{n-2}+4,a_1=1,a_2=2
an=2an−1+3an−2+4,a1=1,a2=2
首先假设函数的母函数是
f
(
x
)
f(x)
f(x).那么这个函数展开就是:
f
(
x
)
=
f
(
0
)
+
f
′
(
0
)
x
+
f
(
2
)
(
0
)
x
2
2
+
f
(
3
)
(
0
)
x
3
3
!
+
⋯
+
f
(
n
)
(
0
)
x
n
n
!
f(x)=f(0)+{f'(0)x}+\frac{f^{(2)}(0)x^2}{2}+\frac{f^{(3)}(0)x^3}{3!}+\cdots+\frac{f^{(n)}(0)x^n}{n!}
f(x)=f(0)+f′(0)x+2f(2)(0)x2+3!f(3)(0)x3+⋯+n!f(n)(0)xn
也就是:
f
′
(
0
)
=
a
1
f
(
2
)
(
0
)
2
=
a
2
f
(
3
)
(
0
)
3
!
=
a
3
⋮
f
(
n
)
(
0
)
n
!
=
a
n
f'(0)=a_1\\ \frac{f^{(2)}(0)}{2}=a_2\\ \frac{f^{(3)}(0)}{3!}=a_3\\ \vdots\\ \frac{f^{(n)}(0)}{n!}=a_n\\
f′(0)=a12f(2)(0)=a23!f(3)(0)=a3⋮n!f(n)(0)=an
先别急着求出来,把递推公式套进去,看看:
f
(
n
)
(
0
)
n
!
=
2
f
(
n
−
1
)
(
0
)
(
n
−
1
)
!
+
3
f
(
n
−
2
)
(
0
)
(
n
−
2
)
!
+
4
⟹
f
(
n
)
(
0
)
n
!
=
2
n
f
(
n
−
1
)
(
0
)
n
!
+
3
n
(
n
−
1
)
f
(
n
−
2
)
(
0
)
n
!
+
4
n
!
n
!
⟹
f
(
n
)
(
0
)
=
2
n
f
(
n
−
1
)
(
0
)
+
3
n
(
n
−
1
)
f
(
n
−
2
)
(
0
)
+
4
n
!
\frac{f^{(n)}(0)}{n!}=2\frac{f^{(n-1)}(0)}{(n-1)!}+3\frac{f^{(n-2)}(0)}{(n-2)!}+4\\ \implies \frac{f^{(n)}(0)}{n!}=\frac{2nf^{(n-1)}(0)}{n!}+\frac{3n(n-1)f^{(n-2)}(0)}{n!}+4\frac{n!}{n!}\\ \implies {f^{(n)}(0)}={2nf^{(n-1)}(0)}+{3n(n-1)f^{(n-2)}(0)}+4{n!}
n!f(n)(0)=2(n−1)!f(n−1)(0)+3(n−2)!f(n−2)(0)+4⟹n!f(n)(0)=n!2nf(n−1)(0)+n!3n(n−1)f(n−2)(0)+4n!n!⟹f(n)(0)=2nf(n−1)(0)+3n(n−1)f(n−2)(0)+4n!
这种形式的计算,因为分母有个阶乘,用普通的母函数是非常难求的。事实上,根据递推公式,我们知道数列的通项公式肯定是指数级的,假设指数的通项公式为
a
n
=
c
1
b
1
n
+
c
2
b
2
n
+
c
3
a_n=c_1b_1^n+c_2b_2^n+c_3
an=c1b1n+c2b2n+c3,那么它的指数式母函数就是:
f
(
x
)
=
c
1
e
b
1
x
+
c
2
e
b
2
x
+
c
3
e
x
f(x)=c_1e^{b_1x}+c_2e^{b_2x}+c_3e^x
f(x)=c1eb1x+c2eb2x+c3ex
这个函数的麦克劳林级数为:
f
(
x
)
=
∑
n
=
0
∞
[
(
c
1
b
1
n
+
c
2
b
2
n
+
c
3
)
x
n
n
!
]
f(x)=\sum_{n=0}^{\infty}[(c_1b_1^n+c_2b_2^n+c_3)\frac{x^n}{n!}]
f(x)=n=0∑∞[(c1b1n+c2b2n+c3)n!xn]
恰好是
a
n
=
c
1
b
1
n
+
c
2
b
2
n
+
c
3
a_n=c_1b_1^n+c_2b_2^n+c_3
an=c1b1n+c2b2n+c3的指数式母函数。那么现在未知数有点多,第一步是确定
b
1
,
b
2
b_1,b_2
b1,b2的值。根据递推关系,我们有:
a
n
=
c
1
b
1
n
+
c
2
b
2
n
+
c
3
a
n
−
1
=
c
1
b
1
n
−
1
+
c
2
b
2
n
−
1
+
c
3
a
n
−
2
=
c
1
b
1
n
−
2
+
c
2
b
2
n
−
2
+
c
3
a
n
=
2
a
n
−
1
+
3
a
n
−
2
+
4
⟹
c
1
b
1
n
+
c
2
b
2
n
+
c
3
=
2
(
c
1
b
1
n
−
1
+
c
2
b
2
n
−
1
+
c
3
)
+
3
(
c
1
b
1
n
−
2
+
c
2
b
2
n
−
2
+
c
3
)
+
4
=
2
c
1
b
1
n
−
1
+
2
c
2
b
2
n
−
1
+
2
c
3
+
3
c
1
b
1
n
−
2
+
3
c
2
b
2
n
−
2
+
3
c
3
+
4
=
2
c
1
b
1
n
−
1
+
3
c
1
b
1
n
−
2
+
2
c
2
b
2
n
−
1
+
3
c
2
b
2
n
−
2
+
6
c
3
+
4
a_n=c_1b_1^n+c_2b_2^n+c_3\\ a_{n-1}=c_1b_1^{n-1}+c_2b_2^{n-1}+c_3\\ a_{n-2}=c_1b_1^{n-2}+c_2b_2^{n-2}+c_3\\ a_n=2a_{n-1}+3a_{n-2}+4\\ \implies \\ c_1b_1^n+c_2b_2^n+c_3\\= 2(c_1b_1^{n-1}+c_2b_2^{n-1}+c_3)+\\ 3(c_1b_1^{n-2}+c_2b_2^{n-2}+c_3)+4 \\=2c_1b_1^{n-1}+2c_2b_2^{n-1}+2c_3\\+3c_1b_1^{n-2}+3c_2b_2^{n-2}+3c_3+4\\ =2c_1b_1^{n-1}+3c_1b_1^{n-2}\\ +2c_2b_2^{n-1}+3c_2b_2^{n-2}\\ +6c_3+4\\
an=c1b1n+c2b2n+c3an−1=c1b1n−1+c2b2n−1+c3an−2=c1b1n−2+c2b2n−2+c3an=2an−1+3an−2+4⟹c1b1n+c2b2n+c3=2(c1b1n−1+c2b2n−1+c3)+3(c1b1n−2+c2b2n−2+c3)+4=2c1b1n−1+2c2b2n−1+2c3+3c1b1n−2+3c2b2n−2+3c3+4=2c1b1n−1+3c1b1n−2+2c2b2n−1+3c2b2n−2+6c3+4
各项系数都要相等,所以有:
c
1
b
1
n
=
2
c
1
b
1
n
−
1
+
3
c
1
b
1
n
−
2
c
2
b
2
n
=
2
c
2
b
2
n
−
1
+
3
c
2
b
2
n
−
2
c_1b_1^n=2c_1b_1^{n-1}+3c_1b_1^{n-2}\\ c_2b_2^n=2c_2b_2^{n-1}+3c_2b_2^{n-2}\\
c1b1n=2c1b1n−1+3c1b1n−2c2b2n=2c2b2n−1+3c2b2n−2
其实可以转为方程:
b
2
=
2
b
+
3
⟹
b
2
−
2
b
−
3
=
(
b
−
3
)
(
b
+
1
)
=
0
⟹
b
1
=
3
,
b
2
=
−
1
b^2=2b+3\\ \implies b^2-2b-3=(b-3)(b+1)=0\\ \implies b_1=3,b_2=-1
b2=2b+3⟹b2−2b−3=(b−3)(b+1)=0⟹b1=3,b2=−1
也就是指数的底数我们已经确定了,数列的通项公式为:
a
n
=
c
1
3
n
+
c
2
(
−
1
)
n
+
c
3
a_n=c_13^n+c_2(-1)^n+c_3
an=c13n+c2(−1)n+c3
再算出数列的前三项:
a
1
=
1
,
a
2
=
2
,
a
3
=
2
a
2
+
3
a
1
+
4
=
11
a_1=1,a_2=2,a_3=2a_2+3a_1+4=11
a1=1,a2=2,a3=2a2+3a1+4=11,得到方程:
3
c
1
−
c
2
+
c
3
=
1
9
c
1
+
c
2
+
c
3
=
2
27
c
1
−
c
2
+
c
3
=
11
3c_1-c_2+c_3=1\\ 9c_1+c_2+c_3=2\\ 27c_1-c_2+c_3=11\\
3c1−c2+c3=19c1+c2+c3=227c1−c2+c3=11
解得:
c
1
=
5
12
c
2
=
−
3
4
c
3
=
−
1
c_1=\frac{5}{12}\\ c_2=\frac{-3}{4}\\ c_3=-1
c1=125c2=4−3c3=−1
所以通项公式为:
a
n
=
5
12
3
n
−
3
4
(
−
1
)
n
−
1
a_n=\frac{5}{12}3^n-\frac{3}{4}(-1)^n-1
an=1253n−43(−1)n−1
多项式递推后面再说。