如何使 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 慢得多,因此速度影响可能大约只是浮点数转换。
我想将 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 慢得多,因此速度影响可能大约只是浮点数转换。