TQL2(3F)

TQL2, STQL2 - EISPACK routine. This subroutine finds the eigenvalues and eigenvectors of a SYMMETRIC TRIDIAGONAL matrix by the QL method. The eigenvectors of a FULL SYMMETRIC matrix can also be found if TRED2 has been used to reduce this full matrix to tridiagonal form.

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

NAME
     TQL2, STQL2   -  EISPACK routine.  This subroutine finds the eigenvalues
     and eigenvectors of a SYMMETRIC TRIDIAGONAL matrix by the QL method.  The
     eigenvectors of a FULL SYMMETRIC matrix can also be found if  TRED2  has
     been used to reduce this full matrix to tridiagonal form.


SYNOPSYS
          subroutine  tql2(nm, n, d, e, z, ierr)
          integer          nm, n, ierr
          double precision d(n), e(n), z(nm,n)

          subroutine stql2(nm, n, d, e, z, ierr)
          integer          nm, n, ierr
          real             d(n), e(n), z(nm,n)



DESCRIPTION
     On Input

     NM must be set to the row dimension of two-dimensional array parameters
     as declared in the calling program dimension statement.

     N is the order of the matrix.

     D contains the diagonal elements of the input matrix.

     E contains the subdiagonal elements of the input matrix in its last N-1
     positions.  E(1) is arbitrary.

     Z contains the transformation matrix produced in the reduction by  TRED2,
     if performed.  If the eigenvectors of the tridiagonal matrix are desired,
     Z must contain the identity matrix.  On Output

     D contains the eigenvalues in ascending order.  If an error exit is made,
     the eigenvalues are correct but unordered for indices 1,2,...,IERR-1.

     E has been destroyed.

     Z contains orthonormal eigenvectors of the symmetric tridiagonal (or
     full) matrix.  If an error exit is made, Z contains the eigenvectors
     associated with the stored eigenvalues.

     IERR is set to Zero       for normal return, J          if the J-th
     eigenvalue has not been
        determined after 30 iterations.  Calls PYTHAG(A,B) for sqrt(A**2 +
     B**2).  Questions and comments should be directed to B. S. Garbow,
     APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY