laqr5#
Functions
-
void slaqr5(const INT wantt, const INT wantz, const INT kacc22, const INT n, const INT ktop, const INT kbot, const INT nshfts, f32 *sr, f32 *si, f32 *H, const INT ldh, const INT iloz, const INT ihiz, f32 *Z, const INT ldz, f32 *V, const INT ldv, f32 *U, const INT ldu, const INT nv, f32 *WV, const INT ldwv, const INT nh, f32 *WH, const INT ldwh)#
SLAQR5, called by SLAQR0, performs a single small-bulge multi-shift QR sweep.
Parameters
inwanttIf nonzero, the quasi-triangular Schur factor is being computed.
inwantzIf nonzero, the orthogonal Schur factor is being computed.
inkacc22Specifies the computation mode of far-from-diagonal orthogonal updates. = 0: Does not accumulate reflections and does not use matrix-matrix multiply. = 1 or 2: Accumulates reflections and uses matrix-matrix multiply.
innThe order of the Hessenberg matrix H. n >= 0.
inktopFirst row/column of isolated diagonal block (0-based).
inkbotLast row/column of isolated diagonal block (0-based).
innshftsNumber of simultaneous shifts. Must be positive and even.
inoutsrDouble precision array, dimension (nshfts). Real parts of shifts.
inoutsiDouble precision array, dimension (nshfts). Imaginary parts of shifts.
inoutHDouble precision array, dimension (ldh, n). The Hessenberg matrix.
inldhLeading dimension of H. ldh >= max(1, n).
inilozFirst row of Z to which transformations must be applied (0-based).
inihizLast row of Z to which transformations must be applied (0-based).
inoutZDouble precision array, dimension (ldz, n). The orthogonal matrix.
inldzLeading dimension of Z. ldz >= n.
outVDouble precision array, dimension (ldv, nshfts/2).
inldvLeading dimension of V. ldv >= 3.
outUDouble precision array, dimension (ldu, 2*nshfts).
inlduLeading dimension of U. ldu >= 2*nshfts.
innvNumber of rows in WV available for workspace. nv >= 1.
outWVDouble precision array, dimension (ldwv, 2*nshfts).
inldwvLeading dimension of WV. ldwv >= nv.
innhNumber of columns in WH available for workspace. nh >= 1.
outWHDouble precision array, dimension (ldwh, nh).
inldwhLeading dimension of WH. ldwh >= 2*nshfts.
void slaqr5(
const INT wantt,
const INT wantz,
const INT kacc22,
const INT n,
const INT ktop,
const INT kbot,
const INT nshfts,
f32* sr,
f32* si,
f32* H,
const INT ldh,
const INT iloz,
const INT ihiz,
f32* Z,
const INT ldz,
f32* V,
const INT ldv,
f32* U,
const INT ldu,
const INT nv,
f32* WV,
const INT ldwv,
const INT nh,
f32* WH,
const INT ldwh
);
Functions
-
void dlaqr5(const INT wantt, const INT wantz, const INT kacc22, const INT n, const INT ktop, const INT kbot, const INT nshfts, f64 *sr, f64 *si, f64 *H, const INT ldh, const INT iloz, const INT ihiz, f64 *Z, const INT ldz, f64 *V, const INT ldv, f64 *U, const INT ldu, const INT nv, f64 *WV, const INT ldwv, const INT nh, f64 *WH, const INT ldwh)#
DLAQR5, called by DLAQR0, performs a single small-bulge multi-shift QR sweep.
Parameters
inwanttIf nonzero, the quasi-triangular Schur factor is being computed.
inwantzIf nonzero, the orthogonal Schur factor is being computed.
inkacc22Specifies the computation mode of far-from-diagonal orthogonal updates. = 0: Does not accumulate reflections and does not use matrix-matrix multiply. = 1 or 2: Accumulates reflections and uses matrix-matrix multiply.
innThe order of the Hessenberg matrix H. n >= 0.
inktopFirst row/column of isolated diagonal block (0-based).
inkbotLast row/column of isolated diagonal block (0-based).
innshftsNumber of simultaneous shifts. Must be positive and even.
inoutsrDouble precision array, dimension (nshfts). Real parts of shifts.
inoutsiDouble precision array, dimension (nshfts). Imaginary parts of shifts.
inoutHDouble precision array, dimension (ldh, n). The Hessenberg matrix.
inldhLeading dimension of H. ldh >= max(1, n).
inilozFirst row of Z to which transformations must be applied (0-based).
inihizLast row of Z to which transformations must be applied (0-based).
inoutZDouble precision array, dimension (ldz, n). The orthogonal matrix.
inldzLeading dimension of Z. ldz >= n.
outVDouble precision array, dimension (ldv, nshfts/2).
inldvLeading dimension of V. ldv >= 3.
outUDouble precision array, dimension (ldu, 2*nshfts).
inlduLeading dimension of U. ldu >= 2*nshfts.
innvNumber of rows in WV available for workspace. nv >= 1.
outWVDouble precision array, dimension (ldwv, 2*nshfts).
inldwvLeading dimension of WV. ldwv >= nv.
innhNumber of columns in WH available for workspace. nh >= 1.
outWHDouble precision array, dimension (ldwh, nh).
inldwhLeading dimension of WH. ldwh >= 2*nshfts.
void dlaqr5(
const INT wantt,
const INT wantz,
const INT kacc22,
const INT n,
const INT ktop,
const INT kbot,
const INT nshfts,
f64* sr,
f64* si,
f64* H,
const INT ldh,
const INT iloz,
const INT ihiz,
f64* Z,
const INT ldz,
f64* V,
const INT ldv,
f64* U,
const INT ldu,
const INT nv,
f64* WV,
const INT ldwv,
const INT nh,
f64* WH,
const INT ldwh
);
Functions
-
void claqr5(const INT wantt, const INT wantz, const INT kacc22, const INT n, const INT ktop, const INT kbot, const INT nshfts, c64 *S, c64 *H, const INT ldh, const INT iloz, const INT ihiz, c64 *Z, const INT ldz, c64 *V, const INT ldv, c64 *U, const INT ldu, const INT nv, c64 *WV, const INT ldwv, const INT nh, c64 *WH, const INT ldwh)#
CLAQR5, called by CLAQR0, performs a single small-bulge multi-shift QR sweep.
Parameters
inwanttIf nonzero, the triangular Schur factor is being computed.
inwantzIf nonzero, the unitary Schur factor is being computed.
inkacc22Specifies the computation mode of far-from-diagonal unitary updates (0, 1, or 2).
innThe order of the Hessenberg matrix H. n >= 0.
inktopFirst row/column of isolated diagonal block (0-based).
inkbotLast row/column of isolated diagonal block (0-based).
innshftsNumber of simultaneous shifts. Must be positive and even.
inoutSComplex array, dimension (nshfts). The shifts.
inoutHComplex array, dimension (ldh, n). The Hessenberg matrix.
inldhLeading dimension of H. ldh >= max(1, n).
inilozFirst row of Z to which transformations must be applied (0-based).
inihizLast row of Z to which transformations must be applied (0-based).
inoutZComplex array, dimension (ldz, n). The unitary matrix.
inldzLeading dimension of Z. ldz >= n.
outVComplex array, dimension (ldv, nshfts/2).
inldvLeading dimension of V. ldv >= 3.
outUComplex array, dimension (ldu, 2*nshfts).
inlduLeading dimension of U. ldu >= 2*nshfts.
innvNumber of rows in WV available for workspace. nv >= 1.
outWVComplex array, dimension (ldwv, 2*nshfts).
inldwvLeading dimension of WV. ldwv >= nv.
innhNumber of columns in WH available for workspace. nh >= 1.
outWHComplex array, dimension (ldwh, nh).
inldwhLeading dimension of WH. ldwh >= 2*nshfts.
void claqr5(
const INT wantt,
const INT wantz,
const INT kacc22,
const INT n,
const INT ktop,
const INT kbot,
const INT nshfts,
c64* S,
c64* H,
const INT ldh,
const INT iloz,
const INT ihiz,
c64* Z,
const INT ldz,
c64* V,
const INT ldv,
c64* U,
const INT ldu,
const INT nv,
c64* WV,
const INT ldwv,
const INT nh,
c64* WH,
const INT ldwh
);
Functions
-
void zlaqr5(const INT wantt, const INT wantz, const INT kacc22, const INT n, const INT ktop, const INT kbot, const INT nshfts, c128 *S, c128 *H, const INT ldh, const INT iloz, const INT ihiz, c128 *Z, const INT ldz, c128 *V, const INT ldv, c128 *U, const INT ldu, const INT nv, c128 *WV, const INT ldwv, const INT nh, c128 *WH, const INT ldwh)#
ZLAQR5, called by ZLAQR0, performs a single small-bulge multi-shift QR sweep.
Parameters
inwanttIf nonzero, the triangular Schur factor is being computed.
inwantzIf nonzero, the unitary Schur factor is being computed.
inkacc22Specifies the computation mode of far-from-diagonal unitary updates (0, 1, or 2).
innThe order of the Hessenberg matrix H. n >= 0.
inktopFirst row/column of isolated diagonal block (0-based).
inkbotLast row/column of isolated diagonal block (0-based).
innshftsNumber of simultaneous shifts. Must be positive and even.
inoutSComplex array, dimension (nshfts). The shifts.
inoutHComplex array, dimension (ldh, n). The Hessenberg matrix.
inldhLeading dimension of H. ldh >= max(1, n).
inilozFirst row of Z to which transformations must be applied (0-based).
inihizLast row of Z to which transformations must be applied (0-based).
inoutZComplex array, dimension (ldz, n). The unitary matrix.
inldzLeading dimension of Z. ldz >= n.
outVComplex array, dimension (ldv, nshfts/2).
inldvLeading dimension of V. ldv >= 3.
outUComplex array, dimension (ldu, 2*nshfts).
inlduLeading dimension of U. ldu >= 2*nshfts.
innvNumber of rows in WV available for workspace. nv >= 1.
outWVComplex array, dimension (ldwv, 2*nshfts).
inldwvLeading dimension of WV. ldwv >= nv.
innhNumber of columns in WH available for workspace. nh >= 1.
outWHComplex array, dimension (ldwh, nh).
inldwhLeading dimension of WH. ldwh >= 2*nshfts.
void zlaqr5(
const INT wantt,
const INT wantz,
const INT kacc22,
const INT n,
const INT ktop,
const INT kbot,
const INT nshfts,
c128* S,
c128* H,
const INT ldh,
const INT iloz,
const INT ihiz,
c128* Z,
const INT ldz,
c128* V,
const INT ldv,
c128* U,
const INT ldu,
const INT nv,
c128* WV,
const INT ldwv,
const INT nh,
c128* WH,
const INT ldwh
);