Zhu Shijie · 约1249–约1314

朱世杰

他把四个未知数摆进同一张筹式,一个一个消掉;他的两部书都在中国失传过,一部从浙江的旧抄本里、一部从琉璃厂书肆的朝鲜刻本里找了回来

f(1)++f(n)=nΔ0+(n2)Δ1+(n3)Δ2+(n4)Δ3f(1)+\cdots+f(n) = n\,\Delta_0 + \binom{n}{2}\Delta_1 + \binom{n}{3}\Delta_2 + \binom{n}{4}\Delta_3
《四元玉鉴》卷中「如像招数」第五问的还原术(1303):先求上差、二差、三差、下差,「以各差乘各积,四位并之,即招兵数也」——各积是今招、茭草积、三角积、三角落一积,也就是 n 与 n 取二、取三、取四的组合数。今天叫前向差分公式。

朱世杰,字汉卿,号松庭,燕山(今北京一带)人。关于他这个人,留下来的几乎只有两部书前的几篇序:1303 年莫若为《四元玉鉴》作序,说他「以数学名家,周游湖海二十余年矣,四方之来学者日众」;同一部书的另一篇序出自祖颐,说他「周流四方,复游广陵,踵门而学者云集」——广陵就是扬州。生卒年都没有记载,通行的约 1249 与约 1314 是后人推的,也有推作 1260 年前后生的。他留下两部书:1299 年的《算学启蒙》三卷二十门二百五十九问,由扬州的赵元镇出资刊印,从九九、九归、斤两换算讲起,一直讲到天元术;四年后的《四元玉鉴》三卷二十四门二百八十八问,还是赵元镇掏钱刻的,祖颐说二书「相为表里」,「前成始,而今成终」。

《四元玉鉴》的名字就是它的内容:天、地、人、物四元,也就是四个未知数。祖颐的序把这门学问的来路列得很清楚——蒋周、李文一、石信道、刘汝谐诸家书出,「后人始知有天元也」;李德载的《两仪群英集臻》兼有地元,刘大鉴的《乾坤括囊》末了才有两问用上人元;到朱世杰,才按天、地、人、物立成四元。一个未知数的天元术是十三世纪北方几家的成果,李冶的《测圆海镜》(1248)是其中传下来的一部;朱世杰把它推到二元、三元、四元,还配了一整套在筹算板上消元的办法。书里另有两门同样是他那一代的顶点:垛积,把沈括、杨辉那一路的堆垛求和推成一整族;招差,把历家拿来补日行表的差分内插推到四次,并写出了一般的系数。这两部书后来在中国都失传了,清代才先后找回来:《四元玉鉴》由阮元在嘉庆初年得到一部旧抄本,罗士琳补出细草刊行;《算学启蒙》则是罗士琳从京城人手里得到的一部朝鲜重刊本,出自琉璃厂的书肆。

朱世杰肖像
《新编四元玉鉴》卷首「四象细草假令之图」中「四象会元」一叶 ·《宛委别藏》本(江苏古籍出版社 1988 年影印),Wikimedia Commons,公有领域。朱世杰没有画像传世,这里照本馆的老办法放他的书。《宛委别藏》是阮元在嘉庆年间搜访四库未收之书进呈内府的那一套;这一叶上半是三才运元的末尾(「内外相消,四约之……三乘方开之,得弦五步」),接着是四象会元的题与草,底下两格筹式就是本页第一件展品的今式与云式:格中一个「太」字标出常数的位置,负数在末位上斜画一道

