Li Ye · 1192–1279

李冶

他立天元一为城的半径,把一整套几何题都写成了一竖列算筹;临终叫儿子把平生著述烧掉,只留下这一部

(480x)(200x)=2x2(480 - x)(200 - x) = 2x^2
《测圆海镜》卷二「正率一十四问」的末一问(1248):立天元一为城的半径 x,股圆差 480 − x 乘句圆差 200 − x 是「半段黄方幂」,倍天元幂 2x² 也是半段黄方幂,两式相消,开平方得半径 120 步。这是全书第一道用天元术列出的方程。

李冶,字仁卿,号敬斋,真定栾城(今河北栾城)人;四库本等处也写作李治。《元史》卷一百六十有他的传:金末考中进士,授高陵县主簿,还没到任,又被调去知钧州。壬辰年(1232)蒙古军破钧州,他换了平民的衣服北渡黄河,流落在忻州、崞县之间,「聚书环堵,人所不堪,冶处之裕如也」。他的算学就是在这些年里做成的:1248 年写成《测圆海镜》十二卷,自序说少年起就喜欢算数,总嫌求圆的各种办法牵强,「老大以来,得洞渊九容之说,日夕玩绎」,于是推演开去,「遂累一百七十问」;1259 年又写成《益古演段》三卷,把一部旁人的《益古集》重新「移补条段、细翻图式」,给初学的人看。这两部书是今天传下来讲天元术的书里最早的两部——所谓天元术,就是先设一个未知数、按题意列出方程,再用开方法求它的正根。

忽必烈即位之前在潜邸召见过他,问河南哪些官吏贤能、魏征曹彬如何、天下怎么治理,他答:「夫治天下,难则难于登天,易则易于反掌。」后来他住到元氏县,在封龙山下买了田讲学,「学徒益众」。1260 年忽必烈即位再请他出来,他以老病恳辞;至元二年(1265)以翰林学士召,到职一个月又以老病辞去,卒于家,年八十八(通行作 1279 年)。他一生著述很多,文集四十卷、《泛说》四十卷、《古今黈》四十卷,今天传下来的主要是《敬斋古今黈》(已非四十卷原貌)与这两部算书。他的天元术在明代失传了:顾应祥为《测圆海镜》作分类释术,自己在序里说「立天元一,无下手之术」;到清初梅瑴成拿西洋传来的借根方与它对照,才重新读懂。1797 年李锐据阮元所藏旧抄本逐式校算,这部书才又刻了出来。

李冶肖像
《测圆海镜细草》卷一首叶「圆城图式」 · 知不足斋丛书本(嘉庆三年 1798 年阮元序,李锐校),Wikimedia Commons(CADAL 扫描),公有领域。李冶没有同时代的画像传世,流传的像都是今人所绘,这里照本馆的老办法放他的书。这一叶就是全书一百七十问共用的那张图:一个大句股形,一座圆城切在三条边上,天、地、乾、日、月、山、川、东西南北诸点各有名字,由这些点割出的十五个小句股形,名字和边长都在后面几页列着。右边署「翰林学士知制诰同修国史栾城李冶撰」

生平

  1. 1192
    生于真定栾城

    《元史》说他卒时「年八十八」,照通行的卒年 1279 上推。字仁卿,号敬斋。

  2. 金末
    登进士第

    「调高陵簿,未上,辟知钧州事。」

  3. 1232
    钧州城溃,北渡

    「岁壬辰,城溃,冶微服北渡,流落忻、崞间,聚书环堵,人所不堪,冶处之裕如也。」

  4. 1248
    《测圆海镜》

    自序署「戊申秋九月晦日栾城李冶序」。十二卷一百七十问,卷一是圆城图式与识别杂记,卷二起全是问题。

  5. 潜邸时
    忽必烈召见

    问治国,答「难则难于登天,易则易于反掌」;又说天下未尝乏材,求则得之。《元史》没有写是哪一年。

  6. 1259
    《益古演段》

    自序署「大元己未夏六月二十有四日」。六十四问,每问先用天元术列式,再用条段图讲这条式子是图上的哪几块。

  7. 晚年
    封龙山讲学

    「冶晚家元氏,买田封龙山下,学徒益众。」

  8. 1260
    辞聘

    「及世祖即位,复聘之,欲处以清要,冶以老病,恳求还山。」

  9. 1265
    翰林学士,一月即辞

    「至元二年,再以学士召,就职期月,复以老病辞去。」

  10. 1279
    卒于家

    通行的卒年。临终对儿子克修说:平生著述死后可以烧掉,只有《测圆海镜》「后世必有知者」。

  11. 1282
    《益古演段》刊行

    至元壬午砚坚序:《测圆海镜》刻成之后,他的旧识李师征又请人把这一部刊行。

  12. 1797
    李锐校《测圆海镜》

    嘉庆二年李锐跋:阮元寄来所藏旧抄本,他「依术布算,订其算式」;次年收入知不足斋丛书刊行。

