\section*{Abstract}
\addcontentsline{toc}{section}{Abstract}  

\textsc{MLD2P4 (MultiLevel Domain Decomposition Parallel Preconditioners Package
based on PSBLAS}) is a package of parallel algebraic multilevel preconditioners.
The first release of MLD2P4 made available multilevel additive and hybrid Schwarz
preconditioners, as well as one-level additive Schwarz preconditioners. The package
has been extended to include further multilevel cycles and smoothers widely used in
multigrid methods. In the multilevel case, a purely algebraic approach is applied to
generate coarse-level corrections, so that no geometric background is needed
concerning the matrix to be preconditioned. The matrix is assumed to be square,
real or complex. 

MLD2P4 has been designed to provide scalable and easy-to-use preconditioners
in the context of the PSBLAS (Parallel Sparse Basic Linear Algebra Subprograms)
computational framework and can be used in conjuction with the Krylov solvers
available in this framework. MLD2P4 enables the user to easily specify different
features of an algebraic multilevel preconditioner, thus allowing to search
for the ``best'' preconditioner for the problem at hand. 

The package employs object-oriented design techniques in
Fortran~2003, with interfaces to additional third party libraries 
such as MUMPS, UMFPACK, SuperLU, and SuperLU\_Dist, which
can be exploited in building multilevel preconditioners. The parallel
implementation is based on a Single Program Multiple Data (SPMD)
paradigm; the inter-process communication is based on MPI and
is managed mainly through PSBLAS.

This guide provides a brief description of the functionalities and
the user interface of MLD2P4.
