DQRT14(3)

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

✨ DQRT14 ✨

okay so this is from the Library Functions Manual, and it's a LAPACK tester bestie β€” it's the vibe-checker that makes sure your computed solution actually lives where it's supposed to. no cap. πŸ¦‹


🌸 NAME 🌸

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

(yes that's literally the whole name, bestie, it's a Fortran file living its best life deep in the LAPACK TESTING/LIN directory πŸ’…)


πŸŽ€ SYNOPSIS πŸŽ€

Functions/Subroutines

double precision function DQRT14 (trans, m, n, nrhs, a, lda, x, ldx,
    work, lwork)
    DQRT14

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

double precision function DQRT14 (character trans, integer m, integer n,
    integer nrhs, double precision, dimension( lda, * ) a, integer lda,
    double precision, dimension( ldx, * ) x, integer ldx, double precision,
    dimension( lwork ) work, integer lwork)

DQRT14 β€” she's a double precision function and she's the main character, periodt. 🌟

πŸ’– Purpose πŸ’–

okay so here's the tea β˜• β€” DQRT14 checks whether X is in the row space of A or A'. the way she does it is iconic: she scales both X and A so their norms land in the range [sqrt(eps), 1/sqrt(eps)], then she computes a QR factorization of [A,X] (if TRANS = 'T') or an LQ factorization of [A',X]' (if TRANS = 'N'), and finally she returns the norm of the trailing triangle, scaled by MAX(M,N,NRHS)*eps. slay. πŸ’…βœ¨

🌈 Parameters 🌈

  • TRANS β€” TRANS is CHARACTER*1
    • = 'N': no transpose, bestie β€” check for X in the row space of A
    • = 'T': transpose, so check for X in the row space of A'
  • M β€” M is INTEGER, the number of rows of the matrix A. that's it. that's the row count. πŸ“
  • N β€” N is INTEGER, the number of columns of the matrix A. iconic column count behavior.
  • NRHS β€” NRHS is INTEGER, the number of right hand sides, i.e., the number of columns of X. she's got multiple right hand sides and she's thriving 🫢
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N), the M-by-N matrix A. the star of the show ngl πŸ’œ
  • LDA β€” LDA is INTEGER, the leading dimension of the array A. keep up bestie ✨
  • X β€” X is DOUBLE PRECISION array, dimension (LDX,NRHS)
    • if TRANS = 'N', it's the N-by-NRHS matrix X
    • if TRANS = 'T', it's the M-by-NRHS matrix X
    • (note: the source says IF TRANS = 'T' in caps β€” she's shouting, we love that for her 😭)
  • LDX β€” LDX is INTEGER, the leading dimension of the array X. yes queen, declare your dimensions πŸ“
  • WORK β€” WORK is DOUBLE PRECISION array dimension (LWORK) β€” the workspace, the behind-the-scenes girlies doing all the actual labor πŸ”₯
  • LWORK β€” LWORK is INTEGER, length of workspace array required
    • if TRANS = 'N', LWORK >= (M+NRHS)*(N+2)
    • if TRANS = 'T', LWORK >= (N+NRHS)*(M+2)
🚨 do not skip this one bestie: LWORK has minimums, so if you skimp on workspace she will not be okay. (M+NRHS)*(N+2) for 'N', (N+NRHS)*(M+2) for 'T'. write it down. πŸŽ€

🧚 Author 🧚

these legends wrote her:

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

⭐ Definition ⭐

Definition at line 114 of file dqrt14.f. β€” go look, she's right there πŸ’«


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for LAPACK from the source code. β€” so yeah, a robot birthed this documentation and honestly? she ate. πŸ™ˆ


and that's the whole page, bestie πŸ’– this was LAPACK Version 3.12.0, documented for /home/abui...IN/dqrt14.f(3) β€” go forth, check your row spaces, and hydrate. πŸ«ΆπŸŒΈπŸ’…

πŸ“¦ where this page comes from