CPOT02(3)

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

πŸ’… CPOT02 β€” like, the residual checker for Hermitian systems (yes bestie, cpot02.f(3), Library Functions Manual, we're in the Fortran section of the filesystem and it's iconic)

Okay so picture this: you're deep in /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/cpot02.f β€” yes that's the whole path, she's got a long address, main character energy β€” and this little test routine is literally the vibe check for your Hermitian solves. πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines

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

CPOT02


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine CPOT02 (character uplo, integer n, integer nrhs, complex,
    dimension( lda, * ) a, integer lda, complex, dimension( ldx, * ) x,
    integer ldx, complex, dimension( ldb, * ) b, integer ldb, real,
    dimension( * ) rwork, real resid)

CPOT02

🌸 Purpose 🌸

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

So basically she takes your fancy Hermitian linear system A*x = b, looks at the answer you computed, and goes "hmm, let me check that" β€” and the number she hands back is RESID = norm(B - A*X) / ( norm(A) * norm(X) * EPS ), where EPS is the machine epsilon. Small residual = slay, big residual = πŸ’€. No cap.


🫢 Parameters 🫢

  • UPLO β€” UPLO is CHARACTER*1, and she's here to tell us which triangle of the Hermitian matrix A we actually bothered to store: = 'U': Upper triangular, = 'L': Lower triangular. Pick one bestie, not both. πŸ’…
  • N β€” N is INTEGER, the number of rows and columns of the matrix A. Constraint: N >= 0.
  • NRHS β€” NRHS is INTEGER, the number of columns of B, i.e. how many right hand sides we're juggling πŸ‘‘. Constraint: NRHS >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N) β€” the original Hermitian matrix A itself, undisputed queen of the whole operation. 🌈
  • LDA β€” LDA is INTEGER, the leading dimension of the array A. Constraint: LDA >= max(1,N).
  • X β€” X is COMPLEX array, dimension (LDX,NRHS) β€” the computed solution vectors for the system of linear equations. This is your work, be proud of it. ⭐
  • LDX β€” LDX is INTEGER, the leading dimension of the array X. Constraint: LDX >= max(1,N). (Yes there's that extra space in the original before the description β€” we respect her formatting choices. πŸ™ˆ)
  • B β€” B is COMPLEX array, dimension (LDB,NRHS). Careful, this one changes on you 🚨: on entry it's the right hand side vectors for the system of linear equations, and on exit B is overwritten with the difference B - A*X. She ate, and she left the evidence behind.
  • LDB β€” LDB is INTEGER, the leading dimension of the array B. Constraint: LDB >= max(1,N).
  • RWORK β€” RWORK is REAL array, dimension (N) β€” scratch space, the little backstage crew. 🧚
  • RESID β€” RESID is REAL, the maximum over the number of right hand sides of norm(B - A*X) / ( norm(A) * norm(X) * EPS ). That's the final score, the numeric verdict. πŸ”₯

πŸ‘‘ Author πŸ‘‘

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

πŸ’– Definition πŸ’–

Definition at line 125 of file cpot02.f.


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code.

Heads up bestie: this page wasn't hand-written by a human with a cute notebook β€” Doxygen generated it straight from the source, so the source is always the real one. 🫑

Anyways, that's the whole page β€” every parameter, every constraint, every overwrite, all present and accounted for, periodt. ✨

Sign-off time: this is LAPACK, Version 3.12.0, and the foot of the page points back at /home/abui...IN/cpot02.f(3). Love that for us. πŸ“ mwah πŸ’œ

πŸ“¦ where this page comes from