TESTING/LIN/sdrvpp.f(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

πŸ’œ TESTING/LIN/sdrvpp.f β€” the SDRVPP era

okay so bestie, gather round, because this is the manual page for TESTING/LIN/sdrvpp.f, a whole entire Fortran file living its best life inside the LAPACK test suite. it's not a library you link against, it's a tester β€” a little gremlin that stress-tests other routines and prints out the receipts. iconic behaviour honestly. 🧚


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine sdrvpp β€” the main character herself.
subroutine sdrvpp (dotype, nn, nval, nrhs, thresh, tsterr, nmax, a,
    afac, asav, b, bsav, x, xact, s, work, rwork, iwork, nout)

literally her full name and everything she takes. no cap. πŸŽ€


🌸 Function/Subroutine Documentation 🌸

πŸ¦‹ the one, the only: subroutine sdrvpp

here's the full declaration, verbatim, because we do not paraphrase type signatures in this house:

subroutine sdrvpp (logical, dimension( * ) dotype, integer nn, integer,
    dimension( * ) nval, integer nrhs, real thresh, logical tsterr, integer
    nmax, real, dimension( * ) a, real, dimension( * ) afac, real,
    dimension( * ) asav, real, dimension( * ) b, real, dimension( * ) bsav,
    real, dimension( * ) x, real, dimension( * ) xact, real, dimension( * )
    s, real, dimension( * ) work, real, dimension( * ) rwork, integer,
    dimension( * ) iwork, integer nout)

✨ SDRVPP

πŸ’… Purpose:

SDRVPP tests the driver routines SPPSV and -SVX.

that's it. that's the whole job. she runs the packed-storage symmetric positive definite solvers through their paces and reports back. queen shit. πŸ‘‘


πŸ“ Parameters

DOTYPE

DOTYPE is LOGICAL array, dimension (NTYPES) The matrix types to be used for testing. Matrices of type j (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) = .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used.

so it's literally a guest list πŸ’Œ β€” flip the switch to .TRUE. for a matrix type and she tests it, flip it to .FALSE. and that type gets left on read.

NN

NN is INTEGER The number of values of N contained in the vector NVAL.

how many sizes of matrix are we vibing with today. ✨

NVAL

NVAL is INTEGER array, dimension (NN) The values of the matrix dimension N.

the actual N values, all lined up like a little parade of matrix sizes. πŸ›

NRHS

NRHS is INTEGER The number of right hand side vectors to be generated for each linear system.

how many right-hand-side vectors we're cooking up per system. 🍳

THRESH

THRESH is REAL The threshold value for the test ratios. A result is included in the output file if RESULT >= THRESH. To have every test ratio printed, use THRESH = 0.

the drama threshold, fr. any RESULT >= THRESH makes it into the output file, and if you want everything printed (max tea β˜•), set THRESH = 0.

TSTERR

TSTERR is LOGICAL Flag that indicates whether error exits are to be tested.

.TRUE. = yes bestie, poke the error paths too. 🚨

NMAX

NMAX is INTEGER The maximum value permitted for N, used in dimensioning the work arrays.

the size limit that keeps all the work arrays from getting delulu. πŸ“

A

A is REAL array, dimension (NMAX*(NMAX+1)/2)

the original matrix, in packed form. she's compressed and she's still gorgeous. πŸ’–

AFAC

AFAC is REAL array, dimension (NMAX*(NMAX+1)/2)

the factored version β€” same packed size, post-factorization glow-up. ✨

ASAV

ASAV is REAL array, dimension (NMAX*(NMAX+1)/2)

the save slot for A, because we always keep a backup. πŸ™ˆ

B

B is REAL array, dimension (NMAX*NRHS)

the right-hand sides, all NRHS of them. πŸ“š

BSAV

BSAV is REAL array, dimension (NMAX*NRHS)

backup B. see above, we do backups. 🫢

X

X is REAL array, dimension (NMAX*NRHS)

where the computed solution lands. 🎯

XACT

XACT is REAL array, dimension (NMAX*NRHS)

the exact solution, aka the answer key, aka the reference we compare against. πŸ’―

S

S is REAL array, dimension (NMAX)

a real array of length NMAX. that's the whole description, she's mysterious like that. πŸ¦‹

WORK

WORK is REAL array, dimension (NMAX*max(3,NRHS))

scratch space. note the max(3,NRHS) β€” yes, the literal max(3,NRHS) function, she refuses to be smaller than 3. πŸ’€

RWORK

RWORK is REAL array, dimension (NMAX+2*NRHS)

more scratch space, but real-flavoured. same thing. different name. 🌈

IWORK

IWORK is INTEGER array, dimension (NMAX)

integer scratch space, NMAX long. πŸ’…

NOUT

NOUT is INTEGER The unit number for output.

where all the results get printed. the group chat, basically. πŸ—£οΈ


πŸ‘‘ Author

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

the whole academic + NAG Ltd. squad came together for this. collab of the century honestly. 🫢


⭐ Definition

Definition at line 164 of file sdrvpp.f.


πŸŽ€ Author (yes, again)

Generated automatically by Doxygen for LAPACK from the source code.

not a human, a generator. she's built different. πŸ€–βœ¨


that's the whole page bestie β€” from LAPACK, Version 3.12.0, dated as per TESTING/LIN/sdrvpp.f(3). go forth and test those packed SPD drivers, ily, bye πŸ’–πŸŒΈπŸ¦‹

πŸ“¦ where this page comes from