numexpr是否支持特殊的贝塞尔函数?

2024-05-14 15:34:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在大约一千万点上计算贝塞尔克函数。我知道scipy.special支持scipy.special.kv(n, x),但是我想要一个更快的评估以及内存效率更高的评估。理想情况下numexpr会很好,我尝试了numexpr.evaluate("kv(n, x)")numexpr.evaluate("besselk(n,x)"),但都不起作用。有人知道BesselK在numexpr中的确切命令吗


Tags: 函数内存命令情况scipy效率specialevaluate
1条回答
网友
1楼 · 发布于 2024-05-14 15:34:47

numexpr文档列出了支持的函数,可惜贝塞尔函数不在其中

http://numexpr.readthedocs.io/projects/NumExpr3/en/latest/user_guide.html

你可以试着四处寻找替代的实现,例如从GSL或boost,但坦率地说,我怀疑速度上的差异会不会很小,如果有的话

可能相关的是避免在python端的点上循环。要么直接使用数组值参数来scipy.special.kv,要么直接放到Cython,然后在Cython中使用带循环的cython_special版本

相关问题 更多 >

    热门问题