Contents


NAME

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

SYNOPSIS

     SUBROUTINE SSTEV(JOBZ, N, DIAG, OFFD, Z, LDZ, WORK, INFO)

     CHARACTER * 1 JOBZ
     INTEGER N, LDZ, INFO
     REAL DIAG(*), OFFD(*), Z(LDZ,*), WORK(*)

     SUBROUTINE SSTEV_64(JOBZ, N, DIAG, OFFD, Z, LDZ, WORK, INFO)

     CHARACTER * 1 JOBZ
     INTEGER*8 N, LDZ, INFO
     REAL DIAG(*), OFFD(*), Z(LDZ,*), WORK(*)

  F95 INTERFACE
     SUBROUTINE STEV(JOBZ, N, DIAG, OFFD, Z, [LDZ], [WORK], [INFO])

     CHARACTER(LEN=1) :: JOBZ
     INTEGER :: N, LDZ, INFO
     REAL, DIMENSION(:) :: DIAG, OFFD, WORK
     REAL, DIMENSION(:,:) :: Z

     SUBROUTINE STEV_64(JOBZ, N, DIAG, OFFD, Z, [LDZ], [WORK], [INFO])

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

  C INTERFACE
     #include <sunperf.h>

     void sstev(char jobz, int n, float *diag, float *offd, float
               *z, int ldz, int *info);

     void sstev_64(char jobz, long n, float *diag,  float  *offd,
               float *z, long ldz, long *info);

PURPOSE

     sstev 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.

     DIAG (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.

     OFFD (input/output)
               On entry, the (n-1) subdiagonal  elements  of  the
               tridiagonal  matrix A, stored in elements 1 to N-1
               of OFFD; OFFD(N) need not be set, but is  used  by
               the  routine.   On  exit, the contents of OFFD are
               destroyed.

     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  DIAG(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 OFFD did not
               converge to zero.