刘徽这个人,正史里没有传。
《三国志》没有提他,《晋书》也没有提他。生卒年、籍贯、官职,全都只能推测。关于他的一生,今天能确定的只有一件事:公元二六三年,他给一部旧算书《九章算术》写完了注——九卷,逐题逐术,从头讲起。
但正是这部注,改变了此后一千多年中国数学的样子。他做了一件当时几乎没有人做的事:不写答案,写怎么想出来的。
故事层——跟着画面往下读:一座算错的粮仓,一册只有答案没有道理的旧书,一个把圆拆开来算的人。
数学层——暖金色的框里,是这一页真正的数学:割圆术、出入相补、率的运算。
注疏层——页面下方的小字,标注史料的出处与真伪,给一起读的大人。
三国魏的屯田区里,圆仓一座接一座立起来。仓是圆的,叫囷——省料,围得起,装得实。
可这座仓出了岔子。账上算得满满当当,粮装进去,还空着小半截。督粮的官吏把量斗翻了又翻,把绳子拉了又拉:仓的周长量了,高量了,《九章算术》的术文一道一道核过去——算式没有错。
错的是算式之前的那句老话:周三径一。周长三尺的圆,直径一尺。这话传了不知道多少代,量车轮、做锅盖、画圆田,人人都用它。没有人问过:三,是哪来的?
翻开来的是《九章算术》。方田、粟米、衰分、少广、商功、均输、盈不足、方程、勾股——九卷,二百四十六道题,每道题下面跟着一句术:怎么算,一二三四。
这本书是好的。它把几百年来四方流传的算法收拢成册,题题能用。可它有一个奇怪的脾气:只给做法,不给道理。圆面积怎么求?「半周半径相乘得积步。」为什么这样乘就是面积?书里没有说。
用的人背下来,一代传一代。算对的,照旧算;算错的,也照旧算——因为没有一套办法,可以查这句术文是怎么来的。
魏景元四年,公元二六三年。一个人给《九章算术》写完了注。
他叫刘徽。他在自序里说,自己幼年学《九章》,长大后再拿起来细看,看出了两件事:这些术文「事类相推,各有攸归」,看似零散,其实共着同一副根干;而光背术文是不够的——要紧的不是它算得对,而是它凭什么对。
于是他做了两件前人没有做的事:用文字把道理一条条讲出来,叫「析理以辞」;用图形把道理一步步画出来,叫「解体用图」。粮仓那一笔错账,就是他要还的第一笔账。
督粮的官吏和老工官在仓前算了一下午。仓的周长是量的,高是量的,量斗校过三遍;《九章》的圆囷术,一步一步照着摆——算式不错,数字不错,可粮就是装不下。
「术不会错。」老工官说,「这术传了两百年,人人用。」
「术没错,」另一个人说,「错在术里掺的那句老话——周三径一。」说话的人正是注书的刘徽。他蹲下去,拿一根柴棍在土里画了一个圆、又画了一个外切的正方形:「径一的三倍,是正方形的周长,不是圆的周长。圆是往里收的,收了多少,三这个字没说。」
要紧的不是把三改成一个更准的数,而是把「准到哪一步」说清楚。这就要从头算起。
周三径一,不是谁拍脑袋定的。拿根绳子沿车轮绕一圈,再拿它对着直径量——差不多正好三倍。量得越多,越确信:周,大约就是径的三倍。
可「大约」两个字里藏着账。粮仓的差错就是这么来的:拿三当三的话,每一座仓都少报一段容积,百座仓就是一笔大数。
老工官不服:「三,是我爹传的,他爹也传的。」刘徽说:「传得久,不是它对的凭据。得说得出它差多少、怎么差。」
圆的周长与直径之比,今天写作 π。周三径一说的是 π ≈ 3。真值是 3.14159…,每一尺直径,周长少算了约一寸四分。
这个比值有个麻烦:它连着「曲」与「直」——周是曲的,径是直的。曲的东西,直尺量不着;能精确量出来的直的东西,又凑不出圆。
经验给了一个粗糙的数,却给不出「这个数准到哪一步」的说法。要准数,先得把圆变成算得了的东西。
《九章》圆田术说:半周半径相乘,得积步。把圆周的一半乘上半径,就是圆的面积。
刘徽没有推翻这句术文,反而认下了它:「此术至善。」——半周乘半径,径直就是圆面积的准确式子。毛病出在用的地方:周长若按周三径一算成三倍直径,好术套上坏数,结果照样坏。
所以圆的问题,归根到底是周与径的比这一个数的问题。把这一个数算准,田赋、仓廪、车轮、浑天,一路的账都跟着准。
用今天的话写:圆面积 S = (1/2)C · r,其中 C 是周长、r 是半径。代入 C = 2πr,得 S = πr2——正是圆面积的准确公式。
刘徽评语的关键在「率」字:周与径的比。率准,则百术皆准;率不准,术文背得再熟也是白背。
这个思路很现代:先把公式立对,再单独解决公式里最难的那一个数。难处集中,火力集中。
直的东西,算筹会算:长乘宽是面积,勾乘股是面积,账清清楚楚。曲的圆,算筹不会算——它没有「长」和「宽」。
刘徽在土上画的那个圆里,慢慢显出一个思路:圆算不了,可圆里的直线算得了。在圆里放一个正六边形,六个顶点都坐在圆周上——它有边,有角,有面积,每一样都能用算筹精确摆出来。
六边形贴着圆,可它不是圆:六个角外,各空着一块弓形的月牙地。空多少,是能算的。
「那就把这块空地,一块一块地吃掉。」
圆内接正六边形有个漂亮的事实:它的边长恰等于半径。六个顶点把圆周六等分,每条边对着的圆心角六十度,三角形三边相等,边长就是 r。
于是 r = 10 寸时,六边形每边 10 寸,面积一步可算。它比圆小——小多少,量得出。
把每条边从中间割开,顶点翻倍,十二边形更贴圆;再割,二十四边形更贴……每割一次,多边形与圆之间的空隙就小一圈。圆算不了,可「更贴圆的多边形」一直算得了。
割下去,割下去——边数翻一倍,贴圆一分。可翻到哪一步算完?一千边?一万边?多边形永远有角,圆永远没有。照这样问下去,永远差着最后一步。
刘徽不这样问。他不问「哪一步能到达圆」,他问:这一步,还差得多小。
差多少是能算的——多边形与圆之间的空隙,本身就有面积,有面积就有数。把「差」记成一本账,账越记越薄;等到账薄得对粮仓的那笔差错毫发无伤,就不用再割了。
圆的账,不止一家的文明在算。
巴比伦的泥板用 3 + 1/8,埃及的纸草用 3 + 1/7 再打点折扣,中国《周髀》用三。各家都从各自的车轮、粮仓、圆田里量出来——量得都对,也都糙。
粗糙不丢人。丢人的是停在粗糙里。刘徽的做法是转身向里:不再换一个更巧的经验数,而是造一台自己会变准的机器——割下去,每翻一倍,准一分;再翻,再准。数不再是被「找到」的,是被「算出来」的。
割圆,从一件旧东西起步。工匠早就知道:在圆里画正六边形,不用量——圆规张开成半径,绕圆走六步,步步落在圆周上。
刘徽在《注》里把这一步写成了账:六觚之一面,与半径等。觚,就是棱角。一个曲的圆,从今天起有了一个完全直的替身:边长等于半径的正六边形。
它当然不是圆。但它边上每一寸、角里每一分,算筹摆得出真数。圆墙外面吃不着的那块地,就从这里开割。
割法很简单:每条边从正中割开,中点向外顶到圆周上,一个顶点变两个。六边形割成十二边形,十二割成二十四。
可新顶点落在哪,得算出来——落在圆周上,不能凭手摆。刘徽用的是勾股:从圆心到边中点拉一条垂线,垂线、半边、斜到顶点,恰好围成一个直角三角形。勾股一勾,新的边长就出来了。
一步一割,一割一算。算筹在案上摊开,从六觚一路往下割。
设六觚边长 c6 = 10 寸(等于半径)。边心距 d = √(102 − 52) = √75 ≈ 8.6603 寸——刘徽开方至厘毫,得八寸六分六厘强。
十二觚一边的平方:c122 = 52 + (10 − 8.6603)2 ≈ 26.795,开方得 c12 ≈ 5.176 寸。
这串运算里没有一处近似,只有最后开方那一步舍入。换句话说:倍边的过程把「画不准」全部变成了「算得准」——画图会手抖,算筹不会。
边会算了,接着算面积。刘徽的切法干脆:从圆心向每个顶点连一条线,多边形被切成一片一片的窄三角形,每片两条腰是半径、底是一边。
每片的面积:底的一半,乘高——高就是半径。一片乘上片数,整个多边形的面积到手,分毫不差。
于是这本账可以一档一档记下去:六觚一片,十二觚十二片,二十四觚二十四片……片片是直的,片片算得出。贴着圆的面积,就这样一片一片凑出来。
每片面积 = (1/2) · (cn/2) · r,全形 Sn = nrcn/4。半径 10 寸,算得:
S6 = 259.81 S12 = 300 S24 = 310.58 S48 = 313.26(平方寸)
圆的真面积是 π·102 ≈ 314.16 平方寸。看这条数列:259.8,300,310.6,313.3……一步一步,正从下面爬向 314.16。
只从下面爬,永远不知道还差多远——除非把「差」也算出来。刘徽的本事在这儿:他不光算多边形有多大,还算多边形和圆之间那圈空地有多大。
空地分两层:贴着边的一层是「余径」,再外面是弓形。割一次,两层都薄一分。他证了一件事:把这一次割出的空隙整片加上去,圆面积就被夹在了两个数之间——下界是多边形,上界是多边形加一圈空地。
圆被关进了门槛。而且每割一次,门槛就窄一圈。
刘徽给出夹逼:S2n < S圆 < S2n + (S2n − Sn)。
右边多出来的那一块 S2n − Sn,正是这次割掉的空隙,刘徽称「差幂」。它随割制递减:割得越细,上下两个门槛夹得越紧。
原注里那两句话,说的就是这件事:「割之弥细,所失弥少。割之又割,以至于不可割,则与圆周合体而无所失矣。」
「割之又割」,割到哪天算完?刘徽自己说了句奇怪的话:割到「不可割」。多边形明明可以一直割下去,怎么会不可割?
他不是真要人割到天边。战国时惠施说过「一尺之棰,日取其半,万世不竭」——一根尺,每天截一半,一万年也截不完。这话是对的,可对工匠没用:粮仓等不得一万年。
刘徽把这句话倒过来用:既然万世不竭,那就不必等竭——只要账上显示剩下的误差已经小得伤不着任何一道实务,割的工序就可以收工。无限的过程,有限的步骤就接管了。
割圆这件事,西方也有人做——阿基米德,比刘徽早五百年。他也画内接多边形,也一路加倍,也把圆夹在两个数中间。连停在九十六边形的档位,都惊人地接近。
可两个人手里的家伙不一样。阿基米德靠比例论与归谬法,一条命题一条命题地「证死」上下界;刘徽靠算筹与十进位值,一档一档地「算」出逼近值,误差记成分数账。
一个是逻辑的刀,一个是计算的尺。两个文明隔着欧亚大陆,用不同的家伙,割着同一个圆——这大概就是数学:换任何人、换任何家伙,走对了路,都通向同一个数。
从这一幕起,没有窍门了,只剩算。每割一档,都要开一次方,乘一片面积,减一遍差幂——全在算筹上做。没有纸笔演草,没有算盘,更没有计算机;一根一根筹,摆上去,拿下来,再摆上去。
帮了大忙的是中国算术的底子:算筹记数,十进位值,逢十进一,空位就是零。开方、乘除,在筹阵里都是干净的程序——程序对,答案就跑不掉。
刘徽割到九十六觚,案上的筹换了多少回,没有人知道。账留下了。
账报到九十六觚这一档,数字是——
九十六觚之幂,三百一十三寸,六百二十五分寸之五百八十四。换成小数:313.9344 平方寸。离圆的真面积 314.16,还差 0.225 平方寸。
六百二十五分之五百八十四——分数记到这么细,是把误差当正经账目记。要知道圆被夹得多紧,还差最后一割。
半径 10 寸,圆面积真值 π·102 ≈ 314.159 平方寸。
S96 = 313 + 584/625 = 313.9344(平方寸)
下一档的账预告了上界:S192 − S96 = 105/625 = 0.168。差幂只剩零点一七平方寸——圆已经被夹在一个指甲盖大小的门槛里。
再割一档。一百九十二觚之幂,三百一十四寸,六百二十五分寸之六十四——314.1024。加上差幂 0.168,上界是 314.2704。
圆面积被夹死了:314.1024 与 314.2704 之间。半径是十寸,两边一除,圆周率就被夹在 3.1410 与 3.1427 之间。
刘徽在这本账上取了 3.14——宁可让掉第三位小数,取一个两边都信得过的数。这就是后世尊称的徽率:一百五十七比五十。
314.1024 < S圆 < 314.2704 ⟹ 3.1410 < π < 3.1427
取 π = 3.14 = 157/50。用徽率重算粮仓:每百斛的账,误差不过小半升——周三径一时代那笔大糊涂账,就此了结。
留意刘徽的取法:在夹逼的门槛里取,不取门槛外的漂亮数。宁可少一位准头,不破自己立的规矩。
账没有停在 192。注文里另有一组数:周率三千九百二十七,径率一千二百五十——3.1416。按这组数反推,多边形要一路割到三千零七十二觚。
三千零七十二个顶点。每割一档,开方、乘、减,全程算筹。这一档账,是耐心对误差的胜利:三千边与圆之间的空隙,只剩万分之几平方寸。
从六到三千零七十二,倍了九轮。每一轮,圆都更近一分;每一分,都有账可查。
3927/1250 = 3.1416
与真值 3.1415926… 相比,四位小数只差末位。达到这一精度所需的边数,按差幂的缩小速度倒推,正是 6 × 29 = 3072。
差幂的缩小有铁律:边数每翻一倍,差幂约缩为四分之一。想准一位小数,就得翻三倍多的轮次——准,是用翻倍换来的。
把每一档的差幂排成一列,看看这本账是怎么薄的——
十二觚,差四十有二;二十四觚,差十又六;四十八觚,差二又七;九十六觚,差零六七;一百九十二觚,差零一七。数字一位一位地矮下去,像退潮。
刘徽没有写「无穷」两个字。他写的是:割之弥细,所失弥少。失,是多少,账上有数。不宣布抵达,只登记逼近——这本越记越薄的账,就是中国数学对「无限」的答法。
S12−S6 ≈ 40.2 → 10.6 → 2.7 → 0.67 → 0.17 → 0.042 → …
公比约四分之一:边数翻一倍,误差缩四倍。想把误差压到原来的百分之一,翻六倍多即可;千分之一,翻十倍。任何指定的「足够小」,都在有限步之内等着。
「割之又割,以至于不可割,则与圆周合体而无所失矣。」——这句话,用今天的数学话怎么说?
这么译:随手指定一个要多小有多小的口袋,总有一档多边形,与圆的全部差距都装进这只口袋。口袋再小,档数总存在——只是可能要割很多轮。
刘徽没有口袋这个词,但他做的事一模一样:差幂就是口袋的尺寸,边数就是档数。一千六百年后,欧洲的分析学家把这件事写成了严格定义;而账目的骨架,刘徽的注里早已搭好。
圆的账收完了,注还没写完。九卷书里,方田算地、粟米换粮、商功筑城、勾股测远——每一卷的术文,刘徽都要给出道理。
给他撑腰的,是同一件兵器。这兵器名字朴素,叫出入相补:一块图形剪下来,挪个位置拼进去,面积不变。多出来的补给缺的,盈虚相抵,账就平了。
听着像剪纸手艺?可从三角形的面积、直角三角形的勾股,到柱、锥、亭、仓的体积,全靠它一寸一寸证出来。九章的二百四十六问,一大半账目都过过这件兵器的手。
《九章》勾股卷开篇的术文只有一句:勾股各自乘,并而开方除之。两条直角边的平方相加,开方,得斜边。为什么?书里照例不说。
刘徽说:以图验之。图怎么做?取四个一模一样的直角三角形,斜边朝外,围成一圈——中间剩下的那块,是一条直角边减去另一条的小方。整幅图的账,一目了然。
「自乘」的两块面积,就这样被拆成看得见的四片三角形加一方。剪剪挪挪,定理落地。
外方边长是弦 c,面积 c2。它由四片三角形与中央小方拼成:
c2 = 4·(ab/2) + (b − a)2 = a2 + b2
展开、消去,勾股定理立住。没有一步是量的,每一步都是拼的。
圭田(三角形田)求积,《九章》说:半广乘正从。刘徽注:把三角形里多余的一半剪下来,补到缺的那一半去——三角形变成矩形,账就直了。这叫「以盈补虚」。
同一套手法,回头来收拾圆。圆不是直的,可把圆切成一瓣一瓣极窄的扇条,近似一排三角;把扇条一上一下交错铺开,铺到极细时,铺出来近似一个矩形:宽是半径,长是半周。
圆田术「半周半径相乘」,到这里才算真正看见了。而半周里藏着割圆术挣来的那个准数——两件兵器,在这里接上了头。
S = (半周) × (半径) = (1/2)·2πr·r = πr2
割得极细时,扇条无穷接近矩形——「半周乘半径」由一条口诀,变成了一幅看得见的图。
平面会拼了,立体怎么办?《九章》商功卷堆着一套陌生的名字:堑堵、阳马、鳖臑。堑堵是把长方块沿对角面斜切出的三棱柱;再斜切一刀,一个切成阳马(底是矩形、一条棱垂直立起的四棱锥),一个切成鳖臑(四个面都是直角三角形的小楔)。
长方块的体积人人会算,可城、堤、谷仓的斜面怎么算?刘徽的路子:任何复杂的立体,都能剖成堑堵、阳马、鳖臑这几种「积木」;而积木的账,归到一件事上——
一个阳马,恰是两个鳖臑。二比一,分毫不差。这个比例,后世称为刘徽原理。
阳马:鳖臑 = 2 : 1,于是堑堵的体积立刻可分:阳马得 2/3,鳖臑得 1/3。四棱锥、三棱锥乃至锥、亭、圆囷的体积,都从这一刀接一刀的剖分里长出来。
有意思的是证法:长、宽、高相等时,二比一一刀可见;不相等时,刘徽把每一维对半再剖,剖一次,未定的部分缩一圈,最后剩下的零头「微少如丝毛」——又是熟悉的收法:剖之弥细,所失弥少。割圆的那套账法,在立体上原样活着。
自序里那八个字——「析理以辞,解体用图」——现在可以看全了。
辞,是文字的推理,一步一句,管「为什么」;图,是剪开的图形,管「是什么样」。光有辞,账目悬空;光有图,剪完就忘。刘徽两条腿走路:术文背后配图,图后面配辞,辞里再指回图。
这也是本册反复在做的事:每一道定理,先画一张拼贴的图,再记一本可查的账。图散开的时候,恰好是理最清楚的时候——散,是为了看得见每一块。
刘徽注里出现最多的字,是率。换粮的比价是率,圆周与直径是率,勾股三边是率,连两地相望的远近高低,也是率。
率怎么算?他有「齐同术」:分数比大小,先通分——分母相乘为「同」,分子调整相称为「齐」。齐了同了,异分母的账就变成同分母的账,一路算下去。
同一杆「率」的秤,还称到了天上。两根木表一高一低、一前一后立在地上,影子与视线几经相除,千里之外的岛高就算了出来——这是《海岛算经》的重差术,刘徽原本附在《九章》之末的最后一卷。
齐同术:a/b 与 c/d 相比,以 bd 为「同」、调整分子为「齐」:ad/bd 与 cb/bd。
重差术望海岛(原题):表高三丈,两表相去千步;自前表却行一百二十三步望岛峰,与表末相合;自后表却行一百二十七步,亦与表末相合。两望之差四步——
岛高 = (表高 × 表间) ÷ 相多 + 表高 = (30×1000)÷4 + 30 = 1255(步)
答:岛高四里五十五步。不见海,量出岛。
注到《九章》最后一卷,刘徽撞上了墙。开立圆术——由球的直径算球体积——书里给的公式,折算出来相当于把球算成直径的九分之十六倍。以他手里那位徽率一验,错了,而且错得不少。
他找出错处,还找到了出路:造一个新几何体,两只一样粗的圆柱,轴线垂直相交,交出的公共部分像一具四角浑圆的方盖。方盖与它内切球体积之比,恰是四比圆周率。算出方盖,球就到手。
可是方盖自己,算不出来。刘徽算到能算的尽头,停笔,写下一句:「敢不阙疑,以俟能言者。」——不敢装懂,留给能算的人。
接棒的是两百多年后的祖氏父子——祖冲之与他的儿子祖暅。他们给方盖搭了一座桥,桥的名字叫一句话:幂势既同,则积不容异。等高处、横截面处处相同的两个立体,体积不会不同。
拿这句口诀去剖方盖:方盖挖去八块角料,剩下的部分处处能和另一个已知体对上截面。对上了,账就通了。方盖的体积终于落定,球的体积跟着落定:
V球 = (4/3)πr3
刘徽挂了两百年的疑,就此结清。他停笔的地方,正是后人起笔的地方——这道接力的姿势,比球体积公式本身更贵重。
「幂势既同,则积不容异」,即等高截面面积相等则体积相等。以之推得方盖 V = (16/3)r3,再乘 π/4:V球 = (4/3)πr3,与今日公式一致。
古法 9/16 D3 的错账至此改正:真值系数 π/6 ≈ 0.5236,古法 0.5625——验算徽率,一验便知。
割圆的路,后来的人接着走。祖冲之把徽率推到小数八位,还留下两个便于使用的分数:约率二十二分之七,密率三百五十五分之一百一十三。再往后,七世纪的印度、十五世纪的撒马尔罕、十六世纪的欧洲,名单一页页续下去。
一千四百年后,路忽然宽了:牛顿把割圆换成了一串无穷相加的项——级数。名字变了,骨子里还是那件事:一项一项加下去,误差一档一档缩下去。割圆术的账本,换了新封面。
密率 355/113 = 3.14159292…,七位小数,分子分母皆不逾四位数——它是最省字的七位近似,欧洲人一千多年后才重新走到。
十九世纪,欧洲的分析学家干了一件事:给「逼近」立法定义。极限不再靠图去想、靠话去说,而是一条能当众检查的定义——数列一项项排下去,指定误差口袋,必有一步之后,每一项都落进口袋。
这句定义,本册已经见过三次了。割圆术的差幂是一本口语版的账;「割之又割……与圆周合体而无所失」是它的文言版;而柯西与魏尔斯特拉斯写下的,是它的公文版。
数学史上常有这样的巧合:直觉先到,语言后至。语言迟到了一千六百年——但直觉只要带着账本,就经得起等待。
现代定义(节意):称数列趋于 a,若对任意给定的正数 ε,存在下标 N,凡 n > N 皆有 |an − a| < ε。
对照刘徽:ε 即「所失」的容许限度,N 即割圆的档数。结构相同:先定误差,再定步骤——顺序也是同一个顺序。
值得记一笔:刘徽从头到尾没有用过「无穷小量」这个悬空的物件。他要的只是误差可算、可缩、可停。现代分析绕了几个世纪的弯,最后也把「无穷小」从定义里请了出去。
现在可以把这条暗线说全了。
圆是一道曲直之间的墙。硬翻,翻不过去——没有人真的画出一个无穷多边形。刘徽的办法是退半步:不翻墙,记墙的账。每一档差多少、下一档还剩多少、哪一档可以收工,笔笔可查。
于是「无限」在账簿里换了一种存在方式:它不再是要抵达的远方,而是一本可以一直记下去、又随时可以停下的账。缺疑处阙疑,留给能言者;够用处收笔,不敢多写一字。以有限逼近无限——这六个字,是二六三年那个案头的算筹,留给后来的全部计算机的一句话。
一九四九年,第一台通用电子计算机算圆周率,七十小时,两千零三十七位。今天,机器算到百万亿位,用的不是割圆,是它的后代——一串收敛更快的级数,还是那本账:一项一项加,误差一档一档缩,缩到够为止。
而在千万台屏幕上,割圆术的远房子孙无处不在:地图上把曲线的海岸线切成小段累加,医学影像里把身体切成薄片重组,飞行器的轨道一帧一帧向前推算。把难算的东西切碎、逐段逼近、账上盯误差——两千年前案上的章法,如今跑在每一块芯片里。
计算机时代的圆周率纪录仍在刷新,方法皆收敛级数,逐项相加至所需位数。核验时机器仍会回头用「上下夹逼」——算出一个下界与一个上界,两边夹住,方才认可。
从算筹到芯片,换了的是速度,没换的是章法:切碎、逼近、查账。这三步,本册一幕一幕都走过。
回望这一册,是一条链子慢慢收紧的过程。
先是一句传了千年的老话——周三径一;接着是圆里那个边长等于半径的六边形;然后一割再割,九十六觚夹出徽率,三千边逼出四位数;再往后,方盖悬了两百年,被一句「幂势既同」接住;最后,那本越记越薄的误差账,在十九世纪领到了自己的名字——极限。
老话、六边形、账本、口诀、定义。东西换了五回,做的只有一件事:不跨过无穷,也能把圆算准。
刘徽注随着《九章算术》走了一千七百多年。
唐代,朝廷把带刘注的《九章》立为算学教科书,与另外九部算书合称十部算经,算学生人手一部;北宋刊刻印行;宋末战乱,书一度几乎失传,清人从《永乐大典》残卷里把注文一条一条辑了回来。今天中学课本里的「出入相补」,源头就是那间摆着算筹的书案。
一部只有九卷的旧算书,因为有人肯为它写下「为什么」,竟成了不可能失传的书——道理写在纸上,纸会烂;道理同时也写进了代代读它的人脑子里。
圆周率算准了。那么,还有什么是可以逼近的?
斜坡上滚落的东西,速度一瞬一瞬地变——把一瞬切成无限小段来算,是微积分;风与潮的走向,把天地切成网格一步一步推,是数值天气预报;一张照片放大到没有锯齿,靠的是在像素之间插值逼近。
还有更根本的:数本身。圆周率写不成分数,可任何想要的小数位都取得到——它站在所有逼近值的尽头,却谁也到不了尽头。刘徽若看见这些,大概不会惊讶:他的账本,本来就没有封底。
材料:圆规、直尺、铅笔、一张纸(最好打格)。
一 以任意半径 r(约五厘米)画一个圆。
二 圆规保持张开 r 不变,在圆周上任取一点起步,绕圆连走六步——第六步恰好回到起点。
三 相邻足迹两两连线,得内接正六边形。这就是「六觚之一面与半径等」。
四 取每边中点,从圆心向中点引线延长到圆周,得六个新顶点;十二个顶点依次连线,得内接正十二边形。
五 数一数格子,估算两个多边形的面积,填进 p.15 的那张表里。
圆规为什么可以走六步?六边形边长等于半径,所以「以半径绕圆」恰好走出六条弦——圆规一步不用改张口。
量面积为什么要打格?数格就是刘徽「分片计积」的笨办法:片数越多,越接近真值。数完格再想想:十二边形离圆还差几格?
材料:一张圆纸片(半径五厘米为宜)、剪刀、直尺。
一 在圆片上过圆心画几条直径,把圆分成十六瓣。
二 沿线剪开,得到十六枚窄瓣。
三 把窄瓣一上一下交错着排成一排——像拼一张席子。
四 看拼出的形状:近似一个矩形。量一量它的长与宽,算一算面积。
拼出的「席」,宽约是半径 r,长约是半个周长 πr——因为十六瓣的弧,一半朝上一半朝下,正好把整个周长摊平。
S ≈ πr × r = πr2
瓣剪得越窄,席边越直,近似越好。这就是 p.29 那幅图的手工版——圆田术的「半周半径相乘」,可以亲手拼出来。
「先定误差,再定步骤」这套章法,日用里到处都在跑。
导航报「还有八分钟」——它是把路切成小段、逐段估算的逼近值,走一段更新一次,误差一路缩小。天气预报同理:把天空切成网格,一格一格往前推算,网格越细越准,算力代价也越大。
连「打折找零」里也有它:先估到元,再估到角,不够细再往下——每一步都问「现在够用了吗」。逼近的对手不是无穷,是「糊」:只要账上写得出差多少,糊就变不成错。
圆周率的位数史,是账本封面的更新史。
刘徽的算筹算到 3.1416;祖冲之的父子上推到八位;此后一千二百年,各文明的位数以一两位、十几位地爬。计算机一来,位数陡然起飞:两千零三十七位、百万位、万亿位——而方法一脉相承:把数拆成一串越加越细的项,一项一项累加,误差有账,够位即停。
有意思的是最后一步:机器算完,还要回头验账——再算一个略小的下界、一个略大的上界,两边一夹,确认落点。这份谨慎,正是 p.22 那两道门槛传下来的家法。
这一册不打算教「圆周率」,它想让孩子看见一件事:够不着的东西,也可以算准。
圆是曲的,直尺够不着——这是每个孩子都能体会的困境。刘徽的回应不是硬翻过去,而是把问题改写:圆里放得下直线形,直线形算得了,误差算得了;剩下的交给耐心。这套「切碎、逼近、查账」的章法,是后来整个计算科学的地基,也是每个人面对难事都用得上的思路。
给孩子的——看图,听故事:粮仓为什么装不下?那个人在圆里画的是什么?越画越多的边,最后像什么?
给少年的——跟着算一档:从六边形到十二边形,p.14 的三行算式每一步都可以自己动手验。验过,就懂了「以直代曲」。
给大人的——留意注里的分寸:哪些是刘徽原文,哪些是后人推论,哪些悬而未决(3927/1250 的公案在 p.47)。这份诚实,正是本册要传的那门手艺的一部分。
三个可以不急着回答的问题,留给亲子一起慢慢聊。
一 割到多少边才算「算完了」?
刘徽的答案是:不看边数,看误差——差幂小到伤不着要办的实事,就可以收工。「算完」从来不是一个固定的数字,而是一个关于误差的决定。
二 刘徽明明算得更好,为什么不把话说满?
「敢不阙疑,以俟能言者」不是谦虚的姿态,是方法的一部分:账上没有的,不入账。科学能自我修正,靠的正是这种克制。
三 三千边的耐心,今天还值得学吗?
值得。机器快了千万倍,但「切碎、逼近、查误差」的章法没有变。学它不是为了算圆,是为了遇到够不着的问题时,知道下一步该做什么。
《数学家的故事》第一辑 · 第 02 册
刘徽 · 割圆见理
明线:周三径一之疑 · 割圆术(六觚起步、勾股倍边、分片计积、差幂夹逼)· 徽率 3.14 与 3927/1250 · 出入相补与弦图 · 堑堵阳马鳖臑与刘徽原理 · 齐同术与重差术 · 牟合方盖与祖氏接力 · 极限的古注今译
暗线:以有限逼近无限 · 不空谈无穷,只谈差得多小
时代:公元 263 年 · 三国魏(下延至 2022 年圆周率百万亿位)
主典:《九章算术》及刘徽注 · 《海岛算经》· 赵爽《周髀注》· 《隋书·律历志》· 《庄子·天下》
体例:扉页与题解 2 页 · 引子 3 页 · 五幕 35 页(每幕:故事 1 · 数学 3 · 暗线 1 · 交汇 1 · 小结 1)· 收束与留问 3 页 · 动手做 2 页 · 小典 2 页 · 延伸 2 页 · 家长导读 2 页 · 版权 1 页,共 52 页。
《数学家的故事》第一辑十册:欧几里得 · 刘徽 · 费马 · 秦九韶 · 笛卡尔 · 伽罗华 · 高斯 · 希尔伯特 · 黎曼 · 陈省身。本册为第二册。