繁体   English   中英

在什么时候我应该担心numpy值的下溢?

[英]At what point should I worry about underflow in numpy values?

我正在使用Python numpy进行计算。 这是一个结果numpy数组:

[  5.15054786e-11   5.15251385e-11   5.15262922e-11 ...,   5.21100674e-11
5.21097550e-11   5.21088179e-11]

那些都很小。 在什么时候我应该担心计算中的下溢? 这些需要超精确。 是否有一个值得确定的值范围,或者可能是一个表明这个值的参考?

64位浮点数中最小的可表示的正常数字是:

>>> 2**-1022
2.2250738585072014e-308

使用非正规数可以将该范围扩展一点,最小值为:

>>> 2**(-1022 - 52)
5e-324

但:

>>> 2**(-1022 - 53)
0.0

另一个相关的小数字(同样是64位数字)将是:

>>> 2**-52
2.220446049250313e-16

因为:

>>> 1 + 2**-52
1.0000000000000002

但:

>>> 1 + 2**-53
1.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM