MM
The Matrix Market File Format
MM is a data directory which
contains files stored in the format used by the Matrix Market for
the storage and exchange of matrices.
MM File Characteristics:
-
ASCII format;
-
allow comment lines, which begin with a percent sign;
-
use a "coordinate" format for sparse matrices;
-
use an "array" format for general dense matrices;
A file in the Matrix Market format comprises four parts:
-
Header line: contains an identifier, and four text fields;
-
Comment lines: allow a user to store information and comments;
-
Size line: specifies the number of rows and columns,
and the number of nonzero elements;
-
Data lines: specify the location of the matrix entries
(implicitly or explicitly) and their values.
The header line has the form
%%MatrixMarket object format field symmetry
The header line must be the first line of the file, and the header
line must begin with the string %%MatrixMarket. The four
fields that follow that string are
-
object is usually matrix, and that is the
case we will consider here. Another legal value is
vector, whose format is similar, but with some
obvious simplifications.
-
format is either coordinate or array;
-
field is either real, double, complex,
integer or pattern.
-
symmetry is either general (legal for real, complex,
integer or pattern fields),
symmetric (real, complex, integer or pattern),
skew-symmetric (real, complex or integer), or
hermitian (complex only).
If the field of a matrix is pattern, then
only the locations of the nonzeros will be listed. This
presumes, obviously, that we are using the coordinate
format!
If the symmetry of a matrix is symmetric or
hermitian, then only the entries on or below the
main diagonal are to be listed. If the symmetry
is skew-symmetric, then only the entries strictly
below the main diagonal are to be listed.
The comment lines, if any, should follow the header line.
The only requirement is that each comment line begin with
a percent sign.
If format was specified as array, then the
size line has the form:
m n
where
-
m is the number of rows in the matrix;
-
n is the number of columns in the matrix;
If format was specified as coordinate, then the
size line has the form:
m n nonzeros
where
-
m is the number of rows in the matrix;
-
n is the number of columns in the matrix;
-
nonzeros is the number of nonzero entries in the matrix
(for general symmetry), or the number of nonzero entries
on or below the diagonal (for symmetric or Hermitian symmetry),
or the number of nonzero entries below the diagonal (for
skew-symmetric symmetry).
If format was specified as array, there must
follow exactly m * n data lines, one for
each entry, listed by columns, having the form
value
where
-
value is the value of the entry. If the field is
complex, a pair of real numbers is required.
If format was specified as coordinate, there must
follow exactly nonzeros data lines, one for
each matrix entry that is to be listed, having the form
i j value
where
-
i is the row of the entry;
-
j is the column of the entry;
-
value is the value of the entry. If the field is
complex, a pair of real numbers is required. If the
value of format was pattern, then no value is
listed here; only the values of i and j occur.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Reference:
-
http://math.nist.gov/MatrixMarket/
The Matrix Market Web Site.
-
Ronald Boisvert, Roldan Pozo, Karin Remington,
The Matrix Market Exchange Formats: Initial Design,
Technical Report NISTIR-5935,
National Institute of Standards and Technology, December 1996.
Sample Files:
-
gr_900_900_crg.mm,
a 900 by 900 matrix in COORDINATE REAL GENERAL form.
-
gre_343_343_crg.mm,
a 343 by 343 matrix in COORDINATE REAL GENERAL form.
-
m_04_03_arg.mm,
a 4 by 3 matrix in ARRAY REAL GENERAL form.
-
m_05_05_cch.mm,
a 5 by 5 matrix in COORDINATE COMPLEX HERMITIAN form.
-
m_05_05_cig.mm,
a 5 by 5 matrix in COORDINATE INTEGER GENERAL form.
-
m_05_05_cpg.mm,
a 5 by 5 matrix in COORDINATE PATTERN GENERAL form.
-
m_05_05_crk.mm,
a 5 by 5 matrix in COORDINATE REAL SKEW-SYMMETRIC form.
-
m_05_05_crg.mm,
a 5 by 5 matrix in COORDINATE REAL GENERAL form.
-
m_05_05_crs.mm,
a 5 by 5 matrix in COORDINATE REAL SYMMETRIC form.
-
wathen_29_29_adg.mm,
a 29 by 29 matrix in ARRAY DOUBLE GENERAL form.
-
west_67_67_crg.mm,
a 67 by 67 matrix in COORDINATE REAL GENERAL form.
You can go up one level to
the DATA page.
Last revised on 25 March 2006.