
戈特弗里德·威廉·莱布尼茨,一六四六年七月一日生于莱比锡。父亲是莱比锡大学的道德哲学教授,藏书不少;父亲去世那年他六岁,此后那间书房成了他的玩处。他八岁自学拉丁文,十二岁能用拉丁文写诗,十五岁进莱比锡大学学法律,二十岁在阿尔特多夫拿到法学博士,学校留他做教授,他谢绝了——他要的不是讲台。
他此后四十年的正式身份是:美因茨选帝侯的法院参议、汉诺威公爵的宫廷顾问与图书馆长、柏林科学院的创办人兼首任院长、不伦瑞克家族的家谱官。他一生在马车、候见室、档案馆与信纸上度过,写过上万封信,见过路易十四与彼得大帝,为三个王室做过法律与外交。数学是他在这些差事之间做的事。
可正是这些「之间做的事」,留下了今天每一个学数学的人每天要写的东西:dy/dx 与 ∫f(x)dx。一六七五年十月二十九日,他在手稿上第一次写下那个拉长的 S;九年之后,他把一套完整的微分法则印在莱比锡的学报上。这套记号活了三百年,用它的书比用任何其他数学记号的书都多。
这一册要讲的不是「谁先发明了微积分」——那场争吵在第五幕里讲,讲它怎样耗掉了两个人的晚年。这一册要讲一件更安静的事:符号的形状会决定思想走得动走不动。同样一件事,写成「流数」还是写成 dy/dx,决定了后来一百年英国数学与欧洲大陆数学的差距。
故事层——跟着画面走:莱比锡的一间书房、一辆去巴黎的马车、一张写着长 S 的手稿、汉诺威图书馆的一排书架、一台带摇柄的机器。
数学层——暖金色的框里是这一页真正的数学:差与商的记号、竖条与和、差和互逆、乘积法则、链式法则、弧长与极值。
注疏层——页面下方的小字,标注年代、原文与真伪,给一起读的大人。
一六七二年三月,一辆马车从美因茨出发向西走。车里坐着二十六岁的莱布尼茨,随行一只书箱:几卷法律文书、一本帕斯卡的《致外省人信札》、一叠白纸、几张画着齿轮的图纸。
这趟差事是政治。美因茨选帝侯担心法国东进,派他去巴黎劝说路易十四:与其在莱茵河上跟德意志诸邦纠缠,不如去取埃及。这个主意是莱布尼茨自己写的,一份不长的备忘录,把运河、航线、季节风都算了进去。他想用一场远处的战争换掉一场近处的战争。
路易十四没有采纳。这份备忘录在档案里躺了两百年,拿破仑远征埃及时被人翻出来,惊呼「这是个天才的构想」——不过那已经与莱布尼茨无关了。
差事失败,人却留了下来。巴黎当时是欧洲科学的中心:惠更斯在,王家科学院的院士们在,帕斯卡刚去世十年,他的手稿还在被人传抄。莱布尼茨原本只打算待几个月,结果待了四年半。
这四年半里他自修完了当时的全部高等数学。他没有老师,只有几本书和几位愿意跟他说话的人:惠更斯教他看摆线的性质,一位公爵给他看帕斯卡未刊的算迹,他自己把笛卡尔的几何与费马的极值一遍遍重做。四年半之后他离开巴黎时,手里已经有了那样东西——一套能把「切线」与「面积」写成算式的记号。
把一条曲线画在纸上,立刻能问两个问题。
第一问:在某一点,这条线有多陡?——陡,是一条直线的性质:横着走一格,竖着升几格。曲线每一处的陡都不一样,所以得问「在某一点」。回答它的那条线叫切线。它的用处很多:镜子要把光反射到哪里,炮弹在某一刻往哪个方向飞,山坡上某处的坡度够不够修一条路。
第二问:这条线与底线之间夹的那块地有多大?——这块地叫「曲线下的面积」。回答它的用处同样多:船在水里排开多少水(那是一个被曲线围住的体积),一块形状古怪的地有多少亩,一个变速运动的物体走了多远(距离是速度曲线下的面积)。
这两个问题看起来毫无关系:一个是「一点上的陡」,一个是「一整块的多少」。古希腊人把它们分开来做,做了两千年。
阿基米德用穷竭法算出抛物线弓形是外接三角形的三分之四;开普勒算酒桶的体积,把桶切成无数薄片;卡瓦列里说线由点铺成、面由线铺成,把「无数个不可分的东西加起来」当成一种算法;费马找极值,让增量先来后走;巴罗在剑桥的讲义里画出了切线与面积的关系,却没看出这是一件事的两面。
缺的不是勇气,是一件东西:一套记号,能把这个「让增量来一下再走」的动作写得像加法一样顺手,并且写完之后,下一步该怎么做会自己浮出来。
同一个数,写成「MDCXV」还是写成「1615」,在纸面上占的地方差不多。可要把它乘上「LXIV」,两种写法的差别就是一天与一刻钟的差别。罗马数字没有位值,竖式乘法无从下手,只能靠算盘或者一张对照表;阿拉伯数字把「位置」变成了信息,于是乘法可以按位进行,进位可以写成小字,整套算法能在纸上自动跑下去。
这不是算术的进步,这是写法的进步。写法一变,能算的东西就变了:账簿、天文表、航海表,都是跟着位值记数法普及开来的。
记号至少做三件事。
省力:把一长串想法压缩成一个符号,眼睛一扫就过,不必每次都在心里重述一遍。
防错:好的记号自带检查。竖式乘法里每一位对齐,错了位一眼看得出;写成一句话就看不出来。
提示下一步:这是最要紧的一条。有些符号的形状,会把下一步运算摆在眼前——像 dy/dx 写成除法,就自然让人想「两边同乘 dx」;像 ∫ 写成一条拉长的 S,就自然让人想起「这是求和」。
莱布尼茨一生只在这第三件事上用力。他相信,人类争吵多、算得少,是因为缺少一套写得好的符号;如果一切概念都能化成符号,把推理变成按规则变形,那么两个哲学家吵架时,只要各自拿出笔来,说一句「让我们算一算」。
莱比锡的冬天长。一六五二年,六岁的戈特弗里德失去了父亲,家里那间书房却留了下来。父亲是大学里的道德哲学教授,一生买书,架上从罗马法到神学、从亚里士多德到当时的天文表,一排排立着。
家里的规矩是:孩子不许乱动那间屋子。他后来回忆,自己是从门缝里挤进去的——先把一本书抽出来,看完,原样插回去,看第二本。八岁那年他已经读完了大部分拉丁文著作,包括一些本来不该给这个年纪看的:古罗马的史家、教会的辩论集、还有几本诗。
十二岁那年他做了一件让自己得意的事。学校里教的亚里士多德三段论,他觉得不好用,于是写了一篇小文,主张把判断的「量」用数字与符号标出来,让推理变成一种可以照着做的算法。文题稚气,方向却已经定了:他想给思维造一台符号的机器。
十四岁他进莱比锡大学,学的是法律与哲学。法律这门学问在当时被当成「关于理由的技术」:一堆条文,加一堆解释,最后要判一个案子。莱布尼茨学得很好,后来一辈子靠它吃饭;可他心里始终觉得,法律之所以要辩论,是因为条文写得不清楚——如果每一条都能写成精确的式子,法官就不必「权衡」,只需计算。
这个念头陪了他一生。他二十岁写的博士论文讨论「疑难案件」,三十岁写的备忘录讨论法典编纂,五十岁写的信里还在说:要有一门「普遍的文字」,让所有学科的概念都能无歧义地写下来。他没能造出那门文字,但他在造它的过程中,顺手造出了一样真正管用的东西——一套写「变化」的符号。
莱布尼茨二十岁那年写了一本书,叫《论组合术》。书里有一个大胆的想法:把所有基本概念编号,让每一个复杂概念由基本概念的编号「乘」出来,于是任何两个概念的比较、任何一句话的真假,都可以化成数字的运算。
这套东西他后来叫「普遍文字」(characteristica universalis):一种写下来谁都不会误解的符号系统。配套的还有一件东西,他叫「推理演算」(calculus ratiocinator):一套只按形状变形、不问含义的规则,像算术一样,从前提推到结论。
两者合起来,就是他那句著名的话的底气:两个哲学家吵架,不必动武,只须各自拿起笔,说一声「让我们算一算」。
这个梦没有做成。二十世纪的人证明了它做不成:任何足够丰富、能表达算术的符号系统,都存在系统内既不能证明也不能否证的命题(哥德尔,1931);而「无歧义」这件事本身,也不是靠设计符号就能一劳永逸的。可这个梦的副产品做成了一大半:数理逻辑、形式语言、程序语言、计算机本身,都是「把推理写成符号、让符号按规则跑」这条路上的东西。
而在这条路上,他最早做成的一件小东西,就是 dx 与 ∫。它们的成功恰好证明了他的信条:符号不是思想的衣服,符号是思想的车轮。
十进制之所以方便,只因为我们有十根手指。数学本身并不偏爱十。莱布尼茨在巴黎时想过一件事:如果只用两个数字 0 与 1,会怎样?
答案很不寻常:一切照旧,只是更长。0 是 0,1 是 1,2 写 10,3 写 11,4 写 100,5 写 101,6 写 110,7 写 111,8 写 1000。每往左一位,值翻一倍。
他喜欢这套写法,理由却不是「便于计算」——恰恰相反,二进制写起来冗长,算起来并不快。他喜欢它,是因为它把「有」与「无」摆到了最干净的位置:每个数都由 0 与 1 组成,加法的进位规则只有一条,乘法表只有四行(0×0、0×1、1×0、1×1)。一个世界可以从「一」与「零」里长出来。
他还发现了一件让他兴奋的事。一七〇一年,在北京的耶稣会士白晋给他寄来一张图:北宋邵雍的「先天六十四卦图」,六十四卦按阴阳爻的次序排成一个方阵。莱布尼茨一看就认出:如果把阴爻记作 0、阳爻记作 1,那么六十四卦恰好就是 0 到 63 的六位二进制数,从坤(000000,零)到乾(111111,六十三),一个不多、一个不少。
他把这件事写进论文,附上对照表。在他看来,这证明了二进制不是欧洲人的新发明,而是人类在两处各自摸到过的同一个真理——他甚至在信里说,这或许是古人早已知道、后来失传的东西。
一六五九年,一个德国人在书里做过一次比较:把同一个乘法用罗马数字与阿拉伯数字各算一遍。前者靠对照表,一行一行查,查错一次从头再来;后者按位对齐,乘、加、进位,像一台机器那样一格一格推过去。
莱布尼茨把这件事看得比大多数人重。他认为,人类之所以在很多事情上争不出结果,不是因为不够聪明,而是因为所用的语言与符号漏掉了信息:句子写出来,条件藏在语气里,前提靠上下文补,于是两个人读同一句话,脑子里是两个不同的命题。
好的记号应当像一台机器:把输入放进去,按规则转,输出自然会掉出来。规则写在形状里,不必靠记性。他甚至设想,将来若有争论,两人只需说「让我们算一算」,然后各自按规则变形,谁的式子先推不下去,谁就认输。
这个标准很高。用这把尺子去量当时的数学,会发现一个奇怪的现象:代数已经写得不错(x、y、=、根号都是新东西),可是「变化」这件事,还没有一个像样的写法。牛顿用一个小点表示「变化率」,那个点浮在字母上方,一旦要算二阶、三阶,就变成两个点、三个点,越写越乱;而要算「许多小东西加起来」,就只好用文字说「所有这些的和」。
莱布尼茨决定从这里下手:先造符号,再算题。这个次序,与牛顿正好相反。
一六七六年冬天,莱布尼茨从巴黎绕道伦敦、荷兰,回到德意志,在汉诺威停下。这一停就是四十年。
他的头衔是宫廷顾问兼图书馆长。图书馆在城边一幢旧楼里,书不算多,编目混乱,几任馆长都没理清。他来了以后做的第一件事是给书编目:按学科、按年代、按来源,一册一册写卡片。这件事他做了很多年,做到晚年还在做——因为他把图书馆当成一件「可以设计的机器」:书怎么排,决定了人能不能找到它。
图书馆长只是他众多差事里的一项。他替公爵管法律、管铸币、管道路;替不伦瑞克家族查家谱,为了证明这个家族与意大利的埃斯特家族同源,他跑遍了德意志与意大利的档案馆,翻了几千份中世纪文书,最后写出一部厚厚的《不伦瑞克家族源流考》——这本书今天还被史学家引用,因为他在里面发明了用文书字体与用纸断代的方法。
他还管过哈茨山的银矿。矿里排水靠风车,风车常坏,他设计过一种改良的传动,写了报告,矿上没采纳。他算过公国的年收入,建议过统一税制,起草过保险方案。他甚至在汉诺威推行过一种「公共消防」的构想。
这些差事占去了他大半生的白天。数学与哲学只能挤在夜里与旅途上:在马车上写,在候见室里写,在等公爵起床的时候写。他一生写了上万封信,与全世界六百多人通信;他的很多数学成果,最初就出现在这些信里,而不是论文里。
这也是他后来吃亏的地方:他习惯把想法先写在信上,把发表推到「有空的时候」。而那个年代,先发表的人才有名字。
一六七三年春天,莱布尼茨在伦敦住了两个多月。他带着自己造的计算器去皇家学会演示,见到了胡克、见到了奥尔登堡,也读到了巴罗的《几何讲义》。他后来回忆,那几周里他「把英国人的做法看了一遍」。
英国人当时的做法是牛顿的:把一个量随时间的变化率叫「流数」,在字母上方点一个点;把随时间流变的量叫「流量」。求变化率叫「求流数」,反过来叫「求流量的流数」——后者其实就是求面积。方法极其有力,可符号极其不便:二阶变化率写成两个点,三阶写成三个点,要写「x 的三阶流数对 y 的二阶流数之比」,纸上就是一片点。
莱布尼茨走的是另一条路。他不在「时间」上做文章,而是在「两个相邻的值之差」上做文章:取一个无穷小的增量 dx,看函数随之产生的增量 dy,两者之比就是切线斜率。他把这个比写成 dy/dx——写成分数。
这一笔是决定性的。写成分数,它就可以像分数一样约分、移项、两边同乘;要算二阶,只需再取一次差,写成 d(dy)/dx2;要换一个变量,只需把 dy 展开成 (dy/du)du,链条自己接上。牛顿的点做不到这些,因为点只是「标记」,不是「可运算的东西」。
两条路都能到终点,可路上花的力气相差极大。这不是聪明程度的差别,是工具形状的差别。
第一幕讲的是「一个人为什么先造符号、再算题」,账清一清。
他的本行不是数学。法律、外交、图书馆、家谱、矿务,四十年里这些占了大半时间;数学是他在马车与夜里做的事。
他有一个大梦。把一切概念写成无歧义的符号,把推理化成按规则的变形,于是争论可以变成计算。这个梦没做成,可它的副产品改变了世界。
他偏爱「干净」的写法。二进制只用 0 与 1,写起来长,可是规则最少;他甚至从《易经》的六十四卦里看到了同一个结构。
他与牛顿走了两条路。一个在「时间」上取变化率,用点标记;一个在「相邻值」上取差,写成分数。形状不同,后来越走越远。
二进制:(an…a1a0)2=Σak2k。例:1011012=32+8+4+1=45。
微分记号:dy/dx 是「y 的差」与「x 的差」之比;d 与 ∫ 是一对逆运算。
卦象对应:六爻自下而上读,阴=0、阳=1,得六位二进制数;坤 =0,乾 =63。
一六七五年十月二十九日,巴黎,莱布尼茨在纸上算一个求和的问题。他先在式子的前面写了一个「omn.」——omnia 的缩写,意思是「全部」;写了几行,觉得碍眼:这个缩写占地方,又看不出「一直加到无穷」这层意思。
他换了一个办法:把拉丁文 summa(和)的首字母 S 拉长,写成一条竖着的弧。这个形状有两点好处:一是仍然认得出「这是求和」,二是它可以带上标与下标,像括号一样把范围圈住——从哪儿加到哪儿,一目了然。
手稿上留着这个改动:一行「omn.」,划掉,旁边写着那个拉长的 S。两个星期后,十一月十一日,他第一次把两个符号并在一起写:∫f(x)dx。左边是「把这些加起来」,右边是「每个小东西有多大、有多宽」。
他当时并不知道这个符号会活多久。他只是觉得,这样一来,「求面积」这件事在纸上就有了一个统一的样子:不管曲线是什么,都写成 ∫ 加一个被加的东西。
同一年他还在纸上试了另一个符号:一个拉长的 d,用来表示「差」。这两个符号是一起出生的,它们是一对——一个说「把整体切成小片」,一个说「把这些小片加起来」。
三百五十年过去,全世界学微积分的人,第一节课就在写这两个符号。它们的形状几乎没有变过。
先把「切线」变成一个可以算的东西。曲线 y=x2,取一点 x,让它往前走一小步 dx。函数值也跟着变,变成 y+dy。
把它代进式子:
y+dy=(x+dx)2=x2+2x·dx+(dx)2
两边减去 y=x2:
dy=2x·dx+(dx)2
两边除以 dx:
dy/dx=2x+dx
到这里,莱布尼茨做了一个大胆的动作:把 dx 扔掉。理由是:dx 是无穷小,(dx)2 是「无穷小的平方」,比它小得多,小到可以不计。于是
dy/dx=2x
这就得到了切线斜率。用数验一下:取 x=3,dx=0.01,真实增量 3.012−32=0.0601,除以 0.01 得 6.01;公式给 6,误差 0.01——正是被扔掉的那一项。
这个「扔掉」的动作,后来被贝克莱主教嘲笑为「消失之量的鬼魂」;十九世纪的人用极限把它重新说清楚。可它算出来的答案,一次也没错过。
反过来看另一件事:曲线 y=x2 下面、从 0 到 1 之间的那块面积有多大。
办法很朴素:把这块地竖着切成许多细条。每条宽 dx,高是那个位置的函数值 x2,于是每条的面积是 x2dx。把所有条加起来,就是总面积——这正是 ∫ 的意思。
真算的时候,切成有限的 n 条,取每条左端的高度:
Sn=(1/n)·[(0/n)2+(1/n)2+…+((n−1)/n)2]=(12+22+…+(n−1)2)/n3
用平方和公式 12+…+k2=k(k+1)(2k+1)/6,取 k=n−1,得
Sn=(n−1)n(2n−1)/(6n3)
当 n 变大,这个值趋向 2/6=1/3。实测:n=10 得 0.285,n=100 得 0.32835,n=1000 得 0.332834;真值 0.333333。切得越细,和越靠得近——这就是「面积是一个极限的和」。
若取每条中点的高度,收敛快得多:n=10 已是 0.3325。这一点后来变成一个实用技巧:算数值积分时,中点法比左端点法准一倍。
把上面两页并起来看,会发现它们是一件事的两个方向。
求面积,是把无数细条加起来:∫f(x)dx。求切线,是取一个差:dF/dx。如果 F 正好是「f 下面的面积」,那么面积的差就是细条:
d(∫f(x)dx)=f(x)dx
反过来,差的和就是原函数(差一个常数):
∫dF=F+C
于是「求面积」不必再一条条加,只要找一个函数,使它的差等于给定的 f。这个动作叫「反微分」。例:要找 x2 下的面积,试 x3/3:它的差是 (3x2dx)/3=x2dx,正对。
所以 ∫01x2dx=[x3/3]01=1/3。一页纸,不用切条,不用求和公式。
这条互逆关系,今天叫微积分基本定理。牛顿与莱布尼茨都独立看到了它,看到的方式不同:牛顿从一个「运动的量」的瞬时速度与总路程看出来;莱布尼茨从「差」与「和」的符号对称看出来——d 与 ∫ 就像一对括号,一个开,一个合。
帕斯卡留下过一张图。在一段曲线上取一点,画它的切线,再从这一点向下、向右各引一道极短的线,与切线围成一个小三角形。他管它叫「特征三角形」。
这个小三角形之所以重要,是因为它同时装着三件事:横的一边是 dx,竖的一边是 dy,斜的一边是曲线上一小段的长度 ds。于是勾股定理立刻给出
ds2=dx2+dy2
两边除以 dx2:(ds/dx)2=1+(dy/dx)2,所以
ds=√(1+(y′)2)·dx
整条曲线的长,就是把这些小斜边加起来:
L=∫ab√(1+(y′)2)dx
这是莱布尼茨最得意的一个结果。在他之前,曲线的长度只能用「内接折线取极限」来逼近,实际算不出来几条;有了这个式子,弧长变成一个积分,只要能反微分就能算。他 1686 年在学报上用它算了好几条曲线,包括摆线与悬链线。
更妙的是这个三角形的「可放大」:把整张图放大十倍,小三角形还是相似的,dy/dx 不变。也就是说,切线斜率是一个「局部」的量,与放大倍数无关——这正是「导数」这个概念的核心。
一六八四年十月,莱比锡的《学者学报》上登了一篇文章,题很长:《求极大与极小以及切线的新方法,对分数与无理量同样适用,以及这一方法的奇特算法》。作者署名「G. G. L.」,全文只有六页。
这六页里没有一句解释「无穷小是什么」。它上来就给规则:
和的差等于差的和;常数没有差;d(xn)=nxn−1dx;乘积的差是 xdy+ydx;商的差、根式的差,各有公式。然后它演示:给定一条曲线,怎样一步写出切线;怎样令 dy=0 求出极大极小;怎样求拐点。
这篇文章的写法,在当时是罕见的。笛卡尔与费马的文章都要先讲几何、再讲道理;莱布尼茨直接给算法,像给一份操作手册。他的理由很清楚:如果一套规则确实能算,先让人用起来,比先说服他更容易。
两年后,一六八六年,他在同一份学报上发表《深奥的几何》,把反方向的那一半补上:∫ 的用法、面积、弧长、旋转体体积。两篇文章合起来,就是一套完整的微积分——只是全部加起来不到三十页。
《学者学报》是莱比锡的刊物,他本人参与创办并长期供稿。这一点后来被对手抓住:有人说他「在自己的刊物上发自己的文章」。可当时欧洲的数学刊物就那么几家,英国的《哲学汇刊》不登外国人的长文,巴黎的《文集》审查慢,他要让方法尽快传开,只有在莱比锡。
第二幕讲「两个符号是怎么生出来的」,账清一清。
切线是差。让 x 走一小步,看 y 走多少;两步的比就是斜率。高阶的小量扔掉,答案就干净了。
面积是和。把面积切成细条,条宽 dx、条高 f(x),加起来。切得越细,和越准。
两者互逆。差的积分回到原函数(差一个常数),积分的差回到被积函数。于是算面积不必再加,找一个反微分即可。
一个三角形管三件事。横边 dx、竖边 dy、斜边 ds:勾股定理给出弧长公式,也给出「斜率与放大无关」这一关键性质。
差:d(xn)=nxn−1dx;d(xy)=xdy+ydx;d(x/y)=(ydx−xdy)/y2。
和:∫xndx=xn+1/(n+1)(n≠−1);∫dx/x=lnx。
互逆:d∫fdx=fdx;∫abfdx=F(b)−F(a)。
那六页纸最初没多少人读。德国的数学家少,法国的还在用费马的老办法,英国的看不见——他们有自己的东西。
转机是两个人:巴塞尔的伯努利兄弟。哥哥雅各布在大学教实验哲学,弟弟约翰原本学医,读了莱布尼茨的文章,跑去跟哥哥学数学。兄弟俩把那些规则一条条试,试出了许多新结果,也试出了许多新问题。他们写信给莱布尼茨,问,莱布尼茨回信,一往一复二十年。今天微分方程里那几个有名的方程,一半出自这段通信。
一六九六年,巴黎出了本书:《无穷小分析》,作者洛必达侯爵。书里把约翰·伯努利的讲义整理成册,讲清了 d 与 ∫ 的用法,还收了那个有名的「洛必达法则」。这本书是欧洲第一部系统讲微积分的教科书,一出版就被抢读——因为它写得像教科书:定义、定理、例题、习题。
莱布尼茨的记号就这样传开了。传开的路径是这样的:一篇文章给几个内行看,几个内行通信,通信的内容变成讲义,讲义变成教科书,教科书变成一代人的习惯。等到人人都用 dy/dx 的时候,它已经不需要谁去推广了。
而牛顿那边,方法更强、记号更难。英国人守着点记号,守了一百多年——这件事在第四幕末尾算账。
先算一个乘积的变化。u=xy,两个因子各自走一小步:
(x+dx)(y+dy)=xy+xdy+ydx+dxdy
减去 xy,得 du=xdy+ydx+dxdy。最后那一项是两个「小」相乘,比其余两项小一个数量级,扔掉:
d(xy)=xdy+ydx
这条规则有一张图可以看。画一个长 x、宽 y 的矩形,把它加宽 dx、加长 dy。新多出来的部分是两条长条(一条 x·dy,一条 y·dx)加角上一小块(dx·dy)。角上那块最小,扔掉的正是它。
用数验:x=3、y=5、dx=0.001、dy=0.002。真实的乘积增量是 3.001×5.002−15=0.011002;公式给 3×0.002+5×0.001=0.011;差 0.000002,正是被扔掉的那一小块。
这条规则的意义超出它本身。它说明「扔掉高阶小量」不是耍赖,而是一个可控的近似:扔掉的东西有多小,可以算出来,也可以估出来。整个微分学就建立在这个可控性上。
记号最厉害的地方,是它会把下一步替人想好。看这个式子:
dz/dx=(dz/dy)·(dy/dx)
这是链式法则。它之所以能被「看出来」,是因为右边两个 dy 可以像分数一样约掉——形式上像 (3/5)·(5/7)=3/7。当然,dy 不是数,这种「约分」严格说需要证明;可它指对了方向,让人一步就写出正确的式子,然后再去补证明。
例:z=√(a2+x2)。令 y=a2+x2,则 z=y1/2,于是
dz/dx=(1/2)y−1/2·2x=x/√(a2+x2)
验一下:a=3、x=4,导数应为 4/5=0.8。取 dx=0.001,真实增量 √(9+4.0012)−5=0.000800,除以 0.001 得 0.800,对上了。
同样的「形式运算」还能推出隐函数求导。圆形 x2+y2=25,两边取差:2xdx+2ydy=0,于是 dy/dx=−x/y。在点 (3,4) 处斜率是 −3/4——不用解出 y,不用分正负号,一步到位。
这就是「记号自己会往前走」的意思:它不代替思考,但它把每一步的写法摆好,让人少走弯路。
d 一旦能算,就会自己繁殖。
再取一次差,得二阶。d(dy)=d2y,除以 dx2 得 d2y/dx2。它的意义是「斜率的变化率」:位置的一阶差是速度,二阶差是加速度。莱布尼茨用它判断曲线的凹凸:d2y>0 向上凹,<0 向下凹,等于 0 处是拐点。
变量多于一个,得偏。曲面 z=f(x,y),可以让 x 动而 y 不动,也可以反过来。两个「偏」的差各写一个,合起来是全微分:
dz=(∂z/∂x)dx+(∂z/∂y)dy
例:z=x2y,则 ∂z/∂x=2xy、∂z/∂y=x2,在 (2,3) 处 dz=12dx+4dy。验一下:走 (2.001, 3.002),z 从 12 变成 12.020012,增量 0.020012;公式给 12×0.001+4×0.002=0.020,差 1.2×10−5,是二阶小量。
符号的来历。莱布尼茨自己写 d,不分偏全;今天用的那个圆头的 ∂ 是后人(一般归于 1776 年勒让德)为区分「偏」而造,取的是法文 d 的草体。记号又多了一层:看见圆头,就知道「别的变量按住不动」。
一六七三年一月,伦敦,皇家学会的例会上,一位二十七岁的德国人抬进一台木匣子。
匣子面上有一排小窗口,每个窗口里能看见一个数字;侧面有一支摇柄。他摇动摇柄,窗口里的数字开始进位,一路进到最左边,没有卡住。他做了一次乘法,又做了一次除法,结果都对。屋里的人围过来看。
当时会算的机器只有一种:帕斯卡三十年前造的那台,能加能减,不能乘除。乘除要靠连加连减,一百次乘法要摇一百次,实际没法用。莱布尼茨的机器换了一个思路:他造了一种带阶梯的圆柱(后人叫「步进鼓」),圆柱转过的角度决定「这一位要加几次」,于是乘一个多位数只要摇几下;除法用反向的减法,也只要几下。
这台机器的核心部件,是十七世纪机械技术的顶点之一;它比帕斯卡机晚三十年,却真正解决了乘除。莱布尼茨为它花了二十年,造了两台,一台留在汉诺威,一台送皇家学会。今天的计算机里,乘法器仍然在做同一件事:把「加几次」变成一个可以一次完成的动作。
他造机器与造记号,是同一件事的两面。他相信思维可以机械化,于是手工造一台会算的机器;他相信符号可以机械化,于是在纸上造一套会自己往前走的记号。前者花了铜与齿轮,后者只花了墨水——后者赢了。
为什么是这两个形状,而不是别的?
先说 ∫。它是一条拉长的 S,取自 summa(和)。这个形状有两个好处:够高,所以能在右边写被加的东西,在上下角写范围;够窄,所以一行里能并排写好几个。如果当初他选的是一个「Σ」——同样是求和——今天的式子会写成 Σf(x)Δx,也能用,但上下标会和被加项打架。选了拉长的 S,范围写在角上,被加项写在右边,互不干扰。
再说 d。它是 differentia(差)的首字母,写得小而斜,贴在被差的那个量前面:dx、dy、d(xy)。这个位置很讲究:它像一个前缀,读作「这一点点的」;于是 dy/dx 念出来就是「y 的一点点除以 x 的一点点」,意思与写法完全对上。
后人又在这两个形状上加了几层:二重积分写两个 ∫∫,沿闭曲线的积分加一个圈 ∮,偏导把 d 改成圆头 ∂,变分把 d 改成 δ。加得很自然,因为原形状留了位置。
这就是好记号与坏记号的区别:坏记号用到第三步就得改,好记号可以一直往上加层,加三百年还不别扭。
第三幕讲「一套记号怎样自己长起来」,账清一清。
基本规则只有几条。和、幂、乘积、商、根。有这几条,一切由它们拼出来的式子都能算。
高阶与偏导是自然延伸。再取一次差得二阶,多一个变量得偏导,合起来是全微分。同一套 d 管到底。
链式法则靠形状提示。两个 dy 像分数一样约掉,方向就对了;严格证明留给后人。
机器与记号是一件事。一台会乘除的机器证明了「运算可以机械化」;一套会自己走的记号证明了「思考也可以借机械之力」。
乘积:d(uv)=udv+vdu;商:d(u/v)=(vdu−udv)/v2。
链式:dz/dx=(dz/dy)(dy/dx);隐式:F(x,y)=0 ⇒ dy/dx=−Fx/Fy。
高阶与全:d2y/dx2;dz=zxdx+zydy。
一六八七年夏天,《自然哲学的数学原理》在伦敦出版。书很贵,印数不多,读完的人更少——全书用几何写成,命题、证明、推论,一环扣一环,没有一句「因为所以」之外的说明。
书到汉诺威时,莱布尼茨正在旅行。他拿到书,读得很仔细,还写了一篇书评登在《学者学报》上。书评里他称这部书「把数学用到了自然上」,也指出其中若干论证「过于简省」。
他给惠更斯写信,说这部书「值得一读再读」,说作者「在几何上有非凡的力量」。他没有说的一句话是:这本书里的东西,有一大半他自己也做到了,只是没有写成书。
两个人的方法确实不同。牛顿的路是从物理到数学:先有运动、有引力、有「月亮为什么不掉下来」这个问题,然后用几何把它证出来。莱布尼茨的路是从符号到符号:先有一套能运算的记号,然后用它把一类问题一次算完。
用他自己的比喻:牛顿给了他一支望远镜,他给了后人一套镜片的磨法。望远镜能看得很远,磨法能让每个人都造一支。
这句话后来被证明是对的。十八世纪的数学,几乎全部是用他那套记号写出来的:欧拉、达朗贝尔、拉格朗日、拉普拉斯,没有一个人用点记号。
拿一个看似简单、其实很深的面积:曲线 y=1/x,从 x=1 到 x=2 之间那一块。
切成 n 条,取每条右端的高度,加起来:n=10 得 0.718771,n=100 得 0.695653,n=1000 得 0.693397。若取梯形,n=10 就是 0.693771,n=100 是 0.693153。这个数收敛到
∫12dx/x=ln 2=0.693147…
为什么是「对数」?因为这条曲线有个特别的性质:从 1 到 2 的面积,等于从 2 到 4 的面积,也等于从 4 到 8 的面积。把横轴按倍数拉伸,面积不变——这正是对数「把乘法变成加法」的几何版本。十七世纪的人先算出这些面积,才发现它们与对数表上的数一一对应;一六六八年墨卡托把 1/(1+x) 展开成级数,对数才有了独立的算法。
莱布尼茨在这里用的技巧是「部分分式」与「换元」:∫dx/x 不能靠幂法则(因为 n=−1 时公式分母为零),只能另找一条路。他给出的答案是 lnx,并注明这是「幂法则唯一的例外」。
这条小小的例外后来长成了一个大科目:∫dx/x 出现在复利、放射性衰变、声强级、信息量、算法复杂度里。它是「自然」对数之所以「自然」的原因。
再算一件古人也想算、却几乎算不动的事:曲线有多长。
古人的办法是「以直代曲」:在曲线上取许多点,用短直线连起来,量折线的长;点取得越密,折线越贴近曲线。这个方法能逼近,却给不出式子——每换一条曲线,就得重做一遍。
莱布尼茨用那个小三角形把它一次解决。曲线 y=x2,从 0 到 1:y′=2x,于是
L=∫01√(1+4x2)dx
这个积分有闭式:换元 2x=sinh t,得
L=(√5)/2+(1/4)ln(2+√5)=1.478943…
数一下:折线逼近 n=10 段得 1.478197,100 段得 1.478935,1000 段得 1.478943,与闭式一致。而「折线」这条路要走一千步,「积分」这条路只走三步:写式子、换元、代值。
更值得注意的是这个式子的形状:√(1+(y′)2) 里藏着一个勾股定理。它说的是一件很朴素的事:曲线的一小段,可以看成一个直角三角形的斜边。整个微分几何,从这个三角形开始。
莱布尼茨 1686 年用它算了好几条曲线:摆线、悬链线、对数螺线。其中悬链线(一根链子两端悬挂自然下垂的形状)最难,他、惠更斯与约翰·伯努利三人各给一解,答案里都出现了同一个函数——双曲余弦。
极值问题,是这门新算法最早的应用,也是它最像「魔法」的地方。
山顶有一个性质:那里的切线是水平的。写成式子就是 dy=0。于是「找最大最小」这件要靠几何直觉的事,变成一个解方程的动作:令导数为零,解出 x。
例一:y=x2(1−x)=x2−x3。
dy=(2x−3x2)dx=0 ⇒ x=0 或 x=2/3
x=0 处是最小(值为 0),x=2/3 处是最大,值 (4/9)(1/3)=4/27≈0.148148。若用算术验:x=0.66 得 0.148104,x=0.67 得 0.148163,都小于 4/27。
例二:用一根长 L 的绳子围一个矩形,怎样围面积最大?设一边为 x,另一边为 L/2−x,面积 S=x(L/2−x)。dS=(L/2−2x)dx=0 ⇒ x=L/4,即四边相等,是正方形。答案古人也知道(等周问题),可从没有人能这么干脆地写出来。
例三:更硬的一道——最速降线。两点之间,什么形状的滑道能让小球下滑得最快?直觉说直线,可答案是摆线。这道题 1696 年由约翰·伯努利公开提出,半年无人应;莱布尼茨回信说「这题值得一算」,一天之内给出答案。解法里第一次出现了「对整个函数求极值」的想法——这是变分法的种子,第三十五页再讲。
争吵从一六九九年起。瑞士人法蒂奥在皇家学会的一次会上说:莱布尼茨的第二套微积分,是从牛顿那里抄的。话说得直,没有证据。
莱布尼茨当时没有大反应。真正的火是一七〇五年点起来的:他在《学者学报》上评论牛顿的《光学》,顺手写了一句,说牛顿的流数「与我的微分法无异」。英国人群起而攻。一七〇八年,凯尔在《哲学汇刊》上正式指控他抄袭。
一七一一年,莱布尼茨向皇家学会提出申诉,要求学会制止这种指控。这一着走错了。学会当时的会长是牛顿。学会成立了一个委员会,委员会的报告《书信汇编》于一七一二年出版,把两人从一六七〇年代起的通信按时间排出,结论是:牛顿在先,莱布尼茨在后。报告没有直接说「抄」,可全欧洲都这么读。
莱布尼茨要求答辩,学会不予。他只能自己印一份小册子散发,一七一三年,匿名的《飞叶》(Charta volans),措辞激烈,反而坐实了他「不服」的形象。三年后他去世,争到最后一封信,也没争出结果。
从这一边看,事情的形状是这样的:他确实晚于牛顿想到,也确实早于牛顿发表;他确实读过牛顿的信(一六七六年那两封,里面有字谜),也确实说过「我用另一种写法得到了同样的结果」。这三件事同时为真,于是两百年里谁也说服不了谁。数学史上最消耗人的一场争论,起因不是谁抄了谁,而是「发明」这件事有两个不同的时间:想到的时间,与发表的时间。
争吵的胜负,最后不是由委员会判的,是由学生的作业本判的。
十八世纪,英国大学里教的是点记号。学生要算一个三阶导数,得在字母上方点三个点;要写一个偏导,得另造一套;要算重积分,几乎没有写法。教师们也习惯了,就这么教了一百年。
欧洲大陆用的是 d 与 ∫。同样的题,写起来短一半,变形起来顺得多;一个式子从一页搬到另一页,符号不必重造。学生学得快,算得远,问题也就问得更深。
差距在十九世纪初显出来了。剑桥的几个学生——巴贝奇、赫歇尔、皮科克——发现英国的数学期刊里,几乎没有人能读懂大陆的论文;他们翻出大陆的教科书,发现原因在记号上。一八一二年,他们成立了一个小组,起名「分析学会」,宗旨写得很直白:推广莱布尼茨的记号。他们把自己做的事叫作「把英国从点号的束缚里解放出来」。
一八一七年,剑桥的考试正式改用 d 记号。此后英国的数学慢慢追上来——追了差不多五十年。
这场一百多年的弯路,用的不是一个人的聪明,而是一个符号的形状。英国人并不笨,牛顿更不笨;他们只是把一套不便运算的写法,当成了传统的一部分。
第四幕讲「拿这套记号去算」,账清一清。
面积。∫12dx/x 收敛到 ln2:切一千条得 0.693397,真值 0.693147。这个积分是「自然对数」的来源。
弧长。小三角形给出 √(1+y′2),一条抛物线的弧长从「量一千段折线」变成「算一个积分」,值 1.478943。
极值。令 dy=0,山顶与谷底变成方程的解。最速降线把「对一个函数求极值」的问题摆上了台面。
争吵与弯路。一场争论耗掉两人晚年;一套记号让英国数学落后一百年。工具的形状,最后变成学科的速度。
对数积分:∫1xdt/t=lnx;∫dx/x=ln|x|+C。
弧长:L=∫√(1+(y′)2)dx;极坐标 L=∫√(r2+(r′)2)dθ。
极值:f′(x)=0,再以 f″ 定极大极小。
一七一四年,汉诺威的选帝侯到英国去做国王,成为乔治一世。宫廷上下都跟去了伦敦,莱布尼茨留下——他六十多岁,痛风,走不动;公爵临走时交代他一件事:把那部家族史写完。
那部书写了三十年,越写越长,因为他每查到一份文书就要追问它的来历,每追一次就写出一篇考据。到最后,书没写完,考据倒是写了一屋子。
伦敦那边没有人叫他去。有人说是因为他与王后的旧怨,有人说是因为那场争吵让英国人不喜欢他。他自己写信去问过,没有回音。
一七一六年夏天,他的腿肿得厉害。十一月十四日,他一个人在寓所里去世。来送葬的只有他的秘书和几个仆人;他的雇主、他的同行、他为之服务了四十年的宫廷,都没有来人。
他被埋在汉诺威新教堂的墓里,没有碑。五十年后,有人在那里立了一块铭牌,上面写「莱布尼茨之墓」。又过了一百年,汉诺威人才给他立了一尊像。
他留下的东西是:二十万页手稿、一万五千多封信、两台计算机、一套今天全世界都在用的记号,以及一个没有做完的梦。
d/dx 这个写法,后来被看出是一件更抽象的东西:它是一个算子——一台机器,吃进一个函数,吐出一个函数。
既然它是机器,就可以像机器一样组合:D=d/dx,则 D2 是求两次导,(D+1) 是「求导再加原函数」。微分方程于是可以写成 (D2+3D+2)y=0 这样的式子,像多项式一样因式分解,解就出来了——这是十八世纪欧拉、十九世纪柯西与希尔伯特一路做下来的「算子法」。
还有一条更远的路。前面讲的最速降线,问的不是「哪个 x 使 f 最大」,而是「哪条曲线使一个积分最小」。这是把「变量」从数换成了函数。莱布尼茨 1696 年那几封信里已经用了「δ」的样子来想这件事;一百年后欧拉与拉格朗日把它写成一套算法:
δJ=0 ⇒ d/dx(∂L/∂y′)=∂L/∂y
这条式子叫欧拉—拉格朗日方程。经典力学、光学、场论,今天都写在它上面。而它的形状——一个 d、一个偏导、一个撇——全是莱布尼茨的记号。
二进制在他生前是个漂亮而无用的东西。他喜欢它,可也承认它算起来不快——算得快的是十进制,因为人脑熟悉十。
两百年后,情况反了过来。
一八五四年,英国数学家布尔写了一本《思维规律的研究》。他把「真」与「假」记作 1 与 0,把「与」「或」「非」记作乘法、加法、减法,于是逻辑推理变成了代数运算。这本书在当时被当成哲学奇书,没什么实用。
一九三七年,麻省理工学院的一个研究生香农写了一篇硕士论文,题目是《继电器与开关电路的符号分析》。他发现:一个开关只有「通」与「断」两种状态,正好对应 1 与 0;两个开关串联是「与」,并联是「或」。于是布尔代数可以直接用来设计电路——逻辑可以做成硬件。
这篇论文被称为二十世纪最重要的硕士论文。今天的每一台计算机,里面都是几十亿个开关;每一个开关都在执行布尔当年写下的那几条规则;每一条规则,都写在莱布尼茨喜欢的那种「只有 0 与 1」的算术里。
他没有造出会思维的机器,但他选了那个「只有两个数字」的世界,而机器最后住进了那个世界。
「普遍文字」没有做成。做不成的原因,后来被说得很清楚。
第一步由弗雷格迈出。一八七九年,他出版《概念文字》,第一次把「所有」「存在」「如果……那么」写成符号,让整段推理可以像算式一样排列。罗素与怀特海接着做,一九一〇到一九一三年出了三大卷《数学原理》,想把全部数学从逻辑里推出来。
然后哥德尔来了。一九三一年,他证明:任何足够强、能表达算术的形式系统,都存在系统内无法判定真假的命题;而且这样的系统无法在自身内部证明自己的一致性。这两条定理没有推翻形式化,倒是给它划了边界——符号能做的事有极限,而这个极限可以被精确地写出来。
莱布尼茨的梦于是分成了两半。强的那一半(一切真理皆可判定)死了;弱的那一半(把推理写成符号,让符号按规则跑)活得极好:形式语言、类型论、程序语言、编译器、自动证明、计算机代数,全是这一半的后代。
今天若有人用一台机器在几秒钟内算出一个积分、化简一个式子、验证一段证明,那件事的源头可以追到两个地方:一处是汉诺威的一间书房,一个人相信「符号可以替我们思考」;另一处是莱比锡的一份学报,六页纸上写着几条谁都可以照着做的规则。
他这一生做成了三样东西,恰好可以摆在桌上。
第一样是一支笔的写法。d 与 ∫,两个符号,几条规则。它没有重量,却比任何一台机器都耐用:三百五十年,没改过形状。
第二样是一台机器。一台会乘除的计算器,带阶梯鼓与进位机构。它今天还在汉诺威的展柜里,摇柄转不动了,齿轮锈了,可它的思路——把运算拆成「加几次」——还在每一块芯片里。
第三样是一个没有做完的梦。一种谁都不会误解的文字,一套能替人推理的算法。他画了四十年的草图,没有一张画完;可正是这些草图,让后来的人知道该往哪里走。
三样东西里,第一样最实用,第二样最精巧,第三样最像他。他一辈子最在意的,其实是第三样:他相信人类的大多数分歧不是利益之争,而是说法之争;如果说法能被写成无歧义的符号,很多争论会自己消失。
这个信念有点天真。可天真的信念有时比精明的计算走得更远——因为相信它的人,会去做那些「看起来做不成」的事。
把三样东西排成一行,能看出它们的关系。
记号是写给手用的:它让一个人算得快、错得少,让一个学科跑得远。它的成功可以度量——今天全世界每天写下的 ∫,比任何数学符号都多。
机器是写给手也写给眼的:它把「运算」从纸上搬到齿轮上,证明了运算可以被物化。它的后代是计算机,而计算机的后代是今天的一切。
梦是写给未来的:它没有成品,只有方向。可方向本身有价值——它让后来的人知道,往那边走是有意义的。
三样东西有一个共同点:它们都不是「定理」。莱布尼茨一生没有留下一条以他命名的伟大定理(有「莱布尼茨法则」「莱布尼茨公式」,都是技巧);他留下的是写法、器械与方向。
这让人想起他自己的分类:他把真理分成「推理的真理」与「事实的真理」。前者靠矛盾律,只要符号写对,一算就知道;后者靠充足理由,得一件一件查。他一辈子想做的,是把尽可能多的东西挪到第一类里去。
他挪过去了一部分:微积分、逻辑、二进制。剩下的,还在第二类里等着。
第五幕讲「他留下了什么」,账清一清。
晚景冷清。宫廷去了伦敦,他留在汉诺威写家谱;一七一六年十一月十四日独自去世,送葬的只有秘书与仆人。
算子与变分。d/dx 后来被看成一台机器,可以组合、可以因式分解;把「变量」换成「函数」,就有了变分法与欧拉—拉格朗日方程。
二进制的回声。布尔把逻辑变成代数,香农把代数变成电路。他喜欢的那两个数字,最后住进了每一台计算机。
梦的一半死了,一半活了。「一切真理可判定」被哥德尔划了界线;「把推理写成符号」则成了整个计算机科学的地基。
莱布尼茨公式:(uv)(n)=Σk=0nC(n,k)u(k)v(n−k)。
交错级数:a1−a2+a3−…(ak 递减趋零)收敛,且余项不超过下一项。
π 的级数:π/4=1−1/3+1/5−1/7+…
把这一册的事按年份排开,只有十几个点。
一六四六,生于莱比锡,父亲是大学道德哲学教授。一六五二,父亲去世,六岁,此后在书房里自学。一六六一,十五岁,入莱比锡大学学法律。一六六六,二十岁,阿尔特多夫法学博士;同年《论组合术》。一六七二,赴巴黎,外交失败,留下来学数学。一六七三,伦敦,展示计算机,当选皇家学会外籍会员。
一六七五,十月二十九日,手稿上第一次画出那个拉长的 S;十一月十一日,第一次写 ∫f(x)dx。一六七六,汉诺威,任宫廷顾问兼图书馆长,此后四十年。一六八四,十月,《新方法》六页。一六八六,《深奥的几何》。一七〇〇,创办柏林科学院,任首任院长。一七〇三,二进制论文,附六十四卦对照表。一七一〇,《神正论》。一七一四,《单子论》;乔治一世赴英,他被留下。一七一六,十一月十四日,卒于汉诺威。
十六个点里,真正改变世界的有三个:一六七五年的两个符号、一六八四年的六页纸、一七〇三年的那张对照表。其余的点,是一个人在做外交、编书目、查家谱、打官司。
这条线还有一层意思:他最耐用的东西,出在他最不务正业的时刻。巴黎那四年半,他的正式任务是劝说一位国王去打另一个国家;任务失败,他却在候见室里造出了此后三百年全世界都在用的记号。
莱布尼茨死后,他的遗物里有一屋子纸。仆人打算烧掉,被他的秘书拦下;后来这批纸被送到汉诺威的图书馆,捆成几百包,编号上架。
纸的数量,今天算下来约二十万页。内容包括:数学草稿、哲学断片、法律意见、外交备忘录、神学辩论、语言笔记、家谱考据、写给六百多人的信、以及大量只写了一半的纸——一句话开头,划掉,重写,再划掉。
整理这批纸,成了一项比写作更长的工程。一八七五年,人们开始编全集,编了几十年,出了几卷,停了;一九二三年,普鲁士科学院重新开始,定下八个专辑:政治与书信、哲学、数学、自然科学、语言与历史、法学、神学,加上书信补编。到今天,一百多年过去,出到一半。
有人估算,按现在的速度,编完要到本世纪中叶。也就是说:一个人写了四十年的东西,后人要花两百年才读完。
这件事有一层反讽。他一辈子最想做的,是「把思想压缩成简短而精确的符号」,好让人一读就懂;而他留下的,是二十万页难以辨认的、用拉丁文、法文、德文三种语言混写的、删改重叠的手稿。他没能简化自己,却简化了后人的数学。
这一册讲完了一个人的办法,还剩三个问题,谁也没有最终答案。
第一个:无穷小究竟是什么?莱布尼茨说它是「可以运算的极小量」,贝克莱说它是「消失之量的鬼魂」,柯西说「不要问它是什么,只说它要多近有多近」。二十世纪又出现一种回答:真的存在「比任何正实数都小、但不等于零」的数——超实数。于是三百年前的写法,忽然在一种新的算术里变得字字有着落。可这仍然是一种「回答」,不是「唯一的回答」。
第二个:谁先想到的?这个问题吵了两百年,档案翻遍了,答案大概是:两个人在不同的地方、用不同的语言,想到了同一件事;一个先想到,一个先发表。「发明」有两个时间,而我们只有一个「第一」。这个矛盾不是史料能解决的,是「第一」这个说法本身太窄。
第三个:普遍语言还会回来吗?他想要一种写下来谁都不会误解的文字。今天的数学论文、程序代码、法律条文、乃至机器可验证的证明,都在往那个方向走;可自然语言里的歧义并没有减少,反而在更多的地方被生产出来。也许这个梦的正确形态不是「一种语言」,而是「许多种各自精确、彼此可译的语言」。
三个问题,都还没有关上。这正是它们值得留在这一册末尾的原因。
材料:纸、笔、计算器(能算平方与除法即可)。
第一步,定目标。要算 ∫01x2dx,也就是曲线 y=x2 下面从 0 到 1 的那块面积。
第二步,切四条。把 0 到 1 分成四段,每段宽 0.25。取每段左端的高度:0、0.0625、0.25、0.5625。乘宽度加起来:0.25×(0+0.0625+0.25+0.5625)=0.21875。
第三步,切十条、一百条。十条(宽 0.1,左端):0.285。一百条(宽 0.01,左端):0.32835。这个数在往 1/3 爬,可是爬得慢。
第四步,换中点。每段取中点的高度。四条:0.328125;十条:0.3325;一百条:0.333325。同样是十条,中点法只差 0.0008,左端点法差 0.048——取点的方式比条数更要紧。
第五步,对答案。用反微分:∫x2dx=x3/3,从 0 到 1 得 1/3=0.333333。一百条中点法已经对到小数点后第四位。
想一想:为什么中点法更准?因为每一条竖条与曲线之间,一半多出来、一半缺进去,正好抵消。这个「抵消」的想法,后来发展成一整套数值积分的方法。
材料:纸、笔、计算器。
第一步,认式子。要算 y=x3 在 x=2 处的差商,先算 23=8。
第二步,填表。取一小步 dx,算 (2+dx)3,减去 8,再除以 dx:dx=0.1 得 12.61;0.01 得 12.0601;0.001 得 12.006001。
第三步,看趋势。一列数往 12 走。12 就是 3×22,也就是 d(x3)/dx=3x2。
第四步,用式子算一遍。展开:(2+dx)3=8+3·4·dx+3·2·(dx)2+(dx)3。三项分别是 0.012、0.000006、0.000000001。除以 dx 得 12+0.006+0.000001。扔掉后两项,得 12。
第五步,换两个变量。取 x=3、y=5、dx=0.001、dy=0.002:3.001×5.002−15=0.011002;而 xdy+ydx=0.011。差的那 0.000002,正是被扔掉的小方块 dx·dy。
想一想:如果 dx 不是 0.001 而是 1,公式还准吗?(2+1)3−8=19,除以 1 得 19,与 12 差得很远。所以「扔掉小量」这句话,必须配上「小量确实小」这个前提——这就是后来「极限」要严格化的原因。
二进制变成计算机,中间隔了三步,每一步都不长,合起来两百年。
第一步:把逻辑写成代数(1854)。布尔发现,「与」「或」「非」这三种关系,可以用乘、加、减来算;真与假,可以用 1 与 0 表示。于是「推理」变成了「运算」——这正是莱布尼茨想要的,只是布尔做的是逻辑,不是全部知识。
第二步:把代数做成电路(1937)。香农注意到,继电器只有「通」与「断」,正好是 1 与 0;两个继电器串联是「与」,并联是「或」。于是他可以用布尔代数来化简电路,用最少的开关实现一个逻辑功能。数字电路从此有了设计方法。
第三步:把电路做成通用机器(1936—1945)。图灵 1936 年提出一种抽象机器:一条无限长的纸带,一个读写头,一套规则。它证明:只要有「读写」与「按规则跳转」,一台机器就能算出任何可计算的东西。1945 年冯·诺依曼在《EDVAC 报告草案》里把「程序」也存进存储器,于是同一台机器可以算任何问题,只要换一段程序。
一九四六年,ENIAC 在宾夕法尼亚大学开机,一万八千个电子管,每秒五千次加法。今天一块手机芯片里有上百亿个晶体管,开关速度是它的千万倍,可它们数的还是 0 与 1,用的还是布尔那几条规则。
莱布尼茨当年喜欢二进制,是因为它「干净」;他从没想过它会「有用」。两百年后,干净变成了有用——这是数学里常见的运气:先追求形式的简洁,实用在后面追上来。
公案一:优先权。一六八四年发表,一七一二年《书信汇编》,两百年争吵。今天学界的说法是「独立发明,牛顿在先,莱布尼茨先刊」。要点不在谁对,而在「想到」与「发表」是两件事,而历史只记一个「第一」。读这件事,最好把两边的时间线都排一遍:一六六五年(牛顿想到)→ 一六七五年(莱布尼茨的符号)→ 一六八四年(莱布尼茨发表)→ 一七三六年(牛顿的流数法刊行)。四个年份一摆,事情就清楚了。
公案二:卦象。莱布尼茨在六十四卦里看到二进制,兴奋地说「这或许是古人早已知道的」。今天的研究认为:邵雍的卦序是哲学图式,与二进制数没有传承关系,二者的重合是结构性的——两套东西恰好用了同一个骨架(六个位置、每个位置两种状态)。这类「巧合」在数学史上不少,值得留意的是:结构相同的两件事,可以毫无关系;而看出它们相同,本身就是一种创造。
公案三:「最好的可能世界」。莱布尼茨在《神正论》里论证:既然上帝全善全能,创造的世界必是所有可能世界中最好的。三十年后,伏尔泰在《老实人》里让邦葛罗斯博士一路宣讲这句话,一边遭遇地震、战争与酷刑,把这个论证嘲成了一则笑话。这一桩与数学无关,却提醒一件事:一个在纸上无懈可击的推理,落到人间可能荒唐。
延伸阅读。想读原著,从《单子论》(1714)与《人类理解新论》(1704 成稿)入手,篇幅短;想读数学,看《莱布尼茨数学著作集》(Gerhardt 编,七卷)里的《新方法》与《深奥的几何》两篇,各有英译;想读传记,Antognazza 的《莱布尼茨:思想传记》(2009)最全,Aiton 的《莱布尼茨传》(1985)最轻;想读那场争吵,Hall 的《交战中的哲学家》(1980)把两边的档案都摆出来了。
这一册讲一个人怎样给「变化」造一套写法:不先证明,先让符号把下一步摆出来;不等别人信服,先把规则写成谁都能照着做的手册。
路线五步:书房与外交(第一幕)、切线是差与面积是和(第二幕)、规则与机器(第三幕)、拿它算四道题(第四幕)、记号之争与二进制的回声(第五幕)。两个动手做(p.44–p.45)建议先做后读:切一次竖条,就知道「积分是一个和」;填一次差商表,就知道「导数是差的比值」。
暗线是「好记号自己会思考」。这一册给了五层:符号压缩想法(第一幕)、写成分数就能约分(第二幕)、规则能从形状里读出来(第三幕)、算题快十倍(第四幕)、学科因此快了一百年(第五幕)。孩子最容易记住的是两个符号的形状:拉长的 S 是「和」,小写的 d 是「差」——就从这两个形状讲起。
需要提醒的一点:本册的数学与另一册讲微积分的书不同,它不强调「怎样求导」,而强调「为什么这样写」。三层读法照旧——故事层可以独立成篇;数学层如果孩子还没学过函数,可以只读 p.14、p.15、p.21 三页的图与算式,其余略过;注疏层给大人核对年代与原文。
「他到底是不是抄了牛顿?」——不是。学界共识是独立发明:牛顿 1665—1666 年已用流数法,莱布尼茨 1675 年前后自成体系,1684 年先发表。他确实在 1676 年读过牛顿那两封带字谜的信,也确实在自己的文章里说过「我用另一种写法得到同样结果」;但两套记号、两套无穷小解释、两条推导路线都不一样。可疑的是「发表时机」,不是「思想来源」。
「为什么英国落后一百年,不是牛顿更厉害吗?」——两件事不矛盾。牛顿的方法强,记号弱;英国人选了记号,也选了传统。要教给孩子的一课是:工具的形状会决定后来的人走得动走不动,与谁更聪明无关。
「孩子问:d 到底是什么,一个数吗?」——最诚实的回答是:在他那个时代,它不是一个数,是一种「可以照着算的小量」;在今天的严格定义里,导数是极限,dy/dx 是一个整体的记号,不再真的相除。可这套记号仍然好用,因为它「看起来像除法」,而看起来像除法,就能提醒人怎样做下一步。这个回答可以一直用到大学。
虚实成分说明。本册的场景与对话有虚构成分(书房里读书的细节、外交谈判的场面、汉诺威冬夜的独处),凡年代、数据、引语、书名均在注中给出处。特别提醒:本册不掩饰「扔掉高阶小量」在逻辑上的不严密(p.14、p.45 已把边界说清),也不掩饰「普遍文字」的失败(p.37);这两处正是十七世纪数学的真实处境。
《数学家的故事》第二辑 · 第 14 册
莱布尼茨 · 记号大师
明线:dx 与 ∫ 的记号设计 · 差与和的互逆 · 乘积与链式法则 · 二进制与六十四卦 · 普遍语言之梦
暗线:好记号自己会思考 · 形状提示下一步 · 工具决定学科的速度
时代:1646—1716 · 德意志(莱比锡—巴黎—汉诺威;下延至 1684 年《新方法》、1703 年二进制论文、1712 年《书信汇编》、1854 年布尔代数、1937 年开关电路)
主典:《学者学报》1684 年 10 月号 · 《深奥的几何》1686 · 《论二进制算术》1679 残稿 · 《单子论》1714 · 《神正论》1710
体例:扉页与题解 2 页 · 引子 3 页 · 五幕 35 页(每幕:故事 1 · 数学 3 · 故事/暗线 1 · 交汇 1 · 小结 1)· 收束与留问 3 页 · 动手做 2 页 · 小典 2 页 · 延伸 2 页 · 家长导读 2 页 · 版权 1 页,共 52 页。
《数学家的故事》第二辑十册:阿基米德 · 祖冲之 · 牛顿 · 莱布尼茨 · 欧拉 · 柯西 · 阿贝尔 · 庞加莱 · 诺特 · 华罗庚。本册为第二辑第四册。
封面人物头像:以公版历史画像(克里斯托夫·伯恩哈德·弗兰克绘,约 1695 年)为底本作水彩素描重绘;底本藏维基共享资源,属公有领域。