## apply -- Preconditioner application routine

    call prec%apply(x,y,desc_a,info,trans,work)
    call prec%apply(x,desc_a,info,trans)

Type:
  Synchronous.
On Entry
prec
  the preconditioner. Scope: local
  Type: required
  Intent: in.
  Specified as: a preconditioner data structure precdata`psb_prec_type`.
x
  the source vector. Scope: local
  Type: required
  Intent: inout.
  Specified as: a rank one array or an object of type vdata`psb_T_vect_type`.
desc_a
  the problem communication descriptor. Scope: local
  Type: required
  Intent: in.
  Specified as: a communication data structure descdata`psb_desc_type`.
trans
  Scope:
  Type: optional
  Intent: in.
  Specified as: a character.
work
  an optional work space Scope: local
  Type: optional
  Intent: inout.
  Specified as: a double precision array.

On Return
y
  the destination vector. Scope: local
  Type: required
  Intent: inout.
  Specified as: a rank one array or an object of type vdata`psb_T_vect_type`.
info
  Error code.
  Scope: local
  Type: required
  Intent: out.
  An integer value; 0 means no error has been detected.