在祖冲之以前
下面一大一小两个圆,光凭肉眼看,你能说出哪一个的 周长/直径 之比更大吗?
许多年前,小学数学老师说所有的圆周长和直径的比值是一样的。我信了,可是很长时间都不明白为什么。而且,即使明白了,又该如何去计算这个值是多少呢?
在我想出一个方法之前,很不幸地被历史老师提前告知了正确答案:咱老祖宗早就研究过这个了。怎么样,这个老头很眼熟吧,教室的墙上经常可以见到他。这是世界上第一个把圆周率精确到小数点后第6位的祖冲之,这纪录保持了上千年,才被欧洲人打破。哇,那他是怎么算的呢?——历史老师好像对这个不太感兴趣。
后来才知道,祖冲之的算法仍然是个未决的悬案。古书的记载只有《隋书·律历志》中一段文字:“宋末,南徐州从事史祖冲之,更开密法,以圆径一亿为一丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈朒二限之间。密率,圆径一百一十三,圆周三百五十五。约率,圆径七,周二十二。”也就是说,人们只知道祖冲之给出了圆周率介于3.1415926和3.1415927之间这个答案,以及两个π的近似数355/113和22/7。其他就没有线索了。
咦,这个祖先生是南北朝年间的人物,在他之前的人类文明史已有三千多年,在他之后又有一千几百年了。可为什么一提到圆周率人们想起的就是他呢?只是凭着这么简略的一小段,既没说“为什么”又没说“怎么算”的记载?合书四顾心茫然,看来得动手动脚找东西。
从哪里入手呢?嗯,一个人用什么办法解决问题可以从他的知识背景看出些端倪。他读过哪些书,在朝廷里当什么官,或者做过什么工作,都能给我们一些提示。祖冲之家学渊源深厚,祖父是南朝主管皇家土木营建的大匠卿,而冲之本人精通历法和音律。这些技术全都需要算学的功底,可现在已经很难考证当时的学界推崇哪些算学书籍。不过,晚些时候的唐代国子监里把一套《算经十书》作为标准教材,包括《九章算术》、《周髀算经》、《海岛算经》、《孙子算经》、《夏侯阳算经》、《张丘建算经》、《缀术》、《五经算术》、《五曹算经》、和《缉古算经》,用于教习和考试。其中《缀术》是祖冲之所撰,前面六部的成书要早于他的时代。既然被后来的朝廷选为官方教材,说明这些著作的权威性是比较大的,祖冲之很可能熟习了前几部古书中的计算技巧。那么其中有没有人提到过计算圆周率呢?有。而且看这个人留下的文字,闪烁的智慧丝毫不逊于后人。很可能就是这些思想,把祖冲之引向了辉煌的6位小数。
这个人叫刘徽,生于三国时期,为《九章算术》作了很详细的注解。《九章算术》在现代的名声远远盖过算经十书里其他几部,大部分功劳得归于刘先生。其余枝节且按下不表,单看他如何拆解圆周的玄机。
在刘徽之前的古代文字记载中,圆周率是“径一而周三”,也就是整3倍。从中国人的文化传统看,这个值很可能是匠人们(尤其是木匠)在劳动中的经验总结。想象一下,许许多多的匠人砍下大树为房屋搭柱子,他们要比较长度、面积、体积这些最基本的几何关系。在无数次测量中,柱子横截面的周长和直径之比总是在3左右,有时多点有时少些。搭房子不需要计较差的那一点零头,于是业界就把这值取为三,用起来也十分顺当。
《九章算术》里有许多关于圆的问题,原作者给出的答案都是基于这个比值3算的。好,我们在这里停一停。咳咳,你是一个生活在21世纪的新好青年,你知道圆周率至少是3.14。如果有一天寻秦记不幸在你身上上演,被派到赵国去说服他们的木匠,说柱子周长比直径的三倍还要略大,该怎么完成任务呢? 备上一条量衣皮尺去量给他们看么?你有比这更好的建议吗?
刘徽敏锐地察觉到了这个“3”的谬误,批注在《九章》相应的题目下(方田术·三十二)。他的理由聪明又简洁:在圆内画一个内接正六边形,如果圆直径是1的话,这个六边形的周长就是3。而六边形的周长显然比圆小,那么圆周和直径之比肯定大于三了。
更进一步地,从比较正六边形和圆的思路出发,刘徽找到了一个计算圆周长的方法——割圆术,即不断增加圆内接多边形的边数。他说,“割之弥细,所失弥少。割之又割,以至于不可割,则与圆周合体而无所失矣。”边数越多,周长和圆周越接近;无限地割下去,就可以无限趋近于圆周。这样,算出多边形的周长作为圆周长的近似值,除以直径,就得到圆周率的近似值了。边数越多,就越精确。
这个思路并不复杂,落实起来却有个问题需要解决:怎么实现“割之弥细”这个过程呢?在地上画一个大大的圆,然后在圆里画一个很多很多边的多边形,然后计算多边形的周长?你能告诉我96边形的周长有多少吗?有点难。直接算很多边的形状有点无从下手。刘徽迂回了一下,使用递推的办法,从边数少的形状开始往上增加。观察下图:对于一个圆内接正多边形,把每条边对应的圆弧平分,就能得到一个边数是原来两倍的正多边形。如果我们从原来的边长AB能推出新多边形的边长AC,问题就解决了。
因为C是个平分点,整个图形是对称的,那么OC就垂直平分AB,也就是说ADC是一个直角三角形。其中AD的长度是AB的一半,很好算;只要求出CD就能用勾股定理得到AC。而CD又恰好在半径OC上,那么CD等于半径减去OD。OD是多少?哈,ODA也是个直角三角形呀,而且OA就是半径,AD又已知,OD不就用勾股定理算出来了吗?跨过这道坎,通往圆周率的路上就只剩下计算了。
刘徽选择了正六边形作为递推的起点,因为它的边长很容易算,就等于半径的长度,在图中就是OA=AB。把半径设为1尺,他一直算到了96边形的周长。他由96边形求出来的圆周率是3.14。
哦,原来祖冲之还没生下来的时候,算圆周率的方法就已经出来了!而且只要努力地“割之又割”,总能算到更精确的值。虽然祖冲之的结果比3.14多了四位小数,可开创性的工作是来自刘徽嘛!即使祖先生有更好的算法,也已经遗失无记载,而刘先生的评注清清楚楚地写在《九章算术》里面。为什么前者的知名度比后者高那么多呢?挂在墙上的应该是刘先生的画像才对啊!
冷静,冷静。如果数一下从六边形到96边形,不过是6、12、24、48、96,迭代了四次而已,可是计算量已经非常惊人了。那时连算盘都还没发明(我们引以为豪的算盘是宋朝以后才出现的),人们的工具是“算筹”。计算规
则和我们今天用阿拉伯数字进行笔算的方法大同小异,只不过每个数字都用相同数目的小棍儿来代替。想象一下这会产生什么麻烦吧:你写在纸上的3决不会自己变成了12,可是如果摆在个位的三根小棍,有一根不小心被碰到了十位上,接下来的计算就差得十万八千里了。最麻烦的是,在使用勾股定理求边长的时候得开平方。想一想,用一堆小棍子手动开平方啊!从六边形到96边形,这平方一开起来可是昏天暗地,如果边长还带着小数点。。。所以,虽然祖冲之很可能直接采纳了刘徽的思路,他可不是吃干饭捡便宜的闲人。你可以作个弊,用计算器来试试,看祖先生精确到第六位需要一个几边形,算出它的边长需要给哪些数开几次平方。当然,还不过瘾的话可以自己手动开一个看。
更有趣的,祖冲之不仅算得准确无误,他给出的还是上限(盈)和下限(朒),“正数在盈朒二限之间”。这显然是一个考虑更周详的提法。不禁让人猜想,祖先生是不是用外切多边形和内接多边形分别逼近,来求出一大一小两个边界的呢?还有那两个作为近似圆周率的355/113和22/7,是怎么来的呢?尤其这个22/7,和地球另一边一个遥远希腊国度里的数学家,阿基米德,在公元前2世纪得到的结果一模一样。他们的思想会不会有巧合?不得而知,不得而知。
推荐阅读:
关于刘徽对圆周率的注解,这里有一篇文很靠谱,但愿大家打得开:
http://www.nsc.gov.tw/_newfiles/popular_science.asp?add_year=2004&popsc_aid=142








