TESTING/EIG/cckgsv.f(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

πŸ’… TESTING/EIG/cckgsv.f

okay bestie, so this is a page out of the LAPACK manual β€” specifically the TESTING/EIG corner of the universe β€” and it's literally the docs for cckgsv, a test routine. yes, a routine whose whole personality is testing another routine. iconic behavior honestly πŸŽ€


✨ NAME ✨

TESTING/EIG/cckgsv.f β€” that's the file, that's the name, no notes πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine cckgsv (nm, mval, pval, nval, nmats, iseed, thresh, nmax, a,
    af, b, bf, u, v, q, alpha, beta, r, iwork, work, rwork, nin, nout,
    info)

CCKGSV β€” yes that's the whole vibe, that's the name πŸ”₯


🌸 Function/Subroutine Documentation 🌸

subroutine cckgsv

here's the full signature in all its glory, bestie β€” every single argument, exactly as promised, no cap:

subroutine cckgsv (integer nm, integer, dimension( * ) mval, integer,
    dimension( * ) pval, integer, dimension( * ) nval, integer nmats,
    integer, dimension( 4 ) iseed, real thresh, integer nmax, complex,
    dimension( * ) a, complex, dimension( * ) af, complex, dimension( * ) b,
    complex, dimension( * ) bf, complex, dimension( * ) u, complex,
    dimension( * ) v, complex, dimension( * ) q, real, dimension( * ) alpha,
    real, dimension( * ) beta, complex, dimension( * ) r, integer,
    dimension( * ) iwork, complex, dimension( * ) work, real, dimension( * )
    rwork, integer nin, integer nout, integer info)

CCKGSV πŸ‘‘

Purpose:

CCKGSV tests CGGSVD: the GSVD for M-by-N matrix A and P-by-N matrix B.

that's it, that's the job. it's a vibe check for CGGSVD, fr fr πŸ’€βœ¨


🧚 Parameters 🧚

okay grab a snack, because there are a LOT of these and we're doing every single one πŸ’…

  • NM β€” NM is INTEGER. it's the number of values of M hanging out inside the vector MVAL.
  • MVAL β€” MVAL is INTEGER array, dimension (NM). these are the values of the matrix row dimension M. the M squad 🫢
  • PVAL β€” PVAL is INTEGER array, dimension (NP). the values of the matrix row dimension P. yes, dimension (NP) β€” that's what it says, don't come for me πŸ™ˆ
  • NVAL β€” NVAL is INTEGER array, dimension (NN). the values of the matrix column dimension N. the N crew 🌈
  • NMATS β€” NMATS is INTEGER. the number of matrix types to be tested for each combination of matrix dimensions. and here's the tea: if NMATS >= NTYPES (that's the maximum number of matrix types), then all the different types get generated for testing. if NMATS < NTYPES, another input line is read to get the numbers of the matrix types to be used. so either you go all in or you get a second input line, no in between 😌
  • ISEED β€” ISEED is INTEGER array, dimension (4). on entry, this is the seed of the random number generator. the array elements should be between 0 and 4095 β€” otherwise they get reduced mod 4096 β€” and ISEED(4) must be odd. on exit, it holds the next seed in the random number sequence after all the test matrices have been generated. so it's like the baton being passed in a relay race πŸƒβ€β™€οΈ
  • THRESH β€” THRESH is REAL. the threshold value for the test ratios. a result gets included in the output file if RESULT >= THRESH. want every test ratio printed? then use THRESH = 0. no filter, all vibes πŸ’–
  • NMAX β€” NMAX is INTEGER. the maximum value permitted for M or N, used in dimensioning the work arrays. it's the ceiling, the limit, the moment of truth πŸ“
  • A β€” A is COMPLEX array, dimension (NMAX*NMAX).
  • AF β€” AF is COMPLEX array, dimension (NMAX*NMAX).
  • B β€” B is COMPLEX array, dimension (NMAX*NMAX).
  • BF β€” BF is COMPLEX array, dimension (NMAX*NMAX).
  • U β€” U is COMPLEX array, dimension (NMAX*NMAX).
  • V β€” V is COMPLEX array, dimension (NMAX*NMAX).
  • Q β€” Q is COMPLEX array, dimension (NMAX*NMAX).
  • ALPHA β€” ALPHA is REAL array, dimension (NMAX).
  • BETA β€” BETA is REAL array, dimension (NMAX).
  • R β€” R is COMPLEX array, dimension (NMAX*NMAX).
  • IWORK β€” IWORK is INTEGER array, dimension (NMAX).
  • WORK β€” WORK is COMPLEX array, dimension (NMAX*NMAX).
  • RWORK β€” RWORK is REAL array, dimension (NMAX).
yes bestie, all of those work arrays really are NMAX*NMAX. big energy. huge allocation. we love a spacious workspace 🌸
  • NIN β€” NIN is INTEGER. the unit number for input. that's where the reading happens πŸ“₯
  • NOUT β€” NOUT is INTEGER. the unit number for output. that's where the writing happens πŸ“€
  • INFO β€” INFO is INTEGER. the exit report card:
    • = 0 : successful exit β€” slay ✨
    • > 0 : if CLATMS returns an error code, the absolute value of it is returned. so you get the magnitude, not the sign πŸ’€

πŸ‘‘ Author πŸ‘‘

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

Definition at line 195 of file cckgsv.f. β€” go look, it's right there πŸŽ€


πŸ’œ Author (the other one) πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. not a human, just a robot doing its little tasks πŸ§šβ€β™€οΈ


okay that's the whole page bestie, you ate that 🫢 and for the sign-off: this was LAPACK, Version 3.12.0, dated way down at the bottom of TESTING/EIG/cckgsv.f(3) β€” mwah, go test some matrices πŸ’‹πŸ”₯

πŸ“¦ where this page comes from