laqr3#

Functions

void slaqr3(
    const INT  wantt,
    const INT  wantz,
    const INT  n,
    const INT  ktop,
    const INT  kbot,
    const INT  nw,
          f32* H,
    const INT  ldh,
    const INT  iloz,
    const INT  ihiz,
          f32* Z,
    const INT  ldz,
          INT* ns,
          INT* nd,
          f32* sr,
          f32* si,
          f32* V,
    const INT  ldv,
    const INT  nh,
          f32* T,
    const INT  ldt,
    const INT  nv,
          f32* WV,
    const INT  ldwv,
          f32* work,
    const INT  lwork
);
void slaqr3(const INT wantt, const INT wantz, const INT n, const INT ktop, const INT kbot, const INT nw, f32 *H, const INT ldh, const INT iloz, const INT ihiz, f32 *Z, const INT ldz, INT *ns, INT *nd, f32 *sr, f32 *si, f32 *V, const INT ldv, const INT nh, f32 *T, const INT ldt, const INT nv, f32 *WV, const INT ldwv, f32 *work, const INT lwork)#

SLAQR3 accepts as input an upper Hessenberg matrix H and performs an orthogonal similarity transformation designed to detect and deflate fully converged eigenvalues from a trailing principal submatrix (aggressive early deflation).

SLAQR3 is identical to SLAQR2 except that it calls SLAQR4 instead of SLAHQR for larger deflation windows (when JW > NMIN).

Parameters

in
wantt

If nonzero, the Hessenberg matrix H is fully updated.

in
wantz

If nonzero, the orthogonal matrix Z is updated.

in
n

The order of the matrix H. n >= 0.

in
ktop

First row/column of isolated block (0-based).

in
kbot

Last row/column of isolated block (0-based).

in
nw

Deflation window size. 1 <= nw <= (kbot - ktop + 1).

inout
H

Double precision array, dimension (ldh, n).

in
ldh

Leading dimension of H. ldh >= n.

in
iloz

First row of Z to update (0-based).

in
ihiz

Last row of Z to update (0-based).

inout
Z

Double precision array, dimension (ldz, n).

in
ldz

Leading dimension of Z. ldz >= 1.

out
ns

Number of unconverged eigenvalues (shifts).

out
nd

Number of converged (deflated) eigenvalues.

out
sr

Double precision array, dimension (kbot+1). Real parts.

out
si

Double precision array, dimension (kbot+1). Imaginary parts.

out
V

Double precision array, dimension (ldv, nw).

in
ldv

Leading dimension of V. ldv >= nw.

in
nh

Number of columns of T. nh >= nw.

out
T

Double precision array, dimension (ldt, nw).

in
ldt

Leading dimension of T. ldt >= nw.

in
nv

Number of rows of WV. nv >= nw.

out
WV

Double precision array, dimension (ldwv, nw).

in
ldwv

Leading dimension of WV. ldwv >= nv.

out
work

Double precision array, dimension (lwork).

in
lwork

Dimension of work array. lwork >= 2*nw. If lwork = -1, workspace query is assumed.

Functions

void dlaqr3(
    const INT  wantt,
    const INT  wantz,
    const INT  n,
    const INT  ktop,
    const INT  kbot,
    const INT  nw,
          f64* H,
    const INT  ldh,
    const INT  iloz,
    const INT  ihiz,
          f64* Z,
    const INT  ldz,
          INT* ns,
          INT* nd,
          f64* sr,
          f64* si,
          f64* V,
    const INT  ldv,
    const INT  nh,
          f64* T,
    const INT  ldt,
    const INT  nv,
          f64* WV,
    const INT  ldwv,
          f64* work,
    const INT  lwork
);
void dlaqr3(const INT wantt, const INT wantz, const INT n, const INT ktop, const INT kbot, const INT nw, f64 *H, const INT ldh, const INT iloz, const INT ihiz, f64 *Z, const INT ldz, INT *ns, INT *nd, f64 *sr, f64 *si, f64 *V, const INT ldv, const INT nh, f64 *T, const INT ldt, const INT nv, f64 *WV, const INT ldwv, f64 *work, const INT lwork)#