安婆婆是怎么对数学产生兴趣的啊,我打小对数学就头疼。
是啊是啊,我也打小就怕死了数学考试..所以大了以后就找点有趣的东东来弥补一下心灵创伤~~
安婆婆同学的名字起得格路,爱好也相当格路啊。景仰一下。
刘徽在数学方面算是一个天才了……很奇怪为什么名气这么小
刘徽这个太牛了……思维简洁又直观。
安前辈 学识之广博 涉猎之广泛 真是很佩服 我把页面截图 细细读
hoho,我们大家爱google
这儿还有一篇谈圆周率的,和另一个贴在新语丝上引起了好几天讨论,最后差不多分成两个阵营。
http://blog.sina.com.cn/s/blog_4c653d6a01008pm9.html
以前也写过一篇圆周率,没有这篇好,不过那首英文诗还是很牛的。
http://qingfangblog.com/2008/03/31/369/
这个也很酷,我很喜欢这个用图形来表示圆周率的创意。
http://www.sciencenet.cn/htmlnews/2008/6/208049.html
多谢楼上二位推荐,青方谦虚了啊
看了云兄给的那一篇,确实容易引起争议,考察历史上的东西特别是”古代人在想什么”一类的,恐怕得多多追究细节才能有客观点的结论,否则很容易就掉到另一种武断里面去了
呵呵,关于青方说的诗,从百度copy一段下来跟你的配上:
3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6
山巅一寺一壶酒,尔乐苦煞吾,把酒吃,酒杀尔,杀不死,乐尔乐。
4 3 3 8 3 2 7 9 5 0 2 8 8 4 1 9 7 1 6 9 3 9 9 3 7
死珊珊,霸占二妻。 救吾灵儿吧! 不只要救妻, 一路救三舅, 救三妻。
5 1 0 5 8 2 0 9 7 4 9 4 4 5 9 2 3 0 7
吾一拎我爸,二拎舅(其实就是撕吾舅耳)三拎妻。
8 1 6 4 0 6 2 8 6 2 0 8 9 9 8 6
不要溜!司令溜,儿不溜!儿拎爸,久久不溜!
2 8 0 3 4 8 2 5 3 4 2 1 1 7 0 6 7 9 8
饿不拎,闪死爸,而吾真是饿矣!要吃人肉?吃酒吧!
据说出自华罗庚~~~
感谢安婆婆的点评,数学史的最新进展我不是很清楚,但是祖冲之使用割圆术计算圆周率是中学数学教科书上说的,我手头的两个版本的数学史书上也都是这样说的。你的说法我是第一次看到,能给个出处吗?感谢!
个子你误解我的意思了,怪我说得不清楚,呵呵
我这篇写的,正是考证一下“祖冲之使用割圆术计算圆周率”的来龙去脉呀,而祖冲之使用的割圆术一般认为来自于刘徽,这一点相信数学史界已经达成共识了,跟你的资料不会有冲突吧。文中所描述的刘徽的割圆算法,来自刘徽的《九章算术注》,我找不到相应的网页,还请个子去图书馆里翻一翻原著。如果觉得我理解的不准,随时欢迎拍砖头哈。
其实我说的“容易引起争议”,是觉得不太同意你那篇文倒数第二段,关于祖冲之和中国古代数学家的评价。国人对祖冲之的宣传固然显得偏颇,但我觉得也不能说他的贡献仅仅是“算得更精确”而已,这同样不公允。老外的数学史,更多提到的是欧几里德和阿基米德,也不见得比我们更客观。最起码,刘徽的割圆术和阿基米德的割圆术不相上下,如果后者是学问,为什么前者就不算呢?要是静下心把唐宋时期的算学典籍拿来读一读,还是会觉得古人其实很了不起的。可能怎样把东西方的传统融合起来才是最困难的吧。。。
明白你说的重点了。
中国古代数学宋元时代是高峰。出现了很多重要成就,主要表现在高次方程的解法上。但是都是用吴文俊所说的“算法”表达出来的。因为缺少公理化思想,这些算法化的解法都有些局限性,我感觉这些是中国古代数学的缺点,可是吴文俊觉得这些是和“西方数学”并驾齐驱的优点或者特点,这是我一系列数学史评论文字的中心思想。
嗯,看来我断章取义了,好好拜读一下你的系列先
这个诗很牛呀
宋老师能不能介绍一下勾股定理呢?我看到的照片上就一句话,勾三股四玄五,怎么看怎么像木工用尺子量出来的,而不是掌握了平方之间的关系
额。。。宋老师?照片?
额,http://www.nsc.gov.tw/ 要用代理……
虽然一般人很少听过刘徽之名,但现在研究中国数学史的人基本都赞同:刘徽是中国传统数学中最重要的数学家之一,其贡献与重要性都超过祖冲之。
其实我觉得把二人看成是师承关系更好,可以顺着摸清古代中国数学思想的脉路。评价谁比谁更重要,贡献更大,好像没什么意义吧,都是千百年前的人了。
呵呵,两人有师承关系是不错的。除割圆术这一点外,刘徽提出但未解决的球体积公式正是由祖冲之父子解决的。但刘徽在数学方面的成就远不止于此。
祖冲之父子在数学上到底取得了哪些成就,非常遗憾因《缀术》一书的失传,后人知之甚少。否则祖冲之在数学史上的地位可能会更高。毕竟评价一个数学家在数学史上的地位,要根据他有据可查的数学成就。
是的,同意。我也很好奇为什么宋朝的数学家一点名气也没有,他们给出了高次方程的解法,按说也是不小的贡献了。
给出了高次方程的解法?这几位宋朝数学家叫什么名字?
根据刘徽的方法算了下,excel只能精确到17位
哦,你是用宏来做迭代计算么?
迭代是迭代,可我用的是最笨的办法:)
嘻嘻,很厉害了呀,我还不会用宏呢。。。
宋元时期是中国传统数学发展的高峰期。在高次方程的数值解法中,刘益、杨辉等都做出过贡献,秦九韶集其大成,给出的秦九韶法现在仍被认为是快捷有效的算法。
秦九韶在国际数学史界还是有些名气的吧。著名科学史家萨顿曾高度评价过他。
多谢zhhxt!
要不是写这个查资料,我连宋朝人会解方程都不知道。好歹也是受过理科高等教育的人,怎么会这样呢。。。是不是得等中国自己的现代数学发展起来,有了学术传统,才能给那些古代数学家应有的位置呢?
祖冲之的计算不太可能是用的割圆术,那个计算量实在太大。比较可能是用的级数方法。有搞数学的写过关于这个的推测。
我十分钟爱那种能细致还原历史细节的文学作品 收藏了
其实我觉得他们算边长的时候应该是用的AO/AD=AC/CD.对于他们来说,发现相似三角形的边长比不变应该不难才对。