Netlib is a collection of mission-critical software components for linear algebra systems (i.e. working with vectors or matrices). Netlib libraries are written in C, Fortran or optimised assembly code. A Java translation has been provided by the F2J project but it does not take advantage of optimised system libraries.
The Matrix Toolkits for Java project provides a higher level API and is recommended for programmers who do not specifically require a low level Netlib API.
This project provides a wrapper layer that gives Java programmers access to a common API which can be configured to use either the pure Java or natively optimised implementations of BLAS, LAPACK and ARPACK such as
Intel's Math Kernel Library AMD's Core Math Libary Apple's vecLib Framework the popular open source ATLAS. This ensures perfect portability, while allowing for improved performance in a production environment. Users are advised to perform the appropriate performance profiling with Java and native implementations... the pure Java implementation is surprisingly fast. A good rule of thumb is that native libs only out-perform the Java implementation if specific hardware is used or matrices are larger than 1000 x 1000 elements.
To use this library in your Java projects, you must add the following jar files to your classpath:-
netlib-java-X.jar arpack_combined_all.jar from jarpack (a version comes bundled with netlib-java named arpack-combo-X.jar, in the folder lib/f2j) If you wish to use the JNI, then you may find the necessary source files in the folder jni. You should be able to run the script configure and then make to produce the necessary JNI library files for your system. You will need to have the headers for BLAS and LAPACK on your system, a C compiler and a Fortran compiler (in order to build ARPACK).
Most of the code in netlib-java is autogenerated. If you wish to regenerate the files yourself from the source, you will need to grab the jlapack-0.8-javadoc.zip javadoc file from jlapack-0.8 and place it into the lib/f2j directory.