Previous: tinvit Up: ../eispad.html Next: tql2


TQL1(N,D,E,IERR)

       SUBROUTINE TQL1(N,D,E,IERR)
 C
       INTEGER I,J,L,M,N,II,L1,L2,MML,IERR
       DOUBLE PRECISION D(N),E(N)
       DOUBLE PRECISION C,C2,C3,DL1,EL1,F,G,H,P,R,S,S2,TST1,TST2,PYTHAG
 C
 C     THIS SUBROUTINE IS A TRANSLATION OF THE ALGOL PROCEDURE TQL1,
 C     NUM. MATH. 11, 293-306(1968) BY BOWDLER, MARTIN, REINSCH, AND
 C     WILKINSON.
 C     HANDBOOK FOR AUTO. COMP., VOL.II-LINEAR ALGEBRA, 227-240(1971).
 C
 C     THIS SUBROUTINE FINDS THE EIGENVALUES OF A SYMMETRIC
 C     TRIDIAGONAL MATRIX BY THE QL METHOD.
 C
 C     ON INPUT
 C
 C        N IS THE ORDER OF THE MATRIX.
 C
 C        D CONTAINS THE DIAGONAL ELEMENTS OF THE INPUT MATRIX.
 C
 C        E CONTAINS THE SUBDIAGONAL ELEMENTS OF THE INPUT MATRIX
 C          IN ITS LAST N-1 POSITIONS.  E(1) IS ARBITRARY.
 C
 C      ON OUTPUT
 C
 C        D CONTAINS THE EIGENVALUES IN ASCENDING ORDER.  IF AN
 C          ERROR EXIT IS MADE, THE EIGENVALUES ARE CORRECT AND
 C          ORDERED FOR INDICES 1,2,...IERR-1, BUT MAY NOT BE
 C          THE SMALLEST EIGENVALUES.
 C
 C        E HAS BEEN DESTROYED.
 C
 C        IERR IS SET TO
 C          ZERO       FOR NORMAL RETURN,
 C          J          IF THE J-TH EIGENVALUE HAS NOT BEEN
 C                     DETERMINED AFTER 30 ITERATIONS.
 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