DLAQR3 accepts as input an upper Hessenberg matrix H and performs an orthogonal similarity transformation designed to detect and deflate fully converged eigenvalues from a trailing principal submatrix (aggressive early deflation).

DLAQR3 is identical to DLAQR2 except that it calls DLAQR4 instead of DLAHQR for larger deflation windows (when JW > NMIN).

Parameters

in
wantt

If nonzero, the Hessenberg matrix H is fully updated.

in
wantz

If nonzero, the orthogonal matrix Z is updated.

in
n

The order of the matrix H. n >= 0.

in
ktop

First row/column of isolated block (0-based).

in
kbot

Last row/column of isolated block (0-based).

in
nw

Deflation window size. 1 <= nw <= (kbot - ktop + 1).

inout
H

Double precision array, dimension (ldh, n).

in
ldh

Leading dimension of H. ldh >= n.

in
iloz

First row of Z to update (0-based).

in
ihiz

Last row of Z to update (0-based).

inout
Z

Double precision array, dimension (ldz, n).

in
ldz

Leading dimension of Z. ldz >= 1.

out
ns

Number of unconverged eigenvalues (shifts).

out
nd

Number of converged (deflated) eigenvalues.

out
sr

Double precision array, dimension (kbot+1). Real parts.

out
si

Double precision array, dimension (kbot+1). Imaginary parts.

out
V

Double precision array, dimension (ldv, nw).

in
ldv

Leading dimension of V. ldv >= nw.

in
nh

Number of columns of T. nh >= nw.

out
T

Double precision array, dimension (ldt, nw).

in
ldt

Leading dimension of T. ldt >= nw.

in
nv

Number of rows of WV. nv >= nw.

out
WV

Double precision array, dimension (ldwv, nw).

in
ldwv

Leading dimension of WV. ldwv >= nv.

out
work

Double precision array, dimension (lwork).

in
lwork

Dimension of work array. lwork >= 2*nw. If lwork = -1, workspace query is assumed.

Functions

void claqr3(
    const INT  wantt,
    const INT  wantz,
    const INT  n,
    const INT  ktop,
    const INT  kbot,
    const INT  nw,
          c64* H,
    const INT  ldh,
    const INT  iloz,
    const INT  ihiz,
          c64* Z,
    const INT  ldz,
          INT* ns,
          INT* nd,
          c64* SH,
          c64* V,
    const INT  ldv,
    const INT  nh,
          c64* T,
    const INT  ldt,
    const INT  nv,
          c64* WV,
    const INT  ldwv,
          c64* work,
    const INT  lwork
);
void claqr3(const INT wantt, const INT wantz, const INT n, const INT ktop, const INT kbot, const INT nw, c64 *H, const INT ldh, const INT iloz, const INT ihiz, c64 *Z, const INT ldz, INT *ns, INT *nd, c64 *SH, c64 *V, const INT ldv, const INT nh, c64 *T, const INT ldt, const INT nv, c64 *WV, const INT ldwv, c64 *work, const INT lwork)#

CLAQR3 performs the unitary similarity transformation of a Hessenberg matrix to detect and deflate fully converged eigenvalues from a trailing principal submatrix (aggressive early deflation).

CLAQR3 is identical to CLAQR2 except that it calls CLAQR4 instead of CLAHQR for larger deflation windows (when JW > NMIN).

Parameters

in
wantt

If nonzero, the Hessenberg matrix H is fully updated.

in
wantz

If nonzero, the unitary matrix Z is updated.

in
n

The order of the matrix H. n >= 0.

in
ktop

First row/column of isolated block (0-based).

in
kbot

Last row/column of isolated block (0-based).

in
nw

Deflation window size. 1 <= nw <= (kbot - ktop + 1).

inout
H

Complex array, dimension (ldh, n).

in
ldh

Leading dimension of H. ldh >= n.

