lahqr#
Functions
-
void slahqr(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, INT *info)#
SLAHQR is an auxiliary routine called by SHSEQR to update the eigenvalues and Schur decomposition already computed by SHSEQR, by dealing with the Hessenberg submatrix in rows and columns ilo to ihi.
This is a modified version that is (1) more robust against overflow and underflow and (2) adopts the more conservative Ahues & Tisseur stopping criterion (LAWN 122, 1997).
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 row/column of the active submatrix (0-based).
inihiLast row/column of the active submatrix (0-based). It is assumed that H is already upper quasi-triangular in rows and columns 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, H is upper quasi-triangular in rows and columns ilo:ihi.
inldhLeading dimension of H. ldh >= max(1, n).
outwrDouble precision array, dimension (n). Real parts of computed eigenvalues ilo to ihi.
outwiDouble precision array, dimension (n). Imaginary parts of computed eigenvalues ilo to ihi.
inilozFirst row of Z to which transformations must be applied.
inihizLast row of Z to which transformations must be applied.
inoutZDouble precision array, dimension (ldz, n). If wantz is nonzero, on entry Z must contain the current matrix Z of transformations, and on exit Z has been updated; transformations applied only to Z(iloz:ihiz, ilo:ihi).
inldzLeading dimension of Z. ldz >= max(1, n).
outinfo= 0: successful exit
> 0: If info = i (1-based), SLAHQR failed to compute all eigenvalues; elements i:ihi of wr and wi contain those eigenvalues which have been successfully computed.
void slahqr(
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,
INT* info
);
Functions
-
void dlahqr(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, INT *info)#
DLAHQR is an auxiliary routine called by DHSEQR to update the eigenvalues and Schur decomposition already computed by DHSEQR, by dealing with the Hessenberg submatrix in rows and columns ilo to ihi.
This is a modified version that is (1) more robust against overflow and underflow and (2) adopts the more conservative Ahues & Tisseur stopping criterion (LAWN 122, 1997).
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 row/column of the active submatrix (0-based).
inihiLast row/column of the active submatrix (0-based). It is assumed that H is already upper quasi-triangular in rows and columns 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, H is upper quasi-triangular in rows and columns ilo:ihi.
inldhLeading dimension of H. ldh >= max(1, n).
outwrDouble precision array, dimension (n). Real parts of computed eigenvalues ilo to ihi.
outwiDouble precision array, dimension (n). Imaginary parts of computed eigenvalues ilo to ihi.
inilozFirst row of Z to which transformations must be applied.
inihizLast row of Z to which transformations must be applied.
inoutZDouble precision array, dimension (ldz, n). If wantz is nonzero, on entry Z must contain the current matrix Z of transformations, and on exit Z has been updated; transformations applied only to Z(iloz:ihiz, ilo:ihi).
inldzLeading dimension of Z. ldz >= max(1, n).
outinfo= 0: successful exit
> 0: If info = i (1-based), DLAHQR failed to compute all eigenvalues; elements i:ihi of wr and wi contain those eigenvalues which have been successfully computed.
void dlahqr(
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,
INT* info
);
Functions
-
void clahqr(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, INT *info)#
CLAHQR is an auxiliary routine called by CHSEQR to update the eigenvalues and Schur decomposition already computed by CHSEQR, by dealing with the Hessenberg submatrix in rows and columns ilo to ihi.
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 row/column of the active submatrix (0-based).
inihiLast row/column of the active submatrix (0-based).
inoutHComplex array, dimension (ldh, n). On entry, the upper Hessenberg matrix H. On exit, if info == 0 and wantt is nonzero, H is upper triangular in rows and columns ilo:ihi.
inldhLeading dimension of H. ldh >= max(1, n).
outWComplex array, dimension (n). The computed eigenvalues ilo to ihi.
inilozFirst row of Z to which transformations must be applied.
inihizLast row of Z to which transformations must be applied.
inoutZComplex array, dimension (ldz, n).
inldzLeading dimension of Z. ldz >= max(1, n).
outinfo= 0: successful exit > 0: if info = i (1-based), CLAHQR failed to compute all eigenvalues.
void clahqr(
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,
INT* info
);
Functions
-
void zlahqr(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, INT *info)#
ZLAHQR is an auxiliary routine called by ZHSEQR to update the eigenvalues and Schur decomposition already computed by ZHSEQR, by dealing with the Hessenberg submatrix in rows and columns ilo to ihi.
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 row/column of the active submatrix (0-based).
inihiLast row/column of the active submatrix (0-based).
inoutHComplex array, dimension (ldh, n). On entry, the upper Hessenberg matrix H. On exit, if info == 0 and wantt is nonzero, H is upper triangular in rows and columns ilo:ihi.
inldhLeading dimension of H. ldh >= max(1, n).
outWComplex array, dimension (n). The computed eigenvalues ilo to ihi.
inilozFirst row of Z to which transformations must be applied.
inihizLast row of Z to which transformations must be applied.
inoutZComplex array, dimension (ldz, n).
inldzLeading dimension of Z. ldz >= max(1, n).
outinfo= 0: successful exit > 0: if info = i (1-based), ZLAHQR failed to compute all eigenvalues.
void zlahqr(
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,
INT* info
);