The Sparse Matrix Benchmark

In our first study the benchmark we choose is a simple yet important
operation: that of multiplying two sparse matrices. This operation
appears when forming the normal equations of interior point methods
for large scale numerical optimization. It also appears,
either explicitly or implicitly, in very
large scale unstructured calculations where a multilevel/multigrid
scheme is used. For example, in the algebraic multilevel algorithm
for large sparse linear systems, the matrix on a coarse grid,
, is derived from the matrix on the fine grid, ,
using the following Galerkin product:

Our benchmark (known as JASPA (JAva SPArse benchmark), available
at `http://www.dl.ac.uk/TCSC/Staff/Hu_Y_F/JASPA`)
therefore has two simple steps:

- read in the matrix from a file
- multiply the matrix by itself and store in matrix ()

- Test problems
- I/O considerations
- The Computational Kernel
- Performance for sparse matrix multiplication