展品厅

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

镇馆之宝 · 亲手玩

立天元一为半径

出西门南行四百八十步有树,出北门东行二百步看见它——城有多大?他设半径为天元一,四步列出一条方程,开出一百二十步。

(480x)(200x)2x2=96000680xx2=0(480 - x)(200 - x) - 2x^2 = 96000 - 680x - x^2 = 0

《测圆海镜》卷二「正率一十四问」,前十三问都是套一条现成的「法」直接算出城径;到第十四问,他换了一个办法:「立天元一为半径。」天元一就是今天的未知数 x。接着把题里的量一个个写成它的式子:南行四百八十步内减天元,得股圆差;东行二百步内减天元,得句圆差;两者相乘,是「半段黄方幂」,先放在一边(寄左);再把天元自乘、加倍,这也是半段黄方幂;两式「相消」,剩下的就是一条方程,开平方得半径一百二十步,城径二百四十步。每一个中间式子,书里都摆成一竖列算筹:一格一个系数,旁边注一个「元」字标出哪一格是一次项;负数不另换颜色,而是在末位的筹上斜画一道。清代李锐校这部书时在这一问下写了一段长按语,把这套记法讲得很清楚:「斜画者少之记也」,「元字下必太,太字上必元,故有元字不记太」——在《测圆海镜》的筹式里,常数在最下,往上一层是一次项,再往上是平方;这一点他后来在《益古演段》里倒了过来。设未知数的想法不是他一个人的,十三世纪北方有好几家书讲天元,朱世杰的《四元玉鉴》后来把它推到四元;可那几家的书没有传下来,这一部是今天能读到的最早的一部。同时代南方的秦九韶在 1247 年的《数书九章》里也写「立天元一」,那是大衍求一术里左上角摆的一个一,与未知数无关——四库馆臣的提要把两者当成了一回事。

一步一步点:立天元、股圆差、句圆差、相乘寄左、倍天元幂、相消;左边是题目的图,右边是那一步的筹式与今天的写法

6 步:与左相消,如法开之。筹式从上到下是 x 的高次到常数,今式读作 −x² − 680x + 96000 = 0,正根 120

一座城,十五个句股形

全书一百七十问只问一件事:这座圆城的直径。他先画一张图,给图上每个点起名字,割出十五个句股形,边长全是整数,全是 8 : 15 : 17。

《测圆海镜》卷一开头是一张「圆城图式」:一个大句股形,直角在乾,句(乾到地)三百二十步,股(天到乾)六百步,弦六百八十步;一座圆城切在三条边上,径二百四十步。过城心、过城的上切线与左切线各作一横一纵,与弦相交于日、月、山、川,于是图上多出二十来个有名字的点——天、地、乾、坤、巽、艮、日、月、山、川、东西南北、心、旦、朱、金、泉、夕、青、泛——每三个点围出一个句股形。「总率名号」给其中十五个起了名:通、边、底、黄广、黄长、上高、下高、上平、下平、大差、小差、皇极、太虚、明、叀;「今问正数」把每一形的句、股、弦以及和、较逐一列出,全是整数。本馆照图上的作法把各点坐标算出来,十五形的句股与原文逐一相同,而且全是同一个 8 : 15 : 17 的放大或缩小——这是这张图能处处出整数的缘故。卷二前十问里有九问就在这张图上各挑一个句股形(另一问弦上容圆的句股不在图上):两个人从某处出发,一个往东、一个往南,恰好望见,问城径。句股容圆用三事和为法,句上容圆用股弦和,句外容圆用弦较和,弦外容圆用黄方,句外容圆半用句弦差……每一问的法不同,「以句股相乘,倍之为实」这一半不变,除出来都是二百四十步。自序说这些是从「洞渊九容之说」推出来的,洞渊其人今天已不可考。

:句 320、股 600、弦 680卷二「句股容圆」以句股相乘倍之、除以(句 + 股 + 弦),得城径 240。

凡大小差相乘,为半段径幂

