6

我希望mpmath对 Python 数组执行逐元素操作。例如,

import mpmath as mpm
x = mpm.arange(0,4)
y = mpm.sin(x)        # error

或者,使用mpmath矩阵

x = mpm.matrix([0,1,2,3])
y = mpm.sin(x)             # error

在这方面是否mpmath有任何能力,或者是否有必要遍历条目?

4

3 回答 3

9

mpmath 似乎无法处理逐元素操作,但您可以使用 numpy 来获得此功能:

import numpy as np
import mpmath as mpm
x = np.array(mpm.arange(0,4))

sin = np.vectorize(mpm.sin)
y = sin(x)
于 2013-03-16T15:36:48.433 回答
3

mpmath.arange显然返回常规 Python 列表,因此您可以使用map在每个元素上应用一个函数:

import mpmath
x = mpmath.arange(0,4)
y = map(mpmath.sin, x)
于 2013-03-16T16:25:58.567 回答
-1

apply 方法应该可以工作

A = mpmath.arange(0,4)

A.apply(sin)
于 2013-04-30T09:00:13.287 回答