Contents

# ?heev

Computes all eigenvalues and, optionally, eigenvectors of a Hermitian matrix.

## Syntax

Include Files
• mkl.h
Description
The routine computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix
A
.
Note that for most cases of complex Hermitian eigenvalue problems the default choice should be heevr function as its underlying algorithm is faster and uses less workspace.
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'
,
a
stores the upper triangular part of
A
.
If
uplo
=
'L'
,
a
stores the lower triangular part of
A
.
n
The order of the matrix
A
(
n
0
).
a
a
(size max(1,
lda
*
n
))
is an array containing either upper or lower triangular part of the Hermitian matrix
A
, as specified by
uplo
.
lda
The leading dimension of the array
a
. Must be at least max(1,
n
).
Output Parameters
a
On exit, if
jobz
=
'V'
, then if
info
= 0
, array
a
contains the orthonormal eigenvectors of the matrix
A
.
If
jobz
=
'N'
, then on exit the lower triangle
(if
uplo
=
'L'
) or the upper triangle (if
uplo
=
'U'
) of
A
, including the diagonal, is overwritten.
w
Array, size at least max(1,
n
).
If
info
= 0
, contains the eigenvalues of the matrix
A
in ascending order.
Return Values
This function returns a value
info
.
If
info
=0
, the execution is successful.
If
info
=
-i
, the
i
-th parameter had an illegal value.
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.

#### Product and Performance Information

1

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