CXML

dapply_poly_genr 


FORMAT

  DAPPLY_POLY_GENR (job, p, a, ia, ja, nz, x, y, ndeg, n)

Arguments

  job                 integer*4
                      On entry, defines the operation to be performed:

                      job = 0 : y = inverse(Q) * x

                      job = 1 : y = inverse(transp(Q)) * x
                      where Q is the polynomial preconditioner.
                      On exit, job is unchanged.

  p                   real*8
                      On entry, a one-dimensional array of length at least
                      3*n that contains information for use by the polynomial
                      preconditioner and  workspace.
                      On exit, the part of array P that contains the
                      information related to the polynomial preconditioner is
                      unchanged. The part used as workspace is overwritten.

  a                   real*8
                      On entry, a one-dimensional array of length at least nz
                      containing the nonzero elements of the matrix A.
                      On exit, a is unchanged.

  ia                  integer*4
                      On entry, a one-dimensional array of length at least
                      n+1,  containing the starting indices of each row in
                      arrays JA and A.
                      On exit, ia is unchanged.

  ja                  integer*4
                      On entry, a one-dimensional array of length at least
                      nz, containing the column values of each nonzero
                      element of the  matrix A.
                      On exit, ja is unchanged.

  nz                  integer*4
                      On entry, the number of nonzero elements stored in
                      array A.
                      On exit, nz 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 the output vector y.
                      The elements of array Y are accessed with unit
                      increment.

  ndeg                integer*4
                      On entry, the degree of the polynomial in the
                      polynomial preconditioner.
                      On exit, ndeg is unchanged.

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

Description

  DAPPLY_POLY_GENR applies the polynomial preconditioner for a sparse matrix
  stored using the general storage by rows scheme.  The input vector, p,
  contains information for use by the routine.  This vector is generated by a
  call to the routine DCREATE_POLY_GENR prior to a call to one of the
  iterative solvers with polynomial preconditioning.  Depending on the value
  of the input parameter job, DAPPLY_POLY_GENR operates on either the
  preconditioning matrix or its transpose.

  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