sbevd_2stage#
Functions
-
void ssbevd_2stage(const char *jobz, const char *uplo, const INT n, const INT kd, f32 *restrict AB, const INT ldab, f32 *restrict W, f32 *restrict Z, const INT ldz, f32 *restrict work, const INT lwork, INT *restrict iwork, const INT liwork, INT *info)#
SSBEVD_2STAGE computes all the eigenvalues and, optionally, eigenvectors of a real symmetric band matrix A using the 2-stage technique for the reduction to tridiagonal.
If eigenvectors are desired, it uses a divide and conquer algorithm.
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.
inoutABBand matrix, overwritten on exit.
inldabLeading dimension of AB. ldab >= kd+1.
outWEigenvalues in ascending order.
outZEigenvectors if jobz=’V’; not referenced if jobz=’N’.
inldzLeading dimension of Z. ldz >= 1, or ldz >= n if jobz=’V’.
outworkWorkspace. On exit, work[0] = optimal LWORK.
inlworkLength of work. If -1, workspace query.
outiworkInteger workspace. On exit, iwork[0] = optimal LIWORK.
inliworkLength of iwork. If -1, workspace query.
outinfo= 0: success; < 0: illegal argument; > 0: convergence failure.
void ssbevd_2stage(
const char* jobz,
const char* uplo,
const INT n,
const INT kd,
f32* restrict AB,
const INT ldab,
f32* restrict W,
f32* restrict Z,
const INT ldz,
f32* restrict work,
const INT lwork,
INT* restrict iwork,
const INT liwork,
INT* info
);
Functions
-
void dsbevd_2stage(const char *jobz, const char *uplo, const INT n, const INT kd, f64 *restrict AB, const INT ldab, f64 *restrict W, f64 *restrict Z, const INT ldz, f64 *restrict work, const INT lwork, INT *restrict iwork, const INT liwork, INT *info)#
DSBEVD_2STAGE computes all the eigenvalues and, optionally, eigenvectors of a real symmetric band matrix A using the 2-stage technique for the reduction to tridiagonal.
If eigenvectors are desired, it uses a divide and conquer algorithm.
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.
inoutABBand matrix, overwritten on exit.
inldabLeading dimension of AB. ldab >= kd+1.
outWEigenvalues in ascending order.
outZEigenvectors if jobz=’V’; not referenced if jobz=’N’.
inldzLeading dimension of Z. ldz >= 1, or ldz >= n if jobz=’V’.
outworkWorkspace. On exit, work[0] = optimal LWORK.
inlworkLength of work. If -1, workspace query.
outiworkInteger workspace. On exit, iwork[0] = optimal LIWORK.
inliworkLength of iwork. If -1, workspace query.
outinfo= 0: success; < 0: illegal argument; > 0: convergence failure.
void dsbevd_2stage(
const char* jobz,
const char* uplo,
const INT n,
const INT kd,
f64* restrict AB,
const INT ldab,
f64* restrict W,
f64* restrict Z,
const INT ldz,
f64* restrict work,
const INT lwork,
INT* restrict iwork,
const INT liwork,
INT* info
);