卷一的「识别杂记」是几百条这样的句子:哪一段加哪一段等于哪一段、哪两段相乘等于城径自乘的一半。书里只有一个 8 : 15 : 17,这些话换一个三角形还成不成立?

「今问正数」之后是「识别杂记」,一条接一条,全是图上各段之间的关系:「凡句股和即弦黄和」——句加股等于弦加城径;「凡大小差相乘为半段径幂」——大差(股减城径)乘小差(句减城径)等于城径自乘的一半;「虚句乘大股得半段径幂」;「黄广股、黄长句相乘为径幂」;「高股、平句相乘得半径幂」;「明句、叀股相乘,倍之为一段太虚积」……自序说「次列识别、杂记数百条,以穷其理」。这些是他解一百七十问时随手取用的工具:本页第一件那道题列方程,靠的就是第二条——股圆差 480 − x 与句圆差 200 − x 正是大差与小差。可书里从头到尾只有一座城、一个 8 : 15 : 17 的大形,读的人难免疑心:这些会不会只是那组数凑出来的巧合?演示把句股比放开,照原图的作法重画每一个点,六条话的两边都从图上量出来的边长现算,不从公式里抄。拖到哪里,两边都相等,差只在浮点的末位。用今天的话说,图上的十五形都与大形相似,而城径与三边之间有一条线性关系(句 + 股 − 弦),这些乘积的等式都能从这两件事推出来;他没有写推导,只写了结论,一条一条列在那里。

句 : 股 = 0.533,城径 240.00。六条识别杂记两边最大相对差 0.0e+0——不是 8 : 15 : 17 那组数的巧合。

同一问,两个三乘方

丙出南门走一百三十五步,甲出东门走十六步望见丙。设大差为天元,列出一条系数上千亿的四次式;设半径为天元,列出另一条——开出来是同一座城。

《测圆海镜》卷七第二问:「丙出南门直行一百三十五步而立,甲出东门直行一十六步见之。」书里给了两条路,都是三乘方,也就是四次方程。第一条立天元为丙那一形的大差(句弦差),「法曰」把每一个系数怎么来的都写成了文字:丙行步再自之得二百四十六万〇三百七十五,以甲行一十六乘丙行幂得二十九万一千六百,二数相乘得七千一百七十四亿四千五百三十五万为实;益从一百六亿二千八百八十二万;第一廉空;第二廉四十四万四千九百六十;虚常法二千一百六十。本馆逐项复算,每一个中间数都对,而 81 代进去恰好为零;书里接着「依法求之」,由 81 反推城径二百四十。第二条是「又法」:立天元为半城径,股为天元加一百三十五,句为天元加十六,句股相乘再以天元除之得弦,弦幂与句幂股幂之和相消——实四百六十六万五千六百,从六十五万二千三百二十,第一廉八千六百四十,第二廉空,一益隅,开出一百二十。两条式子的系数毫不相像,所设的未知数不同,同一座城就长出两副面孔。全书一百七十问里,这类高次式不少;把一道几何题的条件变成一条式子,是天元术的全部功夫;式子列出来以后的开方,用的是秦九韶那一路的正负开方法,本馆秦九韶一页已经讲过,这里不再演。

立天元为大差:未知数是丙行上的句弦差(大差),式子是四次的,正根 81;x = 60 时 f(x) 为正

方田里的圆池:把方程画成条段

方田中间挖了一个圆池,池外还剩十三亩七分半,田边到池边四面各二十步。《益古演段》先用天元术列出一条式子,再画一张九宫格,告诉你式子里每一项是哪几块地。

(x+40)234x2=3300    14x2+80x=1700(x+40)^2 - \tfrac{3}{4}x^2 = 3300 \iff \tfrac{1}{4}x^2 + 80x = 1700

《益古演段》是 1259 年写给初学者的书,六十四问全是方、圆、田、池的面积题。自序说当时的算家「褊心跼见,不肯晓然示人」,他要「使粗知十百者便得入室」。第一问:方田内有圆池,池外计地十三亩七分半(一亩二百四十步,合三千三百步),从田楞到池楞四边各二十步,求池径。「草」是天元术:立天元一为池径,加倍至步(四十)为田方面,自乘为方积;池径自乘、三因四而一为池积(圆周率取三);相减得虚积,与三千三百相消,得一条平方式,开出池径二十步。接着是「条段」:「真积内减四段至步幂为实,四之至步为从,二分半常法。」再接着是一张三乘三的格子,四角写「减」,四边写「从」,中间一个圆。「义曰」把它说破:外方切成九块,四角各是二十乘二十,共一千六百,从真积里先减掉,剩一千七百为实;四边各是二十乘池径,共八十倍池径,为从;中间池径乘池径的那一块被池占去七分半,剩二分半,为常法。于是 x²/4 + 80x = 1700 这条式子里的每一项,都在图上有一块地可指。筹式的摆法也与《测圆海镜》相反:知不足斋本这一问的末式是常数一千七百在最上、注「太」,其下八十,再下二分五。

