Jblas: Linear Algebra for Java
Jblas: Linear Algebra for Java | |
---|---|
Original author(s) | Mikio L. Braun |
Stable release | 1.2.3
/ February 13, 2013 |
Operating system | Cross-platform |
Type | Library |
License | BSD Revised |
Website | jblas |
jblas is a fast linear algebra library for Java and uses the JNI to wrap around BLAS and LAPACK libraries, using native code. BLAS and LAPACK are the de-facto industry standard for matrix computations, and jblas uses state-of-the-art implementations like ATLAS for all its computational routines. These packages have originated in the Fortran community, which explains their often archaic API. On the other hand modern implementations are hard to beat performance wise. jblas aims to make this functionality available to Java programmers such that they do not have to worry about writing JNI interfaces and calling conventions of Fortran code[1].
Capabilities
The following is an overview of jblas's capabilities, as listed on the project's website:[1]
- Eigen – eigendecomposition
- Solve – solving linear equations
- Singular – singular value decomposition
- Decompose – decompositions like LU, Cholesky, ...
- Geometry – centering, normalizing, ...
Usage Example
Example of Eigenvalue Decomposition:
DoubleMatrix[] evd = Eigen.symmetricEigenvectors(matA);
DoubleMatrix V = evd[0];
DoubleMatrix D = evd[1];
Example of matrix multiplication:
DoubleMatrix result = matA.mmul(matB);