CXML

dapply_ilu_sdia 


FORMAT

  DAPPLY_ILU_SDIA (job, p, ip, ndim, nz, x, y, n)

Arguments

  job                 integer*4
                      On entry, defines the operation to be performed. If the
                      lower triangular part of the matrix A is stored, the
                      preconditioner is of the form L * transp(L),  where L
                      is a lower triangular matrix. In this case:

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

                      job = 1 : y = inverse(transp(L)) * x
                      If the upper triangular part of the matrix A is stored,
                      the preconditioner is of the form transp(U) * U, where
                      U is an upper triangular matrix. In this case:

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

                      job = 1 : y = inverse(transp(U)) * x
                      On exit, job is unchanged.

  p                   real*8
                      On entry, a two-dimensional array with dimensions ndim
                      by nz containing information for use by the Incomplete
                      Cholesky preconditioner.
                      On exit, p is unchanged.

  ip                  integer*4
                      On entry, a one-dimensional array of length at least
                      nz, containing the distances of the diagonals in array
                      P from the main diagonal.
                      On exit, ip 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 P.
                      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.

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

Description

  DAPPLY_ILU_SDIA applies the Incomplete Cholesky preconditioner for a sparse
  matrix stored using the symmetric diagonal storage scheme. The input
  arrays, P and IP, contain information for use by the routine. These arrays
  are generated by a call to the routine DCREATE_ILU_SDIA prior to a call to
  one of the iterative solvers with Incomplete Cholesky preconditioning.

  Depending on the value of the input parameter job, DAPPLY_ILU_SDIA operates
  on either the matrix or its transpose. The symmetric diagonal storage
  scheme, SDIA, allows either the lower or upper triangular part of the
  matrix to be stored. If the lower triangular part is stored, the routine
  DCREATE_ILU_SDIA creates the incomplete Cholesky preconditioner in the form
  L* transp(L), where L is a lower triangular matrix. In this case, job = 0
  implies

       y = inverse(L) * x

  and job = 1 implies

       y = inverse(trans(L)) * x.

  If the upper triangular part of the matrix A is stored, the routine
  DCREATE_ILU_SDIA creates the incomplete Cholesky preconditioner in the form
  transp(U) * U, where U is an upper triangular matrix. In this case, job = 0
  implies

       y = inverse(U) * x

  and job = 1 implies

       y = inverse(transp(U)) * x.

CXML Home Page

Index of CXML Routines