CXML

dapply_diag_all 


FORMAT

  DAPPLY_DIAG_ALL (p, x, y, n)

Arguments

  p                   real*8
                      On entry, a one-dimensional array of length at least n
                      containing information for use by the polynomial
                      preconditioner.
                      On exit, p is unchanged.

  x                   real*8
                      On entry, a one-dimensional array of length at least n,
                      containing the elements of vector x, accessed with unit
                      increment.
                      On exit, x is unchanged.

  y                   real*8
                      On entry, a one-dimensional array of length at least n.
                      On exit, array Y is overwritten by inverse(Q) * x,
                      where Q is the diagonal preconditioner. The elements of
                      Y are accessed with unit increment.

  n                   integer*4
                      On entry, the order of the matrix A.
                      On exit, n is unchanged.

Description

  DAPPLY_DIAG_ALL applies the diagonal preconditioner for a sparse matrix
  stored using any one of the three storage schemes --- symmetric diagonal,
  unsymmetric diagonal, or general storage by rows. The input vector, p,
  contains information for use by the routine. This vector is generated by a
  call to one of the routines DCREATE_DIAG_SDIA, DCREATE_DIAG_UDIA or
  DCREATE_DIAG_GENR prior to a call to one of the iterative solvers with
  diagonal preconditioning.

  DAPPLY_DIAG_ALL applies the diagonal preconditioner, Q, using information
  stored in the vector p, to the vector x and returns the result in vector y:

  y    =   inverse(Q) * x

  This routine is available in both serial and parallel versions. The routine
  names and parameter list are identical for both versions. For information
  about linking to the serial or to the parallel library, refer to the CXML
  Reference Manual.

CXML Home Page

Index of CXML Routines