Y12M
A Direct Sparse Solver.


Y12M is a FORTRAN77 program which can factor and solve large sparse systems of linear equations, by Zahari Zlatev, Jerzy Wasniewski, Kjeld Schaumburg.

The Y12M package solves linear systems A*x=b where the matrix A is stored in a sparse format. Typically, most of the elements of A are zero, but this is not necessary.

The matrix A may be completely general. It does not have to be symmetric, positive definite, or have nonzero diagonal entries.

Almost all the routines in Y12M come in a single and double precision version. The two versions are distinguished by having a final letter that is "E" for the single precision and "F" for the double precision.

Y12M includes one routine which solves a single system, Y12MAE. This is probably the simplest routine to set up and use.

If several systems must be solved, Y12M allows the user to solve them one at a time, by calling Y12MXE for the first system, and then Y12MDE for subsequent systems.

If the matrix should be factored first, and only then should one or more systems be solved, this can be done by calling Y12MWE, followed by several calls to Y12MDE.

Finally, for single precision linear systems, the user may solve a single system, and then apply iterative refinement, using Y12MFE.

The sparse matrix format employed is extremely simple. Three vectors are used which store, respectively, the nonzero entries of the matrix, and the row and column indices of those entries.

Gaussian elimination with pivoting is applied to the matrix. The choice of pivot is influenced partly by an attempt to minimize fillin. The three arrays which store the sparse matrix information must have a significant amount of extra space to store the fillin entries.

Related Data and Programs:

CSPARSE is a C library which applies direct methods for the solution of sparse linear systems.

DLAP is a FORTRAN90 library which solves sparse linear systems.

HB_IO is a FORTRAN90 library which reads and writes sparse linear systems stored in the Harwell-Boeing Sparse Matrix format.

HB_TO_ST is a FORTRAN77 program which converts the sparse matrix information stored in a Harwell-Boeing file into a sparse triplet file.

MGMRES is a C++ library which applies the restarted GMRES algorithm to solve a sparse linear system.

MM_IO is a FORTRAN90 library which read and write sparse linear systems stored in the Matrix Market format.

SPARSE is a built-in MATLAB function which allows the user to define and manipulate sparse matrices.

SPARSEKIT is a FORTRAN90 library which carries out sparse matrix operations, by Yousef Saad.

SPARSEPAK is a FORTRAN90 library which forms an obsolete version of the Waterloo Sparse Matrix Package.

ST is a data directory which contains examples and an explanation of the Sparse Triplet file format for sparse matrices.

Author:

Zahari Zlatev, Jerzy Wasniewski, Kjeld Schaumburg.

Reference:

  1. Zahari Zlatev, Jerzy Wasniewski, Kjeld Schaumburg,
    Y12M, Solution of Large and Sparse Systems of Linear Algebraic Equations,
    Lecture Notes in Computer Science, Volume 121,
    Springer, 1981,
    ISBN13: 978-3540108740,
    LC: QA188.Z5.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN77 source codes.


Last revised on 10 December 2007.