DCHKPP(3)

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

🌸 DCHKPP(3) β€” like, the manual page, bestie 🌸

okay so before we even start: this is a Library Functions Manual page, and the file it's documenting is literally this path right here:

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

that's the whole NAME section, no cap. it's a .f file, it lives in TESTING/LIN, and it is a main character πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine DCHKPP (dotype, nn, nval, nns, nsval, thresh, tsterr, nmax,
    a, afac, ainv, b, x, xact, work, rwork, iwork, nout)

yeah. that's a lot of arguments. she's got range πŸ’…

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

okay buckle up, here's the full signature with all the types spelled out, exactly as written:

subroutine DCHKPP (logical, dimension( * ) dotype, integer nn, integer,
    dimension( * ) nval, integer nns, integer, dimension( * ) nsval, 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)

DCHKPP β€” that's the name, say it with me πŸ—£οΈ

πŸ’– Purpose πŸ’–

!> !> DCHKPP tests DPPTRF, -TRI, -TRS, -RFS, and -CON !>

so basically she's the vibe-checker for five routines: DPPTRF, -TRI, -TRS, -RFS, and -CON. that's the whole job. iconic honestly ⭐


🌈 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 this is a LOGICAL array sized (NTYPES), and it's lowkey the guest list for the matrix-type party πŸŽ‰ matrix type j (for 1 <= j <= NTYPES) gets tested if DOTYPE(j) = .TRUE. β€” and if DOTYPE(j) = .FALSE., type j is not used. not invited. blocked. πŸ™ˆ

NN

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

an INTEGER, and it's just counting how many N values are chilling inside NVAL.

NVAL

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

INTEGER array, dimension (NN), and these are literally the matrix dimension N values. the actual numbers. the substance. πŸ’œ

NNS

!>          NNS is INTEGER
!>          The number of values of NRHS contained in the vector NSVAL.
!>

INTEGER, counting how many NRHS values live in NSVAL. same energy as NN but for right-hand sides, iykyk.

NSVAL

!>          NSVAL is INTEGER array, dimension (NNS)
!>          The values of the number of right hand sides NRHS.
!>

INTEGER array, dimension (NNS) β€” the actual NRHS values, aka the number of right hand sides. 🫢

THRESH

!>          THRESH is DOUBLE PRECISION
!>          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.
!>

DOUBLE PRECISION threshold for the test ratios, bestie. a result makes it into the output file only if RESULT >= THRESH. and if you want every single test ratio printed? set THRESH = 0. maximum chaos, maximum output, we love that for you πŸ”₯

TSTERR

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

LOGICAL flag β€” yes/no on whether the error exits get tested. that's it, that's the whole vibe check. βœ…

NMAX

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

INTEGER, the biggest N allowed, and it's what dimensions the work arrays. she's the ceiling fr fr.

A

!>          A is DOUBLE PRECISION array, dimension
!>                      (NMAX*(NMAX+1)/2)
!>

DOUBLE PRECISION array, dimension (NMAX*(NMAX+1)/2). noted ✨

AFAC

!>          AFAC is DOUBLE PRECISION array, dimension
!>                      (NMAX*(NMAX+1)/2)
!>

DOUBLE PRECISION array, dimension (NMAX*(NMAX+1)/2). same shape, different girl.

AINV

!>          AINV is DOUBLE PRECISION array, dimension
!>                      (NMAX*(NMAX+1)/2)
!>

DOUBLE PRECISION array, dimension (NMAX*(NMAX+1)/2). third time's the charm πŸ’«

B

!>          B is DOUBLE PRECISION array, dimension (NMAX*NSMAX)
!>          where NSMAX is the largest entry in NSVAL.
!>

DOUBLE PRECISION array, dimension (NMAX*NSMAX) β€” and important: NSMAX is the largest entry in NSVAL. don't forget that part 🧚

X

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

DOUBLE PRECISION array, dimension (NMAX*NSMAX).

XACT

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

DOUBLE PRECISION array, dimension (NMAX*NSMAX). the "act" is for exact, get it? okay moving on 😭

WORK

!>          WORK is DOUBLE PRECISION array, dimension
!>                      (NMAX*max(3,NSMAX))
!>

DOUBLE PRECISION array, dimension (NMAX*max(3,NSMAX)). yes, max(3,NSMAX) β€” that's a real thing in there, keep it.

RWORK

!>          RWORK is DOUBLE PRECISION array, dimension
!>                      (max(NMAX,2*NSMAX))
!>

DOUBLE PRECISION array, dimension (max(NMAX,2*NSMAX)). the 2* matters, don't drop it πŸ’€

IWORK

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

INTEGER array, dimension (NMAX). short and sweet.

NOUT

!>          NOUT is INTEGER
!>          The unit number for output.
!>

INTEGER β€” the unit number where the output goes. that's her whole personality πŸŽ€


πŸ‘‘ Author πŸ‘‘

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

Definition at line 160 of file dchkpp.f.


⭐ Author (again, yes really) ⭐

Generated automatically by Doxygen for LAPACK from the source code. she was born this way, no manual labour involved πŸ¦‹


okay and that's the whole page, bestie β€” every flag, every array, every dimension, every !> comment survived the glow-up πŸ’… no facts were harmed in the making of this rewrite.

LAPACK Β· Version 3.12.0 Β· /home/abui...IN/dchkpp.f(3) β€” mwah, thats the sign-off, go test some packed matrices 🫢✨

πŸ“¦ where this page comes from