*DECK CORTB SUBROUTINE CORTB (NM, LOW, IGH, AR, AI, ORTR, ORTI, M, ZR, ZI) C***BEGIN PROLOGUE CORTB C***PURPOSE Form the eigenvectors of a complex general matrix from C eigenvectors of upper Hessenberg matrix output from C CORTH. C***LIBRARY SLATEC (EISPACK) C***CATEGORY D4C4 C***TYPE COMPLEX (ORTBAK-S, CORTB-C) C***KEYWORDS EIGENVALUES, EIGENVECTORS, EISPACK C***AUTHOR Smith, B. T., et al. C***DESCRIPTION C C This subroutine is a translation of a complex analogue of C the ALGOL procedure ORTBAK, NUM. MATH. 12, 349-368(1968) C by Martin and Wilkinson. C HANDBOOK FOR AUTO. COMP., VOL.II-LINEAR ALGEBRA, 339-358(1971). C C This subroutine forms the eigenvectors of a COMPLEX GENERAL C matrix by back transforming those of the corresponding C upper Hessenberg matrix determined by CORTH. C C On INPUT C C NM must be set to the row dimension of the two-dimensional C array parameters, AR, AI, ZR, and ZI, as declared in the C calling program dimension statement. NM is an INTEGER C variable. C C LOW and IGH are two INTEGER variables determined by the C balancing subroutine CBAL. If CBAL has not been used, C set LOW=1 and IGH equal to the order of the matrix. C C AR and AI contain information about the unitary trans- C formations used in the reduction by CORTH in their C strict lower triangles. AR and AI are two-dimensional C REAL arrays, dimensioned AR(NM,IGH) and AI(NM,IGH). C C ORTR and ORTI contain further information about the unitary C transformations used in the reduction by CORTH. Only C elements LOW through IGH are used. ORTR and ORTI are C one-dimensional REAL arrays, dimensioned ORTR(IGH) and C ORTI(IGH). C C M is the number of columns of Z=(ZR,ZI) to be back transformed. C M is an INTEGER variable. C C ZR and ZI contain the real and imaginary parts, respectively, C of the eigenvectors to be back transformed in their first C M columns. ZR and ZI are two-dimensional REAL arrays, C dimensioned ZR(NM,M) and ZI(NM,M). C C On OUTPUT C C ZR and ZI contain the real and imaginary parts, respectively, C of the transformed eigenvectors in their first M columns. C C ORTR and ORTI have been altered. C C Note that CORTB preserves vector Euclidean norms. C C Questions and comments should be directed to B. S. Garbow, C APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY C ------------------------------------------------------------------ C C***REFERENCES B. T. Smith, J. M. Boyle, J. J. Dongarra, B. S. Garbow, C Y. Ikebe, V. C. Klema and C. B. Moler, Matrix Eigen- C system Routines - EISPACK Guide, Springer-Verlag, C 1976. C***ROUTINES CALLED (NONE) C***REVISION HISTORY (YYMMDD) C 760101 DATE WRITTEN C 890831 Modified array declarations. (WRB) C 890831 REVISION DATE from Version 3.2 C 891214 Prologue converted to Version 4.0 format. (BAB) C 920501 Reformatted the REFERENCES section. (WRB) C***END PROLOGUE CORTB