java.lang.Object
imagingbook.common.math.eigen.eispack.QZVEC
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic void
qzvec
(double[][] a, double[][] b, double[] alfr, double[] alfi, double[] beta, double[][] z) This subroutine is the optional fourth step of the qz algorithm for solving generalized matrix eigenvalue problems, Siam J.
-
Field Details
-
VERBOSE
-
-
Method Details
-
qzvec
public static void qzvec(double[][] a, double[][] b, double[] alfr, double[] alfi, double[] beta, double[][] z) This subroutine is the optional fourth step of the qz algorithm for solving generalized matrix eigenvalue problems, Siam J. Numer. Anal. 10, 241-256 (1973) by Moler and Stewart. This description has been adapted from the original version (dated August 1983).
This subroutine accepts a pair of real matrices, one of them in quasi-triangular form (in which each 2-by-2 block corresponds to a pair of complex eigenvalues) and the other in upper triangular form. It computes the eigenvectors of the triangular problem and transforms the results back to the original coordinate system. It is usually preceded by qzhes, qzit, and qzval.
On output:
- a is unaltered. Its subdiagonal elements provide information about the storage of the complex eigenvectors.
- b has been destroyed.
- alfr, alfi and beta are unaltered.
- z contains the real and imaginary parts of the eigenvectors. If alfi(i) = 0.0, the i-th eigenvalue is real and the i-th column of z contains its eigenvector. if alfi(i) ≠ 0.0, the i-th eigenvalue is complex. if alfi(i) > 0.0, the eigenvalue is the first of a complex pair and the i-th and (i+1)-th columns of z contain its eigenvector. If alfi(i) < 0.0, the eigenvalue is the second of a complex pair and the (i-1)-th and i-th columns of z contain the conjugate of its eigenvector. Each eigenvector is normalized so that the modulus of its largest component is 1.0.
- Parameters:
a
- contains a real upper quasi-triangular matrix.b
- contains a real upper triangular matrix. In addition, location b[n-1][0] contains the tolerance quantity (epsb) computed and saved in qzit.alfr
- , alfi, and beta are vectors with components whose ratios ((alfr + i * alfi) / beta) are the generalized eigenvalues. They are usually obtained from qzval.alfi
- see alfrbeta
- see alfrz
- contains the transformation matrix produced in the reductions by qzhes, qzit, and qzval, if performed. If the eigenvectors of the triangular problem are desired, z must contain the identity matrix.
-