spev#
Functions
-
void sspev(const char *jobz, const char *uplo, const INT n, f32 *restrict AP, f32 *restrict W, f32 *restrict Z, const INT ldz, f32 *restrict work, INT *info)#
SSPEV computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage.
Parameters
injobz= ‘N’: Compute eigenvalues only; = ‘V’: Compute eigenvalues and eigenvectors.
inuplo= ‘U’: Upper triangle of A is stored; = ‘L’: Lower triangle of A is stored.
innThe order of the matrix A. n >= 0.
inoutAPDouble precision array, dimension (n*(n+1)/2). On entry, the upper or lower triangle of the symmetric matrix A, packed columnwise. On exit, AP is overwritten by values generated during the reduction to tridiagonal form.
outWDouble precision array, dimension (n). If info = 0, the eigenvalues in ascending order.
outZDouble precision array, dimension (ldz, n). If jobz = ‘V’, then if info = 0, Z contains the orthonormal eigenvectors of the matrix A. If jobz = ‘N’, then Z is not referenced.
inldzThe leading dimension of the array Z. ldz >= 1, and if jobz = ‘V’, ldz >= max(1, n).
outworkDouble precision array, dimension (3*n).
outinfo= 0: successful exit.
< 0: if info = -i, the i-th argument had an illegal value.
> 0: if info = i, the algorithm failed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero.
void sspev(
const char* jobz,
const char* uplo,
const INT n,
f32* restrict AP,
f32* restrict W,
f32* restrict Z,
const INT ldz,
f32* restrict work,
INT* info
);
Functions
-
void dspev(const char *jobz, const char *uplo, const INT n, f64 *restrict AP, f64 *restrict W, f64 *restrict Z, const INT ldz, f64 *restrict work, INT *info)#
DSPEV computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage.
Parameters
injobz= ‘N’: Compute eigenvalues only; = ‘V’: Compute eigenvalues and eigenvectors.
inuplo= ‘U’: Upper triangle of A is stored; = ‘L’: Lower triangle of A is stored.
innThe order of the matrix A. n >= 0.
inoutAPDouble precision array, dimension (n*(n+1)/2). On entry, the upper or lower triangle of the symmetric matrix A, packed columnwise. On exit, AP is overwritten by values generated during the reduction to tridiagonal form.
outWDouble precision array, dimension (n). If info = 0, the eigenvalues in ascending order.
outZDouble precision array, dimension (ldz, n). If jobz = ‘V’, then if info = 0, Z contains the orthonormal eigenvectors of the matrix A. If jobz = ‘N’, then Z is not referenced.
inldzThe leading dimension of the array Z. ldz >= 1, and if jobz = ‘V’, ldz >= max(1, n).
outworkDouble precision array, dimension (3*n).
outinfo= 0: successful exit.
< 0: if info = -i, the i-th argument had an illegal value.
> 0: if info = i, the algorithm failed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero.
void dspev(
const char* jobz,
const char* uplo,
const INT n,
f64* restrict AP,
f64* restrict W,
f64* restrict Z,
const INT ldz,
f64* restrict work,
INT* info
);