生平

  1. 约1249
    生年不详

    通行的 1249 年是推定的,也有推作 1260 年前后。字汉卿,号松庭,燕山人。

  2. 13 世纪后期
    周游湖海二十余年

    莫若序:「以数学名家周游湖海二十余年矣,四方之来学者日众。」祖颐序:「周流四方,复游广陵,踵门而学者云集。」

  3. 1299
    《算学启蒙》

    大德己亥七月既望赵元镇序。三卷二十门二百五十九问,从九九讲到天元术;赵元镇出资刊行。

  4. 1303
    《四元玉鉴》

    大德癸卯上元日莫若序。三卷二十四门二百八十八问,卷首是四元术的四道假令,还有重印的「古法七乘方图」。赵元镇再次出资刻版。

  5. 约1314
    卒年不详

    通行的约 1314 年也是推定的;此后再无关于他的记载。

  6. 1660
    朝鲜全州重刊《算学启蒙》

    全州府尹金始振的重刊序说,他 1657 年居丧养病时得到一部朝鲜「国初印本」,末两纸漫漶过半,请精于算术的任濬补全,于是刊行,附上杨辉的望海岛一章。

  7. 嘉庆初年
    阮元得《四元玉鉴》旧抄本

    阮元自己的话:「元昔抚浙时获得玉鉴旧钞本,拟演细草未果。」《宛委别藏》里收着这部书的抄本。

  8. 道光年间
    罗士琳补细草

    甘泉罗士琳得到阮元那部的写本,补全细草刊布。本页的演示讲的那几道题,今天读得懂,靠的就是这一次补草。

  9. 1839
    扬州据朝鲜本影刊《算学启蒙》

    罗士琳从京城人手里得到一部琉璃厂书肆里的朝鲜重刊本,阮元作序,列出七条证据判定它确是朱氏原书;扬州同郡学人据朝鲜原刻本缩版影刊。

展品厅

绝大多数展品都可以亲手把玩——这是本馆的立馆之本;少数以叙述为主的,做成故事展签。

镇馆之宝 · 亲手玩

四象会元:四个未知数,一张筹式

句、股、弦、黄方带句股弦各设一元,四个式子摆进同一张算筹格子,一元一元消掉,最后剩一条 4u² − 7u − 686 = 0。

4u27u686=(u14)(4u+49)=04u^2 - 7u - 686 = (u - 14)(4u + 49) = 0

天元术只设一个未知数,一条方程写成一竖列算筹:常数那一格旁边注一个「太」字,其余各格依次是未知数各次幂的系数。朱世杰把这张格子往四个方向同时铺开:「立天元一于下,地元一于左,人元一于右,物元一于上」,太居中;天元与地元相乘的项落在左下,天元与人元相乘的落在右下,以此类推。这样一格格摆下去,一张筹式就是一条含四个未知数的方程。卷首最后一道假令「四象会元」这样问:股乘五较与弦幂加句乘弦相等;句除五和,与股幂减句弦较相同;问黄方带句股弦共几何。立天元为句、地元为股、人元为弦、物元为所求。五较加起来是 2 倍的弦,五和是 2 倍句加 4 倍股加 4 倍弦——这两个和他在卷首另画了两幅演段图验过(3、4、5 时是 10 与 42)。于是得到今式、云式,加上勾股本身的三元之式和物元的定义,四式齐备。草文只有几句:「四式和会,消而剔之,皆物易天位……以左行消后式……内二行得式,其外二行得式;内外二行相消,三约得开方式。平方开之,得一十四步。」中间的每一步,罗士琳在五百多年后补的细草里都画成了一幅筹式。演示走的是今人的一条路,只做两种动作——把一式代进他式、约去不为零的公因子——四步消到只剩物元:12u³ − 21u² − 2058u = 0,约去 u 再三约,得 4u² − 7u − 686 = 0,正根 14。这条终式与原书的开方式逐数相同,连最后一步也同样是「三约」。欧洲系统地做多元高次方程组的消元,要到十八、十九世纪的贝祖、西尔维斯特那一路结式。四元术自己的局限也写在格子上:天与物、地与人两两相乘的项在这张十字格里没有正位,一般认为这正是它止于四元的原因。

一步一步往下点:四式布列、物易天位、剔去人元、再消地元、得开方式;左边四幅筹式是题目本身

四个未知数各占一个方向:句在下、股在左、弦在右、物在上。四个式子是题目的两句话,加上勾股定理与「黄方带句股弦」本身的定义。

句三股四弦五黄方二,自乘十六段

3 + 4 + 5 + 2 = 14,自乘得 196 步——他把这个平方切成十六段画出来,说「考图认之,其理显然」。

(3+4+5+2)2=142=196(3+4+5+2)^2 = 14^2 = 196

