我想通过使用BLAS和LAPACK在C或C++中编写一些模块来扩展python和numpy.我还希望能够将代码作为独立的C/C++库进行分发.我希望这个库使用单精度和双精度浮点数.我将编写的函数的一些示例是用于求解线性系统或加速一阶方法的共轭梯度.有些函数需要从C/C++代码调用Python函数.
在使用Python/C API和Numpy/C API稍微玩了一下之后,我发现许多人主张使用Cython(例如参见这个问题或者这个问题).我不是Cython的专家,但似乎在某些情况下,你仍然需要使用Numpy/C API并知道它是如何工作的.鉴于我已经拥有(一些)关于Python/C API的知识而没有关于Cython的知识,我想知道继续使用Python/C API是否有意义,并且如果使用此API比Cython有一些优势.在未来,我肯定会开发一些不涉及数值计算的东西,所以这个问题不仅仅是关于numpy.我喜欢Python/C API的一个原因是我学到了一些关于Python解释器如何工作的东西.
谢谢.