# mgmres

mgmres, a MATLAB code which applies the restarted Generalized Minimum Residual (GMRES) algorithm to solve a sparse linear system, using compressed row storage (CRS) or sparse triplet (ST) format, by Lili Ju.

One matrix format used is the ST or "sparse triplet" format, which simply stores NZ_NUM, the number of nonzeros, and stores the K-th nonzero matrix entry as

• A(K), the value of the entry;
• IA(K), the row of the entry;
• JA(K), the column of the entry;

Another matrix format used is the CRS or "compressed row storage" format, which is similar to the sparse triplet format except that it the vector of row indices is compressed to a vector of length N+1 which points to the beginning of the set of entries for each row.

• A(1:NZ_NUM), the value of the entry;
• IA(1:N+1), row I values occur in entries IA(I) to IA(I+1)-1;
• JA(1:NZ_NUM), the column of the entry;

### Languages:

mgmres is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

### Related Data and Programs:

cg_rc, a MATLAB code which implements the conjugate gradient method for solving a positive definite sparse linear system A*x=b, using reverse communication.

crs, a data directory which contains examples of the Compressed Row Storage (CRS) sparse matrix file format;

crs_io, a MATLAB code which reads and writes sparse linear systems stored in the Compressed Row Storage (CRS) format.

hbsmc, a dataset directory which contains a collection of large sparse matrices stored in the Harwell-Boeing format.

kelley, a MATLAB code which implements iterative methods for linear and nonlinear equations, by Tim Kelley;

mm, a data directory which contains a description and examples of the Matrix Market format for storing matrices.

st, a data directory which contains a description and examples of the ST format for storing sparse matrices.

st_io, a MATLAB code which reads and writes sparse linear systems stored in the Sparse Triplet (ST) format.

test_mat, a MATLAB code which defines test matrices.

### Author:

Original C version by Lili Ju, Mathematics Department, University of South Carolina; Matlab version by John Burkardt.

### Reference:

1. Richard Barrett, Michael Berry, Tony Chan, James Demmel, June Donato, Jack Dongarra, Victor Eijkhout, Roidan Pozo, Charles Romine, Henk van der Vorst,
Templates for the Solution of Linear Systems:
Building Blocks for Iterative Methods,
SIAM, 1994,
ISBN: 0898714710,
LC: QA297.8.T45.
2. Tim Kelley,
Iterative Methods for Linear and Nonlinear Equations,
SIAM, 2004,
ISBN: 0898713528,
LC: QA297.8.K45.