查看原文
其他

来认识一下熟练高位数四则运算、复杂分数运算、勾股定理和开方的杜甫

谢思炜 程门问学 2022-07-15



杜甫有一首《不归》诗,怀念一位从弟:


河间尚征伐,汝骨在空城。

从弟人皆有,终身恨不平。

数金怜俊迈,总角爱聪明。

面上三年土,春风草又生。


宋代蔡梦弼《草堂诗笺》解释其中“数金”一语:“数,所具切,计也。谓幼之时识钱数也。”清仇兆鳌注引明胡夏客说:“数金,用‘河间姹女数钱’语,以应河间。”如果按蔡氏所说,“数金”就是年幼时识钱数,未免有点太小瞧这位从弟了。“河间姹女工数钱”则是汉代童谣(见《后汉书·五行志》),唐人常用此典来歌咏妓女,原文也不能改成“数金”,应该和这首诗没有关系。实际上,诗中此句是讲从弟“总角”时学习聪颖,“数金”是讲他的计算能力。《九章算术》卷七有这样的例题:“今有共买金,人出四百盈三千四百,人出三百盈一百,问人数、金价各几何?答曰:三十三人,金价九千八百。”金不仅是交易物,而且用于计算物值、表示物价,所以常常被用来当作演算例题。杜甫和我们今天的看法差不多,认为数学能力可以代表一个人的聪明程度。我们从这首诗可以了解到唐代士人接受数学教育的情况。


那么,杜甫本人的数学能力达到什么水平呢?下面从他的文章里找一些证据。肃宗上元二年(761),杜甫在西川蜀州为唐兴县令王潜作《唐兴县客馆记》,结尾说:


自辛丑岁秋分大馀二,小馀二千一百八十八,杜氏之老记已。


这里所说的秋分大馀、小馀,是表示节气的干支日和时刻。大馀表示干支日,小馀表示时刻。由于唐代多次改历,不同历法设定的日分数不同,因此推算出的小馀数值也不相同。根据杜甫提供的大馀、小馀数值加以验算,结果证明他所依据的是唐玄宗开元年间颁行的《大衍历》。


古代历法都会设定一个历法起始时间,称上元。《大衍历》给出自上元至开元十二年(724)的年数(称积算)为96961740年。据此推算,自上元至761年的积算为96961777年。历法还要设定一个日分数,《大衍历》设定的日分数(称通法)为3040分。一个回归年(即二十四节气一循环)为日,所含日分共1110343分(称策实)。


用策实乘以积算,所得结果称作中积分,即从上元开始到运算所求这一年的天正冬至的总日分。到761年应为:



以中积分除以通法3040,所得结果即是积日:



积日满60(即干支一周,《大衍历》称为爻数)即除去,剩下的馀数称作大馀。小馀则是不满一日日分数(在《大衍历》中是3040)的馀数。在此例中,积日/60的整数部分为590245780,这样就可以得出761年冬至的大、小馀:



所得结果中的整数28,即是大馀。根据大馀数可以求得干支日,不过要从甲子次日起算,数到28是壬辰,也就是此年冬至日的干支。所得结果中的小数部分即是小馀:0.78651×3040=2390.9904(日分)。


求出冬至日的大馀、小馀,然后可以根据“三元之策”推求其他节气的大馀、小馀。《大衍历》给出的“三元之策”公式是:“三元之策,一十五;馀,六百六十四;秒,七。”(见《旧唐书·历志》)即每一个节气所含日数为(参见张培瑜等《中国古代历法》第八章大衍历,中国科学技术出版社2008年,第487页)


从冬至到秋分共18个节气,用此年冬至小馀加18个节气整日之外的馀数:



满3040为一日,除去:



所得结果2188,就是此年秋分小馀。


冬至大馀加18个节气整日数,再加小馀满整日数的4日:



满60(爻数,干支一周)即除去:



得此年秋分大馀2。据此推算出此年秋分在八月十三日丙寅。


