[next] [prev] [prev-tail] [tail] [up]

### 6 User Interface

The basic user interface of MLD2P4 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 case and the single/double precision; 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_x spmat_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 mld_x prec_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_x vect_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 6.2).

A description of each method is given in the remainder of this section.

6.1 Method init
6.2 Method set
6.3 Method hierarchy_build
6.4 Method smoothers_build
6.5 Method build
6.6 Method apply
6.7 Method free
6.8 Method descr
6.9 Auxiliary Methods
6.9.1 Method: dump
6.9.2 Method: clone
6.9.3 Method: sizeof
6.9.4 Method: allocate_wrk
6.9.5 Method: free_wrk

[next] [prev] [prev-tail] [front] [up]