laqz4(3)

πŸŽ€ NAME πŸŽ€

laqz4 - laqz4: step in ggev3, gges3

okay so this is the laqz4(3) page from the Library Functions Manual, bestie β€” and it’s all about that laqz4 life in ggev3, gges3. periodt πŸ’…


✨ SYNOPSIS ✨

🌈 Functions 🌈

subroutine dlaqz4 (ilschur, ilq, ilz, n, ilo, ihi, nshifts,
    nblock_desired, sr, si, ss, a, lda, b, ldb, q, ldq, z, ldz, qc,
    ldqc, zc, ldzc, work, lwork, info)
    DLAQZ4
subroutine slaqz4 (ilschur, ilq, ilz, n, ilo, ihi, nshifts,
    nblock_desired, sr, si, ss, a, lda, b, ldb, q, ldq, z, ldz, qc,
    ldqc, zc, ldzc, work, lwork, info)
    SLAQZ4

πŸ’« Detailed Description πŸ’«

The original is lowkey just a heading here β€” no extra prose β€” so I’m not gonna invent lore. Moving on, bestie 🫢


πŸ”₯ Function Documentation πŸ”₯

🧚 subroutine dlaqz4

subroutine dlaqz4 (logical, intent(in) ilschur, logical, intent(in) ilq,
    logical, intent(in) ilz, integer, intent(in) n, integer, intent(in) ilo,
    integer, intent(in) ihi, integer, intent(in) nshifts, integer,
    intent(in) nblock_desired, double precision, dimension( * ),
    intent(inout) sr, double precision, dimension( * ), intent(inout) si,
    double precision, dimension( * ), intent(inout) ss, double precision,
    dimension( lda, * ), intent(inout) a, integer, intent(in) lda, double
    precision, dimension( ldb, * ), intent(inout) b, integer, intent(in)
    ldb, double precision, dimension( ldq, * ), intent(inout) q, integer,
    intent(in) ldq, double precision, dimension( ldz, * ), intent(inout) z,
    integer, intent(in) ldz, double precision, dimension( ldqc, * ),
    intent(inout) qc, integer, intent(in) ldqc, double precision, dimension(
    ldzc, * ), intent(inout) zc, integer, intent(in) ldzc, double precision,
    dimension( * ), intent(inout) work, integer, intent(in) lwork, integer,
    intent(out) info)

DLAQZ4 ✨

🌟 Purpose

DLAQZ4 β€” Executes a single multishift QZ sweep. no cap, that’s the whole vibe πŸ”₯

πŸ’… Parameters

  • ILSCHUR β€” ILSCHUR is LOGICAL. Determines whether or not to update the full Schur form.
  • ILQ β€” ILQ is LOGICAL. Determines whether or not to update the matrix Q.
  • ILZ β€” ILZ is LOGICAL. Determines whether or not to update the matrix Z.
  • N β€” N is INTEGER. The order of the matrices A, B, Q, and Z. N >= 0.
  • ILO β€” ILO is INTEGER. that’s literally all the original gives us here 🫢
  • IHI β€” IHI is INTEGER. same energy, bestie.
  • NSHIFTS β€” NSHIFTS is INTEGER. The desired number of shifts to use.
  • NBLOCK_DESIRED β€” NBLOCK_DESIRED is INTEGER. The desired size of the computational windows.
  • SR β€” SR is DOUBLE PRECISION array. SR contains the real parts of the shifts to use.
  • SI β€” SI is DOUBLE PRECISION array. SI contains the imaginary parts of the shifts to use.
  • SS β€” SS is DOUBLE PRECISION array. SS contains the scale of the shifts to use.
  • A β€” A is DOUBLE PRECISION array, dimension (LDA, N).
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max( 1, N ).
  • B β€” B is DOUBLE PRECISION array, dimension (LDB, N).
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max( 1, N ).
  • Q β€” Q is DOUBLE PRECISION array, dimension (LDQ, N).
  • LDQ β€” LDQ is INTEGER.
  • Z β€” Z is DOUBLE PRECISION array, dimension (LDZ, N).
  • LDZ β€” LDZ is INTEGER.
  • QC β€” QC is DOUBLE PRECISION array, dimension (LDQC, NBLOCK_DESIRED).
  • LDQC β€” LDQC is INTEGER.
  • ZC β€” ZC is DOUBLE PRECISION array, dimension (LDZC, NBLOCK_DESIRED).
  • LDZC β€” LDZ is INTEGER. bestie, the original really says LDZ here, not LDZC β€” I’m preserving it exactly, no silent fix πŸ’€
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)). On exit, if INFO >= 0, WORK(1) returns the optimal LWORK.
  • LWORK β€” LWORK is INTEGER. The dimension of the array WORK. LWORK >= max(1,N).
    • If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

