TESTING/LIN/dpot06.f(3)

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

✨ TESTING/LIN/dpot06.f ✨

okay so bestie, welcome to the group chat of LAPACK test routines πŸ’… this is TESTING/LIN/dpot06.f, straight out of the Library Functions Manual, and it's the girl whose whole job is checking that your linear solve actually slayed. no cap.


🌸 NAME 🌸

TESTING/LIN/dpot06.f β€” yes that's literally the name, she's a file and she's iconic for it πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine dpot06 (uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid)

DPOT06 β€” that's her. that's the whole vibe. πŸ’–


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

subroutine dpot06 (character uplo, 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)

DPOT06

πŸ’œ Purpose:

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

so basically she takes your answer, plugs it back in, and measures how far off you are relative to how big everything is β€” using the infinity norm and machine epsilon. that's the whole plot. πŸ“

🌈 Parameters

  • UPLO β€” UPLO is CHARACTER*1, and she's the one deciding which half of the symmetric matrix A you bothered to store:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” N is INTEGER, the number of rows and columns of the matrix A. N >= 0. (square matrix behavior, we love to see it ✨)
  • NRHS β€” NRHS is INTEGER, the number of columns of B, aka the matrix of right hand sides. NRHS >= 0. that's your lil stack of systems, bestie 🫢
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). described in the source as "The original M x N matrix A." β€” yes, it says M x N, and no, M is not a parameter, we don't ask questions, we just report the lore πŸ’€
  • LDA β€” LDA is INTEGER, the leading dimension of the array A. LDA >= max(1,N). don't skimp on it or it's giving undefined behavior 😭
  • X β€” X is DOUBLE PRECISION array, dimension (LDX,NRHS), holding the computed solution vectors for the system of linear equations. this is your answer key, the main character πŸ”₯
  • LDX β€” LDX is INTEGER, the leading dimension of the array X. and the source says: "If TRANS = 'N', LDX >= max(1,N); if TRANS = 'T' or 'C', LDX >= max(1,N)." (yep, TRANS β€” she's mentioned but she's not invited to the parameter list, ik ik, we're just reading the flyer as printed πŸ™ˆ)
  • 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. ⚠️ so if you were attached to your B, too late, she's been transformed πŸ’€
  • LDB β€” LDB is INTEGER, the leading dimension of the array B. "IF TRANS = 'N', LDB >= max(1,M); if TRANS = 'T' or 'C', LDB >= max(1,N)." (again with M and TRANS, and again we simply report πŸŽ€)
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (N). that's it. that's the whole description. she's a workspace and she's lowkey mysterious πŸ¦‹
  • RESID β€” RESID is DOUBLE PRECISION, the maximum over the number of right hand sides of norm(B - A*X) / ( norm(A) * norm(X) * EPS ). the final score, the vibe check, the moment of truth ⭐

🌟 Author

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

Definition at line 125 of file dpot06.f.


πŸ’« Author πŸ’«

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a robot doing her little robot thing πŸ€–βœ¨)


and that's the page!! LAPACK, Version 3.12.0, TESTING/LIN/dpot06.f(3) β€” mwah, go forth and check those residuals bestie πŸ’…πŸ’–πŸ§š

πŸ“¦ where this page comes from