文章

高斯到底发明了什么:从 1 加到 100 开始

小学课堂上把 1 加到 100 的故事人人听过,但真正有趣的是他思考问题的方式:不靠蛮力硬算,先看结构。从 3 秒心算 31 位大数余数的同余法、打破两千年僵局的正十七边形、找回谷神星的最小二乘法,到披萨为什么弯着拿才不塌,一步步读懂高斯的代表作。

高斯到底发明了什么:从 1 加到 100 开始

几乎每个人都听过那个小学教室里的故事:老师为了偷懒,让全班把 1 到 100 一个个加起来,结果七岁的卡尔·弗里德里希·高斯(Carl Friedrich Gauss,1777–1855)转眼就把石板扣在讲台上,上面只写了一个数:5050。

据圣安德鲁斯大学 MacTutor 数学史档案记载,当时的老师 Büttner 和年轻助教 Bartels 大吃一惊——高斯根本没有从 \(1+2=3\)、\(3+3=6\) 一路硬加,而是一眼看出了这串数可以配成 50 对,每一对的和都是 101。[1]

关于细节流传过不同版本,等差数列求和也不是高斯首创。但这个故事之所以值得当成入口,是因为高斯一生中最震撼数学界的几件大事,用的几乎都是同一套本领:

当别人埋头硬算的时候,他先退后一步,把藏在底下的对称和结构揪出来。

今天我们不列干巴巴的荣誉清单,就挑他最著名的五件事,像剥洋葱一样,把“为什么难、他怎么想通的”真正看懂。


一、1 加到 100 之后,如果只加到 99 呢?

头尾配对的想法非常直观:\(1+100=101\),\(2+99=101\),……一直到 \(50+51=101\),一共 50 对,所以是 \(50\times 101=5050\)。

但很多初学者第一次自己用这招时,马上会卡在一个小问题上:如果项数是奇数——比如把 1 加到 5,或者 1 加到 99——正中间那个数没人配对,公式会不会坏掉?

看一眼下面这张图的右半边,顾虑立刻就消失了:

左侧把 1 到 10 头尾配成 5 对,每对 11;右侧把 1 到 5 的阶梯复制一份倒扣,拼成 5 乘 6 长方形 图 1:先看左图,1 到 10 头尾相连配成 5 对;再看右图,哪怕是奇数项(1 到 5),只要把蓝色阶梯复制一份(橙色虚线)倒扣上去,总能严丝合缝拼成一个宽 \(n+1\)、高 \(n\) 的长方形。单独打开图片

把 \(1+2+3+4+5\) 想成五层台阶。不管台阶有偶数层还是奇数层,只要复制一份一模一样的台阶,上下颠倒扣在一起,每一行都变成了 \(n+1\) 格(这里是 \(1+5=6\)、\(2+4=6\)、\(3+3=6\)……),整块刚好拼成 \(n\times(n+1)\) 的长方形。两份加起来是 \(n(n+1)\),原来那一份自然就是:

\[1+2+\cdots+n=\frac{n(n+1)}{2}.\]

把 \(n=99\) 代进去,\(99\times 100\div 2=4950\),连“中间剩谁”都不用单独操心。把一串散装的数字,变成一个对称的整体——记住这个动作,后面四件事全都有它的影子。


二、《算术研究》与同余:3 秒心算 31 位大数

1798 年写成、1801 年正式出版的《算术研究》(Disquisitiones Arithmeticae)是高斯 20 岁出头交出的代表作。此前费马、欧拉等人留下了许多漂亮的整数定理,但大多散落在信件和论文里;高斯全书七章,第一章开门见山,先发明了一套今天所有程序员和密码学家都在用的符号——同余(congruence)。[2]

光听定义,同余好像平平无奇:两个整数除以同一个数 \(m\),如果余数相同,就把它们看作“同一类”,记作 \(\equiv\)。比如一周有 7 天,今天是周日(记为 0),100 天后是周几?因为 \(100 = 7\times 14 + 2\),余数是 2,所以写作 \(100 \equiv 2 \pmod 7\),也就是和 2 天后一样,落在周二。

如果你觉得“这不就是小学有余数除法吗,值得写一本书?”,不妨马上试一道题:

今天是周日,请问 \(2^{100}\) 天之后是星期几?

