Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使mpmath函数返回python浮点?_Python_Numpy_Mpmath - Fatal编程技术网

如何使mpmath函数返回python浮点?

如何使mpmath函数返回python浮点?,python,numpy,mpmath,Python,Numpy,Mpmath,我想将一个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中获取函数并将其转换为可以作用于numpy数组但返回标准浮点而不是mpmath浮点的函数的最快/最佳方法是什么?或者只是将mpf数组转换为num

我想将一个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中获取函数并将其转换为可以作用于numpy数组但返回标准浮点而不是mpmath浮点的函数的最快/最佳方法是什么?或者只是将mpf数组转换为numpy浮点?函数float()用于转换数字,但不能转换数组

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

我应该这样做。mpmath计算可能比lambda慢得多,因此速度影响可能仅限于浮点转换。

谢谢,但我不确定我是否理解您的答案。与仅计算mpmath函数相比,浮点转换是否会显著改变速度?最有可能的是,它对速度的影响微乎其微,如果希望从mpf对象中进行浮点转换,则在任何情况下都需要这样做。(由于Numpy阵列不了解mpf对象,因此无法加快这些操作的速度。)