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

NAME

6       DSTEVD  -  computes  all eigenvalues and, optionally, eigenvectors of a
7       real symmetric 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       The  divide  and  conquer  algorithm  makes very mild assumptions about
26       floating point arithmetic. It will work on machines with a guard  digit
27       in add/subtract, or on those binary machines without guard digits which
28       subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It  could
29       conceivably  fail on hexadecimal or decimal machines without guard dig‐
30       its, but we know of none.
31

ARGUMENTS

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