1SSYTD2(1)                LAPACK routine (version 3.2)                SSYTD2(1)
2
3
4

NAME

6       SSYTD2  -  reduces  a  real symmetric matrix A to symmetric tridiagonal
7       form T by an orthogonal similarity transformation
8

SYNOPSIS

10       SUBROUTINE SSYTD2( UPLO, N, A, LDA, D, E, TAU, INFO )
11
12           CHARACTER      UPLO
13
14           INTEGER        INFO, LDA, N
15
16           REAL           A( LDA, * ), D( * ), E( * ), TAU( * )
17

PURPOSE

19       SSYTD2 reduces a real symmetric matrix A to symmetric tridiagonal  form
20       T by an orthogonal similarity transformation: Q' * A * Q = T.
21

ARGUMENTS

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) REAL 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) REAL array, dimension (N)
52               The diagonal elements of  the  tridiagonal  matrix  T:  D(i)  =
53               A(i,i).
54
55       E       (output) REAL 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) REAL 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

FURTHER DETAILS

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                       SSYTD2(1)
Impressum