SCHKRQ(3)

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

πŸ’… SCHKRQ(3) β€” the girlies' guide to testing them RQ routines ✨

okay so bestie, you know SCHKRQ(3) from the LAPACK library? yeah, that one. it's the whole vibe check for a few of our fave factorization routines, and i'm here to walk you through it. no cap, this is a whole function/subroutine documentation situation. let's get into it. πŸŽ€


🌸 SYNOPSIS

like, here's the whole squad of arguments, fr fr:

subroutine SCHKRQ (dotype, nm, mval, nn, nval, nnb, nbval, nxval, nrhs,
    thresh, tsterr, nmax, a, af, aq, ar, ac, b, x, xact, tau, work,
    rwork, iwork, nout)

πŸ”₯ Function/Subroutine Documentation

so the subroutine is literally this:

subroutine SCHKRQ (logical, dimension( * ) dotype, integer nm, integer,
    dimension( * ) mval, integer nn, integer, dimension( * ) nval, integer
    nnb, integer, dimension( * ) nbval, integer, dimension( * ) nxval,
    integer nrhs, real thresh, logical tsterr, integer nmax, real,
    dimension( * ) a, real, dimension( * ) af, real, dimension( * ) aq,
    real, dimension( * ) ar, real, dimension( * ) ac, real, dimension( * )
    b, real, dimension( * ) x, real, dimension( * ) xact, real, dimension( *
    ) tau, real, dimension( * ) work, real, dimension( * ) rwork, integer,
    dimension( * ) iwork, integer nout)

SCHKRQ

✨ PURPOSE ✨

the whole point, the main character energy of this subroutine: it tests SGERQF, SORGRQ and SORMRQ. periodt. it's the quality control bestie for those three. 🧚


πŸ¦‹ PARAMETERS πŸ¦‹

okay, buckle up, we got a LOT of them. but every single one is important, i promise. 🫢

  • DOTYPE β€” this is a LOGICAL array, dimension (NTYPES). it's 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. simple as that. πŸ’…
  • NM β€” is INTEGER. it's the number of values of M contained in the vector MVAL. lowkey just a count. ✨
  • MVAL β€” is INTEGER array, dimension (NM). these are the values of the matrix row dimension M. iconic. πŸ‘‘
  • NN β€” is INTEGER. the number of values of N contained in the vector NVAL. another count, we love to see it. πŸŽ€
  • NVAL β€” is INTEGER array, dimension (NN). the values of the matrix column dimension N. slay. 🌸
  • NNB β€” is INTEGER. the number of values of NB and NX contained in the vectors NBVAL and NXVAL. the blocking parameters are used in pairs (NB,NX). so they're like a duo, a package deal, iykyk. πŸ’–
  • NBVAL β€” is INTEGER array, dimension (NNB). the values of the blocksize NB. giving us the block energy. πŸ”₯
  • NXVAL β€” is INTEGER array, dimension (NNB). the values of the crossover point NX. the other half of the pair. πŸ¦‹
  • NRHS β€” is INTEGER. the number of right hand side vectors to be generated for each linear system. so many right hand sides, so little time. 😭
  • 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. literally, if you want all the tea, set it to zero. πŸ’€
  • TSTERR β€” is LOGICAL. flag that indicates whether error exits are to be tested. like, do we test the messy exits? yes or no. πŸ™ˆ
  • NMAX β€” is INTEGER. the maximum value permitted for M or N, used in dimensioning the work arrays. it's the big boss number for sizing everything. πŸ’ͺ
  • A β€” is REAL array, dimension (NMAX*NMAX). one of our main character arrays. ✨
  • AF β€” is REAL array, dimension (NMAX*NMAX). another one. πŸ’…
  • AQ β€” is REAL array, dimension (NMAX*NMAX). and another. πŸŽ€
  • AR β€” is REAL array, dimension (NMAX*NMAX). keep 'em coming. 🌸
  • AC β€” is REAL array, dimension (NMAX*NMAX). last of the big NMAX*NMAX ones. πŸ¦‹
  • B β€” is REAL array, dimension (NMAX*NRHS). the B array, right hand side kinda vibes. πŸ’–
  • X β€” is REAL array, dimension (NMAX*NRHS). the X array, solution energy. πŸ”₯
  • XACT β€” is REAL array, dimension (NMAX*NRHS). the exact solution, for comparison. we love a reference. πŸ‘‘
  • TAU β€” is REAL array, dimension (NMAX). the TAU array, iconic. 🌈
  • WORK β€” is REAL array, dimension (NMAX*NMAX). workspace, getting things done. ⭐
  • RWORK β€” is REAL array, dimension (NMAX). more workspace, but real this time. πŸ’œ
  • IWORK β€” is INTEGER array, dimension (NMAX). integer workspace, for the counts and indexes. 🧚
  • NOUT β€” is INTEGER. the unit number for output. where all the results go to be seen. πŸ’…

πŸ‘‘ AUTHOR πŸ‘‘

the authors, the masterminds behind this whole thing:

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

also, definition at line 198 of file schkrq.f. so you know exactly where to find it in the source. 🎯


🌟 SIGN-OFF 🌟

and that's the whole page, bestie! it was generated automatically by Doxygen for LAPACK from the source code, and it's for LAPACK Version 3.12.0. this specific file is at /home/abui...IN/schkrq.f(3). now go out there and test those RQ routines with confidence. mwah! πŸ’‹βœ¨

πŸ“¦ where this page comes from