收敛作用是什么意思?
明确一点,数学上说的“收敛”与“发散”与电脑里常说的“收敛”与“发散”不是一个概念。 题主所提到的计算机中的“收敛”应该指的是“计算结果精确度越来越高的过程叫收敛”。而数学中讨论的“收敛”是函数极限的概念,更广义,可以包含“计算结果精确度越来越高但是无法获得最终答案的过程”。
在计算机中,当计算量足够大时,任何需要输入计算量的操作都必然出现“算不完”的情况,这时计算机也必定会进入一个无限循环的状态,也就是说,这种“算不完”的结果必然是发散的(当然可能发散到无穷远,也可能发散到某个特定值);而数学中谈论的“收敛”则有更加广泛的意义。所以从定义上来说,计算机里的“收敛”是“有限精度的近似”,而数学中所说的“收敛”则是“无穷精度的逼近”。 这两种概念其实有密切的联系. 比如如果要求计算机计算的精度达到10^-38,那么理论上说,只要时间足够长,计算机是可以做到的——不过实际上人们一般不使用这样的“无穷无尽的时间”去进行计算,而是使用某种“贪心算法”或“迭代算法”,这样通常会比直接求解更快一些。这种通过不断重复计算,每次的计算结果都比前一次更准确的计算方式,就体现了“计算结果的精确度越来越高”的特性,这正是计算机中“收敛”的含义。
同时这种“计算结果的精确度越来越高”也是有代价的——随着计算的进行,程序所需要占用的内存空间、所需要的CPU时间都是要随之增长的,这就意味着对硬件资源的消耗也是呈指数增长的,当资源无法满足需求时就导致了“计算不行”的情况的发生。 所以综上可见,尽管“收敛”和“发散”是一个相对简单的概念,但是由于其本身具有相对宽泛的定义范围,故而在其具体应用的时候往往需要有相应的前提条件(如计算资源充足)以及需要考虑到不同情况下的收敛速度。