next up previous contents index
Next: Example (from Program LA_SYGVX_EXAMPLE) Up: Generalized Symmetric Eigenvalue Problems Previous: Purpose   Contents   Index

Arguments

A
(input/output) REAL or COMPLEX square array, shape $(:,:)$.
On entry, the matrix $A$.
If ${\bf UPLO} =$ 'U', the upper triangular part of ${\bf A}$ contains the upper triangular part of matrix $A$. If ${\bf UPLO} =$ 'L', the lower triangular part of ${\bf A}$ contains the lower triangular part of matrix $A$.
On exit, if JOBZ = 'V', the first M columns of A contain the orthonormal eigenvectors corresponding to the selected eigenvalues, with the $i^{th}$ column of A holding the eigenvector associated with the eigenvalue in W$_i$.
The eigenvectors are normalized as follows:

\begin{optionarg}
\item[{if {\bf ITYPE} $= 1$\ or $2$:}] $Z^H\,B\,Z = I$,
\item[{if ${\bf ITYPE} = 3$:}] $Z^H\,B^{-1}\,Z = I$.
\end{optionarg}
If an eigenvector fails to converge, then that column of A contains the latest approximation to the eigenvector and the index of the eigenvector is returned in IFAIL.
If JOBZ = 'N', then the upper triangle (if UPLO = 'U') or the lower triangle (if UPLO = 'L') of $A$, including the diagonal, is destroyed.

B
(input/output) REAL or COMPLEX square array, shape $(:,:)$ with $size({\bf B},1) = size({\bf A},1)$.
On entry, the matrix $B$.
If ${\bf UPLO} =$ 'U', the upper triangular part of ${\bf B}$ contains the upper triangular part of matrix $B$. If ${\bf UPLO} =$ 'L', the lower triangular part of ${\bf B}$ contains the lower triangular part of matrix $B$.
On exit, the part of ${\bf B}$ containing the matrix is overwritten by the triangular factor $U$ or $L$ of the Cholesky factorization $B = U^H\,U$ or $B = L\,L^H$.

W
(output) REAL array, shape $(:)$ with $size({\bf W}) = size({\bf A},1)$.
The first M elements contain the selected eigenvalues in ascending order.

ITYPE
Optional (input) INTEGER.
Specifies the problem type to be solved:

\begin{optionarg}
\item[{= 1:}] $A z = \lambda B z$ \item[{= 2:}] $A B z = \lambda z$ \item[{= 3:}] $B A z = \lambda z$ \end{optionarg}
Default value: 1.

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

\begin{optionarg}
\item[{$=$\ 'N':}] Computes eigenvalues only;
\item[{$=$\ 'V':}] Computes eigenvalues and eigenvectors.
\end{optionarg}
Default value: 'N'.

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

\begin{optionarg}
\item[{$ =$\ 'U':}] Upper triangles of $A$\ and $B$\ are stor...
...item[{$ =$\ 'L':}] Lower triangles of $A$\ and $B$\ are stored.
\end{optionarg}
Default value: 'U'.

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) $=$ $size$(A,1).
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: IFAIL should be present if JOBZ = 'V'.

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 the generalized eigenvalue problem 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{'S'})$, not zero.
Default value: $0.0\_{\it wp}$.
Note: If this routine returns with $ 0 < {\bf INFO} \leq n$, then some eigenvectors did not converge. Try setting ABSTOL to $2\times {\bf LA\_LAMCH}(1.0\_{\it wp},\mbox{'S'})$.

INFO
Optional (output) INTEGER.

\begin{infoarg}
\item[{$= 0$:}] successful exit.
\item[{$< 0$:}] if {\bf INFO}...
...genvectors were computed.
\end{infoarg} $n$\ is the order of $A$.
\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 (from Program LA_SYGVX_EXAMPLE) Up: Generalized Symmetric Eigenvalue Problems Previous: Purpose   Contents   Index
Susan Blackford 2001-08-19