SparseLib++ v. 1.5c: Numerical Sparse Matrix Classes in C++ SparseLib++ is a C++ class library for efficient sparse matrix computations across various computational platforms. The software package consists of matrix objects representing several sparse storage formats currently in use (in this release: compressed row, compressed column and coordinate formats), providing basic functionality for managing sparse matrices, together with efficient kernel mathematical operations (e.g. sparse matrix-vector multiply). Routines based on the Sparse BLAS are used to enhance portability and performance. Included in the package are various preconditioners commonly used in iterative solvers for linear systems of equations. The focus is on computational support for iterative methods, but the sparse matrix objects presented here can be used on their own. 0) What's new in v. 1.5 ----------------------- o) supports ANSI C++ templated complex classes (e.g. complex) for GNU g++ 2.7.0 o) uses new MV++ vector/matrix 1.3 classes o) several bug fixes for reading Harwell-Boeing files and converting between matrix storage types o) supports 'P' format specifier in Harwell-Boeing files o) Bug fixes in v. 1.5c i) Added check for end-of row/column in elimination loop of ilupre.cc and ilupre_double.cc ii) fixed "nz_ = nz_" bug in coord_double::newsize() 1) More About SparseLib++ ------------------------ i) User's Guide and man-style pages are available via WWW: http://gams.cam.nist.gov/acmd/Staff/RPozo/sparselib++.html ftp: gams.nist.gov:~ftp/pub/pozo/docs/sparselib++.ps.Z ii) Code examples are in ./testing/*.cc 2) Installing SparseLib++ library ---------------------------------- You'll need to build the following three libraries ./lib/libmv.a MV++ basic matrix/vector library ./lib/libsparselib.a sparse matrix library ./lib/libspblas.a sparse BLAS library i) cd to root directory where SparseLib++ will be installed ii) edit makefile.def to specify your specify your particular C++ compiler iii) type "make sp". ("make" by itself will provide a list of options.) 3) Testing SparseLib++ ---------------------- i) cd to SparseLib++ root dir ii) "make test" will run a test suites and leave their output in ./testing/sp_test.out. 4) Package components --------------------- i) SparseLib++ and Sparse BLAS include files are in ./include ii) SparseLib++ and Sparse BLAS libraries are in ./lib iii) Lower-level Fortran-compatible Matrix/Vector library (MV++)is in ./lib/libmv.a 5) Help! -------- Questions, comments, suggestions, etc. can be sent to pozo@cam.nist.gov. 6) #include ------------------------------ Be aware that SparseLib++ has been tested with GNU g++ 2.6.3, and 2.7.0 together with Sun C++ (CC) v. 4.0.1. and may not necessarily work with earlier versions of these compilers. To find out the version of your compiler use "g++ -v" or "CC -V foo".