Developer Reference

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

?syrdb

Reduces a real symmetric matrix to tridiagonal form with Successive Bandwidth Reduction approach.

Syntax

call ssyrdb
(
jobz
,
uplo
,
n
,
kd
,
a
,
lda
,
d
,
e
,
tau
,
z
,
ldz
,
work
,
lwork
,
info
)
call dsyrdb
(
jobz
,
uplo
,
n
,
kd
,
a
,
lda
,
d
,
e
,
tau
,
z
,
ldz
,
work
,
lwork
,
info
)
Include Files
  • mkl.fi
Description
The routine reduces a real symmetric matrix
A
to symmetric tridiagonal form
T
by an orthogonal similarity transformation:
A
=
Q*T*Q
T
and optionally multiplies matrix
Z
by
Q
, or simply forms
Q
.
This routine reduces a full symmetric matrix
A
to the banded symmetric matrix
B
, and then to the tridiagonal symmetric matrix
T
with a Successive Bandwidth Reduction approach after C. Bischof's works (see for instance, [Bischof00]).
?syrdb
is functionally close to
?sytrd
routine but the tridiagonal form may differ from those obtained by
?sytrd
. Unlike
?sytrd
, the orthogonal matrix
Q
cannot be restored from the details of matrix
A
on exit.
Input Parameters
jobz
CHARACTER*1
.
Must be
'N'
or
'V'
.
If
jobz
=
'N'
, then only
A
is reduced to
T
.
If
jobz
=
'V'
, then
A
is reduced to
T
and
A
contains
Q
on exit.
If
jobz
=
'U'
, then
A
is reduced to
T
and
Z
contains
Z
*
Q
on exit.
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
).
kd
INTEGER
.
The bandwidth of the banded matrix
B
(
kd
1
,
kd
n
-1
).
a
,
z
,
work
REAL
for
ssyrdb
.
DOUBLE PRECISION
for
dsyrdb
.
a
(
lda
,*) is an array containing either upper or lower triangular part of the matrix
A
, as specified by
uplo
.
The second dimension of
a
must be at least
max(1,
n
)
.
z
(
ldz
,*), the second dimension of
z
must be at least
max(1,
n
)
.
If
jobz
=
'U'
, then the matrix
z
is multiplied by
Q
.
If
jobz
=
'N'
or
'V'
, then
z
is not referenced.
work
(
lwork
) is a workspace array.
lda
INTEGER
.
The leading dimension of
a
; at least
max(1,
n
)
.