# ublasJama

## What is ublasJama?

ublasJama is translation of the public domain JAMA (Java Matrix Package) to C++ using boost.ublas for the linear algebra. JAMA itself is a Java implementation of algorithms for dense matrices found in LINPACK and EISPACK.

## Authors

Author of the ublas translation: Frederic Devernay .

Authors of JAMA: see the JAMA list of authors.

## Copyright Notice

This software, which is based on the public-domain Java Matrix Package (JAMA), is released to the public domain. Neither Frederic Devernay nor The MathWorks nor NIST assumes any responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

## Documentation

See the JAMA documentation.

No optimization of the original code was done, but the functionality is here:

- Cholesky Decomposition of symmetric, positive definite matrices
- LU Decomposition (Gaussian elimination) of rectangular matrices
- QR Decomposition of rectangular matrices
- Eigenvalue Decomposition of both symmetric and nonsymmetric square matrices
- Singular Value Decomposition of rectangular matrices

There are two test programs:

- TestMatrix, in subdirectory test - the original JAMA tests, where only the relevant tests were kept.
- MagicSquareExample, in subdirectory examples

## Download

ublasJama-1.0.3.0.tar.gz, based on Jama 1.0.3

GitHub repository: https://github.com/devernay/ublasJama

## History:

- 1.0.3.0 (09/10/2013): Rebase on Jama 1.0.3, which incorporates my fix for EigenvalueDecomposition (see below). Cleaned up javadoc documentation.
- 1.0.2.5 (05/11/2012): Add force_symmetric parameter to EigenvalueDecomposition, to force decomposition type.
- 1.0.2.4 (13/06/2012): Templatize EigenvalueDecomposition. Better template parameters for SingularValueDecomposition (allow row_major or column_major matrices).
- 1.0.2.3 (13/04/2011): Fix a bug in EigenvalueDecomposition that resulted in an endless loop (see README-Eigenbug.txt in the distribution). Add more tests.
- 1.0.2.2 (28/04/2010): Applied fixes and enhancements to SVD, based on Jama fixes by by Andreas Kyrmegalos (explanation, final version).
- 1.0.2.1 (27/04/2010): Fix two bugs in SVD (the ublas matrix constructor doesn't init elts).
- 1.0.2.0 (05/04/2010): Initial revision.

Please contact me for any suggestion or request.

Frédéric Devernay