四元术的第一件功夫是乘法:两张筹式相乘,每一格要乘遍另一张的每一格,再按方位落到新格子里。《四元玉鉴》卷首在讲假令之前,先画了三幅「演段图」来练这件事。第一幅「四元自乘演段之图」:「凡习四元者,以明理为务。必达乘除、升降、进退之理,乃尽性穷神之学也。仆立句三、股四、弦五、黄方二为问,并之得式一,自乘为幂,共计一十六段,计幂一百九十六步。考图认之,其理显然。」黄方是勾股形内切圆的直径,等于句股相并减弦,3 + 4 − 5 = 2。四项相并自乘,大正方形被横竖各三刀切成十六块:对角线上四个平方 9、16、25、4,其余十二块两两相等——正是 (x + y + z + u)² 展开的十个不同的项,系数合计 16。第二、三幅把同一个直角三角形的五种「和」与五种「较」各并起来自乘:五和是句股和 7、句弦和 8、股弦和 9、弦和和 12、弦较和 6,并之 42,自乘 1764 步,二十五段;五较是句股较 1、句弦较 2、股弦较 1、弦较较 4、弦和较 2,并之 10,自乘 100 步。这两个和不是随手取的:它们就是第一件展品那道四象会元里要用的五和与五较,卷首先把数验明,后面列式时才敢用。演示把三幅图重新画出来,逐段标上面积;右边把 (x + y + z + u)² 的十个项按四元的方位落到一张小筹式上,天与物、地与人相乘的两项在十字格里没有正位,另外注出。这也是四元术为什么止于四元的一个直观:四个方向已经用满,再多一元就无处可摆。

四元自乘句 3、股 4、弦 5、黄方 2,并之得 14,自乘 196 步,分成 16 段。选中那段是 × = 12

落一,再落一

茭草垛每层一束一束地加;把它的各层总数再摞一次,就是三角垛;再摞一次、再摞一次——他一路推到第五种,并给每一种写出一次算完的开方式。

k=1n(k+p1p)=(n+pp+1)\sum_{k=1}^{n} \binom{k+p-1}{p} = \binom{n+p}{p+1}

垛积在馆里已经走过两程:沈括的隙积术问一堆酒坛有几个,杨辉给三角垛、四隅垛各配了一句口诀——三角垛就是 1 + 3 + 6 + … 那一档,底子 n 时是 n(n+1)(n+2)/6。朱世杰在《四元玉鉴》「茭草形段」「如像招数」「果垛叠藏」三门里把这件事推成了一整族,演示只讲杨辉那一件之外的部分。规则是一句话:下一种垛的第 k 层,恰好是上一种垛从顶上数到第 k 层的总数——名字里的「落一」大致就是这个意思:落一形是茭草垛再累一次,撒星更落一形是撒星形再累一次。茭草垛第 k 层 k 束;落一形(即三角垛)第 k 层是 1 + 2 + … + k;撒星形再落一层;撒星更落一形再落一层;果垛里还有三角撒星更落一形。每往下一种,总数的次数就高一次:底子 n 时依次是 n 取二、取三、取四、取五、取六的组合数。书上的题都是反过来问:「茭草一千八百二十束,欲令撒星形垛之,问底子几何?」答一十三束。术文是「立天元一为撒星底子,如积求之,得四万三千六百八十为益实,六为从方,一十一为从上廉,六为从下廉,一为正隅,三乘方开之」——43680 正是 24 × 1820,而 6、11、6、1 正是 n(n+1)(n+2)(n+3) 展开后的系数。八千五百六十八束作撒星更落一形,底子十四,术文的五个系数 24、50、35、10、1;九百二十四个果子作三角撒星更落一形,底子七,六个系数 120、274、225、85、15、1,而 720 × 924 = 665280 正是术文的实。演示逐一与术文对过,全部相同。这些总数排在一起,就是贾宪那张表的一条条斜线——那张表在同一部书的卷首以「古法七乘方图」之名重印过一次。同一门里还有岚峰形、四角垛一类,第 k 层要再乘上 k 或换成平方,这里不一一演。

三角落一形(撒星形)底子 13:逐层 1、4、10、20、35、56……,合计 1820正是书上那一问的积 1820。

招兵十五日,四位并之

