ZCHKSP(3)
π
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 theLOGICALarray, dimension(NTYPES). it's literally the matrix selection menu: matrices of typej(for1 <= j <= NTYPES) get tested ifDOTYPE(j) = .TRUE.; ifDOTYPE(j) = .FALSE., then typejis not used. so it's a yes/no list of which flavors of matrix we're doing today. πNNβINTEGER. the number of values ofNcontained in the vectorNVAL. so like, how many N-values we're cycling through.NVALβINTEGERarray, dimension(NN). these are The Values of the matrix dimensionN. the actual sizes. βNNSβINTEGER. the number of values ofNRHScontained in the vectorNSVAL. same deal, but for right-hand sides.NSVALβINTEGERarray, dimension(NNS). the values of the number of right hand sidesNRHS. πTHRESHβDOUBLE PRECISION. the threshold value for the test ratios. a result gets included in the output file ifRESULT >= THRESH. want every test ratio printed? useTHRESH = 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 forN, used in dimensioning the work arrays. the size ceiling, basically.AβCOMPLEX*16array, dimension(NMAX*(NMAX+1)/2). β¨AFACβCOMPLEX*16array, dimension(NMAX*(NMAX+1)/2). β¨AINVβCOMPLEX*16array, 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*16array, dimension(NMAX*NSMAX)whereNSMAXis the largest entry inNSVAL. π¦XβCOMPLEX*16array, dimension(NMAX*NSMAX). π¦XACTβCOMPLEX*16array, dimension(NMAX*NSMAX). π¦WORKβCOMPLEX*16array, dimension(NMAX*max(2,NSMAX)). note themax(2,NSMAX)β at least 2, always. π§RWORKβDOUBLE PRECISIONarray, dimension(NMAX+2*NSMAX). this is the real-valued bestie.IWORKβINTEGERarray, 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:ZCHKSPis the quality-control queen forZSPTRF,-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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms