Aztec User's Guide: Version 1.0



S. A. Hutchinson, J. N. Shadid, and R. S. Tuminaro

Sandia National Laboratories
Albuquerque, New Mexico 87185

Abstract

{\bf Aztec} is an iterative library that greatly simplifies the parallelization process when solving the linear systems of equations $Ax = b$ where $A$ is a user supplied $n \times n$ sparse matrix, $b$ is a user supplied vector of length $n$ and $x$ is a vector of length $n$ to be computed. {\bf Aztec} is intended as a software tool for users who want to avoid cumbersome parallel programming details but who have large sparse linear systems which require an efficiently utilized parallel processing system. A collection of data transformation tools are provided that allow for easy creation of distributed sparse unstructured matrices for parallel solution. Once the distributed matrix is created, computation can be performed on any of the parallel machines running {\bf Aztec}: nCUBE 2, IBM SP2 and Intel Paragon, MPI platforms as well as standard serial and vector platforms.

{\bf Aztec} includes a number of Krylov iterative methods such as conjugate gradient (CG), generalized minimum residual (GMRES) and stabilized biconjugate gradient (BiCGSTAB) to solve systems of equations. These Krylov methods are used in conjunction with various preconditioners such as polynomial or domain decomposition methods using LU or incomplete LU factorizations within subdomains. Although the matrix $A$ can be general, the package has been designed for matrices arising from the approximation of partial differential equations (PDEs).