/home/abui...drvhe_aa.f(3)
πΈ /home/abui...drvhe_aa.f(3) β from the LAPACK Library Functions Manual, bestie π
Okay so grab a strawberry drink π and sit down, because this one's a deep cut. This is a page in the Library Functions Manual, and it's all about one teeny-tiny-but-iconic test driver. Yes, it's giving "why is there a whole manpage for one subroutine" and yes, we're reading it anyway. Main character energy only. β¨
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/cdrvhe_aa.f
That's it. That's the name. It's a whole absolute path, no cap β that's literally the file this page documents, straight out of the LAPACK 3.12.0 build tree under TESTING/LIN. Path girlies rise π«Ά
π¦ SYNOPSIS π¦
Functions/Subroutines
Uh, there's exactly one, and she's the star of the show:
subroutine CDRVHE_AA (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a,
afac, ainv, b, x, xact, work, rwork, iwork, nout)
CDRVHE_AA
Like. That's the whole synopsis. She's a fortran subroutine, she takes seventeen arguments, and she's not sorry about it. π
π Function/Subroutine Documentation π
subroutine CDRVHE_AA
Here's the full signature with every single type and dimension, exactly as written β do not come for me, I'm not shortening anything:
subroutine CDRVHE_AA (logical, dimension( * ) dotype, integer nn, integer,
dimension( * ) nval, integer nrhs, real thresh, logical tsterr, integer
nmax, complex, dimension( * ) a, complex, dimension( * ) afac, complex,
dimension( * ) ainv, complex, dimension( * ) b, complex, dimension( * )
x, complex, dimension( * ) xact, complex, dimension( * ) work, real,
dimension( * ) rwork, integer, dimension( * ) iwork, integer nout)
CDRVHE_AA
π Purpose: π
!>
!> CDRVHE_AA tests the driver routine CHESV_AA.
!>
That's the whole purpose, periodt. She exists to test the driver routine CHESV_AA. One job. Iconic behavior honestly.
π Parameters π
Bestie, there are seventeen of these, so buckle up. Every single one, coming right up π
DOTYPEβ!> DOTYPE is LOGICAL array, dimension (NTYPES)β and the tea is: the matrix types to be used for testing. Matrices of type j (for1 <= j <= NTYPES) get tested ifDOTYPE(j) = .TRUE.; ifDOTYPE(j) = .FALSE., then type j is not used. So basically it's the guest list and you decide who gets in πNNβ!> NN is INTEGERβ the number of values ofNcontained in the vectorNVAL. It's the count of how many N's we're doing.NVALβ!> NVAL is INTEGER array, dimension (NN)β the actual values of the matrix dimensionN. The whole lineup. πNRHSβ!> NRHS is INTEGERβ the number of right hand side vectors to be generated for each linear system. Multiple RHS, because why have one when you can have many. π₯THRESHβ!> THRESH is REALβ the threshold value for the test ratios. A result gets included in the output file ifRESULT >= THRESH. And listen: to have every test ratio printed, useTHRESH = 0. Zero is your friend here.TSTERRβ!> TSTERR is LOGICALβ flag that indicates whether error exits are to be tested. Yes: error exits have their own little test suite. She's thorough. π§NMAXβ!> NMAX is INTEGERβ the maximum value permitted forN, used in dimensioning the work arrays. The ceiling, the limit, the "don't go past this" gate.Aβ!> A is COMPLEX array, dimension (NMAX*NMAX)β the matrix herself. πAFACβ!> AFAC is COMPLEX array, dimension (NMAX*NMAX)β the factored version. Same size, different era.AINVβ!> AINV is COMPLEX array, dimension (NMAX*NMAX)β the inverse. AlsoNMAX*NMAX. Consistency slay.Bβ!> B is COMPLEX array, dimension (NMAX*NRHS)β oh look,NRHSfinally shows up in a dimension. Hi bestie π«ΆXβ!> X is COMPLEX array, dimension (NMAX*NRHS)β the solution array, same shape asB. Twins!XACTβ!> XACT is COMPLEX array, dimension (NMAX*NRHS)β the exact solution, so we can compare. The gold standard, the blueprint, the reference. πWORKβ!> WORK is COMPLEX array, dimension (NMAX*max(2,NRHS))β workspace! Note themax(2,NRHS)because even at minimum she needs two. Never less than 2. Respect.RWORKβ!> RWORK is REAL array, dimension (NMAX+2*NRHS)β the real-valued workspace, note it'sNMAX+2*NRHSand not a product this time. Different formula, different vibe.IWORKβ!> IWORK is INTEGER array, dimension (NMAX)β integer workspace, singleNMAX, plain and simple.NOUTβ!> NOUT is INTEGERβ the unit number for output. Where all the results go to be seen. π€
Every one of those descriptions came wrapped in !> comment markers in the Fortran source β that's just how Doxygen ate them. The text is the text.
π¦ Author π¦
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
A whole squad. Four institutions carrying this file on their backs. Teamwork makes the dream work fr fr. π
Definition at line 150 of file cdrvhe_aa.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. So nobody wrote this page, a robot did, and honestly she ate. π€β¨
One last thing bestie: nothing here is dangerous or deprecated, it's just a test driver being a test driver. But note that THRESH = 0 prints everything, so maybe don't be surprised by a very chatty output file. π
βΏ LAPACK β Version 3.12.0 βΏ
And that's the page! Last line energy: it's the LAPACK Version 3.12.0 footer, dated with the /home/abui...drvhe_aa.f(3) title, all cute and tucked away at the bottom. Bye bestie, go test something π
ππ¦
π¦ 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