hbev_2stage#
Functions
-
void chbev_2stage(const char *jobz, const char *uplo, const INT n, const INT kd, c64 *restrict AB, const INT ldab, f32 *restrict W, c64 *restrict Z, const INT ldz, c64 *restrict work, const INT lwork, f32 *restrict rwork, INT *info)#
CHBEV_2STAGE computes all the eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix A using the 2stage technique for the reduction to tridiagonal.
Parameters
injobz= ‘N’: eigenvalues only; = ‘V’: not available in this release.
inuplo= ‘U’: upper triangle stored; = ‘L’: lower triangle stored.
innThe order of the matrix A. n >= 0.
inkdNumber of super/sub-diagonals. kd >= 0.
inoutABComplex*16 array, dimension (ldab, n). Band matrix, overwritten on exit.
inldabLeading dimension of AB. ldab >= kd+1.
outWSingle precision array, dimension (n). Eigenvalues in ascending order.
outZComplex*16 array, dimension (ldz, n). Eigenvectors if jobz=’V’; not referenced if jobz=’N’.
inldzLeading dimension of Z. ldz >= 1, or ldz >= n if jobz=’V’.
outworkComplex*16 workspace. On exit, work[0] = optimal LWORK.
inlworkLength of work. If -1, workspace query.
outrworkSingle precision array, dimension (max(1, 3*n-2)).
outinfo= 0: success; < 0: illegal argument; > 0: convergence failure.
void chbev_2stage(
const char* jobz,
const char* uplo,
const INT n,
const INT kd,
c64* restrict AB,
const INT ldab,
f32* restrict W,
c64* restrict Z,
const INT ldz,
c64* restrict work,
const INT lwork,
f32* restrict rwork,
INT* info
);
Functions
-
void zhbev_2stage(const char *jobz, const char *uplo, const INT n, const INT kd, c128 *restrict AB, const INT ldab, f64 *restrict W, c128 *restrict Z, const INT ldz, c128 *restrict work, const INT lwork, f64 *restrict rwork, INT *info)#
ZHBEV_2STAGE computes all the eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix A using the 2stage technique for the reduction to tridiagonal.
Parameters
injobz= ‘N’: eigenvalues only; = ‘V’: not available in this release.
inuplo= ‘U’: upper triangle stored; = ‘L’: lower triangle stored.
innThe order of the matrix A. n >= 0.
inkdNumber of super/sub-diagonals. kd >= 0.
inoutABComplex*16 array, dimension (ldab, n). Band matrix, overwritten on exit.
inldabLeading dimension of AB. ldab >= kd+1.
outWDouble precision array, dimension (n). Eigenvalues in ascending order.
outZComplex*16 array, dimension (ldz, n). Eigenvectors if jobz=’V’; not referenced if jobz=’N’.
inldzLeading dimension of Z. ldz >= 1, or ldz >= n if jobz=’V’.
outworkComplex*16 workspace. On exit, work[0] = optimal LWORK.
inlworkLength of work. If -1, workspace query.
outrworkDouble precision array, dimension (max(1, 3*n-2)).
outinfo= 0: success; < 0: illegal argument; > 0: convergence failure.
void zhbev_2stage(
const char* jobz,
const char* uplo,
const INT n,
const INT kd,
c128* restrict AB,
const INT ldab,
f64* restrict W,
c128* restrict Z,
const INT ldz,
c128* restrict work,
const INT lwork,
f64* restrict rwork,
INT* info
);