【问题标题】:Improve precision on numpy narrays提高 numpy 数组的精度
【发布时间】:2018-06-17 22:12:23
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    您需要重新实现,但实现可能很简单:更改您的数字表示。由于您没有指定您使用的基本类型或实际值范围(1e25 与 what?),我无法给出明确的建议。

    但是,请注意numpy 有几种精度更高的类型,包括 longdouble(80 位)、float96 和 float128。如果您需要超过 128 位(38 位精度),那么mpmath 是最好的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 2018-10-10
      • 1970-01-01
      • 1970-01-01
      • 2018-02-16
      相关资源
      最近更新 更多