f02bjf
f02bjf
© Numerical Algorithms Group, 2002.
Purpose
F02BJF All eigenvalues and optionally eigenvectors of generalized
eigenproblem by QZ algorithm, real matrices (Black Box)
Synopsis
[alfr,alfi,beta,v,iter,ifail] = f02bjf(a,b<,eps1,matv,ifail>)
Description
All the eigenvalues and, if required, all the eigenvectors of the
generalized eigenproblem Ax=(lambda)Bx where A and B are real,
square matrices, are determined using the QZ algorithm. The QZ
algorithm consists of 4 stages:
(a) A is reduced to upper Hessenberg form and at the same time
B is reduced to upper triangular form.
(b) A is further reduced to quasi-triangular form while the
triangular form of B is maintained.
(c) The quasi-triangular form of A is reduced to triangular
form and the eigenvalues extracted. This routine does not
actually produce the eigenvalues (lambda) , but instead
j
returns (alpha) and (beta) such that
j j
(lambda) =(alpha) /(beta) , j=1,2,...,.n
j j j
The division by (beta) becomes the responsibility of the
j
user's program, since (beta) may be zero indicating an
j
infinite eigenvalue. Pairs of complex eigenvalues occur
with (alpha) /(beta) and (alpha) /(beta) complex
j j j+1 j+1
conjugates, even though (alpha) and (alpha) are not
j j+1
conjugate.
(d) If the eigenvectors are required (MATV = .TRUE.), they are
obtained from the triangular matrices and then transformed
back into the original co-ordinate system.
Parameters
f02bjf
Required Input Arguments:
a (:,:) real
b (:,:) real
Optional Input Arguments: <Default>
eps1 real eps
matv logical 1
ifail integer -1
Output Arguments:
alfr (:) real
alfi (:) real
beta (:) real
v (:,:) real
iter (:) integer
ifail integer