这学期,我正在将一种压缩感知算法实现为iPhone应用程序。为此,我需要一些好的矩阵/线性代数库。我对iOS和Python都有点陌生,并寻求帮助来评估我的选择。
我知道iPhone有Accelerate框架,其中包括vecLib、BLAS和LAPACK,但我不熟悉它们的API(而且它们看起来相当令人困惑)。
我尝试过Python/numpy,并且我非常喜欢它的简单易用性——如果可以选择,我更愿意使用numpy而不是Accelerate。
我知道可以嵌入Python,但我自己却没有什么成功经验。我尝试在XCode项目中包含Enthought的EPD.framework,但大约花了一个小时玩耍后也没能让它工作。我想编译numpy会更糟糕。
作为另一种选择,我能否使用Cython (http://cython.org/) 生成C文件,然后从那里调用函数呢?我也尝试过这个,但是在包含一个.so库并调用它时遇到了更多问题。是否有任何方法让Cython生成.c和.h文件?这些.c和.h文件是否仍然依赖于numpy?
我读过一些关于PyInstaller和freeze.py的文章。这两者能帮助我吗?
除了Accelerate或Python+numpy之外,还有其他选择吗?Python+numpy是一个好的选择吗,还是很难编译/构建?Cython是一个有效的解决方案吗?
谢谢!