1SSYEV(1) LAPACK driver routine (version 3.2) SSYEV(1)
2
3
4
6 SSYEV - computes all eigenvalues and, optionally, eigenvectors of a
7 real symmetric matrix A
8
10 SUBROUTINE SSYEV( JOBZ, UPLO, N, A, LDA, W, WORK, LWORK, INFO )
11
12 CHARACTER JOBZ, UPLO
13
14 INTEGER INFO, LDA, LWORK, N
15
16 REAL A( LDA, * ), W( * ), WORK( * )
17
19 SSYEV 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) REAL 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) REAL array, dimension (N)
48 If INFO = 0, the eigenvalues in ascending order.
49
50 WORK (workspace/output) REAL array, dimension (MAX(1,LWORK))
51 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
52
53 LWORK (input) INTEGER
54 The length of the array WORK. LWORK >= max(1,3*N-1). For
55 optimal efficiency, LWORK >= (NB+2)*N, where NB is the block‐
56 size for SSYTRD returned by ILAENV. If LWORK = -1, then a
57 workspace query is assumed; the routine only calculates the
58 optimal size of the WORK array, returns this value as the first
59 entry of the WORK array, and no error message related to LWORK
60 is issued by XERBLA.
61
62 INFO (output) INTEGER
63 = 0: successful exit
64 < 0: if INFO = -i, the i-th argument had an illegal value
65 > 0: if INFO = i, the algorithm failed to converge; i off-
66 diagonal elements of an intermediate tridiagonal form did not
67 converge to zero.
68
69
70
71 LAPACK driver routine (version 3.N2o)vember 2008 SSYEV(1)