🌸 Author

Thijs Steel, KU Leuven

πŸ¦‹ Date

May 2020

πŸ’œ Definition

Definition at line 209 of file dlaqz4.f.


🧚 subroutine slaqz4

subroutine slaqz4 (logical, intent(in) ilschur, logical, intent(in) ilq,
    logical, intent(in) ilz, integer, intent(in) n, integer, intent(in) ilo,
    integer, intent(in) ihi, integer, intent(in) nshifts, integer,
    intent(in) nblock_desired, real, dimension( * ), intent(inout) sr, real,
    dimension( * ), intent(inout) si, real, dimension( * ), intent(inout)
    ss, real, dimension( lda, * ), intent(inout) a, integer, intent(in) lda,
    real, dimension( ldb, * ), intent(inout) b, integer, intent(in) ldb,
    real, dimension( ldq, * ), intent(inout) q, integer, intent(in) ldq,
    real, dimension( ldz, * ), intent(inout) z, integer, intent(in) ldz,
    real, dimension( ldqc, * ), intent(inout) qc, integer, intent(in) ldqc,
    real, dimension( ldzc, * ), intent(inout) zc, integer, intent(in) ldzc,
    real, dimension( * ), intent(inout) work, integer, intent(in) lwork,
    integer, intent(out) info)

SLAQZ4 ✨

🌟 Purpose

SLAQZ4 β€” Executes a single multishift QZ sweep. iconic behavior, honestly πŸ‘‘

πŸ’… Parameters

  • ILSCHUR β€” ILSCHUR is LOGICAL. Determines whether or not to update the full Schur form.
  • ILQ β€” ILQ is LOGICAL. Determines whether or not to update the matrix Q.
  • ILZ β€” ILZ is LOGICAL. Determines whether or not to update the matrix Z.
  • N β€” N is INTEGER. The order of the matrices A, B, Q, and Z. N >= 0.
  • ILO β€” ILO is INTEGER. short and sweet, no extra lore.
  • IHI β€” IHI is INTEGER. same, bestie.
  • NSHIFTS β€” NSHIFTS is INTEGER. The desired number of shifts to use.
  • NBLOCK_DESIRED β€” NBLOCK_DESIRED is INTEGER. The desired size of the computational windows.
  • SR β€” SR is REAL array. SR contains the real parts of the shifts to use.
  • SI β€” SI is REAL array. SI contains the imaginary parts of the shifts to use.
  • SS β€” SS is REAL array. SS contains the scale of the shifts to use.
  • A β€” A is REAL array, dimension (LDA, N).
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max( 1, N ).
  • B β€” B is REAL array, dimension (LDB, N).
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max( 1, N ).
  • Q β€” Q is REAL array, dimension (LDQ, N).
  • LDQ β€” LDQ is INTEGER.
  • Z β€” Z is REAL array, dimension (LDZ, N).
  • LDZ β€” LDZ is INTEGER.
  • QC β€” QC is REAL array, dimension (LDQC, NBLOCK_DESIRED).
  • LDQC β€” LDQC is INTEGER.
  • ZC β€” ZC is REAL array, dimension (LDZC, NBLOCK_DESIRED).
  • LDZC β€” LDZ is INTEGER. again: the original says LDZ here, not LDZC β€” keeping it exact, iykyk πŸ’€
  • WORK β€” WORK is REAL array, dimension (MAX(1,LWORK)). On exit, if INFO >= 0, WORK(1) returns the optimal LWORK.
  • LWORK β€” LWORK is INTEGER. The dimension of the array WORK. LWORK >= max(1,N).
    • If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

🌸 Author

Thijs Steel, KU Leuven

πŸ¦‹ Date

May 2020

πŸ’œ Definition

Definition at line 210 of file slaqz4.f.


πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code.


later, bestie β€” this is the laqz4(3) page from LAPACK Version 3.12.0, with the function docs dated May 2020, and it was auto-generated by Doxygen from the source code. πŸ’…βœ¨

πŸ“¦ where this page comes from