python - Python:Scipy cimport 与 Cython
问题描述
我看了很久,最后决定把这个问题放在这里,因为它似乎缺乏关于那个特定案例的信息。这是我的问题:我的代码有点慢,所以我求助于Cython来加速。它使用scipy.special jv函数,我发现有与 Cython 兼容的版本。参考:https ://docs.scipy.org/doc/scipy/reference/special.cython_special.html
但是在尝试使用该功能时我无法使其工作。这是一个最小的代码。
from scipy.special.cython_special cimport jv as jvCython
cdef complex128_t[:] A = jvCython(1,2)
我收到错误:无效使用融合类型,类型不能专门化
看起来 ctype 定义在某些时候存在问题,但即使我使用链接中显示的签名,我也会得到相同的错误。
有人可以解释一下什么是融合类型以及为什么它不起作用?
非常感谢
解决方案
我认为当你通过double
两个. 如果你这样做,它可能会起作用double complex
int
a = jv(1., 2.)
(即添加小数点,以便它识别输入是double
)。如果您想要复杂的版本,请输入第二个数字2. + 0.j
。
输出是标量,而不是内存视图,所以我不知道你为什么这样输入A
,但这是一个单独的问题。
推荐阅读
- php - 口才好,组关系
- webusb - 如果是使用 webUSB API 的复合设备(有两个接口),则无法打开设备
- kubernetes - Kubernetes / 在 pod 上下文中使用 json 文件
- python - SyntaxError:在执行查询时扫描字符串文字时 EOL
- php - PHP Curl with Knack API - 发布图像问题
- spring-boot - 在 Spring Boot 和 OAuth2 应用程序中禁用同一用户的多次登录
- python - 通过字典更新数据框行
- android - 无法在 android pie 中加载谷歌地图
- android - Kotlin Gson 空值
- regex - 捕获第一个 [] 之间的任何内容,而不是字符串中的所有 []