秦九韶著作,秦九昭的大衍求一术是怎么回事?
大衍求一术
中国古代求解一类大衍问题的方法秦九韶著作。大衍问题源于《孙子算经》中的“物不知数”问题:“今有物,不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”这是属于现代数论中求解一次同余式方程组问题。宋代数学家秦九韶在《数书九章》(1247年成书)中对此类问题的解法作了系统的论述,并称之为大衍求一术。德国数学家C.F.高斯是在1801年才建立起同余理论的,大衍求一术反映了中国古代数学的高度成就。 秦九韶在《数书九章》中明确地系统地叙述了求解一次同余组的一般计算步骤。秦的方法,正是前述的剩余定理。我们知道,剩余定理把一般的一
的一组数Ki的选定。秦九韶给这些数起名叫“乘率”,并且在《数书九章》卷一“大衍总术”中详载了计算乘率的方法——“大衍求一术”。
为了介绍“大衍求一术”,我们以任一乘率ki的计算作例。如果Gi=
Gi≡gi(modai),
于是kiGi≡Kigi(modai),
但是因为kiGi≡1(modai),
所以问题归结为求ki使适合kigi≡1(modai)。秦九韶把ai叫“定数”,gi叫“奇数”,他的“大衍求一术”,用现代语言解释,实际就是把奇数gi和定数ai辗转相除,相继得商数q1、q2、……qn和余数r1、r2、……rn,在辗转相除的时候,随即算出下面右列的c值:
秦九韶指出,当rn=1而n是偶数的时候,最后得到的cn就是所求乘率ki。如果r1=1而n是奇数,那么把rn-1和rn相除,形式上令qn+1=rn-1-1,那么余数rn+1仍旧是1,再作cn+1=qn+1Cn+Cn-1,这时n+1是偶数,cn+1就是所求的ki。不论哪种情形,最后一步都出现余数1,整个计算到此终止,秦九韶因此把他的方法叫做“求一术”(至于“大衍”的意思,秦九韶本人在《数书九章》序中把它和《周易》“大衍之数”相附会)。可以证明,秦九韶这一算法是完全正确,十分严密的式。
在秦九韶那个时代,计算仍然使用算筹。秦九韶在一个小方盘上,右上布置奇数g,右下布置定数a,左上置1(他叫它做“天元1”),然后在右行上下交互以少除多,所得商数和左上(或下)相乘并入左下(或上),直到右上方出现1为止。下页就是秦九韶的一般筹算图式,右边是一个数字例子(g=20,a=27,K= c4=23)。
秦九韶在《数书九章》中采集了大量例题,如“古历会积”、“积尺寻源”、“推计土功”、“程行计地”等等,广泛应用大衍求一术来解决历法、工程、赋役和军旅等实际问题。在这些实际问题中,模数ai并不总是两两互素的整数。秦九韶区分了“元数”(ai是整数)、“收数”(ai是小数)、“通数”(ai是分数)等不同情形,并且对每种情形给出了处理方法。“大衍总术”把“收数”和“通数”化成“元数”的情形来计算,而对于元数不两两互素的情形,给出了可靠的程序,适当选取那些元数的因子作定数而把问题归结为两两互素的情形①。所有这些系统的理论,周密的考虑,即使以今天的眼光看来也很不简单,充分显示了秦九韶高超的数学水平和计算技巧。
秦九韶小时曾跟随他父亲到南宋京城杭州,向太史局(主管天
天元
奇gi
1,20
定ai
27
1,
gi
1,20
c1=q1,
r2
1,7
(q1)
(q2)
c2=c1q2+1,
r2
3,6
c1,
r1
1,7
cn-2,
rn-2
3,6
cn-1=cn-2qn-1+cn-3,
rn-1
4,1
(qn-1)
(qn)
cn=cn-1qn+cn-2,
1
23,1
cn-1,
rn-1
4,1
文历法的机构)的官员学习天文历法,“大衍求一术”很可能就是他总结天文历法计算上元积年方法的结果。但是“大衍求一术”似乎没有为他同时代的人所充分理解。明中叶以后几乎失传。一直到清代,“大衍求一术”又重新被发掘出来,引起了许多学者(张敦仁、、骆腾凤、等)的兴趣。他们对“大衍求一术”进行了解释、改进和简化,其中对模数非两两互素的情形给出了更加简明的方法,但是时代已是晚清。
从“物不知数”题到秦九韶的“大衍求一术”,我国古代数学家对一次同余式的研究,不仅在中国数学史上而且在世界数学史上占有光荣的地位。在欧洲,最早接触一次同余式的,是和秦九韶同时代的意大利数学家裴波那契(1170—1250),他在中给出了两个一次同余问题,但是没有一般的算法。这两个问题从形式到数据都和孙子物不知数题相仿,整个水平没有超过。直到十八、十九世纪,大数学家欧拉(1707—1783)于公元1743年、高斯(1777—1855)于公元1801年对一般一次同余式进行了详细研究,才重新获得和秦九韶“大衍求一术”相同的定理,并且对模数两两互素的情形给出了严格证明。欧拉和高斯事先并不知道中国人的工作。公元1852年英国传教士伟烈亚力(1815—1887)发表《中国科学摘记》,介绍了《孙子算经》物不知数题和秦九韶的解法,引起了欧洲学者的重视。1876年,德国马蒂生(1830—1906)首先指出孙子问题的解法和高斯方法一致,当时德国著名数学史家康托(1829—1920)看到马蒂生的文章以后,高度评价了“大衍术”,并且称赞发现这一方法的中国数学家是“最幸运的天才”。直到今天,“大衍求一术”仍然引起西方数学史家浓厚的研究兴趣。如1973年,美国出版的一部数学史专著《十三世纪的中国数学》中,系统介绍了中国学者在一次同余论方面的成就,作者力勃雷希(比利时人)在评论秦九韶的贡献的时候说道:“秦九韶在不定分析方面的著作时代颇早,考虑到这一点,我们就会看到,萨顿②称秦九韶为‘他那个民族、他那个时代、并且确实也是所有时代最伟大的数学家之一’,是毫不夸张的。”