【发布时间】:2015-08-01 17:48:52
【问题描述】:
Numpy 是一个用于高效数值数组的库。
在 gmpy 的支持下,mpmath 是一个用于高效多精度数字的库。
如何有效地将它们组合在一起?还是仅使用带有 mpmath 数字的 Numpy 数组已经很有效了?
要求“与本机浮点数一样高效”是没有意义的,但您可以要求它接近等效 C 代码(或者,如果不这样做,Java/C# 代码)的效率。特别是,高效的多精度数字数组意味着您可以进行矢量化操作,而不必在 Global Interpreter 中查找 __add__ 一百万次。
编辑:致亲密的选民:我的问题是关于将它们组合在一起的有效方式。可能重复中的答案特别指出幼稚的方法效率不高。
拥有一个 dtype=object 的 numpy 数组可能会产生误导,因为强大的 numpy 机制可以使标准 dtype 的操作超快,现在由默认对象的 python 运算符处理,这意味着速度将已经不在了
【问题讨论】:
-
@cel 相关,但不相关。我的问题是关于效率,而答案提到这样做的效率低下那种方式。
-
和这个关系更密切:stackoverflow.com/q/26600471/1461210
-
@ali_m 这是另一个不做什么的例子,而这个问题问的是做什么。
-
是的,当然。我并不是说您的问题是重复的 - 我只是认为为了其他读者的利益,链接到 SO 上的其他相关问题很有用。