next up previous contents index
Next: Examples 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, $A$ has been destroyed.

B
(input/output) REAL or COMPLEX square array, shape $(:,:)$ with $size$(B,1) $= size$(A,1).
On entry, the matrix $B$.
On exit, $B$ has been destroyed.

alpha
(output) REAL or COMPLEX array, shape $(:)$ with $size$(alpha) $= size$(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$(BETA) $= size$(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}

VL
Optional (output) REAL or COMPLEX square array, shape $(:,:)$ with $size$(VL,1) $= size$(A,1).
The left generalized eigenvectors $u_j$ are stored in the columns of VL in the order of their eigenvalues. Each eigenvector is scaled so the largest component has $\mid real part\mid + \mid imag. part\mid = 1$, except that for eigenvalues with $\alpha = \beta = 0$, a zero vector is returned as the corresponding eigenvector.
Note: If $A$ and $B$ are real then complex eigenvectors, like their eigenvalues, occur in complex conjugate pairs. The real and imaginary parts of the first eigenvector of the pair are stored in VL$_{:,j}$ and VL$_{:,j+1}$. Thus a complex conjugate pair is given by

\begin{displaymath}u_j = {\bf VL}_{:,j}\,+\,i\, {\bf VL}_{:,j+1}\,,\;\;\;
u_{j+1} = {\bf VL}_{:,j}\,-\,i\, {\bf VL}_{:,j+1} \end{displaymath}

VR
Optional (output) REAL or COMPLEX square array, shape $(:,:)$ with $size$(VR,1) $= size$(A,1).
The right generalized eigenvectors $v_j$ are stored in the columns of VR in the order of their eigenvalues. Each eigenvector is scaled so the largest component has $\mid real part\mid + \mid imag. part\mid = 1$, except that for eigenvalues with $\alpha = \beta = 0$, a zero vector is returned as the corresponding eigenvector.
Note: If $A$ and $B$ are real then complex eigenvectors, like their eigenvalues, occur in complex conjugate pairs. The real and imaginary parts of the first eigenvector of the pair are stored in VR$_{:,j}$ and VR$_{:,j+1}$. Thus a complex conjugate pair is given by

\begin{displaymath}v_j = {\bf VR}_{:,j}\,+\,i\, {\bf VR}_{:,j+1}\,,\;\;\;
v_{j+1} = {\bf VR}_{:,j}\,-\,i\, {\bf VR}_{:,j+1} \end{displaymath}

INFO
Optional (output) INTEGER.

\begin{infoarg}
\item[{$=$\ 0:}] successful exit.
\item[{$<$\ 0:}] if {\bf INF...
...g the computation of the generalized
eigenvectors.
\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].
next up previous contents index
Next: Examples Up: Generalized Nonsymmetric Eigenvalue Problems Previous: Purpose   Contents   Index
Susan Blackford 2001-08-19