【问题标题】:error bound in function approximation algorithm函数逼近算法中的误差界
【发布时间】:2015-08-29 16:10:51
【问题描述】:

假设我们有一组浮点数,其中“m”位尾数和“e”位为指数。假设我们要逼近一个函数“f”。

从理论上我们知道通常使用“范围缩减函数”,然后从该函数中我们得出全局函数值。

例如让 x = (sx,ex,mx) (符号 exp 和尾数) 然后... log2(x) = ex + log2(1.mx) 所以基本上范围缩小函数是“log2(1.mx)”。​​

目前我已经实现了倒数、平方根、log2 和 exp2,最近我开始使用三角函数。但是,如果给定一个全局误差界限(尤其是 ulp 误差),我可能会为范围缩减函数推导出一个误差界限,是否有一些关于此类问题的研究?说到 log2(x)(例如),我想说...

“好的,我想要带有 k ulp 错误的 log2(x),为了实现这一点,给定我们的浮点系统,我们需要用 p ulp 错误来近似 log2(1.mx)”

请记住,正如我所说,我们知道我们正在使用浮点数,但格式是通用的,所以它可能是经典的 F32,但即使例如 e=10,m = 8 end 等等。

我实际上找不到任何显示此类研究的参考资料。我拥有的参考资料(即穆勒书)没有以这种方式处理该主题,因此我正在寻找某种论文或类似文件。你知道有什么参考吗?

我也在尝试自己推导出这样的约束,但这并不容易......

【问题讨论】:

    标签: algorithm numerical-methods numerical-stability function-approximation


    【解决方案1】:

    https://hal.inria.fr/ensl-00086904/document 上有对当前实践的描述,以及建议的改进和错误分析。当前实践的描述似乎与 https://docs.oracle.com/cd/E37069_01/html/E39019/z4000ac119729.html 的概述一致,这与我记忆中最受关注的问题是三角函数的 mod pi 范围缩减一致。

    我认为 IEEE 浮点是向前迈出的一大步,因为它在有多种计算机体系结构的时候标准化了事物,因此降低了它们之间移植代码的风险,但是这隐含的准确性要求可能已经矫枉过正:对于许多问题,输出精度的约束是输入数据的精度,而不是中间值计算的精度。

    【讨论】:

    • 是我的印象还是本文只是用hanek payne算法举例?但无论如何,这个想法应该是推导出减少误差的最坏情况,并推导出近似导致的最坏误差?
    • 第 2 部分描述了他们的新想法,尽管他们在某些输入方面又回到了 Payne 和 Hanek。对于减少为 mod pi 的三角函数的情况,他们似乎在说他们可以获得准确的范围减少(第 1 节。介绍),我认为这意味着他们使用足够的精度来获得与任意的相同的减少精度算术包会得到。当他们谈论最坏的情况时,他们的意思是获得正确结果所需的最大工作量,而不是最坏的错误。所以只有减少值的计算才会导致误差。
    猜你喜欢
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 2018-06-30
    • 2018-07-23
    • 2017-04-09
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    相关资源
    最近更新 更多