\(2^{100}\) 是一个 31 位的天文数字(\(1267650600228229401496703205376\))。硬算出来再除以 7,手算一整天也未必算对。

但高斯引入同余符号的关键洞见是:如果只关心最后的余数,你根本不需要留着前面那些 7 的倍数——在加、减、乘的每一步,都可以随时把 7 的倍数扔掉! 因为 \((7k+r)(7m+s) = 7(7km+ks+mr) + r\cdot s\),前面一大串天生是 7 的倍数,真正决定乘积余数的,只有原来的两个余数 \(r\) 和 \(s\) 相乘。

左图模 7 时钟圆盘,右图 2 的幂次模 7 在余数 1、2、4 之间每 3 步循环一圈 图 2:左图把星期排成 0 到 6 的圆环;右图追踪 \(2^k\) 除以 7 的余数——从 1 出发,乘三次 2 变成 \(8\equiv 1\),立刻回到起点形成 3 步小循环。单独打开图片

跟着图 2 右侧箭头走三步:\(2^1 \equiv 2\),\(2^2 \equiv 4\),\(2^3 = 8 \equiv 1 \pmod 7\) —— 撞回 1 了! 一旦余数变回 1,接下来再乘 2 就会原封不动重演 \(1\to 2\to 4\to 1\),每 3 次方绕一圈。而 \(100 = 3\times 33 + 1\),意思是转满 33 整圈再多走 1 步:

\[2^{100} = (2^3)^{33}\times 2^1 \equiv 1^{33}\times 2 = 2 \pmod 7.\]

答案还是周二,全程连两位数都没超过。高斯用这套干净的代数语言,把余数变成了能加、能乘、甚至能“做除法”的新数系(他称之为“高等算术”,后来也成为抽象群与环论的源头之一 [2];模运算如何进入现代加密,可参看本站《费马的故事》)。


三、正十七边形:打破两千年僵局的“四次对折”

古希腊人留下过一道延续两千多年的几何悬案:只用没有刻度的直尺和圆规,到底能画出哪些正多边形?

欧几里得时代就已经会画正三角形(3)、正方形(4)、正五边形(5),以及把边数翻倍的 6、8、10、12、15 边形。[4] 但在那之后两千年,再也没有人新画出任何一个质数边的正多边形——正七边形、正十一边形全都画不出。直到 1796 年春天,不满 19 岁的高斯证明:正十七边形完全可以用直尺和圆规精确作出来! 这项突破写进了《算术研究》第七章。[1][4]

很多文章直接把高斯算出的那串四层根号拍在读者脸上:

\[\cos\frac{2\pi}{17}=\frac{1}{16}\left(-1+\sqrt{17}+\sqrt{34-2\sqrt{17}}+2\sqrt{17+3\sqrt{17}-\sqrt{34-2\sqrt{17}}-2\sqrt{34+2\sqrt{17}}}\right).\]

其实只要捅破两层窗户纸,普通人也能看懂这四层根号是怎么长出来的:

1. 为什么“直尺和圆规”只认平方根 \(\sqrt{\cdot}\)?

直尺画直线,方程是 \(ax+by=c\)(一次方程);圆规画圆,方程是 \((x-x_0)^2+(y-y_0)^2=r^2\)(二次方程)。求它们的交点,代数上永远只需要做加、减、乘、除和解一元二次方程——求根公式里唯一能制造新无理数的操作就是开平方 \(\sqrt{\cdot}\)!反过来,只要 \(\cos\frac{2\pi}{n}\) 能只靠四则运算和有限次开平方写出来,就一定能用直尺圆规一步步搭出这段横坐标。[4]

2. 高斯怎么把 17 拆成四次“对折”?

先拿正五边形热身:单位圆上 5 个等分点,去掉右端 \((1,0)\),剩下 4 个对称顶点,上下配成两对竖直弦 \(u_1=2\cos\frac{2\pi}{5}\) 和 \(u_2=2\cos\frac{4\pi}{5}\)。因为 5 个顶点均匀围成一圈,重心在圆心 \((0,0)\),横坐标之和 \(1+u_1+u_2=0\),即 \(u_1+u_2=-1\),再算乘积正好也是 \(u_1u_2=-1\)——解一个二次方程 \(t^2+t-1=0\) 就拿到了 \(\sqrt{5}\)!

