3.4 Preconditioner data structure

Our base library offers support for simple well known preconditioners like Diagonal Scaling or Block Jacobi with incomplete factorization ILU(0).

A preconditioner is held in the psb_prec_type data structure reported in figure 4. The psb_prec_type data type may contain a simple preconditioning matrix with the associated communication descriptor.The internal preconditioner is allocated appropriately with the dynamic type corresponding to the desired preconditioner.

  type psb_Tprec_type
    class(psb_T_base_prec_type), allocatable :: prec
  end type psb_Tprec_type

Listing 4: The PSBLAS defined data type that contains a preconditioner.