法、线性方程组解法、天元术等是一部较全面的数学启蒙书籍。《数学启蒙》曾传入朝鲜和日本产生了一定的影响。这部书清代刻印所依据的是朝鲜翻刻本。朱世杰的代表作《四元玉鉴》记载了他所创造的高次方程组的建立与求解方法(四元术)以及他在高阶等差级数求和(垛积术)、高阶内插法(招差术)等方面的重要成就。美国科学史家乔治·萨顿()在他的名著《科学史导论》中指出:《四元玉鉴》是“中国数学著作中最重要的一部同时也是中世纪最杰出的数学著作之一”。除李冶、朱世杰外赡思《河防通议》中也有天元术在水利工程方面的应用。
天元术是利用未知数列方程的一般方法与现在代数学中列方程的方法基本一致但写法不同。它先要“立天元一为某某”相当于“设x为某某”再根据问题给出的条件列出两个相等的代数式。然后通过类似合并同类项的过程得出一个一端为零的方程。天元术的表示方法不完全一致按照李冶的记法方程aoxn+a1xn…1。+an…1x+an=o可写成如下形式:表示方程各项系数均为筹算数码在常数项旁边记一“太”字(或在一次项旁边记一“元”字)“太”或“元”向上每层减少一次幂向下每层增加一次幂。方程列出后再按增乘开方法求正实根。天元术的出现提供了列方程的统一方法其步骤要比阿拉伯数学家的代数学进步得多。而在欧洲只是到了十六世纪才做到这一点。此外宋代创立的增乘开方法又简化了求解数字高次方程正根的运算过程。因此在这一时期列方程和解方程都有了简单明确的方法和程式中国古典代数学展到了比较完备的阶段。不仅如此继天元术之后数学家又很快把这种方法推广到多元高次方程组如李德载《两仪群英集臻》有天、地二元刘大鉴《乾坤括囊》有天、地、人三元等最后又由朱世杰创立了四元术。“四元术”是多元高次方程组的建立和求解方法。朱世杰在《四元玉鉴》中用天、地、人、物代表四个未知数然后根据已知条件推导出四元(或者二元、三元)高次方程组。这个方程组的表示方法是将其各项系数摆成一个方阵其中常数项右侧仍记一“太”字四个未知数一次项的系数分置于常数项的上下左右高次项系数则按幂次逐一向外扩展各行列交叉处分别表示相应未知数各次幂的乘积。解这个用方阵表示的方程组时要运用消元法经过方程变换(实际上也就是矩阵变换)逐步化成一个一元高次方程再用增乘开方法求出正根。在欧洲直到十八世纪法国数学家贝佐(é)才对多元高次方程组的消元法作了系统的研究。另一方面从e。bzout从四元术的表示法来看这种方阵形式不仅运算繁难而且难以表示含有四个以上未知数的方程组带有很大的局限性。因此中国代数学在这一时期确实展到了顶峰如果要再前进一步那就需要另辟蹊径突破新的难关了。后来清代的代数学的进展是通过汪莱、李锐等对于方程理论的深入研究和引进西方数学这两条途径来实现的。
第二节垛积术对于一般等差数列和等比数列我国古代很早就有了初步的研究成果。
北宋大科学家沈括在《梦溪笔谈》中创“隙积术”开始研究某种物品(如酒坛、圆球、棋子等)按一定规律堆积起来求其总数问题即高阶等差级数求和问题并推算出长方台垛公式。南宋数学家杨辉在《详解九章算法》和《算法通变本末》中丰富和展了沈括的隙积术成果提出了一些新的垛积公式。沈括、杨辉等所讨论的级数与一般等差级数不同前后两项之差并不相等但是逐项差数之差或者高次差相等。对这类高阶等差级数的研究在杨辉之后一般称为“垛积术”。朱世杰对于垛积术作了进一步的研究并得到一系列重要的高阶等差级数求和公式这是元代数学的又一项突出成就。例如朱世杰在《四元玉鉴》中提出了著名的三角垛公式:112111112prrrrprnpnnnnp!!+++…=。=++++ll其中p=1234。在这一串三角垛公式中后式恰好是把前式结果作为一般项的新级数的求和公式。又如岚峰形垛公式:11211121211prrrrprrnpnnnnppn!!''+++…=。=++++++ll·也是很精彩有趣的。他还研究了更复杂的垛积公式及其在各种问题中的实际应用。总结和归纳出这些公式并不是一件轻而易举的事情是有相当难度的。朱世杰究竟如何得到这些公式由于史料缺载至今尚不清楚。朱世杰《四元玉鉴》所载“古法开七乘方图”比杨辉所引贾宪“开方作法本源图”(贾宪三角)多出了平行于两斜边的许多斜线有些学者推测从这些斜线相连的数字关系可以得出一些有意义的结论其中包括推导出某些垛积公式1。1杜石然:《朱世杰研究》载《宋元数学史论文集》科学出版社1966年版。第三节招差术招差术即高次内插法是现代计算数学中一种常用的插值方法。在中国古代天文学中早已应用了一次内插法隋唐时期又创立了等间距和不等间距二次内插法用以计算日月五星的视行度数。但是太阳等天体的视运动并不是时间的二次函数因此仅用二次内插公式推算的结果仍不够精确。唐代天文学家一行已经注意到这个问题并列出一个包括三差的表格。由于当时数学水平所限一行还没有能够给出正确的三次差内插公式。元代天文学家和数学家王恂、郭守敬在所编制的《授时历》中为精确推算日月五星运行的度和位置根据“平、定、立”三差创用三次差内插公式这在数学上是重要的创新同时也把天文历法的计算工作推进了一大步。朱世杰对于这类插值问题作了更深入的研究。他在《四元玉鉴》中成功地把高阶等差级数方面的研究成果运用于内插法得到了一般的插值公式:fnnnnnnn!!;=+=+——+△△△121131223l并且明确指出公式中各项系数恰好是p=123。时的三角垛求和公式。上述插值公式在中国数学史上一般称为“招差术”其用途并不仅仅限于内插法。招差术与垛积术是密切相关的这两者可以互相推演。朱世杰掌握了三角垛公式因而易于推导出一般的内插公式。相反地利用招差术也可解决高阶等差级数的求和问题。因此朱世杰的垛积招差术将宋元数学家在这方面的研究成果推进到了更加完善的地步。在欧洲对招差术先加以讨论的是英国数学家j。格雷戈里(y167o)。此后不久牛顿得到了现在通称牛顿插值公式的一般结果。牛顿插值公式在现代数学和天文学计算中仍然起着重要的作用。朱世杰所现的公式与牛顿插值公式在形式上和实质上都是完全一致的而后者要晚三百多年。招差术的创立、展和应用是中国数学史和天文学史上具有世界意义的重大成就。
第四节弧矢割圆术和球面三角法古希腊、印度和阿拉伯国家的数学家和天文学家从很早的时候起就创用了球面三角法用来解决天文学方面的计算问题。隋唐之际印度天文学开始传入我国如《开元占经》所收《九执历》中曾介绍过印度的正弦表但球面三角法基本上没有引起中国数学家和天文学家的重视。
沈括在《梦溪笔谈》中创“会圆术”把割圆术方法应用于推算弧、弦、矢的关系提出了一个由弓形中弦和矢的长度来求弧长的近似公式。他的结果相当于公式:其中为弧长为相s=netbsp;netbsp;为相应矢长d为圆的直径。王恂、郭守敬在《授时历》中根据相似三角形相应各线段成比例的关系并反复应用沈括“会圆术”创立了一种推算“赤道积度”和“赤道内外度”(即已知太阳的黄经度数求其赤经度数和赤纬度数)的新算法。这种新算法常被称为“弧矢割圆术”它与球面三角学中求解球面直角三角形的方法是类同的。在推算过程中他们还得到了一些新的关系式。这些关系式相当于下列的球面三角公式:sina=sinnetnetnetbsp;netbsp;netbsp;netbsp;2222aaa其中netbsp;为赤经a为赤纬a为黄赤交角。由于当时用于天文计算的中国传统代数学方法并不逊色并且会圆术公式误差很大采用圆周率π=3入算误差也很大所得结果并不精确所以王恂、郭守敬虽然开辟了通向球面三角学的途径但他们所引入的新方法并没有能够展起来。一直到十七世纪进行历法改革时由《崇祯历书》等引进西方数学之后球面三角法才在天文计算等方面得到了广泛的应用。
第五节中国数码和零的符号中国古代演算用算筹记录数量用一、二、三、四、十、百、千、万等汉字这是比较简明方便的。因此虽然商周甲骨、金文和秦汉简牍中曾出现一些按照算筹形象描绘下来的记数符号但在很长时期内并未形成一套完整的用于记数和演算的数码。
由于社会和数学本身展的需要唐代已开始用数码记数宋元时期的数码已较完善而且其使用也更加普遍。现存最早记有数码的著作是唐代敦示36、1o8、126等其数码完全摹仿算筹摆放形式用空位表示零记数法也与筹算记数原则相同但笔划长短不等不如算筹记数那样整齐。北宋时尚未出现“o”号。
在十三世纪中国数学有了高度的展有些数学方法如高次方程数值解法等的演算程序比较复杂仅仅依靠文字说明难以讲清楚因此一些数学家便把解题过程的算草详细记录下来并写入其数学专著于是出现了较完整的中国数码。如南宋秦九韶《数书九章》和杨辉数学著作所用的数码是:筹记数法中一条横线或竖线代表五。金元时期李冶《测圆海镜》和《益古演段》、朱世杰《四元玉鉴》和《算学启蒙》在论述天元术时所用的数码则完全采用了算筹记数中九个基数的写法但笔画长短不齐并添设了一个零号“o”:零的符号在一套完整的数码中是必不可少的并且在数学中有重要的意义。有人认为中国数码中的零号是外国传来的其实并非如此。印度数码和阿拉伯数码早年曾传入我国如唐代天文学家瞿昙悉达在《开元占经》中曾介绍印度数码其中用一个圆点作为零号表示空位元代安西王府所藏铁制纵横图其数字均为阿拉伯数码其中也有“o”号但这些数码当时并未为我国学者所采用。中国数码中的零号是宋元时期我国数学家和天文学家自己创造的。新旧《唐书》、《宋史》等所载各家历法曾用“空”字表示天文数据的空位。为了避免误解宋代学者又仿照古代用方框“□”表示脱落文字的习惯用“□”来表示数据中的空位如南宋蔡沈《律吕新书》将林钟律管的律数118o98记作“林钟十一万八千□□九十八”将南吕律管的律数1o4976记作“南吕十□万四千九百七十六”等。后来为了书写方便方框“□”顺笔写成了圆圈“o”于是形成了中国数码中的零码。现在已知最早使用“o”表示空位的是金《大明历》其中有“三百o九”、“五百o五”、“二千o七”等等但《大明历》使用更多的仍是“空”字。直到宋元四大数学家的著作中才普遍使用了零码。
明代以后珠算术逐渐推广为区分算筹记数位数而采用的纵横相间制已无实际意义因而在需要用数码记数时除表示123的数码仍兼用纵横二式以防混淆外其他数码都单用南宋数码的横式明程大位《算法统宗》称之为“暗码”。后来暗码中很长时间的商用暗码(又称苏州码):清末学制改革设立了新式学堂各地还有许多教会学校大多采用新编译的数学课本现在通用的印度…阿拉伯数码才逐渐传播开来。
第六节筹算歌诀的完备和珠算的明唐宋时期对于实用算术的研究是一个相当活跃的领域不少人积极从事筹算算法的改进尤其是筹算乘除法的简化工作并取得了一些重要的进展。如把筹算乘除需要摆放三层的摆法简化为在一个横列里演算提出了求一、上驱、搭因、重因、增成、身外加减、损乘、九归等等筹算乘除捷法并且其中一些方法还被编成容易上口和便于记忆的歌诀形式。到了元代这种简化筹算乘除法的歌诀经过不断改进而更加简练和完备。这一时期新编成的比较重要的歌诀有“化零歌”、“归除歌诀”、“撞归诀”、“起一诀”等如朱世杰《算学启蒙》记载有“化零歌”:“一退六二五二留一二五三留一八七五”即116oo625216o125316o1875===。;。;。当时一斤等于十六两这个歌诀就是以斤化两的算法。南宋杨辉也有斤价化两价的歌诀:“一求隔位六二五;二求退位一二五;三求一八七五记”显然朱世杰的歌诀更为顺口易记。《算学启蒙》还记载了36句的“九归”(除数为一位数的除法)歌诀如“二一添作五逢二进一十”“三一三十一三二六十二”等等也比杨辉的九归歌诀简单明确。此外在元代还很流行“归除”在做多位数除法时先“归”后“减”