问题
I am looking to perform element-wise mpmath operations on Python arrays. For example,
import mpmath as mpm
x = mpm.arange(0,4)
y = mpm.sin(x) # error
Alternatively, using mpmath matrices
x = mpm.matrix([0,1,2,3])
y = mpm.sin(x) # error
Does mpmath
have any capibilities in this area, or is it necessary to loop through the entries?
回答1:
mpmath does not appear to handle elemnt-wise operation, but you can use numpy to get this functionality:
import numpy as np
import mpmath as mpm
x = np.array(mpm.arange(0,4))
sin = np.vectorize(mpm.sin)
y = sin(x)
回答2:
mpmath.arange
apparently returns regular Python lists, so you can use map
to apply a function on each element:
import mpmath
x = mpmath.arange(0,4)
y = map(mpmath.sin, x)
回答3:
The apply method simply should work
A = mpmath.arange(0,4)
A.apply(sin)
来源:https://stackoverflow.com/questions/15450647/element-wise-operations-in-mpmath