laqz4#

Functions

void slaqz4(
    const INT           ilschur,
    const INT           ilq,
    const INT           ilz,
    const INT           n,
    const INT           ilo,
    const INT           ihi,
    const INT           nshifts,
    const INT           nblock_desired,
          f32* restrict sr,
          f32* restrict si,
          f32* restrict ss,
          f32* restrict A,
    const INT           lda,
          f32* restrict B,
    const INT           ldb,
          f32* restrict Q,
    const INT           ldq,
          f32* restrict Z,
    const INT           ldz,
          f32* restrict QC,
    const INT           ldqc,
          f32* restrict ZC,
    const INT           ldzc,
          f32* restrict work,
    const INT           lwork,
          INT*          info
);
void slaqz4(const INT ilschur, const INT ilq, const INT ilz, const INT n, const INT ilo, const INT ihi, const INT nshifts, const INT nblock_desired, f32 *restrict sr, f32 *restrict si, f32 *restrict ss, f32 *restrict A, const INT lda, f32 *restrict B, const INT ldb, f32 *restrict Q, const INT ldq, f32 *restrict Z, const INT ldz, f32 *restrict QC, const INT ldqc, f32 *restrict ZC, const INT ldzc, f32 *restrict work, const INT lwork, INT *info)#

SLAQZ4 executes a single multishift QZ sweep.

Parameters

in
ilschur

Determines whether or not to update the full Schur form.

in
ilq

Determines whether or not to update the matrix Q.

in
ilz

Determines whether or not to update the matrix Z.

in
n

The order of the matrices A, B, Q, and Z. n >= 0.

in
ilo

Lower bound of active submatrix (0-based).

in
ihi

Upper bound of active submatrix (0-based).

in
nshifts

The desired number of shifts to use.

in
nblock_desired

The desired size of the computational windows.

inout
sr

Real parts of the shifts to use.

inout
si

Imaginary parts of the shifts to use.

inout
ss

Scale of the shifts to use.

inout
A

Matrix A.

in
lda

Leading dimension of A.

inout
B

Matrix B.

in
ldb

Leading dimension of B.

inout
Q

Matrix Q.

in
ldq

Leading dimension of Q.

inout
Z

Matrix Z.

in
ldz

Leading dimension of Z.

inout
QC

Workspace for accumulated Q transformations.

in
ldqc

Leading dimension of QC.

inout
ZC

Workspace for accumulated Z transformations.

in
ldzc

Leading dimension of ZC.

out
work

Workspace array.

in
lwork

Dimension of workspace. If lwork = -1, workspace query.

out
info

  • = 0: successful exit, < 0: illegal argument.

Functions

void dlaqz4(
    const INT           ilschur,
    const INT           ilq,
    const INT           ilz,
    const INT           n,
    const INT           ilo,
    const INT           ihi,
    const INT           nshifts,
    const INT           nblock_desired,
          f64* restrict sr,
          f64* restrict si,
          f64* restrict ss,
          f64* restrict A,
    const INT           lda,
          f64* restrict B,
    const INT           ldb,
          f64* restrict Q,
    const INT           ldq,
          f64* restrict Z,
    const INT           ldz,
          f64* restrict QC,
    const INT           ldqc,
          f64* restrict ZC,
    const INT           ldzc,
          f64* restrict work,
    const INT           lwork,
          INT*          info
);
void dlaqz4(const INT ilschur, const INT ilq, const INT ilz, const INT n, const INT ilo, const INT ihi, const INT nshifts, const INT nblock_desired, f64 *restrict sr, f64 *restrict si, f64 *restrict ss, f64 *restrict A, const INT lda, f64 *restrict B, const INT ldb, f64 *restrict Q, const INT ldq, f64 *restrict Z, const INT ldz, f64 *restrict QC, const INT ldqc, f64 *restrict ZC, const INT ldzc, f64 *restrict work, const INT lwork, INT *info)#

DLAQZ4 executes a single multishift QZ sweep.

Parameters

in
ilschur

Determines whether or not to update the full Schur form.

in
ilq

Determines whether or not to update the matrix Q.

in
ilz

Determines whether or not to update the matrix Z.

in
n

The order of the matrices A, B, Q, and Z. n >= 0.

in
ilo

Lower bound of active submatrix (0-based).

in
ihi

Upper bound of active submatrix (0-based).

in
nshifts

The desired number of shifts to use.

in
nblock_desired

The desired size of the computational windows.

inout
sr

Real parts of the shifts to use.

inout
si

Imaginary parts of the shifts to use.

inout
ss

Scale of the shifts to use.

inout
A

Matrix A.

in
lda

Leading dimension of A.

inout
B

Matrix B.

in
ldb

Leading dimension of B.

inout
Q

Matrix Q.

in
ldq

Leading dimension of Q.

inout
Z

Matrix Z.

in
ldz

Leading dimension of Z.

inout
QC

Workspace for accumulated Q transformations.

in
ldqc

Leading dimension of QC.

inout
ZC

Workspace for accumulated Z transformations.

in
ldzc

Leading dimension of ZC.

out
work

Workspace array.

in
lwork

Dimension of workspace. If lwork = -1, workspace query.

out
info

  • = 0: successful exit, < 0: illegal argument.