This directory contains  the MLD2P4 set of preconditioners, version 1.1

WHAT'S NEW

In version 1.1:
-  The MLD_SIZEOF() function has been redefined to be INTEGER(8), so
   as to be able to measure large data sets.
-  The internals of the multilevel preconditioner have been repackaged
   in a more structured fashion; no changes are needed in the user
   code.
-  Note that we now need version 2.3.1 of PSBLAS.
   

To compile:
0. Unpack the tar file in a directory of your choice (preferrably
   outside the main PSBLAS directory).
1. run configure --with-psblas=<ABSOLUTE path of the PSBLAS source directory>
   adding the options for SuperLU, SuperLU_Dist, UMFPACK as desired.
2. Tweak Make.inc if you are not satisfied.

3. make; 

4. Go into the test subdirectory and build the examples of your choice.

Notes:

- The single precision version is  supported only by SuperLU; thus, even
  if you specify at configure to use UMFPACK or SuperLU_Dist, the
  corresponding preconditioner options will be available only from the
  double precision version.

- The Krylov methods are linked and recompiled from the PSBLAS source
  directory;  thus we define here two libraries, libmld_krylov.a and
  libmld_prec.a, and a bunch of modules, including a duplicate of
  psb_krylov_mod.mod. The directories for the MLD2P4 versions, in both
  the include and link paths, must come before the PSBLAS ones,
  because the Krylov interface is superseded by the new one. 
  Once the CLASS() construct becomes available in Gnu Fortran, this
  will no longer be necessary, and the duplicate Krylov library and
  module will go away, leaving only the mld_prec library and module. 

- A program that was using the PSBLAS precoditioners needs no source
  code changes, but should be recompiled. If the new preconditioner
  (or preconditioner options, such as ILU(N) factorization) are
  required, only the type of the preconditioner object and its
  setup/build/free calls should be updated; the rest of the
  application continues to make use of the PSBLAS existing
  interfaces. 



CREDITS

developed by 
Salvatore  Filippone 
Pasqua     D'Ambra
Daniela    di Serafino
Alfredo    Buttari
