?stev
?stev
Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix.
Syntax
lapack_int
LAPACKE_sstev
(
int
matrix_layout
,
char
jobz
,
lapack_int
n
,
float
*
d
,
float
*
e
,
float
*
z
,
lapack_int
ldz
);
lapack_int
LAPACKE_dstev
(
int
matrix_layout
,
char
jobz
,
lapack_int
n
,
double
*
d
,
double
*
e
,
double
*
z
,
lapack_int
ldz
);
Include Files
- mkl.h
Description
The routine computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix
A
.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, then only eigenvalues are computed.jobz='N'If, then eigenvalues and eigenvectors are computed.jobz='V'
- n
- The order of the matrixA().n≥0
- d,e
- Arrays:Arraycontains thedndiagonal elements of the tridiagonal matrixA.The size ofdmust be at least max(1,n).Arraycontains theen-1 subdiagonal elements of the tridiagonal matrixA.The size ofemust be at least max(1,n). Then-th element of this array is used as workspace.
- ldz
- The leading dimension of the output arrayz;. Ifldz≥1thenjobz='V'(1,ldz≥maxn).
Output Parameters
- d
- On exit, if, contains the eigenvalues of the matrixinfo= 0Ain ascending order.
- z
- Array, size(size max(1,.ldz*n))If, then ifjobz='V',info= 0zcontains the orthonormal eigenvectors of the matrixA, with thei-th column ofzholding the eigenvector associated with the eigenvalue returned in.d[i- 1]If, thenjob='N'zis not referenced.
- e
- On exit, this array is overwritten with intermediate results.
Return Values
This function returns a value
info
.If , the execution is successful.
info
=0If , the
info
= -i
i
-th parameter had an illegal value.If , then the algorithm failed to converge;
info
= i
i
elements of e
did not converge to zero.