代码之家  ›  专栏  ›  技术社区  ›  konstant

numexpr是否支持特殊的bessel函数?

  •  1
  • konstant  · 技术社区  · 6 年前

    我需要在一千万点上评估贝塞尔函数。我知道 scipy.special 将此作为支持 scipy.special.kv(n, x) 但是我想要一个更快的评估以及一个内存高效的评估。理想的 numexpr 很好,我试过了 numexpr.evaluate("kv(n, x)") 以及 numexpr.evaluate("besselk(n,x)") 但两者都不起作用。有人知道贝塞克的确切命令吗 数字表达式 ?

    1 回复  |  直到 6 年前
        1
  •  1
  •   ev-br    6 年前

    numexpr文档列出了支持的函数,但是,贝塞尔函数不在其中。

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

    您可以尝试四处寻找替代实现,例如从GSL或Boost,但坦率地说,我怀疑速度差异将是非常重要的,如果有的话。

    什么 可以 与之相关的是避免在Python端的点上进行循环。或者只使用数组值参数 scipy.special.kv 或者去赛通,用 cython_special 在赛通有循环的版本。