DCREATE_DIAG_UDIA (a, ia, ndim, nz, p, 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. p real*8 On entry, a one-dimensional array of length at least n. On exit, array P contains information for use by the diagonal preconditioner. n integer*4 On entry, the order of the matrix A. On exit, n is unchanged.
DCREATE_DIAG_UDIA computes the information required by the diagonal preconditioner for a sparse matrix stored using the unsymmetric diagonal storage scheme. The real part of this information is returned in the array P. There is no integer information returned for this preconditioner. The routine DCREATE_DIAG_UDIA is called prior to a call to one of the iterative solver routines with diagonal preconditioning. 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.