数学 / 实数 · 从数轴的空位到浮点的间距 / 无理数:反证、递降与超越 待审核 3 / 5
√2 · 有理根定理

无理数:反证、递降与超越

有理数的小数展开必为有限或循环(见 有理数与小数展开),所以要证一个数不是有理数,等价于证它的展开无限且不循环。但直接盯着小数位看不出结果——那是无穷多位的性质。可行的路线是反过来:假设它能写成分数,再把这个假设推到矛盾。

本页给 2\sqrt 2 两条互相独立的反证,再由有理根定理把结论一次推广到一大类数,最后交代「无理」之下还有一层更细的分层。

1 · 最简分数的奇偶矛盾

定理 1.1 2\sqrt 2 不是有理数。

证明 反设 2=p/q\sqrt 2 = p/q,其中 pp、qq 为正整数且 gcd⁡(p,q)=1\gcd(p, q) = 1(任何分数都能约到这一步)。两边平方得 p2=2q2p^2 = 2q^2,故 p2p^2 为偶数。整数的平方为偶则该整数为偶,故 pp 为偶,记 p=2kp = 2k。代回得 4k2=2q24k^2 = 2q^2,即 q2=2k2q^2 = 2k^2,同理 qq 也为偶。pp 与 qq 都能被 22 整除,与 gcd⁡(p,q)=1\gcd(p, q) = 1 冲突。反设不成立。∎

整条链只用到一条引理:整数平方为偶则该整数为偶。它本身由「奇数的平方是奇数」直接给出,(2m+1)2=4m2+4m+1(2m+1)^2 = 4m^2 + 4m + 1。

图 1-1 · 定理 1.1 的六步反证:反设最简分数、平方、推出 pp 为偶、推出 qq 也为偶、与最简性矛盾、否定反设。可逐步展开或一次全开。

这条证明的支点是「已经约到最简」这个前提。换个说法:假设存在最小的那个解,再造出更小的解。下一节把这个说法单独拿出来做成一条不依赖奇偶的证明。

2 · 无穷递降

定理 2.1 方程 p2=2q2p^2 = 2q^2 没有正整数解。

证明 设 (p,q)(p, q) 是一个正整数解。直接验算得 (2q−p)2−2(p−q)2=2q2−p2=0(2q - p)^2 - 2(p - q)^2 = 2q^2 - p^2 = 0,故 (2q−p,p−q)(2q - p, p - q) 也是解。由 p2=2q2p^2 = 2q^2 知 q<p<2qq < p < 2q,从而 0<p−q<q0 < p - q < q:新解的第二个分量严格小于原来的。从任一解出发无限做下去,得到一列严格递减的正整数,而正整数集里没有无限递减列,矛盾。∎

这条论证有一个不用代数的读法。qq 与 pp 若是某个等腰直角三角形的直角边与斜边,那么在斜边上截出长度 qq 的一段并作垂线,得到的小三角形仍是等腰直角三角形,直角边 p−qp - q、斜边 2q−p2q - p,边长仍是整数。整数边长的等腰直角三角形因此可以一直缩小下去,而边长是正整数,缩不了几轮就撞底。

图 2-1 · 共用直角顶点的一组嵌套等腰直角三角形,右侧表格给出每一级的边长与 p2−2q2p^2 - 2q^2。可切换起点并逐级下降,观察这个差值只在 +1+1 与 −1-1 之间来回。

真正的解并不存在,所以要把递降真的跑一遍,起点只能取 Pell 方程 p2−2q2=±1p^2 - 2q^2 = \pm 1 的解,也就是「差一点点」的整数三角形。实跑 descentChain(99, 70) 的链条是 99/70→41/29→17/12→7/5→3/2→1/199/70 \to 41/29 \to 17/12 \to 7/5 \to 3/2 \to 1/1,链长 66 即触底(再降一次 p−qp - q 就为 00),而 p2−2q2p^2 - 2q^2 一路在 +1+1 与 −1-1 之间交替,绝对值始终是 11。递降的映射把这个差值取了相反数,所以非零的差值永远回不到 00——它把「无解」这件事变成了一条可以逐级核对的不变量。起点换成 1393/9851393/985 时链长 99。

3 · 有理根定理

上面两条证明都只处理 2\sqrt 2。要一次性覆盖 3\sqrt 3、5\sqrt 5、23\sqrt[3]{2},得换一件更通用的工具。

定理 3.1(有理根定理) 设整系数多项式 anxn+⋯+a1x+a0a_n x^n + \dots + a_1 x + a_0(an≠0a_n \ne 0,a0≠0a_0 \ne 0)有有理根 p/qp/q,其中 gcd⁡(p,q)=1\gcd(p, q) = 1。则 p∣a0p \mid a_0 且 q∣anq \mid a_n。特别地,首一多项式(an=1a_n = 1)的有理根必为整数。

证明 只需两次通分。把 x=p/qx = p/q 代入并乘以 qnq^n,得 anpn+an−1pn−1q+⋯+a0qn=0a_n p^n + a_{n-1}p^{n-1}q + \dots + a_0 q^n = 0。除首项外每一项都含因子 qq,故 q∣anpnq \mid a_n p^n;由 gcd⁡(p,q)=1\gcd(p, q) = 1 得 q∣anq \mid a_n。除末项外每一项都含因子 pp,同理 p∣a0p \mid a_0。∎

