# User Interface
Keywords: userhtml

Next: Subroutine init Up: userhtml Previous: Examples Contents

#
User Interface

The basic user interface of MLD2P4 consists of eight routines. The six routines `init`, `set`, `hierarchy_build`, `smoothers_build`, `bld`, and `apply` encapsulate all the functionalities for the setup and the application of any multilevel and one-level preconditioner implemented in the package. The routine `free` deallocates the preconditioner data structure, while `descr` prints a description of the preconditioner setup by the user.

All the routines are available as methods of the preconditioner object. For each routine, 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 routine, 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 and involved in the preconditioner application 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 routine is given in the remainder of this section.

Subsections

- Subroutine init
- Subroutine set
- Subroutine build
- Subroutine hierarchy_build
- Subroutine smoothers_build
- Subroutine apply
- Subroutine free
- Subroutine descr

Next: Subroutine init Up: userhtml Previous: Examples Contents