This is ublasJama 1.0.3.0, based on Jama 1.0.3
ublasJama is translation of the public domain Jama (Java Matrix Package http://math.nist.gov/javanumerics/jama/ or http://web.archive.org/web/20130915073759/http://math.nist.gov/javanumerics/jama/) 1.0.3 to C++ using boost.ublas for the linear algebra.
Author of the ublas translation: Frederic Devernay frederic.devernay@m4x.org Homepage: http://devernay.free.fr/hacks/ublasJama/
Documentation: see the Jama documentation http://math.nist.gov/javanumerics/jama/doc/ or http://web.archive.org/web/20130221173516/http://math.nist.gov/javanumerics/jama/doc/.
Original Authors: see the Jama list of authors http://math.nist.gov/javanumerics/jama/#Authors.
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
Changes since ublasJama 1.0.3.0:
- rebase on Jama 1.0.3, which incorporates my fix for EigenvalueDecomposition (see below)
- cleaned up javadoc documentation
Changes since ublasJama 1.0.2.4:
- add force_symmetric parameter to Eigenvalue decomposition, to force decomposition type
Changes since ublasJama 1.0.2.3:
- templatize EigenValueDecomposition
- better template parameters (allow row_major and column_major matrices)
Changes since ublasJama 1.0.2.2:
- from http://ojalgo.org/generated/org/ojalgo/matrix/jama/package-summary.html:
- "The getL() and getU() methods of the LU decomposition should be modified. Introduce a new parameter d that is the minimum of m and n. Use that to set the column dimension of L and the row dimension of U."
- Add a method isSymmetric() that exposes the already existing field issymmetric in the EigenvalueDecomposition class.
- Check for bug http://cio.nist.gov/esd/emaildir/lists/jama/msg01528.html http://web.archive.org/web/20111017044046/http://cio.nist.gov/esd/emaildir/lists/jama/msg01528.html (bug was not present)
- check for bug http://cio.nist.gov/esd/emaildir/lists/jama/msg01525.html http://web.archive.org/web/20111017042015/http://cio.nist.gov/esd/emaildir/lists/jama/msg01525.html (bug was present and is fixed in EigenvalueDecomposition.cpp - see README-Eigenbug.txt for an explanation)
Changes since ublasJama 1.0.2.1:
- applied fixes and enhancements to SVD, based on Jama fixes by by Andreas Kyrmegalos:
- explanation: http://cio.nist.gov/esd/emaildir/lists/jama/msg01430.html http://web.archive.org/web/20111018002939/http://cio.nist.gov/esd/emaildir/lists/jama/msg01430.html
- final version: http://cio.nist.gov/esd/emaildir/lists/jama/msg01431.html http://web.archive.org/web/20111018003027/http://cio.nist.gov/esd/emaildir/lists/jama/msg01431.html
Changes since ublasJama 1.0.2.0:
- fix two bugs in SVD (the ublas matrix constructor doesn't init elts)