我们都知道,无理数(irrational number)“不讲理”。按整数标准,它们大多身形残缺,但是它们中间有很多数很有理想,总是想追求完整:有的是靠自己,有的是靠同志。
比如说,是无理数,可能也是无理数,但是就是整数了,而且它很“2”。
再比如说,自然常数e和圆周率π都是无理数,但是只需要一个虚数的帮助,它们就可以变成整数:eiπ=-1;结果是个负整数,它还不够“2”,否则就会有e2iπ=1。
当然,不是所有的努力都能够功德完满。自然常数e、圆周率π和163的平方根(),它们也努力过追求完整,可惜就差了那么一点点,很小的一点点。
多小的一点点呢?
它跟整数的差别在于小数点后第13位,也就是说,小数点后经过了12个9,才变成了2。
为什么这样呢?这里面有一套很复杂的数学理论,我也看不懂,但是可以引用一个公式:
它是否正确,我们可以用计算器检验一下。
一
手机的计算器很强大,特别是它的科学计算器模式。例如它可以轻松地把圆周率π的值算到小数点后一百位。
为了便于大家亲自检验,我会介绍详细的操作过程。首先,打开手机自带的计算器(我的手机是华为P30),它有两个模式——竖版的“标准计算器”和横版的“科学计算器”,可以任意地选择切换。
进入“科学计算器”,就自动切换到横版,上方是两行的显示屏,下方是键盘。按“π”键,π就出现在显示屏的第一行,同时在第二行显示出它的数值,“3.1415...1971”。这一行可以显示42个数字或字符。通过触屏操作,我们可以对数字进行复制粘贴操作。
现在,我们来验证手机自带的π究竟算到了多少位。用π减去刚才得到的42位数字,即“π-3.1415…1971”。
按键盘的减号键“-”,显示屏的第一行就变为“π-”。用手指按第一行,会出现一个阴影区覆盖了所有的数字,同时出现两个键“复制”和“粘贴”;选择“粘贴”(注意,要保证光标位于这一行的最右边),就可以得到结果。
继续同样的操作,可以得到更多的位数。
从菜单里选择“历史纪录”,可以找到以前做的计算,比如说我刚做的把π算到100位。
算得对不对呢,我从网上找了π值小数点后200位,如下:
π= 3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502 8410270193 8521105559 6446229489 5493038196
跟上面的图片对照一下就可以看到,手机计算器的结果有115位小数,全部正确。使用这一方法显然还可以算更多位,但是究竟能算多少位,我没有试验,毕竟用手机操作复制和粘贴太麻烦了。
值得一提的是,这个表现比我的PC电脑系统附带的计算器厉害。利用类似的操作,PC系统的计算器可以得到“π= 3.14...... 6939931148 ”(第41—50位应该是6939937510),从小数点后第47位开始就错了。
电脑计算器计算π-3.141…2795的值,在第47位时错误。
网上的π值就一定正确吗?它可能是正确的,也有可能手机计算器特地保留了π的很多位数,也许藏在哪里备用呢。
二
接下来,让我们算算——想必这个数是不会预存的。结果发现,两个计算器的表现还是不一样。仔细观察可以看出,两部计算器的第一次计算结果应是相同的:计算机的结果最后的4位数字是9871;而手机对应的位置是9870,其后面还有9个数字“892347382”。
当用电脑计算器做减法后,得到的结果是“-1.076524...”,前面还有一个负号。考虑到负号,这两个计算结果一直到我们手机显示的倒数第三位,也就是3(手机计算)和4(电脑计算),这里确实有差别。我觉得,相比于电脑,我们还是相信手机好了,毕竟它给出的位数更多,而且计算的π值也跟网上的结果一样。
电脑计算器计算-12.767…781(的30位小数近似值)的结果。
手机计算器计算的结果,有39位小数。
三
最后,我们算一算。先把前面的公式再复习一遍:
我用手机自带的科学计算器做了几个不同的计算,分别是直接计算的值(用前文的方法)和用公式近似计算,结果如下:
①直接计算,得到18位整数和23位小数:最开始的12个小数都是9,第13个是2。
②计算公式的一级近似,也就是第一项的贡献。
③计算公式的二级近似,也就是前两项的贡献。
④计算公式的三级近似,也就是前三项的贡献。
⑤第二次直接计算,这次算的是减去18位整数和小数点后的12个9。
⑥第三次直接计算,这次算的是减去第一次直接计算得到的结果,也就是18位整数和小数点后的23位小数。
⑦第四次直接计算,减去第一次直接计算和第三次直接计算的结果,得到了小数点以后的99位小数。
简单分析可以得出:直接计算(①)最简单也最粗糙,但是已经得到了e、π和这三个无理数合作追求完整的全过程;公式没有告诉整数是多少(这个很容易算的),但是给出了更多更精确的小数位(②、③、④);计算器比这个公式的前三项还要强大(⑤和⑥),甚至能够计算到小数点后99位(⑦)。用两种计算的结果(用公式计算和直接计算)符合得很好,因此我们相信手机计算的结果是正确的。
我也用电脑的计算器算过,虽然也能见证它们仨追求完整的过程,但是在小数点后几十的地方,仍然给出了不同的结果。
三
最后再谈谈这个公式。
非常接近整数这件事,在一些讲计算数学的书里提到过,有时候用作例子说明计算的精度和稳定性。然而,关于它为什么这么接近整数,讲得就很少了。而且基本上都是先说,这个道理给普通人是讲不明白的,因为要涉及椭圆曲线、模形式以及其他一些理论。
我找到了一篇介绍性的文章[1],看得一头雾水,但也不是没有收获。除了找到前面用的那个公式以外,我还发现——可能大家也都知道——数学家的数学虽然很好,但是他们算术不一定强,经常会搞错个符号之类的。正如文中所示,作者在欢呼成功之前的最后两行公式中“196884”前面的符号不一样,肯定有一个是错的——而且我肯定,是最后那行里的错了。
“大行不拘细谨,大礼不辞小让。”连数学家都不免犯错,三个努力追求完整的无理数最后没有取得特别完满的结果,也就不那么令人意外了。
的各种近似值,最后一个有99位小数。
参考文献:
[1] https://www.isibang.ac.in/~sury/episq163.pdf
本文受科普中国·星空计划项目扶持
出品:中国科协科普部
监制:中国科学技术出版社有限公司、北京中科星河文化传媒有限公司
本文来自微信公众号:返朴 (ID:fanpu2019),作者:姬扬(中国科学院半导体研究所)