0

假設我們有一組具有「m」位尾數和「e」位指數的浮點數。假設我們想要近似一個函數「f」。函數逼近算法中的誤差界限

從理論上我們知道通常使用「範圍縮小函數」,然後從這個函數中導​​出全局函數值。例如讓x =(sx,ex,mx)(符號exp和尾數)then ... log2(x)= ex + log2(1.mx)所以基本上範圍縮小函數是「log2( 1.mx)」。

我已經實現了倒數,平方根,log2和exp2,最近我已經開始使用三角函數了。但是,如果給定全局錯誤界限(特別是ulp錯誤),我就會遊蕩,有可能導出範圍縮減函數的錯誤界限,有沒有關於這類問題的一些研究?說到log2(x)(舉例),我可以說...

「好吧,我想log2(x)與k ulp錯誤,實現這個給定我們的浮點系統,我們需要大約log2(1.mx)與p ulp錯誤「

請記住,正如我所說我們知道我們正在使用浮點數,但格式是通用的,所以它可能是經典的F32,但即使例如e = 10,m = 8結束等等。

我實際上找不到任何顯示此類研究的參考。我參考過的參考書(即穆勒書)不以這種方式處理這個話題,所以我正在尋找某種類型的論文或類似的文章。你知道任何參考嗎?

我也想導出這樣通過自己的約束,但它是不容易...

回答

0

有現行做法的描述,與提議的改進和錯誤分析,在https://hal.inria.fr/ensl-00086904/document一起。當前實踐的描述與https://docs.oracle.com/cd/E37069_01/html/E39019/z4000ac119729.html的概述一致,這與我最關心的問題是三角函數的mod pi範圍減小的記憶一致。

我認爲IEEE浮點向前邁進了一大步,因爲它在有各種計算機體系結構的時候對其進行了標準化,所以降低了在它們之間移植代碼的風險,但是由此暗示的準確性要求可能有過度消耗:對於許多問題,輸出精度的限制是輸入數據的準確性,而不是中間值計算的準確性。

+0

這是我的印象還是本文只是用hanek payne算法做一個例子?但無論如何,這個想法應該是導出最差的錯誤減少情況,並得出近似值最差的錯誤? – user8469759

+0

第2節描述了他們的新想法,儘管他們回到了Payne和Hanek的一些輸入。對於三角函數的情況,其中的減少是mod pi,他們似乎說他們可以得到一個精確的範圍減少(第1節介紹),我認爲這意味着他們使用足夠的精度來獲得與任意相同的減少精度算術包會得到。當他們談論最糟糕的情況時,他們意味着獲得正確結果所需的最高工作量,而不是最差的錯誤。所以只有減少值的計算纔會導致錯誤。 – mcdowella