Introduction
Documentation
Developer Information
Download


Application Examples








Aztec

Introduction

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 stand-alone package comprising a set of iterative solvers, preconditioners and matrix-vector multiplication routines. Users are not required to provide their own matrix-vector 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 matrix-vector 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, Gauss-Seidel, least-squares polynomials, and overlapping domain decomposition using sparse LU, ILU, ILUT, BILU and ICC within domains). Aztec supports two different sparse matrix notations: a) a point-entry modified sparse row (MSR) format; b) a block-entry variable block row (VBR) format. These two formats have been generalized for parallel implementation and the library includes highly optimized matrix-vector multiply kernels and preconditioners for both types of data structures.

Documentation

  • Related Tools:

Developer Information

Aztec was developed at the Department of Parallel Computational Sciences at Sandia National Laboratories, originally for use in the MPSalsa Project, a simulation code for reacting flows. Its principal developers were Ray Tuminaro, John Shadid, Scott Hutchinson, Lydie Prevost and Charles Tong.
Tools News Home