Developer Reference

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

?syev

Computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix.

Syntax

call ssyev
(
jobz
,
uplo
,
n
,
a
,
lda
,
w
,
work
,
lwork
,
info
)
call dsyev
(
jobz
,
uplo
,
n
,
a
,
lda
,
w
,
work
,
lwork
,
info
)
call syev
(
a
,
w
[
,
jobz
]
[
,
uplo
]
[
,
info
]
)
Include Files
  • mkl.fi
    ,
    lapack.f90
Description
The routine computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix
A
.
Note that for most cases of real symmetric eigenvalue problems the default choice should be syevr function as its underlying algorithm is faster and uses less workspace.
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.
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
).
a
,
work
REAL
for
ssyev
DOUBLE PRECISION
for
dsyev
a
(
lda
,*)
is an array containing either upper or lower triangular part of the symmetric matrix
A
, as specified by
uplo
.
The second dimension of
a
must be at least max(1,
n
).
work
is a workspace array, its dimension
max(1,
lwork
)
.
lda
INTEGER
.
The leading dimension of the array
a
.
Must be at least max(1,
n
).
lwork
INTEGER
.
The dimension of the array
work
.
Constraint:
lwork
max(1, 3
n
-1)
.
If
lwork
= -1
, then a workspace query is assumed; the routine only calculates the optimal size of the
work
array, returns this value as the first entry of the
work
array, and no error message related to
lwork
is issued by xerbla .
See
Application Notes
for the suggested value of
lwork
.
Output Parameters