1DSPEV(1) LAPACK driver routine (version 3.1) DSPEV(1)
2
3
4
6 DSPEV - all the eigenvalues and, optionally, eigenvectors of a real
7 symmetric matrix A in packed storage
8
10 SUBROUTINE DSPEV( JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, INFO )
11
12 CHARACTER JOBZ, UPLO
13
14 INTEGER INFO, LDZ, N
15
16 DOUBLE PRECISION AP( * ), W( * ), WORK( * ), Z( LDZ, * )
17
19 DSPEV computes all the eigenvalues and, optionally, eigenvectors of a
20 real symmetric matrix A in packed storage.
21
22
24 JOBZ (input) CHARACTER*1
25 = 'N': Compute eigenvalues only;
26 = 'V': Compute eigenvalues and eigenvectors.
27
28 UPLO (input) CHARACTER*1
29 = 'U': Upper triangle of A is stored;
30 = 'L': Lower triangle of A is stored.
31
32 N (input) INTEGER
33 The order of the matrix A. N >= 0.
34
35 AP (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)
36 On entry, the upper or lower triangle of the symmetric matrix
37 A, packed columnwise in a linear array. The j-th column of A
38 is stored in the array AP as follows: if UPLO = 'U', AP(i +
39 (j-1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i +
40 (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.
41
42 On exit, AP is overwritten by values generated during the
43 reduction to tridiagonal form. If UPLO = 'U', the diagonal and
44 first superdiagonal of the tridiagonal matrix T overwrite the
45 corresponding elements of A, and if UPLO = 'L', the diagonal
46 and first subdiagonal of T overwrite the corresponding elements
47 of A.
48
49 W (output) DOUBLE PRECISION array, dimension (N)
50 If INFO = 0, the eigenvalues in ascending order.
51
52 Z (output) DOUBLE PRECISION array, dimension (LDZ, N)
53 If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal
54 eigenvectors of the matrix A, with the i-th column of Z holding
55 the eigenvector associated with W(i). If JOBZ = 'N', then Z is
56 not referenced.
57
58 LDZ (input) INTEGER
59 The leading dimension of the array Z. LDZ >= 1, and if JOBZ =
60 'V', LDZ >= max(1,N).
61
62 WORK (workspace) DOUBLE PRECISION array, dimension (3*N)
63
64 INFO (output) INTEGER
65 = 0: successful exit.
66 < 0: if INFO = -i, the i-th argument had an illegal value.
67 > 0: if INFO = i, the algorithm failed to converge; i off-
68 diagonal elements of an intermediate tridiagonal form did not
69 converge to zero.
70
71
72
73 LAPACK driver routine (version 3.N1o)vember 2006 DSPEV(1)