Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MatrixMarket Namespace Reference

Matrix Market file readers and writers for sparse and dense matrices (as CrsMatrix resp. MultiVector). More...

Detailed Description

Matrix Market file readers and writers for sparse and dense matrices (as CrsMatrix resp. MultiVector).

Author
Mark Hoemmen

The Matrix Market (see their web site for details) defines a human-readable ASCII text file format ("Matrix Market format") for interchange of sparse and dense matrices. This namespace defines classes for reading and writing sparse or dense matrices from a Matrix Market file or input stream.

Matrix Market files are designed for easy reading and writing of test matrices by both humans and computers. They are not intended for high-performance or parallel file input and output. You should use a true parallel file format if you want to do parallel input and output of sparse or dense matrices.

Since the Matrix Market format is not optimized for performance or parallelism, some of our readers and writers assume that the entire matrix can fit in a single MPI process. Nevertheless, we always do all of the file input or output on the MPI process with rank 0 in the given communicator ("Process 0"). Distributed input matrices may be gathered from all MPI processes in the participating communicator, and distributed output matrices are broadcast from Process 0 to all MPI processes in the participating communicator. In some cases, we have optimized this to save memory.