next up previous contents index
Next: Example 1 (from Program Up: Standard Symmetric Eigenvalue Problems Previous: Purpose   Contents   Index

Arguments

AB
(input/output) REAL or COMPLEX array, shape $(:,:)$ with $size$(AB,1) $= kd+1$ and $size$(AB,2) $= n$, where $kd$ is the number of subdiagonals or superdiagonals in the band and $n$ is the order of $A$.
On entry, the upper (if UPLO = 'U') or lower (if UPLO = 'L') triangle of matrix $A$ in band storage. The $kd+1$ diagonals of $A$ are stored in the rows of AB so that the $j^{th}$ column of $A$ is stored in the $j^{th}$ column of ${\bf AB}$ as follows:

\begin{displaymath}
\begin{array}{c\vert c\vert c}
A_{i,j} & i,j & {\bf UPLO} ...
...1 \leq j \leq n \end{array} & \mbox{'L'} \\ \hline
\end{array}\end{displaymath}

On exit, ${\bf AB}$ is overwritten by values generated during the reduction of $A$ to a tridiagonal matrix $T$. If ${\bf UPLO} =$ 'U' the first superdiagonal and the diagonal of $T$ are returned in rows $kd$ and $kd+1$ of ${\bf AB}$. If ${\bf UPLO} =$ 'L', the diagonal and first subdiagonal of $T$ are returned in the first two rows of ${\bf AB}$.

W
(output) REAL array, shape $(:)$ with $size$(W) $= n$.
The first M elements contain the selected eigenvalues in ascending order.

UPLO
Optional (input) CHARACTER(LEN=1).

\begin{optionarg}
\item[{$ =$\ 'U'}]: Upper triangle of $A$\ is stored;
\item[{$ =$\ 'L'}]: Lower triangle of $A$\ is stored.
\end{optionarg}
Default value: 'U'.

Z
Optional (output) REAL or COMPLEX array, shape $(:,:)$ with $size$(Z,1) $= n$ and $size$(Z,2) $=$ M.
The first M columns of Z contain the orthonormal eigenvectors of the matrix $A$ corresponding to the selected eigenvalues, with the $i^{th}$ column of Z containing the eigenvector associated with the eigenvalue in W$_i$. If an eigenvector fails to converge, then that column of Z contains the latest approximation to the eigenvector, and the index of the eigenvector is returned in IFAIL.
Note: The user must ensure that at least M columns are supplied in the array Z. When the exact value of M is not known in advance, an upper bound must be used. In all cases M $\leq n$.

VL,VU
Optional (input) REAL.
The lower and upper bounds of the interval to be searched for eigenvalues. VL $<$ VU.
Default values: VL $=$ -HUGE(wp) and VU $=$ HUGE(wp), where wp ::= KIND(1.0) $\mid$ KIND(1.0D0).
Note: Neither VL nor VU may be present if IL and/or IU is present.

IL,IU
Optional (input) INTEGER.
The indices of the smallest and largest eigenvalues to be returned. The ${\bf IL}^{th}$ through ${\bf IU}^{th}$ eigenvalues will be found. $1 \leq {\bf IL} \leq {\bf IU} \leq size({\bf A},1)$.
Default values: IL $= 1$ and IU $=$ $size$(A,1).
Note: Neither IL nor IU may be present if VL and/or VU is present.
Note: All eigenvalues are calculated if none of the arguments VL, VU, IL and IU are present.

M
Optional (output) INTEGER.
The total number of eigenvalues found. $0 \leq {\bf M} \leq size({\bf A},1)$.
Note: If ${\bf IL}$ and ${\bf IU}$ are present then ${\bf M} = {\bf IU}-{\bf IL}+1$.

IFAIL
Optional (output) INTEGER array, shape $(:)$ with $size$(IFAIL) $= n$.
If INFO $= 0$, the first M elements of IFAIL are zero.
If INFO $ > 0$, then IFAIL contains the indices of the eigenvectors that failed to converge.
Note: If Z is present then IFAIL should also be present.

Q
Optional (output) REAL or COMPLEX square array, shape$(:,:)$ with $size({\bf Q},1) = n$.
The $n\times n$ unitary matrix used in the reduction to tridiagonal form. This is computed only if Z is present.

ABSTOL
Optional (input) REAL.
The absolute error tolerance for the eigenvalues. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval $[a,b]$ of width less than or equal to

\begin{displaymath}{\bf ABSTOL} + {\bf EPSILON}(1.0\_{\it wp})\times
\max(\mid a\mid,\mid b\mid),\end{displaymath}

where wp is the working precision. If ABSTOL $\leq 0$, then ${\bf EPSILON}(1.0\_{\it wp})\times \Vert T \Vert _1 $ will be used in its place, where $\Vert T \Vert _1$ is the $l_1$ norm of the tridiagonal matrix obtained by reducing $A$ to tridiagonal form. Eigenvalues will be computed most accurately when ABSTOL is set to twice the underflow threshold $2\times {\bf LA\_LAMCH}(1.0\_{\it wp},\mbox{'Safe minimum'})$, not zero.
Default value: $0.0\_{\it wp}$.
Note: If this routine returns with ${\bf INFO} > 0$, then some eigenvectors did not converge. Try setting ABSTOL to $2\times {\bf LA\_LAMCH}(1.0\_{\it wp},\mbox{'Safe minimum'})$.

INFO
Optional (output) INTEGER

\begin{infoarg}
\item[{$=$\ 0:}] successful exit.
\item[{$<$\ 0:}] if {\bf INFO}...
...failed to converge.
Their indices are stored in array {\bf IFAIL}.
\end{infoarg}
If INFO is not present and an error occurs, then the program is terminated with an error message.
References: [1] and [17,9,20,21].
next up previous contents index
Next: Example 1 (from Program Up: Standard Symmetric Eigenvalue Problems Previous: Purpose   Contents   Index
Susan Blackford 2001-08-19