HP MLIB User's Guide Vol. 2 7th Ed.
Chapter 15 Sparse Eigenvalues and Eigenvectors 1011
What you need to know to use these subprograms
The package allows the retrieval of these otherwise discarded eigenvectors if
the user wants them. The main eigenanalysis subprogram returns two values:
• The number of eigenvalues and vectors computed to the specified accuracy
that lie in a single reliable trust region
• The number of eigenvalues and vectors computed to the specified accuracy
that do not lie in this single reliable trust region
These additional eigenvalues may or may not lie in a trust region that is an
extension of the final trust region. To determine whether this is the case, the
user will have to make an interpretation of the matrix inertia data, which is
printed (in English) for each factorization if the output message level is set to
one or greater.
Global communications array
All of the subprograms in this package use dynamic memory allocation
capabilities to free users from the often difficult issue of allocating storage for
the factors of the matrix. This internal storage is invisible to the user. When the
sophisticated lower-level routines are used, knowledge of the internal storage is
passed from subprogram to subprogram through a single communications
array. This array, called global in each of the calling sequences, is a fixed-length
double precision vector of length 150. It must not be altered by the user, as it
represents the essential knowledge of the problem. Because it is the only
identification for a problem, the user can handle multiple problems
simultaneously by having multiple communications arrays with different
names.
Error convention
Each subprogram has an error return flag, ier, as one of its arguments. A zero
value returned in ier is the indication of successful processing. Fatal errors are
signaled through negative values; each is a negative integer in the range
−1000 ≤ ier ≤−100. The hundreds digit indicates the phase of processing in
which the error occurred; the other digits specify the error itself. A positive
error return indicates that some number of eigenvalues have been computed
but a fatal error was encountered which caused early termination of the
eigensolution phase.
In addition to the error return flag, the eigensolution phase has an additional
warning return, warnng, to indicate when the computed results are not exactly
what was requested by the user. A warning occurs, for example, when the user
requests the lowest 20 eigenvalues in a finite interval which contains only 11
eigenvalues.