《九章算术》开方算法系统及其与现代计算机程序的比较.docVIP

《九章算术》开方算法系统及其与现代计算机程序的比较.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《九章算术》开方算法系统 及其与现代计算机程序的比较 傅海伦 中国古代把开方法与二次、三次或高次数字方程解法统称为开方术。《九章算术》少广章 提出了完整的开平方、开立方程序。   一、《九章算术》的开平方程序   开平方相当于求x2 = N的根。 开方术曰:「置积为实。借一算,步之,超一等。议所得,以一乘所借一 算为法,而以除。除已,倍法为定法。其复除,折法而下。复置借算,步之如 初,以复议一乘之,所得副以加定法,以除。以所得副从定法。复除,折下如 前。…」[1]   《九章算术》给出的术文言简意赅,在开方筹式中每一个数字的记数和入 算,都严格遵循位置值制。由于其中明确指出:「复除,折而下」、「复除, 折下如前」,可见,这是一个具有一般性的机械化算法程序。即是说,不论平 方根有多少位数,反复实施这一程序都可求出来。所以,在此有必要对一般情 形下的这种机械化程序加以剖析。   以总的来说,开平方的程序是:首先作四行的筹式布算,即从上到下的四 行依次布以方根(「议所得」)、被开方数(实)、法和借算,然后机械反复 实施「超」、「议」、「除」、「折」的四大步骤,直至「适尽」、结束。   「超」:将置于个位上的借算自右向左隔一位移一步,移到与实的最高位 (N为奇数位)或次高位(N为偶数位时)对齐为止。若移n位,这相当于将 方程进行倍根变换,变换后的方程为102nx12 = N的形式,如图 (2)   「议」:议得根的第一位得数为a1   「除」:以a1乘借算102n得102na1作 为法。置于第三行,使得以法除实时, 恰得商a1,而余数N1小于102na12:N ÷(102na1) = a1 + N1 / 102na1[2]。   ????????「折」:撤去借算,将法102na1加 倍为定法,并将定法向右退一位为2?102n -1a1如图 (4),再在下行个位上布置借一算。   ????????为求方根第二位得数,需要重复以上四个步骤: ????????「超」:将置于个位上的借算自右向左隔一位移一步,显然祇需移n-1 步, 即102n-2如图 (5),这又相当于求方程102n-2x22 + 2?102n-1a1x2 = N-102na12的 正根。   ????????「议」:复议得根的第二位得数a2   ????????「除」:以a2乘借算102n-2, 加定法,得法:2?102n-1a1 + 102n-2a2, 同样以 法除实:(N-102na12) ÷ (2?102n-1a1 + 102n-2a2) = a2 + N2/(2?102n-1a1 + 102n-2a2),余 数N2小于 (2?102n-1a1 + 102n-2a2)a2。如图 (6),如果余数为零,则开方完毕;若 不为零,则「折下如前」,按接下来的程序步骤继续开方。   ????????通过对上述筹算开平方法的分析,可知它是根据下面这些公式来逐步 推求 的,与现代的迭代法完全一致,可以通过计算机来实现: ????????(a + b)2 = a2 + (2a + b)b ????????(a + b + c)2 = (a + b)2 + [2(a + b) + c]c ????????(a + b + c + d)2 = (a + b + c)2 + 2[(a + b + c) + d]d ????????……   ????????开平方术文还有对几种特殊情况的处理方法:一是被开方数为分数的 情形, 要「通分内子」,若分母是平方数,则分子、分母分别开方,然后相除,即A = b/a,;若分母不可开,则以分母乘分子,开分子后再以分母除, 即A = b/a,A = ab/a2,。二是开方不尽的情形,这相当于求无理根, 称为不可开,求出整数部分后,「以面命之」。   ????????显然,有了以上程序和处理方法,任何一个数可以开平方,说明《九 章算 术》的术文更具有抽象性、普适性。   二、《九章算术》的开立方程序 ????????开立方相当于求x3 = N的根。 ????????《九章算术》开立方术是: 开立方术曰:「置积为实。借一算,步之,超二等。议所得,以再乘所借 一算为法,而除之。除已,三之为定法。复除,折而下。以三乘所得数,置中 行。复借一算,置下行。步之,中超一,下超二等。复置议,以一乘中,再乘 下,皆副以加定法。以定除。除已,倍下,并中从定法。复除,折下如前。…」[3]。   ????????对比开平方术和开立方术,不难看出,两种开方的程序基本上是统一 的, 都是通过筹式布算,机械重复地实施「超」、「议」、「除」和「折」的四大 步骤,直至适尽,结束。祇是在开立方的筹式布算中,在「法」和「借算」之 间增加一行「中行」,使原来的四行布算变为五行布算

文档评论(0)

xina171127 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档