** 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 *i*^{th} 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*