2013-03-16 47 views
4

我正在寻找对Python数组执行元素式操作mpmath。例如,mpmath中的元素式操作

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

另外,使用mpmath matrices

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

是否mpmath在这方面有任何capibilities,或者是否有必要通过项目环?

回答

7

mpmath似乎不处理elemnt明智的操作,但可以使用numpy的得到这个功能:

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

sin = np.vectorize(mpm.sin) 
y = sin(x) 
+0

好主意 - 非常感谢! – Doubt 2013-03-16 19:48:55

3

mpmath.arange显然返回常规的Python列表,所以你可以使用map在每个应用功能元素:

import mpmath 
x = mpmath.arange(0,4) 
y = map(mpmath.sin, x) 
+0

谢谢nooodl,也是一个好主意。 – Doubt 2013-03-16 19:50:07

-1

的适用方法应该简单地工作

A = mpmath.arange(0,4) 

A.apply(sin) 
+1

'AttributeError:'list'object has no attribute'apply'' – 2017-09-20 16:58:13