?sbgv
?sbgv
Computes all eigenvalues and, optionally, eigenvectors of a real generalized symmetric definite eigenproblem with banded matrices.
Syntax
lapack_int
LAPACKE_ssbgv
(
int
matrix_layout
,
char
jobz
,
char
uplo
,
lapack_int
n
,
lapack_int
ka
,
lapack_int
kb
,
float
*
ab
,
lapack_int
ldab
,
float
*
bb
,
lapack_int
ldbb
,
float
*
w
,
float
*
z
,
lapack_int
ldz
);
lapack_int
LAPACKE_dsbgv
(
int
matrix_layout
,
char
jobz
,
char
uplo
,
lapack_int
n
,
lapack_int
ka
,
lapack_int
kb
,
double
*
ab
,
lapack_int
ldab
,
double
*
bb
,
lapack_int
ldbb
,
double
*
w
,
double
*
z
,
lapack_int
ldz
);
Include Files
- mkl.h
Description
The routine computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite banded eigenproblem, of the form . Here
A
*x
= λ
*B
*x
A
and B
are assumed to be symmetric and banded, and B
is also positive definite. 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 compute eigenvalues only.jobz='N'If, then compute eigenvalues and eigenvectors.jobz='V'
- uplo
- Must be'U'or'L'.If, arraysuplo='U'abandbbstore the upper triangles ofAandB;If, arraysuplo='L'abandbbstore the lower triangles ofAandB.
- n
- The order of the matricesAandB().n≥0
- ka
- The number of super- or sub-diagonals inA().ka≥0
- kb
- The number of super- or sub-diagonals inB(kb≥0).
- ab,bb
- Arrays:ab(size at least max(1,is an array containing either upper or lower triangular part of the symmetric matrixldab*n) for column major layout and max(1,ldab*(ka+ 1)) for row major layout)A(as specified byuplo) in band storage format.bb(size at least max(1,is an array containing either upper or lower triangular part of the symmetric matrixldbb*n) for column major layout and max(1,ldbb*(kb+ 1)) for row major layout)B(as specified byuplo) in band storage format.
- ldab
- The leading dimension of the arrayab; must be at leastka+1for column major layout and at least max(1,.n) for row major layout
- ldbb
- The leading dimension of the arraybb; must be at leastkb+1for column major layout and at least max(1,.n) for row major layout
- ldz
- The leading dimension of the output arrayz;. Ifldz≥1,jobz='V'.ldz≥max(1,n)
Output Parameters
- ab
- On exit, the contents ofabare overwritten.
- bb
- w,z
- Arrays:w, size at least max(1,n).If, contains the eigenvalues in ascending order.info= 0z(size at least max(1,.ldz*n))If, then ifjobz='V',info= 0zcontains the matrixZof eigenvectors, with thei-th column ofzholding the eigenvector associated withw(i). The eigenvectors are normalized so that.ZT*B*Z= IIf, thenjobz='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 , and
info
> 0if , the algorithm failed to converge, and
i
≤
n
i
off-diagonal elements of an intermediate tridiagonal did not converge to zero;