Cray Research, Inc.

655 Lone Oak Dr.

Eagan, MN 55121

USA

This paper describes a proposal for a ``toolkit'' of kernel routines for some of the basic operations in (iterative) sparse numerical methods. In particular, we describe an interface for routines which perform (i) sparse matrix times dense matrix product, (ii) the solution of a sparse triangular system with multiple right-hand-sides, (iii) the right permutation of a sparse matrix and (iv) a check for the integrity of a sparse matrix representation. The interfaces for these four operations are defined for a variety of common data structures and a set of guidelines is given to define interfaces for new data structures. The primary purpose of this toolkit is to provide a set of basic routines upon which the ``User Level Sparse BLAS,'' as described in [1], can be built. This paper is a revision of the original proposal found in [2].

[1] Iain Duff, Michele Marrone, and Giuseppe Radicati, A proposal for user level sparse {BLAS}. In preparation.

[2] M. A. Heroux, A Proposal for a Sparse BLAS Toolkit. Research Report TR/PA/92/90, CERFACS, Toulouse, France, December, 1992.

Contributed April 13, 1994.