ZCKGQR(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… ZCKGQR(3) β€” like, the whole entire manual page, bestie

Okay so real quick before we dive in: this is a page from the Library Functions Manual, and the file it lives in is literally

/home/abui...IG/zckgqr.f(3)

yes the path is truncated with ..., no that's not me being lazy, that's just how it shipped. moving on bestie 🫢


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/TESTING/EIG/zckgqr.f

like yes that's the whole name section, it's a path, it's giving "my address is a novel" energy πŸ’€ it is what it is.


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine ZCKGQR (nm, mval, np, pval, nn, nval, nmats, iseed, thresh,
    nmax, a, af, aq, ar, taua, b, bf, bz, bt, bwk, taub, work, rwork,
    nin, nout, info)

ZCKGQR β€” that's the girl. that's the whole subroutine. icon behavior πŸ‘‘


πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine ZCKGQR (…)

here's the full signature in all its glory, typed out exactly, do not @ me:

subroutine ZCKGQR (integer nm, integer, dimension( * ) mval, integer np,
    integer, dimension( * ) pval, integer nn, integer, dimension( * ) nval,
    integer nmats, integer, dimension( 4 ) iseed, double precision thresh,
    integer nmax, complex*16, dimension( * ) a, complex*16, dimension( * )
    af, complex*16, dimension( * ) aq, complex*16, dimension( * ) ar,
    complex*16, dimension( * ) taua, complex*16, dimension( * ) b,
    complex*16, dimension( * ) bf, complex*16, dimension( * ) bz,
    complex*16, dimension( * ) bt, complex*16, dimension( * ) bwk,
    complex*16, dimension( * ) taub, complex*16, dimension( * ) work, double
    precision, dimension( * ) rwork, integer nin, integer nout, integer
    info)

ZCKGQR πŸ’–


πŸ’« Purpose:

!> !> ZCKGQR tests !> ZGGQRF: GQR factorization for N-by-M matrix A and N-by-P matrix B, !> ZGGRQF: GRQ factorization for M-by-N matrix A and P-by-N matrix B. !>

so like. it tests. that's the vibe check. it's testing ZGGQRF (GQR factorization for an N-by-M matrix A and an N-by-P matrix B) and ZGGRQF (GRQ factorization for an M-by-N matrix A and a P-by-N matrix B). bestie it's a test driver, it's the main character of the testing folder, periodt 🧚


🌈 Parameters

okay this is the long part, hydrate first πŸ’§

  • NM β€” NM is INTEGER. it's the number of values of M contained in the vector MVAL. that's it. that's the whole job.
  • MVAL β€” MVAL is INTEGER array, dimension (NM). these are the values of the matrix row(column) dimension M. the (column) part is there because which one it is depends on the test, iykyk.
  • NP β€” NP is INTEGER. the number of values of P contained in the vector PVAL.
  • PVAL β€” PVAL is INTEGER array, dimension (NP). the values of the matrix row(column) dimension P.
  • NN β€” NN is INTEGER. the number of values of N contained in the vector NVAL.
  • NVAL β€” NVAL is INTEGER array, dimension (NN). the values of the matrix column(row) dimension N.
  • NMATS β€” NMATS is INTEGER. the number of matrix types to be tested for each combination of matrix dimensions. some lore: if NMATS >= NTYPES (the maximum number of matrix types), then all the different types are generated for testing. but if NMATS < NTYPES, another input line is read to get the numbers of the matrix types to be used πŸ‘€ plot twist.
  • ISEED β€” ISEED is INTEGER array, dimension (4). on entry, the seed of the random number generator. the array elements should be between 0 and 4095, otherwise they will be reduced mod 4096, and ISEED(4) must be odd β€” like, mandatory odd, no exceptions 🚨. on exit, it's the next seed in the random number sequence after all the test matrices have been generated.
  • THRESH β€” THRESH is DOUBLE PRECISION. the threshold value for the test ratios. a result is included in the output file if RESULT >= THRESH. want every test ratio printed? use THRESH = 0. no gatekeeping, slay.
  • NMAX β€” NMAX is INTEGER. the maximum value permitted for M or N, used in dimensioning the work arrays. it's the ceiling, literally.
  • A β€” A is COMPLEX*16 array, dimension (NMAX*NMAX).
  • AF β€” AF is COMPLEX*16 array, dimension (NMAX*NMAX).
  • AQ β€” AQ is COMPLEX*16 array, dimension (NMAX*NMAX).
  • AR β€” AR is COMPLEX*16 array, dimension (NMAX*NMAX).
  • TAUA β€” TAUA is COMPLEX*16 array, dimension (NMAX).
  • B β€” B is COMPLEX*16 array, dimension (NMAX*NMAX).
  • BF β€” BF is COMPLEX*16 array, dimension (NMAX*NMAX).
  • BZ β€” BZ is COMPLEX*16 array, dimension (NMAX*NMAX).
  • BT β€” BT is COMPLEX*16 array, dimension (NMAX*NMAX).
  • BWK β€” BWK is COMPLEX*16 array, dimension (NMAX*NMAX).
  • TAUB β€” TAUB is COMPLEX*16 array, dimension (NMAX).
  • WORK β€” WORK is COMPLEX*16 array, dimension (NMAX*NMAX).
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (NMAX).
  • NIN β€” NIN is INTEGER. the unit number for input.
  • NOUT β€” NOUT is INTEGER. the unit number for output.
  • INFO β€” INFO is INTEGER. the receipts:
    • = 0 : successful exit ✨
    • > 0 : if ZLATMS returns an error code, the absolute value of it is returned.

that's all 24 of them, none skipped, we don't do skipping here πŸ’…


πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the whole squad really said "we made this" and honestly? respect 🫢


πŸ“ Definition at line 208 of file zckgqr.f.

yes it starts at line 208. yes that's deep into the file. yes that's on brand.


Author

Generated automatically by Doxygen for LAPACK from the source code.

not me being a whole generated document, living my best auto-generated life πŸ™ˆ Doxygen did that.


πŸ¦‹ Sign-off

so anyway this page is from LAPACK, Version 3.12.0, and it lives at /home/abui...IG/zckgqr.f(3) β€” that's the whole footer, mwah. study it, love it, cite it correctly, and go test those factorizations bestie πŸŒΈπŸ’–βœ¨

πŸ“¦ where this page comes from