Sparsity Pattern of a Matrix

SPARSE_DISPLAY is a C++ library which can read information defining a matrix of numbers and display the sparsity pattern or location of the nonzero elements using gnuplot. This operation is already available in the built-in MATLAB "spy" command.

The user can call "spy_ge" and pass in a matrix, in general (GE) format; the routine will then locate the nonzero entries, and write out a data file and a command file which together can be used to instruct gnuplot to create a sparsity plot.

If the user already has a file containing a list of pairs of indices (I,J) corresponding to nonzero matrix entries, then the user can call "spy_file", which will write out a command file only. Together, the user data file and the command file can be used to instruct gnuplot to create a sparsity plot.


The computer code and data files made available on this web page are distributed under the GNU LGPL license.


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

Related Data and Programs:

CG, a C++ library which implements a simple version of the conjugate gradient (CG) method for solving a system of linear equations of the form A*x=b, suitable for situations in which the matrix A is positive definite (only real, positive eigenvalues) and symmetric.

GNUPLOT, C++ programs which illustrate how a program can write data and command files so that gnuplot can create plots of the program results.

MM_IO, a C++ library which reads and writes sparse linear systems stored in the Matrix Market (MM) format.

WATHEN, a C++ library which compares storage schemes (full, banded, sparse triplet) and solution strategies (Linpack full, Linpack banded, conjugate gradient (CG)) for linear systems involving the Wathen matrix, which can arise when solving a problem using the finite element method (FEM).

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.

Last revised on 09 June 2014.