灾难性抵消
在数值分析中,灾难性抵消(英語:catastrophic cancellation)[1][2]是指两个大小相近的数值的近似值相减,得到的差值可能和原始数值相减得到的真实的差值有很大差异,因而近似值的差值不能用作真实值差值的近似值。 例如,如果有两个螺柱,一个长,另一个长,用厘米刻度的尺子测量其长度,得到的近似值为和。在相对误差方面,它们是真实长度的良好的近似值:近似值的误差小于真实长度的2%,即 。 但是,如果用这些近似长度相减,则差值为,而长度之间的真实差值是。用近似值算出的差,和用真实值算出的差相比,偏离了100%。 即使差值计算本身是精确的,灾难性抵消仍然有可能发生,如上例所示——它不是哪种类型的运算(如浮点运算)的属性;当输入值本身是近似值时,进行减法运算就必有灾难性抵消。实际上,根据Sterbenz引理,浮点运算中,当输入值足够接近时,浮点差可以精确计算——浮点减法运算本身并未引入捨入誤差。 形式分析形式上,发生灾难性抵消是因为减法运算对邻近数值的输入是病态的:即使近似值和与真实值和 相比,相对误差和不大,近似值差的与真实值差相对误差也会与真实值差成反比: 因此,两个近似值的精确差值与真实数字差值的相对误差为: 如果真实输入和很接近,结果可能会非常大。 参考文献
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia