Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

sstev (3p)

Name

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

Synopsis

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

CHARACTER*1 JOBZ
INTEGER N, LDZ, INFO
REAL D(*), E(*), Z(LDZ,*), WORK(*)

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

CHARACTER*1 JOBZ
INTEGER*8 N, LDZ, INFO
REAL 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, DIMENSION(:) :: D, E, WORK
REAL, DIMENSION(:,:) :: Z

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

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




C INTERFACE
#include <sunperf.h>

void sstev(char jobz, int n, float *d, float *e, float *z, int ldz, int
*info);

void  sstev_64(char  jobz,  long  n, float *d, float *e, float *z, long
ldz, long *info);

Description

Oracle Solaris Studio Performance Library                            sstev(3P)



NAME
       sstev - compute all eigenvalues and, optionally, eigenvectors of a real
       symmetric tridiagonal matrix A


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

       CHARACTER*1 JOBZ
       INTEGER N, LDZ, INFO
       REAL D(*), E(*), Z(LDZ,*), WORK(*)

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

       CHARACTER*1 JOBZ
       INTEGER*8 N, LDZ, INFO
       REAL 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, DIMENSION(:) :: D, E, WORK
       REAL, DIMENSION(:,:) :: Z

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

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




   C INTERFACE
       #include <sunperf.h>

       void sstev(char jobz, int n, float *d, float *e, float *z, int ldz, int
                 *info);

       void  sstev_64(char  jobz,  long  n, float *d, float *e, 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.


       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) REAL 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                         sstev(3P)