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

Arguments

A
(input/output) REAL or COMPLEX square array, shape $(:,:)$.
On entry, the matrix $A$.
On exit, the matrix $S$.

B
(input/output) REAL or COMPLEX square array, shape $(:,:)$ with $size({\bf B},1) = size({\bf A},1)$.
On entry, the matrix $B$.
On exit, the matrix $T$.

alpha
(output) REAL or COMPLEX array, shape $(:)$ with $size({\it alpha}) = size({\bf A},1)$.
The values of $\alpha$.
${\it alpha(:)}$ ::= ALPHAR(:), ALPHAI(:) $\mid$ ALPHA(:),
where
ALPHAR(:), ALPHAI(:) are of REAL type (for the real and imaginary parts) and ALPHA(:) is of COMPLEX type.

BETA
(output) REAL or COMPLEX array, shape $(:)$ with $size({\bf BETA}) = size({\bf A},1)$.
The values of $\beta$.
Note: The generalized eigenvalues of the pair $( A, B )$ are the scalars $\lambda_j = \alpha_j/\beta_j$. These quotients may easily over- or underflow, and $\beta_j$ may even be zero. Thus, the user should avoid computing them naively.
Note: If A and B are real then complex eigenvalues occur in complex conjugate pairs. Each pair is stored consecutively. Thus a complex conjugate pair is given by

\begin{displaymath}\begin{array}{l}
\lambda_j = ( {\bf ALPHAR}_j\,+\, i\, {\bf ...
...+1}\,+\, i\, {\bf ALPHAI}_{j+1})/{\bf BETA}_{j+1}
\end{array} \end{displaymath}

where

\begin{displaymath}\frac{{\bf ALPHAI}_j}{{\bf BETA}_j} = - \frac{{\bf ALPHAI}_{j+1}}{{\bf BETA}_{j+1}} \end{displaymath}

VSL
Optional (output) REAL or COMPLEX square array, shape $(:,:)$ with $size$(VSL,1) $= size$(A,1).
The left Schur vectors.

VSR
Optional (output) REAL or COMPLEX square array, shape $(:,:)$ with $size$(VSR,1) $= size$(A,1).
The right Schur vectors.

SELECT
Optional (input) LOGICAL FUNCTION
LOGICAL FUNCTION SELECT( alpha$_j$, BETA$_j$ )
type(wp), INTENT(IN) :: alpha$_j$, BETA$_j$
where
type ::= REAL $\mid$ COMPLEX
wp ::= KIND(1.0) $\mid$ KIND(1.0D0)
alpha$_j$ ::= ALPHAR$_j$, ALPHAI$_j$ $\mid$ ALPHA$_j$

\begin{numbersec}
\item {\bf SELECT} must be declared as {\bf EXTERNAL}
or as ...
...FO}$\ is set to $size({\bf A},1)+2$\ (see ${\bf INFO}$\ below).
\end{numbersec}
Note: Select must be present if SDIM, RCONDE and RCONDF are desired.

SDIM
Optional (output) INTEGER.
The number of eigenvalues (after sorting) for which SELECT $=$ .TRUE. (If $A$ and $B$ are real, complex conjugate pairs for which SELECT $=$ .TRUE. for either eigenvalue count as 2).

RCONDE
Optional (output) REAL array, shape $(:)$ with $size$(RCONDE) $= 2$.
The reciprocal condition numbers for the average of the selected eigenvalues.

RCONDV
Optional (output) REAL array, shape $(:)$ with $size$(RCONDV) $= 2$.
The reciprocal condition numbers for the left and right deflating subspaces corresponding to the selected eigenvalues.

INFO
Optional (output) INTEGER.

\begin{infoarg}
\item[{$=$\ 0:}] successful exit.
\item[{$<$\ 0:}] if {\bf INF...
...scaling.
\item[{$=$\ n+3:}] the reordering failed.
\end{infoarg} \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_GGESX_EXAMPLE) Up: Generalized Nonsymmetric Eigenvalue Problems Previous: Purpose   Contents   Index
Susan Blackford 2001-08-19