Я хотел бы преобразовать функцию mpmath в функцию, которая может работать на массивах numpy. Скажем, у меня есть, например, следующиеКак заставить функцию mpmath возвращать python float?
A=np.linspace(0,1,100)
besseli_vec = numpy.frompyfunc(mpmath.besseli, 2, 1)
Y=besseli_vec(0, A)
Однако теперь значение в массиве A имеет типа mpmath МПФ. Итак, какой самый быстрый/лучший способ взять функцию в mpmath и преобразовать ее в функцию, которая может действовать на массивы numpy, но это возвращает стандартные float, а не mpmath float? Или просто преобразовать массив mpf в numpy float? функция float() работает для преобразования чисел, но не массивов.
Спасибо, но я не уверен, что понимаю ваш ответ. Будет ли изменение поплавка существенно изменяться по сравнению с оценкой только функции mpmath? –
Скорее всего, его влияние на скорость незначительно, и в любом случае вам нужно будет это сделать, если вы хотите поплавки из объектов mpf. (Поскольку массивы Numpy не знают о объектах mpf, они не могут ускорить эти операции.) –