根号2等于多少怎么算出来的(揭晓根号2算法推导详情)

根号2等于多少怎么算出来的(揭晓根号2算法推导详情)

  我们只是知道用公式解题,却不知道为什么能用这个公式。

  这也是为什么我高考数学140,但是我真的一点也不了解数学,知其然不知所以然,我只是擅长解题,但从不追究真理。

  虽然这位同学的观点有失偏颇,但她至少提出了一个有价值的问题:“根号二等于1.414是怎么推导出来的”。

  今天我们就来聊聊这个问题,与各位读者分享根号二的前世今生。

  在中文互联网上,根号二常与“第一次数学危机”联系在一起。一种流行的说法是,毕达哥拉斯学派下的成员希帕索斯,偶然间根据老师的“毕达哥拉斯定理”(即勾股定理),发现边长为1的正方形对角线长度(即根号2)无法用有理数表示。

  这一发现违背了毕达哥拉斯学派“万物皆数”的教义,因此希帕索斯被同门丢进海里。但毕达哥拉斯学派无法掩盖根号2的存在,从而“万物皆数”的数学大厦轰然倒塌,引发了“第一次数学危机”。

  此故事是否是历史的真相已无从考证。不过,可以确定的是,希帕索斯并非第一个发现根号2的人。

  在希帕索斯之前的一千多年,约公元前1800年至1600年间,古巴比伦人就发现了根号2。

  在编号为YBC 7289的古巴比伦陶泥板上,画着一个正方形和它的两条对角线。对角线长度用一串数字1,24,51,10标注。由于古巴比伦采用六十进制,这串数字可以译作以下公式:

  换句话说,古巴比伦人知道边长为1的正方形,其对角线长度大约是1.41421,计算精确到了小数点后5位。

  古巴比伦人的发现距今约3700年,了不起的成就。

  据数学家推断,古巴比伦人可能用的是下述算法(因而被称为“巴比伦法”)算出根号二的近似值。

  令

  ; 接下来,使用以下递推公式计算:

  :

  比如:

  那么,a?,a?,a?,a?的数值依次是:

  可以看到,a?的数值已经精确到小数点后11位,与根号2的精确值非常接近,而我们仅仅做了四次迭代计算而已。

  使用巴比伦方法,Ron Watkins在2016年将根号2的数值计算到小数点后十万亿(10^13)位。

  小学课本上介绍根号二的时候,其实也解释了

  的原因:

  对于小学生来说,这样的理解已经足够深刻。不过,如果采用这种方法,猜出1.4、1.41、1.414还算容易,而接下来要计算1.4142, 1.41421, 1.414213, …… 则颇费功夫,效率远不如巴比伦法。

  巴比伦法看上去非常有效,不过善于思考的读者朋友们或许已经开始犯嘀咕,“凭什么这样算出来的就是根号2呢?”

  问得好。要回答这个问题,需要用到相当深刻的数学原理。以下我们长话短说,尽量用人话来解释。

  巴比伦法的递推公式是

  ;倘若我们令

  并代入,那么

  化简得

  毫无疑问

  的一个解。

  我们得到了

  ,而这不是一个巧合。事实上,

  是递推式

  的一个不动点。

  换句话说,如果

  , 那么

  ,保持“原地不动”,故名为“不动点”。

  根据巴拿赫不动点定理,由于此递推公式在

  区间内为一压缩映射,数列{a_n}将收敛于该区间内的不动点

  。这就是巴比伦法能不断逼近根号2精确值的原因。

  (注:篇幅所限,省略巴拿赫不动点定理的具体描述、压缩映射的定义、递推公式为压缩映射的推导过程)。

  巴比伦法其实是牛顿法的一个特例。在实际求解形如f(x)=0的方程的过程中,我们并不总有简单的方法直接求出x的精确数值,而需要近似地求x的数值解。

  牛顿法就是最常用求数值解的方法之一,其递推公式如下:

  其中,

  表示函数f在x_n处的导数。

  牛顿法的本质是不断求函数f(x)在x_n处的切线与x轴的交点,以达到逼近正解的目的。下面这张动图形象地解释了牛顿法的原理。

  对于求解根号2这个特例,其实我们求的是

  这个方程的正数解。那么我们可以记

  代入牛顿法的一般递推公式,可得

  这还原了巴比伦法的递推公式。

  虽然小学生都知道根号2约等于1.414,但推导过程其实已经超出了中学数学的范围——不仅是中国中学数学课本,也包括全世界的数学课本。

  无论是牛顿法还是巴拿赫不动点定理,都只有在大学的数学课中才会涉及到。因此,中国学生不了解根号2的推导原理,而英国学生、美国学生、法国学生也不了解。这是一件非常正常的事,并不能说明“亚洲人的数学能力其实很差”。

  本文的目的,则是让更多的读者了解,

  究竟是怎么来的。

推荐阅读