jblas is a fast linear algebra library for Java. jblas is based on BLAS and LAPACK, the de-facto industry standard for matrix computations, and uses state-of-the-art implementations like ATLAS for all its computational routines, making jBLAS very fast.
jblas can is essentially a light-wight wrapper around the BLAS and LAPACK routines. These packages have originated in the Fortran community which explains their 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.
- Changes to previous version:
added logo to mloss page
Other available revisons
Version Changelog Date 1.1.1
Changes from 1.0:
- Added singular value decomposition
- Fixed bug with returning complex values
- Many other minor improvements
September 1, 2010, 13:53:51 1.0
Release 1.0 - December 22, 2009
Changes from 0.2:
Default jar now contains JNI libraries including ATLAS for Windows, Linux, and Mac OS X, 32bit and 64bit (64bit version for Windows missing right now)
Build for Mac OS X
configure script has been overhauled.
Matrix classes are now serializable.
added LAPACK functions [sdcz]geev, [sd]getrf, [sd]potrf
Added interfaces ConvertsToDoubleMatrix and ConverstToFloatMatrix
Added class Decompose which provides LUDecomposition (based on getrf), and Cholesky decomposition (based on potrf)
Added read-only AbstractList views for elements, rows, and columns for better interfacing with Java's collection API.
Added matrix exponentials (MatrixFunctions.expm) based on Pade approximation provided by Jan Saptra Müller. These should be pretty fast!
Added prod() which returns the product of all elements.
Added project() which projects one vector on another.
Added MatrixFunctions.min() and .max() for integers.
Added Permutations class for generating random permutations and subsets based on the algorithms from Knuth's "The Art of Computer Programming", Vol. 2.
December 22, 2009, 10:47:12 0.2
Release v2.0 - May 8, 2009
Release v2.0 mostly adds features to the build process and renames some packages and classes to make the structure simpler. No new significant functionality has been added.
Changes from version v1.0:
- fixed a bug in DoubleMatrix.copy()
- Renamed packages to make structure simpler
org.jblas.la -> org.jblas org.jblas.la.exceptions -> org.jblas.exceptions org.jblas.la.ranges -> org.jblas.ranges org.jblas.core -> moved content to org.jblas and org.jblas.util
- Renamed classes
Blas -> NativeBlas
Build process can now generate different kinds of jar files, and also generate shared libraries which are statically linked against BLAS, LAPACK or ATLAS. You can also generate a multiplatform jar file which contains shared libraries for different platforms.
Generated wrapper code has been optimized a bit:
in the lapack wrapper with automatic workspace allocation, only small dummy arrays are passed in the workspace query, meaning that the real arrays are only passed once, not twice.
The wrapper now also parses information whether output variables are input or output and releases the arrays with JNI_ABORT in case they are not output variables. This should also reduce the amount of copying.
May 8, 2009, 12:34:39 0.1
added logo to mloss page
March 30, 2009, 14:37:03
No one has posted any comments yet. Perhaps you'd like to be the first?
Leave a comment
You must be logged in to post comments.