CXML
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
job integer*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.
plu real*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.
iplu integer*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.
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 arrays PLU
and 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.
n integer*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.
CXML Home Page Index of CXML Routines