1DSYEV(1) LAPACK driver routine (version 3.2) DSYEV(1)
2
3
4
6 DSYEV - computes all eigenvalues and, optionally, eigenvectors of a
7 real symmetric matrix A
8
10 SUBROUTINE DSYEV( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, INFO )
11
12 CHARACTER JOBZ, UPLO
13
14 INTEGER INFO, LDA, LWORK, N
15
16 DOUBLE PRECISION A( LDA, * ), W( * ), WORK( * )
17
19 DSYEV computes all eigenvalues and, optionally, eigenvectors of a real
20 symmetric matrix A.
21
23 JOBZ (input) CHARACTER*1
24 = 'N': Compute eigenvalues only;
25 = 'V': Compute eigenvalues and eigenvectors.
26
27 UPLO (input) CHARACTER*1
28 = 'U': Upper triangle of A is stored;
29 = 'L': Lower triangle of A is stored.
30
31 N (input) INTEGER
32 The order of the matrix A. N >= 0.
33
34 A (input/output) DOUBLE PRECISION array, dimension (LDA, N)
35 On entry, the symmetric matrix A. If UPLO = 'U', the leading
36 N-by-N upper triangular part of A contains the upper triangular
37 part of the matrix A. If UPLO = 'L', the leading N-by-N lower
38 triangular part of A contains the lower triangular part of the
39 matrix A. On exit, if JOBZ = 'V', then if INFO = 0, A contains
40 the orthonormal eigenvectors of the matrix A. If JOBZ = 'N',
41 then on exit the lower triangle (if UPLO='L') or the upper tri‐
42 angle (if UPLO='U') of A, including the diagonal, is destroyed.
43
44 LDA (input) INTEGER
45 The leading dimension of the array A. LDA >= max(1,N).
46
47 W (output) DOUBLE PRECISION array, dimension (N)
48 If INFO = 0, the eigenvalues in ascending order.
49
50 WORK (workspace/output) DOUBLE PRECISION array, dimension
51 (MAX(1,LWORK))
52 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
53
54 LWORK (input) INTEGER
55 The length of the array WORK. LWORK >= max(1,3*N-1). For
56 optimal efficiency, LWORK >= (NB+2)*N, where NB is the block‐
57 size for DSYTRD returned by ILAENV. If LWORK = -1, then a
58 workspace query is assumed; the routine only calculates the
59 optimal size of the WORK array, returns this value as the first
60 entry of the WORK array, and no error message related to LWORK
61 is issued by XERBLA.
62
63 INFO (output) INTEGER
64 = 0: successful exit
65 < 0: if INFO = -i, the i-th argument had an illegal value
66 > 0: if INFO = i, the algorithm failed to converge; i off-
67 diagonal elements of an intermediate tridiagonal form did not
68 converge to zero.
69
70
71
72 LAPACK driver routine (version 3.N2o)vember 2008 DSYEV(1)