JAMA (numerical linear algebra library)
Encyclopedia
JAMA is a software library for performing numerical linear algebra
tasks created at NIST similar in functionality to LAPACK
. 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. The main capabilities provided by JAMA are:
JAMA is in the public domain.
Linear algebra
Linear algebra is a branch of mathematics that studies vector spaces, also called linear spaces, along with linear functions that input one vector and output another. Such functions are called linear maps and can be represented by matrices if a basis is given. Thus matrix theory is often...
tasks created at NIST similar in functionality to LAPACK
LAPACK
-External links:* : a modern replacement for PLAPACK and ScaLAPACK* on Netlib.org* * * : a modern replacement for LAPACK that is MultiGPU ready* on Sourceforge.net* * optimized LAPACK for Solaris OS on SPARC/x86/x64 and Linux* * *...
. Versions exist for both C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
and the Java programming language. The C++ version uses the Template Numerical Toolkit
Template Numerical Toolkit
The Template Numerical Toolkit is a software library for manipulating vectors and matrices in C++ created by the U.S. National Institute of Standards and Technology....
for lower-level operations. The Java version provides the lower-level operations itself. The main capabilities provided by JAMA are:
- Eigensystem solving
- LU decompositionLU decompositionIn linear algebra, LU decomposition is a matrix decomposition which writes a matrix as the product of a lower triangular matrix and an upper triangular matrix. The product sometimes includes a permutation matrix as well. This decomposition is used in numerical analysis to solve systems of linear...
- Singular value decompositionSingular value decompositionIn linear algebra, the singular value decomposition is a factorization of a real or complex matrix, with many useful applications in signal processing and statistics....
- QR decompositionQR decompositionIn linear algebra, a QR decomposition of a matrix is a decomposition of a matrix A into a product A=QR of an orthogonal matrix Q and an upper triangular matrix R...
- Cholesky decompositionCholesky decompositionIn linear algebra, the Cholesky decomposition or Cholesky triangle is a decomposition of a Hermitian, positive-definite matrix into the product of a lower triangular matrix and its conjugate transpose. It was discovered by André-Louis Cholesky for real matrices...
JAMA is in the public domain.
External links
- JAMA/C++ download and documentation page at NIST
- JAMA/Java homepage at NIST