我可以在NumPy中使用Python的Decimal类型吗?

时间:2018-01-21 09:54:25

标签: python python-3.x numpy floating-point floating-accuracy

我正在使用float64对Python3和NumPy进行一些计算,有时,当我稍微改变我的公式(但在数学上等效)时,我得到的结果略有不同。我知道两个公式必须产生相同的结果,因为它们实际上是相同的,但是浮点计算有它们的缺陷并且它表明了。这就是为什么我想使用Decimal。

例如,原始公式的结果为8.412265434e-6,更改的公式将导致8.412265425e-6(最后两位数字不同)。差异几乎没有意义,但很烦人(一些平等检查确实失败了,不,我不会比较±ε)。

由于我的公式仅使用有理数(整数除法),我可以使用NumPy和Decimal实现公式吗?如果是的话,有什么需要注意的吗?

我在网上找不到有关Decimal + NumPy的任何内容。

编辑:应该更具体......我正在计算一些变量的互信息,这需要对数(在我的情况下为2)。

0 个答案:

没有答案