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

NAME

6       ZHPTRD  - reduces a complex Hermitian matrix A stored in packed form to
7       real symmetric tridiagonal form T by a unitary  similarity  transforma‐
8       tion
9

SYNOPSIS

11       SUBROUTINE ZHPTRD( UPLO, N, AP, D, E, TAU, INFO )
12
13           CHARACTER      UPLO
14
15           INTEGER        INFO, N
16
17           DOUBLE         PRECISION D( * ), E( * )
18
19           COMPLEX*16     AP( * ), TAU( * )
20

PURPOSE

22       ZHPTRD  reduces  a  complex Hermitian matrix A stored in packed form to
23       real symmetric tridiagonal form T by a unitary  similarity  transforma‐
24       tion: Q**H * A * Q = T.
25

ARGUMENTS

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) COMPLEX*16 array, dimension (N*(N+1)/2)
35               On  entry,  the upper or lower triangle of the Hermitian 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, if UPLO = 'U',
40               the diagonal and first superdiagonal of A  are  overwritten  by
41               the corresponding elements of the tridiagonal matrix T, and the
42               elements above the first superdiagonal,  with  the  array  TAU,
43               represent  the  unitary  matrix  Q  as  a product of elementary
44               reflectors; if UPLO = 'L', the diagonal and  first  subdiagonal
45               of  A  are  over-  written by the corresponding elements of the
46               tridiagonal matrix T, and the elements below the first subdiag‐
47               onal,  with  the array TAU, represent the unitary matrix Q as a
48               product of  elementary  reflectors.  See  Further  Details.   D
49               (output)  DOUBLE  PRECISION  array,  dimension (N) The diagonal
50               elements of the tridiagonal matrix T: D(i) = A(i,i).
51
52       E       (output) DOUBLE PRECISION array, dimension (N-1)
53               The off-diagonal elements of the tridiagonal matrix T:  E(i)  =
54               A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
55
56       TAU     (output) COMPLEX*16 array, dimension (N-1)
57               The  scalar  factors  of the elementary reflectors (see Further
58               Details).
59
60       INFO    (output) INTEGER
61               = 0:  successful exit
62               < 0:  if INFO = -i, the i-th argument had an illegal value
63

FURTHER DETAILS

65       If UPLO = 'U', the matrix Q is represented as a product  of  elementary
66       reflectors
67          Q = H(n-1) . . . H(2) H(1).
68       Each H(i) has the form
69          H(i) = I - tau * v * v'
70       where  tau is a complex scalar, and v is a complex vector with v(i+1:n)
71       = 0 and v(i) = 1;  v(1:i-1)  is  stored  on  exit  in  AP,  overwriting
72       A(1:i-1,i+1), and tau is stored in TAU(i).
73       If  UPLO  = 'L', the matrix Q is represented as a product of elementary
74       reflectors
75          Q = H(1) H(2) . . . H(n-1).
76       Each H(i) has the form
77          H(i) = I - tau * v * v'
78       where tau is a complex scalar, and v is a complex vector with v(1:i)  =
79       0  and  v(i+1)  =  1;  v(i+2:n)  is  stored  on exit in AP, overwriting
80       A(i+2:n,i), and tau is stored in TAU(i).
81
82
83
84 LAPACK routine (version 3.2)    November 2008                       ZHPTRD(1)
Impressum