lib_ex_pour_HZpp/Partie_2/algebre_lineaire/sparselib++/sp1_5c
2023-06-15 17:43:43 +02:00
..
include ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00
lib ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00
mv ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00
spblas ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00
src ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00
testing ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00
makefile ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00
makefile.def ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00
README ajout de copies des includes et des sources externes utilisées par le projet Herezh 2023-06-15 17:43:43 +02:00

         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".