按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
在《上缉古算经表》中批① 王孝通:《上缉古算经表》,钱宝琮校点《算经十书》,中华书局1963 年版。评时人称之精妙的《缀术》,“曾不觉方邑进行之术全错不通,刍甍方亭之问于理未尽”,由于《缀术》已经失传,王孝通的说法是否正确,已无从查考,但想来恐有失偏颇。他还宣称,“请访能算之人考论得失,如有排其一字,臣欲谢以千金”,这又未免有些过于自信。以后,宋元数学家创立了天元术、四元术和高次方程数值解法等,取得了更加辉煌的成就。
第四节二次插值法二次插值法(又称二次内插法)的创立,是隋唐数学的又一项重大成就。插值法是根据两个自变量的已知函数值求这两个自变量之间各自变量对应函数值的近似计算方法。这种方法是很有实用价值的。例如,在天文观测中,人们不可能每时每刻都进行观测,因此只能得到日月五星某些时刻在天球上的位置。利用这些观测记录推算日月五星在其他时刻的位置,就要用到插值法,这对于天文计算特别是日月交食的推算是十分重要的。实际上在《周髀》和《九章》中就已有了一次插值(或称线性插值)公式。东汉末天文学家刘洪制订《乾象历》,为计算月球在近地点后n+s 日的共行度数,采用了一次插值公式:f(n+s)=f(n)+s△,其中n 为月球在近地点后运行的整日数,f(n)为对应的月球位置函数,0<s<1,△=f(n+1)-f(n)。此后,曹魏杨伟、姚秦姜岌、刘宋何承天、南齐祖冲之等各家历法计算月行度数时也都采用了这种算法。随着天文学的发展和观测精度的提高,天文学家不仅发现了月球视运动的不均匀性,而且也发现了太阳和五星视运动的不均匀性,也就是说,日月五星的视运动并非是时间的一次函数。为了编制更好的历法,特别是为了精确计算合朔和交食时刻,何承天、祖冲之以前所长期采用的一次插值法,误差太大,已经不能满足这种要求,于是中国天算家开始了新的探索。
隋开皇二十年(600),天文学家刘焯在他所编制的《皇极历》中,在推算日月五星视运动度数时,首先创用了等间距二次插值公式:f nl s f nlsls lsl( ) ( ) ( ) ( )( );+ = + + + +… …221 2 1 222 1 2△ △ △ △△ △其中l 为相等的时间间隔,求太阳视行度数时,l 是一个节气的平均日数,求月行度数时,l 为一日,0<s<l,f(t)是时间t 的函数,表示日月五星的运行度数。当l=1 时,上式可化为:f n s f n ss s l( ) ( )( ); + = + +…△ △22其中△=△1,△2=△2 为各时间点上相应的一级差分和二级差分。这个公式实际上就是后来著名的牛顿插值公式的前三项。这种方法比以前所用的一次插值法精密,利用这个公式计算所得到的历法精确度也有所提高。可惜的是刘焯《皇极历》这部较先进的历法当时并未颁行,直到唐代李淳风才将其计算方法引入《麟德历》中。
由于各个节气之间的时间长短实际上并不相等,即历法中的各个节气是不等间距的,日月五星的视运动也不是匀变速运动,因此用刘焯公式计算的结果仍然存在较大的误差。为了解决这一问题,进一步提高历法的精确度,唐代著名天文学家一行又在此基础上大胆创新,在《大衍历》(727)中创立了不等间距二次插值公式:f f s f t sl lsl lsl l l l( ) ( ) ( ) + = ++ ++ +…。è 。。。 ÷△ △ △ △△ △1 21 2112221 21122其中f(t)为已知值,l1,l2 表示不同的时间间隔。此外,有些学者认为一行还提出了等间距三次差插值法的近似公式①,而有些学者则认为就插值算法本身而言,一行算法与刘焯算法实质完全相同,其分别仅在于以平气或定气为时间间隔的不同②。这些看法究竟是否合适,尚有待于更深入的研究。刘焯和一行的二次插值法影响很大,并且继续有所发展,如晚唐天文学家徐昂编制《宣明历》,在推算太阳和月亮行度时提出了更为简便的插值公式,在一定程度上简化了一行和刘焯的结果。后来宋元数学家又相继创立三次插值法和高次插值法(招差术),在公式内容与形式上已与牛顿插值公式完全一致,更加圆满地解决了与之相关的数学和天文计算问题。
① 严敦杰:《中国古代数理天文学的特点》,《科技史文集》(第1 辑),上海科学技术出版社1978 年版。② 王荣彬:《中国古代历法中的插值法构建原理》,见曲安京、纪志刚、王荣彬:《中国古代数理天文学探析》,西北大学出版社1994 年版。
第五节实用算术的发展与敦煌算书唐代中期以后,普遍推行“两税法”的赋税制度,经济情况得到一定程度的复兴,农业、手工业和商业有了较大的发展。与此相应,人们在日常生活中需要进行计算的机会大量增加,从而产生改进和简化筹算算法的迫切要求,促进了实用算术的发展,并且取得了显著的成就。例如,以《夏侯阳算经》名义流传至今的《韩延算术》,是一部可供地方官吏和平民百姓学习数学知识和计算技术的实用算术书。全书共三卷八十三题,书中收集和征引各家算法及当时法令,保存了宝贵的数学史料。其中记载有将筹算多位数乘除转变为单位数乘除的算法,把要摆放上中下三层的筹算简化为在一个横列里演算。如乘数为35,就可以先乘5,然后乘7。除数为12,可以先折半,然后再除以6。当乘数首位是1 时,又可以“以加代乘”。如乘数是14,可用“身外添四”法,即被乘数不动(这相当于该数乘以10),然后再退一位加上该数的4 倍;乘数是102,可用“隔位加二”法,除数是12,可用“身外减二”法,等等,都在被乘数或被除数筹式本身上进行演算。对于更多位数的乘除,可用类似的方法去处理。如果乘数或除数的首位数不是1,还能采用各种方法将它化为1,然后再来计算。这种算法叫做“求一”或“得一”算法,当时曾受到不少数学家的关注。据史籍记载,晚唐天文学家边冈“用算巧,能驰骋反复于乘除间。由是简捷、超径、等接之术兴,而经制、远大、衰序之法废矣”①。这也从一个侧面反映了唐代学者在简化数字计算方面的成果及其影响。中唐以后乃至宋元时期,改革和简化筹算算法的工作一直在继续着,并且不断有所进展,其中许多成果还被后来的珠算术所吸收,直到珠算完全代替筹算,这一工作方告结束。涉及筹算改革的专门书籍,除《韩延算术》外,还有陈从运《得一算经》七卷,“其术以因折而成,取损益之道,且变而通之,皆合于数”①,江本《一位算法》2 卷,龙受益《算法》2 卷、《求一算术化零歌》1 卷、《新易一法算范要诀》1 卷等,但可惜的是这些著作都已失传了。
据史籍记载,庸宋之际数学著作为数不少,而传留至今者则不多。十九世纪末在敦煌莫高窟藏经洞发现了大批历史文献。在这批文献中包含有四种写本算经②:《算经(并序)》1 卷、《算书》和《算表》,这三种现藏法国国立巴黎图书馆;另两部《算经(并序)》1 卷,其内容与巴黎藏本完全相同,实际上是同一本书,此外还有《立成算经》一卷,这三部书现藏英国伦敦大不列颠博物馆。以上四种算书大致说来可能成书于中晚唐或五代时期,是研究这一时期数学的重要史料。《算经》序中提到“凡算者正身端坐”,“盖意明情乐者,安有不成哉”,等等,在战乱时期一般不会有如此平和的心境,书中还有“又据大唐令文”字样,关于大数记法和度量衡制度与《孙子算经》相同,另外此书有三个抄本,可见在当时是比较流行的,因此《算经(并序)》有可能是唐中期的作品。《算表》标明是五代时后周太祖广顺二年(952)写本。《算书》载有男丁给米,养马给粟,造袍用绵,城楼用兵,石车钩弩,领军出征等问题,显然适应于军事计算的需要,因此这部书可能① 《新唐书》卷二八《历志》。
① 《新唐书》卷五九《艺文志》,《宋史·律历志》。
② 详见李俨:《中国古代数学史料》,上海科学技术出版社1963 年版。以下敦煌算书引文,均转引自此书。写于战乱频仍的五代时期。《立成算经》关于大数记法和度量衡制度趋于简约,与《孙子算经》和《算经(并序)》有所不同,所列算法表也很简明扼要,便于查索,因此可能也是五代时的作品。敦煌藏经洞发现的这四种算书所包含的数学内容主要有算筹记数法、大数记法、度量衡制,以及乘法口诀、四则运算、面积、体积计算和算表等,其中所载算题及乘法、乘方、累加和田亩等计算用表,有些很有实用价值,为唐以前算书所未见。这些来自民间的算书,反映了唐宋之际民间数学教育和数学知识应用的真实情况。
第六节中外数学交流南北朝和隋唐时期,随着佛教的流传,印度的一些天文学和数学著作也传入中国,并且有了中文译本。《隋书·经籍志》著录有《婆罗门算法》3卷,《婆罗门阴阳算历》1 卷,《婆罗门算经》3 卷,但这些书早就失传了,现已无法查考其具体内容。唐代还有一些印度天文学家在当时的司天监工作,主要有瞿昙、迦叶和俱摩罗三家,尤以瞿昙家族的成就最为突出。如著名天文学家瞿昙悉达,曾担任过太史监等官职,编撰有《开元占经》120 卷。在这部书所收的《九执历》中,他所介绍的印度数学知识有印度数码,如用9 个数码符号表示9 个数字,用点表示空位或零,但该书仅用方框表示而没有写出这9 个数码的具体写法,以致印度数码未能在中国流传下来。印度数码亦于中世纪传入阿拉伯国家,后又传入欧洲,经过书写形式上的演变,从而形成了现在世界通用的印度—阿拉伯数