Jump to content

Jblas: Linear Algebra for Java

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Yobot (talk | contribs) at 16:34, 27 September 2013 (WP:CHECKWIKI error fixes using AWB (9500)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Jblas: Linear Algebra for Java
Original author(s)Mikio L. Braun
Stable release
1.2.3 / February 13, 2013 (2013-02-13)
Operating systemCross-platform
TypeLibrary
LicenseBSD Revised
Websitejblas.org

jblas is a linear algebra library for the Java programming language. jblas is a fast library due to its use of native implementations of BLAS and LAPACK, which are the de-facto industry standard for matrix computations. jblas improved upon the archaic API found in BLAS and LAPACK (an artifact of them originating from the Fortran community) by providing an easy to use high level interface for Java users. By design, jblas removes much of the tediousness of using JNI interfaces and hide the Fortran calling conventions.

Since its initial release, jblas has been gaining popularity in scientific computing. With applications in a range of applications, such as text classification,[1] network analysis,[2] and stationary subspace analysis.[3] It is part of software packages, such as JLabGroovy [4] and Universal Java Matrix Library (UJMP).[5] In a recent performance study of Java matrix libraries,[6] jblas is the highest performing library, when libraries with native code are considered.

Capabilities

The following is an overview of jblas's capabilities, as listed on the project's website:

  • Eigen – eigendecomposition
  • Solve – solving linear equations
  • Singular – singular value decomposition
  • Decompose – 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);

References

  1. ^ C. Dharmadhikar, Shweta (July 2012). "A Novel Multi label Text Classification Model using Semi supervised learning". International Journal of Data Mining & Knowledge Ma nagement Process (IJDKP). 2 (4). {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  2. ^ Davis, Nicholas (2011). "Real-world comparison of CPU and GPU implementations of SNPrank: a network analysis tool for GWAS". Bioinformatics. 27 (2): 284–285. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  3. ^ Muller, Jan Saputra (2011). SSA Toolbox 1.3 Manual (PDF). Retrieved September 25, 2013. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  4. ^ Papadimitriou, Stergios. "JLabGroovy". Retrieved September 23, 2013.
  5. ^ Arndt, Holger. "Universal Java Matrix Package". Retrieved September 25, 2013.
  6. ^ Abeles, Peter. "Java Matrix Benchmark". Retrieved September 23, 2013.