Developer Reference

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

?latrd

Reduces the first
nb
rows and columns of a symmetric/Hermitian matrix
A
to real tridiagonal form by an orthogonal/unitary similarity transformation.

Syntax

call slatrd
(
uplo
,
n
,
nb
,
a
,
lda
,
e
,
tau
,
w
,
ldw
)
call dlatrd
(
uplo
,
n
,
nb
,
a
,
lda
,
e
,
tau
,
w
,
ldw
)
call clatrd
(
uplo
,
n
,
nb
,
a
,
lda
,
e
,
tau
,
w
,
ldw
)
call zlatrd
(
uplo
,
n
,
nb
,
a
,
lda
,
e
,
tau
,
w
,
ldw
)
Include Files
  • mkl.fi
Description
The routine
?latrd
reduces
nb
rows and columns of a real symmetric or complex Hermitian matrix
A
to symmetric/Hermitian tridiagonal form by an orthogonal/unitary similarity transformation
Q
T
*
A
*
Q
for real flavors,
Q
H
*
A
*
Q
for complex flavors, and returns the matrices
V
and
W
which are needed to apply the transformation to the unreduced part of
A
.
If
uplo
=
'U'
,
?latrd
reduces the last
nb
rows and columns of a matrix, of which the upper triangle is supplied;
if
uplo
=
'L'
,
?latrd
reduces the first
nb
rows and columns of a matrix, of which the lower triangle is supplied.
This is an auxiliary routine called by
?sytrd
/
?hetrd
.
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
.
nb
INTEGER
. The number of rows and columns to be reduced.
a
REAL
for
slatrd
DOUBLE PRECISION
for
dlatrd
COMPLEX
for
clatrd
DOUBLE COMPLEX
for
zlatrd
.
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
(1,
n
)
.
ldw
INTEGER
.
The leading dimension of the output array
w
.
ldw
max(1,
n
)
.
Output Parameters
a
On exit, if
uplo
=
'U'
, the last
nb
columns have been reduced to tridiagonal form, with the diagonal elements overwriting the diagonal elements of
a
; the elements above the diagonal with the array
tau
, represent the orthogonal/unitary matrix
Q
as a product of elementary reflectors;
if
uplo
=
'L'
, the first
nb
columns have been reduced to tridiagonal form, with the diagonal elements overwriting the diagonal elements of
a
; the elements below the diagonal with the array
tau
, represent the orthogonal/unitary matrix
Q
as a product of elementary reflectors.
e
REAL
for
slatrd
/