TESTING/LIN/dqrt16.f(3)

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

πŸ’… TESTING/LIN/dqrt16.f(3) β€” from the Library Functions Manual bestie ✨

okay so real talk, this is TESTING/LIN/dqrt16.f, and it's literally the girl who checks your homework for you. she doesn't solve the linear system, she just comes in after and goes "mm, how wrong are you tho?" πŸŽ€


🌸 NAME 🌸

TESTING/LIN/dqrt16.f β€” the residual-checker icon herself, no cap πŸ‘‘

✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines πŸ¦‹

subroutine dqrt16 (trans, m, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid)

DQRT16 πŸ’– (yes she's got a name and yes she's that girl)

🌈 Function/Subroutine Documentation 🌈

subroutine dqrt16 (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( ldb, *
    ) b, integer ldb, double precision, dimension( * ) rwork, double
    precision resid)

DQRT16 🫢

πŸ’œ Purpose πŸ’œ

!> DQRT16 computes the residual for a solution of a system of linear !> equations A*x = b or A'*x = b: !> RESID = norm(B - A*X) / ( max(m,n) * norm(A) * norm(X) * EPS ), !> where EPS is the machine epsilon.

so basically she computes the residual for a solution of a linear system, A*x = b or A'*x = b, and the formula is exactly:

RESID = norm(B - A*X) / ( max(m,n) * norm(A) * norm(X) * EPS )

where EPS is the machine epsilon. the vibe check, mathematically πŸ’…

🌼 Parameters 🌼

  • TRANS β€” TRANS is CHARACTER*1, and she specifies the form of the system of equations, like:
    • = 'N': A *x = b
    • = 'T': A'*x = b, where A' is the transpose of A
    • = 'C': A'*x = b, where A' is the transpose of A
  • M β€” M is INTEGER, the number of rows of the matrix A. constraint era: M >= 0 🫑
  • N β€” N is INTEGER, the number of columns of the matrix A. also N >= 0, we stay valid ✨
  • NRHS β€” NRHS is INTEGER, the number of columns of B, the matrix of right hand sides. NRHS >= 0 obvi πŸ’–
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N), and it's the original M x N matrix A. the source material, the blueprint πŸ‘‘
  • LDA β€” LDA is INTEGER, the leading dimension of the array A. requirement: LDA >= max(1,M) β€” don't play with her 🚨
  • X β€” X is DOUBLE PRECISION array, dimension (LDX,NRHS), the computed solution vectors for the system of linear equations. the attempt πŸ’…
  • LDX β€” LDX is INTEGER, the leading dimension of the array X. and listen: if TRANS = 'N', then LDX >= max(1,N); if TRANS = 'T' or 'C', then LDX >= max(1,M). know the difference bestie 😭
  • B β€” B is DOUBLE PRECISION array, dimension (LDB,NRHS). on entry, the right hand side vectors for the system of linear equations. on exit, B is overwritten with the difference B - A*X 🫢 (she leaves a little note behind, iconic)
  • LDB β€” LDB is INTEGER, the leading dimension of the array B. if TRANS = 'N', then LDB >= max(1,M); if TRANS = 'T' or 'C', then LDB >= max(1,N) πŸ“
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (M) β€” that's it, that's the whole description, she's lowkey mysterious like that πŸ¦‹
  • RESID β€” RESID is DOUBLE PRECISION, the maximum over the number of right hand sides of norm(B - A*X) / ( max(m,n) * norm(A) * norm(X) * EPS ). the final grade, the report card, the moment of truth πŸ”₯

πŸ’€ Author πŸ’€

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

Definition at line 131 of file dqrt16.f. πŸ“


⭐ Author (again, but make it Doxygen) ⭐

Generated automatically by Doxygen for LAPACK from the source code. yeah she was born from a script, and she still ate πŸ€–πŸ’…


okay that's the whole page bestie, every last flag and constraint, nothing skipped, periodt πŸŽ€

✨ LAPACK β€” Version 3.12.0 ✨ β€” that's the source and version, and the page herself is TESTING/LIN/dqrt16.f(3). mwah, go check some residuals, ily πŸ’–πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from