/home/abui...drvhe_aa.f(3)

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

🌸 /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 (for 1 <= j <= NTYPES) get tested if DOTYPE(j) = .TRUE.; if DOTYPE(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 of N contained in the vector NVAL. 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 dimension N. 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 if RESULT >= THRESH. And listen: to have every test ratio printed, use THRESH = 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 for N, 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. Also NMAX*NMAX. Consistency slay.
  • B β€” !> B is COMPLEX array, dimension (NMAX*NRHS) β€” oh look, NRHS finally shows up in a dimension. Hi bestie 🫢
  • X β€” !> X is COMPLEX array, dimension (NMAX*NRHS) β€” the solution array, same shape as B. 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 the max(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's NMAX+2*NRHS and not a product this time. Different formula, different vibe.
  • IWORK β€” !> IWORK is INTEGER array, dimension (NMAX) β€” integer workspace, single NMAX, 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