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