gpt4 book ai didi

python - Python 中 Numpy 和 MpMath 之间的互操作性

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:51 28 4
gpt4 key购买 nike

我有一个带有 mpf 元素的 numpy 数组 A,其小数精度为 100。如果我决定将 A 的 numpy 点积与其自身一起使用,这个精度会被丢弃吗?

如果是这种情况,是否有任何方法可以将 numpy 数组转换为 mpmath 矩阵,以便保持精度?

最佳答案

Numpy 数组可以容纳对象,特别是 mpf 对象,它们的方法如 dot 可以使用这些对象的加法/乘法。示例:

import mpmath
import numpy
mpmath.mp.dps = 25 # higher precision for demonstration
a = [mpmath.sin(mpmath.pi*n/3) for n in range(99)]
b = numpy.array(a)
b.dot(b)

输出 mpf('49.50000000000000000000000165')

为了比较,如果在转换为 numpy 时将数组元素强制转换为 double float ,则会发生这种情况:

c = numpy.array(a, dtype=float)
c.dot(c)

输出 49.499999999999993。因此,在第一个版本中调用 dot 方法时,mpmath 提供的更高精度得以保留。

关于python - Python 中 Numpy 和 MpMath 之间的互操作性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22113979/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com