dstev - compute all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A
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, double *z, long ldz, long *info);
Oracle Solaris Studio Performance Library dstev(3P) NAME dstev - compute all eigenvalues and, optionally, eigenvectors 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, double *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 tridiagonal matrix A. On exit, if INFO = 0, the eigenvalues 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 destroyed. Z (output) If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal eigenvectors of the matrix A, with the i-th column of Z hold- ing the eigenvector associated 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) DOUBLE PRECISION array, dimension (max(1,2*N-2)) If JOBZ = 'N', WORK is not referenced. INFO (output) = 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. 7 Nov 2015 dstev(3P)