Sco*_*ott 6 python iphone numpy python-embedding accelerate-framework
本学期,我正在将压缩感知算法实现为iPhone应用程序.为此,我需要一些好的矩阵/线性代数库.我对iOS和Python都有点新意,我正在寻找一些帮助来评估我的选择.
我知道iPhone有Accelerate框架,其中包括vecLib,BLAS和LAPACK,但我不熟悉它们的API(它们看起来相当令人困惑).
我玩过Python/numpy,我真的很喜欢它的使用方式 - 如果我有选择的话,我宁愿使用numpy over 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是一个有效的解决方案吗?
谢谢!
iOS 8 中新发布的Swift编程语言允许编写类似 Python/Matlab 的高级代码。因此,开发了一个名为swix的框架,它包装了 Accelerate (/BLAS/Lapack/etc) 框架。
充分利用Accelerate框架的代码片段:
var N = 10
var x = ones(N) * pi
var y = ones(N) * phi
var result = (x+y+4)*x
Run Code Online (Sandbox Code Playgroud)
该代码可以为 iPhone/iOS 编译。swix 文档中包含有关安装的完整详细信息。
| 归档时间: |
|
| 查看次数: |
2950 次 |
| 最近记录: |