1DSPTRD(1)                LAPACK routine (version 3.1)                DSPTRD(1)
2
3
4

NAME

6       DSPTRD  -  a real symmetric matrix A stored in packed form to symmetric
7       tridiagonal form T by an orthogonal similarity transformation
8

SYNOPSIS

10       SUBROUTINE DSPTRD( UPLO, N, AP, D, E, TAU, INFO )
11
12           CHARACTER      UPLO
13
14           INTEGER        INFO, N
15
16           DOUBLE         PRECISION AP( * ), D( * ), E( * ), TAU( * )
17

PURPOSE

19       DSPTRD reduces a real symmetric matrix A stored in packed form to  sym‐
20       metric  tridiagonal  form T by an orthogonal similarity transformation:
21       Q**T * A * Q = T.
22
23

ARGUMENTS

25       UPLO    (input) CHARACTER*1
26               = 'U':  Upper triangle of A is stored;
27               = 'L':  Lower triangle of A is stored.
28
29       N       (input) INTEGER
30               The order of the matrix A.  N >= 0.
31
32       AP      (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)
33               On entry, the upper or lower triangle of the  symmetric  matrix
34               A,  packed  columnwise in a linear array.  The j-th column of A
35               is stored in the array AP as follows: if UPLO  =  'U',  AP(i  +
36               (j-1)*j/2)  =  A(i,j)  for  1<=i<=j;  if  UPLO  =  'L',  AP(i +
37               (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.  On exit, if UPLO = 'U',
38               the  diagonal  and  first superdiagonal of A are overwritten by
39               the corresponding elements of the tridiagonal matrix T, and the
40               elements  above  the  first  superdiagonal, with the array TAU,
41               represent the orthogonal matrix Q as a  product  of  elementary
42               reflectors;  if  UPLO = 'L', the diagonal and first subdiagonal
43               of A are over- written by the  corresponding  elements  of  the
44               tridiagonal matrix T, and the elements below the first subdiag‐
45               onal, with the array TAU, represent the orthogonal matrix Q  as
46               a  product  of  elementary  reflectors. See Further Details.  D
47               (output) DOUBLE PRECISION array,  dimension  (N)  The  diagonal
48               elements of the tridiagonal matrix T: D(i) = A(i,i).
49
50       E       (output) DOUBLE PRECISION array, dimension (N-1)
51               The  off-diagonal  elements of the tridiagonal matrix T: E(i) =
52               A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
53
54       TAU     (output) DOUBLE PRECISION array, dimension (N-1)
55               The scalar factors of the elementary  reflectors  (see  Further
56               Details).
57
58       INFO    (output) INTEGER
59               = 0:  successful exit
60               < 0:  if INFO = -i, the i-th argument had an illegal value
61

FURTHER DETAILS

63       If  UPLO  = 'U', the matrix Q is represented as a product of elementary
64       reflectors
65
66          Q = H(n-1) . . . H(2) H(1).
67
68       Each H(i) has the form
69
70          H(i) = I - tau * v * v'
71
72       where tau is a real scalar, and v is a real vector with
73       v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP,  overwrit‐
74       ing A(1:i-1,i+1), and tau is stored in TAU(i).
75
76       If  UPLO  = 'L', the matrix Q is represented as a product of elementary
77       reflectors
78
79          Q = H(1) H(2) . . . H(n-1).
80
81       Each H(i) has the form
82
83          H(i) = I - tau * v * v'
84
85       where tau is a real scalar, and v is a real vector with
86       v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP,  overwrit‐
87       ing A(i+2:n,i), and tau is stored in TAU(i).
88
89
90
91
92 LAPACK routine (version 3.1)    November 2006                       DSPTRD(1)
Impressum