Contents

# ?sbevd

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

## Syntax

Include Files
• mkl.h
Description
The routine computes all the eigenvalues, and optionally all the eigenvectors, of a real symmetric band matrix
A
. In other words, it can compute the spectral factorization of
A
as:
A
=
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,
A
*
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.
Input Parameters
matrix_layout
Specifies whether matrix storage layout is row major (
LAPACK_ROW_MAJOR
) or column major (
LAPACK_COL_MAJOR
).
jobz
Must be
'N'
or
'V'
.
If
jobz
=
'N'
, then only eigenvalues are computed.
If
jobz
=
'V'
, then eigenvalues and eigenvectors are computed.
uplo
Must be
'U'
or
'L'
.
If
uplo
=
'U'
,
ab
stores the upper triangular part of
A
.
If
uplo
=
'L'
,
ab
stores the lower triangular part of
A
.
n
The order of the matrix
A
(
n
0
).
kd
The number of super- or sub-diagonals in
A
(
kd
0
).
ab
ab
(size at least max(1,
ldab
*
n
) for column major layout and at least max(1,
ldab
*(
kd
+ 1)) for row major layout)
is an array containing either upper or lower triangular part of the symmetric matrix
A
(as specified by
uplo
) in band storage format.
ldab
ab
; must be at least
kd
+1
for column major layout and
n
for row major layout
.
ldz
The leading dimension of the output array
z
.
Constraints:
if
jobz
=
'N'
, then
ldz
1
;
if
jobz
=
'V'
, then
ldz
max(1,
n
) .
Output Parameters
w
,
z
Arrays:
w
, size at least max(1,
n
).
If
info
= 0
, contains the eigenvalues of the matrix
A
info
.
z
(size max(1,
ldz
*
n
if
job
=
'V'
and at least 1 if
job
=
'N'
)
.
If
job
=
'V'
, then this array is overwritten by the orthogonal matrix
Z
which contains the eigenvectors of
A
. The
i-
th column of
Z
contains the eigenvector which corresponds to the eigenvalue
w
[
i
- 1]
.
If
job
=
'N'
, then
z
is not referenced.
ab
On exit, this array is overwritten by the values generated during the reduction to tridiagonal form.
Return Values
This function returns a value
info
.
If
info
=0
, the execution is successful.
If
info
=
i
, then the algorithm failed to converge;
i
indicates the number of elements of an intermediate tridiagonal form which did not converge to zero.
If
info
=
-i
, the
i
-th parameter had an illegal value.
Application Notes
The computed eigenvalues and eigenvectors are exact for a matrix
A
+
E
such that
||
E
||
2
=
O
(
ε
)*||
A
||
2
, where
ε
is the machine precision.
The complex analogue of this routine is hbevd.
See also syevd for matrices held in full storage, and spevd for matrices held in packed storage.

#### Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.