JAMA (numerical linear algebra library)
1.0.3 / November 9, 2012
|License||Public domain software|
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.
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.
Example of Singular Value Decomposition (SVD):
SingularValueDecomposition s = matA.svd(); Matrix U = s.getU(); Matrix S = s.getS(); Matrix V = s.getV();
Example of matrix multiplication:
Matrix result = A.times(B);