Question

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?

Was it helpful?

Solution

mpmath does not appear to handle element-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)

OTHER TIPS

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)

The apply method simply should work

A = mpmath.arange(0,4)

A.apply(sin)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top