ssteqr


NAME

ssteqr - compute all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method


SYNOPSIS

  SUBROUTINE SSTEQR( COMPZ, N, D, E, Z, LDZ, WORK, INFO)
  CHARACTER * 1 COMPZ
  INTEGER N, LDZ, INFO
  REAL D(*), E(*), Z(LDZ,*), WORK(*)
 
  SUBROUTINE SSTEQR_64( COMPZ, N, D, E, Z, LDZ, WORK, INFO)
  CHARACTER * 1 COMPZ
  INTEGER*8 N, LDZ, INFO
  REAL D(*), E(*), Z(LDZ,*), WORK(*)
 

F95 INTERFACE

  SUBROUTINE STEQR( COMPZ, N, D, E, Z, [LDZ], [WORK], [INFO])
  CHARACTER(LEN=1) :: COMPZ
  INTEGER :: N, LDZ, INFO
  REAL, DIMENSION(:) :: D, E, WORK
  REAL, DIMENSION(:,:) :: Z
 
  SUBROUTINE STEQR_64( COMPZ, N, D, E, Z, [LDZ], [WORK], [INFO])
  CHARACTER(LEN=1) :: COMPZ
  INTEGER(8) :: N, LDZ, INFO
  REAL, DIMENSION(:) :: D, E, WORK
  REAL, DIMENSION(:,:) :: Z
 

C INTERFACE

#include <sunperf.h>

void ssteqr(char compz, int n, float *d, float *e, float *z, int ldz, int *info);

void ssteqr_64(char compz, long n, float *d, float *e, float *z, long ldz, long *info);


PURPOSE

ssteqr computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. The eigenvectors of a full or band symmetric matrix can also be found if SSYTRD or SSPTRD or SSBTRD has been used to reduce this matrix to tridiagonal form.


ARGUMENTS

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

* D (input/output)
On entry, the diagonal elements of the tridiagonal matrix. On exit, if INFO = 0, the eigenvalues in ascending order.

* E (input/output)
On entry, the (n-1) subdiagonal elements of the tridiagonal matrix. On exit, E has been destroyed.

* Z (input)
On entry, if COMPZ = 'V', then Z contains the orthogonal matrix used in the reduction to tridiagonal form. On exit, if INFO = 0, then if COMPZ = 'V', Z contains the orthonormal eigenvectors of the original symmetric matrix, and if COMPZ = 'I', Z contains the orthonormal eigenvectors of the symmetric tridiagonal matrix. If COMPZ = 'N', then Z is not referenced.

* LDZ (input)
The leading dimension of the array Z. LDZ >= 1, and if eigenvectors are desired, then LDZ >= max(1,N).

* WORK (workspace)
If COMPZ = 'N', then WORK is not referenced.

* INFO (output)