Jblas: Linear Algebra for Java
![]() | The MadmanBot has performed a web search with the contents of this page, and it appears to include material copied directly from:
It will soon be reviewed to determine if there are any copyright issues. The content should not be mirrored or otherwise reused until the issue has been resolved. If substantial content is duplicated, unless evidence is provided to the contrary (e.g. evidence of permission to use this content under terms consistent with the Wikimedia Terms of Use or public domain status; see Wikipedia:Donating copyrighted materials), editors will assume that this text is a copyright violation, and will soon delete the copy.
Before removing this notice, you should:
|
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);