Previous: dsterf Up: ../lapack-d.html Next: dstevx


dstev


 NAME
      DSTEV - compute all eigenvalues and, optionally, eigenvec-
      tors of a real symmetric tridiagonal matrix A

 SYNOPSIS
      SUBROUTINE DSTEV( JOBZ, N, D, E, Z, LDZ, WORK, INFO )

          CHARACTER     JOBZ

          INTEGER       INFO, LDZ, N

          DOUBLE        PRECISION D( * ), E( * ), WORK( * ), Z(
                        LDZ, * )

 PURPOSE
      DSTEV computes all eigenvalues and, optionally, eigenvectors
      of a real symmetric tridiagonal matrix A.

 ARGUMENTS
      JOBZ    (input) CHARACTER*1
              = 'N':  Compute eigenvalues only;
              = 'V':  Compute eigenvalues and eigenvectors.

      N       (input) INTEGER
              The order of the matrix.  N >= 0.

      D       (input/output) DOUBLE PRECISION array, dimension (N)
              On entry, the n diagonal elements of the tridiagonal
              matrix A.  On exit, if INFO = 0, the eigenvalues in
              ascending order.

      E       (input/workspace) DOUBLE PRECISION array, dimension (N)
              On entry, the (n-1) subdiagonal elements of the tri-
              diagonal matrix A, stored in elements 1 to N-1 of E;
              E(N) need not be set, but is used by the routine.
              On exit, the contents of E are destroyed.

      Z       (output) DOUBLE PRECISION array, dimension (LDZ, N)
              If JOBZ = 'V', then if INFO = 0, Z contains the
              orthonormal eigenvectors of the matrix A, with the
              i-th column of Z holding the eigenvector associated
              with D(i).  If JOBZ = 'N', then Z is not referenced.

      LDZ     (input) INTEGER
              The leading dimension of the array Z.  LDZ >= 1, and
              if JOBZ = 'V', LDZ >= max(1,N).

 (max(1,2*N-2))
      WORK    (workspace) DOUBLE PRECISION array, dimension
              If JOBZ = 'N', WORK is not referenced.

      INFO    (output) INTEGER
              = 0:  successful exit
              < 0:  if INFO = -i, the i-th argument had an illegal
              value
              > 0:  if INFO = i, the algorithm failed to converge;
              i off-diagonal elements of E did not converge to
              zero.