JMP is a sparse
matrix library. It is aimed at the numerical solution of large,
sparse matrices arising from the discretization of partial
differential equations (PDEs).
Its main features are
-
Dense and sparse matrices, stored in either row or column
major format. Matrix assembly is fully thread-safe
-
A comprehensive BLAS for both sparse and dense matrices, with
parallelization for the most time-consuming operations
-
Large selection of Krylov-subspace solvers with
preconditioners for linear problems
-
Additional solvers for mixed problems and simple eigenvalue
problems
-
I/O facilities for matrices and vectors supporting several
different formats, and ensures easy import/export of data
-
Dense matrix decompositions such as QR, LU and SVD
The implementation is fully object-oriented, and most of the
functionality of the package can be extended. Examples are new
matrices, solvers, convergence monitors, etc. JMP itself uses
the following libraries:
-
A slightly modified version of JAMA is used for the dense matrix
decompositions
-
The linear iterative solvers are derived from the Templates project
-
For parallelization, the util.concurrent package is used
-
The test-suite requires JUnit, but it is not required for normal usage
of JMP
JMP is made available subject to the terms of the GPL. A copy of the license is included in the
download.