IMTQL2(3F)

IMTQL2, SIMTQL2 - EISPACK routine. This subroutine finds the eigenvalues and eigenvectors of a SYMMETRIC TRIDIAGONAL matrix by the implicit 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.

Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.

NAME
     IMTQL2, SIMTQL2  -  EISPACK routine.  This subroutine finds the
     eigenvalues and eigenvectors of a SYMMETRIC TRIDIAGONAL matrix by the
     implicit 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  imtql2(nm, n, d, e, z, ierr)
          integer          nm, n, ierr
          double precision d(n), e(n), z(nm,n)

          subroutine simtql2(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