Developer Reference

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

?sytd2/?hetd2

Reduces a symmetric/Hermitian matrix to real symmetric tridiagonal form by an orthogonal/unitary similarity transformation(unblocked algorithm).

Syntax

call ssytd2
(
uplo
,
n
,
a
,
lda
,
d
,
e
,
tau
,
info
)
call dsytd2
(
uplo
,
n
,
a
,
lda
,
d
,
e
,
tau
,
info
)
call chetd2
(
uplo
,
n
,
a
,
lda
,
d
,
e
,
tau
,
info
)
call zhetd2
(
uplo
,
n
,
a
,
lda
,
d
,
e
,
tau
,
info
)
Include Files
  • mkl.fi
Description
The routine
?sytd2
/
?hetd2
reduces a real symmetric/complex Hermitian matrix
A
to real symmetric tridiagonal form
T
by an orthogonal/unitary similarity transformation:
Q
T
*
A
*
Q
=
T
(
Q
H
*
A
*
Q
=
T
).
Input Parameters
uplo
CHARACTER*1
.
Specifies whether the upper or lower triangular part of the symmetric/Hermitian matrix
A
is stored:
=
'U'
: upper triangular
=
'L'
: lower triangular
n
INTEGER
. The order of the matrix
A
.
n
0
.
a
REAL
for
ssytd2
DOUBLE PRECISION
for
dsytd2
COMPLEX
for
chetd2
DOUBLE COMPLEX
for
zhetd2
.
Array,
DIMENSION
(
lda
,
n
).
On entry, the symmetric/Hermitian matrix
A
.
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.
lda
INTEGER
. The leading dimension of the array
a
.
lda
max(1,
n
)
.
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/unitary 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/unitary matrix
Q
as a product of elementary reflectors.
d
REAL
for
ssytd2
/
chetd2
DOUBLE PRECISION
for
dsytd2
/
zhetd2
.
Array,
DIMENSION
(
n
).
The diagonal elements of the tridiagonal matrix
T
:
d
(
i
) =
a
(
i
,
i
)
.
e
REAL
for
ssytd2
/
chetd2
DOUBLE PRECISION
for
dsytd2
/
zhetd2
.
Array,
DIMENSION
(
n
-1).
The off-diagonal elements of the tridiagonal matrix
T
:
e
(
i
) =
a
(
i
,
i
+1) if