laqr0#
Functions
-
void slaqr0(const INT wantt, const INT wantz, const INT n, const INT ilo, const INT ihi, f32 *H, const INT ldh, f32 *wr, f32 *wi, const INT iloz, const INT ihiz, f32 *Z, const INT ldz, f32 *work, const INT lwork, INT *info)#
SLAQR0 computes the eigenvalues of a Hessenberg matrix H and, optionally, the matrices T and Z from the Schur decomposition H = Z T Z^T, where T is an upper quasi-triangular matrix (the Schur form), and Z is the orthogonal matrix of Schur vectors.
Optionally Z may be postmultiplied into an input orthogonal matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the orthogonal matrix Q: A = Q*H*Q^T = (QZ)*T*(QZ)^T.
SLAQR0 is identical to SLAQR4 except that it calls SLAQR3 instead of SLAQR2.
Parameters
inwanttIf nonzero, the full Schur form T is required. If zero, only eigenvalues are required.
inwantzIf nonzero, the matrix of Schur vectors Z is required. If zero, Schur vectors are not required.
innThe order of the matrix H. n >= 0.
iniloFirst index of isolated block (0-based).
inihiLast index of isolated block (0-based). It is assumed that H is already upper triangular in rows and columns 0:ilo-1 and ihi+1:n-1.
inoutHDouble precision array, dimension (ldh, n). On entry, the upper Hessenberg matrix H. On exit, if info = 0 and wantt is nonzero, then H contains the upper quasi-triangular matrix T from the Schur decomposition (the Schur form).
inldhLeading dimension of H. ldh >= max(1, n).
outwrDouble precision array, dimension (n). Real parts of the computed eigenvalues.
outwiDouble precision array, dimension (n). Imaginary parts of the computed eigenvalues.
inilozFirst row of Z to update (0-based).
inihizLast row of Z to update (0-based).
inoutZDouble precision array, dimension (ldz, n). If wantz is nonzero, Z is updated with the orthogonal Schur factor.
inldzLeading dimension of Z. ldz >= 1; if wantz, ldz >= ihiz+1.
outworkDouble precision array, dimension (lwork).
inlworkDimension of work array. lwork >= max(1, n). If lwork = -1, workspace query is assumed.
outinfo= 0: successful exit
> 0: if info = i, SLAQR0 failed to compute all of the eigenvalues. Elements ilo:info contain those eigenvalues which have been successfully computed.
void slaqr0(
const INT wantt,
const INT wantz,
const INT n,
const INT ilo,
const INT ihi,
f32* H,
const INT ldh,
f32* wr,
f32* wi,
const INT iloz,
const INT ihiz,
f32* Z,
const INT ldz,
f32* work,
const INT lwork,
INT* info
);
Functions
-
void dlaqr0(const INT wantt, const INT wantz, const INT n, const INT ilo, const INT ihi, f64 *H, const INT ldh, f64 *wr, f64 *wi, const INT iloz, const INT ihiz, f64 *Z, const INT ldz, f64 *work, const INT lwork, INT *info)#
DLAQR0 computes the eigenvalues of a Hessenberg matrix H and, optionally, the matrices T and Z from the Schur decomposition H = Z T Z^T, where T is an upper quasi-triangular matrix (the Schur form), and Z is the orthogonal matrix of Schur vectors.
Optionally Z may be postmultiplied into an input orthogonal matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the orthogonal matrix Q: A = Q*H*Q^T = (QZ)*T*(QZ)^T.
DLAQR0 is identical to DLAQR4 except that it calls DLAQR3 instead of DLAQR2.
Parameters
inwanttIf nonzero, the full Schur form T is required. If zero, only eigenvalues are required.
inwantzIf nonzero, the matrix of Schur vectors Z is required. If zero, Schur vectors are not required.
innThe order of the matrix H. n >= 0.
iniloFirst index of isolated block (0-based).
inihiLast index of isolated block (0-based). It is assumed that H is already upper triangular in rows and columns 0:ilo-1 and ihi+1:n-1.
inoutHDouble precision array, dimension (ldh, n). On entry, the upper Hessenberg matrix H. On exit, if info = 0 and wantt is nonzero, then H contains the upper quasi-triangular matrix T from the Schur decomposition (the Schur form).
inldhLeading dimension of H. ldh >= max(1, n).
outwrDouble precision array, dimension (n). Real parts of the computed eigenvalues.
outwiDouble precision array, dimension (n). Imaginary parts of the computed eigenvalues.
inilozFirst row of Z to update (0-based).
inihizLast row of Z to update (0-based).
inoutZDouble precision array, dimension (ldz, n). If wantz is nonzero, Z is updated with the orthogonal Schur factor.
inldzLeading dimension of Z. ldz >= 1; if wantz, ldz >= ihiz+1.
outworkDouble precision array, dimension (lwork).
inlworkDimension of work array. lwork >= max(1, n). If lwork = -1, workspace query is assumed.
outinfo= 0: successful exit
> 0: if info = i, DLAQR0 failed to compute all of the eigenvalues. Elements ilo:info contain those eigenvalues which have been successfully computed.
void dlaqr0(
const INT wantt,
const INT wantz,
const INT n,
const INT ilo,
const INT ihi,
f64* H,
const INT ldh,
f64* wr,
f64* wi,
const INT iloz,
const INT ihiz,
f64* Z,
const INT ldz,
f64* work,
const INT lwork,
INT* info
);
Functions
-
void claqr0(const INT wantt, const INT wantz, const INT n, const INT ilo, const INT ihi, c64 *H, const INT ldh, c64 *W, const INT iloz, const INT ihiz, c64 *Z, const INT ldz, c64 *work, const INT lwork, INT *info)#
CLAQR0 computes the eigenvalues of a Hessenberg matrix H and, optionally, the matrices T and Z from the Schur decomposition H = Z T Z^H, where T is an upper triangular matrix (the Schur form), and Z is the unitary matrix of Schur vectors.
Optionally Z may be postmultiplied into an input unitary matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the unitary matrix Q: A = Q*H*Q^H = (QZ)*T*(QZ)^H.
CLAQR0 is identical to CLAQR4 except that it calls CLAQR3 instead of CLAQR2.
Parameters
inwanttIf nonzero, the full Schur form T is required.
inwantzIf nonzero, the matrix of Schur vectors Z is required.
innThe order of the matrix H. n >= 0.
iniloFirst index of isolated block (0-based).
inihiLast index of isolated block (0-based).
inoutHComplex array, dimension (ldh, n).
inldhLeading dimension of H. ldh >= max(1, n).
outWComplex array, dimension (n). The computed eigenvalues.
inilozFirst row of Z to update (0-based).
inihizLast row of Z to update (0-based).
inoutZComplex array, dimension (ldz, n).
inldzLeading dimension of Z.
outworkComplex array, dimension (lwork).
inlworkDimension of work array. If lwork = -1, workspace query is assumed.
outinfo= 0: successful exit. > 0: if info = i (1-based), CLAQR0 failed to compute all eigenvalues.
void claqr0(
const INT wantt,
const INT wantz,
const INT n,
const INT ilo,
const INT ihi,
c64* H,
const INT ldh,
c64* W,
const INT iloz,
const INT ihiz,
c64* Z,
const INT ldz,
c64* work,
const INT lwork,
INT* info
);
Functions
-
void zlaqr0(const INT wantt, const INT wantz, const INT n, const INT ilo, const INT ihi, c128 *H, const INT ldh, c128 *W, const INT iloz, const INT ihiz, c128 *Z, const INT ldz, c128 *work, const INT lwork, INT *info)#
ZLAQR0 computes the eigenvalues of a Hessenberg matrix H and, optionally, the matrices T and Z from the Schur decomposition H = Z T Z^H, where T is an upper triangular matrix (the Schur form), and Z is the unitary matrix of Schur vectors.
Optionally Z may be postmultiplied into an input unitary matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the unitary matrix Q: A = Q*H*Q^H = (QZ)*T*(QZ)^H.
ZLAQR0 is identical to ZLAQR4 except that it calls ZLAQR3 instead of ZLAQR2.
Parameters
inwanttIf nonzero, the full Schur form T is required.
inwantzIf nonzero, the matrix of Schur vectors Z is required.
innThe order of the matrix H. n >= 0.
iniloFirst index of isolated block (0-based).
inihiLast index of isolated block (0-based).
inoutHComplex array, dimension (ldh, n).
inldhLeading dimension of H. ldh >= max(1, n).
outWComplex array, dimension (n). The computed eigenvalues.
inilozFirst row of Z to update (0-based).
inihizLast row of Z to update (0-based).
inoutZComplex array, dimension (ldz, n).
inldzLeading dimension of Z.
outworkComplex array, dimension (lwork).
inlworkDimension of work array. If lwork = -1, workspace query is assumed.
outinfo= 0: successful exit. > 0: if info = i (1-based), ZLAQR0 failed to compute all eigenvalues.
void zlaqr0(
const INT wantt,
const INT wantz,
const INT n,
const INT ilo,
const INT ihi,
c128* H,
const INT ldh,
c128* W,
const INT iloz,
const INT ihiz,
c128* Z,
const INT ldz,
c128* work,
const INT lwork,
INT* info
);