1DSYTD2(1) LAPACK routine (version 3.2) DSYTD2(1)
2
3
4
6 DSYTD2 - reduces a real symmetric matrix A to symmetric tridiagonal
7 form T by an orthogonal similarity transformation
8
10 SUBROUTINE DSYTD2( UPLO, N, A, LDA, D, E, TAU, INFO )
11
12 CHARACTER UPLO
13
14 INTEGER INFO, LDA, N
15
16 DOUBLE PRECISION A( LDA, * ), D( * ), E( * ), TAU( * )
17
19 DSYTD2 reduces a real symmetric matrix A to symmetric tridiagonal form
20 T by an orthogonal similarity transformation: Q' * A * Q = T.
21
23 UPLO (input) CHARACTER*1
24 Specifies whether the upper or lower triangular part of the
25 symmetric matrix A is stored:
26 = 'U': Upper triangular
27 = 'L': Lower triangular
28
29 N (input) INTEGER
30 The order of the matrix A. N >= 0.
31
32 A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
33 On entry, the symmetric matrix A. If UPLO = 'U', the leading
34 n-by-n upper triangular part of A contains the upper triangular
35 part of the matrix A, and the strictly lower triangular part of
36 A is not referenced. If UPLO = 'L', the leading n-by-n lower
37 triangular part of A contains the lower triangular part of the
38 matrix A, and the strictly upper triangular part of A is not
39 referenced. On exit, if UPLO = 'U', the diagonal and first
40 superdiagonal of A are overwritten by the corresponding ele‐
41 ments of the tridiagonal matrix T, and the elements above the
42 first superdiagonal, with the array TAU, represent the orthogo‐
43 nal matrix Q as a product of elementary reflectors; if UPLO =
44 'L', the diagonal and first subdiagonal of A are over- written
45 by the corresponding elements of the tridiagonal matrix T, and
46 the elements below the first subdiagonal, with the array TAU,
47 represent the orthogonal matrix Q as a product of elementary
48 reflectors. See Further Details. LDA (input) INTEGER The
49 leading dimension of the array A. LDA >= max(1,N).
50
51 D (output) DOUBLE PRECISION array, dimension (N)
52 The diagonal elements of the tridiagonal matrix T: D(i) =
53 A(i,i).
54
55 E (output) DOUBLE PRECISION array, dimension (N-1)
56 The off-diagonal elements of the tridiagonal matrix T: E(i) =
57 A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
58
59 TAU (output) DOUBLE PRECISION array, dimension (N-1)
60 The scalar factors of the elementary reflectors (see Further
61 Details).
62
63 INFO (output) INTEGER
64 = 0: successful exit
65 < 0: if INFO = -i, the i-th argument had an illegal value.
66
68 If UPLO = 'U', the matrix Q is represented as a product of elementary
69 reflectors
70 Q = H(n-1) . . . H(2) H(1).
71 Each H(i) has the form
72 H(i) = I - tau * v * v'
73 where tau is a real scalar, and v is a real vector with
74 v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in
75 A(1:i-1,i+1), and tau in TAU(i).
76 If UPLO = 'L', the matrix Q is represented as a product of elementary
77 reflectors
78 Q = H(1) H(2) . . . H(n-1).
79 Each H(i) has the form
80 H(i) = I - tau * v * v'
81 where tau is a real scalar, and v is a real vector with
82 v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i),
83 and tau in TAU(i).
84 The contents of A on exit are illustrated by the following examples
85 with n = 5:
86 if UPLO = 'U': if UPLO = 'L':
87 ( d e v2 v3 v4 ) ( d )
88 ( d e v3 v4 ) ( e d )
89 ( d e v4 ) ( v1 e d )
90 ( d e ) ( v1 v2 e d )
91 ( d ) ( v1 v2 v3 e d ) where d
92 and e denote diagonal and off-diagonal elements of T, and vi denotes an
93 element of the vector defining H(i).
94
95
96
97 LAPACK routine (version 3.2) November 2008 DSYTD2(1)