如何使 mpmath 函数 return python 浮动?

How to make mpmath function return python float?

我想将 mpmath 函数转换为可以处理 numpy 数组的函数。假设我有以下

A=np.linspace(0,1,100)
besseli_vec = numpy.frompyfunc(mpmath.besseli, 2, 1)
Y=besseli_vec(0, A)

但是,现在数组A中的值是mpmath类型mpf。那么在 mpmath 中采用函数的 fastest/best 方法是什么,并将其转换为可以作用于 numpy 数组的函数,但是 returns 标准浮点数而不是 mpmath 浮点数?或者只是将 mpf 数组转换为 numpy 浮点数?函数 float() 可以转换数字,但不能转换数组。

besseli_vec = numpy.frompyfunc(lambda *a: float(mpmath.besseli(*a)), 2, 1)

应该这样做。 mpmath 计算可能比 lambda 慢得多,因此速度影响可能大约只是浮点数转换。