?stedc
?stedc
Computes all eigenvalues and eigenvectors of a symmetric tridiagonal matrix using the divide and conquer method.
Syntax
lapack_int LAPACKE_sstedc
(
int
matrix_layout
,
char
compz
,
lapack_int
n
,
float*
d
,
float*
e
,
float*
z
,
lapack_int
ldz
);
lapack_int LAPACKE_dstedc
(
int
matrix_layout
,
char
compz
,
lapack_int
n
,
double*
d
,
double*
e
,
double*
z
,
lapack_int
ldz
);
lapack_int LAPACKE_cstedc
(
int
matrix_layout
,
char
compz
,
lapack_int
n
,
float*
d
,
float*
e
,
lapack_complex_float*
z
,
lapack_int
ldz
);
lapack_int LAPACKE_zstedc
(
int
matrix_layout
,
char
compz
,
lapack_int
n
,
double*
d
,
double*
e
,
lapack_complex_double*
z
,
lapack_int
ldz
);
Include Files
- mkl.h
Description
The routine computes all the eigenvalues and (optionally) all the eigenvectors of a symmetric tridiagonal matrix using the divide and conquer method. The eigenvectors of a full or band real symmetric or complex Hermitian matrix can also be found if sytrd/hetrd or sptrd/hptrd or sbtrd/hbtrd has been used to reduce this matrix to tridiagonal form.
Input Parameters
- matrix_layout
- Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- compz
- Must be'N'or'I'or'V'.If, the routine computes eigenvalues only.compz='N'If, the routine computes the eigenvalues and eigenvectors of the tridiagonal matrix.compz='I'If, the routine computes the eigenvalues and eigenvectors of original symmetric/Hermitian matrix. On entry, the arraycompz='V'zmust contain the orthogonal/unitary matrix used to reduce the original matrix to tridiagonal form.
- n
- The order of the symmetric tridiagonal matrix (n≥0).
- d,e
- Arrays:dcontains the diagonal elements of the tridiagonal matrix.The dimension ofdmust be at least max(1,n).econtains the subdiagonal elements of the tridiagonal matrix.The dimension ofemust be at least max(1,n-1).
- z
- Arrayzis of size max(1,ldz*n).If, then, on entry,compz='V'zmust contain the orthogonal/unitary matrix used to reduce the original matrix to tridiagonal form.
- ldz
- The leading dimension ofz. Constraints:ldz≥1 if;compz='N'ldz≥max(1,n) iforcompz='V''I'.
Output Parameters
- d
- Theneigenvalues in ascending order, unless.info≠0See alsoinfo.
- e
- On exit, the array is overwritten; seeinfo.
- z
- If, then ifinfo= 0,compz='V'zcontains the orthonormal eigenvectors of the original symmetric/Hermitian matrix, and if,compz='I'zcontains the orthonormal eigenvectors of the symmetric tridiagonal matrix. If,compz='N'zis not referenced.
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 , the algorithm failed to compute an eigenvalue while working on the submatrix lying in rows and columns
info
= i
i
/(n
+1) through mod(i
, n
+1).