Поэлементные операции в mpmath
Я хочу выступить поэлементно 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
Есть какие-либо возможности в этой области, или это необходимо, чтобы просмотреть записи?
3 ответа
Решение
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)
mpmath.arange
по-видимому, возвращает обычные списки Python, так что вы можете использовать map
чтобы применить функцию к каждому элементу:
import mpmath
x = mpmath.arange(0,4)
y = map(mpmath.sin, x)
Метод применения просто должен работать
A = mpmath.arange(0,4)
A.apply(sin)