DDRVSP(3)

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

πŸ’… DDRVSP πŸ’…

okay so bestie, buckle up β€” this is the manual page for /home/abui...IN/ddrvsp.f(3), straight out of the LAPACK library functions manual. it's a test driver, it's iconic, and it's about to test the living daylights out of DSPSV and -SVX. no cap. 🫢


🌸 NAME 🌸

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

like yes, that's the whole name, that's the vibe, it's giving "my file path is my personality" and honestly? respect. πŸ’œ


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines

  • subroutine DDRVSP (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout) β€” DDRVSP

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

here's the full signature, copied exactly, no edits, no notes, we do not touch the code:

subroutine DDRVSP (logical, dimension( * ) dotype, integer nn, integer,
    dimension( * ) nval, integer nrhs, double precision thresh, logical
    tsterr, integer nmax, double precision, dimension( * ) a, double
    precision, dimension( * ) afac, double precision, dimension( * ) ainv,
    double precision, dimension( * ) b, double precision, dimension( * ) x,
    double precision, dimension( * ) xact, double precision, dimension( * )
    work, double precision, dimension( * ) rwork, integer, dimension( * )
    iwork, integer nout)

DDRVSP

πŸ’– Purpose πŸ’–

!> !> DDRVSP tests the driver routines DSPSV and -SVX. !>

ok so that's literally the whole purpose β€” it exists to put DSPSV and -SVX through their paces. she's a tester. she tests. periodt. πŸ’…


🌈 Parameters 🌈

⭐ DOTYPE

!> DOTYPE is LOGICAL array, dimension (NTYPES)

!> the matrix types to be used for testing, fr fr. 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 whole little yes/no menu for matrix types and you're the one ordering. πŸ“

⭐ NN

!> NN is INTEGER

!> the number of values of N contained in the vector NVAL. it's the count, bestie, just the count.

⭐ NVAL

!> NVAL is INTEGER array, dimension (NN)

!> the values of the matrix dimension N. these are the sizes we're gonna try. πŸ‘‘

⭐ NRHS

!> NRHS is INTEGER

!> the number of right hand side vectors to be generated for each linear system. yes, plural, we're doing multiple right hand sides, we're extra like that.

⭐ THRESH

!> THRESH is DOUBLE PRECISION

!> the threshold value for the test ratios. a result gets included in the output file if RESULT >= THRESH. want every single test ratio printed out? use THRESH = 0. zero gatekeeping, we love to see it. ✨

⭐ TSTERR

!> TSTERR is LOGICAL

!> flag that indicates whether error exits are to be tested. do we poke the errors on purpose? this says yes or no.

⭐ NMAX

!> NMAX is INTEGER

!> the maximum value permitted for N, used in dimensioning the work arrays. it's the ceiling, it's the limit, it's the "no bigger than this" of the whole operation.

⭐ A

!> A is DOUBLE PRECISION array, dimension

!> (NMAX*(NMAX+1)/2)

the matrix itself. packed storage energy. πŸŽ€

⭐ AFAC

!> AFAC is DOUBLE PRECISION array, dimension

!> (NMAX*(NMAX+1)/2)

the factored version, same dimensions, same shape, doing its own thing.

⭐ AINV

!> AINV is DOUBLE PRECISION array, dimension

!> (NMAX*(NMAX+1)/2)

the inverse, again with the exact same dimension (NMAX*(NMAX+1)/2). three arrays, one silhouette. πŸ’€

⭐ B

!> B is DOUBLE PRECISION array, dimension (NMAX*NRHS)

the right hand side vectors live here.

⭐ X

!> X is DOUBLE PRECISION array, dimension (NMAX*NRHS)

and the solution goes here.

⭐ XACT

!> XACT is DOUBLE PRECISION array, dimension (NMAX*NRHS)

the exact solution β€” the reference, the moment of truth, the "did we actually get it right" version. πŸ™ˆ

⭐ WORK

!> WORK is DOUBLE PRECISION array, dimension

!> (NMAX*max(2,NRHS))

scratch space. note the max(2,NRHS) β€” that's not a typo, that's just how she rolls.

⭐ RWORK

!> RWORK is DOUBLE PRECISION array, dimension (NMAX+2*NRHS)

more scratch space, double precision, NMAX + 2*NRHS sized, exactly as written.

⭐ IWORK

!> IWORK is INTEGER array, dimension (2*NMAX)

integer scratch space, 2*NMAX, iconic, no notes.

⭐ NOUT

!> NOUT is INTEGER

!> the unit number for output. where the receipts get printed. 🧾


πŸ‘‘ Author πŸ‘‘

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

shoutout to the whole collective, we love a group project that actually worked out. 🫢


πŸŽ€ Definition at line 153 of file ddrvsp.f. πŸŽ€

that's not a vibe, that's a literal fact. line 153. in ddrvsp.f. πŸ¦‹


⭐ Author (again) ⭐

Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this part, the robot did it, and honestly the robot ate. πŸ€–βœ¨


and that's the whole page, bestie β€” LAPACK Version 3.12.0, dated /home/abui...IN/ddrvsp.f(3). go test those drivers, slay, and remember: the threshold is yours to set. πŸ’–πŸŽ€πŸ’…

πŸ“¦ where this page comes from