# Subroutine mld_precinit
Keywords: userhtml

Next: Subroutine mld_precset Up: User Interface Previous: User Interface Contents

##
Subroutine mld_precinit

`mld_precinit(p,ptype,info)`
`mld_precinit(p,ptype,info,nlev)`

This routine allocates and initializes the preconditioner data structure, according to the preconditioner type chosen by the user.

Arguments

`p` | `type(mld_`x `prec_type), intent(inout)`.
| The preconditioner data structure. Note that x must be chosen according to the real/complex, single/double precision version of MLD2P4 under use.
`ptype` | `character(len=*), intent(in)`.
| The type of preconditioner. Its values are specified in Table 1.
| Note that the strings are case insensitive.
`info` | `integer, intent(out)`.
| Error code. If no error, 0 is returned. See Section 7 for details.
`nlev` | `integer, optional, intent(in)`.
| The number of levels of the multilevel preconditioner. If `nlev` is not present and `ptype`=`'ML'`, `'ml'`, then `nlev`=2 is assumed. Otherwise, `nlev` is ignored.

Next: Subroutine mld_precset Up: User Interface Previous: User Interface Contents