Contents


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 * 1 JOBZ
     INTEGER N, LDZ, INFO
     DOUBLE PRECISION D(*), E(*), Z(LDZ,*), WORK(*)

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

     CHARACTER * 1 JOBZ
     INTEGER*8 N, LDZ, INFO
     DOUBLE PRECISION D(*), E(*), Z(LDZ,*), WORK(*)

  F95 INTERFACE
     SUBROUTINE STEV(JOBZ, N, D, E, Z, [LDZ], [WORK], [INFO])

     CHARACTER(LEN=1) :: JOBZ
     INTEGER :: N, LDZ, INFO
     REAL(8), DIMENSION(:) :: D, E, WORK
     REAL(8), DIMENSION(:,:) :: Z

     SUBROUTINE STEV_64(JOBZ, N, D, E, Z, [LDZ], [WORK], [INFO])

     CHARACTER(LEN=1) :: JOBZ
     INTEGER(8) :: N, LDZ, INFO
     REAL(8), DIMENSION(:) :: D, E, WORK
     REAL(8), DIMENSION(:,:) :: Z

  C INTERFACE
     #include <sunperf.h>

     void dstev(char jobz, int n, double *d,  double  *e,  double
               *z, int ldz, int *info);

     void dstev_64(char jobz, long n, double *d, double *e,  dou-
               ble *z, long ldz, long *info);

PURPOSE

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

ARGUMENTS

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

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

     D (input/output)
               On entry, the n diagonal elements of the tridiago-
               nal  matrix  A.   On exit, if INFO = 0, the eigen-
               values in ascending order.

     E (input/output)
               On entry, the (n-1) subdiagonal  elements  of  the
               tridiagonal  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 des-
               troyed.

     Z (input) 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  associ-
               ated  with  D(i).   If  JOBZ  = 'N', then Z is not
               referenced.

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

     WORK (workspace)
               If JOBZ = 'N', WORK is not referenced.

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