Computational Errors

Parallel ESSL computational errors are errors that occur in the computational data, such as in your vectors and matrices, during a computation—for example, the detection of a singular system during a factorization. (The computational errors that can occur for each subroutine, are listed under "Computational Errors".) When a computational error occurs, Parallel ESSL issues an error message containing information key to the diagnosis of the error—such as the location in the input matrix where the singularity occurred. Any subroutine that issues a computational error has an info argument in its calling sequence. For all the Parallel ESSL subroutines, info is a global argument containing fullword integers, except in the tridiagonal subroutines. For these tridiagonal subroutines, info is a local argument containing fullword integers.

When a computational error occurs, your program continues to execute. After each call where a computational error can occur, you should check the info output argument to see if an error occurred and take the appropriate action. When a computational error occurs, you should assume that the results are unpredictable. The result of the computation is valid only if no errors have occurred.

How This Differs from ESSL:

The way you handle computational errors for Parallel ESSL differs from how you handle them for ESSL. This is because the capabilities of ERRSET, ERRSAV, and ERRSTR, supported in ESSL for recoverable computational errors, are not supported in Parallel ESSL. This results in the following differences:
  • You do not have the option of Parallel ESSL terminating your program when a computational error occurs in an Parallel ESSL subroutine. Control always returns to your program.
  • The information about the error is returned to your program through the info argument, rather than through a subsequent call to the EINFO subroutine.

Using the capabilities of ERRSET, ERRSAV, and ERRSTR with your ESSL subroutines does not affect the Parallel ESSL subroutines.