# build — Builds a preconditioner

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

#### 10.2 build — Builds a preconditioner

    call prec%build(a, desc_a, info[,amold,vmold,imold])

Type:
  Synchronous.
On Entry
a
  the system sparse matrix. Scope: local
  Type: required
  Intent: in, target.
  Specified as: a sparse matrix data structure psb_Tspmat_type.
prec
  the preconditioner.
  Scope: local
  Type: required
  Intent: inout.
  Specified as: an already initialized precondtioner data structure psb_prec_type
desc_a
  the problem communication descriptor. Scope: local
  Type: required
  Intent: in, target.
  Specified as: a communication descriptor data structure psb_desc_type.
amold
  The desired dynamic type for the internal matrix storage.
  Scope: local.
  Type: optional.
  Intent: in.
  Specified as: an object of a class derived from psb_T_base_sparse_mat.
vmold
  The desired dynamic type for the internal vector storage.
  Scope: local.
  Type: optional.
  Intent: in.
  Specified as: an object of a class derived from psb_T_base_vect_type.
imold
  The desired dynamic type for the internal integer vector storage.
  Scope: local.
  Type: optional.
  Intent: in.
  Specified as: an object of a class derived from (integer) psb_T_base_vect_type.

On Return
prec
  the preconditioner.
  Scope: local
  Type: required
  Intent: inout.
  Specified as: a precondtioner data structure psb_prec_type
info
  Error code.
  Scope: local
  Type: required
  Intent: out.
  An integer value; 0 means no error has been detected.

The amold, vmold and imold arguments may be employed to interface with special devices, such as GPUs and other accelerators.

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