有誰知道什麼是一個好的庫,用於計算Android中的線性代數(SVD,QR,LU,最小二乘法,逆等)?Android的線性代數庫
9
A
回答
3
Jama工作得很好。
0
如果您使用C++和NDK,則可以使用Eigen。它可以使用SSE 2/3/4,ARM NEON和AltiVec指令集。
7
傳統的線性代數庫在層中實現。 Basic Linear Algebra Subprogram (BLAS)位於底層。 Linear Algebra Package (LAPACK)建立在BLAS之上。這兩個層庫的接口在20世紀90年代被標準化,硬件廠商通常會爲其架構提供各種定製實現。 LAPACK提供了你提到的線性代數庫操作(SVD,QR,LU,最小二乘法,逆等)。在最近幾年,出現了一些更加用戶友好的線性代數庫(例如Armadillo,Eigen),它們實際上爲傳統的BLAS和LAPACK庫提供了一些包裝。
JBLAS只是傳統BLAS的java實現。 JAMA也是一個用Java實現的LAPACK類庫。這兩個庫非常適合Android。但是由於Android編程通常涉及Java,因此我們可以使它們在Android上工作。但是,我們無法期望這些實現的性能。我的觀點是,性能是一個關鍵因素,因爲您正在調用庫而不是自己編寫庫,並且高性能通常會在Android OS的移動平臺中提高低能耗成本。雖然上述線性代數庫通常以CPU(例如x86架構,操作系統:Linux/Windows/MacOS)爲目標,但專家們正在取得進展,同時在移動平臺(例如ARM,OS:Android) 。
我剛注意到高通剛剛發佈了自己的類BLAS庫Snapdragon Math Library,它可以在高通定製的ARM架構上運行。在頂級LAPACK鏈接到它,這些線性代數運算(SVD,QR,LU,最小二乘,逆等)可以在Android上以高性能實現。
相關問題
- 1. 線性代數庫
- 2. C#代數線性庫
- 3. Haskell的有限域線性代數庫
- 4. 斯卡拉的線性代數庫?
- 5. 羣集的線性代數庫
- 6. lisp高效線性代數庫
- 7. CUDA中的線性代數庫和動態並行性
- 8. Android使用數據庫中的數據膨脹線性佈局
- 9. 替代線性代數的scipy和numpy?
- 10. 線性代數應用
- 11. 整數上的線性代數包
- 12. C(非C++)的有限域(Galois域)線性代數庫
- 13. 知道一個好的線性代數.net庫嗎?
- 14. 用於大型密集矩陣的線性代數庫
- 15. android和在線數據庫
- 16. Android Firebase數據庫線程
- 17. Android,線程和數據庫
- 18. SQLite數據庫的「線性限制」
- 19. 密集線性代數的應用
- 20. C中的圖形線性代數
- 21. 將一個線性代數庫與Boost :: Units
- 22. 爲C++選擇線性代數庫提供建議
- 23. android中的線性加速度數據
- 24. 線性漸變庫
- 25. 的Android庫屬性
- 26. 用於數組,矩陣,向量和經典線性代數運算的C++庫
- 27. Android線性佈局
- 28. Android中的線性佈局
- 29. Android中的線程性能
- 30. 非線性數據庫檢索
謝謝丹!我剛剛編輯了我的答案。希望它更獨立。 – 2015-12-19 04:18:04