有没有办法在Numpy中使用Decimal类型的精度制作复数?

Ana*_*rki 6 python numpy decimal complex-numbers floating-point-precision

我在Python中使用复数的NumPy数组,这些数组的扩展远远超过NumPys默认复杂类型(数字大于10 ^ 500)的正常浮点限制.我想知道是否有某种方法可以扩展NumPy,以便它能够处理这种规模的复杂数字.例如,有没有办法制作使用Decimal模块功能的NumPy复杂类型?

我知道有可用的资源,例如mpmath(https://code.google.com/p/mpmath/)可能会做我需要的,但是我的项目要求我使用NumPy.

对于那些对我为什么需要这些巨大数字感兴趣的人来说,这是因为我正在研究早期宇宙的数值相对论模拟.

Ste*_*nes 2

根据您的平台,您可能支持complex192 和/或complex256。这些通常在 Windows 下的 Intel 平台上不可用,但在其他一些\xe2\x80\x94 上可用,如果您的代码在Solaris或超级计算机集群上运行,它可能支持其中一种类型。在 Linux 上,您甚至可能会发现它们可用,或者您可以使用 bigfloat 或 gmpy2.mpc 创建数组dtype=object,然后使用 bigfloat 或 gmpy2.mpc。

\n
    \n
  1. 复数 256 数最多 10 4932 + 10 4932 j
  2. \n
  3. Complex192 同上,但精度较低
  4. \n
  5. 我什至看到过提到 NumPy 和 complex512...
  6. \n
\n