以上演算结果与杜甫给出的761年秋分大、小馀数据完全吻合。肃宗时期已颁行《至德历》,杜甫特意给出的这两个数据应当是他据《大衍历》自己推算出的结果,其中需要进行高位数的四则运算和相当复杂的分数运算。杜甫是借用这种方式来表达他对开元盛世的怀念。这表明他年轻时曾学习过历法,并掌握其中基本的演算方法。


杜甫还作有《唐故范阳太君卢氏墓志》,卢氏是他的继祖母,也就是他祖父杜审言的继室。文中记述卢氏下葬情况:


将入著作之大茔,在县首阳之东原,我太君用甲之穴,礼也。……茔内西北去府君墓二十四步,则壬甲可知矣。


在此大茔中,府君(杜审言)葬壬穴,卢氏后葬取甲穴,所采用的是唐代流行的六甲八卦冢葬法。其法是将墓地横向、纵向皆七分之,共得四十九穴,中心一穴称地心明堂。其外三重,为天、地、人穴。帝王用天穴(中八穴),诸侯用地穴(次十六穴),卿大夫以下用人穴(最外一重)。人穴依二十四方位排列,但其中只有甲、丙、庚、壬四穴为吉穴,其他二十穴不可用。杜审言取壬穴,是因为杜姓属于五姓(宫商角徵羽)中的商姓,利壬穴。壬在北,甲在东,府君墓恰好在卢氏墓西北。


按照葬法,取穴不但要合甲丙庚壬,而且要与十二建除中的“满定成开”相交。其法是将墓地横向、纵向皆十三分之(之所以十三分,是为了留出地心明堂,所以只能取单数),从四个方向起建除(建除又与神煞、干支配合)。在十二建除(建、除、满、平、定、执、破、危、成、收、开、闭)中,满、定、成、开分别位于第三、五、九、十一位。这样,从四个方向分别起建除,就会在由每个方向而来的第三、五、九、十一位上形成四个交汇点,满足“满定成开”相交的要求。这四个交汇点恰好处在甲丙庚壬四个方位的延长线上,也就是甲丙庚壬四穴的取穴处。宋代《地理新书》卷十三有“禽交吉穴之图”:

 


图中虚线表示七分分之,实线表示十三分之。下方(北)壬所相对、左方(东)甲所相对两点,即分别是壬、甲二穴的取穴处。杜甫文中所说“二十四步”,即是这两点之间的斜向距离。如图:



《地理新书》卷十三“禽交六尺立成法”中共列出“甲辰冢壬穴”和“乾冢壬穴”七种规格的墓地大小长阔(宽)。经过逐一对比后,我们发现“乾冢壬穴”中一块规格最大的墓地与杜氏大茔最为吻合。该墓地“东西三十九步,南北五十一步”(1步=5尺)。按“禽交吉穴之图”,对这块墓地各边十三分之,甲穴与壬穴的横向(东西)距离为7⁄13×39(步),纵向距离(南北)为3⁄13×51(步),分别是上图直角三角形中两条边的长度。杜甫文中的“二十四步”,则是这个直角三角形中斜边(弦)的长度。根据勾股定理对此进行验算:



所得数据只有微小差别,几乎可以不计,两者并非偶然相合。


卢氏下葬离杜审言去世已三十馀年,她葬于甲穴,是按照“卧马”葬法,后葬附前葬不能排成一列,而要取“雁行斜向”之势。这时,要找到甲穴的正确位置,需要按照葬书所列墓地规格,由壬穴东行21步(7⁄13×39),再向南行11步3尺8寸(3⁄13×51)即得,然后可以用斜行24步进行验算。两者相合,即保证位置准确无误。这就是杜甫在文中给出“二十四步”数据的原因。葬书只给出长阔步尺,斜向距离需要自己运用数学知识进行演算。尽管勾股定理的实用性很强,普通土木工人也会运用“勾三股四弦五”的口诀找方(直角),但要进行上面这例运算,就必须掌握《九章算术》第九章中才介绍的勾股定理公式以及开方


从以上这两个例子来看,杜甫的数学知识虽然还不能与数学家相提并论,但放到现在,还是能够与一般接受中等教育的人一比高下的。


>原题《杜甫的数学知识》,载《古典文学知识》2013年第2期


【相关阅读】

莫砺锋:读杜甫诗的正确姿势


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存