提高numpy narrays的精确度

时间:2018-01-08 21:57:51

标签: python numpy mathematical-optimization mpmath numerical-stability

我已经使用numpy编写了这个优化过程,我必须执行以下计算:

formula

B是对称负半定矩阵,I是单位矩阵。 问题是B的值可能太大(> 1e25),并且当通过对角矩阵减去某些元素时,因为有足够的精度。 有没有办法克服这个问题,还是我需要使用另一个像mpmath这样的库来重写它?

1 个答案:

答案 0 :(得分:0)

您需要重新实现,但实现可能很简单:更改数字表示。既然你没有指定你正在使用的基本类型,或者实际值范围(1e25对什么?),我无法做出明确的建议。

但是,请注意numpy有几种类型具有更高的精度,包括longdouble(80位),float96和float128。如果您需要超过128位(精度为38位),那么mpmath就可以了。