现在看正十七边形(图 3):去掉顶点 0 后,剩下 \(17-1 = 16 = 2^4\) 个顶点,恰恰能一路对半分到底!

左图展示圆周 17 等分与目标余弦横坐标,右图展示高斯将 16 个对称顶点按 3 的幂次重排后连续对折 4 次,每次只解二次方程 图 3:左图在单位圆上标出 17 等分点,顶点 1 与 16 的共同横坐标即 \(\cos(2\pi/17)\);右图是高斯的降维路线——用模 17 下 3 的幂次把 16 个根排好队,按 \(16\to 8\to 4\to 2\to 1\) 连续对折四次,每折一次只解一个二次方程,刚好套上一层平方根。单独打开图片

高斯把上一节的同余搬了过来:在模 17 下不断乘 3 取余(\(3^0,3^1,3^2,\dots\pmod{17}\)),恰好把 1 到 16 排成一圈循环。隔一个挑一个分成两组各 8 项(记作 \(\eta_0,\eta_1\)),它们的和是 \(-1\)、积是 \(-4\),解第一个二次方程 \(t^2+t-4=0\) 就蹦出第一层 \(\sqrt{17}\);接着把 8 项再对折成 4 项、2 项、1 项,又连解三个二次方程——连续对折 4 次,正好留下那 4 层嵌套平方根!

这也顺手解释了为什么正七边形画不出:\(7-1=6=2\times 3\),对折一次就撞上因子 3,必须开立方根,尺规当场卡死。高斯证明形如 \(2^{2^k}+1\) 的费马素数(目前已知仅 \(3,5,17,257,65537\))都能这样对折作出来;更简洁的具体圆规画法后来由里士满在 1893 年给出。[4]


四、谷神星与最小二乘:为什么非要把误差“平方”?

真正让高斯名震欧洲科学界的,是一颗“刚发现就丢了”的小行星。1801 年元旦夜里,皮亚齐发现了谷神星,但只跟踪了 40 多天、走过约 9 度弧长,它就钻进太阳光芒里不见了。[1] 半年后大家想找回它,预测位置天差地别;唯独 24 岁的高斯交出了一份精准预报——当年 12 月,望远镜对准高斯指出的天区,谷神星几乎分毫不差地停在那里![1] 高斯倚重的工具之一,就是最小二乘法。[1]

回到最朴素的问题:测了 6 个数据点,因为测量有误差,点排不成直线。到底该选哪条线?

  • 让正负误差直接相加等于 0? 不行!一条斜得离谱的废线,只要左边高 \(+10\)、右边低 \(-10\),加起来照样是 \(0\),大错全被正负抵消掩盖了。
  • **让绝对值之和 $$\sume_i$$ 最小?** 虽然不抵消,但绝对值在 0 处有尖锐折角,面对六个轨道参数同时变化的方程很难求导。
  • 把每个误差平方(\(\sum e_i^2\),古称“二乘”)! 正负全变正,离谱的大误差被平方重罚(差 3 倍,代价变 9 倍),而且平方曲线像光滑的碗,求导后直接变成好解的一次方程组。

把横纵坐标按 1:1 等比例画出来,“最小二乘”就有了看得见的几何形状——每段竖直误差都长成一块小正方形,调直线就是让所有小正方形的总面积最小:

左图偏斜直线的 6 个误差正方形总面积达 2.62;右图最小二乘直线把正方形总面积压缩到 0.54 图 4:左右两图使用同一组 6 个演示点,横纵轴严格 1:1 等比例,每个方块的真实面积即误差平方 \(e_i^2\)。左图偏斜直线的方块总面积为 2.62;右图最小二乘最优线(\(y\approx 0.95x+1.13\))把总面积压到了 0.54。单独打开图片

谁先发明了最小二乘? 勒让德在 1806 年的彗星著作附录里最先公开发表并命名了最小二乘法;高斯在 1809 年发表自己的推导时声称自 1795 年起已在用,令勒让德深感不平。[3] 史学界通常承认勒让德的首次发表权,同时认可高斯独立更早应用并将其与正态误差分布结合的贡献。


五、从丈量大地到端披萨:高斯的“绝妙定理”

1818 年起,高斯受命实地测量汉诺威王国的地形。[1] 地球表面是弯的,地图却是平的,这把他引向了一个看似日常却极深的问题:一块弯曲的薄片,什么时候才能不拉伸、不撕裂地铺平?

1827 年(1828 年正式刊印),高斯证明了一条连他自己都忍不住起名叫 Theorema Egregium(“绝妙定理”) 的几何定律。[1][5] 你吃披萨时就能亲手验证它:

平纸片高斯曲率为 0,左右卷起的披萨高斯曲率仍为 0 所以纵向挺直不塌,球面高斯曲率大于 0 所以无法无变形展平 图 5:高斯曲率 \(K = k_1\times k_2\) 是两个主方向弯曲程度的乘积。不拉伸材料时 \(K\) 保持不变:平饼 \(0\times 0=0\),左右捏弯使 \(k_1\neq 0\),为保住乘积为 0,前后方向必须维持 \(k_2=0\)(挺直不塌);而地球表面 \(K>0\),永远无法无拉伸摊平。单独打开图片

在曲面上任取一点,把互相垂直的两个主方向弯曲程度 \(k_1,k_2\) 乘起来,叫做高斯曲率 \(K = k_1\times k_2\)。绝妙定理指出:只要不把薄片拉长、压短或撕裂,无论你在空间里怎么折弯它,每一点的乘积 \(K\) 都绝不改变![5]

  • 端薄底披萨的秘诀:平放的披萨 \(K = 0\times 0 = 0\)。饼皮不拉伸时 \(K\) 必须一直是 \(0\)。当你把披萨左右捏成 U 形(\(k_1\neq 0\)),要想乘积 \(k_1\times k_2=0\),前后方向就只能是 \(k_2=0\)——也就是笔直挺立、尖端绝不下垂! 瓦楞纸和弧形钢卷尺硬挺不折,也是同一个道理。
  • 世界地图为什么必然失真:球面横竖都朝同一侧弯,\(K = 1/R^2 > 0\),不可能变成平面的 \(0\)。因此任何平面世界地图都必然拉伸某些地方(详见本站《墨卡托怎样把地球摊平》)。[5]

小结

回看高斯的五件代表作,它们其实在讲同一件事:

  • 配对求和:把散装加数倒扣成对称长方形;
  • 同余算术:扔掉倍数包袱,只抓余数的有限循环;
  • 正十七边形:用同余重排根的顺序,把 16 次方程连续四次对折成二次方程;
  • 最小二乘法:把正负误差变成正方形面积,让总面积最小;
  • 绝妙定理:抓住不随弯曲改变的内蕴乘积 \(K=k_1k_2\)。

真正的巧算,从来不是手速更快,而是看清了问题背后什么在变、什么一直没变。

参考资料

  1. MacTutor History of Mathematics,Carl Friedrich Gauss 传记:1 到 100 配对故事、1798/1801《算术研究》、正十七边形、1801 年谷神星轨道预测与最小二乘法、汉诺威测地与 1828 年曲面论文。https://mathshistory.st-andrews.ac.uk/Biographies/Gauss/
  2. Wikipedia,Disquisitiones Arithmeticae:全书七章结构、同余定义、与近世代数的渊源。https://en.wikipedia.org/wiki/Disquisitiones_Arithmeticae
  3. MacTutor History of Mathematics,Adrien-Marie Legendre 传记:1806 年首次发表最小二乘法及优先权争议。https://mathshistory.st-andrews.ac.uk/Biographies/Legendre/
  4. Wikipedia,Heptadecagon:1796 年正十七边形可作性证明、尺规可作与平方根表达式的等价性、余弦根式与 1893 年里士满作图法。https://en.wikipedia.org/wiki/Heptadecagon
  5. Wikipedia,Theorema Egregium:高斯曲率在等距弯曲下的不变性及地图投影必有变形的推论。https://en.wikipedia.org/wiki/Theorema_Egregium

说明:本文五幅配图均为原创 SVG,由 python tools/visuals.py build gauss 生成并校验数值(含配对求和、\(2^{100}\bmod 7\)、高斯周期二次方程 \(t^2+t-4=0\) 与 \(\cos(2\pi/17)\) 精度、1:1 比例最小二乘残差平方和,以及高斯曲率不变量)。

本文由作者按照 CC BY 4.0 进行授权