## Developer Reference

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

# ?stevd

Computes all eigenvalues and, optionally, all eigenvectors of a real symmetric tridiagonal matrix using divide and conquer algorithm.

## Syntax

Include Files
• mkl.fi
,
lapack.f90
Description
The routine computes all the eigenvalues, and optionally all the eigenvectors, of a real symmetric tridiagonal matrix
T
. In other words, the routine can compute the spectral factorization of
T
as:
T
=
Z
*
Λ
*
Z
T
.
Here
Λ
is a diagonal matrix whose diagonal elements are the eigenvalues
λ
i
, and
Z
is the orthogonal matrix whose columns are the eigenvectors
z
i
. Thus,
T
*
z
i
=
λ
i
*
z
i
for
i
= 1, 2, ...,
n
.
If the eigenvectors are requested, then this routine uses a divide and conquer algorithm to compute eigenvalues and eigenvectors. However, if only eigenvalues are required, then it uses the Pal-Walker-Kahan variant of the
QL
or
QR
algorithm.
There is no complex analogue of this routine.
Input Parameters
jobz
CHARACTER*1
.
Must be
'N'
or
'V'
.
If
jobz
=
'N'
, then only eigenvalues are computed.
If
jobz
=
'V'
, then eigenvalues and eigenvectors are computed.
n
INTEGER
.
The order of the matrix
T
(
n
0
).
d
,
e
,
work
REAL
for
sstevd
DOUBLE PRECISION
for
dstevd
.
Arrays:
d
(*)
contains the
n
diagonal elements of the tridiagonal matrix
T
.
The dimension of
d
must be at least max(1,
n
).
e
(*)
contains the
n
-1 off-diagonal elements of
T
.
The dimension of
e
must be at least max(1,
n
). The
n-
th element of this array is used as workspace.
work
(*) is a workspace array.
The dimension of
work
must be at least
lwork
.
ldz
INTEGER
.
The leading dimension of the output array
z
. Constraints: