SUBROUTINE CORTH(NM,N,LOW,IGH,AR,AI,ORTR,ORTI) C***BEGIN PROLOGUE CORTH C***DATE WRITTEN 760101 (YYMMDD) C***REVISION DATE 830518 (YYMMDD) C***CATEGORY NO. D4C1B2 C***KEYWORDS EIGENVALUES,EIGENVECTORS,EISPACK C***AUTHOR SMITH, B. T., ET AL. C***PURPOSE Reduces complex general matrix to complex upper Hessenberg C using unitary similarity transformations. C***DESCRIPTION C C This subroutine is a translation of a complex analogue of C the ALGOL procedure ORTHES, 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 Given a COMPLEX GENERAL matrix, this subroutine C reduces a submatrix situated in rows and columns C LOW through IGH to upper Hessenberg form by C unitary similarity transformations. C C On INPUT C C NM must be set to the row dimension of two-dimensional C array parameters as declared in the calling program C dimension statement. C C N is the order of the matrix. C C LOW and IGH are integers determined by the balancing C subroutine CBAL. If CBAL has not been used, C set LOW=1, IGH=N. C C AR and AI contain the real and imaginary parts, C respectively, of the complex input matrix. C C On OUTPUT C C AR and AI contain the real and imaginary parts, C respectively, of the Hessenberg matrix. Information C about the unitary transformations used in the reduction C is stored in the remaining triangles under the C Hessenberg matrix. C C ORTR and ORTI contain further information about the C transformations. Only elements LOW through IGH are used. C C Calls PYTHAG(A,B) for sqrt(A**2 + B**2). C C Questions and comments should be directed to B. S. Garbow, C APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY C ------------------------------------------------------------------ C***REFERENCES B. T. SMITH, J. M. BOYLE, J. J. DONGARRA, B. S. GARBOW, C Y. IKEBE, V. C. KLEMA, C. B. MOLER, *MATRIX EIGEN- C SYSTEM ROUTINES - EISPACK GUIDE*, SPRINGER-VERLAG, C 1976. C***ROUTINES CALLED PYTHAG C***END PROLOGUE CORTH