DCREATE_ILU_UDIA (a, ia, ndim, nz, plu, iplu, n)
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. plu real*8 On entry, a two-dimensional array with dimensions ndim by nz. On exit, array PLU contains information used by the Incomplete LU preconditioner. iplu integer*4 On entry, a one-dimensional array of length at least nz. On exit, array IPLU contains information used by the Incomplete LU preconditioner. n integer*4 On entry, the order of the matrix A. On exit, n is unchanged.
DCREATE_ILU_UDIA computes the information required by the Incomplete LU preconditioner for a sparse matrix stored using the unsymmetric diagonal storage scheme. The arrays PLU and IPLU contain the real and integer information, respectively, for use by the preconditioner. The routine DCREATE_ILU_UDIA is called prior to a call to one of the iterative solver routines with Incomplete LU preconditioning.