Next: Wrong Results
Up: Failures Detected by LAPACK
Previous: Invalid Arguments and XERBLA
  Contents
  Index
Computational Failures and INFO > 0
A positive value of INFO on return from an LAPACK routine indicates a
failure in the course of the algorithm. Common causes are:
- a matrix is singular (to working precision);
- a symmetric matrix is not positive definite;
- an iterative algorithm for computing eigenvalues or eigenvectors
fails to converge in the permitted number of iterations.
For example, if SGESVX is called to solve a system of equations
with a coefficient matrix that is approximately singular,
it may detect exact singularity at the ith stage of the LU
factorization, in which case it returns INFO = i;
or (more probably) it may compute an estimate of the reciprocal condition number
that is less than machine precision, in which case it returns INFO = n+1.
Again, the documentation in Part 2 should be consulted for a
description of the error.
When a failure with INFO > 0 occurs, control is always returned
to the calling program; XERBLA is not called, and no error message
is written.
It is worth repeating that it is good practice always to check for
a non-zero value of INFO on return from an LAPACK routine.
A failure with INFO > 0 may indicate any of the following:
- an inappropriate routine was used:
for example, if a routine fails because a symmetric matrix turns out not to be
positive definite, consider using a routine for symmetric indefinite matrices.
- a single precision routine was used when double precision was needed:
for example, if SGESVX reports approximate singularity
(as illustrated above), the corresponding double precision routine DGESVX
may be able to solve the problem (but nevertheless the problem is
ill-conditioned).
- a programming error occurred in generating the data supplied
to a routine: for example, even though theoretically a matrix should be
well-conditioned and positive-definite, a programming error in generating
the matrix could easily destroy either of those properties.
- a programming error occurred in calling the routine, of the kind
listed in Section 7.2.
Next: Wrong Results
Up: Failures Detected by LAPACK
Previous: Invalid Arguments and XERBLA
  Contents
  Index
Susan Blackford
1999-10-01