Loading AI tools
来自维基百科,自由的百科全书
在數值分析中,災難性抵消(英語:catastrophic cancellation)[1][2]是指兩個大小相近的數值的近似值相減,得到的差值可能和原始數值相減得到的真實的差值有很大差異,因而近似值的差值不能用作真實值差值的近似值。
此條目需要補充更多來源。 (2022年6月10日) |
例如,如果有兩個螺柱,一個長,另一個長,用厘米刻度的尺子測量其長度,得到的近似值為和。在相對誤差方面,它們是真實長度的良好的近似值:近似值的誤差小於真實長度的2%,即 。
但是,如果用這些近似長度相減,則差值為,而長度之間的真實差值是。用近似值算出的差,和用真實值算出的差相比,偏離了100%。
即使差值計算本身是精確的,災難性抵消仍然有可能發生,如上例所示——它不是哪種類型的運算(如浮點運算)的屬性;當輸入值本身是近似值時,進行減法運算就必有災難性抵消。實際上,根據Sterbenz引理,浮點運算中,當輸入值足夠接近時,浮點差可以精確計算——浮點減法運算本身並未引入捨入誤差。
形式上,發生災難性抵消是因為減法運算對鄰近數值的輸入是病態的:即使近似值和與真實值和 相比,相對誤差和不大,近似值差的與真實值差相對誤差也會與真實值差成反比:
因此,兩個近似值的精確差值與真實數字差值的相對誤差為:
如果真實輸入和很接近,結果可能會非常大。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.