Previous: cortb Up: ../eispad.html Next: elmbak


CORTH(NM,N,LOW,IGH,AR,AI,ORTR,ORTI)

       SUBROUTINE CORTH(NM,N,LOW,IGH,AR,AI,ORTR,ORTI)
 C
       INTEGER I,J,M,N,II,JJ,LA,MP,NM,IGH,KP1,LOW
       DOUBLE PRECISION AR(NM,N),AI(NM,N),ORTR(IGH),ORTI(IGH)
       DOUBLE PRECISION F,G,H,FI,FR,SCALE,PYTHAG
 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 FOR  DSQRT(A*A + B*B) .
 C
 C     QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO BURTON S. GARBOW,
 C     MATHEMATICS AND COMPUTER SCIENCE DIV, ARGONNE NATIONAL LABORATORY
 C
 C     THIS VERSION DATED AUGUST 1983.
 C
 C     ------------------------------------------------------------------
 C