[具体数学]第六章·特殊的数(第一部分)

第六章·特殊的数分7节,包括斯特林数、欧拉数、调和数、调和求和法、伯努利数、斐波那契数和连项式的内容。这是笔记第一部分,包括斯特林数、欧拉数,它们可以构成类似杨辉三角的三角形。

\[ \newcommand{\stra}[2]{\begin{bmatrix}#1\\#2\end{bmatrix}} \newcommand{\strb}[2]{\begin{Bmatrix}#1\\#2\end{Bmatrix}} \newcommand{\elr}[2]{\left\langle\begin{matrix}#1\\#2\end{matrix}\right\rangle} \newcommand{\elrdb}[2]{\left\langle\left\langle\begin{matrix}#1\\#2\end{matrix}\right\rangle\right\rangle} \]

斯特林数

符号表示:

第一类斯特林数(斯特林轮换数)\(\stra{n}{k}\)

第二类斯特林数(斯特林子集数)\(\strb{n}{k}\).

注:自定义 \(\LaTeX\) 运算符号,以上述两个斯特林数为例:

1
2
\newcommand{\stra}[2]{\begin{bmatrix}#1\\#2\end{bmatrix}}
\newcommand{\strb}[2]{\begin{Bmatrix}#1\\#2\end{Bmatrix}}

\newcommand{运算符}[参数数量]{运算符长什么样},其中 #1,#2 标注参数位置。

第二类斯特林数

我们先来考虑第二类斯特林数。\(\strb{n}{k}\) 表示将一个有 \(n\) 件物品的集合划分成 \(k\) 个非空子集的方案数。

花括号也用来表示集合,这一雷同有助于让我们记住 \(\strb{n}{k}\) 的意义。

我们可以推导 \(\strb{n}{k}\) 的递归式:把 \(n\) 件物品分成 \(k\) 个部分,要么是最后一件物品单独一类,这一共有 \(\strb{n-1}{k-1}\) 种方案;要么是最后一件物品加入前 \(n-1\) 件物品划分出的 \(k\) 个部分之一去,共有 \(k\strb{n-1}{k}\) 种方案。所以我们有: \[ \color{purple}{\strb{n}{k}=k\strb{n-1}{k}+\strb{n-1}{k-1}} \] (如果系数 \(k\)\(1\) 就是二项式系数了)

基于此,我们可以生成第二类斯特林数的三角形:

\(n\) \(\strb{n}{0}\) \(\strb{n}{1}\) \(\strb{n}{2}\) \(\strb{n}{3}\) \(\strb{n}{4}\) \(\strb{n}{5}\) \(\strb{n}{6}\) \(\strb{n}{7}\) \(\strb{n}{8}\) \(\strb{n}{9}\)
\(0\) \(1\)
\(1\) \(0\) \(1\)
\(2\) \(0\) \(1\) \(1\)
\(3\) \(0\) \(1\) \(3\) \(1\)
\(4\) \(0\) \(1\) \(7\) \(6\) \(1\)
\(5\) \(0\) \(1\) \(15\) \(25\) \(10\) \(1\)
\(6\) \(0\) \(1\) \(31\) \(90\) \(65\) \(15\) \(1\)
\(7\) \(0\) \(1\) \(63\) \(301\) \(350\) \(140\) \(21\) \(1\)
\(8\) \(0\) \(1\) \(127\) \(966\) \(1701\) \(1050\) \(266\) \(28\) \(1\)
\(9\) \(0\) \(1\) \(255\) \(3025\) \(7770\) \(6951\) \(2646\) \(462\) \(36\) \(1\)

第一类斯特林数

现在讨论第一类斯特林数。\(\stra{n}{k}\) 表示将 \(n\) 个元素排成 \(k\)轮换的方案数。这里,轮换是指环形排列,可以转动而相等,例如 \([A,B,C,D]=[B,C,D,A]=[C,D,A,B]=[D,A,B,C]\),但是 \([A,B,C,D]\neq[A,B,D,C]\).

先看几个特殊的值,\(n\) 个元素的 \(n\) 轮换有 \(\frac{n!}{n}\) 种,所以 \(\stra{n}{1}=(n-1)!\);当所有轮换都是单元素或者双元素时,轮换和子集没有差别,所以 \(\stra{n}{n}=\strb{n}{n}=1,\,\stra{n}{n-1}=\strb{n}{n-1}=\binom{n}{2}\).

我们也可以推导 \(\stra{n}{k}\) 的递归式:考虑最后一件物品,要么单独放在自己的轮换里,有 \(\stra{n-1}{k-1}\) 种方式;要么加入前 \(n-1\) 件物品分成的 \(\stra{n-1}{k}\) 个轮换中的一个,而方法有 \(n-1\) 种(插入任何一个轮换的任何一个位置都行)。所以我们有: \[ \color{purple}{\stra{n}{k}=(n-1)\stra{n-1}{k}+\stra{n-1}{k-1}} \]

记忆是很方便的,第一类斯特林数是在二项式系数的递归式中乘上了上指标 \(n-1\) 作为系数,第二类斯特林数是乘上了下指标 \(k\) 作为系数。

基于此,我们也可以生成第一类斯特林数的三角形:

\(n\) \(\stra{n}{0}\) \(\stra{n}{1}\) \(\stra{n}{2}\) \(\stra{n}{3}\) \(\stra{n}{4}\) \(\stra{n}{5}\) \(\stra{n}{6}\) \(\stra{n}{7}\) \(\stra{n}{8}\) \(\stra{n}{9}\)
\(0\) \(1\)
\(1\) \(0\) \(1\)
\(2\) \(0\) \(1\) \(1\)
\(3\) \(0\) \(2\) \(3\) \(1\)
\(4\) \(0\) \(6\) \(11\) \(6\) \(1\)
\(5\) \(0\) \(24\) \(50\) \(35\) \(10\) \(1\)
\(6\) \(0\) \(120\) \(274\) \(225\) \(85\) \(15\) \(1\)
\(7\) \(0\) \(720\) \(1764\) \(1624\) \(735\) \(175\) \(21\) \(1\)
\(8\) \(0\) \(5040\) \(13068\) \(13132\) \(6769\) \(1960\) \(322\) \(28\) \(1\)
\(9\) \(0\) \(40320\) \(\small{109584}\) \(\small{118124}\) \(67284\) \(22449\) \(4536\) \(546\) \(36\) \(1\)

一些恒等式

我们知道,每一种排列都和一个轮换等价——例如 \(15234\),从下标向数值连边,就构成了若干个环 \([1][2543]\),也即形成了一个轮换(这一点在竞赛中也经常使用)。所以,所有轮换方案加起来就是所有排列数,即: \[ \color{blue}{\sum_{k=0}^n\stra{n}{k}=n!\quad,整数\;n\geqslant 0} \] 之前说过,普通的幂次和下降幂之间可以通过斯特林数建立起联系,我们观察前几个关系: \[ \begin{align} &x^0=x^{\underline 0}\\ &x^1=x^{\underline 1}\\ &x^2=x^{\underline 2}+x^{\underline 1}\\ &x^3=x^{\underline 3}+3x^{\underline 2}+x^{\underline 1}\\ &x^4=x^{\underline 4}+6x^{\underline 3}+7x^{\underline 2}+x^{\underline 1} \end{align} \] 会发现这系数不就是第二类斯特林数吗?也就是说,我们可以猜想: \[ \color{blue}{x^n=\sum_k\strb{n}{k}x^{\underline k}} \] 数学归纳法证明: \[ \begin{align} x^n=x\cdot x^{n-1}&=x\sum_k\strb{n-1}{k}x^{\underline k}\\ &=\sum_k\strb{n-1}{k}x^{\underline {k+1}}+\sum_k\strb{n-1}{k}kx^{\underline k}&&x\cdot x^{\underline k}=x^{\underline{k+1}}+kx^{\underline k}\\ &=\sum_k\left(\strb{n-1}{k-1}+k\strb{n-1}{k}\right)x^{\underline k}\\ &=\sum_k\strb{n}{k}x^{\underline k} \end{align} \] 证毕。

同样的,上升阶乘幂与普通的幂次之间也有类似关系: \[ \color{blue}{x^{\overline n}=\sum_k\stra{n}{k}x^k} \] 数学归纳法证明: \[ \begin{align} x^{\overline n}=(x+n-1)x^{\overline {n-1}}&=(x+n-1)\sum_k\stra{n-1}{k}x^k\\ &=\sum_k\stra{n-1}{k}x^{k+1}+\sum_k\stra{n-1}{k}(n-1)x^k&&(x+n-1)x^k=x^{k+1}+(n-1)x^k\\ &=\sum_k\left(\stra{n-1}{k-1}+(n-1)\stra{n-1}{k}\right)x^k\\ &=\sum_k\stra{n}{k}x^k \end{align} \] 证毕。

上面是用下降幂表示了普通幂,普通幂表示了上升幂。但如果我们想用普通幂表示下降幂,上升幂表示普通幂呢?只需要应用 \(x^{\underline n}=(-1)^n(-x)^{\overline n}\),把 \(x\) 取相反值就得到: \[ \color{blue}{\begin{align} &x^{n}=\sum_k\strb{n}{k}(-1)^{n-k}x^{\overline k}\\ &x^{\underline n}=\sum_k\stra{n}{k}(-1)^{n-k}x^k \end{align}} \] 如果我们把普通幂表示上升幂的式子代入上升幂表示普通幂的式子,那么得到: \[ x^n=\sum_k\strb{n}{k}(-1)^{n-k}\sum_m\stra{k}{m}x^m=\sum_{k,m}(-1)^{n-k}\strb{n}{k}\stra{k}{m}x^m \] 由于这是一个恒等式,所以 \(x\) 对应系数相等,于是我们得到: \[ \color{blue}{\sum_{k,m}(-1)^{n-k}\strb{n}{k}\stra{k}{m}=[m=n]} \]

更多的实践总结出了一大堆斯特林数恒等式: \[ \begin{align} &\stra{n}{k}=(n-1)\stra{n-1}{k}+\stra{n-1}{k-1}&&递归式\\ &\strb{n}{k}=k\strb{n-1}{k}+\strb{n-1}{k-1}&&递归式\\ &x^{n}=\sum_k\strb{n}{k}x^{\underline k}=\sum_k\strb{n}{k}(-1)^{n-k}x^{\overline k}&&在幂之间转换\\ &x^{\overline n}=\sum_k\stra{n}{k}x^k&&在幂之间转换\\ &x^{\underline n}=\sum_k\stra{n}{k}(-1)^{n-k}x^k&&在幂之间转换\\ &\sum_k\stra{n}{k}\strb{k}{m}(-1)^{n-k}=[m=n]&&反转公式\\ &\sum_{k,m}\strb{n}{k}\stra{k}{m}(-1)^{n-k}=[m=n]&&反转公式\\ &\stra{n}{k}=\strb{-k}{-n}&&对偶性\\ \\ &\strb{n+1}{m+1}=\sum_k\binom{n}{k}\strb{k}{m}\\ &\stra{n+1}{m+1}=\sum_k\stra{n}{k}\binom{k}{m}\\ &\strb{n}{m}=\sum_k\binom{n}{k}\strb{k+1}{m+1}(-1)^{n-k}\\ &\stra{n}{m}=\sum_k\stra{n+1}{k+1}\binom{k}{m}(-1)^{m-k}\\ &m!\strb{n}{m}=\sum_k\binom{m}{k}k^n(-1)^{m-k}\\ &\strb{n+1}{m+1}=\sum_{k=0}^{n}\strb{k}{m}(m+1)^{n-k}\\ &\stra{n+1}{m+1}=\sum_{k=0}^n\stra{k}{m}n^{\underline{n-k}}=n!\sum_{k=0}^n\stra{k}{m}/k!\\ &\strb{m+n+1}{m}=\sum_{k=0}^mk\strb{n+k}{k}\\ &\stra{m+n+1}{m}=\sum_{k=0}^m(n+k)\stra{n+k}{k}\\ &\binom{n}{m}=\sum_k\strb{n+1}{k+1}\stra{k}{m}(-1)^{m-k}\\ &n^{\underline{n-m}}[n\geqslant m]=\sum_k\stra{n+1}{k+1}\strb{k}{m}(-1)^{m-k}\\ &\strb{n}{n-m}=\sum_k\binom{m-n}{m+k}\binom{m+n}{n+k}\stra{m+k}{k}\\ &\stra{n}{n-m}=\sum_k\binom{m-n}{m+k}\binom{m+n}{n+k}\strb{m+k}{k}\\ &\strb{n}{l+m}\binom{l+m}{l}=\sum_k\binom{k}{l}\strb{n-k}{m}\binom{n}{k}\\ &\stra{n}{l+m}\binom{l+m}{l}=\sum_k\stra{k}{l}\stra{n-k}{m}\binom{n}{k} \end{align} \]

欧拉数

定义和递归式

\(\elr{n}{k}\) 表示 \(\{1,2,\cdots,n\}\) 的有 \(k\)升高的排列 \(\pi_1\pi_2\cdots\pi_n\) 的个数。也即,有 \(k\) 个地方 \(\pi_j<\pi_{j+1}\).

推导欧拉数的递归式:尝试插入数 \(n\),如果它插在某个上升段的最后,那么升高数 \(+1\),这样的位置有 \(n-k\) 个;如果它插在某个上升段的中间,升高数不变,这样的位置有 \(k+1\) 个。所以我们有: \[ \color{purple}{\elr{n}{k}=(k+1)\elr{n-1}{k}+(n-k)\elr{n-1}{k-1}} \] 初始条件:\(\elr{0}{k}=[k=0]\),并假定 \(k<0\)\(\elr{n}{k}=0\).

由此我们可以得到欧拉数的三角形:

\(n\) \(\elr{n}{0}\) \(\elr{n}{1}\) \(\elr{n}{2}\) \(\elr{n}{3}\) \(\elr{n}{4}\) \(\elr{n}{5}\) \(\elr{n}{6}\) \(\elr{n}{7}\) \(\elr{n}{8}\) \(\elr{n}{9}\)
\(0\) \(1\)
\(1\) \(1\) \(0\)
\(2\) \(1\) \(1\) \(0\)
\(3\) \(1\) \(4\) \(1\) \(0\)
\(4\) \(1\) \(11\) \(11\) \(1\) \(0\)
\(5\) \(1\) \(26\) \(66\) \(26\) \(1\) \(0\)
\(6\) \(1\) \(57\) \(302\) \(302\) \(57\) \(1\) \(0\)
\(7\) \(1\) \(120\) \(1191\) \(2416\) \(1191\) \(120\) \(1\) \(0\)
\(8\) \(1\) \(247\) \(4293\) \(15619\) \(15619\) \(4293\) \(247\) \(1\) \(0\)
\(9\) \(1\) \(502\) \(14608\) \(88234\) \(\small{156190}\) \(88234\) \(14608\) \(502\) \(1\) \(0\)

性质和恒等式

从表中可以看出,欧拉数具有对称性: \[ \color{blue}{\elr{n}{k}=\elr{n}{n-1-k}} \] 因为 \(\pi_1\cdots\pi_n\)\(k\) 个升高当且仅当 \(\pi_n\cdots\pi_1\)\(n-1-k\) 个升高。

\(\textbf{Worpitzky}\) 恒等式: \[ \color{blue}{x^n=\sum_k\elr{n}{k}\binom{x+k}{n}} \] 证明:数学归纳法。首先 \(n=0\) 时,\(1=\sum\limits_k\langle\begin{smallmatrix}0\\k\end{smallmatrix}\rangle\binom{x+k}{0}=1\) 成立;假设 \(\leqslant n\) 均成立,则: \[ \begin{align} x^{n+1}&=x\cdot x^n\\ &=x\sum\limits _k\elr{n}{k}\binom{x+k}{n}\\ &=\sum_k\elr{n}{k}\left[(k+1)\binom{x+k}{n+1}+(n-k)\binom{x+k+1}{n+1}\right]\\ &=\sum_k\left(\elr{n+1}{k}-(n+1-k)\elr{n}{k-1}\right)\binom{x+k}{n+1}+\sum_k\elr{n}{k}(n-k)\binom{x+k+1}{n+1}\\ &=\sum_k\elr{n+1}{k}\binom{x+k}{n+1}+\sum_k\elr{n}{k}(n-k)\binom{x+k+1}{n+1}-\sum_k(n+1-k)\elr{n}{k-1}\binom{x+k}{n+1}\\ &=\sum_k\elr{n+1}{k}\binom{x+k}{n+1} \end{align} \] 证毕。(注:上述推导用了恒等式:\(x\binom{x+k}{n}=(k+1)\binom{x+k}{n+1}+(n-k)\binom{x+k+1}{n+1}\). )

还有一些其他性质: \[ \begin{align} &\elr{n}{m}=\sum_{k=0}^m\binom{n+1}{k}(m+1-k)^n(-1)^k\\ &m!\strb{n}{m}=\sum_k\elr{n}{k}\binom{k}{n-m}\\ &\elr{n}{m}=\sum_k\strb{n}{k}\binom{n-k}{m}(-1)^{n-k-m}k! \end{align} \]

(二阶欧拉数和斯特林多项式目前跳过)


[具体数学]第六章·特殊的数(第一部分)
https://xyfjason.github.io/blog-main/2020/08/26/具体数学-第六章·特殊的数(第一部分)/
作者
xyfJASON
发布于
2020年8月26日
许可协议