Qualcuno sa quale sarà una buona libreria per calcolare l'algebra lineare in Android (SVD, QR, LU, minimi quadrati, inversa, ecc.)?Libreria algebra lineare per Android
risposta
Jama funziona abbastanza bene.
Se si utilizza C++ e NDK, è possibile utilizzare Eigen. Può utilizzare i set di istruzioni SSE 2/3/4, ARM NEON e AltiVec.
Le librerie di algebra lineare convenzionale sono implementate a strati. Basic Linear Algebra Subprogram (BLAS) si trova nel livello inferiore. Linear Algebra Package (LAPACK) è costruito sopra BLAS. Le interfacce per queste librerie a due strati sono standardizzate negli anni '90 e i fornitori di hardware forniranno di solito varie implementazioni personalizzate per le loro architetture. LAPACK fornisce le operazioni della libreria algebra lineare (SVD, QR, LU, minimi quadrati, inversa, ecc.) Che hai menzionato. Negli anni più recenti, emergono alcune librerie di algebra lineare più user-friendly (ad esempio Armadillo, Eigen) che forniscono effettivamente alcuni wrapper per la libreria convenzionale BLAS e LAPACK.
JBLAS è solo un'implementazione java del tradizionale BLAS. JAMA è anche una libreria simile a LAPACK implementata con Java. Queste due librerie non sono rivolte in modo acuto ad Android. Ma dal momento che la programmazione Android di solito coinvolge Java, possiamo farli funzionare su Android. Tuttavia, non possiamo aspettarci prestazioni da queste implementazioni. La mia argomentazione è che le prestazioni sono un fattore chiave, dal momento che stai invocando le librerie invece di scriverle tu stesso, e le alte prestazioni di solito aumentano il costo a basso costo nelle piattaforme mobili con sistema operativo Android.
Mentre le librerie di algebra lineare sopra di solito indirizzano alla CPU (ad esempio architettura x86, SO: Linux/Windows/MacOS), gli esperti stanno ora facendo progressi per fornire anche supporti stack completi su piattaforme mobili (es. ARM, OS: Android) .
Ho appena notato che Qualcomm ha appena rilasciato la sua libreria simile a BLAS Snapdragon Math Library, che può essere eseguita su architettura ARM personalizzata di Qualcomm. Con il livello superiore LAPACK che si collega ad esso, queste operazioni di algebra lineare (SVD, QR, LU, minimi quadrati, inversa, ecc.) Possono essere implementate su Android con prestazioni elevate.
- 1. Libreria algebra lineare per Scala?
- 2. libreria di algebra lineare per il linguaggio di programmazione D
- 3. Libreria algebra lineare a campi finiti per Haskell
- 4. Algebra lineare Haskell?
- 5. Algebra lineare su python
- 6. Scala LMS per scrivere algebra lineare Lib
- 7. Combinare una libreria algebra lineare con Boost :: Units
- 8. Algebra lineare parallela per sistema multicore
- 9. Quale algebra lineare usare per OpenGL in Haskell?
- 10. Qualsiasi pacchetto di Algebra lineare sparsa in Haskell?
- 11. Buona libreria di programmazione lineare per C#?
- 12. Libreria di programmazione lineare per iOS
- 13. Soluzione di memoria C++ efficiente per Ax = b Sistema di algebra lineare
- 14. Algebra vettoriale idioma in Haskell
- 15. per calcoli affini k-algebra?
- 16. Bignum, algebra lineare e elaborazione del segnale digitale su iPhone OS (iOS 4)
- 17. Libreria di programmazione non lineare in C++
- 18. Finite Field (Galois Field) Libreria algebrica lineare per C (non C++)
- 19. Libreria VoIP per Android
- 20. Libreria Redis per Android?
- 21. Libreria SNMP per Android
- 22. Android: Layout lineare nuova linea
- 23. Android vuoto Contenuto layout lineare
- 24. Definizione di un modulo algebra utilizzando il pacchetto costruttivo-algebra
- 25. Libreria Java SSH per Android?
- 26. Come spedire libreria per Android
- 27. Algoritmo lineare per MST
- 28. non lineare per loop
- 29. Impostazione android: id per componente di layout lineare
- 30. Avviso layout di base lineare su Android
Grazie Dan! Ho appena modificato la mia risposta. Spero che sia più autonomo. –