NAME

dstebz - compute the eigenvalues of a symmetric tridiagonal matrix T


SYNOPSIS

  SUBROUTINE DSTEBZ( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL, D, E, M, 
 *      NSPLIT, W, IBLOCK, ISPLIT, WORK, IWORK, INFO)
  CHARACTER * 1 RANGE, ORDER
  INTEGER N, IL, IU, M, NSPLIT, INFO
  INTEGER IBLOCK(*), ISPLIT(*), IWORK(*)
  DOUBLE PRECISION VL, VU, ABSTOL
  DOUBLE PRECISION D(*), E(*), W(*), WORK(*)
  SUBROUTINE DSTEBZ_64( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL, D, E, 
 *      M, NSPLIT, W, IBLOCK, ISPLIT, WORK, IWORK, INFO)
  CHARACTER * 1 RANGE, ORDER
  INTEGER*8 N, IL, IU, M, NSPLIT, INFO
  INTEGER*8 IBLOCK(*), ISPLIT(*), IWORK(*)
  DOUBLE PRECISION VL, VU, ABSTOL
  DOUBLE PRECISION D(*), E(*), W(*), WORK(*)

F95 INTERFACE

  SUBROUTINE STEBZ( RANGE, ORDER, [N], VL, VU, IL, IU, ABSTOL, D, E, 
 *       M, NSPLIT, W, IBLOCK, ISPLIT, [WORK], [IWORK], [INFO])
  CHARACTER(LEN=1) :: RANGE, ORDER
  INTEGER :: N, IL, IU, M, NSPLIT, INFO
  INTEGER, DIMENSION(:) :: IBLOCK, ISPLIT, IWORK
  REAL(8) :: VL, VU, ABSTOL
  REAL(8), DIMENSION(:) :: D, E, W, WORK
  SUBROUTINE STEBZ_64( RANGE, ORDER, [N], VL, VU, IL, IU, ABSTOL, D, 
 *       E, M, NSPLIT, W, IBLOCK, ISPLIT, [WORK], [IWORK], [INFO])
  CHARACTER(LEN=1) :: RANGE, ORDER
  INTEGER(8) :: N, IL, IU, M, NSPLIT, INFO
  INTEGER(8), DIMENSION(:) :: IBLOCK, ISPLIT, IWORK
  REAL(8) :: VL, VU, ABSTOL
  REAL(8), DIMENSION(:) :: D, E, W, WORK

C INTERFACE

#include <sunperf.h>

void dstebz(char range, char order, int n, double vl, double vu, int il, int iu, double abstol, double *d, double *e, int *m, int *nsplit, double *w, int *iblock, int *isplit, int *info);

void dstebz_64(char range, char order, long n, double vl, double vu, long il, long iu, double abstol, double *d, double *e, long *m, long *nsplit, double *w, long *iblock, long *isplit, long *info);


PURPOSE

dstebz computes the eigenvalues of a symmetric tridiagonal matrix T. The user may ask for all eigenvalues, all eigenvalues in the half-open interval (VL, VU], or the IL-th through IU-th eigenvalues.

To avoid overflow, the matrix must be scaled so that its

largest element is no greater than overflow**(1/2) *

underflow**(1/4) in absolute value, and for greatest

accuracy, it should not be much smaller than that.

See W. Kahan ``Accurate Eigenvalues of a Symmetric Tridiagonal Matrix'', Report CS41, Computer Science Dept., Stanford

University, July 21, 1966.


ARGUMENTS