1DSTEVD(1)             LAPACK driver routine (version 3.1)            DSTEVD(1)
2
3
4

NAME

6       DSTEVD  -  all eigenvalues and, optionally, eigenvectors of a real sym‐
7       metric tridiagonal matrix
8

SYNOPSIS

10       SUBROUTINE DSTEVD( JOBZ, N, D, E, Z, LDZ, WORK, LWORK,  IWORK,  LIWORK,
11                          INFO )
12
13           CHARACTER      JOBZ
14
15           INTEGER        INFO, LDZ, LIWORK, LWORK, N
16
17           INTEGER        IWORK( * )
18
19           DOUBLE         PRECISION D( * ), E( * ), WORK( * ), Z( LDZ, * )
20

PURPOSE

22       DSTEVD computes all eigenvalues and, optionally, eigenvectors of a real
23       symmetric tridiagonal matrix. If eigenvectors are desired,  it  uses  a
24       divide and conquer algorithm.
25
26       The  divide  and  conquer  algorithm  makes very mild assumptions about
27       floating point arithmetic. It will work on machines with a guard  digit
28       in add/subtract, or on those binary machines without guard digits which
29       subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It  could
30       conceivably  fail on hexadecimal or decimal machines without guard dig‐
31       its, but we know of none.
32
33

ARGUMENTS

35       JOBZ    (input) CHARACTER*1
36               = 'N':  Compute eigenvalues only;
37               = 'V':  Compute eigenvalues and eigenvectors.
38
39       N       (input) INTEGER
40               The order of the matrix.  N >= 0.
41
42       D       (input/output) DOUBLE PRECISION array, dimension (N)
43               On entry, the n diagonal elements of the tridiagonal matrix  A.
44               On exit, if INFO = 0, the eigenvalues in ascending order.
45
46       E       (input/output) DOUBLE PRECISION array, dimension (N-1)
47               On  entry,  the  (n-1)  subdiagonal elements of the tridiagonal
48               matrix A, stored in elements 1 to N-1 of E.  On exit, the  con‐
49               tents of E are destroyed.
50
51       Z       (output) DOUBLE PRECISION array, dimension (LDZ, N)
52               If  JOBZ  =  'V',  then if INFO = 0, Z contains the orthonormal
53               eigenvectors of the matrix A, with the i-th column of Z holding
54               the eigenvector associated with D(i).  If JOBZ = 'N', then Z is
55               not referenced.
56
57       LDZ     (input) INTEGER
58               The leading dimension of the array Z.  LDZ >= 1, and if JOBZ  =
59               'V', LDZ >= max(1,N).
60
61       WORK    (workspace/output) DOUBLE PRECISION array,
62               dimension  (LWORK)  On  exit,  if INFO = 0, WORK(1) returns the
63               optimal LWORK.
64
65       LWORK   (input) INTEGER
66               The dimension of the array WORK.  If JOBZ  = 'N' or N <= 1 then
67               LWORK  must be at least 1.  If JOBZ  = 'V' and N > 1 then LWORK
68               must be at least ( 1 + 4*N + N**2 ).
69
70               If LWORK = -1, then a workspace query is assumed;  the  routine
71               only calculates the optimal sizes of the WORK and IWORK arrays,
72               returns these values as the first entries of the WORK and IWORK
73               arrays,  and  no  error  message  related to LWORK or LIWORK is
74               issued by XERBLA.
75
76       IWORK   (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))
77               On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK.
78
79       LIWORK  (input) INTEGER
80               The dimension of the array IWORK.  If JOBZ  = 'N'  or  N  <=  1
81               then  LIWORK must be at least 1.  If JOBZ  = 'V' and N > 1 then
82               LIWORK must be at least 3+5*N.
83
84               If LIWORK = -1, then a workspace query is assumed; the  routine
85               only calculates the optimal sizes of the WORK and IWORK arrays,
86               returns these values as the first entries of the WORK and IWORK
87               arrays,  and  no  error  message  related to LWORK or LIWORK is
88               issued by XERBLA.
89
90       INFO    (output) INTEGER
91               = 0:  successful exit
92               < 0:  if INFO = -i, the i-th argument had an illegal value
93               > 0:  if INFO = i, the algorithm failed  to  converge;  i  off-
94               diagonal elements of E did not converge to zero.
95
96
97
98 LAPACK driver routine (version 3.N1o)vember 2006                       DSTEVD(1)
Impressum