第一天招 27 人、第二天 64 人、第三天 125 人……十五天共几人?他先求上差 27、二差 37、三差 24、下差 6,各乘一个垛积数,四位相加:二万三千四百。

《四元玉鉴》卷中「如像招数」五问,全是官府招兵、差夫一类的题,招的人数每天按一个规律变。第五问:「今有官司依立方招兵,初招方面三尺,次招方面转多一尺。每人日支钱二百五十文。已招二万三千四百人,支钱二万三千四百六十二贯。问招来几日?」第一天招 3³ = 27 人,第二天 4³ = 64 人,依此类推。问句后面附了一段「或问还原」,把正着怎么算写了出来:「求得上差二十七,二差三十七,三差二十四,下差六。」这是一张差分表的左端:27、64、125、216、343 逐项相减得 37、61、91、127,再减得 24、30、36,再减得 6、6,到第四次就是零。接着:「今招为上积;又今招减一为茭草底子积,为二积;又今招减二为三角底子积,为三积;又今招减三为三角落一积,为下积。以各差乘各积,四位并之,即招兵数也。」十五天:27 × 15 + 37 × 105 + 24 × 455 + 6 × 1365 = 405 + 3885 + 10920 + 8190 = 23400,与逐日硬加一个不差。支钱一样做,各积换成高一档的垛:27 × 120 + 37 × 560 + 24 × 1820 + 6 × 4368 = 93848 人日,乘二百五十文,正是二万三千四百六十二贯。用今天的话说,他写出的是前向差分的一般公式:各阶差分乘上相应的组合数——而那些组合数,正是上一件展品里的茭草、三角、三角落一诸垛。这件事的来路要分层写:隋刘焯的《皇极历》已用等间距的二次内插,一行的《大衍历》用不等间距的二次内插,1280 年郭守敬等人的《授时历》用到三次差来推太阳的行度;朱世杰把它推到四次,而且系数的规律一眼看得出可以往上走。欧洲同一个公式出自格雷戈里 1670 年的一封信与牛顿 1670 年代的手稿,晚了三百多年,两边互不相知。

立方招兵 15 日:四项相加 23400 人,逐日硬加也是 23400正是书上的二万三千四百人、支钱二万三千四百六十二贯。

一纵十横,从净到无量数

《算学启蒙》开卷先教摆算筹、背名数:个位竖摆、十位横摆;最大的数叫无量数,是 10 的 128 次方,最小的叫净,是 10 的 −128 次方。

1299 年的《算学启蒙》是一部给初学者的书,卷首一篇「总括」把入门要背的东西列在一处:九九、九归除法、斤下留法、明纵横诀、大数之类、小数之类、斛斗与斤秤的起率、古今圆率、明正负术、明乘除段、明开方法。明纵横诀教怎么把数摆成算筹:「一纵十横,百立千僵,千十相望,万百相当。满六已上,五在上方;六不积聚,五不单张。」个位、百位、万位竖着摆,十位、千位横着摆,相邻两位一纵一横才不会看串;六以上用一根筹当五放在上面。前四句的意思《孙子算经》已有,后面几句是摆六到九的规矩。大数之类从一十百千万数起,「万万曰亿,万万亿曰兆」,此后每一级都是前一级的万万倍:京、陔、秭、壤、沟、涧、正、载、极,接着是恒河沙、阿僧祇、那由他、不可思议、无量数——后五个是佛经里的词。按他的写法数下来,无量数是 10 的 128 次方。小数之类从分、厘、毫、丝、忽、微、纤、沙逐位往下,此后也是每级万万分之一:尘、埃、渺、漠、模糊、逡巡、须臾、瞬息、弹指、刹那、六德、虚、空、清、净——净是 10 的 −128 次方。两头恰好对称,这是本馆照原文逐级数出来的,古人没有这样说过。同一篇「明乘除段」里还有一句「同名相乘为正,异名相乘为负」,是中国书里明文写出的负数乘法法则;这条规则本馆婆罗摩笈多那一页已经讲过,628 年早在他的书里。演示把几个出自这两部书的数照纵横诀摆成算筹——四元术那张筹式里的数就是这么摆的,负数在末位上斜画一道——再把整张名表排在一根对数轴上。

