美文网首页
随笔 | 无限个数的相乘,0.999... = 1

随笔 | 无限个数的相乘,0.999... = 1

作者: Ricolove | 来源:发表于2019-02-09 22:46 被阅读0次

    知乎上有一个问题,是这么问的:

    1 如果无限除以 2 会等于多少?

    这个问题乍一看上去,会有点不知所云的感觉。题主问道,答案是一个无限小的数,还是直接等于0。后面又说,假设答案是0,那么定义一个数a=无限个2相乘,岂不是有\frac{1}{a} = \frac{2}{a},同乘a就是1=2了?

    还有另一个经久不衰的问题,或者说命题,是这个样子的:

    0.999... = 1

    很多人依然觉得“差了这一点,为什么会相等”,对此无法理解。当然,也有不少看上去非常有道理的证明,比如0.999... = 0.333... * 3 = 1 / 3 * 3 = 1

    以上问题,关键都在于如何理解“无限”。

    初学微积分的时候,应该不少人都会被所谓的“\varepsilon - N语言”弄得一头雾水,也不知道为什么要用这么多的条件。比如定义数列极限,连续着有这么多个说法:

    ——存在A \in \mathbb{R}……

    ——对于任意的\varepsilon > 0……

    ——存在N \in \mathbb{N}……

    ——使得当n > N时……

    ——恒有|x_n-A| < \varepsilon……

    ——则称数列的极限为A.

    除了结果,条件拢共五句话,而且缺一不可,就算是硬背下来都要花不少时间。

    在这个定义之后还有一个记法,是这么写的:

    \lim_{n \to ∞} x_n=A

    这里就是初学者遇到的第一个陷阱:至少咱学的书,在表述这个记法之前,还没有解释这里的无穷符号。在初等数学的思想下,初学者很可能就将无穷理解为“一个很大的数”了:就和本文开始时的那个问题描述一样。

    然而,当学习到不定式的时候,这种理解就会出现问题了:如果是一个很大的数,那么\frac{\infty}{\infty}, 1^\infty这样的式子,为什么不直接等于1,而是由具体的式子决定呢?

    从直觉上说,不管无穷是什么样的东西,它至少应该有这么一个性质:不管列出什么数,无穷都应该比这个数大。就算说1000...000,一共有10000个0,这么大的一个数,都比无穷要小。

    这样的说法固然有些笼统。考虑到这个性质在于比较,我们不妨拿函数来构思一下无穷的具体定义。

    大家都知道,tan(\frac{\pi}{2})的结果无定义。但是,我们可以看到,在接近这个值的时候,函数的值是不断上升的,而且往着几乎无穷大的地方前进。既然如此,如果说,有一个值x_0 \in [0,\frac{\pi}{2}),使得f(x_0) = \infty,那么,理当有,无论给定什么数,例如10000000,我们都能说,x_0比这个数都更接近\frac{\pi}{2},也就是说,f(x_0)>f(arctan(10000000))

    从初等数学到高等数学的飞跃就在这里:既然你都能给定一个x_0,而且又不等于\frac{\pi}{2}了,显然\frac{\pi}{2} - x_0 >0!那么,只要我令x_1 = x_0 +\Delta x, 0 < \Delta x < \frac{\pi}{2} - x_0,不就有f(x_1)>f(x_0)了吗?最开始定义的f(x_0) = \infty显然就名不副实了。

    为什么说微积分将运动带进了数学里面?这就是因为,在你拿出一个可以比较的值之前,x_0不会有一个确值!它就像一个会走的变量一样,无论你拿出什么样的大数,当你试图把它拿来与x_0比较的时候,x_0都会比这个数大那么一些

    所以,所谓的n \to \infty,不是说n的值达到了一个非常大的状态,而是说n处在了这种动态的趋近状态,而且是趋向于无穷大

    回头看看\varepsilon - N语言的内容,实际上,它就是在用严谨的术语表述类似的事情:

    ——在给出一个确定正值\varepsilon 之前,都不会有一个确定的N,让你定义x_n去和A计算差值。

    ——一旦你给出了\varepsilon \forall \varepsilon > 0),那么才可以确定N\exists N \in \mathbb{N}, s.t. n >N)。

    ——而以此确定的x_n,与A计算差值,就是满足小于\varepsilon 的(|x_n-A| < \varepsilon)。

    一些具体的例子可能会更方便理解。有人说,不为0的数相乘不会等于0。在有限个数相乘的情况下,确是如此,所以乍一看,好像这个命题没错。

    但是我们可以这么构造数列x_n = \frac{1}{2^n}。自然,n是多少,x_n就代表着有多少个\frac{1}{2}相乘。显然,无论n多大,我们都能算出x_n的确定数值。而n \to \infty也就是无限个\frac{1}{2}相乘的时候,就意味着,不管给出一个多大的确值a,都有x_n< x_a。显然,若我们想知道\lim_{n\to \infty}x_n = A是多少,就没法用相乘的形式获得答案。

    不过,在\varepsilon - N语言的语境下,只要看看什么样的数满足|x_n-A| < \varepsilon,就能知道无限个\frac{1}{2}相乘的结果了。答案当然就是A = 0。也就是说,在无限个数相乘的情况下,不为0的数也能相乘得到0这个结果。

    这同时也解答了开头的第一个问题:1 如果无限除以 2 会等于多少?答案当然就是0。知乎上,有一个回答短平快地指出了题主接下来的错误所在:定义a=无限个2相乘?不,你不能。这是因为,答主就犯了一个错误:将无限的数相乘看作确值。无限的东西总是处在动态的,此定义下的a代表不是一个确值,而是趋近无穷的过程——所以也就不可能存在“同乘一个a抵消分母”的操作了。

    再看看后面:为什么0.999... = 1?既然有无限的概念,我们再用初等数学的想法去思考这个题目就不太合适了。和刚才一样,我们可以构造x_n = 0.999...99, 小数点后共有n个9。对于一个确定的0.999...99,我们当然知道它和1是存在差距的:0.000...01,就差一点点

    但是,考虑\lim_{n\to \infty}x_n的时候,就算我们诘问:“x_n或许和1差了一点点!”,并且拿出这个“一点点”,x_n都会抱歉地说:对不起,我和1的差距比你的“一点点”还要少!那么,不管我们怎么不愿相信,在\varepsilon - N语言下,0.999... 就是等于1

    本文只是浅显地讨论了一下,限于笔者的知识水平,可能存在错漏之处,还请各位读者斧正!

    相关文章

      网友评论

          本文标题:随笔 | 无限个数的相乘,0.999... = 1

          本文链接:https://www.haomeiwen.com/subject/ljczsqtx.html