执历》中曾介绍过印度的正弦表,但球面三角法基本上没有引起中国数学家和天文学家的重视。
沈括在《梦溪笔谈》中首创“会圆术”,把割圆术方法应用于推算弧、弦、矢的关系, 提出了一个由弓形中弦和矢的长度来求弧长的近似公式。他的结果相当于公式: ,其中为弧长, 为相s = c +2vs c2d应弦长,v 为相应矢长,d 为圆的直径。王恂、郭守敬在《授时历》中,根据相似三角形相应各线段成比例的关系,并反复应用沈括“会圆术”,创立了一种推算“赤道积度”和“赤道内外度”(即已知太阳的黄经度数求其赤经度数和赤纬度数)的新算法。这种新算法常被称为“弧矢割圆术”,它与球面三角学中求解球面直角三角形的方法是类同的。在推算过程中,他们还得到了一些新的关系式。这些关系式相当于下列的球面三角公式:sinα=sincsinαcoscossin cos cossinsin cossin cos cosbcc cbcc c=+=+2 2 22 2 2ααα其中c 为黄经,b 为赤经,a 为赤纬,α为黄赤交角。由于当时用于天文计算的中国传统代数学方法并不逊色,并且会圆术公式误差很大,采用圆周率π=3 入算,误差也很大,所得结果并不精确,所以王恂、郭守敬虽然开辟了通向球面三角学的途径,但他们所引入的新方法并没有能够发展起来。一直到十七世纪进行历法改革时由《崇祯历书》等引进西方数学之后,球面三角法才在天文计算等方面得到了广泛的应用。
第五节中国数码和零的符号中国古代演算用算筹,记录数量用一、二、三、四、..十、百、千、万等汉字,这是比较简明方便的。因此,虽然商周甲骨、金文和秦汉简牍中曾出现一些按照算筹形象描绘下来的记数符号,但在很长时期内并未形成一套完整的用于记数和演算的数码。
由于社会和数学本身发展的需要,唐代已开始用数码记数,宋元时期的数码已较完善,而且其使用也更加普遍。现存最早记有数码的著作是唐代敦示36、108、126 等,其数码完全摹仿算筹摆放形式,用空位表示零,记数法也与筹算记数原则相同,但笔划长短不等,不如算筹记数那样整齐。北宋时尚未出现“0”号。
在十三世纪,中国数学有了高度的发展,有些数学方法如高次方程数值解法等的演算程序比较复杂,仅仅依靠文字说明难以讲清楚,因此一些数学家便把解题过程的算草详细记录下来并写入其数学专著,于是出现了较完整的中国数码。如南宋秦九韶《数书九章》和杨辉数学著作所用的数码是:筹记数法中一条横线或竖线代表五。金元时期李冶《测圆海镜》和《益古演段》、朱世杰《四元玉鉴》和《算学启蒙》在论述天元术时所用的数码,则完全采用了算筹记数中九个基数的写法,但笔画长短不齐,并添设了一个零号“○”:零的符号在一套完整的数码中是必不可少的,并且在数学中有重要的意义。有人认为中国数码中的零号是外国传来的,其实并非如此。印度数码和阿拉伯数码早年曾传入我国,如唐代天文学家瞿昙悉达在《开元占经》中曾介绍印度数码,其中用一个圆点作为零号表示空位,元代安西王府所藏铁制纵横图,其数字均为阿拉伯数码,其中也有“0”号,但这些数码当时并未为我国学者所采用。中国数码中的零号是宋元时期我国数学家和天文学家自己创造的。新旧《唐书》、《宋史》等所载各家历法曾用“空”字表示天文数据的空位。为了避免误解,宋代学者又仿照古代用方框“□”表示脱落文字的习惯,用“□”来表示数据中的空位,如南宋蔡沈《律吕新书》将林钟律管的律数118098 记作“林钟十一万八千□□九十八”,将南吕律管的律数104976 记作“南吕十□万四千九百七十六”等。后来,为了书写方便,方框“□”顺笔写成了圆圈“○”,于是形成了中国数码中的零码。现在已知最早使用“○”表示空位的是金《大明历》,其中有“三百○九”、“五百○五”、“二千○七”等等,但《大明历》使用更多的仍是“空”字。直到宋元四大数学家的著作中才普遍使用了零码。
明代以后珠算术逐渐推广,为区分算筹记数位数而采用的纵横相间制已无实际意义,因而在需要用数码记数时,除表示1,2,3 的数码仍兼用纵横二式以防混淆外,其他数码都单用南宋数码的横式,明程大位《算法统宗》称之为“ 暗码” 。后来, 暗码中很长时间的商用暗码(又称苏州码):清末学制改革设立了新式学堂,各地还有许多教会学校,大多采用新编译的数学课本,现在通用的印度-阿拉伯数码才逐渐传播开来。
第六节筹算歌诀的完备和珠算的发明唐宋时期对于实用算术的研究是一个相当活跃的领域,不少人积极从事筹算算法的改进尤其是筹算乘除法的简化工作,并取得了一些重要的进展。如把筹算乘除需要摆放三层的摆法简化为在一个横列里演算,提出了求一、上驱、搭因、重因、增成、身外加减、损乘、九归等等筹算乘除捷法,并且其中一些方法还被编成容易上口和便于记忆的歌诀
>>>点击查看《中国通史》最新章节