n\sqrt n 是首一多项式 x2−nx^2 - n 的根,故它若是有理数就必是整数,即 nn 必为完全平方数。nn 不是完全平方数时 n\sqrt n 无理,一句话覆盖全部情形;11 到 100100 里完全平方数只有 1010 个,其余 9090 个数的平方根一律无理。同理 x3−2x^3 - 2 的有理根只能是 ±1\pm 1、±2\pm 2,逐个代入都不为零,故 23\sqrt[3]{2} 无理。

候选表的实际用途是把搜索范围从无穷多个有理数压到有限个。2x3−3x2−8x+122x^3 - 3x^2 - 8x + 12 的常数项 1212 有六个正因数、首项 22 有两个,去重后候选共 1616 个;逐个用整数运算代入(rationalRoots 走的是 BigInt,不经浮点,免得 10−1610^{-16} 量级的残差被当成零),命中三个:−2-2、3/23/2、22。

4 · 代数数与超越数

定义 4.1(代数数与超越数) 若一个实数是某个非零整系数多项式的根,称它为代数数;否则称为超越数。

2\sqrt 2 是 x2−2x^2 - 2 的根,23\sqrt[3]{2} 是 x3−2x^3 - 2 的根,两者都是无理的代数数。有理数 p/qp/q 是 qx−pqx - p 的根,也是代数数。ee 与 π\pi 则不是任何整系数多项式的根:Hermite 于 1873 年证明 ee 超越,Lindemann 于 1882 年证明 π\pi 超越(后者顺带否掉了尺规化圆为方)。这两条本页只陈述结论。

第一个被证明的超越数不是 ee 也不是 π\pi,而是 Liouville 于 1844 年显式写出来的一个数:

L=∑n≥110−n!=0.110001000000000000000001000…L = \sum_{n \ge 1} 10^{-n!} = 0.110001000000000000000001000\dots

小数点后只在第 11、22、66、2424、120120 位上是 11,其余全为 00,下一个 11 要等到第 720720 位。构造的用意在于制造「好得过分」的有理逼近:把 LL 截断到第 k!k! 位,得到分母 q=10k!q = 10^{k!} 的分数,误差不超过下一项的两倍,即 10−(k+1)!10^{-(k+1)!} 量级,也就是 q−(k+1)q^{-(k+1)}。而代数数的逼近有硬上界——次数为 dd 的代数无理数与任何分母为 qq 的分数之间的距离都超过某个常数乘 q−dq^{-d}(Liouville 定理)。LL 的逼近阶随 kk 无限增大,超过任何固定的 dd,故它不可能是代数数。

对照 2\sqrt 2 就能看出「好得过分」的尺度。2\sqrt 2 的连分数渐近分数 1/11/1、3/23/2、7/57/5、17/1217/12、41/2941/29、99/7099/70 是它最好的有理逼近,误差量级恰是 q−2q^{-2}:实测 q2⋅∣p/q−2∣q^2 \cdot |p/q - \sqrt 2| 稳定收敛到 1/(22)=0.3535533905931/(2\sqrt 2) = 0.353553390593,不再往下走。二次代数数只能做到 q−2q^{-2},而 LL 的截断分数能做到 q−6q^{-6}、q−7q^{-7},要多少有多少。

警示 · 上一段那个 0.3535533905930.353553390593 是换了算路才量准的。最初的实现直接算 p / q - Math.SQRT2,第八项之前两条算路一致,第十二项(19601/1386019601/13860)就偏到 0.353553560.35355356,第二十一项给出 0.66210.6621,接近真值的两倍;到第二十二项 131836323/93222358131836323/93222358,p / q 与 Math.SQRT2 已经是同一个 double,差值恰为 00,整个量塌成零。原因是两个都以 1.414213561.41421356 开头的数相减,有效位被抵消掉。改用 Pell 方程给出的等价式 q2∣p/q−2∣=1/(p/q+2)q^2 |p/q - \sqrt 2| = 1/(p/q + \sqrt 2) 之后不再相减,全程稳定,单测把两条算路并列钉住,第二十二项那个 00 也一并写进断言。

无理数之间还有一层「有多少」的差别:代数数与有理数一样是可数的,超越数则不可数,故数轴上几乎每一个点都是超越数。这条计数论证不在本系列展开,见 基数:有限、可数无限与不可数。

5 · 参考文献

  1. Square root of 2. Wikipedia. 无理性的多种证明,含奇偶反证与无穷递降。https://en.wikipedia.org/wiki/Square_root_of_2
  2. Proof by infinite descent. Wikipedia. 递降法的一般形式与它在数论中的用处。https://en.wikipedia.org/wiki/Proof_by_infinite_descent
  3. Rational root theorem. Wikipedia. 定理 3.1 的陈述、证明与推论。https://en.wikipedia.org/wiki/Rational_root_theorem
  4. Liouville number. Wikipedia. Liouville 数的构造与第一例超越数。https://en.wikipedia.org/wiki/Liouville_number
  5. Transcendental number. Wikipedia. 超越数的定义,以及 ee 与 π\pi 超越性的证明年代。https://en.wikipedia.org/wiki/Transcendental_number