Element-wise operations in mpmath

2019-02-22 09:11发布

问题:

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)


标签: python mpmath