?hbev
?hbev
Computes all eigenvalues and, optionally, eigenvectors of a Hermitian band matrix.
Syntax
lapack_int LAPACKE_chbev
(
int
matrix_layout
,
char
jobz
,
char
uplo
,
lapack_int
n
,
lapack_int
kd
,
lapack_complex_float*
ab
,
lapack_int
ldab
,
float*
w
,
lapack_complex_float*
z
,
lapack_int
ldz
);
lapack_int LAPACKE_zhbev
(
int
matrix_layout
,
char
jobz
,
char
uplo
,
lapack_int
n
,
lapack_int
kd
,
lapack_complex_double*
ab
,
lapack_int
ldab
,
double*
w
,
lapack_complex_double*
z
,
lapack_int
ldz
);
Include Files
- mkl.h
Description
The routine computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian band 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'
- uplo
- Must be'U'or'L'.If,uplo='U'abstores the upper triangular part ofA.If,uplo='L'abstores the lower triangular part ofA.
- n
- The order of the matrixA().n≥0
- kd
- The number of super- or sub-diagonals inA().kd≥0
- ab
- ab(size at least max(1,is an array containing either upper or lower triangular part of the Hermitian matrixldab*n) for column major layout and at least max(1,ldab*(kd+ 1)) for row major layout)A(as specified byuplo) in band storage format.
- ldab
- The leading dimension ofab; must be at leastkd+1for column major layout and.nfor row major layout
- ldz
- The leading dimension of the output arrayz.Constraints:if, thenjobz='N';ldz≥1if, thenjobz='V'ldz≥max(1,n) .
Output Parameters
- w
- Array, size at least max(1,n).If, contains the eigenvalues in ascending order.info= 0
- z
- Arrayz(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.w[i- 1]If, thenjobz='N'zis not referenced.
- ab
- On exit, this array is overwritten by the values generated during the reduction to tridiagonal form(see the description of hbtrd).
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
indicates the number of elements of an intermediate tridiagonal form which did not converge to zero.