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

NAME

6       ZHPTRD  -  a  complex  Hermitian matrix A stored in packed form to real
7       symmetric tridiagonal form T by a unitary similarity transformation
8

SYNOPSIS

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

PURPOSE

21       ZHPTRD reduces a complex Hermitian matrix A stored in  packed  form  to
22       real  symmetric  tridiagonal form T by a unitary similarity transforma‐
23       tion: Q**H * A * Q = T.
24
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
68          Q = H(n-1) . . . H(2) H(1).
69
70       Each H(i) has the form
71
72          H(i) = I - tau * v * v'
73
74       where tau is a complex scalar, and v is a complex vector with  v(i+1:n)
75       =  0  and  v(i)  =  1;  v(1:i-1)  is  stored on exit in AP, overwriting
76       A(1:i-1,i+1), and tau is stored in TAU(i).
77
78       If UPLO = 'L', the matrix Q is represented as a product  of  elementary
79       reflectors
80
81          Q = H(1) H(2) . . . H(n-1).
82
83       Each H(i) has the form
84
85          H(i) = I - tau * v * v'
86
87       where  tau is a complex scalar, and v is a complex vector with v(1:i) =
88       0 and v(i+1) = 1;  v(i+2:n)  is  stored  on  exit  in  AP,  overwriting
89       A(i+2:n,i), and tau is stored in TAU(i).
90
91
92
93
94 LAPACK routine (version 3.1)    November 2006                       ZHPTRD(1)
Impressum