1DSPEV(1) LAPACK driver routine (version 3.2) DSPEV(1)
2
3
4
6 DSPEV - computes all the eigenvalues and, optionally, eigenvectors of a
7 real 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
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 AP (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)
35 On entry, the upper or lower triangle of the symmetric matrix
36 A, packed columnwise in a linear array. The j-th column of A
37 is stored in the array AP as follows: if UPLO = 'U', AP(i +
38 (j-1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i +
39 (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n. On exit, AP is over‐
40 written by values generated during the reduction to tridiagonal
41 form. If UPLO = 'U', the diagonal and first superdiagonal of
42 the tridiagonal matrix T overwrite the corresponding elements
43 of A, and if UPLO = 'L', the diagonal and first subdiagonal of
44 T overwrite the corresponding elements of A.
45
46 W (output) DOUBLE PRECISION array, dimension (N)
47 If INFO = 0, the eigenvalues in ascending order.
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 W(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) DOUBLE PRECISION array, dimension (3*N)
60
61 INFO (output) INTEGER
62 = 0: successful exit.
63 < 0: if INFO = -i, the i-th argument had an illegal value.
64 > 0: if INFO = i, the algorithm failed to converge; i off-
65 diagonal elements of an intermediate tridiagonal form did not
66 converge to zero.
67
68
69
70 LAPACK driver routine (version 3.N2o)vember 2008 DSPEV(1)