En el mundo de Python, si tengo que hacer algunos cálculos numéricos, uso NumPy y sus amigos como Matplotlib.
Ahora tengo una aplicación de Android/Java y surge la necesidad de hacer algunos números y me pregunto qué debo hacer. ¿Enrollar mis propios envoltorios alrededor de Arrays of Floats?!? Eso suena horrible. Quiero algo de más alto nivel.
Las operaciones que necesitaría realizar son operaciones típicas de vector-escalar o vector-vector:
Más adelante podría estar interesado en operaciones avanzadas como FFT u operaciones matriciales, pero ahora mismo estoy buscando una biblioteca básica sólida para evitar reinventar la rueda.
¿Alguna sugerencia?
La API de nd4j.org intenta imitar la semántica de Numpy, Matlab y scikit-learn. deeplearning4j.org se basa en nd4j.
NM Dev es una biblioteca numérica de Java (licencias comerciales, comunitarias y académicas).
El código abierto está disponible en: https://github.com/nmdev2020/SuanShu
Hay una serie de bibliotecas numéricas de Java.
Consulte aquí para obtener una descripción general: http://www.ee.ucl.ac.uk/~mflanaga/java/OpenSourceNumeric.html
(No tengo la reputación de publicar más de 2 enlaces, así que solo enlace a la página que contiene los enlaces).
Codiólogo
java linear algebra library
?