SRC/dlaqz4.f(3)

๐Ÿ“ฆ
version 3.12.1 ยท 3 versions
, in arch rolling

Bestie, welcome to SRC/dlaqz4.f(3) from the Library Functions Manual โ€” yes, we're doing LAPACK subroutine documentation and we're doing it with glitter. โœจ This page is giving main character energy, no cap. ๐Ÿซถ

๐ŸŒธ NAME ๐ŸŒธ

SRC/dlaqz4.f โ€” that's the name. Short, iconic, and literally all it says. ๐Ÿ’…

๐Ÿ’– SYNOPSIS ๐Ÿ’–

Functions/Subroutines ๐Ÿงš

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 โ€” the subroutine in question, being her usual iconic self. ๐Ÿ‘‘

๐Ÿ’ซ Function/Subroutine Documentation ๐Ÿ’ซ

okay so here's the full signature with all the type/intent tea:

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. That's the purpose, bestie โ€” one sweep, multishift style. ๐Ÿ”ฅ

๐Ÿซถ Parameters ๐Ÿซถ

Every parameter, every intent, every dimension โ€” nobody gets left out:

  • ILSCHUR โ€” logical, intent(in). ILSCHUR is LOGICAL: determines whether or not to update the full Schur form. ๐ŸŽ€
  • ILQ โ€” logical, intent(in). ILQ is LOGICAL: determines whether or not to update the matrix Q. ๐Ÿ’ซ
  • ILZ โ€” logical, intent(in). ILZ is LOGICAL: determines whether or not to update the matrix Z. ๐Ÿฆ‹
  • N โ€” integer, intent(in). N is INTEGER: the order of the matrices A, B, Q, and Z. N >= 0. ๐ŸŒˆ
  • ILO โ€” integer, intent(in). ILO is INTEGER. That's the whole description; she's being mysterious. ๐Ÿ™ˆ
  • IHI โ€” integer, intent(in). IHI is INTEGER. Short and sweet. ๐Ÿ“
  • NSHIFTS โ€” integer, intent(in). NSHIFTS is INTEGER: the desired number of shifts to use. โœจ
  • NBLOCK_DESIRED โ€” integer, intent(in). NBLOCK_DESIRED is INTEGER: the desired size of the computational windows. ๐ŸชŸ
  • SR โ€” double precision, dimension( * ), intent(inout). SR is DOUBLE PRECISION array. SR contains the real parts of the shifts to use. ๐Ÿ’œ
  • SI โ€” double precision, dimension( * ), intent(inout). SI is DOUBLE PRECISION array. SI contains the imaginary parts of the shifts to use. ๐Ÿ’ญ
  • SS โ€” double precision, dimension( * ), intent(inout). SS is DOUBLE PRECISION array. SS contains the scale of the shifts to use. โš–๏ธ
  • A โ€” double precision, dimension( lda, * ), intent(inout). A is DOUBLE PRECISION array, dimension (LDA, N). ๐Ÿงฎ
  • LDA โ€” integer, intent(in). LDA is INTEGER: the leading dimension of the array A. LDA >= max( 1, N ). ๐Ÿ“
  • B โ€” double precision, dimension( ldb, * ), intent(inout). B is DOUBLE PRECISION array, dimension (LDB, N). ๐Ÿงฎ
  • LDB โ€” integer, intent(in). LDB is INTEGER: the leading dimension of the array B. LDB >= max( 1, N ). ๐Ÿ“
  • Q โ€” double precision, dimension( ldq, * ), intent(inout). Q is DOUBLE PRECISION array, dimension (LDQ, N). ๐ŸŒ€
  • LDQ โ€” integer, intent(in). LDQ is INTEGER. That's all she wrote. ๐ŸŽ€
  • Z โ€” double precision, dimension( ldz, * ), intent(inout). Z is DOUBLE PRECISION array, dimension (LDZ, N). ๐ŸŒ™
  • LDZ โ€” integer, intent(in). LDZ is INTEGER. No extra lore. ๐Ÿ’…
  • QC โ€” double precision, dimension( ldqc, * ), intent(inout). QC is DOUBLE PRECISION array, dimension (LDQC, NBLOCK_DESIRED). ๐Ÿงš
  • LDQC โ€” integer, intent(in). LDQC is INTEGER. Yep. ๐Ÿฆ‹
  • ZC โ€” double precision, dimension( ldzc, * ), intent(inout). ZC is DOUBLE PRECISION array, dimension (LDZC, NBLOCK_DESIRED). ๐ŸŒธ
  • LDZC โ€” integer, intent(in). LDZC is INTEGER โ€” and the source description literally says LDZ is INTEGER here, so I'm keeping that exact energy. ๐Ÿ™ˆ
  • WORK โ€” double precision, dimension( * ), intent(inout). WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)). On exit, if INFO >= 0, WORK(1) returns the optimal LWORK. ๐Ÿซง
  • LWORK โ€” integer, intent(in). 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 โ€” integer, intent(out). INFO is INTEGER:
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

๐Ÿ‘‘ Author ๐Ÿ‘‘

Thijs Steel, KU Leuven. Slay. ๐Ÿ’œ

๐Ÿ“… Date ๐Ÿ“…

May 2020. Vintage but still iconic. ๐ŸŽ€

Definition at line 209 of file dlaqz4.f.

๐Ÿ–‹๏ธ Author ๐Ÿ–‹๏ธ

Generated automatically by Doxygen for LAPACK from the source code. ๐Ÿค–โœจ


okay bestie, that's the whole page. This was LAPACK Version 3.12.0, from SRC/dlaqz4.f(3), dated May 2020 โ€” mwah ๐Ÿ’‹โœจ

๐Ÿ“ฆ where this page comes from