DAPPLY_ILU_UDIA_U(3DXML) — Subroutines
Digital
Name
dapply_ilu_udia_u − Apply ILU preconditioner for unsymmetric diagonal storage
FORMAT
DAPPLY_ILU_UDIA_U (job, plu, iplu, ndim, nz, x, y, n)
Arguments
jobinteger∗4
On entry, defines the operation to be performed:
job = 0 : y = inverse(U) ∗ x
job = 1 : y = inveres(transp(U)) ∗ x
where the incomplete factorization is calculated as L ∗ U. L and U are lower and upper triangular matrices respectively.
On exit, job is unchanged.
plureal∗8
On entry, a two-dimensional array with dimensions ndim by nz containing information used by the Incomplete LU preconditioner.
On exit, plu is unchanged.
ipluinteger∗4
On entry, a one-dimensional array of length at least nz, containing the distances of the diagonals of PLU from the main diagonal.
On exit, iplu is unchanged.
ndiminteger∗4
On entry, the leading dimension of array A, as declared in the calling subprogram; ndim >= n.
On exit, ndim is unchanged.
nzinteger∗4
On entry, the number of diagonals stored in arrays PLU and A.
On exit, nz is unchanged.
xreal∗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.
yreal∗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.
ninteger∗4
On entry, the order of the matrix A.
On exit, n is unchanged.
Description
DAPPLY_ILU_UDIA_U applies the Incomplete LU preconditioner (upper triangular part) for a sparse matrix stored using the unsymmetric diagonal storage scheme. The input arrays, PLU and IPLU, contain information for use by the routine. These arrays are generated by a call to the routine DCREATE_ILU_UDIA prior to a call to one of the solvers with Incomplete LU preconditioning. Depending on the value of the input parameter job, DAPPLY_ILU_UDIA_U operates on either the matrix or its transpose.