Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?hetrd

Reduces a complex Hermitian matrix to tridiagonal form.

Syntax

call chetrd
(
uplo
,
n
,
a
,
lda
,
d
,
e
,
tau
,
work
,
lwork
,
info
)
call zhetrd
(
uplo
,
n
,
a
,
lda
,
d
,
e
,
tau
,
work
,
lwork
,
info
)
call hetrd
(
a
,
tau
[
,
uplo
]
[
,
info
]
)
Include Files
  • mkl.fi
    ,
    lapack.f90
Description
The routine reduces a complex Hermitian matrix
A
to symmetric tridiagonal form
T
by a unitary similarity transformation:
A
=
Q*T*Q
H
. The unitary matrix
Q
is not formed explicitly but is represented as a product of
n
-1 elementary reflectors. Routines are provided to work with
Q
in this representation.
(They are described later in this
topic
.)
Input Parameters
uplo
CHARACTER*1
.
Must be
'U'
or
'L'
.
If
uplo
=
'U'
,
a
stores the upper triangular part of
A
.
If
uplo
=
'L'
,
a
stores the lower triangular part of
A
.
n
INTEGER
.
The order of the matrix
A
(
n
0
).
a
,
work
COMPLEX
for
chetrd
DOUBLE COMPLEX
for
zhetrd
.
a
(
lda
,*)
is an array containing either upper or lower triangular part of the matrix
A
, as specified by
uplo
. If
uplo
=
'U'
, the leading
n
-by-
n
upper triangular part of
a
contains the upper triangular part of the matrix
A
, and the strictly lower triangular part of
A
is not referenced. If
uplo
=
'L'
, the leading
n
-by-
n
lower triangular part of
a
contains the lower triangular part of the matrix
A
, and the strictly upper triangular part of
A
is not referenced.
The second dimension of
a
must be at least max(1,
n
).
work
is a workspace array, its dimension
max(1,
lwork
)
.
lda
INTEGER
.
The leading dimension of
a
; at least max(1,
n
).
lwork
INTEGER
.
The size of the
work
array (
lwork
n
).
If
lwork
= -1
, then a workspace query is assumed; the routine only calculates the optimal size of the
work
array, returns this value as the first entry of the
work
array, and no error message related to
lwork
is issued by xerbla.
See
Application Notes
for the suggested value of
lwork
.
Output Parameters
a
On exit,
if
uplo
=
'U'
, the diagonal and first superdiagonal of
A
are overwritten by the corresponding elements of the tridiagonal matrix
T
, and the elements above the first superdiagonal, with the array
tau
, represent the orthogonal matrix
Q
as a product of elementary reflectors;
if
uplo
=
'L'
, the diagonal and first subdiagonal of
A
are overwritten by the corresponding elements of the tridiagonal matrix
T
, and the elements below the first subdiagonal, with the array
tau
, represent the orthogonal matrix
Q
as a product of elementary reflectors.
d
,