JAMA (numerical linear algebra library)

JAMA is a software library for performing numerical linear algebra tasks created at National Institute of Standards and Technology in 1998 similar in functionality to LAPACK.

Functionality
The main capabilities provided by JAMA are:
 * Eigensystem solving
 * LU decomposition
 * Singular value decomposition
 * QR decomposition
 * Cholesky decomposition

Versions exist for both C++ and the Java programming language. The C++ version uses the Template Numerical Toolkit for lower-level operations. The Java version provides the lower-level operations itself.

History
As work of US governmental organization the algorithm and source code have been released to the public domain around 1998. JAMA has had little development since the year 2000, with only the occasional bug fix being released. The project's webpage contains the following statement, "(JAMA) is no longer actively developed to keep track of evolving usage patterns in the Java language, nor to further improve the API. We will, however, fix outright errors in the code." The last bug fix was released November 2012, with the previous one being released in 2005.

Usage Example
Example of Singular Value Decomposition (SVD):

Example of matrix multiplication: