3.2 广义算术级数Progressions
本页为译文 + 高中讲解合一:黑色正文为忠实翻译;彩色框(目标 / 例 / 分步推演)与配图为面向高中生的详解,逐步推演、举例、画图,不用比喻。
什么是广义算术级数(回顾定义 0.2)
在正式开始之前,先把记号摆清楚(这是第 0 章定义 0.2 的内容)。设 \(Z\) 是一个加性群(即只关心加法的交换群)。取一个基点 \(a\in Z\)、一组基向量(也叫步长)\(v=(v_1,\dots,v_d)\),其中每个 \(v_i\in Z\),再取一组非负整数边长 \(N=(N_1,\dots,N_d)\)。所谓盒子 \([0,N]\) 是所有满足 \(0\le n_i\le N_i\) 的整点 \((n_1,\dots,n_d)\) 组成的集合;记号 \(n\cdot v=n_1v_1+\dots+n_dv_d\)。于是
\[ P=a+[0,N]\cdot v=\Big\{\,a+n_1v_1+\dots+n_dv_d\ :\ 0\le n_i\le N_i\ \Big\}. \]这里 \(d\) 称为级数的秩(rank,也叫维数)。它的体积定义为 \(\operatorname{vol}(P)=(N_1+1)(N_2+1)\cdots(N_d+1)\),也就是盒子里整点的总数。如果这些不同的整点 \((n_1,\dots,n_d)\) 经过 \(a+n\cdot v\) 映射后两两不相等(即没有任何“撞车”),就称 \(P\) 是真级数(proper),此时 \(|P|=\operatorname{vol}(P)\);否则会有重合,\(|P|<\operatorname{vol}(P)\)。
| \(n_2\backslash n_1\) | 0 | 1 | 2 |
|---|---|---|---|
| 0 | 0 | 1 | 2 |
| 1 | 10 | 11 | 12 |
| 2 | 20 | 21 | 22 |
| 3 | 30 | 31 | 32 |
级数之间怎样相加、相减
我们现在研究一个加性集合的基本例子,即广义算术级数(或简称级数),它在定义 0.2 中已经给出。它们是带有大量加性结构的加性集合的范本;可以把它们看作格(lattice)与凸体(convex set)之间的混合体。(关于这一启发式的更定量的实现,见下面的引理 3.36。)
请注意,具有相同基向量的两个级数相加非常容易: \[ (a+[0,N]\cdot v)+(a'+[0,N']\cdot v)=(a+a')+[0,N+N']\cdot v \tag{3.1} \] (特别地,秩和基向量都不发生变化);而具有不同基向量的两个级数相加,则要用如下公式: \[ (a+[0,N]\cdot v)+(a'+[0,N']\cdot v')=(a+a')+[0,N\oplus N']\cdot(v\oplus v'). \tag{3.2} \] 这里 \(N\oplus N'\) 表示把两组边长拼接成 \((N_1,\dots,N_d,N'_1,\dots,N'_{d'})\),\(v\oplus v'\) 同理拼接两组基向量。请注意,若 \(v\) 与 \(v'\) 共用了一些基向量,则 (3.2) 右端的级数很可能是高度非真(improper)的(因为会出现大量重合)。此外,还可以把盒子 \([0,N]\) 换成另一个盒子,同样得到一个级数: \[ a+[N,M]\cdot v=(a+N\cdot v)+[0,M-N]\cdot v. \] 若使用形如 \([N,M)\) 等的盒子,也类似。特别地,一个级数的相反集仍是级数: \[ -(a+[0,N]\cdot v)=(-a)+[0,N]\cdot(-v)=(-a-N\cdot v)+[0,N]\cdot v. \tag{3.3} \]
由此以及 (3.2),我们看到两个级数的和或差仍是级数。最后,我们做一个简单的观察:两个级数的笛卡儿积仍是级数。
引理 3.10:级数在加法下几乎封闭
我们现在证明:在 \(O(1)^d\) 的误差范围内,秩为 \(d\) 的级数在加法下本质上是封闭的。
(这里 \(nP\) 指 \(n\) 个 \(P\) 相加的和集 \(\underbrace{P+\dots+P}_{n}\);\(nP-mP\) 指 \(n\) 个 \(P\) 之和再减去 \(m\) 个 \(P\) 之和。)
这条证明很短,但每一步都值得拆开看清楚。先看第一个论断:为什么一个“长盒子”可以被若干个“标准盒子”覆盖。
- 逐坐标看。在第 \(i\) 个方向上,长盒子的边是从 \(nN_i\) 到 \(mN_i\) 的整数区间 \([nN_i,\,mN_i]\)。
- 把这条长边切成若干段标准长度 \(N_i\) 的小段: \[ [nN_i,mN_i]=\bigcup_{k=n}^{m-1}\big(kN_i+[0,N_i]\big), \] 即 \(nN_i+[0,N_i],\ (n+1)N_i+[0,N_i],\dots,(m-1)N_i+[0,N_i]\),一共 \(m-n\) 段。每一段都是基本盒子 \([0,N_i]\) 的一次平移。
- \(d\) 个方向各自独立地有 \(m-n\) 种选择,按笛卡儿积一搭配,整个 \(d\) 维长盒子就被 \((m-n)\times(m-n)\times\dots=(m-n)^d\) 个标准盒子覆盖。每个标准盒子对应的就是 \(P\) 的一次平移。
再看第二个关键等式,即把 \(nP-mP\) 写成一个级数。这一步只是把前面三条公式串起来用:
- 用 (3.1) 把 \(n\) 个相同基向量的 \(P\) 相加:\(nP=na+[0,nN]\cdot v\)。同理 \(mP=ma+[0,mN]\cdot v\)。
- 用 (3.3) 取相反集:\(-mP=(-ma-mN\cdot v)+[0,mN]\cdot v\)。
- 再用一次 (3.1) 把 \(nP\) 和 \(-mP\) 相加(它们基向量相同,都是 \(v\)): \[ nP-mP=(na-ma-mN\cdot v)+[0,nN+mN]\cdot v=(na-ma-mN\cdot v)+[0,(n+m)N]\cdot v. \] 这正是一个新的级数:基点是 \(na-ma-mN\cdot v\),基向量仍是 \(v\)(所以秩仍是 \(d\)),边长是 \((n+m)N\)。
有了这个级数表达式,剩下两个不等式立刻得到:
- 覆盖数与基数。 在第一个论断里取 \(b=na-ma-mN\cdot v\)、取 \(n'=0,\ m'=n+m\):于是 \(nP-mP=b+[0,(n+m)N]\cdot v\) 可被 \((n+m-0)^d=(n+m)^d\) 个 \(P\) 的平移覆盖。每个平移副本至多含 \(|P|\) 个元素,故 \(|nP-mP|\le(n+m)^d|P|\)。
- 体积。 新级数体积为 \(\prod_{i=1}^d\big((n+m)N_i+1\big)\)。由于 \(n+m\ge 1\),有 \((n+m)N_i+1\le(n+m)(N_i+1)\),逐项相乘得 \[ \operatorname{vol}(nP-mP)\le(n+m)^d\prod_{i=1}^d(N_i+1)=(n+m)^d\operatorname{vol}(P). \]
由这条引理我们尤其看到:若 \(P\) 是一个秩为 \(d\) 的对称级数且含原点(例如 \(P=[-N,N]\cdot v\)),则 \(P\) 是定义 2.25 意义下的 \(2^d\)-近似群(approximate group)。事实上,可以把(对称的)小秩级数视为在无挠(torsion-free)情形下子群的替身(因为无挠群不可能含有限子群)。它们也是欧氏空间中盒子(更一般地,平行六面体)的算术类比;而且实变量调和分析中关于用盒子覆盖(在物理空间、傅里叶空间,或两者中)的许多结果,对级数都有对应的版本。
秩 1 的特殊情形:普通算术级数
在秩 \(d\) 等于 \(1\) 的特殊情形下,一个广义算术级数就等同于一个普通算术级数(或简称算术级数) \[ P=a+[0,N]\cdot v=\{\,a+nv:0\le n\le N\,\}, \] 它有基点 \(a\in Z\)、基向量或步长 \(v\in Z\)、以及长度 \(N+1\)。再次注意,如果 \(P\) 不是真的,则 \(P\) 的基数可能小于 \(N+1\);不过在无挠群中,只有当步长 \(v=0\) 时才会发生这种情况。
引理 3.11:级数 + 少量点,仍装得进一个级数
我们记录一条平凡的引理,它断言:一个级数与一个小集合的和集,可以(虽然有点浪费地)被包含在另一个级数之中。
这条证明的要点在于那个新添的盒子 \([0,1]^{K-1}\)。把它拆开来看:
- 为什么能设 \(w_K=0\)。 把每个 \(w_i\) 都减去 \(w_K\)(整体平移),不改变“能否被同一个级数装下”这件事;平移完后 \(w_K\) 就变成 \(0\)。
- 新级数 \((\ast)\) 长什么样。 它在原来的 \(d\) 个基向量 \(v_1,\dots,v_d\) 之外,又添了 \(K-1\) 个新基向量 \(w_1,\dots,w_{K-1}\),每个新方向的边长只取 \(0\) 或 \(1\)(即盒子 \([0,1]\))。所以秩变成 \(d+(K-1)=d+K-1\),体积变成 \(\operatorname{vol}(P)\cdot 2^{K-1}\)。
- 为什么每个 \(P+w_i\) 都在里面。 在新方向上,让第 \(i\) 个系数取 \(1\)、其余取 \(0\),那一项恰好等于 \(w_i\),于是 \(a+[0,N]\cdot v+w_i=P+w_i\) 落在 \((\ast)\) 中;新方向系数全取 \(0\) 时得到 \(P+w_K=P\)(因 \(w_K=0\))。所以 \(K\) 个平移副本全被装下。
因此,如果给一个级数添上少数几个元素,仍能把合并后的集合放进一个秩与体积都略大的级数中,尽管体积可能随 \(|A|\) 呈指数增长。这是不可避免的:见习题 3.2.2。正因为这种指数损失,有时不调用本引理反而更好——宁可分别处理单个级数的多个平移,也不要硬把所有东西塞进一个级数。还要注意,我们并未保证引理 3.11 中的级数是真的;我们将在 3.6 节回到这一点。
- 在 \(\mathbb{Z}\) 中取 \(P=\{0,2,4,6\}\)(步长 \(2\),长度 \(4\))。用 (3.1) 写出 \(2P\),再列出它的全部元素并核对。
- 对上面的 \(P\),引理 3.10 给出 \(|P-P|\) 的上界是多少?实际 \(|P-P|\) 又是多少?
- 设 \(P\) 是秩 \(2\)、体积 \(20\) 的级数,再添上 \(K=3\) 个点。引理 3.11 保证可装进一个秩为多少、体积至多为多少的级数?
习题
返回 全书目录