Поэлементные операции в 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)
Другие вопросы по тегам