
Sparse
SparseLib++ 

SparseLib++ is a C++ class library for efficient sparse matrix computations across various computational platforms. The software package consists of matrix classes encompassing several sparse storage formats (e.g. compressed row, compressed column and coordinate formats), and providing basic functionality for managing sparse matrices. The Sparse BLAS Toolkit is used to for efficient kernel mathematical operations (e.g. sparse matrixvector multiply) and to enhance portability and performance across a wide range of computer architectures. Included in the package are various preconditioners commonly used in iterative solvers for linear systems of equations. Submitted: Nov 29, 1996

SuperLU 

SuperLU contains a set of subroutines to solve a sparse linear system A*X=B. It uses Gaussian elimination with partial pivoting (GEPP). The columns of A may be preordered before factorization; the preordering for sparsity is completely separate from the factorization. Submitted: Jul 26, 1997

SparseLib++ 

SparseLib++ is a C++ class library for efficient sparse matrix computations across various computational platforms. Submitted: Nov 14, 1999

NIST Sparse BLAS 

The NIST Sparse BLAS (Basic Linear Algebra Subprogram) library provides computational kernels for fundamental sparse matrix operations. This version of the NIST Sparse BLAS supports the following sparse formats: compressedrow, compressedcolumn, and coordinate storage formats, together with block and variableblock versions of these. Symmetric and skewsymmetric versions are also supported. The routines are written in ANSI C and are callable from Fortran and C through the interface proposed in the Sparse BLAS Toolkit. Submitted: Nov 22, 1996

TRLan 

By some estimates, more than 90% of the eigenvalue problems solved are real symmetric or complex Hermitian problems. For many of these problems, the discrete form of the operators (a.k.a the matrices) are simply too large to store in computer memory. Typically, a small fraction of the total eigenvalues and eigenvectors are wanted, and the wanted one are often the extreme eigenvalues. In these cases, it is fairly difficult to work with the matrices directly. However, through years of research, many fast schemes have been developed to multiply these matrices on vectors. The software package we developed is mainly targetted for this type of eigenvalue problems. By limiting the scope of its functionalities, we are able to provide a small, efficient and userfriendly software package. This software package implements the thickrestart Lanczos method. It can be used on either a single address space machine or a distributed parallel machine. The user can choose to implement or use a matr Submitted: Jul 04, 1999

SPOOLES 

SPOOLES is a library for solving sparse real and complex linear systems of equations, written in the C language using object oriented design. At present, there is the following functionality: 1. Compute multiple minimum degree, generalized nested dissection and multisection orderings of matrices with symmetric structure. 2. Factor and solve square linear systems of equations with symmetric structure, with or without pivoting for stability. The factorization can be symmetric LDLT, Hermitian LDLH, or nonsymmetric LDU. A direct factorization or a drop tolerance factorization can be computed. The factors and solve can be done in serial mode, multithreaded with Solaris or POSIX threads, or with MPI. 3. Factor and solve overdetermined full rank systems of equations using a multifrontal QR factorization, in serial or using POSIX threads. 4.Solve square linear systems using a variety of Krylov iterative methods. The preconditioner is a drop tolerance factorization, constructed with or without pivoting for stability. Submitted: Jul 04, 1999

UMFPACK V4.0 

UMFPACK is a set of routines for solving unsymmetric sparse linear systems, Ax=b, using the Unsymmetric MultiFrontal method. Written in ANSI/ISO C, with a MATLAB (Version 6.0 and later) interface. It appears as a builtin routine (for lu, backslash, and forward slash) in MATLAB 6.5. The new code is typically faster than V2.2.1, uses dynamic memory allocation, and has a symbolic preordering and analysis phase that also reports the upper bounds on the nonzeros in L and U, flop count, and memory usage in the numeric phase. It includes a MATLAB interface. V4.0 is for real and complex matrices, rectangular and square, and both nonsingular and singular. Submitted: Dec 09, 2002

PSPASES 

PSPASES (Parallel SPArse Symmetric dirEct Solver) is a high performance, scalable, parallel, MPIbased library, intended for solving linear systems of equations involving sparse symmetric positive definite matrices. The library provides various interfaces to solve the system using four phases of direct method of solution : compute fillreducing ordering, perform symbolic factorization, compute numerical factorization, and solve triangular systems of equations. The library efficiently implements the scalable parallel algorithms developed by the authors, to compute each of the phases [GKK , JGKK , GGJKK , KK]. Submitted: Jul 24, 1998

Spark98 Kernels 

Spark98 is a collection of 10 sparse matrix kernels for shared memory and message passing systems. Each kernel performs a sequence of sparse matrix vector product (SMVP) operations. The aim is to provide system builders with a set of example sparse matrix codes that are simple, realistic, and portable. Submitted: Dec 10, 1997

METIS 

METIS is a family of programs for partitioning unstructured graphs and hypergraphs and computing fillreducing orderings of sparse matrices. The underlying algorithms used by METIS are based on the stateoftheart multilevel paradigm that has been shown to produce high quality results and scale to very large problems. Submitted: Jul 04, 1999


