1 line
No EOL
3.1 KiB
Text
Executable file
1 line
No EOL
3.1 KiB
Text
Executable file
|
|
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<double>)
|
|
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 <std/disclaimer.h>
|
|
------------------------------
|
|
|
|
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".
|
|
|