池径 20 步时,外方 60 步,池外 3300.00,正好是题里的十三亩七分半(3300 步)。四隅 1600 + 四边 1600 + 中方剩的 100.00

死后可尽燔去

临终前他对儿子说:我一辈子写的东西,死后都可以烧掉;只有《测圆海镜》,后世必定有人懂。

1287 年翰林修撰王德渊为《测圆海镜》写了一篇后序,记下他临终的话:「敬斋先生病且革,语其子克修曰:吾平生著述,死后可尽燔去。独《测圆海镜》一书,虽九九小数,吾常精思致力焉,后世必有知者,庶可布广垂永乎!」王德渊说他于六艺百家无所不通,文集近数百卷,一向谦让不自夸,「惟于此书不忘,称异于易箦之间」。他在 1248 年的自序里其实已经把这份心思写出来了:北宋的王安石编唐诗选,自己说白费了时日;程颢说谢良佐背书是玩物丧志。文史尚且如此,「况九九贱技能乎」?可他「嗜好酸咸,平生每痛自戒敕,竟莫能已」,于是只好自解:技艺做到了头,就是道——「石之斤,扁之轮,非圣人之所与乎?」序的末尾是一句赌气的话:「览吾之编,察吾苦心,其悯我者当百数,其笑我者当千数。乃若吾之所得则自得焉耳,宁复为人悯笑计哉!」他说对了一半。到明代,天元术没有人会了:唐顺之给顾应祥写信,说「立天元一」漫不省为何语;顾应祥为这部书作分类释术,把天元的草都删了,自序说「立天元一,无下手之术」。清初梅瑴成拿西洋的借根方来对照,才认出它就是古代的立天元一法。1797 年,元和李锐从阮元那里拿到一部旧抄本,「依术布算,订其算式」,次年这部书刻进了知不足斋丛书——本页用的正是这个本子。

故事展签

传承

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

1248:立天元一为未知数,按题意一步步写出式子,两式相消得方程韦达、笛卡儿以后的符号代数:设未知数、列方程成了解题的通用办法今天工程软件里的求解器,先把条件写成方程组,再交给数值求根
1248:一座城、一张图、十五个相似的句股形,识别杂记数百条三角形的内切圆、旁切圆与各种边长关系,后来归入初等几何计算几何里判别点、线、圆的位置关系,机器人路径规划要反复求切线
1248:一竖列算筹就是一条方程,每一格一个系数,旁注元与太把多项式存成系数数组,是计算机代数的基本表示多项式求值与数值求根在芯片里一刻不停地跑:计算器的开方、信号处理里的滤波器设计
1259:《益古演段》先列式,再用条段图说明每一项是哪一块面积代数恒等式的几何说明,一直是初学代数的入门路子测量与土地面积的计算:工程测绘里仍要把一块地切成规则的几块再求积
1248:同一问设不同的未知数,列出两条系数全不相像的四次式消元与变量替换:选对未知数,式子的次数与系数会差很多最优化与机器人运动学里,参数化选得好不好决定求解器快慢

语录

数,本难穷,吾欲以力强穷之,彼其数不惟不能得其凡,而吾之力且惫矣。……苟能推自然之理,以明自然之数,则虽远而乾端坤倪,幽而神情鬼状,未有不合者矣。

—— 《测圆海镜》自序,戊申(1248)秋九月晦日

览吾之编,察吾苦心,其悯我者当百数,其笑我者当千数。乃若吾之所得则自得焉耳,宁复为人悯笑计哉!

—— 《测圆海镜》自序的末尾

吾平生著述,死后可尽燔去。独《测圆海镜》一书,虽九九小数,吾常精思致力焉,后世必有知者。

—— 王德渊《测圆海镜》后序(至元二十四年,1287)所记他临终对儿子克修说的话,不是他亲笔

夫治天下,难则难于登天,易则易于反掌。

—— 《元史》卷一百六十本传,忽必烈在潜邸时问「天下当何以治之」,他这样答