【发布时间】:2012-02-10 05:53:28
【问题描述】:
本学期,我将一个压缩感知算法实现为一个 iPhone 应用程序。为此,我需要一些好的矩阵/线性代数库。我对 iOS 和 Python 都有些陌生,正在寻求一些帮助来评估我的选择。
我知道 iPhone 有 Accelerate 框架,其中包括 vecLib、BLAS 和 LAPACK,但我不熟悉它们的 API(而且它们看起来相当混乱)。
我使用过 Python/numpy,我真的很喜欢它的简单易用性 - 如果可以选择,我更喜欢使用 numpy 而不是 Accelerate。
我知道embed 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 是一个有效的解决方案吗?
谢谢!
【问题讨论】:
标签: iphone python numpy accelerate-framework python-embedding