23400 摆成 5 位算筹,纵横相间。名表上选中的是无量数等于 10 的 128 次方

周游湖海二十余年

两部书都在扬州刻成,也都在中国失传;五百多年后,扬州人阮元替它们各写了一段找回来的经过。

关于朱世杰本人,能说的都在序里。莫若说他「以数学名家,周游湖海二十余年矣,四方之来学者日众」;祖颐说他「周流四方,复游广陵,踵门而学者云集」。1299 年他在扬州编成《算学启蒙》,当地的赵元镇出资刻版,序末署「惟扬学算赵城元镇」;1303 年《四元玉鉴》成书,赵元镇又一次「备己财,鸠工绣梓」。两部书此后的命运走了两条路。《算学启蒙》东传朝鲜:1660 年全州府尹金始振作重刊序,说他 1657 年居丧养病,得到一部朝鲜「国初印本」,末两纸漫漶过半、几不可辨,请精于算术的任濬补全,又得一部抄本对校,「果不差毫厘」,于是刊行,卷尾还附了杨辉的望海岛一章。这部书也传到了日本,建部贤弘为它作过和文的注解《算学启蒙谚解》。在中国,两部书都没了踪影。阮元 1839 年为《算学启蒙》作的序,把找回来的经过写得很细:他在浙江做巡抚时得到一部《四元玉鉴》的旧抄本,想补演细草没有做成;甘泉的罗士琳得到这部抄本的写本,补全细草刊行,却以没见过《算学启蒙》为憾;后来罗士琳又从京城人手里得到一部朝鲜重刊本,是在琉璃厂的书肆里找到的。阮元列了七条证据证明它确是朱氏原书——两书行款都是十行十九字、术文同样低一格二格,《四元玉鉴》里一个秤是十五斤,恰与《算学启蒙》的斤秤起率相合,如此之类——于是扬州的学人照朝鲜原刻缩版影刊,连错字也照留,另在字旁作记。阮元自己也是扬州人,他在序里数了四件「奇」事,其中一件是:这部书成于大德己亥七月既望,到京城寄书到扬州,前后五百四十年,年月日都对得上。

故事展签

传承

他的工作没有留在十八世纪——每条链的终点,都是你今天正在使用的东西。

1303:四个未知数摆进一张筹式,一元一元消去贝祖、西尔维斯特的结式,十九、二十世纪的消元理论与格罗布纳基今天的计算机代数系统与机器人运动学求解器,解多元多项式方程组仍靠消元
1303:上差、二差、三差、下差各乘一个垛积数,四位并之格雷戈里–牛顿前向差分公式,天文历表与数表的插值数值逼近里的插值多项式:传感器补点、动画补帧、游戏里的平滑移动
1303:茭草、三角、撒星……一族垛,逐层再累加一次组合数的累加恒等式(今称曲棍球棒恒等式)算法分析里数嵌套循环的次数:三层循环的计数正是一个三角垛
1299:一纵十横,个位竖摆、十位横摆位值制记数与零的占位今天的计算器与计算机仍按位值存放每一个数,读错一位就差一个量级
1303:句三股四弦五黄方二,四项自乘十六段多元多项式的乘法:每一项乘遍另一式的每一项,再按次数归位计算机图形里贝塞尔曲面的求值与细分,底下都是多项式求值

语录

以数学名家周游湖海二十余年矣,四方之来学者日众。

—— 莫若《四元玉鉴》前序,大德癸卯(1303)上元日。说这话的是给他作序的人,不是他本人

周流四方,复游广陵,踵门而学者云集。

—— 祖颐《四元玉鉴》后序。广陵即扬州;同一篇序里说《算学启蒙》与《四元玉鉴》「相为表里」

凡习四元者,以明理为务。必达乘除、升降、进退之理,乃尽性穷神之学也。

—— 《四元玉鉴》卷首「四元自乘演段之图」,这一段是朱世杰自己的话(「仆立句三、股四、弦五、黄方二为问」)

一纵十横,百立千僵,千十相望,万百相当。满六已上,五在上方;六不积聚,五不单张。

—— 《算学启蒙》卷首总括「明纵横诀」,据道光十九年扬州据朝鲜本影刊本