CXML

dmatvec_udia 


FORMAT

  DMATVEC_UDIA
   (job, a, ia, ndim, nz, w, x, y, n )

Arguments

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

                      job = 0 : y = A * x

                      job = 1 : y = transp(A) * x

                      job = 2 : y = w - A * x

                      job = 3 : y = w - transp(A) * x
                      On exit, job is unchanged.

  a                   real*8
                      On entry, a two-dimensional array with dimensions ndim
                      by 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
                      nz,  containing the distances of the diagonals from the
                      main diagonal.
                      On exit, ia is unchanged.

  ndim                integer*4
                      On entry, the leading dimension of array A, as declared
                      in the calling subprogram; ndim >= n.
                      On exit, ndim is unchanged.

  nz                  integer*4
                      On entry, the number of diagonals stored in array A.
                      On exit, nz is unchanged.

  w                   real*8
                      On entry, a one-dimensional array of length at least n
                      containing the vector w when job = 2 or 3. The elements
                      are accessed with unit increment. When job = 0 or 1,
                      array W is not needed so w can be a dummy parameter.
                      On exit, w 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.

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

Description

  DMATVEC_UDIA obtains the matrix-vector product for a sparse matrix stored
  using the unsymmetric diagonal storage scheme. Depending on the value of
  the input parameter job, either the matrix or its transpose is used in the
  operation.

  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