ZCHKSP(3)

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

πŸ’… ZCHKSP(3) β€” bestie's field guide to zchksp.f(3) πŸŽ€

okay so you opened the zchksp.f(3) manual page, iconic of you honestly. this whole thing lives in LAPACK (it's the zchksp.f file, generated by Doxygen from the source, fr fr) and it's literally the test driver for the complex sparse-ish packed factor routines. buckle up.


✨ NAME ✨

the page's actual "name" is just this whole path, no cap:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zchksp.f

not me finding this in a TESTING/LIN folder πŸ’€ yeah, it's a testing file. that's the vibe.


🌸 SYNOPSIS 🌸

πŸ¦‹ Functions/Subroutines

here's the whole squad:

subroutine ZCHKSP (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax,
    a, afac, ainv, b, x, xact, work, rwork, iwork, nout)

ZCHKSP β€” that's the main character. πŸ‘‘


πŸ”₯ Function/Subroutine Documentation πŸ”₯

πŸ’– subroutine ZCHKSP β€” the full signature πŸ’–

like, here's the whole thing with all the types spelled out, exactly as written:

subroutine ZCHKSP (logical, dimension( * ) dotype, integer nn, integer,
    dimension( * ) nval, integer nns, integer, dimension( * ) nsval, double
    precision thresh, logical tsterr, integer nmax, complex*16, dimension( *
    ) a, complex*16, dimension( * ) afac, complex*16, dimension( * ) ainv,
    complex*16, dimension( * ) b, complex*16, dimension( * ) x, complex*16,
    dimension( * ) xact, complex*16, dimension( * ) work, double precision,
    dimension( * ) rwork, integer, dimension( * ) iwork, integer nout)

ZCHKSP β€” yes it's the same name again, the page is just Like That. πŸ™ˆ


🌈 Purpose 🌈

okay so here's the actual mission statement, quoted so we don't lose a single character:

!>
!> ZCHKSP tests ZSPTRF, -TRI, -TRS, -RFS, and -CON
!>

that's it, that's the purpose bestie. it test-drives ZSPTRF, -TRI, -TRS, -RFS, and -CON and makes sure none of them are out here embarrassing themselves. 🫢


πŸŽ€ Parameters πŸŽ€

every single one, no skipping, i love you but i'm not summarising:

  • DOTYPE β€” this is the LOGICAL array, dimension (NTYPES). it's literally the matrix selection menu: matrices of type j (for 1 <= j <= NTYPES) get tested if DOTYPE(j) = .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used. so it's a yes/no list of which flavors of matrix we're doing today. πŸ“
  • NN β€” INTEGER. the number of values of N contained in the vector NVAL. so like, how many N-values we're cycling through.
  • NVAL β€” INTEGER array, dimension (NN). these are The Values of the matrix dimension N. the actual sizes. ⭐
  • NNS β€” INTEGER. the number of values of NRHS contained in the vector NSVAL. same deal, but for right-hand sides.
  • NSVAL β€” INTEGER array, dimension (NNS). the values of the number of right hand sides NRHS. πŸ’…
  • THRESH β€” DOUBLE PRECISION. the threshold value for the test ratios. a result gets included in the output file if RESULT >= THRESH. want every test ratio printed? use THRESH = 0. that's the cheat code, iykyk. πŸ”₯
  • TSTERR β€” LOGICAL. flag that indicates whether error exits are to be tested. that's the whole personality of this one.
  • NMAX β€” INTEGER. the maximum value permitted for N, used in dimensioning the work arrays. the size ceiling, basically.
  • A β€” COMPLEX*16 array, dimension (NMAX*(NMAX+1)/2). ✨
  • AFAC β€” COMPLEX*16 array, dimension (NMAX*(NMAX+1)/2). ✨
  • AINV β€” COMPLEX*16 array, dimension (NMAX*(NMAX+1)/2). ✨
yes bestie, all three are the exact same dimension. that's not a typo, that's the packed triangular life. πŸ’€
  • B β€” COMPLEX*16 array, dimension (NMAX*NSMAX) where NSMAX is the largest entry in NSVAL. πŸ¦‹
  • X β€” COMPLEX*16 array, dimension (NMAX*NSMAX). πŸ¦‹
  • XACT β€” COMPLEX*16 array, dimension (NMAX*NSMAX). πŸ¦‹
  • WORK β€” COMPLEX*16 array, dimension (NMAX*max(2,NSMAX)). note the max(2,NSMAX) β€” at least 2, always. 🧚
  • RWORK β€” DOUBLE PRECISION array, dimension (NMAX+2*NSMAX). this is the real-valued bestie.
  • IWORK β€” INTEGER array, dimension (NMAX). the integer bestie. πŸ’œ
  • NOUT β€” INTEGER. the unit number for output. where all the test results get printed. πŸ“€

πŸ‘‘ Author πŸ‘‘

absolute legends, all four of them:

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

group project but they actually carried. 🫢


⭐ Definition ⭐

definition at line 161 of file zchksp.f. that's where the real one lives, we're just reading the recap. πŸ’…


🌟 Author (the other one) 🌟

generated automatically by Doxygen for LAPACK from the source code. so technically the robot wrote this page, not a human. respect the automation honestly. πŸ€–βœ¨


lowkey the whole point: ZCHKSP is the quality-control queen for ZSPTRF, -TRI, -TRS, -RFS, and -CON. it does not let anything slide.

LAPACK β€” Version 3.12.0 β€” this whole page is tagged with /home/abui...IN/zchksp.f(3), and that's the cute little sign-off bestie, ily, go read the source now πŸŽ€πŸ’–πŸŒΈ

πŸ“¦ where this page comes from