The basic user interface of AMG4PBLAS consists of eight methods. The six methods
init
, set
, build
, hierarchy_build
, smoothers_build
and apply
encapsulate all the
functionalities for the setup and the application of any multilevel and one-level
preconditioner implemented in the package. The method free
deallocates the
preconditioner data structure, while descr
prints a description of the preconditioner
setup by the user. For backward compatibility, methods are also accessible as
stand-alone subroutines.
For each method, the same user interface is overloaded with respect to the real/complex and single/double precision data; arguments with appropriate data types must be passed to the method, i.e.,
the sparse matrix data structure, containing the matrix to be preconditioned,
must be of type psb_
xspmat_type
with x = s
for real single precision, x
= d
for real double precision, x = c
for complex single precision, x = z
for
complex double precision;
the preconditioner data structure must be of type amg_
xprec_type
, with x
= s
, d
, c
, z
, according to the sparse matrix data structure;
the arrays containing the vectors v and w involved in the preconditioner
application w = B-1v must be of type psb_
xvect_type
with x = s
, d
, c
,
z
, in a manner completely analogous to the sparse matrix type;
real parameters defining the preconditioner must be declared according to the precision of the sparse matrix and preconditioner data structures (see Section 5.2).
A description of each method is given in the remainder of this section.