Поддерживает ли Numberxpr специальные функции Bessel? - PullRequest
0 голосов
/ 20 мая 2018

Мне нужно оценить функцию BesselK примерно в десять миллионов баллов.Я знаю, что scipy.special поддерживает это как scipy.special.kv(n, x), но я хочу более быструю оценку, а также оценку эффективности памяти.В идеале numexpr было бы хорошо, и я попробовал numexpr.evaluate("kv(n, x)") так же, как numexpr.evaluate("besselk(n,x)"), но оба не работали.Кто-нибудь знает точную команду для BesselK в numexpr?

1 Ответ

0 голосов
/ 20 мая 2018

В списке Numberxpr перечислены поддерживаемые функции, и, увы, в нем нет функций Бесселя.

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

Вы можете попробовать поискать альтернативные реализации, например, из GSL илибуст, но, честно говоря, я сомневаюсь, что разница в скорости будет нетривиальной, если вообще вообще есть.

Что может иметь отношение , так это избегание петель над точками на стороне питона.Либо просто используйте аргументы со значениями массива для scipy.special.kv, либо перейдите на Cython и используйте версию cython_special с цикличностью в Cython.

...