(S|D|C|Z)STEQR

Single, double, single complex, and double complex STEQR.

Description

Computes the eigenvalues of a symmetric tridiagonal matrix and optionally the eigenvectors.

Uses the QL or QR method. If COMPZ is V then Z must be set to the orthogonal matrix that reduces the original symmetric matrix to tridiagonal form.

LAPACK Interface

void ssteqr(const char *COMPZ, const qml_long *N, float *D, float *E, float *Z,
    const qml_long *LDZ, float *WORK, qml_long *INFO);

void dsteqr(const char *COMPZ, const qml_long *N, double *D, double *E, double *Z,
    const qml_long *LDZ, double *WORK, qml_long *INFO);

void csteqr(const char *COMPZ, const qml_long *N, float *D, float *E,
    qml_single_complex *Z, const qml_long *LDZ, float *WORK,
    qml_long *INFO);

void zsteqr(const char *COMPZ, const qml_long *N, double *D, double *E,
    qml_double_complex *Z, const qml_long *LDZ, double *WORK,
    qml_long *INFO);

Arguments

COMPZ Computes eigenvalues only (‘N’), eigenvalues and eigenvectors (‘V’), or eigenvectors and eigenvalues of tridiagonal input (‘I’)
N Order of the matrix
D Array of diagonal entries, overwritten with eigenvalues on exit
E Array of subdiagonal entries, overwritten on exit
Z Orthogonal matrix to reduce to tridiagonal form, overwritten with eigenvectors
LDZ Leading dimension of Z
WORK Work space of size at least 2N-2
INFO 0 on success, <0 for illegal arguments, >0 on failure to converge