Application Examples

Aztec  
Aztec is a library that provides algorithms for the iterative solution of large sparse linear systems arising in scientific and engineering applications. It is a standalone package comprising a set of iterative solvers, preconditioners and matrixvector multiplication routines. Users are not required to provide their own matrixvector multiplication routines or preconditioners in order to solve a linear system. The Aztec library is written in C and is also callable from Fortran. Overall, the package was designed to be portable and easy to use. The user may input the linear system in a simple format and Aztec will perform the necessary transformations for the matrixvector multiplication and preconditioning. After the transformations, the iterative solvers can run efficiently. If the input matrix is suitably partitioned, the efficiency can be further enhanced. The major components of Aztec are implementations of iterative solvers (CG, CGS, BiCGSTAB, GMRES and TFQMR) and preconditioners (point Jacobi, block Jacobi, GaussSeidel, leastsquares polynomials, and overlapping domain decomposition using sparse LU, ILU, ILUT, BILU and ICC within domains). Aztec supports two different sparse matrix notations: a) a pointentry modified sparse row (MSR) format; b) a blockentry variable block row (VBR) format. These two formats have been generalized for parallel implementation and the library includes highly optimized matrixvector multiply kernels and preconditioners for both types of data structures.


