DQRT14(3)
β¨ 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 β βDQRT14checks whetherXis in the row space ofAorA'. the way she does it is iconic: she scales bothXandAso their norms land in the range[sqrt(eps), 1/sqrt(eps)], then she computes a QR factorization of[A,X](ifTRANS = 'T') or an LQ factorization of[A',X]'(ifTRANS = 'N'), and finally she returns the norm of the trailing triangle, scaled byMAX(M,N,NRHS)*eps. slay. π β¨
π Parameters π
TRANSβTRANS is CHARACTER*1= 'N': no transpose, bestie β check forXin the row space ofA= 'T': transpose, so check forXin the row space ofA'
MβM is INTEGER, the number of rows of the matrixA. that's it. that's the row count. πNβN is INTEGER, the number of columns of the matrixA. iconic column count behavior.NRHSβNRHS is INTEGER, the number of right hand sides, i.e., the number of columns ofX. she's got multiple right hand sides and she's thriving π«ΆAβA is DOUBLE PRECISION array, dimension (LDA,N), theM-by-NmatrixA. the star of the show ngl πLDAβLDA is INTEGER, the leading dimension of the arrayA. keep up bestie β¨XβX is DOUBLE PRECISION array, dimension (LDX,NRHS)- if
TRANS = 'N', it's theN-by-NRHSmatrixX - if
TRANS = 'T', it's theM-by-NRHSmatrixX - (note: the source says
IF TRANS = 'T'in caps β she's shouting, we love that for her π)
- if
LDXβLDX is INTEGER, the leading dimension of the arrayX. 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)
- if
π¨ do not skip this one bestie:LWORKhas 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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms