Entringer Number

恩特林格数

恩特林格数(Entringer number,OEIS A008281)E(n,k)E(n,k) 是满足下述条件的 00 到 nn 共 n+1n+1 个数的置换数目:

  • 首元素是 kk;
  • 首元素的下一个元素比首元素小,再下一个元素比前一个元素大,再下一个元素比前一个元素小……后面相邻元素的大小关系均满足这样的规则.

恩特林格数的初值有:

E(0,0)=1E(0,0)=1 E(n,0)=0E(n,0)=0

有递推关系:

E(n,k)=E(n,k−1)+E(n−1,n−k)E(n,k)=E(n,k-1)+E(n-1,n-k)

Seidel–Entringer–Arnold 三角

恩特林格数的一个适当排列的数字三角,称为 Seidel–Entringer–Arnold 三角(Seidel–Entringer–Arnold triangle,OEIS A008280).该三角是按照「牛耕」顺序(ox-plowing order)排列的恩特林格数 E(n,k)E_(n,k):

E(0,0)E(1,0)→E(1,1)E(2,2)←E(2,1)←E(2,0)E(3,0)→E(3,1)→E(3,2)→E(3,3)E(4,4)←E(4,3)←E(4,2)←E(4,1)←E(4,0)\begin{aligned} & E(0,0) \\ & E(1,0) \rightarrow E(1,1) \\ & E(2,2) \leftarrow E(2,1) \leftarrow E(2,0) \\ & E(3,0) \rightarrow E(3,1) \rightarrow E(3,2) \rightarrow E(3,3) \\ & E(4,4) \leftarrow E(4,3) \leftarrow E(4,2) \leftarrow E(4,1) \leftarrow E(4,0) \end{aligned}

即:

10→11←1←00→1→2→25←5←4←2←0\begin{aligned} & 1 \\ & 0 \rightarrow 1 \\ & 1 \leftarrow 1 \leftarrow 0 \\ & 0 \rightarrow 1 \rightarrow 2 \rightarrow 2 \\ & 5 \leftarrow 5 \leftarrow 4 \leftarrow 2 \leftarrow 0 \end{aligned}

按照这种方式排列的恩特林格数的优势是,与它的递推关系 E(n,k)=E(n,k−1)+E(n−1,n−k)E(n,k)=E(n,k-1)+E(n-1,n-k) 一致,可以方便记忆和理解.

恩特林格数有一个指数型生成函数:

∑m=0∞∑n=0∞E(m+n,12(m+n+(−1)m+n(n−m)))xmm!xnn!=cos⁡x+sin⁡xcos⁡(x+y)\sum_{m=0}^\infty\sum_{n=0}^\infty E\left(m+n,\frac{1}{2}\left(m+n+{(-1)}^{m+n}(n-m)\right)\right)\frac{x^m}{m!}\frac{x^n}{n!}=\frac{\cos x+\sin x}{\cos (x+y)}

这个生成函数的系数分布事实上是上面的 Seidel–Entringer–Arnold 三角的简单拉伸变形:

E(0,0)E(1,1)E(2,0)E(3,3)E(4,0)E(1,0)E(2,1)E(3,2)E(4,1)E(2,2)E(3,1)E(4,2)E(3,0)E(4,3)E(4,4)\begin{array}{ccccc} E(0,0) & E(1,1) & E(2,0) & E(3,3) & E(4,0) \\ E(1,0) & E(2,1) & E(3,2) & E(4,1) & \\ E(2,2) & E(3,1) & E(4,2) & & \\ E(3,0) & E(4,3) & & & \\ E(4,4) & & & & \end{array}

即:

110200122114055\begin{aligned} & 1\quad 1\quad 0\quad 2\quad 0\\ & 0\quad 1\quad 2\quad 2\\ & 1\quad 1\quad 4\\ & 0\quad 5\\ & 5 \end{aligned}

zigzag 置换

一个 zigzag 置换(zigzag permutation)是一个 11 到 nn 的排列 c1c_1 到 cic_i,使得任意一个元素 cic_i 的大小都不介于 ci−1c_{i-1} 和 ci+1c_{i+1} 之间.

对于 zigzag 置换的个数 ZnZ_n(OEIS A001250),从 n=0n=0 开始有:

1,1,2,4,10,32,122,544,⋯1, 1, 2, 4, 10, 32, 122, 544, \cdots

例如,前几个 nn 的交替置换有:

n=1:{1}n=2:{1,2},{2,1}n=3:{1,3,2},{2,1,3},{2,3,1},{3,1,2}n=4:{1,3,2,4},{1,4,2,3},{2,1,4,3},{2,3,1,4},{2,4,1,3},{3,1,4,2},{3,2,4,1},{3,4,1,2},{4,1,3,2},{4,2,3,1}\begin{aligned} n=1: & \{1\}\\ n=2: & \{1,2\}, \{2,1\}\\ n=3: & \{1,3,2\}, \{2,1,3\}, \{2,3,1\}, \{3,1,2\}\\ n=4: & \{1,3,2,4\}, \{1,4,2,3\}, \{2,1,4,3\}, \{2,3,1,4\}, \{2,4,1,3\}, \\ & \{3,1,4,2\}, \{3,2,4,1\}, \{3,4,1,2\}, \{4,1,3,2\}, \{4,2,3,1\} \end{aligned}

交替置换与 zigzag 数

(注意和「错位排列」进行概念上的区分.)

对于大于 11 的 nn,每个 zigzag 置换翻转过来仍旧为 zigzag 置换,可以两两配对,所以必然为偶数.

这里再给出一种配对的方法:将 zigzag 置换分为交替置换(alternating permutation)和反交替置换(reverse alternating permutation).

交替置换的首元素大于第二个元素,大小关系为:

c1>c2<c3>⋯c_1>c_2<c_3>\cdots

反交替置换的首元素小于第二个元素,大小关系为:

c1<c2>c3<⋯c_1<c_2>c_3<\cdots

如果将 11 和 nn 位置互换,22 和 n−1n-1 位置互换,以此类推,即可将交替置换与反交替置换两个集合互换.因此,交替置换与反交替置换的个数相等,恰好为 zigzag 置换的一半.

对于大于 11 的 nn,记:

An=Zn2A_n=\frac{Z_n}{2}

定义初值:

A0=A1=1A_0=A_1=1

这里的 AnA_n 称为 zigzag 数(Euler zigzag number,OEIS A000111),从 n=0n=0 开始有:

1,1,1,2,5,16,61,272,⋯1, 1, 1, 2, 5, 16, 61, 272, \cdots

接下来试着求解 AnA_n.

从 11 到 nn 之中,选取 kk 个数构成子集,有 (nk)\dbinom{n}{k} 种选法.

在这个 kk 元子集中,选反交替置换 uu,有 AkA_k 种选法;用全集减掉这个 kk 元子集,剩余的 n−kn-k 元子集中,选反交替置换 vv,有 An−kA_{n-k} 种选法.

考虑 n+1n+1 元排列 ww,将 uu 倒置作为开头,接上 n+1n+1,再接上 vv.那么,ww 一定是 zigzag 置换,并且任意一个 n+1n+1 元 zigzag 置换,都可以在 n+1n+1 处截断得到对应的反交替置换 uu 和 vv,并且不同的 n+1n+1 元 zigzag 置换对应的 uu 和 vv 不同.

因此有递推关系:

2An+1=∑k=0n(nk)AkAn−k2A_{n+1}=\sum_{k=0}^n \dbinom{n}{k} A_k A_{n-k} 2(n+1)An+1(n+1)!=∑k=0nAkk!An−k(n−k)!2(n+1)\frac{A_{n+1}}{(n+1)!}=\sum_{k=0}^n \frac{A_k}{k!}\frac{A_{n-k}}{(n-k)!}

当 nn 为 00 时并不满足这个递推式,初值 A0A_0 和 A1A_1 都是 11.

可见,这是一个指数型生成函数的卷积.假设 AnA_n 的指数型生成函数为 yy,就有微分方程:

2dydx=y2+12\frac{\mathrm{d}y}{\mathrm{d}x}=y^2+1

等式右面加 11 是为了处理 nn 为 00 时的特殊情况.该方程的通解为:

y=tan⁡(12x+C)y=\tan\left(\frac{1}{2}x+C\right)

代入第 00 项为 11 之后,可以得到特解:

y=tan⁡x+sec⁡xy=\tan x+\sec x

正切函数是奇函数,正割函数是偶函数,两者之和构成 zigzag 数的生成函数.

恩特林格数与 zigzag 数的关系

根据恩特林格数的定义,恩特林格数 E(n,k)E(n,k) 是首元素为 kk 的 00 到 nn 的交替置换个数.因此恩特林格数与 zigzag 数事实上有关系:

An=E(n,n)A_n=E(n,n)

将 AnA_n 称为「zigzag 数」也有原因:记 EnE_n 是欧拉数(Euler number),BnB_n 是伯努利数.

当 nn 为偶数时,偶数项下标的 zigzag 数也称「正割数」SnS_n 或者「zig 数」.有关系:

An=(−1)n/2EnA_n=(-1)^{n/2}E_n

前几项为(OEIS A000364):

1,1,5,61,1385,⋯1, 1, 5, 61, 1385, \cdots

当 nn 为奇数时,奇数项下标的 zigzag 数也称「正切数」TnT_n 或者「zag 数」.有关系:

An=(−1)(n−1)/22n+1(2n+1−1)Bn+1n+1A_n=\frac{(-1)^{(n-1)/2}2^{n+1}(2^{n+1}-1)B_{n+1}}{n+1}

前几项为(OEIS A000182):

1,2,16,272,7936,⋯1, 2, 16, 272, 7936, \cdots

于是对于在 x=0x=0 处的泰勒展开,可以给出正割数和正切数:

sec⁡x=A0+A2x22!+A4x44!+⋯\sec x=A_0+A_2\frac{x^2}{2!}+A_4\frac{x^4}{4!}+\cdots tan⁡x=A1x+A3x33!+A5x55!+⋯\tan x=A_1x+A_3\frac{x^3}{3!}+A_5\frac{x^5}{5!}+\cdots

或者写到一起:

sec⁡x+tan⁡x=A0+A1x+A2x22!+A3x33!+A4x44!+A5x55!+⋯\sec x+\tan x=A_0+A_1x+A_2\frac{x^2}{2!}+A_3\frac{x^3}{3!}+A_4\frac{x^4}{4!}+A_5\frac{x^5}{5!}+\cdots

构成 zigzag 数的生成函数.

参考资料与链接

  1. Alternating permutation - Wikipedia

本文内容来自 OI Wiki《Entringer Number》;作者与修订历史见原文。AIOJ 对排版、站内链接和资源路径做了格式适配。

内容依 CC BY-SA 4.0 与 SATA 许可共享;附加条款以原文声明为准。感谢 OI Wiki 作者与贡献者;请按 SATA 约定前往 OI Wiki 仓库 Star 支持。