摘要 计算机的错误计算(二十七)引入了错数概念。本节给出更为严格的证明。
本节主要讨论表达式计算结果中错误有效数字的数量,简称之为错数。因为0不含有有效数字,因此,除非特别说明,否则,本节假设所有表达式的值均不为0;同时,为了便于描述, 本节所有的数值均使用科学记数法来表示。假设 为 的一个近似值(不妨假设,它们均为正数。下同),其中 为它们的指数, 与 分别为它们的有效数字, 若
则称 具有 位正确有效数字,或 与 具有 位相同有效数字。比如, 与 2 相比较,1.996与2.002均具有3位正确的有效数字;而对于0.12999来说,0.12999001与0.13000002分别是其包含7位与4位相同有效数字的近似值。另外,除非特别说明,否则,本节的运算均没有进位。
设 其中 是 上的一个开区间, 是 的一个近似值, 在 上可导,并且
设 的值为
其中
定理1. 设
若它们的小数点后连续0的个数分别为 与 而
则
其中
而
证明 首先, 由已知条件可得
然后, 由(10)与(3)、(4)可知
即
再通过(8)与(9), 将 放大和缩小:
这时,由两个不等式的各自左右两项可得
即
因此,可推得
由于上述不等式中的每个符号均取整数,因此有
从而定理得证。
根据(1)中相同有效数字定义,显然, 为 与 相同有效数字个数;而 为 与 相同有效数字个数。这样,上述 就是 的错数. 因此, 我们有下面推论:
推论 若 则 关于 的错数为下列二者之一:
上述推论说明, 若 则对自变量的一点扰动,就可能导致对应函数值具有 或 位错误数字。
参考文献
[1] 赵世忠. 浮点运算错误计算原因. 中国科技论文在线. 2017. https://www.paper.edu.cn/releasepaper/content/201707-86