in
iloz

First row of Z to update (0-based).

in
ihiz

Last row of Z to update (0-based).

inout
Z

Complex array, dimension (ldz, n).

in
ldz

Leading dimension of Z. ldz >= 1.

out
ns

Number of unconverged eigenvalues (shifts).

out
nd

Number of converged (deflated) eigenvalues.

out
SH

Complex array, dimension (kbot+1). Eigenvalues/shifts.

out
V

Complex array, dimension (ldv, nw).

in
ldv

Leading dimension of V. ldv >= nw.

in
nh

Number of columns of T. nh >= nw.

out
T

Complex array, dimension (ldt, nw).

in
ldt

Leading dimension of T. ldt >= nw.

in
nv

Number of rows of WV. nv >= nw.

out
WV

Complex array, dimension (ldwv, nw).

in
ldwv

Leading dimension of WV. ldwv >= nv.

out
work

Complex array, dimension (lwork).

in
lwork

Dimension of work array. lwork >= 2*nw. If lwork = -1, workspace query is assumed.

Functions

void zlaqr3(
    const INT   wantt,
    const INT   wantz,
    const INT   n,
    const INT   ktop,
    const INT   kbot,
    const INT   nw,
          c128* H,
    const INT   ldh,
    const INT   iloz,
    const INT   ihiz,
          c128* Z,
    const INT   ldz,
          INT*  ns,
          INT*  nd,
          c128* SH,
          c128* V,
    const INT   ldv,
    const INT   nh,
          c128* T,
    const INT   ldt,
    const INT   nv,
          c128* WV,
    const INT   ldwv,
          c128* work,
    const INT   lwork
);
void zlaqr3(const INT wantt, const INT wantz, const INT n, const INT ktop, const INT kbot, const INT nw, c128 *H, const INT ldh, const INT iloz, const INT ihiz, c128 *Z, const INT ldz, INT *ns, INT *nd, c128 *SH, c128 *V, const INT ldv, const INT nh, c128 *T, const INT ldt, const INT nv, c128 *WV, const INT ldwv, c128 *work, const INT lwork)#

ZLAQR3 performs the unitary similarity transformation of a Hessenberg matrix to detect and deflate fully converged eigenvalues from a trailing principal submatrix (aggressive early deflation).

ZLAQR3 is identical to ZLAQR2 except that it calls ZLAQR4 instead of ZLAHQR for larger deflation windows (when JW > NMIN).

Parameters

in
wantt

If nonzero, the Hessenberg matrix H is fully updated.

in
wantz

If nonzero, the unitary matrix Z is updated.

in
n

The order of the matrix H. n >= 0.

in
ktop

First row/column of isolated block (0-based).

in
kbot

Last row/column of isolated block (0-based).

in
nw

Deflation window size. 1 <= nw <= (kbot - ktop + 1).

inout
H

Complex array, dimension (ldh, n).

in
ldh

Leading dimension of H. ldh >= n.

in
iloz

First row of Z to update (0-based).

in
ihiz

Last row of Z to update (0-based).

inout
Z

Complex array, dimension (ldz, n).

in
ldz

Leading dimension of Z. ldz >= 1.

out
ns

Number of unconverged eigenvalues (shifts).

out
nd

Number of converged (deflated) eigenvalues.

out
SH

Complex array, dimension (kbot+1). Eigenvalues/shifts.

out
V

Complex array, dimension (ldv, nw).

in
ldv

Leading dimension of V. ldv >= nw.

in
nh

Number of columns of T. nh >= nw.

out
T

Complex array, dimension (ldt, nw).

in
ldt

Leading dimension of T. ldt >= nw.

in
nv

Number of rows of WV. nv >= nw.

out
WV

Complex array, dimension (ldwv, nw).

in
ldwv

Leading dimension of WV. ldwv >= nv.

out
work

Complex array, dimension (lwork).

in
lwork

Dimension of work array. lwork >= 2*nw. If lwork = -1, workspace query is assumed.