今学期は、iPhoneアプリとして圧縮センシングアルゴリズムを実装しています。これを行うには、いくつかの優れた行列/線形代数ライブラリが必要です。私はiOSとPythonの両方に少し慣れていないので、オプションを評価するのに役立つ情報を探しています。
iPhoneにvecLib、BLAS、LAPACKを含むAccelerateフレームワークがあることは知っていますが、私はそれらのAPIに精通していません(そしてそれらはかなり混乱しているようです)。
私はPython/numpyをいじってみましたが、使い方がいかに簡単かが本当に気に入っています。選択肢があれば、Accelerateよりもnumpyを使用したいと思います。
Pythonを埋め込むことは可能ですが、私自身はほとんど運がありませんでした。EnthoughtのEPD.frameworkをXCodeプロジェクトに含めようとしましたが、1時間ほど遊んだ後、機能しませんでした。numpyのコンパイルはもっと悪くなると思います。
別の方法として、Cython(http://cython.org/)を使用してCファイルを生成し、そこから関数を呼び出すことはできますか?私もこれを試みましたが、.soライブラリを含めて呼び出すことでさらに多くの問題が発生しました。Cythonに.cおよび.hファイルを生成させる方法はありますか?.cファイルと.hファイルはまだnumpyに依存していると思いますか?
PyInstallerとfreeze.pyについていくつか読んだことがあります。それらのどちらかがここで私を助けてくれますか?
AccelerateまたはPython+numpy以外にオプションはありますか?Python + numpyは良いオプションですか、それともコンパイル/ビルドが難しいですか?Cythonは有効なソリューションですか?
ありがとうございました!