On success, S3L_lu_factor returns S3L_SUCCESS.
S3L_lu_factor performs generic checking of the validity of the arrays it accepts as arguments. If an array argument contains an invalid or corrupted value, the function terminates and returns an error code indicating which value was invalid. See Appendix A of this manual for a detailed list of these error codes.
The following conditions will cause the function to terminate and return the associated error code:
S3L_ERR_ARG_RANK - Invalid rank; must be >= 2.
S3L_ERR_ARG_BLKSIZE - Invalid blocksize; must be >= 1.
S3L_ERR_ARG_DTYPE - Invalid data type. It must be real or complex (single- or double-precision).
S3L_ERR_ARG_NULL - Invalid array. a must be preallocated.
S3L_ERR_ARG_AXISNUM - row_axis or col_axis is invalid. This condition can be caused by either an out-of-range axis number (see row_axis and col_axis argument definitions) or row_axis equal to col_axis.
S3L_ERR_FACTOR_SING - A singular factor U is returned. If it is used by S3L_lu_solve, division by zero will occur.